WisBlock 环境监测应用指南

描述

此解决方案展示了如何创建环境数据传感器节点。传感器节点测量空气温度、空气湿度、气压和气体水平。节点成功加入服务器后,它会定期将此数据传输到 LoRaWan® 服务器。

#前期准备

#硬件

  • WisBlock Base (本示例使用RAK5005-O)
  • WisBlock Core(本示例使用RAK4631)
  • WisBlock Sensor(本示例使用RAK1906)
  • LoRa天线(本示例使用CN470频段)
  • 网关(本示例使用RAK7258网关)

 

???? 注意:

请保持网关与传感器所属频段相同,本实例中均为CN470。

 

#软件

  • Arduino IDE
  • RAK4631 BSP
  • Adafruit BME680 库
  • SX126x-Arduino 库
  • U8g2 库

 

#硬件安装

1、将LoRa天线接口对准并放置在RAK4631模块的LoRa天线接口搭接处,轻轻按压LoRa天线接口,完成安装。

环境监测Figure 1: 安装LoRa天线

 

2、将RAK4631模块上的连接器插头对准RAK5005-O CUP插槽上的连接器插座。保持连接器间平行,将其轻放在插座连接器相应的搭接处。

环境监测Figure 2: 安装WisBlock Core RAK4631

 

3、将传感器模块RAK1906上的连接器插头对准RAK5005-O插槽的连接器插座。保持连接器间平行,将其轻放在插座连接器相应的搭接处。

环境监测Figure 3: 安装WisBlock Sensor RAK1906

 

???? 注意:

平行按压均匀施力,将听到扣合完成的声音,扣压完成后请使用螺钉将WisBlock Core和WisBlock Sensor模块固定在RAK5005-O Base板上。

 

组装完成后示意图如下:

环境监测Figure 4: 模块组装

 

#软件配置

本章节介绍WisBlock 传感器模块的软件配置。

 

#Arduino IDE的下载

使用Arduino IDE对WisBlock进行编码和编程。如果您还未安装Arduino IDE,可在Arduino官网中下载。


⚠️ 警告

如果您所使用的操作系统为Windows 10:
请勿从Microsoft应用商店中安装Arduino IDE。请从Arduino官网中安装原始的Arduino IDE。Microsoft应用商店中的Arduino应用在使用第三方板支持包时存在问题。

 

如下图所示,可以看到Arduino IDE当前版本为V1.8.16。Windows、Linux和Mac OS X都有多个可用版本,选择正确的Arduino IDE版本并下载。

环境监测Figure 5: Arduino IDE 版本示意图

 

#Arduino IDE的安装

本示例为在Windows PC中安装已下载的Arduino IDE。

1、单击“I Agree”。

环境监测Figure 6: Arduino安装许可协议

 

2、单击“Next”。

环境监测Figure 7: Arduino安装选项

 

3、单击“Install”。

环境监测Figure 8: Arduino IDE安装路径

 

环境监测Figure 9: Arduino IDE安装中

 

进度为100%后,Arduino IDE已成功安装,单击“Close”,退出安装过程。

环境监测Figure 10: 成功安装

 

???? 注意:

在Linux与Mac OS X中,没有安装过程。只是一个解压过程,然后就能够成功打开Arduino IDE 。

 

#Arduino IDE上的配置

Arduino IDE安装成功后。需要对Arduino IDE进行一些配置以便后续对WisBlock组装模块进行相关配置。

  1. 打开Arduino IDE。
  2. 进入“文件 > 首选项”。
环境监测Figure 11: 首选项

 

3、单击图中图标,编辑“附加开发板管理器网址”,将WisBlock Core添加到Arduino板列表中。

环境监测Figure 12: 修改附加开发板管理器网址

 

4、复制此URLhttps://raw.githubusercontent.com/RAKwireless/RAKwireless-Arduino-BSP-Index/main/package_rakwireless_index.json并粘贴至下图所示区域。如果已存在其他链接,将上述链接粘贴至新的一行。完成后,单击“好”。

环境监测Figure 13: 添加RAKwireless WisBlock Core BSP

 

???? 注意

如果您使用的是Linux,需要通过“pip”安装“adafruit-nrfutil”。

sudo pip3 install adafruit-nrfutilpip3 install --user adafruit-nrfutil

 

5、重启Arduino IDE。

6、在“工具”菜单中打开“开发板管理”。

环境监测Figure 14: 打开开发板管理

 

7、如下图所示,在搜索栏中键入“RAK”。将会显示出可添加到Arduino板列表中的可用RAKwireless WisBlock Core。选择以下板支持包以及相应的版本,并单击“安装”板支持包。

环境监测Figure 15: 安装WisBlock Core

 

#烧录程序

1、将组装的WisBlock传感器模块使用USB连接线连接到PC上。

