项目简介
本项目是一个基于Contiki-NG操作系统和CoAP协议的智能家庭监控系统。该系统借助MQTT和CoAP协议实现家庭环境监测与入侵检测。MQTT传感器可监控气体、光线、温度和湿度,CoAP传感器能检测运动并触发警报。所有数据经边界路由器汇集后保存至数据库,还能通过Grafana进行可视化展示。
项目的主要特性和功能
- MQTT传感器:借助MQTT协议连接边界路由器,实时监测气体、光线、温度和湿度,并将数据发送至服务器。
- CoAP传感器:采用CoAP协议,检测到运动时触发警报并通知服务器。
- 边界路由器:汇集传感器节点的数据并转发至服务器。
- 服务器:接收、处理传感器数据,存入数据库,通过Grafana可视化。
- 警报系统:CoAP传感器检测到运动时,服务器更新警报状态并发送警报信号。
- 数据可视化:使用Grafana展示温度、湿度、气体浓度、光线强度、警报状态和强度等传感器数据。
安装使用步骤
假设用户已下载本项目的源码文件,可按以下步骤部署和运行系统:
1. 安装依赖库:
bash
pip3 install tabulate pypiserver databases logging nrfutil
2. 启动Cooja模拟器:
bash
cd contiki-ng/tools/cooja
ant run
3. 启动Mosquitto服务器:
bash
sudo mosquitto -c /etc/mosquitto/mosquitto.conf
4. 启动边界路由器:
bash
cd contiki-ng/IoTProject/sensors/rpl-border-router
make TARGET=cooja connect-router-cooja
5. 启动Python服务器:
bash
cd contiki-ng/IoTProject/collector/
python3 provaServer.py
6. 部署传感器节点:
```bash
cd contiki-ng/IoTProject/sensors/mqtt-sensor
make TARGET=nrf52840 BOARD=dongle mqtt-client.dfu-upload PORT=/dev/ttyACM0
make TARGET=nrf52840 BOARD=dongle login PORT=/dev/ttyACM0
cd contiki-ng/IoTProject/sensors/rpl-border-router
make TARGET=nrf52840 BOARD=dongle border-router.dfu-upload PORT=/dev/ttyACM0
make TARGET=nrf52840 BOARD=dongle connect-router PORT=/dev/ttyACM0
cd contiki-ng/IoTProject/sensors/coap-sensor
make TARGET=nrf52840 BOARD=dongle coap_sensor.dfu-upload PORT=/dev/ttyACM0
```
- 启动Grafana:配置并启动Grafana以可视化传感器数据。
- 测试系统:通过Cooja模拟器测试系统各部分功能,确保数据传输和警报触发正常。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】