昨天晚上秦总在群里演示了一个远程开水泵抽水,既然dtu这么方便我们为何不做一个远程浇花系统呢。
1,准备
需要一个土壤湿度传感器(模拟量输出的就可以),一个air202模块,一个继电器,一个水泵,一台有公网IP的电脑。
2,系统设计
为了保证开关指令的实时下发,我们采取mqtt通信,包含上报下发两部分报文设计。
服务器根据上行消息的deviceid区分设备,处理数据写入数据库。设备订阅以/sub/imei为名称的topic,接受数据并处理
3,dtu设置
配置网络通道,按照上文提到的方式,发布到/pub,订阅/sub/imei(不勾选主题添加imei这里的imei就可以自动转义成设备自身的imei)
定时采集任务
具体脚本,直接用demo的adc改改就可以
定时采集的时间间隔是在网络通道配置的。
数据下发解析部分,这部分通过数据流实现,就是解析我们刚才定义的数据格式。
4,服务器端
订阅pub,对消息处理。
php做的demo
处理部分
数据就可以分设备写入数据库。
小程序直接访问数据库就可以了
下发指令,通过前端页面发送请求,后端通过mqtt发布。
效果
5,最终演示
定时上报信息
小程序下发指令
6,总结
dtu可以方便的实现连接与协议解析,并且可以实现一部分采集和控制,免去了网络部分开发,用户只需要根据自己逻辑进行数据部分开发即可。