2、在Arduino IDE中,根据下图所示,选择WisBlock Core RAK4631板。

环境监测Figure 16: 选择WisBlock Core RAK4631板

 

3、根据下图所示,选择示例项目。

环境监测Figure 17: 选择示例代码

 

4、打开示例代码后,双击图中链接,安装示例代码中所需的代码库。

环境监测Figure 18: 安装所需代码库

 

5、修改示例代码中的频段区域,本示例使用的为CN470。

环境监测Figure 19: 修改频段

 

6、完成后,如下图所示,选择正确的串口并单击图中上传图标上传代码。

环境监测Figure 20: 选择端口号

 

#连接网关到TTN

本节为连接网关至TTN(The Things Network)平台。

 

#前提条件

  • 网关已连接到网络,具体请参见连接网关到网络。
  • 注册TTN账号并激活账号。

 

#操作步骤

1、登录TTN网站,您将看到以下页面:

环境监测Figure 21: TTN主页

 

2、单击“Register a gateway”,进入以下页面注册网关信息。

环境监测Figure 22: 注册网关

 

  • Gateway EUI:网关唯一 ID。该名称必须与网关的真实网关ID相同。可登录网关在Web页面“LoRa Network > Network Settings”页面找到Gateway EUI。
  • Frequency Plan:这是您要使用的频率,本示例为CN470。
  • Gateway Server address:eu1.cloud.thethings.network为网关服务器地址。
  • 单击“Create gateway”,网关新建成功后,即可在网关列表页查看新增加的网关。

 

4、访问网关,选择“LoRa Network > Network Settings”进入LoRaWAN Network Setting设置界面。

环境监测Figure 23: 网络设置

 

  • 将“Mode”设置为“Packet Forwarder”后,单击“Switch mode”。
  • 修改Server Address。修改完成后单击“Save & Apply”。

 

5、刷新TTN网关界面,如果您的网关状态为“Connected”,则网关现在已连接到TTN。

环境监测Figure 24: 网关成功连接TTN

 

#连接传感器节点至TTN

本节为连接传感器节点至TTN(The Things Network)平台。

 

#登录到TTN平台

登录TTN网站,您将看到以下页面:

环境监测Figure 25: TTN控制台页面

 

#创建新的应用程序

1、进入添加 Application 界面,注册相关信息后,单击页面底部的“Create application”。

环境监测Figure 26: 添加应用

 

2、进入应用程序概述页面,单击右下角“Add end devices”,在TTN平台注册新设备。

环境监测Figure 27: 应用程序概述页面

 

#注册新设备

1、在“Register end device”页面中,单击“Manually”页签。

2、配置Frequency plan、LoRaWAN version、Regional Parameters version,并添加设备DevEUI、AppEUI、AppKey。

环境监测Figure 28: 注册设备

 

???? 注意:

设备频段应与网关频段相同。

 

3、DevEUI、AppEUI、AppKey请在传感器示例代码中获取,切记需要删除各个数字前的“0x”以及“,”。

环境监测Figure 29: 获取DevEUI、AppEUI、AppKey

 

4、单击"Register and device",完成设备注册,注册结果将汇总如下图所示。

环境监测Figure 30: 设备信息

 

5、重启设备后,设备自动入网并定时向服务器传输实时监测数据。单击See all activity→,查看传输数据。

环境监测Figure 31: 环境监测数据

 

6、成功上传示例项目后,可在 Arduino IDE 的工具栏单击串口监视器,查看传感器的读取日志。如果日志如下所示,表示RAK1906正在与WisBlock Core正确通信。

环境监测Figure 32: 串口监视器日志

 

#数据格式

通信传输的实时监测数据格式如下表所示:

字节1字节2字节3字节4字节5
1温度1温度2湿度1湿度2
字节6字节7字节8字节9字节10字节11字节12字节13
气压1气压2气压3气压4气体1气体2气体3气体4
  • 字节1是数据类型的标识,这里始终是 1。
    • 每个字节的值都是 MSB 在前。
    • 温度以两个字节的形式发送,为了准确起见放大 100 倍。例如,2510 意味着 25.01摄氏度,以 0x09 0xCE 发送。
    • 湿度是以两个字节的形式发送的,为了准确起见放大了 100 倍。例如,4173 意味着 41.73%,以 0x10 0x4D 发送。
    • 气压是以四个字节的形式发送的,为了准确起见放大了 100 倍。例如,100945 意味着 1009.45 hPa,以 0x00 0x01 0x8A 0x51 发送。
    • 气体电阻以四个字节发送,例如63560 Ω,以 0x00 0x00 0xF8 0x48 发送。

 

???? 注意:

此传输示例中:0x09 0x5E代表温度值;0x14 0xDD代表湿度值;0x00 0x01 0x7A 0x85代表气压值;0x00 0x00 0x09 0x8B代表气体电阻值。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分