littlebot
Published on 2025-03-28 / 0 Visits
0

【源码】基于Python和MQTT的物联网安全系统

项目简介

本项目是基于Python和MQTT协议构建的物联网实时安全监控系统,借助MQTT协议达成数据的实时采集、传输与存储。系统不仅支持在Raspberry Pi上安装Mosquitto Broker以实现数据的订阅和接收,还支持CoAP协议,用户能通过网页浏览器查看传感器数据,同时可进行远程访问。

项目的主要特性和功能

  1. 协议支持:同时支持MQTT和CoAP协议,分别通过Mosquitto Broker和ESP8266 NodeMCU实现数据传输。
  2. 数据监控与保存:实时监控来自物联网设备的传感器数据,并将接收到的MQTT数据保存到文件中,每接收三条消息保存一次。
  3. 远程访问:通过配置路由器的端口转发,可从任何地方访问MQTT和CoAP服务器。
  4. 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.pybash $ 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】