一、项目介绍
本项目是基于stm32f103c8t6最小开发板进行开发,硬件采集端采用DHT11温湿度传感器、光敏电阻、土壤温湿度传感器、SGP30空气传感器,人体红外传感器,设备控制端控制风扇、水泵、蜂鸣器、LED等设备。软件端采用的是Android应用。
二、系统整体框架图
三、器件选型
主控开发板STM32F103C8T6,土壤湿度模块,sgp30二氧化碳模块,dht11温湿度模块,hc-sr501人体红外模块,光敏电阻,ESP8266-01SWiFi模块,一路5v继电器模块,蜂鸣器,水泵,小风扇,面包板。
硬件整体框图如下:
四、相关代码展示
main.c关键代码
dht11相关代码
sgp30模块相关代码
五、使用mqttx进行测试
六、云服务器的搭建
本项目使用的是emqx平台,服务器使用的是阿里云的ecs
阿里云服务器搭建实例
点击远程连接进入登陆界面,登陆后进行配置emqx服务器并连接emqx
显示Dashboard控制台
Dashboard后台是运行18083端口的, 需要开启服务器的18083端口, 显示不出网页, Dashboard的url是http://ip:18083 ip是租赁的云服务器公网:47.109.47.237
注:默认用户名 admin 与默认密码 public
七、Android studio的设计与实现
登陆界面的设计与实现,如果没有账号需要先进行注册。
获取数据并展示的数据
数据图表展示,数据库的历史查询展示
设备控制界面的设计与实现,点击设备开关发布想要的控制命令