项目简介
本项目是基于Python和MQTT协议构建的物联网实时安全监控系统,借助MQTT协议达成数据的实时采集、传输与存储。系统不仅支持在Raspberry Pi上安装Mosquitto Broker以实现数据的订阅和接收,还支持CoAP协议,用户能通过网页浏览器查看传感器数据,同时可进行远程访问。
项目的主要特性和功能
- 协议支持:同时支持MQTT和CoAP协议,分别通过Mosquitto Broker和ESP8266 NodeMCU实现数据传输。
- 数据监控与保存:实时监控来自物联网设备的传感器数据,并将接收到的MQTT数据保存到文件中,每接收三条消息保存一次。
- 远程访问:通过配置路由器的端口转发,可从任何地方访问MQTT和CoAP服务器。
- Web端数据展示:支持通过网页浏览器查看实时传感器数据和历史数据。
安装使用步骤
1. 安装Mosquitto Broker
在Raspberry Pi上执行以下命令安装并配置Mosquitto Broker:
bash
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install mosquitto
$ sudo apt-get install mosquitto-clients -y
$ sudo nano /etc/mosquitto/mosquitto.conf
在配置文件中添加:
plaintext
allow_anonymous = false
password_file /etc/mosquitto/pwfile
listener 1883
创建用户名和密码:
bash
$ sudo mosquitto_passwd -c /etc/mosquitto/pwfile Username
确保Mosquitto Broker正在运行:
bash
$ sudo systemctl status mosquitto
2. 安装Paho - MQTT库
在Raspberry Pi上安装Python的Paho - MQTT库:
bash
$ sudo pip install paho-mqtt
3. 上传代码到ESP8266 NodeMCU
将MQTT和CoAP代码分别上传到ESP8266 NodeMCU,并确保其运行。
4. 运行Python脚本
在Raspberry Pi上运行Python脚本get_MQTT_data.py
:
bash
$ sudo nano get_MQTT_data.py
修改脚本中的MQTT服务器地址、用户名、密码和主题,然后运行脚本:
bash
$ python get_MQTT_data.py
5. 配置CoAP协议
通过网页浏览器查看由ESP8266 NodeMCU传输的传感器数据。
6. 远程访问配置
- 找到Raspberry Pi和ESP8266 NodeMCU的IP地址。
- 将Raspberry Pi的IP地址转发到端口1883(MQTT)。
- 将ESP8266 NodeMCU的IP地址转发到端口80(CoAP)。 完成以上步骤后,可通过公共IP地址从任何地方访问MQTT和CoAP服务器。
7. 测试与部署
在本地环境中测试系统功能,确保稳定可靠后,将系统部署到实际的物联网环境中,并进行远程访问测试。根据实际需求对系统进行调整和优化,使用Web浏览器或其他工具访问监控系统,查看实时数据和历史数据。
下载地址
点击下载 【提取码: 4003】