Version 59.1 by Edwin Chen on 2023/08/07 10:07

Show last authors
1 (% class="wikigeneratedid" %)
2 **Table of Contents:**
3
4 {{toc/}}
5
6
7 = 1. The use of this guideline =
8
9
10 This configure instruction is for Dragino NB-IoT models with -NB or -NS suffix, for example DDS75-NB. These models use the same NB-IoT Module **[[BC660K-GL>>https://www.quectel.com/product/lpwa-bc660k-gl-nb2]]** 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.
11
12
13 = 2. Attach Network =
14
15
16 To attache NB-IoT sensors to NB-IoT Network, You need to:
17
18 1. Get a NB-IoT SIM card from Service Provider. (Not the same as the SIM card we use in mobile phone)
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 (% class="mark" %)(补充 APN 指令(%%))
21
22 After doing above, the NB-IoT Sensors should be able to attach to NB-IoT network .
23
24 The -NB and -NS models support (% style="color:blue" %)**LTE Cat NB2**(%%), with below frequency band: multiple frequency bands of (% style="color:blue" %)**B1/B2/B3/B4/B5/B8/B12/B13/B14/B17/B18/B19/B20/B25/B28/B66/B70/B85**(%%) . Make sure you use a the NB-IoT SIM card.
25
26 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:878px" %)
27 |(% style="background-color:#4f81bd; color:white; width:117px" %)**SIM Provider**|(% style="background-color:#4f81bd; color:white; width:151px" %)**APN**|(% style="background-color:#4f81bd; color:white; width:474px" %)**NB-IoT Coverage**|(% style="background-color:#4f81bd; color:white; width:135px" %)**Comments**
28 |(% style="width:117px" %)**[[1NCE>>https://1nce.com]]**|(% style="width:151px" %)iot.1nce.net|(% style="width:474px" %)(((
29 **[[Coverage Reference Link>>https://1nce.com/en-ap/1nce-connect]]**
30
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 )))|(% 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 |(% style="width:117px" %)China Telecom|(% style="width:151px" %) |(% style="width:474px" %)China Mainland|(% style="width:135px" %)
35
36 = 3. Configure to connect to different servers =
37
38 == 3.1 General UDP Connection ==
39
40
41 The NB-IoT Sensor can send packet to server use UDP protocol.
42
43
44 === 3.1.1 Simulate UDP Connection by PC tool ===
45
46
47 We can use PC tool to simulate UDP connection to make sure server works ok.
48
49 [[image:image-20230802112413-1.png]]
50
51
52 === 3.1.2 Configure NB-IoT Sensor ===
53
54 ==== 3.1.2.1 AT Commands ====
55
56
57 (% style="color:blue" %)**AT Commands:**
58
59 * (% style="color:#037691" %)**AT+PRO=2,0**  (%%) ~/~/  Set to use UDP protocol to uplink ,Payload Type select Hex payload
60
61 * (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5601**  (%%) ~/~/  Set UDP server address and port
62
63 * (% style="color:#037691" %)**AT+CFM=1**    (%%) ~/~/  If the server does not respond, this command is unnecessary
64
65 [[image:image-20230802112413-2.png]]
66
67
68 ==== 3.1.2.2 Uplink Example ====
69
70
71 [[image:image-20230802112413-3.png]]
72
73
74 == 3.2 General MQTT Connection ==
75
76
77 The NB-IoT Sensor can send packet to server use MQTT protocol.
78
79 Below are the commands.
80
81 (% style="color:blue" %)**AT Commands:**
82
83 * (% style="color:#037691" %)**AT+PRO=3,0**   (%%) ~/~/  Set to use MQTT protocol to uplink, Payload Type select Hex payload.
84
85 * (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,1883**  (%%) ~/~/  Set MQTT server address and port
86
87 * (% style="color:#037691" %)**AT+CLIENT=CLIENT**     (%%) ~/~/  Set up the CLIENT of MQTT
88
89 * (% style="color:#037691" %)**AT+UNAME=UNAME**        (%%) ~/~/  Set the username of MQTT
90
91 * (% style="color:#037691" %)**AT+PWD=PWD**             (%%) ~/~/  Set the password of MQTT
92
93 * (% style="color:#037691" %)**AT+PUBTOPIC=NSE01_PUB**  (%%) ~/~/  Set the sending topic of MQTT
94
95 * (% style="color:#037691" %)**AT+SUBTOPIC=NSE01_SUB**  (%%) ~/~/  Set the subscription topic of MQTT
96
97 [[image:image-20230802112413-4.png]]
98
99 [[image:image-20230802112413-5.png]]
100
101 (% 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.**
102
103
104 == 3.3 [[ThingSpeak>>url:https://thingspeak.com/]] (via MQTT) ==
105
106 === 3.3.1 Get MQTT Credentials ===
107
108
109 [[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.
110
111 [[image:image-20230802112413-6.png]]
112
113 [[image:image-20230802112413-7.png]]
114
115
116 === 3.3.2 Simulate with MQTT.fx ===
117
118 ==== 3.3.2.1 Establish MQTT Connection ====
119
120
121 After we got MQTT Credentials, we can first simulate with PC tool MQTT.fx tool to see if the Credentials and settings are fine.
122
123 [[image:image-20230802112413-8.png]]
124
125 * (% style="color:#037691" %)**Broker Address:**(%%) mqtt3.thingspeak.com
126
127 * (% style="color:#037691" %)**Broker Port:**(%%) 1883
128
129 * (% style="color:#037691" %)**Client ID:**(%%) <Your ThingSpeak MQTT ClientID>
130
131 * (% style="color:#037691" %)**User Name:**(%%) <Your ThingSpeak MQTT User Name>
132
133 * (% style="color:#037691" %)**Password:**(%%) <Your ThingSpeak MQTT Password>
134
135 ==== 3.3.2.2 Publish Data to ThingSpeak Channel ====
136
137
138 [[image:image-20230802112413-9.png]]
139
140 [[image:image-20230802112413-10.png]]
141
142
143 (% style="color:blue" %)**In MQTT.fx, we can publish below info:**
144
145 * (% style="color:#037691" %)**Topic:**(%%) channels/YOUR_CHANNEL_ID/publish
146
147 * (% style="color:#037691" %)**Payload:**(%%) field1=63&field2=67&status=MQTTPUBLISH
148
149 Where 63 and 67 are the value to be published to field1 & field2.
150
151
152 (% style="color:blue" %)**Result: **
153
154 [[image:image-20230802112413-11.png]]
155
156
157 === 3.3.3 Configure NB-IoT Sensor for connection ===
158
159 ==== 3.3.3.1 AT Commands: ====
160
161
162 In the NB-IoT, we can run below commands so to publish the channels like MQTT.fx
163
164 * (% style="color:blue" %)**AT+PRO=3,1** (%%) ~/~/ Set to use ThingSpeak Server and Related Payload
165
166 * (% style="color:blue" %)**AT+CLIENT=<Your ThingSpeak MQTT ClientID>**
167
168 * (% style="color:blue" %)**AT+UNAME=<Your ThingSpeak MQTT User Name>**
169
170 * (% style="color:blue" %)**AT+PWD=<Your ThingSpeak MQTT Password>**
171
172 * (% style="color:blue" %)**AT+PUBTOPIC=<YOUR_CHANNEL_ID>**
173
174 * (% style="color:blue" %)**AT+SUBTOPIC=<YOUR_CHANNEL_ID>**
175
176 ==== 3.3.3.2 Uplink Examples ====
177
178
179 For S31-NB
180
181 For SE01-NB
182
183 For DDS20-NB
184
185 For DDS45-NB
186
187 For DDS75-NB
188
189 For NMDS120-NB
190
191 For SPH01-NB
192
193 For NLM01-NB
194
195 For NMDS200-NB
196
197 For CPN01-NB
198
199 For DS03A-NB
200
201 For SN50V3-NB
202
203
204 ==== 3.3.3.3 Map fields to sensor value ====
205
206
207 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.
208
209
210 [[image:image-20230802112413-12.png]]
211
212 [[image:image-20230802112413-13.png]]
213
214
215 Below is the NB-IoT Product Table show the mapping.
216
217 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1386px" %)
218 |(% style="background-color:#4f81bd; width:124px" %) |(% style="background-color:#4f81bd; color:white; width:91px" %)Field1|(% style="background-color:#4f81bd; color:white; width:102px" %)Field2|(% style="background-color:#4f81bd; color:white; width:159px" %)Field3|(% style="background-color:#4f81bd; color:white; width:153px" %)Field4|(% style="background-color:#4f81bd; color:white; width:152px" %)Field5|(% style="background-color:#4f81bd; color:white; width:148px" %)Field6|(% style="background-color:#4f81bd; color:white; width:164px" %)Field7|(% style="background-color:#4f81bd; color:white; width:152px" %)Field8|(% style="background-color:#4f81bd; color:white; width:66px" %)Field9|(% style="background-color:#4f81bd; color:white; width:66px" %)Field10
219 |(% style="background-color:#4f81bd; color:white; width:124px" %)S31x-NB|(% style="width:91px" %)Temperature |(% style="width:102px" %)Humidity|(% 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" %)
220 |(% style="background-color:#4f81bd; color:white; width:124px" %)SE01-NB|(% style="width:91px" %)Temperature |(% style="width:102px" %)Humidity|(% style="width:159px" %)conduct|(% style="width:153px" %)dielectric_constant|(% style="width:152px" %)Battery|(% style="width:148px" %)RSSI|(% style="width:164px" %) |(% style="width:152px" %) |(% style="width:66px" %) |(% style="width:66px" %)
221 |(% style="background-color:#4f81bd; color:white; width:124px" %)DDS20-NB|(% style="width:91px" %)distance|(% style="width:102px" %)Battery|(% style="width:159px" %)RSSI|(% style="width:153px" %) |(% style="width:152px" %) |(% style="width:148px" %) |(% style="width:164px" %) |(% style="width:152px" %) |(% style="width:66px" %) |(% style="width:66px" %)
222 |(% style="background-color:#4f81bd; color:white; width:124px" %)DDS45-NB|(% style="width:91px" %)distance|(% style="width:102px" %)Battery|(% style="width:159px" %)RSSI|(% style="width:153px" %) |(% style="width:152px" %) |(% style="width:148px" %) |(% style="width:164px" %) |(% style="width:152px" %) |(% style="width:66px" %) |(% style="width:66px" %)
223 |(% style="background-color:#4f81bd; color:white; width:124px" %)DDS75-NB|(% style="width:91px" %)distance|(% style="width:102px" %)Battery|(% style="width:159px" %)RSSI|(% style="width:153px" %) |(% style="width:152px" %) |(% style="width:148px" %) |(% style="width:164px" %) |(% style="width:152px" %) |(% style="width:66px" %) |(% style="width:66px" %)
224 |(% style="background-color:#4f81bd; color:white; width:124px" %)NMDS120-NB|(% style="width:91px" %)distance|(% style="width:102px" %)Battery|(% style="width:159px" %)RSSI|(% style="width:153px" %) |(% style="width:152px" %) |(% style="width:148px" %) |(% style="width:164px" %) |(% style="width:152px" %) |(% style="width:66px" %) |(% style="width:66px" %)
225 |(% rowspan="1" style="background-color:#4f81bd; color:white; width:124px" %)SPH01-NB|(% style="width:91px" %)ph|(% style="width:102px" %)Temperature|(% style="width:159px" %)Battery|(% style="width:153px" %)RSSI|(% style="width:152px" %) |(% style="width:148px" %) |(% style="width:164px" %) |(% style="width:152px" %) |(% style="width:66px" %) |(% colspan="1" rowspan="1" style="width:66px" %)
226 |(% style="background-color:#4f81bd; color:white; width:124px" %)NLM01-NB|(% style="width:91px" %)Humidity|(% style="width:102px" %)Temperature|(% 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" %)
227 |(% 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" %)
228 |(% 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" %)
229 |(% 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
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" %)
236
237 == 3.4 Datacake ==
238
239
240
241
242 == 3.5 Node-Red (via MQTT) ==
243
244 === 3.5.1 Configure [[Node-Red>>http://wiki.dragino.com/xwiki/bin/view/Main/Node-RED/]] ===
245
246
247 [[image:image-20230802112413-29.png]]
248
249
250 [[image:image-20230802112413-30.png]]
251
252
253 === 3.5.2 Simulate Connection ===
254
255
256 [[image:image-20230802112413-31.png]]
257
258
259 === 3.5.3 Configure NB-IoT Sensors ===
260
261
262 * (% style="color:blue" %)**AT+PRO=3,0(hex format) or 3,5(json format)**(%%)    ~/~/  Set to mqtt Server and  Payload
263
264 * (% style="color:blue" %)**AT+CLIENT=any value**
265
266 * (% style="color:blue" %)**AT+UNAME=any value**
267
268 * (% style="color:blue" %)**AT+PWD=any value**
269
270 * (% style="color:blue" %)**AT+PUBTOPIC=any value**
271
272 * (% style="color:blue" %)**AT+SUBTOPIC=any value**
273
274 == 3.6 ThingsBoard.Cloud (via MQTT) ==
275
276 === 3.6.1 Configure ThingsBoard ===
277
278 ==== 3.6.1.1 Create Device ====
279
280
281 Create a New Device in [[ThingsBoard>>url:https://thingsboard.cloud/]]. Record Device Name which is used for MQTT connection.
282
283 [[image:image-20230802112413-32.png]]
284
285
286 ==== 3.6.1.2 Create Uplink & Downlink Converter ====
287
288
289 (% style="color:blue" %)**Uplink Converter**
290
291 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.
292
293 To create an uplink converter go to the (% style="color:blue" %)**Integrations center**(%%) -> (% style="color:blue" %)**Data converters**(%%) page and click (% style="color:blue" %)**“plus”** (%%)button. Name it (% style="color:blue" %)**“MQTT Uplink Converter”**(%%) and select type (% style="color:blue" %)"**Uplink"**(%%). Use debug mode for now.
294
295 [[image:image-20230802112413-33.png||height="732" width="1302"]]
296
297
298 (% style="color:blue" %)**Downlink Converter**
299
300 The Downlink converter transforming outgoing RPC message and then the Integration sends it to external MQTT broke
301
302 [[image:image-20230802112413-34.png||height="734" width="1305"]]
303
304 (% style="color:red" %)**Note:Our device payload is already human readable data. Therefore, users do not need to write decoders. Simply create by default.**
305
306
307 ==== 3.6.1.3 MQTT Integration Setup ====
308
309
310 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**;
311
312 [[image:image-20230802112413-35.png||height="738" width="1312"]]
313
314
315 * The next steps is to add the recently created uplink and downlink converters;
316
317 [[image:image-20230802112413-36.png||height="736" width="1308"]]
318
319 [[image:image-20230802112413-37.png||height="735" width="1307"]]
320
321
322 (% style="color:blue" %)**Add a topic filter:**
323
324 tb/mqtt-integration-tutorial/sensors~/~/temperature ~-~-> Temperature  **固定的? 对的。**
325
326 You can also select an MQTT QoS level. We use MQTT QoS level 0 (At most once) by default;
327
328 [[image:image-20230802112413-38.png||height="731" width="1300"]]
329
330
331 === 3.6.2 Simulate with MQTT.fx ===
332
333
334 [[image:image-20230802112413-39.png]]
335
336 [[image:image-20230802112413-40.png]]
337
338
339 === 3.6.3 Configure NB-IoT Sensor ===
340
341
342 (% style="color:blue" %)**AT Commands**
343
344 * (% style="color:#037691" %)**AT+PRO=3,3  **(%%)** **~/~/ Use MQTT to connect to ThingsBoard. Payload Type set to 3.
345
346 * (% style="color:#037691" %)**AT+SUBTOPIC=<device name>** (%%)
347 * (% style="color:#037691" %)**AT+PUBTOPIC=<device name>**
348 * (% style="color:#037691" %)**AT+CLIENT=<device name> or User Defined**
349 * (% style="color:#037691" %)**AT+UNAME=<device name> or User Defined**
350 * (% style="color:#037691" %)**AT+PWD=<device name> or User Defined**
351
352
353
354 Test Uplink by click the button for 1 second
355
356 [[image:image-20230802112413-41.png]]
357
358 [[image:image-20230802112413-42.png]]
359
360 [[image:image-20230802112413-43.png]]
361
362
363 == 3.7 [[Tago.io>>url:https://admin.tago.io/]] (via MQTT) ==
364
365 === 3.7.1 Create device & Get Credentials ===
366
367
368 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.
369
370 [[image:image-20230802112413-44.png]]
371
372 [[image:image-20230802112413-45.png]]
373
374
375 Go to the Device section and create a device. Then, go to the section tokens and copy your device-token.
376
377 [[image:image-20230802112413-46.png]]
378
379
380 On the Connection Profile window, set the following information: **(这边加一个截图)**
381
382 * (% style="color:blue" %)**Profile Name: “Any name”**
383
384 * (% style="color:blue" %)**Broker Address: mqtt.tago.io**
385
386 * (% style="color:blue" %)**Broker Port: 1883**
387
388 * (% style="color:blue" %)**Client ID: “Any value”**
389
390 On the section User credentials, set the following information: **(这边加一个截图)**
391
392 * (% style="color:blue" %)**User Name: “Any value”**  (%%) ~/~/  Tago validates your user by the token only
393
394 * (% style="color:blue" %)**Password: “Your device token”**
395
396 * (% style="color:blue" %)**PUBTOPIC: “Any value”**
397
398 * (% style="color:blue" %)**SUBTOPIC: “Any value”**
399
400 === 3.7.2 Simulate with MQTT.fx ===
401
402
403 [[image:image-20230802112413-47.png]]
404
405 [[image:image-20230802112413-48.png]]
406
407 Users can run the (% style="color:blue" %)**AT+PRO=3,5**(%%) command, and the payload will be converted to **JSON format**.
408
409
410 [[image:image-20230802112413-49.png]]
411
412
413 === 3.7.3 tago data ===
414
415
416 [[image:image-20230802112413-50.png]]
417
418 [[image:image-20230802112413-51.png||height="184" width="696"]]
419
420
421 === 3.7.4 TLS mode ===
422
423
424 Users can choose to use (% style="color:blue" %)**SSL/TLS**(%%) mode.
425
426 On the SSL/TLS section, check the option **Enable SSL/TLS**, and click OK.
427
428 The device needs to enable the TLS mode and set the (% style="color:blue" %)**AT+TLSMOD=1,0**(%%) command.
429
430 * (% style="color:blue" %)**Profile Name: “Any name”**
431
432 * (% style="color:blue" %)**Broker Address: mqtt.tago.io**
433
434 * (% style="color:blue" %)**Broker Port: 8883**
435
436 * (% style="color:blue" %)**Client ID: “Any value”**
437
438 * (% style="color:blue" %)**User Name: “Any value”** (%%) ~/~/ Tago validates your user by the token only
439
440 * (% style="color:blue" %)**Password: “Your device token”**
441
442 * (% style="color:blue" %)**PUBTOPIC: “Any value”**
443
444 * (% style="color:blue" %)**SUBTOPIC: “Any value”**
445
446 [[image:image-20230802112413-52.png]]
447
448
449