外出旅行,家里的花盆没人管,怎么办?忙于工作,经常忘记给花盆里浇水,导致植物经常死掉...类似这样的情况,在生活中经常发生。有没有什么办法呢?当花盆植物缺水的时候,能够自己浇水,那就再好不过了。今天我们就来做一个人工智能花盆吧!
结合家庭盆栽因不可控因素疏于打理的现实及期望植株健康成长的需求,提出一款由感知模块,交互模块,执行模块,电源模块以及微处理器模块构成的智能花盆。该花盆通过传感器采集植物状态数据,利用esp8266发送至物联网平台,使得在线检测和云端控制成为可能;并通过继电器驱动电磁阀与补光灯,实现智能灌溉与自动补光。
本文目录结构:
  • 版本更新内容
  • 总体设计
  • 硬件设计
  • 软件设计
  • 转配与测试
  • 存在问题与改进意见
主要使用的硬件有STM32F103C8、电阻式土壤湿度传感器、温度传感器DS18B20、光照强度传感器 GY-3-(BH1750)、补光灯、WiFi模块ESP8266、OLED、串口调试模块 CH340

总体设计
2.1整体模型

总体设计框图
2.2硬件结构

一、版本更新内容
1)增加传感器:光照强度传感器GY-30(BH1750)
2)增加交互模块:0.96寸OLED(SSD1306)
3)执行部分:水泵更换为电磁阀、增加LED补光灯(红&蓝)
4)搭建花盆外壳支架
5)增加自动模式
二、总体设计
2.1整体模型
2.2硬件结构
1)STM32F103最小系统。包括微处理器、带电容稳压的电源接口、复位电路、无源晶振与起振电路一起组成的时钟源以及调试接口等构成最小系统。
2)环境输入检测。主要包括DS18B20温度检测部分、内置ADC转换的数字式光照强度检测部分和使用AD数据采集的土壤湿度检和水位检测部分。
3)执行部分主要包括电磁阀与基于植物光谱吸收峰值的蓝红LED补光灯等继电器驱动部分。
4)数据交互。主要包括MCU 与 ESP8266 的网络通信部分、方便用户查看数据的OLED部分以及调试过程中用到的USB转TTL模块。
2.3软件结构
为方便实现MCU与硬件的通讯引入驱动层负责实现底层硬件支持的通讯协议,并为上层提供方便使用的函数调用接口。主要包括基于“1-Wire”协议的DS18B20驱动程序、基于HAL库的USART 驱动程序、与SSD1306通讯的OLED驱动程序以及数字式光照强度的BH1750驱动程序等。其中 I/O 驱动主要实现了STM32F103C8T6微处理器GPIO引脚的定义和初始化;UART除”printf”函数重定义到串口外还须与ESP8266的通讯;剩余的该部分则是温度、土壤湿度、水位传感器的驱动程序。
执行层通过调用驱动层和机智云协议层提供的函数调用接口来实现智能花盆软件的逻辑控制。它包括初始化部分、数据扫描、上行下行通讯、自动化控制等部分。
网络层实现将数据封装上传、数据包解析等工作。
三、硬件设计
3.1硬件资源布局
3.2主控芯片
3.2.1主控选型
结合当前接触过的芯片以及对市场的浅薄了解,列举了意法半导体(ST)的STM系列、意大利Massimo Banzi的arduino、AT89C51以及微型电脑Raspberry Pi作比较。最终选用STM32F103C8系列。
3.2.2 引脚配置
3.3数据采集部分
3.3.1土壤湿度传感器
其原理图如下:
该模块主要利用三极管的电流放大原理。土壤中存在水分时形成导体使得三极管的基极B与电源的VCC导通,这时在三极管的基极B和发射极E之间将产生电流,集电极C和发射极E之间则产生以一定倍数放大的电流,经发射极E电阻产生较大压降,送入A/D转换电路。
3.3.2温度传感器
选用DALLAS公司推出的一种使用l-Wire通讯的数字式温度传感器DS18B20。
DS18B20引脚示意及实物图
其具有以下优点:
1)DS18B20 温度传感器的工作电压为+3.0V ~ +5.5V,无需电压转换,可直接用于市面上大多数开发板;
2)接口简单,1-Wire 总线结构简洁,只需一根线即可进行通讯,有效减少硬件开销;
3)温度测量范围广,最低可测得-55℃,最高可测得125℃,最高精度可达 0.0625℃;
4)自带 EEPROM,开发者设定的采集分辨率以及报警温度信息都将存储在其中,掉电重启后依然保存相应配置。
3.3.3水位传感器
本文采用的是水位传感器/雨滴检测传感器Water Sensor,其原理与土壤湿度传感器相同。
3.3.4光照强度传感器
市面上可用的光照强度检测模块主要分为两种,一种是利用光敏电阻获得光照强度的模拟信号输出,该传感器价格最为低廉,但需要自己构建光照强度与模拟信号直接的对应公式。另一为内置ADC转换的数字式光照强度传感器,我们采用的就是该类型传感器---BH1750。其不区分环境光源,可忽略复杂计数与标定。利用内置16bit的AD转换电路,直接输出0 ~ 65535lx。
3.4执行部分
3.4.1补光灯
植物的生长离不开阳光,若长期缺乏光照则会出现生长缓慢,叶片小而色淡,茎细长不开花等问题。为了解决以上困扰同时避免花盆的频繁搬动,我们采用LED灯补光的解决方案。
结合常见LED光谱波段表及植物吸收的光谱,采用红:蓝 = 2:1的LED组合灯带。
3.4.2电磁阀
土壤湿度的补偿方面,若采用传统的水泵,则需要较大功率的输出,为我们的供电模块带来较大的压力,因而改用电磁阀与高水位势能做工的方式,减少控制部分的总功率。
3.5数据交互部分
3.5.1WiFi模块

