<
From version < 123.1 >
edited by Mengting Qiu
on 2024/09/03 10:26
To version < 129.1 >
edited by Xiaoling
on 2024/09/14 10:49
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.ting
1 +XWiki.Xiaoling
Content
... ... @@ -187,16 +187,20 @@
187 187  
188 188  The NB-IoT Sensor can send packet to server use UDP protocol.
189 189  
190 +
190 190  === 3.1.1 Simulate UDP Connection by PC tool ===
191 191  
193 +
192 192  We can use PC tool to simulate UDP connection to make sure server works ok.
193 193  
194 -[[image:image-20230802112413-1.png||height="468" width="1024"]]
196 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/WebHome/image-20230802112413-1.png?width=1024&height=468&rev=1.1||alt="image-20230802112413-1.png"]]
195 195  
198 +
196 196  === 3.1.2 Configure NB-IoT Sensor ===
197 197  
198 198  ==== 3.1.2.1 AT Commands ====
199 199  
203 +
200 200  (% style="color:blue" %)**AT Commands:**
201 201  
202 202  * (% style="color:#037691" %)**AT+PRO=2,0**  (%%) ~/~/ Set to use UDP protocol to uplink ,Payload Type select Hex payload
... ... @@ -205,12 +205,16 @@
205 205  
206 206  [[image:image-20240819102802-1.png]]
207 207  
212 +
208 208  ==== 3.1.2.2 Uplink Example ====
209 209  
210 -[[image:image-20240819105418-8.png||height="671" width="1414"]]
211 211  
216 +[[image:image-20240819105418-8.png||height="611" width="1287"]]
217 +
218 +
212 212  == 3.2 General COAP Connection ==
213 213  
221 +
214 214  The NB-IoT Sensor can send packet to server use COAP protocol.
215 215  
216 216  Below are the commands.
... ... @@ -226,13 +226,16 @@
226 226  
227 227  [[image:image-20240819103212-2.png]]
228 228  
237 +
229 229  === 3.2.1 Uplink Example ===
230 230  
240 +
231 231  [[image:image-20240819103909-4.png||height="453" width="955"]]
232 232  
233 233  
234 234  == 3.2 General MQTT Connection ==
235 235  
246 +
236 236  The NB-IoT Sensor can send packet to server use MQTT protocol.
237 237  
238 238  Below are the commands.
... ... @@ -260,10 +260,12 @@
260 260  
261 261  (% style="color:red" %)**Notice: MQTT protocol has a much higher power consumption compare with UDP/CoAP protocol. Please check the power analyze document and adjust the uplink period to a suitable interval.**
262 262  
274 +
263 263  == 3.3 [[ThingSpeak>>url:https://thingspeak.com/]] (via MQTT) ==
264 264  
265 265  === 3.3.1 Get MQTT Credentials ===
266 266  
279 +
267 267  [[ThingSpeak>>url:https://thingspeak.com/]] connection uses MQTT Connection. So we need to get MQTT Credentials first. You need to point MQTT Devices to ThingSpeak Channel as well.
268 268  
269 269  [[image:image-20240819173602-1.png||height="401" width="743"]]
... ... @@ -270,10 +270,12 @@
270 270  
271 271  [[image:image-20240819173706-3.png||height="595" width="597"]]
272 272  
286 +
273 273  === 3.3.2 Simulate with MQTT.fx ===
274 274  
275 275  ==== 3.3.2.1 Establish MQTT Connection ====
276 276  
291 +
277 277  After we got MQTT Credentials, we can first simulate with PC tool MQTT.fx tool to see if the Credentials and settings are fine.
278 278  
279 279  [[image:image-20240819173826-4.png||height="534" width="734"]]
... ... @@ -288,8 +288,11 @@
288 288  
289 289  * (% style="color:#037691" %)**Password:**(%%) <Your ThingSpeak MQTT Password>
290 290  
306 +
307 +
291 291  ==== 3.3.2.2 Publish Data to ThingSpeak Channel ====
292 292  
310 +
293 293  [[image:image-20240819174033-5.png]]
294 294  
295 295  [[image:image-20240819174209-6.png]]
... ... @@ -306,10 +306,12 @@
306 306  
307 307  [[image:image-20240819174314-7.png||height="469" width="785"]]
308 308  
327 +
309 309  === 3.3.3 Configure NB-IoT Sensor for connection ===
310 310  
311 311  ==== 3.3.3.1 AT Commands: ====
312 312  
332 +
313 313  In the NB-IoT, we can run below commands so to publish the channels like MQTT.fx
314 314  
315 315  * (% style="color:blue" %)**AT+PRO=3,1** (%%) ~/~/ Set to use ThingSpeak Server and Related Payload
... ... @@ -324,8 +324,11 @@
324 324  
325 325  * (% style="color:blue" %)**AT+SUBTOPIC=<YOUR_CHANNEL_ID>**
326 326  
347 +
348 +
327 327  ==== 3.3.3.2 Uplink Examples ====
328 328  
351 +
329 329  [[image:image-20240819174540-8.png]]
330 330  
331 331  For SE01-NB
... ... @@ -350,8 +350,10 @@
350 350  
351 351  For SN50V3-NB
352 352  
376 +
353 353  ==== 3.3.3.3 Map fields to sensor value ====
354 354  
379 +
355 355  When NB-IoT sensor upload to ThingSpeak. The payload already specify which fileds related to which sensor value. Use need to create fileds in Channels Settings. with name so to see the value correctly.
356 356  
357 357  [[image:image-20240819174610-9.png]]
... ... @@ -360,25 +360,25 @@
360 360  
361 361  Below is the NB-IoT Product Table show the mapping.
362 362  
363 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1424px" %)
364 -|(% style="background-color:#4f81bd; width:143px" %) |(% style="background-color:#4f81bd; color:white; width:103px" %)Field1|(% style="background-color:#4f81bd; color:white; width:102px" %)Field2|(% style="background-color:#4f81bd; color:white; width:157px" %)Field3|(% style="background-color:#4f81bd; color:white; width:154px" %)Field4|(% style="background-color:#4f81bd; color:white; width:153px" %)Field5|(% style="background-color:#4f81bd; color:white; width:151px" %)Field6|(% style="background-color:#4f81bd; color:white; width:160px" %)Field7|(% style="background-color:#4f81bd; color:white; width:152px" %)Field8|(% style="background-color:#4f81bd; color:white; width:67px" %)Field9|(% style="background-color:#4f81bd; color:white; width:69px" %)Field10
365 -|(% style="background-color:#4f81bd; color:white; width:143px" %)S31x-NB|(% style="width:103px" %)Temperature |(% style="width:102px" %)Humidity|(% style="width:157px" %)Battery|(% style="width:154px" %)RSSI|(% style="width:153px" %) |(% style="width:151px" %) |(% style="width:160px" %) |(% style="width:152px" %) |(% style="width:67px" %) |(% style="width:69px" %)
366 -|(% style="background-color:#4f81bd; color:white; width:143px" %)SE01-NB|(% style="width:103px" %)Temperature |(% style="width:102px" %)Humidity|(% style="width:157px" %)conduct|(% style="width:154px" %)dielectric_constant|(% style="width:153px" %)Battery|(% style="width:151px" %)RSSI|(% style="width:160px" %) |(% style="width:152px" %) |(% style="width:67px" %) |(% style="width:69px" %)
367 -|(% style="background-color:#4f81bd; color:white; width:143px" %)DDS20-NB|(% style="width:103px" %)distance|(% style="width:102px" %)Battery|(% style="width:157px" %)RSSI|(% style="width:154px" %) |(% style="width:153px" %) |(% style="width:151px" %) |(% style="width:160px" %) |(% style="width:152px" %) |(% style="width:67px" %) |(% style="width:69px" %)
368 -|(% style="background-color:#4f81bd; color:white; width:143px" %)DDS45-NB|(% style="width:103px" %)distance|(% style="width:102px" %)Battery|(% style="width:157px" %)RSSI|(% style="width:154px" %) |(% style="width:153px" %) |(% style="width:151px" %) |(% style="width:160px" %) |(% style="width:152px" %) |(% style="width:67px" %) |(% style="width:69px" %)
369 -|(% style="background-color:#4f81bd; color:white; width:143px" %)DDS75-NB|(% style="width:103px" %)distance|(% style="width:102px" %)Battery|(% style="width:157px" %)RSSI|(% style="width:154px" %) |(% style="width:153px" %) |(% style="width:151px" %) |(% style="width:160px" %) |(% style="width:152px" %) |(% style="width:67px" %) |(% style="width:69px" %)
370 -|(% style="background-color:#4f81bd; color:white; width:143px" %)NMDS120-NB|(% style="width:103px" %)distance|(% style="width:102px" %)Battery|(% style="width:157px" %)RSSI|(% style="width:154px" %) |(% style="width:153px" %) |(% style="width:151px" %) |(% style="width:160px" %) |(% style="width:152px" %) |(% style="width:67px" %) |(% style="width:69px" %)
371 -|(% rowspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SPH01-NB|(% style="width:103px" %)ph|(% style="width:102px" %)Temperature|(% style="width:157px" %)Battery|(% style="width:154px" %)RSSI|(% style="width:153px" %) |(% style="width:151px" %) |(% style="width:160px" %) |(% style="width:152px" %) |(% style="width:67px" %) |(% colspan="1" rowspan="1" style="width:69px" %)
372 -|(% style="background-color:#4f81bd; color:white; width:143px" %)NLM01-NB|(% style="width:103px" %)Humidity|(% style="width:102px" %)Temperature|(% style="width:157px" %)Battery|(% style="width:154px" %)RSSI|(% style="width:153px" %) |(% style="width:151px" %) |(% style="width:160px" %) |(% style="width:152px" %) |(% style="width:67px" %) |(% style="width:69px" %)
373 -|(% style="background-color:#4f81bd; color:white; width:143px" %)NMDS200-NB|(% style="width:103px" %)distance1|(% style="width:102px" %)distance2|(% style="width:157px" %)Battery|(% style="width:154px" %)RSSI|(% style="width:153px" %) |(% style="width:151px" %) |(% style="width:160px" %) |(% style="width:152px" %) |(% style="width:67px" %) |(% style="width:69px" %)
374 -|(% style="background-color:#4f81bd; color:white; width:143px" %)CPN01-NB|(% style="width:103px" %)alarm|(% style="width:102px" %)count|(% style="width:157px" %)door open duration|(% style="width:154px" %)calc flag|(% style="width:153px" %)Battery|(% style="width:151px" %)RSSI|(% style="width:160px" %) |(% style="width:152px" %) |(% style="width:67px" %) |(% style="width:69px" %)
375 -|(% colspan="1" rowspan="1" style="background-color:#4f81bd; color:white; width:143px" %)DS03A-NB|(% colspan="1" rowspan="1" style="width:103px" %)level|(% colspan="1" rowspan="1" style="width:102px" %)alarm|(% colspan="1" rowspan="1" style="width:157px" %)pb14door open num|(% colspan="1" rowspan="1" style="width:154px" %)pb14 last open time|(% colspan="1" rowspan="1" style="width:153px" %)pb15 level status|(% colspan="1" rowspan="1" style="width:151px" %)pb15 alarm status|(% colspan="1" rowspan="1" style="width:160px" %)pb15 door open num|(% colspan="1" rowspan="1" style="width:152px" %)pb15 last open time|(% colspan="1" rowspan="1" style="width:67px" %)Battery|(% colspan="1" rowspan="1" style="width:69px" %)RSSI
376 -|(% colspan="1" rowspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod1|(% colspan="1" rowspan="1" style="width:103px" %)mod|(% colspan="1" rowspan="1" style="width:102px" %)Battery|(% colspan="1" rowspan="1" style="width:157px" %)RSSI|(% colspan="1" rowspan="1" style="width:154px" %)DS18B20 Temp|(% colspan="1" rowspan="1" style="width:153px" %)exit_state/input PA4|(% colspan="1" rowspan="1" style="width:151px" %)adc0|(% colspan="1" rowspan="1" style="width:160px" %)Temperature |(% colspan="1" rowspan="1" style="width:152px" %)Humidity|(% colspan="1" rowspan="1" style="width:67px" %) |(% colspan="1" rowspan="1" style="width:69px" %)
377 -|(% colspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod2|(% colspan="1" style="width:103px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:157px" %)RSSI|(% colspan="1" style="width:154px" %)DS18B20 Temp|(% colspan="1" style="width:153px" %)exit_state/input PA4|(% colspan="1" style="width:151px" %)adc0|(% colspan="1" style="width:160px" %)distance|(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:67px" %) |(% colspan="1" style="width:69px" %)
378 -|(% colspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod3|(% colspan="1" style="width:103px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:157px" %)RSSI|(% colspan="1" style="width:154px" %)adc0|(% colspan="1" style="width:153px" %)exit_state/input PA4|(% colspan="1" style="width:151px" %)adc1|(% colspan="1" style="width:160px" %)Temperature|(% colspan="1" style="width:152px" %)Humidity|(% colspan="1" style="width:67px" %)adc4|(% colspan="1" style="width:69px" %)
379 -|(% colspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod4|(% colspan="1" style="width:103px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:157px" %)RSSI|(% colspan="1" style="width:154px" %)DS18B20 Temp|(% colspan="1" style="width:153px" %)adc0|(% colspan="1" style="width:151px" %)exit_state/input PA4|(% colspan="1" style="width:160px" %)DS18B20 Temp2|(% colspan="1" style="width:152px" %)DS18B20 Temp3|(% colspan="1" style="width:67px" %) |(% colspan="1" style="width:69px" %)
380 -|(% colspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod5|(% colspan="1" style="width:103px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:157px" %)RSSI|(% colspan="1" style="width:154px" %)DS18B20 Temp|(% colspan="1" style="width:153px" %)adc0|(% colspan="1" style="width:151px" %)exit_state/input PA4|(% colspan="1" style="width:160px" %)Weight|(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:67px" %) |(% colspan="1" style="width:69px" %)
381 -|(% colspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod6|(% colspan="1" style="width:103px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:157px" %)RSSI|(% colspan="1" style="width:154px" %)count|(% colspan="1" style="width:153px" %) |(% colspan="1" style="width:151px" %) |(% colspan="1" style="width:160px" %) |(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:67px" %) |(% colspan="1" style="width:69px" %)
388 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1353.82px" %)
389 +|(% style="background-color:#4f81bd; width:143px" %) |(% style="background-color:#4f81bd; color:white; width:103px" %)Field1|(% style="background-color:#4f81bd; color:white; width:102px" %)Field2|(% style="background-color:#4f81bd; color:white; width:157px" %)Field3|(% style="background-color:#4f81bd; color:white; width:139px" %)Field4|(% style="background-color:#4f81bd; color:white; width:141px" %)Field5|(% style="background-color:#4f81bd; color:white; width:142px" %)Field6|(% style="background-color:#4f81bd; color:white; width:151px" %)Field7|(% style="background-color:#4f81bd; color:white; width:137px" %)Field8|(% style="background-color:#4f81bd; color:white; width:69px" %)Field9|(% style="background-color:#4f81bd; color:white; width:65px" %)Field10
390 +|(% style="background-color:#4f81bd; color:white; width:143px" %)S31x-NB|(% style="width:103px" %)Temperature |(% style="width:102px" %)Humidity|(% style="width:157px" %)Battery|(% style="width:139px" %)RSSI|(% style="width:141px" %) |(% style="width:142px" %) |(% style="width:151px" %) |(% style="width:137px" %) |(% style="width:69px" %) |(% style="width:65px" %)
391 +|(% style="background-color:#4f81bd; color:white; width:143px" %)SE01-NB|(% style="width:103px" %)Temperature |(% style="width:102px" %)Humidity|(% style="width:157px" %)conduct|(% style="width:139px" %)dielectric_constant|(% style="width:141px" %)Battery|(% style="width:142px" %)RSSI|(% style="width:151px" %) |(% style="width:137px" %) |(% style="width:69px" %) |(% style="width:65px" %)
392 +|(% style="background-color:#4f81bd; color:white; width:143px" %)DDS20-NB|(% style="width:103px" %)distance|(% style="width:102px" %)Battery|(% style="width:157px" %)RSSI|(% style="width:139px" %) |(% style="width:141px" %) |(% style="width:142px" %) |(% style="width:151px" %) |(% style="width:137px" %) |(% style="width:69px" %) |(% style="width:65px" %)
393 +|(% style="background-color:#4f81bd; color:white; width:143px" %)DDS45-NB|(% style="width:103px" %)distance|(% style="width:102px" %)Battery|(% style="width:157px" %)RSSI|(% style="width:139px" %) |(% style="width:141px" %) |(% style="width:142px" %) |(% style="width:151px" %) |(% style="width:137px" %) |(% style="width:69px" %) |(% style="width:65px" %)
394 +|(% style="background-color:#4f81bd; color:white; width:143px" %)DDS75-NB|(% style="width:103px" %)distance|(% style="width:102px" %)Battery|(% style="width:157px" %)RSSI|(% style="width:139px" %) |(% style="width:141px" %) |(% style="width:142px" %) |(% style="width:151px" %) |(% style="width:137px" %) |(% style="width:69px" %) |(% style="width:65px" %)
395 +|(% style="background-color:#4f81bd; color:white; width:143px" %)NMDS120-NB|(% style="width:103px" %)distance|(% style="width:102px" %)Battery|(% style="width:157px" %)RSSI|(% style="width:139px" %) |(% style="width:141px" %) |(% style="width:142px" %) |(% style="width:151px" %) |(% style="width:137px" %) |(% style="width:69px" %) |(% style="width:65px" %)
396 +|(% rowspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SPH01-NB|(% style="width:103px" %)ph|(% style="width:102px" %)Temperature|(% style="width:157px" %)Battery|(% style="width:139px" %)RSSI|(% style="width:141px" %) |(% style="width:142px" %) |(% style="width:151px" %) |(% style="width:137px" %) |(% style="width:69px" %) |(% colspan="1" rowspan="1" style="width:65px" %)
397 +|(% style="background-color:#4f81bd; color:white; width:143px" %)NLM01-NB|(% style="width:103px" %)Humidity|(% style="width:102px" %)Temperature|(% style="width:157px" %)Battery|(% style="width:139px" %)RSSI|(% style="width:141px" %) |(% style="width:142px" %) |(% style="width:151px" %) |(% style="width:137px" %) |(% style="width:69px" %) |(% style="width:65px" %)
398 +|(% style="background-color:#4f81bd; color:white; width:143px" %)NMDS200-NB|(% style="width:103px" %)distance1|(% style="width:102px" %)distance2|(% style="width:157px" %)Battery|(% style="width:139px" %)RSSI|(% style="width:141px" %) |(% style="width:142px" %) |(% style="width:151px" %) |(% style="width:137px" %) |(% style="width:69px" %) |(% style="width:65px" %)
399 +|(% style="background-color:#4f81bd; color:white; width:143px" %)CPN01-NB|(% style="width:103px" %)alarm|(% style="width:102px" %)count|(% style="width:157px" %)door open duration|(% style="width:139px" %)calc flag|(% style="width:141px" %)Battery|(% style="width:142px" %)RSSI|(% style="width:151px" %) |(% style="width:137px" %) |(% style="width:69px" %) |(% style="width:65px" %)
400 +|(% colspan="1" rowspan="1" style="background-color:#4f81bd; color:white; width:143px" %)DS03A-NB|(% colspan="1" rowspan="1" style="width:103px" %)level|(% colspan="1" rowspan="1" style="width:102px" %)alarm|(% colspan="1" rowspan="1" style="width:157px" %)pb14door open num|(% colspan="1" rowspan="1" style="width:139px" %)pb14 last open time|(% colspan="1" rowspan="1" style="width:141px" %)pb15 level status|(% colspan="1" rowspan="1" style="width:142px" %)pb15 alarm status|(% colspan="1" rowspan="1" style="width:151px" %)pb15 door open num|(% colspan="1" rowspan="1" style="width:137px" %)pb15 last open time|(% colspan="1" rowspan="1" style="width:69px" %)Battery|(% colspan="1" rowspan="1" style="width:65px" %)RSSI
401 +|(% colspan="1" rowspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod1|(% colspan="1" rowspan="1" style="width:103px" %)mod|(% colspan="1" rowspan="1" style="width:102px" %)Battery|(% colspan="1" rowspan="1" style="width:157px" %)RSSI|(% colspan="1" rowspan="1" style="width:139px" %)DS18B20 Temp|(% colspan="1" rowspan="1" style="width:141px" %)exit_state/input PA4|(% colspan="1" rowspan="1" style="width:142px" %)adc0|(% colspan="1" rowspan="1" style="width:151px" %)Temperature |(% colspan="1" rowspan="1" style="width:137px" %)Humidity|(% colspan="1" rowspan="1" style="width:69px" %) |(% colspan="1" rowspan="1" style="width:65px" %)
402 +|(% colspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod2|(% colspan="1" style="width:103px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:157px" %)RSSI|(% colspan="1" style="width:139px" %)DS18B20 Temp|(% colspan="1" style="width:141px" %)exit_state/input PA4|(% colspan="1" style="width:142px" %)adc0|(% colspan="1" style="width:151px" %)distance|(% colspan="1" style="width:137px" %) |(% colspan="1" style="width:69px" %) |(% colspan="1" style="width:65px" %)
403 +|(% colspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod3|(% colspan="1" style="width:103px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:157px" %)RSSI|(% colspan="1" style="width:139px" %)adc0|(% colspan="1" style="width:141px" %)exit_state/input PA4|(% colspan="1" style="width:142px" %)adc1|(% colspan="1" style="width:151px" %)Temperature|(% colspan="1" style="width:137px" %)Humidity|(% colspan="1" style="width:69px" %)adc4|(% colspan="1" style="width:65px" %)
404 +|(% colspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod4|(% colspan="1" style="width:103px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:157px" %)RSSI|(% colspan="1" style="width:139px" %)DS18B20 Temp|(% colspan="1" style="width:141px" %)adc0|(% colspan="1" style="width:142px" %)exit_state/input PA4|(% colspan="1" style="width:151px" %)DS18B20 Temp2|(% colspan="1" style="width:137px" %)DS18B20 Temp3|(% colspan="1" style="width:69px" %) |(% colspan="1" style="width:65px" %)
405 +|(% colspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod5|(% colspan="1" style="width:103px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:157px" %)RSSI|(% colspan="1" style="width:139px" %)DS18B20 Temp|(% colspan="1" style="width:141px" %)adc0|(% colspan="1" style="width:142px" %)exit_state/input PA4|(% colspan="1" style="width:151px" %)Weight|(% colspan="1" style="width:137px" %) |(% colspan="1" style="width:69px" %) |(% colspan="1" style="width:65px" %)
406 +|(% colspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod6|(% colspan="1" style="width:103px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:157px" %)RSSI|(% colspan="1" style="width:139px" %)count|(% colspan="1" style="width:141px" %) |(% colspan="1" style="width:142px" %) |(% colspan="1" style="width:151px" %) |(% colspan="1" style="width:137px" %) |(% colspan="1" style="width:69px" %) |(% colspan="1" style="width:65px" %)
382 382  
383 383  == 3.4 [[Datacake>>https://datacake.co/]] ==
384 384  
... ... @@ -392,10 +392,13 @@
392 392  
393 393  * (% style="color:blue" %)**S31B-CB-GE**(%%): This verson doesn't have pre-configure Datacake connection. User need to enter the AT Commands to connect to Datacake. See below for instruction.
394 394  
420 +
421 +
395 395  === 3.4.1 For device Already has template ===
396 396  
397 397  ==== 3.4.1.1 Create Device ====
398 398  
426 +
399 399  (% style="color:blue" %)**Add Device**(%%) in DataCake.
400 400  
401 401  [[image:image-20240820110003-1.png]]
... ... @@ -414,10 +414,12 @@
414 414  
415 415  [[image:image-20240820110114-6.png]]
416 416  
445 +
417 417  === 3.4.2 For Device already registered in DataCake before shipped ===
418 418  
419 419  ==== 3.4.2.1 Scan QR Code to get the device info ====
420 420  
450 +
421 421  Users can use their phones or computers to scan QR codes to obtain device data information.
422 422  
423 423  [[image:image-20240820110129-7.png]]
... ... @@ -424,32 +424,40 @@
424 424  
425 425  [[image:image-20240820110218-9.png]]
426 426  
457 +
427 427  ==== 3.4.2.2 Claim Device to User Account ====
428 428  
429 429  By Default, the device is registered in Dragino's DataCake Account. User can Claim it to his account.
430 430  
462 +
431 431  === 3.4.3 Manual Add Decoder in DataCake ( don't use the template in DataCake) ===
432 432  
465 +
433 433  **Step1: Add a device**
434 434  
435 435  [[image:image-20240820110235-10.png]][[image:image-20240129170024-1.png||height="330" width="900"]]
436 436  
470 +
437 437  **Step2: Choose your device type,please select dragino NB-IOT device**
438 438  
439 439  [[image:image-20240820110247-11.png]]
440 440  
475 +
441 441  **Step3: Choose to create a new device**
442 442  
443 443  [[image:image-20240820111016-12.png]]
444 444  
480 +
445 445  **Step4: Fill in the device ID of your NB device**
446 446  
447 447  [[image:image-20240820111101-13.png]]
448 448  
485 +
449 449  **Step5: Please select your device plan according to your needs and complete the creation of the device**
450 450  
451 451  [[image:image-20240820111113-14.png]]
452 452  
490 +
453 453  **Step6: Please add the decoder at the payload decoder of the device configuration.**
454 454  
455 455  **Decoder location:**[[dragino-end-node-decoder/Datacake-Dragino_NB at main · dragino/dragino-end-node-decoder (github.com)>>url:https://github.com/dragino/dragino-end-node-decoder/tree/main/Datacake-Dragino_NB]]
... ... @@ -458,10 +458,12 @@
458 458  
459 459  [[image:image-20240820111248-16.png]]
460 460  
499 +
461 461  **Step7: Add the output of the decoder as a field**
462 462  
463 463  [[image:image-20240820111259-17.png]]
464 464  
504 +
465 465  **Step8: Customize the dashboard and use fields as parameters of the dashboard**
466 466  
467 467  [[image:image-20240820111312-18.png]]
... ... @@ -470,8 +470,10 @@
470 470  
471 471  [[image:image-20240820111333-20.png]]
472 472  
513 +
473 473  === 3.4.4 For device have not configured to connect to DataCake ===
474 474  
516 +
475 475  (% class="lead" %)
476 476  Use AT command for connecting to DataCake
477 477  
... ... @@ -479,10 +479,12 @@
479 479  
480 480  (% style="color:blue" %)**AT+SERVADDR=67.207.76.90,4445**
481 481  
524 +
482 482  == 3.5 Node-Red (via MQTT) ==
483 483  
484 484  === 3.5.1 Configure [[Node-Red>>http://wiki.dragino.com/xwiki/bin/view/Main/Node-RED/]] ===
485 485  
529 +
486 486  Take S31-NB UDP protocol as an example.
487 487  
488 488  Dragino provides input flow examples for the sensors.
... ... @@ -513,8 +513,10 @@
513 513  
514 514  [[image:image-20240820111448-26.png]]
515 515  
560 +
516 516  === 3.5.2 Simulate Connection ===
517 517  
563 +
518 518  We have completed the configuration of UDP. We can try sending packets to node red.
519 519  
520 520  [[image:image-20240820111504-27.png]]
... ... @@ -521,8 +521,10 @@
521 521  
522 522  [[image:image-20240820111515-28.png]]
523 523  
570 +
524 524  === 3.5.3 Configure NB-IoT Sensors ===
525 525  
573 +
526 526  * (% style="color:#037691" %)**AT+PRO=3,0 or 3,5 ** (%%) **~/~/ hex format or json format**
527 527  * (% style="color:#037691" %)**AT+SUBTOPIC=<device name>or User Defined**
528 528  * (% style="color:#037691" %)**AT+PUBTOPIC=<device name>or User Defined**
... ... @@ -530,6 +530,8 @@
530 530  * (% style="color:#037691" %)**AT+UNAME=<device name> or User Defined**
531 531  * (% style="color:#037691" %)**AT+PWD=“Your device token”**
532 532  
581 +
582 +
533 533  == 3.6 ThingsBoard.Cloud (via MQTT) ==
534 534  
535 535  === 3.6.1 Configure ThingsBoard ===
... ... @@ -536,12 +536,15 @@
536 536  
537 537  ==== 3.6.1.1 Create Device ====
538 538  
589 +
539 539  Create a New Device in [[ThingsBoard>>url:https://thingsboard.cloud/]]. Record Device Name which is used for MQTT connection.
540 540  
541 541  [[image:image-20240820112210-29.png]]
542 542  
594 +
543 543  ==== 3.6.1.2 Create Uplink & Downlink Converter ====
544 544  
597 +
545 545  (% style="color:blue" %)**Uplink Converter**
546 546  
547 547  The purpose of the decoder function is to parse the incoming data and metadata to a format that ThingsBoard can consume. deviceName and deviceType are required, while attributes and telemetry are optional. Attributes and telemetry are flat key-value objects. Nested objects are not supported.
... ... @@ -558,8 +558,10 @@
558 558  
559 559  (% style="color:red" %)**Note: Our device payload is already human readable data. Therefore, users do not need to write decoders. Simply create by default.**
560 560  
614 +
561 561  ==== 3.6.1.3 MQTT Integration Setup ====
562 562  
617 +
563 563  Go to the (% style="color:blue" %)**Integrations center**(%%) **->** (% style="color:blue" %)**Integrations page**(%%) and click **“(% style="color:blue" %)plus(%%)”** icon to add a new integration. Name it (% style="color:blue" %)**“MQTT Integration”**(%%), select type (% style="color:blue" %)**MQTT**;
564 564  
565 565  [[image:image-20240820112247-32.png]]
... ... @@ -578,6 +578,7 @@
578 578  
579 579  [[image:image-20240820112330-35.png]]
580 580  
636 +
581 581  === 3.6.2 Simulate with MQTT.fx ===
582 582  
583 583  [[image:image-20240820112340-36.png]]
... ... @@ -584,8 +584,10 @@
584 584  
585 585  [[image:image-20240820112351-37.png]]
586 586  
643 +
587 587  === 3.6.3 Configure NB-IoT Sensor ===
588 588  
646 +
589 589  (% style="color:blue" %)**AT Commands**
590 590  
591 591  * (% style="color:#037691" %)**AT+PRO=3,3  **(%%)** **~/~/ Use MQTT to connect to ThingsBoard. Payload Type set to 3.
... ... @@ -608,10 +608,12 @@
608 608  
609 609  [[image:image-20240820112426-40.png]]
610 610  
669 +
611 611  == 3.7 [[Tago.io>>url:https://admin.tago.io/]] (via MQTT) ==
612 612  
613 613  === 3.7.1 Create device & Get Credentials ===
614 614  
674 +
615 615  We use MQTT Connection to send data to [[Tago.io>>url:https://admin.tago.io/]]. We need to Create Device and Get MQTT Credentials first.
616 616  
617 617  [[image:image-20240820112516-41.png]]
... ... @@ -658,8 +658,11 @@
658 658  
659 659  * (% style="color:#037691" %)**AT+PWD=“Your device token”**
660 660  
721 +
722 +
661 661  === 3.7.2 Simulate with MQTT.fx ===
662 662  
725 +
663 663  [[image:image-20240820112552-44.png]]
664 664  
665 665  [[image:image-20240820112604-45.png]]
... ... @@ -670,14 +670,18 @@
670 670  
671 671  [[image:image-20240820112626-47.png]]
672 672  
736 +
673 673  === 3.7.3 tago data ===
674 674  
739 +
675 675  [[image:image-20240820112637-48.png]]
676 676  
677 677  [[image:image-20240820112647-49.png]]
678 678  
744 +
679 679  == 3.8 TCP Connection ==
680 680  
747 +
681 681  (% style="color:blue" %)**AT command:**
682 682  
683 683  * (% style="color:#037691" %)**AT+PRO=4,0   ** (%%) ~/~/ Set to use TCP protocol to uplink(HEX format)
... ... @@ -694,16 +694,18 @@
694 694  
695 695  [[image:image-20240820112716-51.png]]
696 696  
764 +
697 697  == 3.9 AWS Connection ==
698 698  
767 +
699 699  Users can refer to [[Dragino NB device connection to AWS platform instructions>>http://wiki.dragino.com/xwiki/bin/view/Dragino%20NB%20device%20connection%20to%20AWS%20platform%20instructions/#H1.LogintotheplatformandfindIoTcore]]
700 700  
701 -= =
702 702  
703 703  = 4. COAP/UDP/MQTT/TCP downlink =
704 704  
705 705  == 4.1 MQTT (via MQTT.fx) ==
706 706  
775 +
707 707  Configure MQTT connections properly and send downlink commands to configure nodes through the Publish function of MQTT.fx//.//
708 708  
709 709  **1.** Configure node MQTT connection (via MQTT.fx):
... ... @@ -726,10 +726,12 @@
726 726  
727 727  [[image:image-20240820112732-52.png]][[image:image-20240820112758-53.png]]
728 728  
798 +
729 729  **2. **When the node uplink packets, we can observe the data in MQTT.fx.
730 730  
731 731  [[image:image-20240820112813-54.png]]
732 732  
803 +
733 733  **3. **The downlink command can be successfully sent only when the downlink port is open.
734 734  
735 735   The downlink port is opened for about 3 seconds after uplink packets are sent.
... ... @@ -745,6 +745,7 @@
745 745  
746 746  == 4.2 UDP (via Thingseye) ==
747 747  
819 +
748 748  (% style="color:red" %)**Note:**(%%) The UDP service on the ThingsEye platform needs to be built by the user. (Description Link:[[UDP service building instructions>>http://www.ithingsboard.com/docs/user-guide/integrations/udp/]])
749 749  
750 750  After the node is successfully connected to the platform, you need to select the corresponding node (you can refer to the node's IMEI to find it)
... ... @@ -794,6 +794,7 @@
794 794  
795 795  == 5.1 What is the usage of Multi Sampling and One Uplink? ==
796 796  
869 +
797 797  The NB series has the feature for Multi Sampling and one uplink. See one of them
798 798  
799 799  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SN50v3-NB_BN-IoT_Sensor_Node_User_Manual/#H2.5Multi-SamplingsandOneuplink>>http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SN50v3-NB_BN-IoT_Sensor_Node_User_Manual/#H2.5Multi-SamplingsandOneuplink]]
... ... @@ -808,8 +808,11 @@
808 808  1*. **AT+TDC=7200** ~/~/ Uplink every 2 hours.
809 809  1*. this will mean each uplink will actually include the 6 uplink data (24 set data which cover 12 hours). So if device doesn't lost 6 continue data. There will not data lost.
810 810  
884 +
885 +
811 811  == 5.2 Why the uplink JSON format is not standard? ==
812 812  
888 +
813 813  The json format in uplink packet is not standard Json format. Below is the example. This is to make the payload as short as possible, due to NB-IoT transmit limition, a standard Json is not able to include 32 sets of sensors data with timestamp.
814 814  
815 815  The firmware version released after 2024, Mar will use change back to use Json format. Detail please check changelog.
... ... @@ -816,10 +816,12 @@
816 816  
817 817  [[image:image-20240820112848-57.png]]
818 818  
895 +
819 819  = 6. Trouble Shooting: =
820 820  
821 821  == 6.1 Checklist for debuging Network Connection issue. Signal Strenght:99 issue. ==
822 822  
900 +
823 823  There are many different providers provide NB-IoT service in the world. They might use different band, different APN & different operator configuration. Which makes connection to NB-IoT network is complicate.
824 824  
825 825  If end device successfully attached NB-IoT Network, User can normally see the signal strengh as below (between 0~~31)
... ... @@ -844,10 +844,12 @@
844 844  
845 845  == (% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a" %)6.2 Why sometime the AT Command is slow in reponse?(%%) ==
846 846  
925 +
847 847  When the MCU is communicating with the NB-IoT module, the MCU response of AT Command will become slower, it might takes several seconds to response.
848 848  
849 849  [[image:image-20240820113015-60.png]]
850 850  
930 +
851 851  == (% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a" %)6.3 What is the Downlink Command by the -CB device?(%%) ==
852 852  
853 853  (% data-sider-select-id="bb6e9353-0c3f-473c-938d-4b416c9a03e6" %)
... ... @@ -859,6 +859,7 @@
859 859  
860 860  {AT+TDC=300}
861 861  
942 +
862 862  (% data-sider-select-id="90b80f1a-e924-4c8a-afc5-4429e019a657" %)
863 863  === MQTT: ===
864 864  
... ... @@ -914,9 +914,9 @@
914 914  
915 915  (% style="color:blue" %)**AT Command: AT+GDNS**
916 916  
917 -**AT+GDNS=0**  ~/~/Default. Automatically resolves the domain name and uses the resolved IP to communicate.
998 +**AT+GDNS=0**  ~/~/ Default. Automatically resolves the domain name and uses the resolved IP to communicate.
918 918  
919 -**AT+GDNS=1    **~/~/Disabling Domain name resolution. Use the domain name directly to communicate.
1000 +**AT+GDNS=1    **~/~/ Disabling Domain name resolution. Use the domain name directly to communicate.
920 920  
921 921  (% style="color:red" %)**Note: For -CB products, with the exception of AT+PRO=2,5, all protocols and payload formats support direct domain communication.**
922 922  
... ... @@ -930,9 +930,12 @@
930 930  
931 931  Indoor GPS signal is very weak, **outdoor** positioning is generally recommended.
932 932  
933 -[[image:image-20240903100832-4.png||height="268" width="580"]]
1014 +[[image:image-20240903104250-9.png||height="275" width="614"]]
934 934  
935 935  
1017 +[[image:image-20240903104431-10.png||height="291" width="621"]]
1018 +
1019 +
936 936  === 6.5.1 GPS commands ===
937 937  
938 938  
... ... @@ -982,7 +982,7 @@
982 982  
983 983  Example: 24 hours:  24(D)=0x18(H)
984 984  
985 - Downlink Payload: **12 00 00 18   **~/~/ AT+GTDC=24
1069 +Downlink Payload: **12 00 00 18   **~/~/ AT+GTDC=24
986 986  
987 987  
988 988  === 6.5.2 GPS workflow ===
... ... @@ -1006,8 +1006,12 @@
1006 1006  === 6.5.3 GPS debugging methods ===
1007 1007  
1008 1008  
1009 -In summary, we can deduce the method of debugging GPS:
1093 +In summary, we can deduce the methods of debugging GPS:
1010 1010  
1095 +* **Check whether the GPS function is enabled.**
1096 +
1097 +[[image:image-20240903102327-5.png||height="271" width="529"]]
1098 +
1011 1011  * **Check whether the GPS antenna is loose**.
1012 1012  
1013 1013  If the GPS antenna is loose, the GPS signal is weak, and the positioning fails.
... ... @@ -1020,6 +1020,7 @@
1020 1020  
1021 1021  If the location fails, users can extend the location time.
1022 1022  
1111 +[[image:image-20240903102641-8.png||height="303" width="600"]]
1023 1023  
1024 1024  
1025 1025  
image-20240903102641-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +21.0 KB
Content
image-20240903104250-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +46.9 KB
Content
image-20240903104431-10.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +49.2 KB
Content
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0