项目简介
本项目把科罗拉多州立大学(CSU)土壤传感器与 Arduino MKR WAN 1310 开发板连接,赋予传感器通过 LoRaWAN 通信的能力。系统可实时监测土壤温度和湿度,并将数据传输至 LoRaWAN 网络服务器。
项目的主要特性和功能
- 数据测量:能测量土壤温度和湿度,以电压形式呈现数据。
- 通信方式:利用 LoRaWAN 进行数据通信,实现远程数据传输。
- 指令接收:可接收 LoRaWAN 下行链路命令,对设备进行控制。
- 低功耗运行:正常运行功耗约 20 mA,空闲时约 10 mA。
安装使用步骤
安装软件
- 安装 Arduino IDE,用于连接
MKR WAN 1310
开发板。 - 按照 SAMD21 core for MKR boards Documentation 安装开发板的软件支持。
- 在库管理器中搜索 “mkrwan”,安装
MKRWAN by Arduino
库。
连接硬件
- 连接传感器到开发板:将土壤传感器的四根跳线(红色为电源,黑色为接地,白色为土壤湿度,蓝色为土壤温度)连接到
MKR WAN 1310
开发板。 - 连接开发板到计算机:使用 Micro USB 线将开发板连接到计算机,在 Arduino IDE 的“工具”中选择
Arduino SAMD Boards (32-bits ARM Cortex - M0+)
类型的开发板,然后选择Arduino MKR WAN 1310
具体型号,并选择正确的串口。
运行软件
- 在
Arduino IDE
中运行setup.ino
,从串口监视器获取 MKR WAN 1310 的 DevEUI。 - 在 LoRaWAN 网络服务器的门户或 API 中添加设备,选择
OTAA
选项为“是”,生成应用密钥,并将其提供给arduino_secrets.h
文件。 - 再次运行
setup.ino
,若设备成功连接,串口监视器将显示设备发送的值,网络服务器将收到join request
和设备数据。 - 为使网络服务器能够解密上行数据包,通过其门户或 API 提供
codec.js
编解码器。
测试传感器
若使用 Chirpstack 作为网络服务器,可按以下步骤测试:
1. 在 Arduino IDE
中运行 main.ino
获取 DevEUI。
2. 使用 Chirpstack 的 UI,按照 Chirpstack 文档 通过 OTAA
方式添加设备。
3. 生成应用密钥并提供给 arduino_secrets.h
文件。
4. 运行 setup.ino
,等待设备连接到 LoRaWAN 网络,Chirpstack 将收到设备数据。
5. 通过设备配置文件的编解码器选项卡提供 codec.js
,以查看解码后的数据包。
部署传感器
将 main.ino
上传到传感器,去除用于设置传感器的不必要代码。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】