<
From version < 56.3 >
edited by Xiaoling
on 2023/08/07 08:45
To version < 58.1 >
edited by Edwin Chen
on 2023/08/07 09:28
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoling
1 +XWiki.Edwin
Content
... ... @@ -17,7 +17,7 @@
17 17  
18 18  1. Get a NB-IoT SIM card from Service Provider. (Not the same as the SIM card we use in mobile phone)
19 19  1. Insert the SIM card to Sensor
20 -1. [[Configure APN>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20configure%20APN%20in%20the%20node/]] in the sensor
20 +1. [[Configure APN>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20configure%20APN%20in%20the%20node/]] in the sensor (% class="mark" %)(补充 APN 指令(%%))
21 21  
22 22  After doing above, the NB-IoT Sensors should be able to attach to NB-IoT network .
23 23  
... ... @@ -30,11 +30,9 @@
30 30  
31 31  Austria, Belgium, Bulgaria, Croatia, Czech Republic, Denmark, Finland, Germany, Great Britain, Greece, Hungary, Ireland, Italy, Latvia, Malta, Netherlands, Norway, Puerto Rico, Russia, Slovak , Republic, Slovenia, Spain, Sweden, Switzerland, Taiwan, USA, US Virgin Islands
32 32  )))|(% style="width:135px" %)
33 -|(% style="width:117px" %)China Mobile|(% style="width:151px" %) |(% style="width:474px" %)China Mainland, HongKong|(% style="width:135px" %)
33 +|(% style="width:117px" %)China Mobile|(% style="width:151px" %)No need configure|(% style="width:474px" %)China Mainland, HongKong|(% style="width:135px" %)
34 34  |(% style="width:117px" %)China Telecom|(% style="width:151px" %) |(% style="width:474px" %)China Mainland|(% style="width:135px" %)
35 35  
36 -
37 -
38 38  = 3. Configure to connect to different servers =
39 39  
40 40  == 3.1 General UDP Connection ==
... ... @@ -134,8 +134,6 @@
134 134  
135 135  * (% style="color:#037691" %)**Password:**(%%) <Your ThingSpeak MQTT Password>
136 136  
137 -
138 -
139 139  ==== 3.3.2.2 Publish Data to ThingSpeak Channel ====
140 140  
141 141  
... ... @@ -177,8 +177,6 @@
177 177  
178 178  * (% style="color:blue" %)**AT+SUBTOPIC=<YOUR_CHANNEL_ID>**
179 179  
180 -
181 -
182 182  ==== 3.3.3.2 Uplink Examples ====
183 183  
184 184  
... ... @@ -233,136 +233,18 @@
233 233  |(% style="background-color:#4f81bd; color:white; width:124px" %)NMDS200-NB|(% style="width:91px" %)distance1|(% style="width:102px" %)distance2|(% style="width:159px" %)Battery|(% style="width:153px" %)RSSI|(% style="width:152px" %) |(% style="width:148px" %) |(% style="width:164px" %) |(% style="width:152px" %) |(% style="width:66px" %) |(% style="width:66px" %)
234 234  |(% style="background-color:#4f81bd; color:white; width:124px" %)CPN01-NB|(% style="width:91px" %)alarm|(% style="width:102px" %)count|(% style="width:159px" %)door open duration|(% style="width:153px" %)calc flag|(% style="width:152px" %)Battery|(% style="width:148px" %)RSSI|(% style="width:164px" %) |(% style="width:152px" %) |(% style="width:66px" %) |(% style="width:66px" %)
235 235  |(% colspan="1" rowspan="1" style="background-color:#4f81bd; color:white; width:124px" %)DS03A-NB|(% colspan="1" rowspan="1" style="width:91px" %)level|(% colspan="1" rowspan="1" style="width:102px" %)alarm|(% colspan="1" rowspan="1" style="width:159px" %)pb14door open num|(% colspan="1" rowspan="1" style="width:153px" %)pb14 last open time|(% colspan="1" rowspan="1" style="width:152px" %)pb15 level status|(% colspan="1" rowspan="1" style="width:148px" %)pb15 alarm status|(% colspan="1" rowspan="1" style="width:164px" %)pb15 door open num|(% colspan="1" rowspan="1" style="width:152px" %)pb15 last open time|(% colspan="1" rowspan="1" style="width:66px" %)Battery|(% colspan="1" rowspan="1" style="width:66px" %)RSSI
236 -|(% colspan="1" rowspan="1" style="background-color:#4f81bd; color:white; width:124px" %)SN50V3-NB|(% colspan="1" rowspan="1" style="width:91px" %) |(% colspan="1" rowspan="1" style="width:102px" %) |(% colspan="1" rowspan="1" style="width:159px" %) |(% colspan="1" rowspan="1" style="width:153px" %) |(% colspan="1" rowspan="1" style="width:152px" %) |(% colspan="1" rowspan="1" style="width:148px" %) |(% colspan="1" rowspan="1" style="width:164px" %) |(% colspan="1" rowspan="1" style="width:152px" %) |(% colspan="1" rowspan="1" style="width:66px" %) |(% colspan="1" rowspan="1" style="width:66px" %)
237 -|(% colspan="1" rowspan="1" style="background-color:#4f81bd; color:white; width:124px" %)mod1|(% colspan="1" rowspan="1" style="width:91px" %)mod|(% colspan="1" rowspan="1" style="width:102px" %)Battery|(% colspan="1" rowspan="1" style="width:159px" %)RSSI|(% colspan="1" rowspan="1" style="width:153px" %)DS18B20 Temp|(% colspan="1" rowspan="1" style="width:152px" %)exit_state/input PA4|(% colspan="1" rowspan="1" style="width:148px" %)adc0|(% colspan="1" rowspan="1" style="width:164px" %)Temperature |(% colspan="1" rowspan="1" style="width:152px" %)Humidity|(% colspan="1" rowspan="1" style="width:66px" %) |(% colspan="1" rowspan="1" style="width:66px" %)
238 -|(% colspan="1" style="background-color:#4f81bd; color:white; width:124px" %)mod2|(% colspan="1" style="width:91px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:159px" %)RSSI|(% colspan="1" style="width:153px" %)DS18B20 Temp|(% colspan="1" style="width:152px" %)exit_state/input PA4|(% colspan="1" style="width:148px" %)adc0|(% colspan="1" style="width:164px" %)distance|(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:66px" %) |(% colspan="1" style="width:66px" %)
239 -|(% colspan="1" style="background-color:#4f81bd; color:white; width:124px" %)mod3|(% colspan="1" style="width:91px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:159px" %)RSSI|(% colspan="1" style="width:153px" %)adc0|(% colspan="1" style="width:152px" %)exit_state/input PA4|(% colspan="1" style="width:148px" %)adc1|(% colspan="1" style="width:164px" %)Temperature|(% colspan="1" style="width:152px" %)Humidity|(% colspan="1" style="width:66px" %)adc4|(% colspan="1" style="width:66px" %)
240 -|(% colspan="1" style="background-color:#4f81bd; color:white; width:124px" %)mod4|(% colspan="1" style="width:91px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:159px" %)RSSI|(% colspan="1" style="width:153px" %)DS18B20 Temp|(% colspan="1" style="width:152px" %)adc0|(% colspan="1" style="width:148px" %)exit_state/input PA4|(% colspan="1" style="width:164px" %)DS18B20 Temp2|(% colspan="1" style="width:152px" %)DS18B20 Temp3|(% colspan="1" style="width:66px" %) |(% colspan="1" style="width:66px" %)
241 -|(% colspan="1" style="background-color:#4f81bd; color:white; width:124px" %)mod5|(% colspan="1" style="width:91px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:159px" %)RSSI|(% colspan="1" style="width:153px" %)DS18B20 Temp|(% colspan="1" style="width:152px" %)adc0|(% colspan="1" style="width:148px" %)exit_state/input PA4|(% colspan="1" style="width:164px" %)Weight|(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:66px" %) |(% colspan="1" style="width:66px" %)
242 -|(% colspan="1" style="background-color:#4f81bd; color:white; width:124px" %)mod6|(% colspan="1" style="width:91px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:159px" %)RSSI|(% colspan="1" style="width:153px" %)count|(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:148px" %) |(% colspan="1" style="width:164px" %) |(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:66px" %) |(% colspan="1" style="width:66px" %)
230 +|(% colspan="1" rowspan="1" style="background-color:#4f81bd; color:white; width:124px" %)SN50V3-NB mod1|(% colspan="1" rowspan="1" style="width:91px" %)mod|(% colspan="1" rowspan="1" style="width:102px" %)Battery|(% colspan="1" rowspan="1" style="width:159px" %)RSSI|(% colspan="1" rowspan="1" style="width:153px" %)DS18B20 Temp|(% colspan="1" rowspan="1" style="width:152px" %)exit_state/input PA4|(% colspan="1" rowspan="1" style="width:148px" %)adc0|(% colspan="1" rowspan="1" style="width:164px" %)Temperature |(% colspan="1" rowspan="1" style="width:152px" %)Humidity|(% colspan="1" rowspan="1" style="width:66px" %) |(% colspan="1" rowspan="1" style="width:66px" %)
231 +|(% colspan="1" style="background-color:#4f81bd; color:white; width:124px" %)SN50V3-NB mod2|(% colspan="1" style="width:91px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:159px" %)RSSI|(% colspan="1" style="width:153px" %)DS18B20 Temp|(% colspan="1" style="width:152px" %)exit_state/input PA4|(% colspan="1" style="width:148px" %)adc0|(% colspan="1" style="width:164px" %)distance|(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:66px" %) |(% colspan="1" style="width:66px" %)
232 +|(% colspan="1" style="background-color:#4f81bd; color:white; width:124px" %)SN50V3-NB mod3|(% colspan="1" style="width:91px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:159px" %)RSSI|(% colspan="1" style="width:153px" %)adc0|(% colspan="1" style="width:152px" %)exit_state/input PA4|(% colspan="1" style="width:148px" %)adc1|(% colspan="1" style="width:164px" %)Temperature|(% colspan="1" style="width:152px" %)Humidity|(% colspan="1" style="width:66px" %)adc4|(% colspan="1" style="width:66px" %)
233 +|(% colspan="1" style="background-color:#4f81bd; color:white; width:124px" %)SN50V3-NB mod4|(% colspan="1" style="width:91px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:159px" %)RSSI|(% colspan="1" style="width:153px" %)DS18B20 Temp|(% colspan="1" style="width:152px" %)adc0|(% colspan="1" style="width:148px" %)exit_state/input PA4|(% colspan="1" style="width:164px" %)DS18B20 Temp2|(% colspan="1" style="width:152px" %)DS18B20 Temp3|(% colspan="1" style="width:66px" %) |(% colspan="1" style="width:66px" %)
234 +|(% colspan="1" style="background-color:#4f81bd; color:white; width:124px" %)SN50V3-NB mod5|(% colspan="1" style="width:91px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:159px" %)RSSI|(% colspan="1" style="width:153px" %)DS18B20 Temp|(% colspan="1" style="width:152px" %)adc0|(% colspan="1" style="width:148px" %)exit_state/input PA4|(% colspan="1" style="width:164px" %)Weight|(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:66px" %) |(% colspan="1" style="width:66px" %)
235 +|(% colspan="1" style="background-color:#4f81bd; color:white; width:124px" %)SN50V3-NB mod6|(% colspan="1" style="width:91px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:159px" %)RSSI|(% colspan="1" style="width:153px" %)count|(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:148px" %) |(% colspan="1" style="width:164px" %) |(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:66px" %) |(% colspan="1" style="width:66px" %)
243 243  
244 -
245 -
246 246  == 3.4 Datacake ==
247 247  
248 -=== 3.4.1 Define Product ===
249 249  
250 250  
251 -Firstly, we need to set the MQTT mode to datacake, and we need to run(% style="color:blue" %)** AT+PRO=3,2**(%%). This command is set to datacake. After running the command, the device automatically sets the server address, port.
252 252  
253 -By chosing to add the device under a (% style="color:blue" %)**"New Product"**(%%) you are required to give a name for this product. You can name it something like (% style="color:blue" %)**"My First MQTT Product"**.
254 -
255 -[[image:image-20230802112413-14.png||height="1095" width="1302"]]
256 -
257 -
258 -=== 3.4.2 Create Device ===
259 -
260 -
261 -In the second step you have to define the device which should be added to the product.
262 -
263 -[[image:image-20230802112413-15.png||height="859" width="1290"]]
264 -
265 -Enter a name here (such as "My First MQTT Device") and complete the creation of the device by clicking on the (% style="color:blue" %)**"Next"**(%%) button.
266 -
267 -
268 -=== 3.4.3 Create Database Fields ===
269 -
270 -
271 -After creating the device, it is listed in the table of the fleet view. Now open the device by clicking on the entry in the list.
272 -
273 -You will then see a device view with an empty dashboard. Now, the first thing we want to do is navigate to the Device configuration. To do this, use the tab bar and click on (% style="color:blue" %)**"Configuration"**.
274 -
275 -[[image:image-20230802112413-16.png||height="495" width="1310"]]
276 -
277 -[[image:image-20230802112413-17.png||height="741" width="1303"]]
278 -
279 -To create a first database field, please click on the (% style="color:blue" %)**"Add Field"**(%%) button as marked in the screenshot above.
280 -
281 -This will open another modal asking for some required input for your first field.
282 -
283 -[[image:image-20230802112413-18.png||height="878" width="1305"]]
284 -
285 -[[image:image-20230802112413-19.png]]
286 -
287 -
288 -=== 3.4.4 Set up Broker ===
289 -
290 -
291 -The broker is running on mqtt.datacake.co on ports (% style="color:blue" %)**1883 and 8883**(%%). Port 1883 is unsecured and should not be used in production environments. Port 8883 uses a CA signed server certificate.
292 -
293 -You will need an access token to log into the Datacake MQTT Broker. You can use your own personal token or create a token explicitly for individual devices or groups of devices.
294 -
295 -View your Personal Access Token
296 -
297 -You can view your own token via the User-Settings-Menu. You can reach this menu by clicking on (% style="color:blue" %)**"Edit Profile"**(%%) at the end of the list using the Workspace Selector:
298 -
299 -[[image:image-20230802112413-20.png]]
300 -
301 -
302 -(% style="color:blue" %)**MQTT Client-ID**
303 -
304 -The Datacake Broker manages the client IDs internally. You do not need to worry about a client ID. If your client optionally supports the specification of a client ID, please leave this 
305 -specification blank. Your client then creates a randomly generated ID.
306 -
307 -* (% style="color:blue" %)**AT+CLIENT=“Any value”**
308 -
309 -* (% style="color:blue" %)**AT+UNAME=Token**
310 -
311 -* (% style="color:blue" %)**AT+PWD=Token**
312 -
313 -[[image:image-20230802112413-21.png]]
314 -
315 -
316 -=== 3.4.5 Create your first Subscription ===
317 -
318 -
319 -(% style="color:blue" %)**Subscribe**
320 -
321 -Data is published according to the following structure: (% style="color:blue" %)**dtck~/~//**(%%)** **
322 -
323 -Subscribe to topics using this structure to receive messages via MQTT when readings (via API or MQTT) arrive in the Datacake Cloud. Messages are published whenever there is a change to a corresponding database field.
324 -
325 -
326 -[[image:image-20230802112413-22.png]]
327 -
328 -
329 -[[image:image-20230802112413-23.png]]
330 -
331 -
332 -[[image:image-20230802112413-24.png]]
333 -
334 -
335 -(% style="color:blue" %)**example:**
336 -
337 -AT+PUBTOPIC=dtck-pub/nbmattest/936c0db6-e9a5-4353-9fdb-3f63c8bfce7e/Temperature
338 -
339 -[[image:image-20230802112413-25.png]]
340 -
341 -
342 -=== 3.4.6 Define Publish Topic ===
343 -
344 -
345 -(% style="color:blue" %)**Publish**
346 -
347 -To upload data into the Datacake Cloud and into a specific device, you publish the data to the respective topic structure.
348 -
349 -Due to the nature of MQTT, the topic prefix differs as follows: (% style="color:blue" %)**dtck-pub~/~//**
350 -
351 -(% style="color:blue" %)**example:**
352 -
353 -AT+SUBTOPIC=dtck/nbmattest/936c0db6-e9a5-4353-9fdb-3f63c8bfce7e/Temperature
354 -
355 -
356 -=== 3.4.7 upload data ===
357 -
358 -
359 -[[image:image-20230802112413-26.png]]
360 -
361 -[[image:image-20230802112413-27.png]]
362 -
363 -[[image:image-20230802112413-28.png]]
364 -
365 -
366 366  == 3.5 Node-Red (via MQTT) ==
367 367  
368 368  === 3.5.1 Configure [[Node-Red>>http://wiki.dragino.com/xwiki/bin/view/Main/Node-RED/]] ===
... ... @@ -395,8 +395,6 @@
395 395  
396 396  * (% style="color:blue" %)**AT+SUBTOPIC=any value**
397 397  
398 -
399 -
400 400  == 3.6 ThingsBoard.Cloud (via MQTT) ==
401 401  
402 402  === 3.6.1 Configure ThingsBoard ===
... ... @@ -528,7 +528,6 @@
528 528  
529 529  * (% style="color:blue" %)**SUBTOPIC: “Any value”**
530 530  
531 -
532 532  === 3.7.2 Simulate with MQTT.fx ===
533 533  
534 534  
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0