该模块接口较多,可支持IIC、PWM、GPIO 以及 ADC 等接口,可轻松实现数据透传。引脚描述如下所示:


该ESP8266模块的工作频段为全球共用的2.4GHz,信号发射功率仅为 15dbm,其主要特性如下表所示:该ESP8266模块的工作频段为全球共用的2.4GHz,信号发射功率仅为 15dbm,其主要特性如下表所示:

3.5.2OLED模块

增加该模块的初衷为1.0版本的交互方式较少,若不打开APP查看,则无法获取花盆实时数据。因而添加该模块,目前仅作数据显示使用,尚无菜单与按键等互动。
简单五步,实现串口屏接入机智云【广州大彩物联网串口屏】
3.5.3CH340模块
该模块主要用于串口调试。
四、软件设计
4.1驱动
4.1.1DS18B20驱动
4.1.2GY-30(BH1750)驱动  
4.1.3OLED(SSD1306)驱动
<此处文字、代码所占篇幅较多,需要跳转链接,建议或搜索 智能花盆2.0驱动,或查看原文>
4.2主控逻辑
系统在上电后开始工作:首先完成的是各模块的初始化以及机智云协议初始化,随后在OLED上显示开机动画,ESP8266开启机智云一键配置。继而进入循环检测传感器数据,并将数据发送至OLED显示;随后进行模式判断,实现自动化智能化。为避免频繁的数据上传导致APP端控制命令冲突,在数据上传前,需获取计数器的值,实现非阻塞的延时上传。最后检测是否有云端控制命令,如有则进行对应的处理。在步入下一循环之前,须检测是否系统异常,如存在异常则结束工作,如无异常则开始下一次循环。
4.3机智云物联网平台的协议
4.3.1数据格式
1) 包头(header)固定为0xFFFF;
2) 长度(len)是指从cmd 开始到整个数据包结束所占用的字节数;
3) 命令字(cmd)表示具体的命令含义,详见协议举例;
4) 消息序号(sn)由发送方给出,接收方响应命令时需把消息序号返回给发送方;
5) 标志位(flag),本产品填写默认0;
6) payload(p0数据区),详细参见p0 数据区约定;
7) 检验和(checksum)的计算方式为从len~DATA,按字节求和;
8) 所有发送的命令都带有确认,如在200 毫秒内没有收到接收方的响应,发送方;应重发,最多重发3 次;
9) 多于一个字节的整型数字以大端字节序编码(网络字节序);
“p0 数据区约定”有如下功能:
1) WiFi模块向MCU发送控制命令时携带p0 命令和命令标志位以及可写数据区
2) MCU主动发送状态时或者回复模块的状态查询时携带p0命令和完整数据区
3) 数据区会自动合并布尔和枚举变量,且有严格的顺序,不可任意改变

