在之前的文章里已经简单介绍了MQTT协议,这里结合树莓派+按钮开关(输入)和继电器(输出)制作一个简单的物联网MQTT案例来演示现场端设备与云端服务器的数据信息采集和远程控制功能。
案例流程架构图:
数据采集:
现场端按钮开关的开关状态情况还有树莓派自身的信息,通过树莓派联网发送到云端服务器,人可以用手机或电脑在云端网站页面里看到信息。
远程控制:
人在人可以用手机或电脑在云端网站网站页面里进行点击输入操作,树莓派接收到云服务器发来的远程控制指令,树莓派通过GPIO接口通断信号控制现场继电器的吸合和断开。
准备阶段工作:
现场端工作:
1、准备好树莓派主板通上电,安装好Raspberry Pi OS系统
2、按钮开关和继电器接到树莓派的GPIO模块接口
云端网站工作:
1、准备好云端服务器配置好网络和IP,这里安装好LAMP网站应用环境(Linux+Apache+Mysql+PHP/Python),关键是mysql数据库结构,为之后的python编程和网站编程制作做好数据对接准备
2、安装MQTT服务端,关键是构思好发送和订阅的数据结构,为之后的python编程做发送指令和接受信息的拼接、转变、解析等做准备。
python编程阶段工作:
一、树莓派里运行的python:
1、按钮开关的数据采集:
(1)监控GPIO输入状态
(2)MQTT发布:状态信息
2、控制输出给继电器:
(1)订阅MQTT信息
(2)控制GPIO输出
(3)MQTT发布:回复控制状态
3、树莓派自身信息的心跳数据:
(1)获取树莓派自身数据信息
(2)MQTT发布:树莓派心跳信息
二、服务器里运行的python:
1、数据采集:
订阅MQTT各种数据消息,数据放入mysql
2、远程控制:
(1)收到mysql里控制线圈信息
(2)发布MQTT消息:控制线圈
PHP网站搭建阶段工作:
1、这里做法是用html/CSS/JS制作如上图里的前端人机交互的页面,显示相关数据信息和设置按钮操作。
2、后台里用PHP做html页面与mysql数据库之间的数据对接传输分析转换的接口用来调取。
这里用最简单的开关量设备案例做演示说明,举一反三现场端的其他类型设备,比如Modbus、温度、湿度、串口等,也可通过这样的方式做物联网的数据采集传输分析和远程控制
内容分类
联系我们:
公众号:辰匠之心十分感谢您的宝贵的建议、意见、评论、合作交流、问题咨询等留言信息! 如有需要我们会尽快与您回复沟通。