基于机智云的智能花盆1.0
目录
一、前言
二、总体设计
三、硬件准备
四、接入机智云
五、机智云协议使用解析
六、测试
一、前言
随着人均收入的增加,人们对于生活质量的要求也水涨船高。越来越多的人选择在家庭中种植绿色植物,而生命力及强的多肉成了不少人的选择。尽管如此,也时常发送一些多肉长时间缺乏浇水而落叶、浇水过多坏根的惨案...为此在大四上学期设计改智能花盆1.0;2.0版本近期将整理出来。
我们期望的功能有:
1.实现温度,土壤湿度等数据的在线监控
2.当土壤湿度低于一定值时自动浇水
3.在线控制浇水
二、总体设计
对比几款常见的云平台后,我们选用提供调试APP的机智云作为云平台。
三、硬件准备
四、接入机智云
首先我们要贼机智云的开发者中心注册一个账号,登陆以后创建一个新产品
接着创建数据点,下面是我创建的数据点,光照强度这个版本没来得及加上...
完成以后我们可以使用虚拟设备调试,首先需要下载机智云调试APP
下载以后我们在个人项目中点开虚拟设备调试
打开APP,准备扫码查看我们的数据点
感觉没有问题我们就进行下一步,固件烧录。机智云官方固件可在下载中心中找到
解压后发现其含有以下文件,这里建议使用四合一的固件,烧录方便,至于烧录工具我们选择乐鑫原厂固件烧写工具
烧录需要使用usb转ttl模块与wifi模块连接;设备连接示意图(红圈内的是需要注意的连接)
开始烧录的时候它会要求你给WIFI模块复位,如设备无自动复位,只需要使RST接以下低电平触发即可。
烧录完成后,可使用机智云提供的串口调试助手可实现虚拟MCU调试,以验证烧录是否成功。
同样WIFI模块接着USB转TTL插入电脑,这里需要注意的是你的RST引脚和使能固件烧录的引脚必须是无效的。
然后按下图顺序做好设置
配置模式有两种,AirLink和Softap。
1.AirLink为机智云的一键配置模式
手机连接路由器(我用360随身WIFI充当无线路由)
随后打开机智云APP添加设备,选择一键配置,选择模组。
随后在串口调试助手中点击初始化,AirLink使模块进入一键配置模式。接着静待连接成功。有时候链接超时不稳定可以再试一次。
2.Softap为热点模式
热点模式即让WIFI模块生成热点。
烧写了GAgent固件的WiFI模块配置为AP模式时,其WIFI名为”XPG-GAgent-xxxx”,
其中”xxxx”为Wi-Fi模块的物理地址后四位,初始密码为”123456789。
手机链接热点后使用热点配置添加设备,其余操作同上。
五、机智云协议使用解析
完成至此,我们仅仅需要完成MCU的开发即可,下面介绍机智云模板代码的修改
机智云官方推荐的编程软件是STM32Cube+Keil
STM32Cube可以轻松完成MCU的初始化的修改
keil则提供了编译烧录环境
首先我们在机智云的个人项目中选择MCU开发,等待模板代码生成
模板代码内含以下文件,作为使用者我们无需全部关注
首先我们打开STM32F103C8x.ioc。添加外设初始化,接着重新生成代码
main.c
按键函数包括初始化,重启,启动AirLink模式和启动Softap模式
主函数内,先是完成初始化。接着是我自己添加的一段模式配置,这样就可以不用通过按键配置了。
再往下就是再while循环内不断完成数据采集和数据的上报
下面我们跟踪以下数据采集的函数,只要数据赋值到currentDataPoint这个结构体变量中即可
由于我们定义的产品是定时上传数据的,数据上报函数我们可以不用细致了解;但是若你定义的数据点中有布尔变量,建议修改数据userHandle()函数,以减低高频率上传时引起的数据上下行冲突而造成APP端开关变量的不断跳变。
MCU开关量上传---->机智云----->APP显示
APP改变开关量---->机智云----->MCU指令解析
为避免过多影响设备性能,实现方式为采用定时器实现非阻塞延时
void userHandle(void)
{static uint32_t irLastTimer = 0;if((gizGetTimerCount()-irLastTimer ) > n){......irLastTimer = gizGetTimerCount(); }
}
由此完成了设备数据采集---->服务器----->客户端
APP的控制部分,则由gizwits_product.c的另一个函数gizwitsEventProcess()实现接收机智云平台发送回MCU的指令
在这里添加接收到水泵开关事件的处理以及自动灌溉事件处理
此外,为了提高连接机智云的成功率,建议在gizwits_protocol.h修改重连次数和超时时间
六、测试
外壳部分本来是想采用3D打印的,由于3D太耗时间...后面就没加上
APP演示
最底下出现的是水位警报
基于机智云的智能花盆1.0相关推荐
- 基于机智云的智能花盆2.0
目录 一.版本更新内容 二.总体设计 2.1整体模型 2.2硬件结构 2.3软件结构 三.硬件设计 3.1硬件资源布局 3.2主控芯片 3.2.1主控选型 3.2.2引脚配置 3.3数据采集部分 3. ...
- 基于机智云的智能家用窗户窗帘控制及物联网系统
摘要: 随着生活水平的提高,人们对环境质量和解放劳动的工具的要求越来越高,这使得家居设备的智能化和自动化受到广泛关注.本文来自机智云开发者分享,文中主要根据通风透光的功能要求,设计了一款基于物联网技术 ...
- 基于机智云的嵌入式系统应用开发—空调远程智能控制系统
摘要: 文章主要介绍了一种基于机智云iot开发平台的空调远程控制模块的应用开发,模块功能是通过智能手机的用户界面远程控制空调的工作,包括工作条件的设置和温度环境监测,开发内容包含了硬件和软件两部分,硬 ...
- 基于机智云平台的智能家居系统
摘要:随着社会的发展,人们对于生活质量的要求越来越高,智能家居作为能够大幅提升人们生活舒适度的一部分,得到了越来越多的人关注,更多方便.实用的智能家居系统急需被提出. 本文设计了一种基于机智云物联网云 ...
- 基于机智云物联网平台的智能远程植物养护装置设计与实现
摘要: 设计一种智能远程植物养护装置,采用STM32F103单片机为控制核心,对植物所处环境温度和土壤湿度进行检测,并根据用户所设置的适合植物生长的湿度参数,控制水泵的开关,通过机智云平台在手机APP ...
- 基于机智云平台的泵站智能巡检系统
本文是由开发者设计开发的一款泵站智能巡检系统.该系统改变了常规的专人值守的工作模式,实现泵站运行状态的远程智能巡检工作,达到自动监测.故障报警.提前预测等功能. 随着我国水利事业不断发展,泵站在水利调 ...
- 基于机智云物联网平台的智能WiFi插座
一.概述 本设计是基于机智云物联网平台的智能WiFi插座.该插座的主控芯片采用的是意法半导体的STM32f103c8t6来控制.软件部分运用elispe开发工具开发,综合WiFi无线通信.Androi ...
- 基于机智云物联网平台的太阳能热水器控制系统
摘要: 以STM32F103ZET6为物联网控制模组主控单元,基于机智云平台,针对太阳能热水器设计了一种物联网控制系统,用户通过互联网就能对家中太阳能热水器进行远程控制和运行监测.该系统采用STM32 ...
- 基于机智云AIoT云平台的仓储机电设备远程控制系统设计
本设计由开发者通过对分散在粮仓各个节点的温湿度传感器采集到的数据经过云服务器最终显示在移动终端,分析粮仓温湿度来确定对风窗的控制,在粮情监测基本功能的基础上,设计了这种基于移动网络终端的粮仓温湿度监测 ...
最新文章
- Linux C编程--进程间通信(IPC)5--System V IPC 机制2--信号量
- 面向连接和无连接的套接字到底有什么区别?
- c语言条件语句示例_PHP中的条件语句和示例
- typeorm 生成实体类_android常用orm框架greenDAO创建表生成实体类
- C++中对字符串的分割方法
- 原型对象prototype与继承
- ajax异步获取右侧html,Ajax异步获取html数据中包含js方法无效的解决方法
- Java内存解析 程序的执行过程
- D - 魔咒词典 HDU—1880(双Hash值和map||Hash+二分)
- 高龄脑卒中患者的运动处方
- WebIM项目的架构设计以及实现
- IllegalArgumentException: error Type referred to is not an annotation type:
- 5G NR 调度、帧结构相关
- 《无聊教程●第一课●教你编一个牛逼的VBScript邮件发送器》
- 如何抓取安卓APP日志?
- uni-app使用Hbuilder X如何苹果手机IOS打包、发布、运行
- IComponent2 Interface 学习
- “药药切克闹”系列-基于STM32触摸屏的超级无敌智能电子密码锁(仿手机键盘26键设计,密码支持英文大写+英文小写+数字)
- 使用cephadm安装ceph octopus
- 刷脸支付微信支付宝小程序可以营销活动
热门文章
- 面试经历(某大型机器人少儿编程培训机构)
- main.c: In function ‘hello’: main.c:3:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ bef
- 2203-python基础知识
- 探索AI视觉技术新应用,夸克扫描王首推“离线模式”端侧AI算法提升隐私安全
- Firefox OS开发指南
- photoshop中如何在6寸相纸上打印1寸照片12张3X4模式(手动拖动模式)
- 有关前端性能优化—DNS解析优化的方法?
- 编写一程序,将两个字符串连接起来,结果取代第一个字符串。(三种方法)
- 密码学和加密数字货币的简介
- 2021-7-19-OpenStack基础知识学习