上传协议P0区:action(1B) + dev_status(11B) ;
下达协议p0区:action(1B) + attr_flags(1B) + attr_vals(6B)
4.3.2数据上报
4.3.3下行控制
4.4Gizwits运作流程
起始工作是对外设、用户和协议等的初始化。当 WiFi 通过串口设备配置并成功连接云平台后,ESP8266将不断收到来自云端的数据点和状态信息。这些信息在接收完成后,会以GAgent协议帧的方式传递给主控芯片,而主控芯片再则将其放入缓冲区,之后进行抓包解析,并进行事件的处理,也就是下行的动作执行。如果再有上行数据采集,主控芯片将收到到数据处理为协议帧发送给WiFi 设备,再由WiFi负责将数据传输到服务器。
五、装配与测试
本文使用的方法是先将各模块调通,再组合在一起,组合时电源问题凹显,于是买了一个多路电源模块。外型部分目前仅用角钢切割组成支架,算是半成品吧。
机智云APP互动界面与实物图
视频地址:https://www.bilibili.com/video/av53274806
六、存在问题与改进建议
6.1传感器数据异常
解决办法,数据采集后经滤波处理,立Flag,近期出。
6.2运行日志
改用SD卡存储设备运行日志
6.3外型改进
智能花盆支架--->将设备整合到花盆内,为此应该要自己画PCB..
6.4传感器升级
持续优化传感器部分,例如采用博世BME280环境温湿度大气压三合一传感器替代DS18B20实现数据采集宽度上的升级。
6.5交互升级
未来可增加按键实现OLED菜单选择;增加蜂鸣器实现报警提醒,增加LED状态指示灯提示供电状态与工作模式。
6.6自建服务器
使用自建服务器,数据库存储常见植株的最适宜生长环境,为自动化控制提供更智能的选择。
————————————————
版权声明:本文为CSDN博主「JYU_hsy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_40774605/article/details/90416456

