<
From version < 129.1 >
edited by Xiaoling
on 2024/09/14 10:49
To version < 126.1 >
edited by Mengting Qiu
on 2024/09/03 10:44
>
Change comment: Uploaded new attachment "image-20240903104431-10.png", version {1}

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoling
1 +XWiki.ting
Content
... ... @@ -187,20 +187,16 @@
187 187  
188 188  The NB-IoT Sensor can send packet to server use UDP protocol.
189 189  
190 -
191 191  === 3.1.1 Simulate UDP Connection by PC tool ===
192 192  
193 -
194 194  We can use PC tool to simulate UDP connection to make sure server works ok.
195 195  
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"]]
194 +[[image:image-20230802112413-1.png||height="468" width="1024"]]
197 197  
198 -
199 199  === 3.1.2 Configure NB-IoT Sensor ===
200 200  
201 201  ==== 3.1.2.1 AT Commands ====
202 202  
203 -
204 204  (% style="color:blue" %)**AT Commands:**
205 205  
206 206  * (% style="color:#037691" %)**AT+PRO=2,0**  (%%) ~/~/ Set to use UDP protocol to uplink ,Payload Type select Hex payload
... ... @@ -209,16 +209,12 @@
209 209  
210 210  [[image:image-20240819102802-1.png]]
211 211  
212 -
213 213  ==== 3.1.2.2 Uplink Example ====
214 214  
210 +[[image:image-20240819105418-8.png||height="671" width="1414"]]
215 215  
216 -[[image:image-20240819105418-8.png||height="611" width="1287"]]
217 -
218 -
219 219  == 3.2 General COAP Connection ==
220 220  
221 -
222 222  The NB-IoT Sensor can send packet to server use COAP protocol.
223 223  
224 224  Below are the commands.
... ... @@ -234,16 +234,13 @@
234 234  
235 235  [[image:image-20240819103212-2.png]]
236 236  
237 -
238 238  === 3.2.1 Uplink Example ===
239 239  
240 -
241 241  [[image:image-20240819103909-4.png||height="453" width="955"]]
242 242  
243 243  
244 244  == 3.2 General MQTT Connection ==
245 245  
246 -
247 247  The NB-IoT Sensor can send packet to server use MQTT protocol.
248 248  
249 249  Below are the commands.
... ... @@ -271,12 +271,10 @@
271 271  
272 272  (% 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.**
273 273  
274 -
275 275  == 3.3 [[ThingSpeak>>url:https://thingspeak.com/]] (via MQTT) ==
276 276  
277 277  === 3.3.1 Get MQTT Credentials ===
278 278  
279 -
280 280  [[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.
281 281  
282 282  [[image:image-20240819173602-1.png||height="401" width="743"]]
... ... @@ -283,12 +283,10 @@
283 283  
284 284  [[image:image-20240819173706-3.png||height="595" width="597"]]
285 285  
286 -
287 287  === 3.3.2 Simulate with MQTT.fx ===
288 288  
289 289  ==== 3.3.2.1 Establish MQTT Connection ====
290 290  
291 -
292 292  After we got MQTT Credentials, we can first simulate with PC tool MQTT.fx tool to see if the Credentials and settings are fine.
293 293  
294 294  [[image:image-20240819173826-4.png||height="534" width="734"]]
... ... @@ -303,11 +303,8 @@
303 303  
304 304  * (% style="color:#037691" %)**Password:**(%%) <Your ThingSpeak MQTT Password>
305 305  
306 -
307 -
308 308  ==== 3.3.2.2 Publish Data to ThingSpeak Channel ====
309 309  
310 -
311 311  [[image:image-20240819174033-5.png]]
312 312  
313 313  [[image:image-20240819174209-6.png]]
... ... @@ -324,12 +324,10 @@
324 324  
325 325  [[image:image-20240819174314-7.png||height="469" width="785"]]
326 326  
327 -
328 328  === 3.3.3 Configure NB-IoT Sensor for connection ===
329 329  
330 330  ==== 3.3.3.1 AT Commands: ====
331 331  
332 -
333 333  In the NB-IoT, we can run below commands so to publish the channels like MQTT.fx
334 334  
335 335  * (% style="color:blue" %)**AT+PRO=3,1** (%%) ~/~/ Set to use ThingSpeak Server and Related Payload
... ... @@ -344,11 +344,8 @@
344 344  
345 345  * (% style="color:blue" %)**AT+SUBTOPIC=<YOUR_CHANNEL_ID>**
346 346  
347 -
348 -
349 349  ==== 3.3.3.2 Uplink Examples ====
350 350  
351 -
352 352  [[image:image-20240819174540-8.png]]
353 353  
354 354  For SE01-NB
... ... @@ -373,10 +373,8 @@
373 373  
374 374  For SN50V3-NB
375 375  
376 -
377 377  ==== 3.3.3.3 Map fields to sensor value ====
378 378  
379 -
380 380  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.
381 381  
382 382  [[image:image-20240819174610-9.png]]
... ... @@ -385,25 +385,25 @@
385 385  
386 386  Below is the NB-IoT Product Table show the mapping.
387 387  
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" %)
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" %)
407 407  
408 408  == 3.4 [[Datacake>>https://datacake.co/]] ==
409 409  
... ... @@ -417,13 +417,10 @@
417 417  
418 418  * (% 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.
419 419  
420 -
421 -
422 422  === 3.4.1 For device Already has template ===
423 423  
424 424  ==== 3.4.1.1 Create Device ====
425 425  
426 -
427 427  (% style="color:blue" %)**Add Device**(%%) in DataCake.
428 428  
429 429  [[image:image-20240820110003-1.png]]
... ... @@ -442,12 +442,10 @@
442 442  
443 443  [[image:image-20240820110114-6.png]]
444 444  
445 -
446 446  === 3.4.2 For Device already registered in DataCake before shipped ===
447 447  
448 448  ==== 3.4.2.1 Scan QR Code to get the device info ====
449 449  
450 -
451 451  Users can use their phones or computers to scan QR codes to obtain device data information.
452 452  
453 453  [[image:image-20240820110129-7.png]]
... ... @@ -454,40 +454,32 @@
454 454  
455 455  [[image:image-20240820110218-9.png]]
456 456  
457 -
458 458  ==== 3.4.2.2 Claim Device to User Account ====
459 459  
460 460  By Default, the device is registered in Dragino's DataCake Account. User can Claim it to his account.
461 461  
462 -
463 463  === 3.4.3 Manual Add Decoder in DataCake ( don't use the template in DataCake) ===
464 464  
465 -
466 466  **Step1: Add a device**
467 467  
468 468  [[image:image-20240820110235-10.png]][[image:image-20240129170024-1.png||height="330" width="900"]]
469 469  
470 -
471 471  **Step2: Choose your device type,please select dragino NB-IOT device**
472 472  
473 473  [[image:image-20240820110247-11.png]]
474 474  
475 -
476 476  **Step3: Choose to create a new device**
477 477  
478 478  [[image:image-20240820111016-12.png]]
479 479  
480 -
481 481  **Step4: Fill in the device ID of your NB device**
482 482  
483 483  [[image:image-20240820111101-13.png]]
484 484  
485 -
486 486  **Step5: Please select your device plan according to your needs and complete the creation of the device**
487 487  
488 488  [[image:image-20240820111113-14.png]]
489 489  
490 -
491 491  **Step6: Please add the decoder at the payload decoder of the device configuration.**
492 492  
493 493  **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]]
... ... @@ -496,12 +496,10 @@
496 496  
497 497  [[image:image-20240820111248-16.png]]
498 498  
499 -
500 500  **Step7: Add the output of the decoder as a field**
501 501  
502 502  [[image:image-20240820111259-17.png]]
503 503  
504 -
505 505  **Step8: Customize the dashboard and use fields as parameters of the dashboard**
506 506  
507 507  [[image:image-20240820111312-18.png]]
... ... @@ -510,10 +510,8 @@
510 510  
511 511  [[image:image-20240820111333-20.png]]
512 512  
513 -
514 514  === 3.4.4 For device have not configured to connect to DataCake ===
515 515  
516 -
517 517  (% class="lead" %)
518 518  Use AT command for connecting to DataCake
519 519  
... ... @@ -521,12 +521,10 @@
521 521  
522 522  (% style="color:blue" %)**AT+SERVADDR=67.207.76.90,4445**
523 523  
524 -
525 525  == 3.5 Node-Red (via MQTT) ==
526 526  
527 527  === 3.5.1 Configure [[Node-Red>>http://wiki.dragino.com/xwiki/bin/view/Main/Node-RED/]] ===
528 528  
529 -
530 530  Take S31-NB UDP protocol as an example.
531 531  
532 532  Dragino provides input flow examples for the sensors.
... ... @@ -557,10 +557,8 @@
557 557  
558 558  [[image:image-20240820111448-26.png]]
559 559  
560 -
561 561  === 3.5.2 Simulate Connection ===
562 562  
563 -
564 564  We have completed the configuration of UDP. We can try sending packets to node red.
565 565  
566 566  [[image:image-20240820111504-27.png]]
... ... @@ -567,10 +567,8 @@
567 567  
568 568  [[image:image-20240820111515-28.png]]
569 569  
570 -
571 571  === 3.5.3 Configure NB-IoT Sensors ===
572 572  
573 -
574 574  * (% style="color:#037691" %)**AT+PRO=3,0 or 3,5 ** (%%) **~/~/ hex format or json format**
575 575  * (% style="color:#037691" %)**AT+SUBTOPIC=<device name>or User Defined**
576 576  * (% style="color:#037691" %)**AT+PUBTOPIC=<device name>or User Defined**
... ... @@ -578,8 +578,6 @@
578 578  * (% style="color:#037691" %)**AT+UNAME=<device name> or User Defined**
579 579  * (% style="color:#037691" %)**AT+PWD=“Your device token”**
580 580  
581 -
582 -
583 583  == 3.6 ThingsBoard.Cloud (via MQTT) ==
584 584  
585 585  === 3.6.1 Configure ThingsBoard ===
... ... @@ -586,15 +586,12 @@
586 586  
587 587  ==== 3.6.1.1 Create Device ====
588 588  
589 -
590 590  Create a New Device in [[ThingsBoard>>url:https://thingsboard.cloud/]]. Record Device Name which is used for MQTT connection.
591 591  
592 592  [[image:image-20240820112210-29.png]]
593 593  
594 -
595 595  ==== 3.6.1.2 Create Uplink & Downlink Converter ====
596 596  
597 -
598 598  (% style="color:blue" %)**Uplink Converter**
599 599  
600 600  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.
... ... @@ -611,10 +611,8 @@
611 611  
612 612  (% style="color:red" %)**Note: Our device payload is already human readable data. Therefore, users do not need to write decoders. Simply create by default.**
613 613  
614 -
615 615  ==== 3.6.1.3 MQTT Integration Setup ====
616 616  
617 -
618 618  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**;
619 619  
620 620  [[image:image-20240820112247-32.png]]
... ... @@ -633,7 +633,6 @@
633 633  
634 634  [[image:image-20240820112330-35.png]]
635 635  
636 -
637 637  === 3.6.2 Simulate with MQTT.fx ===
638 638  
639 639  [[image:image-20240820112340-36.png]]
... ... @@ -640,10 +640,8 @@
640 640  
641 641  [[image:image-20240820112351-37.png]]
642 642  
643 -
644 644  === 3.6.3 Configure NB-IoT Sensor ===
645 645  
646 -
647 647  (% style="color:blue" %)**AT Commands**
648 648  
649 649  * (% style="color:#037691" %)**AT+PRO=3,3  **(%%)** **~/~/ Use MQTT to connect to ThingsBoard. Payload Type set to 3.
... ... @@ -666,12 +666,10 @@
666 666  
667 667  [[image:image-20240820112426-40.png]]
668 668  
669 -
670 670  == 3.7 [[Tago.io>>url:https://admin.tago.io/]] (via MQTT) ==
671 671  
672 672  === 3.7.1 Create device & Get Credentials ===
673 673  
674 -
675 675  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.
676 676  
677 677  [[image:image-20240820112516-41.png]]
... ... @@ -718,11 +718,8 @@
718 718  
719 719  * (% style="color:#037691" %)**AT+PWD=“Your device token”**
720 720  
721 -
722 -
723 723  === 3.7.2 Simulate with MQTT.fx ===
724 724  
725 -
726 726  [[image:image-20240820112552-44.png]]
727 727  
728 728  [[image:image-20240820112604-45.png]]
... ... @@ -733,18 +733,14 @@
733 733  
734 734  [[image:image-20240820112626-47.png]]
735 735  
736 -
737 737  === 3.7.3 tago data ===
738 738  
739 -
740 740  [[image:image-20240820112637-48.png]]
741 741  
742 742  [[image:image-20240820112647-49.png]]
743 743  
744 -
745 745  == 3.8 TCP Connection ==
746 746  
747 -
748 748  (% style="color:blue" %)**AT command:**
749 749  
750 750  * (% style="color:#037691" %)**AT+PRO=4,0   ** (%%) ~/~/ Set to use TCP protocol to uplink(HEX format)
... ... @@ -761,18 +761,16 @@
761 761  
762 762  [[image:image-20240820112716-51.png]]
763 763  
764 -
765 765  == 3.9 AWS Connection ==
766 766  
767 -
768 768  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]]
769 769  
701 += =
770 770  
771 771  = 4. COAP/UDP/MQTT/TCP downlink =
772 772  
773 773  == 4.1 MQTT (via MQTT.fx) ==
774 774  
775 -
776 776  Configure MQTT connections properly and send downlink commands to configure nodes through the Publish function of MQTT.fx//.//
777 777  
778 778  **1.** Configure node MQTT connection (via MQTT.fx):
... ... @@ -795,12 +795,10 @@
795 795  
796 796  [[image:image-20240820112732-52.png]][[image:image-20240820112758-53.png]]
797 797  
798 -
799 799  **2. **When the node uplink packets, we can observe the data in MQTT.fx.
800 800  
801 801  [[image:image-20240820112813-54.png]]
802 802  
803 -
804 804  **3. **The downlink command can be successfully sent only when the downlink port is open.
805 805  
806 806   The downlink port is opened for about 3 seconds after uplink packets are sent.
... ... @@ -816,7 +816,6 @@
816 816  
817 817  == 4.2 UDP (via Thingseye) ==
818 818  
819 -
820 820  (% 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/]])
821 821  
822 822  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)
... ... @@ -866,7 +866,6 @@
866 866  
867 867  == 5.1 What is the usage of Multi Sampling and One Uplink? ==
868 868  
869 -
870 870  The NB series has the feature for Multi Sampling and one uplink. See one of them
871 871  
872 872  [[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]]
... ... @@ -881,11 +881,8 @@
881 881  1*. **AT+TDC=7200** ~/~/ Uplink every 2 hours.
882 882  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.
883 883  
884 -
885 -
886 886  == 5.2 Why the uplink JSON format is not standard? ==
887 887  
888 -
889 889  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.
890 890  
891 891  The firmware version released after 2024, Mar will use change back to use Json format. Detail please check changelog.
... ... @@ -892,12 +892,10 @@
892 892  
893 893  [[image:image-20240820112848-57.png]]
894 894  
895 -
896 896  = 6. Trouble Shooting: =
897 897  
898 898  == 6.1 Checklist for debuging Network Connection issue. Signal Strenght:99 issue. ==
899 899  
900 -
901 901  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.
902 902  
903 903  If end device successfully attached NB-IoT Network, User can normally see the signal strengh as below (between 0~~31)
... ... @@ -922,12 +922,10 @@
922 922  
923 923  == (% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a" %)6.2 Why sometime the AT Command is slow in reponse?(%%) ==
924 924  
925 -
926 926  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.
927 927  
928 928  [[image:image-20240820113015-60.png]]
929 929  
930 -
931 931  == (% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a" %)6.3 What is the Downlink Command by the -CB device?(%%) ==
932 932  
933 933  (% data-sider-select-id="bb6e9353-0c3f-473c-938d-4b416c9a03e6" %)
... ... @@ -939,7 +939,6 @@
939 939  
940 940  {AT+TDC=300}
941 941  
942 -
943 943  (% data-sider-select-id="90b80f1a-e924-4c8a-afc5-4429e019a657" %)
944 944  === MQTT: ===
945 945  
... ... @@ -995,9 +995,9 @@
995 995  
996 996  (% style="color:blue" %)**AT Command: AT+GDNS**
997 997  
998 -**AT+GDNS=0**  ~/~/ Default. Automatically resolves the domain name and uses the resolved IP to communicate.
917 +**AT+GDNS=0**  ~/~/Default. Automatically resolves the domain name and uses the resolved IP to communicate.
999 999  
1000 -**AT+GDNS=1    **~/~/ Disabling Domain name resolution. Use the domain name directly to communicate.
919 +**AT+GDNS=1    **~/~/Disabling Domain name resolution. Use the domain name directly to communicate.
1001 1001  
1002 1002  (% style="color:red" %)**Note: For -CB products, with the exception of AT+PRO=2,5, all protocols and payload formats support direct domain communication.**
1003 1003  
... ... @@ -1011,12 +1011,9 @@
1011 1011  
1012 1012  Indoor GPS signal is very weak, **outdoor** positioning is generally recommended.
1013 1013  
1014 -[[image:image-20240903104250-9.png||height="275" width="614"]]
933 +[[image:image-20240903100832-4.png||height="268" width="580"]]
1015 1015  
1016 1016  
1017 -[[image:image-20240903104431-10.png||height="291" width="621"]]
1018 -
1019 -
1020 1020  === 6.5.1 GPS commands ===
1021 1021  
1022 1022  
... ... @@ -1066,7 +1066,7 @@
1066 1066  
1067 1067  Example: 24 hours:  24(D)=0x18(H)
1068 1068  
1069 -Downlink Payload: **12 00 00 18   **~/~/ AT+GTDC=24
985 + Downlink Payload: **12 00 00 18   **~/~/ AT+GTDC=24
1070 1070  
1071 1071  
1072 1072  === 6.5.2 GPS workflow ===
... ... @@ -1090,12 +1090,8 @@
1090 1090  === 6.5.3 GPS debugging methods ===
1091 1091  
1092 1092  
1093 -In summary, we can deduce the methods of debugging GPS:
1009 +In summary, we can deduce the method of debugging GPS:
1094 1094  
1095 -* **Check whether the GPS function is enabled.**
1096 -
1097 -[[image:image-20240903102327-5.png||height="271" width="529"]]
1098 -
1099 1099  * **Check whether the GPS antenna is loose**.
1100 1100  
1101 1101  If the GPS antenna is loose, the GPS signal is weak, and the positioning fails.
... ... @@ -1108,7 +1108,6 @@
1108 1108  
1109 1109  If the location fails, users can extend the location time.
1110 1110  
1111 -[[image:image-20240903102641-8.png||height="303" width="600"]]
1112 1112  
1113 1113  
1114 1114  
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0