Changes for page wiki_test
Last modified by Mengting Qiu on 2024/09/05 17:35
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 7 removed)
Details
- Page properties
-
- Content
-
... ... @@ -17,13 +17,13 @@ 17 17 == 1.1 What is S31x-NB NB-IoT Temperature & Humidity Sensor == 18 18 19 19 20 -The Dragino S31-NB and S31B-NB are (% style="color:blue" %)**NB-IoT Temperature and Humidity Sensor**(%%)for Internet of Things solution. It is used to measure the surrounding(% style="color:blue" %)**environment temperature and relative air humidity precisely**(%%), and then upload to IoT server via NB-IoT network*.20 +The Dragino S31-NB and S31B-NB are **NB-IoT Temperature and Humidity Sensor** for Internet of Things solution. It is used to measure the surrounding **environment temperature and relative air humidity precisely**, and then upload to IoT server via NB-IoT network*. 21 21 22 -The temperature & humidity sensor used in S31-NB is SHT31, which is fully calibrated, linearized, and temperature compensated digital output from Sensirion, it provides a strong reliability and long-term stability. The SHT31 is fixed in a (% style="color:blue" %)**waterproof anti-condensation casing**(%%)for long term use.22 +The temperature & humidity sensor used in S31-NB is SHT31, which is fully calibrated, linearized, and temperature compensated digital output from Sensirion, it provides a strong reliability and long-term stability. The SHT31 is fixed in a **waterproof anti-condensation casing** for long term use. 23 23 24 -S31-NB supports different uplink methods include (% style="color:blue" %)**TCP, MQTT, UDP**24 +S31-NB supports different uplink methods include **TCP, MQTT, UDP** for different application requirement. and Support Uplinks to various IoT Servers. 25 25 26 -S31-NB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), It is designed for long term use up to several years. (Real-world battery life depends on the use environment, update period and uplink method. Please check related Power Analyze report).26 +S31-NB is powered by **8500mAh Li-SOCI2 battery**, It is designed for long term use up to several years. (Real-world battery life depends on the use environment, update period and uplink method. Please check related Power Analyze report). 27 27 28 28 *make sure you have NB-IoT coverage locally. 29 29 ... ... @@ -46,6 +46,7 @@ 46 46 * 8500mAh Battery for long term use 47 47 * Nano SIM card slot for NB-IoT SIM 48 48 49 + 49 49 == 1.3 Specification == 50 50 51 51 ... ... @@ -105,6 +105,7 @@ 105 105 * STOP Mode: 10uA @ 3.3v 106 106 * Max transmit power: 350mA@3.3v 107 107 109 + 108 108 == 1.4 Applications == 109 109 110 110 ... ... @@ -116,6 +116,8 @@ 116 116 * Smart Factory 117 117 118 118 121 + 122 + 119 119 == 1.5 Sleep mode and working mode == 120 120 121 121 ... ... @@ -144,6 +144,7 @@ 144 144 ))) 145 145 |(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means device is in Deep Sleep Mode. 146 146 151 + 147 147 == 1.7 BLE connection == 148 148 149 149 ... ... @@ -159,336 +159,444 @@ 159 159 If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode. 160 160 161 161 162 -== 1.8 Pin Definitions & Switch==167 +== 1.8 Pin Definitions == 163 163 169 +[[image:image-20230819104805-5.png]] 164 164 165 -S31x-NB use the mother board from S31-NB which as below. 166 166 167 - [[image:image-20230819104805-5.png]]172 +== 1.8 Hardware Variant == 168 168 169 169 175 +(% border="1" cellspacing="5" style="width:472px" %) 176 +|=(% style="width: 102px;background-color:#D9E2F3;color:#0070C0" %)Model|=(% style="width: 190px;background-color:#D9E2F3;color:#0070C0" %)Photo|=(% style="width: 187px; background-color:#D9E2F3;color:#0070C0" %)Probe Info 177 +|(% style="width:102px" %)((( 178 +S31-LB 179 +)))|(% style="width:190px" %)[[image:image-20230527093214-2.jpeg]]|(% style="width:187px" %)((( 180 +1 x SHT31 Probe 170 170 171 - ===1.8.1 JumperJP2===182 +Cable Length : 2 meters 172 172 184 + 185 +))) 186 +|(% style="width:102px" %)((( 187 +S31B-LB 188 +)))|(% style="width:190px" %)[[image:image-20230527093155-1.jpeg]]|(% style="width:187px" %)((( 189 +1 x SHT31 Probe 173 173 174 -Power on Device when put this jumper. 191 +Installed in device. 192 +))) 175 175 194 +(% style="display:none" %) 176 176 177 -=== 1.8.2 BOOT MODE / SW1 === 178 178 179 179 180 - 1) (% style="color:blue"%)**ISP**(%%):upgrademode, device won'thave any signalin this mode. but ready for upgrade firmware. LED won't work. Firmware won't run.198 +== 1.9 Mechanical == 181 181 182 -2) (% style="color:blue" %)**Flash**(%%): work mode, device starts to work and send out console output for further debug 183 183 201 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]] 184 184 185 -=== 1.8.3 Reset Button === 186 186 204 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143899218-599.png]] 187 187 188 -Press to reboot the device. 189 189 207 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]] 190 190 191 191 192 -= =1.9HardwareVariant ==210 += 2. Configure S31x-LB to connect to LoRaWAN network = 193 193 212 +== 2.1 How it works == 194 194 195 -(% border="1" cellspacing="5" style="width:410px" %) 196 -|=(% style="width: 102px;background-color:#4F81BD;color:white" %)Model|=(% style="width: 126px; background-color:#4F81BD;color:white" %)Photo|=(% style="width: 179px;background-color:#4F81BD;color:white" %)Probe Info 197 -|(% style="width:102px" %)((( 198 -S31-LB 199 -)))|(% style="width:126px" %)((( 200 -(% style="text-align:center" %) 201 -[[image:image-20230819110632-6.png||height="130" width="104"]] 202 -)))|(% style="width:179px" %)((( 203 -1 x SHT31 Probe 204 204 205 -Cable Len gth:3 meters215 +The S31x-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the S31x-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes. 206 206 207 - 208 -))) 209 -|(% style="width:102px" %)((( 210 -S31B-LB 211 -)))|(% style="width:126px" %)((( 212 -(% style="text-align:center" %) 213 -[[image:image-20230819110702-7.png||height="164" width="90"]] 214 -)))|(% style="width:179px" %)((( 215 -1 x SHT31 Probe 216 216 217 -Installed in device. 218 -))) 218 +== 2.2 Quick guide to connect to LoRaWAN server (OTAA) == 219 219 220 -(% style="display:none" %) 221 221 221 +Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example. 222 222 223 +The LPS8V2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server. 223 223 224 224 225 - =2. Use S31-NBtocommunicate withIoTServer=226 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from S31x-LB. 226 226 227 - ==2.1Senddata toIoTserverviaNB-IoTnetwork ==228 +Each S31x-LB is shipped with a sticker with the default device EUI as below: 228 228 230 +[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]] 229 229 230 -The S31-NB is equipped with a NB-IoT module, the pre-loaded firmware in S31-NB will get environment data from sensors and send the value to local NB-IoT network via the NB-IoT module. The NB-IoT network will forward this value to IoT server via the protocol defined by S31-NB. 231 231 233 +You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: 232 232 233 -Below shows the network structure: 234 234 235 - [[image:1692415924540-357.png]]236 +(% style="color:blue" %)**Register the device** 236 236 238 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/1654935135620-998.png?rev=1.1||alt="1654935135620-998.png"]] 237 237 238 -There are two version: (% style="color:blue" %)**-GE**(%%) and (% style="color:blue" %)**-1D**(%%) version of S31-NB. 239 239 241 +(% style="color:blue" %)**Add APP EUI and DEV EUI** 240 240 241 - (% style="color:blue" %)**GE Version**(%%): This versionesn’t include SIMcardorpoint toany IoT server. UserneedstouseAT Commands to configureelow two steps to set S31-NB senddata to IoT server.243 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-4.png?width=753&height=551&rev=1.1||alt="图片-20220611161308-4.png"]] 242 242 243 -1. Install NB-IoT SIM card and configure APN. See instruction of [[Attach Network>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H2.AttachNetwork]]. 244 244 245 - 1.Set upsensorto point to IoT Server. See instructionof [[ConfiguretoConnectDifferentServers>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.Configuretoconnecttodifferentservers]].246 +(% style="color:blue" %)**Add APP EUI in the application** 246 246 247 -Below shows result of different server as a glance. 248 248 249 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-5.png?width=742&height=601&rev=1.1||alt="图片-20220611161308-5.png"]] 249 249 250 -(% border="1" cellspacing="4" style="width:515px" %) 251 -|(% style="width:100px;background-color:#4F81BD;color:white" %)**Servers**|(% style="width:300px;background-color:#4F81BD;color:white" %)**Dash Board**|(% style="width:115px;background-color:#4F81BD;color:white" %)**Comments** 252 -|(% style="width:127px" %)[[Node-Red>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.5A0Node-RedA028viaA0MQTT29]]|(% style="width:385px" %)[[image:image-20230819113244-8.png||height="183" width="367"]]|(% style="width:170px" %) 253 -|(% style="width:127px" %)[[DataCake>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.4Datacake]]|(% style="width:385px" %)[[image:image-20230819113244-9.png||height="120" width="369"]]|(% style="width:170px" %) 254 -|(% style="width:127px" %)[[Tago.IO>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.7A0Tago.ioA028viaA0MQTT29]]|(% style="width:385px" %) |(% style="width:170px" %) 255 -|(% style="width:127px" %)[[General UDP>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.1GeneralA0UDPA0Connection]]|(% style="width:385px" %)Raw Payload. Need Developer to design Dash Board|(% style="width:170px" %) 256 -|(% style="width:127px" %)[[General MQTT>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.2GeneralA0MQTTA0Connection]]|(% style="width:385px" %)Raw Payload. Need Developer to design Dash Board|(% style="width:170px" %) 257 -|(% style="width:127px" %)[[ThingSpeak>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.3A0ThingSpeakA028viaA0MQTT29]]|(% style="width:385px" %)[[image:image-20230819113244-10.png||height="82" width="291"]]|(% style="width:170px" %) 258 -|(% style="width:127px" %)[[ThingsBoard>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.6A0ThingsBoard.CloudA028viaA0MQTT29]]|(% style="width:385px" %)[[image:image-20230819113244-11.png||height="113" width="293"]]|(% style="width:170px" %) 259 -|(% style="width:127px" %) |(% style="width:385px" %) |(% style="width:170px" %) 260 260 252 +(% style="color:blue" %)**Add APP KEY** 261 261 262 - (% style="color:blue" %)**1D Version**(%%): This version has 1NCE SIM card pre-installed and configure to send value to DataCake. User Just need to select the sensor type in DataCake and Activate S31-NB and user will be able to see data in DataCake. See here for[[DataCake ConfigInstruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.4Datacake]].254 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-6.png?width=744&height=485&rev=1.1||alt="图片-20220611161308-6.png"]] 263 263 264 264 265 - ==2.2 PayloadTypes==257 +(% style="color:blue" %)**Step 2:**(%%) Activate on S31x-LB 266 266 267 267 268 - To meet differentserverrequirement,S31-NB supportsdifferentpayloadtype.260 +Press the button for 5 seconds to activate the S31x-LB. 269 269 270 - Includes:262 +(% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. 271 271 272 - * [[GeneralJSONformatpayload>>path:#General_Json]].(Type=5)264 +After join success, it will start to upload messages to TTN and you can see the messages in the panel. 273 273 274 -* [[HEX format Payload>>path:#HEX_Payload]]. (Type=0) 275 275 276 - *[[ThingSpeakFormat>>path:#ThingSpeak_Payload]].(Type=1)267 +== 2.3 Uplink Payload == 277 277 278 - *[[ThingsBoardFormat>>path:#ThingsBoard_Payload]].(Type=3)269 +=== 2.3.1 Device Status, FPORT~=5 === 279 279 280 -User can specify the payload type when choose the connection protocol. Example: 281 281 282 - (%style="color:#037691"%)**AT+PRO=2,0**(%%)~/~/UseUDPConnection&hexPayload272 +Users can use the downlink command(**0x26 01**) to ask S31x-LB to send device configure detail, include device configure status. S31x-LB will uplink a payload via FPort=5 to server. 283 283 284 - (%style="color:#037691"%)**AT+PRO=2,5** (%%) ~/~/ Use UDP Connection& JsonPayload274 +The Payload format is as below. 285 285 286 -(% style="color:#037691" %)**AT+PRO=3,5 ** (%%) ~/~/ Use MQTT Connection & Json Payload 287 287 277 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 278 +|(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)** 279 +|(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2** 280 +|(% style="width:103px" %)**Value**|(% style="width:72px" %)Sensor Model|Firmware Version|(% style="width:91px" %)Frequency Band|(% style="width:86px" %)Sub-band|(% style="width:44px" %)BAT 288 288 289 - === 2.2.1 GeneralJsonFormat (Type ===282 +Example parse in TTNv3 290 290 291 -5 )===284 +[[image:image-20230524144422-1.png||height="174" width="1080"]] 292 292 293 -This is the General Json Format. As below: 294 294 287 +(% style="color:#037691" %)**Sensor Model**(%%): For S31x-LB, this value is 0x0A 295 295 296 -(% style="color:# 4472c4" %)**{"IMEI":866207053462762,"temperature":29.2,"humidity":54.2,"battery":3.27,"signal":24,"Model":S31x-NB,"1":{28.2,48.3,2023/08/108:00:37},"2":{28.1,49.1,2023/08/1007:57:37},"3":{28.1,48.5,2023/08/1007:54:37},"4":{28.2,48.6,2023/08/10 07:51:37},"5":{28.1,48.9,2023/08/10 07:48:37},"6":{28.2,48.8,2023/08/1007:45:37},"7":{28.2,48.8,2023/08/10 07:42:37},"8":{28.0,48.8,2023/08/10 07:39:37}}**289 +(% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version 297 297 291 +(% style="color:#037691" %)**Frequency Band**: 298 298 293 +0x01: EU868 299 299 300 - (% style="color:red"%)Notice, from above payload:295 +0x02: US915 301 301 302 - *Temperature , Humidity , Battery & Signal are the value at uplink time.297 +0x03: IN865 303 303 304 - * Json entry 1 ~~ 8 are the last 1 ~~ 8 sampling data as specify by (% style="color:#037691"%)**AT+NOUD=8 ** (%%)Command. Each entry includes (from left to right): Temperature, Humidity, Sampling time.299 +0x04: AU915 305 305 301 +0x05: KZ865 306 306 303 +0x06: RU864 307 307 308 - ===2.2.2 HEX format Payload(Type ===305 +0x07: AS923 309 309 310 -0 )===307 +0x08: AS923-1 311 311 309 +0x09: AS923-2 312 312 313 - This is the HEX Format.As below:311 +0x0a: AS923-3 314 314 315 - (% style="color:#4472c4" %)**f86620705346276200640cba16010000000011011801e864d49c2d011a01e364d49925011901eb64d49871011901e564d497bd011a01e664d49709011901e964d49655011a01e864d495a1011a01e864d494ed011801e864d49439**313 +0x0b: CN470 316 316 315 +0x0c: EU433 317 317 318 - [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]]317 +0x0d: KR920 319 319 319 +0x0e: MA869 320 320 321 -(% style="color:blue" %)**Version:** 322 322 323 - Thesebytes include the hardwareandsoftware version.322 +(% style="color:#037691" %)**Sub-Band**: 324 324 325 - (% style="color:#037691"%)**Higherbyte:**(%%)SpecifySensor Model:0x00forS31B-NB & S31-NB324 +AU915 and US915:value 0x00 ~~ 0x08 326 326 327 - (% style="color:#037691" %)**Lower byte:**(%%)Specify the softwareversion:0x64=100,meansfirmware version 100326 +CN470: value 0x0B ~~ 0x0C 328 328 328 +Other Bands: Always 0x00 329 329 330 -(% style="color:#037691" %)**BAT (Battery Info):** 331 331 332 - Ex1:0x0CBA= 3258mV331 +(% style="color:#037691" %)**Battery Info**: 333 333 333 +Check the battery voltage. 334 334 335 - (% style="color:blue"%)**SignalStrength:**335 +Ex1: 0x0B45 = 2885mV 336 336 337 - NB-IoTNetworksignal Strength.337 +Ex2: 0x0B49 = 2889mV 338 338 339 -**Ex1: 0x16 = 22** 340 340 341 - **0**-113dBmorless340 +=== 2.3.2 Sensor Data. FPORT~=2 === 342 342 343 -**1** -111dBm 344 344 345 - **2...30**-109dBm...-53dBm343 +Sensor Data is uplink via FPORT=2 346 346 347 -**31** -51dBm or greater 345 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %) 346 +|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)((( 347 +**Size(bytes)** 348 +)))|=(% style="width: 40px;background-color:#D9E2F3;color:#0070C0" %)2|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)4|=(% style="width: 150px; background-color: #D9E2F3;color:#0070C0" %)1|=(% style="width: 80px; background-color: #D9E2F3;color:#0070C0" %)**2**|=(% style="width: 80px; background-color: #D9E2F3;color:#0070C0" %)2 349 +|(% style="width:99px" %)Value|(% style="width:69px" %)((( 350 +Battery 351 +)))|(% style="width:130px" %)((( 352 +Unix TimeStamp 353 +)))|(% style="width:194px" %)((( 354 +Alarm Flag & MOD& Level of PA8 355 +)))|(% style="width:106px" %)((( 356 +Temperature 357 +)))|(% style="width:97px" %)((( 358 +Humidity 359 +))) 348 348 349 - **99** Not known or not detectable361 +[[image:image-20230524144456-2.png||height="180" width="1142"]] 350 350 351 351 352 -(% style="color: blue" %)**Temperature:**364 +==== (% style="color:#4472c4" %)**Battery**(%%) ==== 353 353 366 +Sensor Battery Level. 367 + 368 +Ex1: 0x0B45 = 2885mV 369 + 370 +Ex2: 0x0B49 = 2889mV 371 + 372 + 373 +==== (% style="color:#4472c4" %)**Temperature**(%%) ==== 374 + 375 +**Example**: 376 + 354 354 If payload is: 0105H: (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree 355 355 356 356 If payload is: FF3FH : (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees. 357 357 358 - (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)381 +(FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative) 359 359 360 360 384 +==== (% style="color:#4472c4" %)**Humidity**(%%) ==== 361 361 362 -(% style="color:blue" %)**Humidity: ** 363 363 364 -Read:0 295(H)=661(D)Value:661 / 10=66.1, So66.1%387 +Read:0x(0197)=412 Value: 412 / 10=41.2, So 41.2% 365 365 366 366 367 -(% style="color: blue" %)**TimeStamp:**390 +==== (% style="color:#4472c4" %)**Alarm Flag & MOD & Level of PA8**(%%) ==== 368 368 369 -Unit TimeStamp Example: 64d49439(H) = 1691653177(D) 370 370 371 - Put the decimalvalueinto this link(https:~/~/www.epochconverter.com/) to get the time.393 +**Example:** 372 372 395 +If payload & 0x01 = 0x01 **~-~->** This is an Alarm Message.It means that the temperature and humidity exceed the alarm value or trigger an interrupt. 373 373 374 -= ==2.2.3ThingsBoardPayload(Type===397 +If payload & 0x01 = 0x00 **~-~->** This is a normal uplink message, no alarm. 375 375 376 - 3)===399 +If payload & 0x80>>7 = 0x01 **~-~->** The PA8 is low level. 377 377 378 - Type3payloadspecialdesignforThingsBoard,itwill alsoconfigure otherdefault server to ThingsBoard.401 +If payload & 0x80>>7 =0x00 **~-~->** The PA8 is high level. 379 379 403 +If payload >> 2 = 0x00 **~-~->** means MOD=1, This is a sampling uplink message. 380 380 381 - (%style="color:#4472c4"%)**{"IMEI":866207053462762,"temperature":29.2,"humidity":54.2,"battery":3.27,"signal":24}**405 +If payload >> 2 = 0x31 **~-~->** means MOD=31, this message is a reply message for polling, this message contains the alarm settings. see [[this link>>path:#HPolltheAlarmsettings:]] for detail. 382 382 383 383 384 -== =2.2.4ThingSpeakPayload(Type ===408 +== 2.4 Payload Decoder file == 385 385 386 -1) === 387 387 388 -T hispayloadmeetsThingSpeak platformrequirement.It includesnlyfourfields.Form 1~~4 are:411 +In TTN, use can add a custom payload so it shows friendly reading 389 389 390 - Temperature,Humidity,Battery& Signal. Thispayload typeonlyvalidforThingsSpeakPlatform413 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from: 391 391 415 +[[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/S31-LB%26S31B-LB>>https://github.com/dragino/dragino-end-node-decoder/tree/main/S31-LB%26S31B-LB]] 392 392 393 -As below: 394 394 395 - (%style="color:#4472c4"%)**field1=27.9&field2=49.9&field3=3.23&field4=28**418 +== 2.5 Datalog Feature == 396 396 397 397 398 - ==2.3TestUplinkandChangeUpdateInterval==421 +Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, S31x-LB will store the reading for future retrieving purposes. 399 399 400 400 401 - Bydefault,Sensorwill senduplinks (% style="color:blue"%)**every2 hours**(%%) &AT+NOUD=8424 +=== 2.5.1 Ways to get datalog via LoRaWAN === 402 402 403 403 404 - Usercan usebelowcommands tochange the(%style="color:blue"%)**uplinkinterval**.427 +Set [[PNACKMD=1>>||anchor="H2.5.4DatalogUplinkpayload28FPORT3D329"]], S31x-LB will wait for ACK for every uplink, when there is no LoRaWAN network,S31x-LB will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery. 405 405 406 -(% style="color:#037691" %)** AT+TDC=600 ** (%%) ~/~/ Set Update Interval to 600s 429 +* ((( 430 +a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server. 431 +))) 432 +* ((( 433 +b) S31x-LB will send data in **CONFIRMED Mode** when PNACKMD=1, but S31x-LB won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if S31x-LB gets a ACK, S31x-LB will consider there is a network connection and resend all NONE-ACK messages. 434 +))) 407 407 436 +Below is the typical case for the auto-update datalog feature (Set PNACKMD=1) 408 408 409 -User canushthebuttonformore than1 secondsto activateuplink.438 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220703111700-2.png?width=1119&height=381&rev=1.1||alt="图片-20220703111700-2.png" height="381" width="1119"]] 410 410 411 411 441 +=== 2.5.2 Unix TimeStamp === 412 412 413 413 414 - ==2.4 Multi-SamplingsandOneuplink ==444 +S31x-LB uses Unix TimeStamp format based on 415 415 446 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-11.png?width=627&height=97&rev=1.1||alt="图片-20220523001219-11.png" height="97" width="627"]] 416 416 417 - Tosavebatterylife, S31-NB will sampletemperature&humiditydata every 15 minutesand sendoneuplink every 2 hours.Soeachuplink it will include 8 stored data + 1real-timedata.They are defined by:448 +User can get this time from link: [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] : 418 418 419 - * (% style="color:#037691"%)**AT+TR=900** (%%) ~/~/ The unit isseconds, andthedefault is to record data once every 900 seconds (15 minutes,theminimum can beset to 180 seconds)450 +Below is the converter example 420 420 421 - * (% style="color:#037691"%)**AT+NOUD=8** (%%)~/~/Thedeviceploads 8 setsfrecorded datay default.Upo 32sets ofrecord data canbeuploaded.452 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-12.png?width=720&height=298&rev=1.1||alt="图片-20220523001219-12.png" height="298" width="720"]] 422 422 423 -The diagram below explains the relationship between TR, NOUD, and TDC more clearly: 424 424 425 - [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png||alt="IMG_256"]]455 +So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25 426 426 427 427 428 -== 2.5 HumidityandTemperaturealarm function==458 +=== 2.5.3 Set Device Time === 429 429 430 430 431 - Oneachsampling definebyAT+TR(default 900sor 15minutes),whenthe valueexceedthe range,it will triggeranAlarmand immediately sends a uplink.461 +User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command. 432 432 463 +Once S31x-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to S31x-LB. If S31x-LB fails to get the time from the server, S31x-LB will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days). 433 433 434 -(% style="color: blue" %)**ATCommands:**465 +(% style="color:red" %)**Note: LoRaWAN Server need to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature, Chirpstack,TTN V3 v3 and loriot support but TTN V3 v2 doesn't support. If server doesn't support this command, it will through away uplink packet with this command, so user will lose the packet with time request for TTN V3 v2 if SYNCMOD=1.** 435 435 436 -(% style="color:#037691" %)**AT+ SHHUM=min,max** 437 437 438 - Example: AT+ SHHUM=50,80~/~/ Alarm when humiditylowerthan50or higher than80.468 +=== 2.5.4 Datalog Uplink payload (FPORT~=3) === 439 439 440 440 441 - (%style="color:#037691"%)**AT+ SHTEMP=min,max**471 +The Datalog uplinks will use below payload format. 442 442 443 - Example: AT+ SHTEMP=20,30 ~/~/ Alarm whentemperatureowerthan20or higher than 30473 +**Retrieval data payload:** 444 444 475 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %) 476 +|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)((( 477 +**Size(bytes)** 478 +)))|=(% style="width: 40px; background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 55px; background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 65px; background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 180px; background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 100px; background-color:#D9E2F3;color:#0070C0" %)**4** 479 +|(% style="width:103px" %)Value|(% style="width:68px" %)((( 480 +ignore 481 +)))|(% style="width:104px" %)((( 482 +((( 483 +Humidity 484 +))) 445 445 446 -(% style="color:red" %)**Notice:** 486 +((( 487 + 488 +))) 489 +)))|(% style="width:87px" %)((( 490 +Temperature 491 +)))|(% style="width:178px" %)((( 492 +Poll message flag & Alarm Flag& Level of PA8 493 +)))|(% style="width:137px" %)Unix Time Stamp 447 447 448 -* TodisableAlarm,usercan setminandmaxto samealue, such as (% style="color:#037691"%)**AT+SHTEMP=0,0.**495 +**Poll message flag & Alarm Flag & Level of PA8:** 449 449 450 - * If user only want to send only min ormax, user canset thealarm to a value thatdevicewon’treach. For example: (% style="color:#037691"%)**AT+SHTEMP=-80,0.**497 +[[image:image-20230524114302-1.png||height="115" width="736"]] 451 451 452 452 500 +**No ACK Message**: 1: This message means this payload is fromn Uplink Message which doesn't get ACK from the server before ( for **PNACKMD=1** feature) 453 453 502 +**Poll Message Flag**: 1: This message is a poll message reply. 454 454 504 +* Poll Message Flag is set to 1. 455 455 456 - ==2.6Trggieranuplinkby externalinterrupt==506 +* Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands. 457 457 508 +For example, in US915 band, the max payload for different DR is: 458 458 459 - S31-NB hasan externaltriggerinterruptfunction. Userscan usethePB15 pino triggerthe upload of datapackets.510 +**a) DR0:** max is 11 bytes so one entry of data 460 460 461 - (%style="color:blue"%)**ATcommand:**512 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes) 462 462 463 -* (% style="color:#037691" %)**AT+INTMOD**(%%)~/~/Setthetriggerinterrupt mode514 +**c) DR2:** total payload includes 11 entries of data 464 464 465 -* (%style="color:#037691"%)**AT+INTMOD=0 **(%%) ~/~/DisableInterrupt516 +**d) DR3: **total payload includes 22 entries of data. 466 466 467 - *(%style="color:#037691"%)**AT+INTMOD=1**(%%)~/~/Triggerby risingandfallingedge518 +If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0 468 468 469 -* (% style="color:#037691" %)**AT+INTMOD=2 **(%%) ~/~/Trigger by falling edge520 +**Example:** 470 470 471 - *(%style="color:#037691"%)**AT+INTMOD=3**(%%) ~/~/Trigger by rising edge522 +If S31x-LB has below data inside Flash: 472 472 524 +[[image:image-20230524114654-2.png]] 473 473 474 474 527 +If user sends below downlink command: 31646D84E1646D856C05 475 475 476 - =3.ConfigureS31x-NB=529 +Where : Start time: 646D84E1 = time 23/5/24 03:30:41 477 477 478 - ==3.1ConfigureMethods==531 + Stop time: 646D856C= time 23/5/24 03:33:00 479 479 480 480 481 -S31x- NBsupports below configuremethod:534 +**S31x-LB will uplink this payload.** 482 482 483 - * AT Command via Bluetooth Connection (**Recommended**):[[BLE ConfigureInstruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].536 +[[image:image-20230524114826-3.png||height="448" width="1244"]] 484 484 485 -* AT Command via UART Connection : See [[UART Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]]. 538 +((( 539 +00 00 02 36 01 10 40 64 6D 84 E1 00 00 02 37 01 10 40 64 6D 84 F8 00 00 02 37 01 0F 40 64 6D 85 04 00 00 02 3A 01 0F 40 64 6D 85 18 00 00 02 3C 01 0F 40 64 6D 85 36 00 00 02 3D 01 0E 40 64 6D 85 3F 00 00 02 3F 01 0E 40 64 6D 85 60 00 00 02 40 01 0E 40 64 6D 85 6A 540 +))) 486 486 487 -* LoRaWAN Downlink. Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section. 542 +((( 543 +Where the first 11 bytes is for the first entry: 544 +))) 488 488 546 +((( 547 +00 00 02 36 01 10 40 64 6D 84 E1 548 +))) 489 489 550 +((( 551 +**Hum**=0x0236/10=56.6 552 +))) 490 490 554 +((( 555 +**Temp**=0x0110/10=27.2 556 +))) 491 491 558 +((( 559 +**poll message flag & Alarm Flag & Level of PA8**=0x40,means reply data,sampling uplink message,the PA8 is low level. 560 +))) 561 + 562 +((( 563 +**Unix time** is 0x646D84E1=1684899041s=23/5/24 03:30:41 564 +))) 565 + 566 + 567 +(% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="单击并拖动以调整大小" %)的(% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="单击并拖动以调整大小" %)的 568 + 569 +== 2.6 Temperature Alarm Feature == 570 + 571 + 572 +S31x-LB work flow with Alarm feature. 573 + 574 + 575 +[[image:image-20230524110125-3.png||height="768" width="1115"]] 576 + 577 + 578 + 579 +== 2.7 Frequency Plans == 580 + 581 + 582 +The S31x-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets. 583 + 584 +[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]] 585 + 586 + 587 +== 2.8 Firmware Change Log == 588 + 589 + 590 +**Firmware download link: **[[https:~~/~~/www.dropbox.com/sh/fis3g6nmhv0eokg/AAC6BcCZaX4BdqZkduUvZ3jIa?dl=0>>https://www.dropbox.com/sh/fis3g6nmhv0eokg/AAC6BcCZaX4BdqZkduUvZ3jIa?dl=0]] 591 + 592 + 593 += 3. Configure S31x-LB = 594 + 595 +== 3.1 Configure Methods == 596 + 597 + 598 +S31x-LB supports below configure method: 599 + 600 +* AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]. 601 +* AT Command via UART Connection : See [[UART Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]]. 602 +* LoRaWAN Downlink. Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section. 603 + 604 + 492 492 == 3.2 General Commands == 493 493 494 494 ... ... @@ -536,6 +536,7 @@ 536 536 * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 537 537 * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 538 538 652 + 539 539 === 3.3.2 Get Device Status === 540 540 541 541 ... ... @@ -619,6 +619,7 @@ 619 619 620 620 * Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message. 621 621 736 + 622 622 === 3.3.7 Set Interrupt Mode === 623 623 624 624 ... ... @@ -652,6 +652,7 @@ 652 652 * Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 653 653 * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 654 654 770 + 655 655 === 3.3.8 Set Power Output Duration === 656 656 657 657 ... ... @@ -680,6 +680,7 @@ 680 680 * Example 1: Downlink Payload: 070000 **~-~-->** AT+5VT=0 681 681 * Example 2: Downlink Payload: 0701F4 **~-~-->** AT+5VT=500 682 682 799 + 683 683 = 4. Battery & Power Consumption = 684 684 685 685 ... ... @@ -706,6 +706,7 @@ 706 706 * (Recommanded way) OTA firmware update via wireless : **[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]** 707 707 * Update through UART TTL interface : **[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**. 708 708 826 + 709 709 = 6. FAQ = 710 710 711 711 ... ... @@ -733,6 +733,7 @@ 733 733 734 734 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band 735 735 854 + 736 736 = 8. Packing Info = 737 737 738 738 ... ... @@ -750,6 +750,7 @@ 750 750 751 751 * Weight / pcs : g 752 752 872 + 753 753 = 9. Support = 754 754 755 755 ... ... @@ -756,6 +756,3 @@ 756 756 * Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule. 757 757 758 758 * Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[Support@dragino.cc>>mailto:Support@dragino.cc]]. 759 - 760 - 761 -(% style="display:none" %) (%%)
- 1692415924540-357.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -94.4 KB - Content
- image-20230819110632-6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -224.4 KB - Content
- image-20230819110702-7.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -53.2 KB - Content
- image-20230819113244-10.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -12.0 KB - Content
- image-20230819113244-11.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -57.5 KB - Content
- image-20230819113244-8.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -13.0 KB - Content
- image-20230819113244-9.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -35.5 KB - Content