基于机智云物联网平台的智能花盆2.0,实现了智能灌溉与自动补光相关推荐

  1. 基于机智云物联网平台的智能远程植物养护装置设计与实现

    摘要: 设计一种智能远程植物养护装置,采用STM32F103单片机为控制核心,对植物所处环境温度和土壤湿度进行检测,并根据用户所设置的适合植物生长的湿度参数,控制水泵的开关,通过机智云平台在手机APP ...

  2. 基于机智云物联网平台的智能WiFi插座

    一.概述 本设计是基于机智云物联网平台的智能WiFi插座.该插座的主控芯片采用的是意法半导体的STM32f103c8t6来控制.软件部分运用elispe开发工具开发,综合WiFi无线通信.Androi ...

  3. 基于机智云物联网平台的太阳能热水器控制系统

    摘要: 以STM32F103ZET6为物联网控制模组主控单元,基于机智云平台,针对太阳能热水器设计了一种物联网控制系统,用户通过互联网就能对家中太阳能热水器进行远程控制和运行监测.该系统采用STM32 ...

  4. 【开源案例】基于机智云物联网平台的懒人版智能花盆

    "假期有谁家在学校附件的帮我照顾下盆栽.." 真不好意思麻烦你了. 作为理科生当然是选择自己动手做一个啦~ 首先,我们期望的功能有: 2.当土壤湿度低于一定值时自动浇水 3.在线控 ...

  5. 基于机智云物联网平台的智能垃圾桶监管系统

    本文来自机智云开发者:凌加平,潘绍明,田径北,韦明峥,周俊男,谭晧 广西科技大学电气与信息工程学院广西科技大学工程训练中心 摘 要:随着社会的发展,我国对城市卫生越来越重视,城市环卫工作的智能化是建设 ...

  6. 基于机智云物联网平台的智能电梯管理系统

    摘要: 随着科技的发展与电梯的普及,为解决传统电梯舒适性与安全性不足的问题,智能电梯管理系统解决方案应运而生.介绍了以STC89C52RC单片机为核心,使用数码管和LED.矩阵键盘.电机驱动.WiFi ...

  7. 基于机智云物联网平台的智慧农业管理系统

    为了解决传统农业温室大棚生产管理效率低.智能化程度不高等问题,通过总结目前农业现代化的发展状况,分析具体使用方案和开发平台,由开发者以农业温室大棚内生长的农作物为研究对象,综合温室环境对农作物生长影响 ...

  8. 基于机智云物联网平台的空气质量多功能检测系统设计

    摘要: 目前市面上的空气质量检测仪通常只能检测少数几种气体,面对空气中多种有害气体,就要使用不同的检测仪器.针对现有检测系统功能不全等问题,开发了由STM32单片机.各类传感器.LCD显示屏和WiFi ...

  9. 基于机智云物联网平台的实验室智能安防报警系统

    随着物联网应用技术的发展,安防产品的智能化逐渐得到人们的关注.为了更好的保障人们的生命财产安全,本文设计并研发一套适用于实验室的智能安防报警系统,实时监测实验室内的环境状况,从而及时有效防止实验室安全 ...

  10. 基于机智云物联网平台的智能种树小车

    前言:针对目前人工种树效率低的问题,设计了一种全自助高效智能种树小车.介绍了装置的结构组成,剖析了装置的运动机理.通过SolidWorks三维软件对传动部件进行了结构设计. 利用蓝牙模块实现了种植过程 ...

最新文章

  1. linux 下解压缩rar文件
  2. sklearn自学指南(part8)--普通最小二乘法
  3. 六级范文背诵50篇_清华附小校长:小学生日记写作训练,附经典范文50篇,家长收藏...
  4. LeetCode题解——Reverse Integer
  5. [android 游戏源码]-体育游戏-疯狂足球源码
  6. R语言Kmeans聚类分析
  7. [软件人生]耐得住寂寞——积累是低潮时期技术人员的品质
  8. 嵌入式分享合集118
  9. 网页嵌入flash动画视频的几种方法
  10. 强智教务系统验证码识别 Tensorflow CNN
  11. Linux之问题详解(一):Linux怎么创建一个html文件通过CentOS部署html网站到服务器
  12. 免授权采集海天注塑机采集伊之密注塑机监控住友注塑机参数采集
  13. 数据库性能系列之索引(中)
  14. python实现炫酷字母雨
  15. 3d编辑器的gizmo的缩放计算
  16. C1认证学习笔记2--计算机通识
  17. Windows 7下载
  18. android原生农场壁纸,Android 6.0高清壁纸下载-Android 6.0原生壁纸高清免费打包下载-东坡下载...
  19. 字符串排序算法:低位优先排序(LSD)
  20. 新型高科技口罩即将成为一种身份象征

热门文章

  1. 浏览器HTML5 视频播放
  2. 统一认证 ldap mysql_LDAP简述及统一认证说明
  3. MySQL项目--电商平台--数据库搭建
  4. Linux 日志查看命令journalctl
  5. Lottie动画测试工具
  6. python3.7版本简介_Python实例100个(基于最新Python3.7版本)
  7. Spring 事务和事务传播机制
  8. Linux 之查看 OpenCV 版本并卸载重装
  9. vba_1《考勤表》
  10. 小波变换去噪python_小波去噪方法及步骤_小波去噪方法的比较