![]() | ![]() | ![]() |
|---|
这是Wisblock的新方法。它扫描了I2C总线和串行,以检测哪些Wisblock模块附在Wisblock基座上,并在Cayenne LPP中创建了Lorawan有效载荷,并使用发现的模块的数据。
该固件使用Wisblock API V2
可以使用此代码而无需更改
| 套件/解决方案 | 设置指南 |
|---|---|
| Wisblock套件1 | 设置套件1 |
| Wisblock套件2 | 设置套件2 |
| Wisblock套件3 | 设置套件3 |
| Wisblock套件4 | 设置套件4 |
| RAK开发人员套件 | 设置开发套件2设置开发套件3设置开发套件4 |
| 氦映射器套件 | 设置氦映射器 |
| Wisblock GNSS跟踪器洛拉瓦恩 | 设置GNSS跟踪器 |
| 模块 | 功能 | 用于套件 |
|---|---|---|
| RAK4631 | Wisblock核心模块 | - |
| RAK5005-O | Wisblock基板 | - |
| RAK19007 | Wisblock基板 | - |
| RAK19003 | Wisblock迷你基板 | - |
| RAK19001 | Wisblock全尺寸基板 | - |
| RAK1901 | Wisblock温度和湿传感器 | Wisblock套件1,RAK开发人员套件2 |
| RAK1902 | Wisblock晴雨表压力传感器 | Wisblock套件1,RAK开发人员套件2 |
| RAK1903 | Wisblock环境光传感器 | Wisblock套件1,RAK开发人员套件2 |
| RAK1904 | Wisblock加速传感器(用于GNSS解决方案) | Wisblock套件2和3,Rak Developer Kit 3 |
| RAK1905 | Wisblock 9 DOF传感器 | - |
| RAK1906 | Wisblock环境传感器 | Wisblock套件4,RAK开发人员套件4 |
| RAK1910 | Wisblock GNSS传感器 | Wisblock套件2和3,RAK开发人员套件3 |
| RAK1921 | Wisblock OLED展示 | (状态显示) |
| RAK5814 | Wisblock ACC608加密模块 | - |
| RAK12002 | Wisblock RTC模块 | - |
| RAK12003 | Wisblock Fir传感器 | - |
| RAK12004 | Wisblock MQ2气体传感器 | - |
| RAK12008 | Wisblock SCT31 CO2气体传感器 | - |
| RAK12009 | Wisblock MQ3酒精燃气传感器 | - |
| RAK12010 | Wisblock环境光传感器 | - |
| RAK12014 | Wisblock激光TOF传感器 | - |
| RAK12019 | Wisblock UV灯光传感器 | - |
| RAK12025 | Wisblock陀螺仪传感器 | - |
| RAK12023/RAK12035 | Wisblock土壤水分和温度传感器 | Wisblock土壤传感器解决方案 |
| RAK12027 | Wisblock地震传感器 | - |
| RAK12032 | Wisblock加速传感器 | - |
| RAK12034 | Wisblock 9 DOF传感器 | - |
| RAK12037 | Wisblock CO2传感器 | - |
| RAK12039 | Wisblock粒子物质传感器 | - |
| RAK12040 | Wisblock AMG8833温度阵列传感器 | - |
| RAK12047 | Wisblock VOC传感器 | - |
| RAK12052 | Wisblock MLX90640 32x24温度阵列传感器 | - |
| RAK12500 | Wisblock GNSS传感器 | Wisblock Tracker for Lorawan |
| RAK14002 | Wisblock 3按钮触摸垫 | - |
| RAK14003 | Wisblock LED栏显示 | - |
| RAK14008 | Wisblock手势传感器 | - |
| RAK15000 | Wisblock Eeprom模块 | - |
| RAK15001 | Wisblock闪存模块 | - |
| RAK14008 | Wisblock手势传感器 | - |
| RAK16000 | Wisblock DC电流传感器 | - |
MCU和LORA收发器进入测量周期之间的睡眠模式,以节省功率。我可以测量整个系统40UA的睡眠电流,以使能够使睡眠的解决方案。某些解决方案(例如GNSS跟踪器或RAK12047 VOC传感器)需要更长的唤醒时间或更频繁的唤醒,它们具有更高的功耗。
此外,使用加热元件的MQ气体传感器之类的传感器也将消耗更多的功率。
...要更新,请检查Platform.ini以获取所有使用
该项目是使用平台IO开发的。但是,对于仍然坚持Arduino IDE的用户来说,Arduino IDE兼容来源的副本是在Arduinoide文件夹中。该代码没有在Arduino IDE ATM上编译。
PIO的完整项目在Platformio文件夹中。
使用PlatformIO时,库都列在platformio.ini中,并在编译项目时自动安装。使用Arduino IDE时,所有库都需要使用Arduino Library Manager手动安装。
编译固件并在安装所有必需模块的Wisblock上刷新固件。
连接USB以设置LPWAN凭据。使用在RAK4631上打印的DEVEUI,使用LPWAN服务器中的AppEUI和AppKey。请勿激活自动加入。由于天气传感器水平的变化不大,因此将发送频率设置为每10分钟可能就足够了。发送频率以秒为单位设置,因此值将为10 * 60 ==> 600
命令的示例:
AT+NWM=1
AT+NJM=1
AT+BAND=10
AT+DEVEUI=1000000000000001
AT+APPEUI=AB00AB00AB00AB00
AT+APPKEY=AB00AB00AB00AB00AB00AB00AB00AB00
AT+SENDINT=600
| 命令 | 解释 |
|---|---|
| AT+NWM = 1 | 将节点设置为Lorawan模式 |
| AT+NJM = 1 | 将网络连接方法设置为OTAA |
| at+band = 10 | 设置LPWAN区域(此处为923-3)请参阅命令手册 |
| AT+DEVEUI = 1000000000000001 | 设置设备EUI,最好使用在Wisblock Core模块标签上打印的DEVEUI |
| at+appeui = ab00ab00ab00ab00 | 设置Lorawan服务器上所需的应用程序EUI |
| AT+AppKey = AB00AB00AB00AB00AB00AB00AB00AB00 | 设置应用程序密钥,用于加密网络加入期间数据包 |
| at+sendint = 600 | 设置间隔传感器节点将发送数据包。 600 == 10 x 60秒== 10分钟 |
可以在此处找到所有命令的手册:at-commands.mdAT?
使用Wisblock工具箱
数据包数据与从电子猫/cayennelpp编码的扩展的Cayenne LPP兼容
数据包的内容取决于Wisblock Base Board上安装的模块:
| 数据 | 渠道 # | 通道ID | 长度 | 评论 | 所需的模块 | 解码字段名称 |
|---|---|---|---|---|---|---|
| 电池价值 | 1 | 116 | 2个字节 | 0.01 V未签名的MSB | RAK4631 | 电压_1 |
| 湿度 | 2 | 104 | 1字节 | 在%rh中 | RAK1901 | 湿度_2 |
| 温度 | 3 | 103 | 2个字节 | 在°C | RAK1901 | 温度_3 |
| 气压 | 4 | 115 | 2个字节 | 在HPA(MBAR)中 | RAK1902 | 气压表_4 |
| 照明 | 5 | 101 | 2个字节 | 1个未签名 | RAK1903 | Illuminance_5 |
| 湿度2 | 6 | 104 | 1字节 | 在%rh中 | RAK1906 | 湿度_6 |
| 温度2 | 7 | 103 | 2个字节 | 在°C | RAK1906 | 温度_7 |
| 气压2 | 8 | 115 | 2个字节 | 在HPA(MBAR)中 | RAK1906 | 气压表_8 |
| 气电2 | 9 | 2 | 2个字节 | 0.01签名(KOHM) | RAK1906 | 模拟_9 |
| GNSS站立。解决 | 10 | 136 | 9个字节 | 3个字节LON/LAT 0.0001°,3个字节ALT 0.01米 | RAK1910,RAK12500 | GPS_10 |
| GNSS增强了分辨率 | 10 | 137 | 11个字节 | 4个字节LON/LAT 0.000001°,3个字节ALT 0.01米 | RAK1910,RAK12500 | GPS_10 |
| 土壤温度 | 11 | 103 | 2个字节 | 在°C | RAK12023/RAK12035 | 温度_11 |
| 土壤湿度 | 12 | 104 | 1字节 | 在%rh中 | RAK12023/RAK12035 | 湿度_12 |
| 土壤湿度生 | 13 | 2 | 2个字节 | 0.01签名 | RAK12023/RAK12035 | 模拟_in_13 |
| 土壤数据有效 | 14 | 102 | 1字节 | 布尔 | RAK12023/RAK12035 | 存在_14 |
| 照明2 | 15 | 101 | 2个字节 | 1个未签名 | RAK12010 | Illuminance_15 |
| VOC | 16 | 138 | 2个字节 | VOC索引 | RAK12047 | VOC_16 |
| MQ2气体 | 17 | 2 | 2个字节 | 0.01签名 | RAK12004 | 模拟_in_17 |
| MQ2气体百分比 | 18 | 120 | 1字节 | 1-100%未签名 | RAK12004 | 百分比_18 |
| MG812气体 | 19 | 2 | 2个字节 | 0.01签名 | RAK12008 | 模拟_in_19 |
| MG812气体百分比 | 20 | 120 | 1字节 | 1-100%未签名 | RAK12008 | 百分比_20 |
| MQ3酒精气 | 21 | 2 | 2个字节 | 0.01签名 | RAK12009 | 模拟_in_21 |
| MQ3酒精气perc。 | 22 | 120 | 1字节 | 1-100%未签名 | RAK12009 | 百分比_22 |
| TOF距离 | 23 | 2 | 2个字节 | 0.01签名 | RAK12014 | 模拟_in_23 |
| TOF数据有效 | 24 | 102 | 1字节 | 布尔 | RAK12014 | 存在_24 |
| 陀螺仪触发 | 25 | 134 | 6个字节 | 每个轴2个字节,0.01°/s | RAK12025 | Gyrometer_25 |
| 检测到手势 | 26 | 0 | 1字节 | 1个字节带有手势的身份证 | RAK14008 | Digital_in_26 |
| LTR390 UVI值 | 27 | 2 | 2个字节 | 0.01签名 | RAK12019 | 模拟_in_27 |
| ltr390紫外线值 | 28 | 101 | 2个字节 | 1个未签名 | RAK12019 | Illuminance_28 |
| ina219电流 | 29 | 2 | 2个字节 | 0.01签名 | RAK16000 | 模拟_29 |
| ina219电压 | 30 | 2 | 2个字节 | 0.01签名 | RAK16000 | 模拟_30 |
| ina219电源 | 31 | 2 | 2个字节 | 0.01签名 | RAK16000 | 模拟_31 |
| 触摸板左 | 32 | 102 | 1字节 | 布尔 | RAK14002 | 存在_32 |
| 触摸板中间 | 33 | 102 | 1字节 | 布尔 | RAK14002 | 存在_33 |
| 触摸板右 | 34 | 102 | 1字节 | 布尔 | RAK14002 | 存在_34 |
| SCD30 CO2浓度 | 35 | 125 | 2个字节 | 1 ppm未签名 | RAK12037 | 浓度_35 |
| SCD30温度 | 36 | 103 | 2个字节 | 在°C | RAK12037 | 温度_36 |
| SCD30湿度 | 37 | 104 | 1字节 | 在%rh中 | RAK12037 | 湿度_37 |
| MLX90632传感器温度 | 38 | 103 | 2个字节 | 在°C | RAK12003 | 温度_38 |
| MLX90632对象温度 | 39 | 103 | 2个字节 | 在°C | RAK12003 | 温度_39 |
| PM 1.0值 | 40 | 103 | 2个字节 | 在UG/M3中 | RAK12003 | VOC_40 |
| PM 2.5值 | 41 | 103 | 2个字节 | 在UG/M3中 | RAK12003 | VOC_41 |
| PM 10值 | 42 | 103 | 2个字节 | 在UG/M3中 | RAK12003 | VOC_42 |
| 地震事件 | 43 | 102 | 1字节 | 布尔 | RAK12027 | 存在_43 |
| 地震Si值 | 44 | 2 | 2个字节 | 模拟10 * m/s | RAK12027 | 模拟_44 |
| 地震PGA值 | 45 | 2 | 2个字节 | 模拟10 * m/s2 | RAK12027 | 模拟_45 |
| 地震关闭警报 | 46 | 102 | 1字节 | 布尔 | RAK12027 | 存在_46 |
| lpp_channel_eq_collapse | 47 | 102 | 1字节 | 布尔 | RAK12027 | 存在_47 |
| 切换状态 | 48 | 102 | 1字节 | 布尔 | RAK13011 | 存在_48 |
| 传感器风速 | 49 | 190 | 2字节 | 0.01 m/s | SensorHub RK900-09 | wind_speed_49 |
| 传感器风向 | 50 | 191 | 2字节 | 1º | SensorHub RK900-09 | wind_direction_50 |
| 音频水平 | 49 |
草书中的通道ID是扩展格式,并且不受标准Cayenne LPP数据解码器的支持。
可以在文件夹rakwireless_standardized_payload repo中找到TTN,Chirpstack,氦气和数据蛋糕的示例解码器
编译的文件位于./generated文件夹中。每个成功的编译版本都被称为WisBlock_SENS_Vx.y.z_YYYY.MM.dd.hh.mm.ss
XYZ是版本号。版本编号是在./platformio.ini文件中设置的。
yyyy.mm.dd.hh.mm.ss是汇编的时间戳。
生成的.zip文件也可以使用任何Wisblock工具箱通过BLE更新设备
当使用Platformio外,还会生成一个用于RAK4631的UF2文件。您可以通过将重置按钮倍加工来强制RAK4631进入Boot Loader模式。将安装新的USB驱动器。将UF2文件拉到新驱动器中以闪烁设备。
调试输出可以通过platformio.ini中的定义来控制
lib_debug控制SX126X-Arduino Lorawan库的调试输出
api_debug控制Wisblock-API库的调试输出
my_debug控制应用程序本身的调试输出
CFG_DEBUG控制NRF52 BSP的调试输出。建议将其保留
[env:wiscore_rak4631]
platform = nordicnrf52
board = wiscore_rak4631
framework = arduino
build_flags =
; -DCFG_DEBUG=2
- DSW_VERSION_1 =1 ; major version increase on API change / not backwards compatible
- DSW_VERSION_2 =0 ; minor version increase on API change / backward compatible
- DSW_VERSION_3 =0 ; patch version increase on bugfix, no affect on API
- DLIB_DEBUG =0 ; 0 Disable LoRaWAN debug output
- DAPI_DEBUG =0 ; 0 Disable WisBlock API debug output
- DMY_DEBUG =0 ; 0 Disable application debug output
- DNO_BLE_LED =1 ; 1 Disable blue LED as BLE notificator
lib_deps =
beegee-tokyo/SX126x-Arduino
beegee-tokyo/WisBlock-API-V2
sparkfun/SparkFun SHTC3 Humidity and Temperature Sensor Library
adafruit/Adafruit LPS2X
closedcube/ClosedCube OPT3001
sabas1080/CayenneLPP
extra_scripts = pre:rename.py本指南可用于Wisblock套件1和RAK开发人员套件2
在Rakwireless文档中心的快速启动指南之后,将模块安装在任何匹配的插槽中
使用AT命令接口或BLE应用程序设置设备
本指南可用于Wisblock套件2 , Wisblock Kit 3 , Wisblock GNSS Tracker for Lorawan和Rak开发人员套件3
RAK1904模块必须安装在
RAK5005-O的插槽C,RAK19007,RAK19003或RAK19001
如果使用RAK1910,则必须安装在
RAK5005-O的插槽A
RAK19007或RAK19001的任何匹配插槽
如果使用RAK12500,则可以将其安装在基板的任何匹配插槽中。
RAK1906可以安装在基板的任何匹配插槽中。
对于安装指南,遵循Rakwireless文档中心的快速启动指南
使用AT命令接口或BLE应用程序设置设备
lorawan的RAK11700 GNSS跟踪器是此设置的默认启动模式。
如果构建氦映射器套件,则必须使用以下命令更改模式:
可以使用AT命令AT+GNSS将解决方案设置为3种不同的工作模式:
| 命令 | 输入参数 | 返回值 | 返回代码 |
|---|---|---|---|
| 在+gnss? | - | Get/Set the GNSS precision and format 0 = 4 digit, 1 = 6 digit, 2 = Helium Mapper | OK |
| at+gnss =? | - | 0或1或2 | OK |
AT+GNSS = <Input Parameter> | 1或2或3 | - | OK或AT_PARAM_ERROR |
Cayenne LPP标准格式仅对位置精度使用4位数字。此默认位置格式自动由大多数Lorawan服务器和MyDevices等可视化平台支持。
它是默认值,并用AT+GNSS=0设置为AT命令。
设置此选项,数据仍以Cayenne LPP格式发送,但使用自定义数据标识符和6位数字来获得更高的纬度和经度分辨率。要解码此格式,需要定制数据编码器。可以在自定义数据解码器文件夹中找到TTN,Chirpstack和DataCake的数据编码器。
增强的位置分辨率设置为AT命令AT+GNSS=1 。
该选项以氦映射器格式发送数据,如用Wisblock制作氦映射器所述。
上述文章提供了此格式的数据包解码器。
氦映射器功能设置为AT命令AT+GNSS=2 。
本指南可用于Wisblock套件4和RAK开发人员套件4
在Rakwireless文档中心的快速启动指南之后,将模块安装在任何匹配的插槽中
使用AT命令接口或BLE应用程序设置设备