<
From version < 127.1 >
edited by Mengting Qiu
on 2024/09/03 10:44
To version < 129.3 >
edited by Xiaoling
on 2024/09/14 10:54
>
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
... ... @@ -8,6 +8,7 @@
8 8  
9 9  = 1. The use of this guideline =
10 10  
11 +
11 11  This configure instruction is for Dragino NB-IoT models with -CB or -CS suffix, for example DDS75-CB. These models use the same NB-IoT Module **[[BG95-M2>>https://www.dropbox.com/sh/3ilyaswz4odgaru/AADR86cAgL9UGlmLuEH-UZgla?st=x1ry6v5j&dl=0]]** and has the same software structure. The have the same configure instruction to different IoT servers. Use can follow the instruction here to see how to configure to connect to those servers.
12 12  
13 13  
... ... @@ -15,6 +15,7 @@
15 15  
16 16  == 2.1 General Configure to attach network ==
17 17  
19 +
18 18  To attache end nodes to NB-IoT or LTE-M Network, You need to:
19 19  
20 20  1. Get a NB-IoT or LTE-M SIM card from Service Provider. (Not the same as the SIM card we use in mobile phone)
... ... @@ -26,7 +26,7 @@
26 26  [[image:image-20240602220856-1.png]]
27 27  
28 28  
29 -放一张如何插卡图片。
31 +[[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-20230808205045-1.png?width=438&height=293&rev=1.1||alt="image-20230808205045-1.png"]]
30 30  
31 31  
32 32  After doing above, the end nodes should be able to attach to NB-IoT network .
... ... @@ -187,16 +187,20 @@
187 187  
188 188  The NB-IoT Sensor can send packet to server use UDP protocol.
189 189  
192 +
190 190  === 3.1.1 Simulate UDP Connection by PC tool ===
191 191  
195 +
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"]]
198 +[[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  
200 +
196 196  === 3.1.2 Configure NB-IoT Sensor ===
197 197  
198 198  ==== 3.1.2.1 AT Commands ====
199 199  
205 +
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  
214 +
208 208  ==== 3.1.2.2 Uplink Example ====
209 209  
210 -[[image:image-20240819105418-8.png||height="671" width="1414"]]
211 211  
218 +[[image:image-20240819105418-8.png||height="611" width="1287"]]
219 +
220 +
212 212  == 3.2 General COAP Connection ==
213 213  
223 +
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  
239 +
229 229  === 3.2.1 Uplink Example ===
230 230  
242 +
231 231  [[image:image-20240819103909-4.png||height="453" width="955"]]
232 232  
233 233  
234 234  == 3.2 General MQTT Connection ==
235 235  
248 +
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  
276 +
263 263  == 3.3 [[ThingSpeak>>url:https://thingspeak.com/]] (via MQTT) ==
264 264  
265 265  === 3.3.1 Get MQTT Credentials ===
266 266  
281 +
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  
288 +
273 273  === 3.3.2 Simulate with MQTT.fx ===
274 274  
275 275  ==== 3.3.2.1 Establish MQTT Connection ====
276 276  
293 +
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,10 @@
288 288  
289 289  * (% style="color:#037691" %)**Password:**(%%) <Your ThingSpeak MQTT Password>
290 290  
308 +
291 291  ==== 3.3.2.2 Publish Data to ThingSpeak Channel ====
292 292  
311 +
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  
328 +
309 309  === 3.3.3 Configure NB-IoT Sensor for connection ===
310 310  
311 311  ==== 3.3.3.1 AT Commands: ====
312 312  
333 +
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,10 @@
324 324  
325 325  * (% style="color:blue" %)**AT+SUBTOPIC=<YOUR_CHANNEL_ID>**
326 326  
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,12 @@
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 +
395 395  === 3.4.1 For device Already has template ===
396 396  
397 397  ==== 3.4.1.1 Create Device ====
398 398  
425 +
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  
444 +
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  
449 +
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  
456 +
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  
461 +
431 431  === 3.4.3 Manual Add Decoder in DataCake ( don't use the template in DataCake) ===
432 432  
464 +
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  
469 +
437 437  **Step2: Choose your device type,please select dragino NB-IOT device**
438 438  
439 439  [[image:image-20240820110247-11.png]]
440 440  
474 +
441 441  **Step3: Choose to create a new device**
442 442  
443 443  [[image:image-20240820111016-12.png]]
444 444  
479 +
445 445  **Step4: Fill in the device ID of your NB device**
446 446  
447 447  [[image:image-20240820111101-13.png]]
448 448  
484 +
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  
489 +
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  
498 +
461 461  **Step7: Add the output of the decoder as a field**
462 462  
463 463  [[image:image-20240820111259-17.png]]
464 464  
503 +
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  
512 +
473 473  === 3.4.4 For device have not configured to connect to DataCake ===
474 474  
515 +
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  
523 +
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  
528 +
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  
559 +
516 516  === 3.5.2 Simulate Connection ===
517 517  
562 +
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  
569 +
524 524  === 3.5.3 Configure NB-IoT Sensors ===
525 525  
572 +
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,7 @@
530 530  * (% style="color:#037691" %)**AT+UNAME=<device name> or User Defined**
531 531  * (% style="color:#037691" %)**AT+PWD=“Your device token”**
532 532  
580 +
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  
587 +
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  
592 +
543 543  ==== 3.6.1.2 Create Uplink & Downlink Converter ====
544 544  
595 +
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  
612 +
561 561  ==== 3.6.1.3 MQTT Integration Setup ====
562 562  
615 +
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  
634 +
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  
641 +
587 587  === 3.6.3 Configure NB-IoT Sensor ===
588 588  
644 +
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  
667 +
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  
672 +
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,10 @@
658 658  
659 659  * (% style="color:#037691" %)**AT+PWD=“Your device token”**
660 660  
719 +
661 661  === 3.7.2 Simulate with MQTT.fx ===
662 662  
722 +
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  
733 +
673 673  === 3.7.3 tago data ===
674 674  
736 +
675 675  [[image:image-20240820112637-48.png]]
676 676  
677 677  [[image:image-20240820112647-49.png]]
678 678  
741 +
679 679  == 3.8 TCP Connection ==
680 680  
744 +
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  
761 +
697 697  == 3.9 AWS Connection ==
698 698  
764 +
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  
772 +
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  
795 +
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  
800 +
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  
816 +
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)
... ... @@ -774,26 +774,30 @@
774 774  
775 775  = 5. GPS positioning function =
776 776  
777 -=== 1. Turn on GPS function ===
846 +== 1. Turn on GPS function ==
778 778  
848 +
779 779  (% class="wikigeneratedid" %)
780 -AT+GPS=1 or 0  ~/~/GPS function on or off
850 +AT+GPS=1 or 0  ~/~/ GPS function on or off
781 781  
782 782  
783 -=== 2.Extend the time to turn on GNSS ===
853 +== 2. Extend the time to turn on GNSS ==
784 784  
785 -AT+GNSST=30  ~/~/GPS search for positioning information for 30 seconds
786 786  
856 +AT+GNSST=30  ~/~/ GPS search for positioning information for 30 seconds
787 787  
788 -=== 3.Get or set GPS positioning interval in units of hour ===
789 789  
790 -AT+GTDC=24  ~/~/The device will activate GPS positioning every 24 hours
859 +== 3. Get or set GPS positioning interval in units of hour ==
791 791  
792 792  
793 -= 5. FAQ =
862 +AT+GTDC=24  ~/~/ The device will activate GPS positioning every 24 hours
794 794  
795 -== 5.1 What is the usage of Multi Sampling and One Uplink? ==
796 796  
865 += 6. FAQ =
866 +
867 +== 6.1 What is the usage of Multi Sampling and One Uplink? ==
868 +
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,10 @@
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  
811 -== 5.2 Why the uplink JSON format is not standard? ==
812 812  
885 +== 6.2 Why the uplink JSON format is not standard? ==
886 +
887 +
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  
819 -= 6. Trouble Shooting: =
820 820  
821 -== 6.1 Checklist for debuging Network Connection issue. Signal Strenght:99 issue. ==
895 += 7. Trouble Shooting: =
822 822  
897 +== 7.1 Checklist for debuging Network Connection issue. Signal Strenght:99 issue. ==
898 +
899 +
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)
... ... @@ -842,14 +842,16 @@
842 842  If you have check all above and still fail. please send console log files (as many as possible) to [[support@dragino.com>>mailto:support@dragino.com]] so we can check.
843 843  
844 844  
845 -== (% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a" %)6.2 Why sometime the AT Command is slow in reponse?(%%) ==
922 +== (% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a" %)7.2 Why sometime the AT Command is slow in reponse?(%%) ==
846 846  
924 +
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  
851 -== (% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a" %)6.3 What is the Downlink Command by the -CB device?(%%) ==
852 852  
930 +== (% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a" %)7.3 What is the Downlink Command by the -CB device?(%%) ==
931 +
853 853  (% data-sider-select-id="bb6e9353-0c3f-473c-938d-4b416c9a03e6" %)
854 854  === UDP: ===
855 855  
... ... @@ -859,6 +859,7 @@
859 859  
860 860  {AT+TDC=300}
861 861  
941 +
862 862  (% data-sider-select-id="90b80f1a-e924-4c8a-afc5-4429e019a657" %)
863 863  === MQTT: ===
864 864  
... ... @@ -901,7 +901,7 @@
901 901  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]]
902 902  
903 903  
904 -== 6.4 What if the signal is good but the domain name resolution fails? ==
984 +== 7.4 What if the signal is good but the domain name resolution fails? ==
905 905  
906 906  
907 907  If the domain name resolution fails, first check whether the domain name is correct, users can use their own website domain name resolution tool to verify the domain name.
... ... @@ -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.
997 +**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.
999 +**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  
... ... @@ -925,7 +925,7 @@
925 925  [[image:image-20240827150121-5.png||height="476" width="680"]][[image:image-20240827145055-4.png||height="484" width="678"]]
926 926  
927 927  
928 -== 6.5 GPS debugging ==
1008 +== 7.5 GPS debugging ==
929 929  
930 930  
931 931  Indoor GPS signal is very weak, **outdoor** positioning is generally recommended.
... ... @@ -936,7 +936,7 @@
936 936  [[image:image-20240903104431-10.png||height="291" width="621"]]
937 937  
938 938  
939 -=== 6.5.1 GPS commands ===
1019 +=== 7.5.1 GPS commands ===
940 940  
941 941  
942 942  The following are three related AT commands that introduce GPS functions.
... ... @@ -985,10 +985,10 @@
985 985  
986 986  Example: 24 hours:  24(D)=0x18(H)
987 987  
988 - Downlink Payload: **12 00 00 18   **~/~/ AT+GTDC=24
1068 +Downlink Payload: **12 00 00 18   **~/~/ AT+GTDC=24
989 989  
990 990  
991 -=== 6.5.2 GPS workflow ===
1071 +=== 7.5.2 GPS workflow ===
992 992  
993 993  
994 994  The whole working process after the GPS function is enabled((% style="color:#037691" %)**AT+GPS=1**(%%)) is as follows:
... ... @@ -1006,10 +1006,10 @@
1006 1006   Only when the node is activated or every (% style="color:#037691" %)**GTDC**(%%) time is reached, the node turns on the GNSS and we can observe the GPS search information through the serial assistant or Bluetooth tool.
1007 1007  
1008 1008  
1009 -=== 6.5.3 GPS debugging methods ===
1089 +=== 7.5.3 GPS debugging methods ===
1010 1010  
1011 1011  
1012 -In summary, we can deduce the method of debugging GPS:
1092 +In summary, we can deduce the methods of debugging GPS:
1013 1013  
1014 1014  * **Check whether the GPS function is enabled.**
1015 1015  
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0