Last modified by Mengting Qiu on 2025/03/08 11:33
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,10 +8,3 @@ 1 -(% class="wikigeneratedid" %) 2 -**Table of Contents:** 3 - 4 -{{toc/}} 5 - 6 - 7 - 8 8 = 1. The use of this guideline = 9 9 10 10 ... ... @@ -16,87 +16,76 @@ 16 16 17 17 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. 18 18 19 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 20 -|(% style="background-color:#4f81bd; color:white" %)**SIM Provider**|(% style="background-color:#4f81bd; color:white" %)**APN**|(% style="background-color:#4f81bd; color:white" %)**NB-IoT Coverage**|(% style="background-color:#4f81bd; color:white" %)**Comments** 21 -|1NCE| | | 22 -|China Mobile| | | 23 23 24 24 == 2.1 1NCE SIM Card. == 25 25 26 26 16 +(% border="1" cellspacing="4" style="width:510px;background-color:#F2F2F2" %) 17 +|(% style="background-color:#4F81BD;color:white" %)SIM Provider|(% style="background-color:#4F81BD;color:white" %)APN|(% style="background-color:#4F81BD;color:white" %)NB-IoT Coverage|(% style="background-color:#4F81BD;color:white" %)Comments 18 +|1NCE| | | 19 +|China Mobile| | | 27 27 21 + 28 28 = 3. Configure to connect to different servers = 29 29 30 -== 3.1 General UDP Connection == 31 31 25 += NB-IoT 服务器对接例子 = 32 32 27 += 1. General UDP Connection = 28 + 33 33 The NB-IoT Sensor can send packet to server use UDP protocol. 34 34 31 +== 1.1 Simulate UDP Connection by PC tool == 35 35 36 -=== 3.1.1 Simulate UDP Connection by PC tool === 37 - 38 - 39 39 We can use PC tool to simulate UDP connection to make sure server works ok. 40 40 41 41 [[image:image-20230802112413-1.png]] 42 42 37 +== 1.2 Configure NB-IoT Sensor == 43 43 44 -=== 3.1.2 Configure NB-IoT Sensor===39 +=== 1.2.1 AT Commands === 45 45 46 - ==== 3.1.2.1AT Commands====41 +AT Commands: 47 47 43 +* AT+PRO=2,0 ~/~/ Set to use UDP protocol to uplink , Payload Type select Hex payload 44 +* AT+SERVADDR=120.24.4.116,5601 ~/~/ Set UDP server address and port 45 +* AT+CFM=1 ~/~/ If the server does not respond, this command is unnecessary 48 48 49 -(% style="color:blue" %)**AT Commands:** 50 - 51 -* (% style="color:#037691" %)**AT+PRO=2,0** (%%) ~/~/ Set to use UDP protocol to uplink ,Payload Type select Hex payload 52 - 53 -* (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5601** (%%) ~/~/ Set UDP server address and port 54 - 55 -* (% style="color:#037691" %)**AT+CFM=1** (%%) ~/~/ If the server does not respond, this command is unnecessary 56 - 57 57 [[image:image-20230802112413-2.png]] 58 58 49 +=== 1.2.2 Uplink Example === 59 59 60 -==== 3.1.2.2 Uplink Example ==== 61 61 62 - 63 63 [[image:image-20230802112413-3.png]] 64 64 65 65 66 -= =3.2=55 += 2. General MQTT Connection = 67 67 68 - 69 69 The NB-IoT Sensor can send packet to server use MQTT protocol. 70 70 71 -Below are the commands .59 +Below are the commands 72 72 73 - (% style="color:blue" %)**AT Commands:**61 +AT Commands: 74 74 75 -* (% style="color:#037691" %)**AT+PRO=3,0** (%%) ~/~/ Set to use MQTT protocol to uplink, Payload Type select Hex payload. 63 +* AT+PRO=3,0 ~/~/ Set to use MQTT protocol to uplink, Payload Type select Hex payload. 64 +* AT+SERVADDR=120.24.4.116,1883 ~/~/ Set MQTT server address and port 65 +* AT+CLIENT=CLIENT ~/~/ Set up the CLIENT of MQTT 66 +* AT+UNAME=UNAME ~/~/ Set the username of MQTT 67 +* AT+PWD=PWD ~/~/ Set the password of MQTT 68 +* AT+PUBTOPIC=NSE01_PUB ~/~/ Set the sending topic of MQTT 69 +* AT+SUBTOPIC=NSE01_SUB ~/~/ Set the subscription topic of MQTT 76 76 77 -* (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,1883** (%%) ~/~/ Set MQTT server address and port 78 - 79 -* (% style="color:#037691" %)**AT+CLIENT=CLIENT** (%%) ~/~/ Set up the CLIENT of MQTT 80 - 81 -* (% style="color:#037691" %)**AT+UNAME=UNAME** (%%) ~/~/ Set the username of MQTT 82 - 83 -* (% style="color:#037691" %)**AT+PWD=PWD** (%%) ~/~/ Set the password of MQTT 84 - 85 -* (% style="color:#037691" %)**AT+PUBTOPIC=NSE01_PUB** (%%) ~/~/ Set the sending topic of MQTT 86 - 87 -* (% style="color:#037691" %)**AT+SUBTOPIC=NSE01_SUB** (%%) ~/~/ Set the subscription topic of MQTT 88 - 89 89 [[image:image-20230802112413-4.png]] 90 90 91 91 [[image:image-20230802112413-5.png]] 92 92 93 - (% 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.**75 +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. 94 94 95 95 96 -== 3.3 [[ThingSpeak>>url:https://thingspeak.com/]] (via MQTT) == 97 97 98 -= ==3.3.1Get MQTTCredentials===79 += 3. [[ThingSpeak>>url:https://thingspeak.com/]] (via MQTT) = 99 99 81 +== 1.1 Get MQTT Credentials == 100 100 101 101 [[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. 102 102 ... ... @@ -105,71 +105,58 @@ 105 105 [[image:image-20230802112413-7.png]] 106 106 107 107 108 -== 3.3.290 +== 1.2. Simulate with MQTT.fx == 109 109 110 -=== 3.3.2.1 Establish MQTT Connection ===92 +=== 1.2.1 Establish MQTT Connection === 111 111 112 - 113 113 After we got MQTT Credentials, we can first simulate with PC tool MQTT.fx tool to see if the Credentials and settings are fine. 114 114 115 115 [[image:image-20230802112413-8.png]] 116 116 117 -* (% style="color:#037691" %)**Broker Address:**(%%) mqtt3.thingspeak.com 98 +* Broker Address: mqtt3.thingspeak.com 99 +* Broker Port: 1883 100 +* Client ID: <Your ThingSpeak MQTT ClientID> 101 +* User Name: <Your ThingSpeak MQTT User Name> 102 +* Password: <Your ThingSpeak MQTT Password> 118 118 119 -* (% style="color:#037691" %)**Broker Port:**(%%) 1883 120 120 121 - * (% style="color:#037691"%)**ClientID:**(%%)<YourThingSpeakMQTTClientID>105 +=== 1.2.2 Publish Data to ThingSpeak Channel === 122 122 123 -* (% style="color:#037691" %)**User Name:**(%%) <Your ThingSpeak MQTT User Name> 124 - 125 -* (% style="color:#037691" %)**Password:**(%%) <Your ThingSpeak MQTT Password> 126 - 127 - 128 - 129 -=== 3.3.2.2 Publish Data to ThingSpeak Channel === 130 - 131 131 [[image:image-20230802112413-9.png]] 132 132 133 133 [[image:image-20230802112413-10.png]] 134 134 135 - (% style="color:blue" %)**In MQTT.fx, we can publish below info:**111 +In MQTT.fx, we can publish below info: 136 136 137 -* (% style="color:#037691" %)**Topic:**(%%) channels/YOUR_CHANNEL_ID/publish 113 +* Topic: channels/YOUR_CHANNEL_ID/publish 114 +* Payload: field1=63&field2=67&status=MQTTPUBLISH 138 138 139 -* (% style="color:#037691" %)**Payload:**(%%) field1=63&field2=67&status=MQTTPUBLISH 140 140 141 141 Where 63 and 67 are the value to be published to field1 & field2. 142 142 143 143 144 - (% style="color:blue" %)**Result:**120 +Result: 145 145 146 146 [[image:image-20230802112413-11.png]] 147 147 148 148 149 -== 3.3 Configure NB-IoT Sensor for connection ==125 +== 1.3 Configure NB-IoT Sensor for connection == 150 150 151 -=== 3.3.1 AT Commands: ===127 +=== 1.3.1 AT Commands: === 152 152 153 - 154 154 In the NB-IoT, we can run below commands so to publish the channels like MQTT.fx 155 155 156 -* **AT+PRO=3,1** ~/~/ Set to use ThingSpeak Server and Related Payload 131 +* AT+PRO=3,1 ~/~/Set to use ThingSpeak Server and Related Payload 132 +* AT+CLIENT=<Your ThingSpeak MQTT ClientID> 133 +* AT+UNAME=<Your ThingSpeak MQTT User Name> 134 +* AT+PWD=<Your ThingSpeak MQTT Password> 135 +* AT+PUBTOPIC=<YOUR_CHANNEL_ID> 136 +* AT+SUBTOPIC=<YOUR_CHANNEL_ID> 157 157 158 -* **AT+CLIENT=<Your ThingSpeak MQTT ClientID>** 159 159 160 -* **AT+UNAME=<Your ThingSpeak MQTT User Name>** 161 161 162 - * **AT+PWD=<YourThingSpeakMQTT Password>**140 +=== 1.3.2 Uplink Examples === 163 163 164 -* **AT+PUBTOPIC=<YOUR_CHANNEL_ID>** 165 - 166 -* **AT+SUBTOPIC=<YOUR_CHANNEL_ID>** 167 - 168 - 169 - 170 -=== 3.3.2 Uplink Examples === 171 - 172 - 173 173 For S31-NB 174 174 175 175 For SE01-NB ... ... @@ -195,9 +195,8 @@ 195 195 For SN50V3-NB 196 196 197 197 198 -=== 3.3.3Map fields to sensor value ===167 +=== 1.3.2 Map fields to sensor value === 199 199 200 - 201 201 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. 202 202 203 203 ... ... @@ -208,116 +208,112 @@ 208 208 209 209 Below is the NB-IoT Product Table show the mapping. 210 210 211 -(% border="1" cellspacing="4" style="width:1386px" %) 212 -|(% style="width:124px" %) |(% colspan="1" rowspan="1" style="width:91px" %)Field1|(% colspan="1" rowspan="1" style="width:102px" %)Field2|(% colspan="1" rowspan="1" style="width:159px" %)Field3|(% colspan="1" rowspan="1" style="width:153px" %)Field4|(% colspan="1" rowspan="1" style="width:152px" %)Field5|(% colspan="1" rowspan="1" style="width:148px" %)Field6|(% colspan="1" rowspan="1" style="width:164px" %)Field7|(% colspan="1" rowspan="1" style="width:152px" %)Field8|(% colspan="1" rowspan="1" style="width:66px" %)((( 179 +|(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %)Field1|(% colspan="1" rowspan="1" %)Field2|(% colspan="1" rowspan="1" %)Field3|(% colspan="1" rowspan="1" %)Field4|(% colspan="1" rowspan="1" %)Field5|(% colspan="1" rowspan="1" %)Field6|(% colspan="1" rowspan="1" %)Field7|(% colspan="1" rowspan="1" %)Field8|(% colspan="1" rowspan="1" %)((( 213 213 Field9 214 214 215 215 216 -)))|(% colspan="1" rowspan="1" style="width:66px"%)(((183 +)))|(% colspan="1" rowspan="1" %)((( 217 217 Field10 218 218 219 219 220 220 ))) 221 -|(% colspan="1" rowspan="1" style="width:124px"%)S31x-NB|(% colspan="1" rowspan="1"style="width:91px"%)Temperature |(% colspan="1" rowspan="1"style="width:102px"%)Humidity|(% colspan="1" rowspan="1"style="width:159px"%)Battery|(% colspan="1" rowspan="1"style="width:153px"%)RSSI|(% 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"%)222 -|(% colspan="1" rowspan="1" style="width:124px"%)SE01-NB|(% colspan="1" rowspan="1"style="width:91px"%)Temperature |(% colspan="1" rowspan="1"style="width:102px"%)Humidity|(% colspan="1" rowspan="1"style="width:159px"%)conduct|(% colspan="1" rowspan="1"style="width:153px"%)dielectric_constant|(% colspan="1" rowspan="1"style="width:152px"%)Battery|(% colspan="1" rowspan="1"style="width:148px"%)RSSI|(% 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"%)223 -|(% colspan="1" rowspan="1" style="width:124px"%)DDS20-NB|(% colspan="1" rowspan="1"style="width:91px"%)distance|(% colspan="1" rowspan="1"style="width:102px"%)(((188 +|(% colspan="1" rowspan="1" %)S31x-NB|(% colspan="1" rowspan="1" %)Temperature |(% colspan="1" rowspan="1" %)Humidity|(% colspan="1" rowspan="1" %)Battery|(% colspan="1" rowspan="1" %)RSSI|(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) 189 +|(% colspan="1" rowspan="1" %)SE01-NB|(% colspan="1" rowspan="1" %)Temperature |(% colspan="1" rowspan="1" %)Humidity|(% colspan="1" rowspan="1" %)conduct|(% colspan="1" rowspan="1" %)dielectric_constant|(% colspan="1" rowspan="1" %)Battery|(% colspan="1" rowspan="1" %)RSSI|(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) 190 +|(% colspan="1" rowspan="1" %)DDS20-NB|(% colspan="1" rowspan="1" %)distance|(% colspan="1" rowspan="1" %)((( 224 224 Battery 225 225 226 226 227 -)))|(% colspan="1" rowspan="1" style="width:159px"%)RSSI|(% 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"%)228 -|(% colspan="1" rowspan="1" style="width:124px"%)DDS45-NB|(% colspan="1" rowspan="1"style="width:91px"%)distance|(% colspan="1" rowspan="1"style="width:102px"%)(((194 +)))|(% colspan="1" rowspan="1" %)RSSI|(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) 195 +|(% colspan="1" rowspan="1" %)DDS45-NB|(% colspan="1" rowspan="1" %)distance|(% colspan="1" rowspan="1" %)((( 229 229 Battery 230 230 231 231 232 -)))|(% colspan="1" rowspan="1" style="width:159px"%)RSSI|(% 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"%)233 -|(% colspan="1" rowspan="1" style="width:124px"%)DDS75-NB|(% colspan="1" rowspan="1"style="width:91px"%)distance|(% colspan="1" rowspan="1"style="width:102px"%)(((199 +)))|(% colspan="1" rowspan="1" %)RSSI|(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) 200 +|(% colspan="1" rowspan="1" %)DDS75-NB|(% colspan="1" rowspan="1" %)distance|(% colspan="1" rowspan="1" %)((( 234 234 Battery 235 235 236 236 237 -)))|(% colspan="1" rowspan="1" style="width:159px"%)RSSI|(% 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"%)238 -|(% colspan="1" rowspan="1" style="width:124px"%)NMDS120-NB|(% colspan="1" rowspan="1"style="width:91px"%)distance|(% colspan="1" rowspan="1"style="width:102px"%)(((204 +)))|(% colspan="1" rowspan="1" %)RSSI|(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) 205 +|(% colspan="1" rowspan="1" %)NMDS120-NB|(% colspan="1" rowspan="1" %)distance|(% colspan="1" rowspan="1" %)((( 239 239 Battery 240 240 241 241 242 -)))|(% colspan="1" rowspan="1" style="width:159px"%)RSSI|(% 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"%)243 -|(% colspan="1" rowspan="1" style="width:124px"%)SPH01-NB|(% colspan="1" rowspan="1"style="width:91px"%)ph|(% colspan="1" rowspan="1"style="width:102px"%)Temperature|(% colspan="1" rowspan="1"style="width:159px"%)Battery|(% colspan="1" rowspan="1"style="width:153px"%)RSSI|(% 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"%)244 -|(% colspan="1" rowspan="1" style="width:124px"%)NLM01-NB|(% colspan="1" rowspan="1"style="width:91px"%)Humidity|(% colspan="1" rowspan="1"style="width:102px"%)Temperature|(% colspan="1" rowspan="1"style="width:159px"%)Battery|(% colspan="1" rowspan="1"style="width:153px"%)RSSI|(% 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"%)245 -|(% colspan="1" rowspan="1" style="width:124px"%)NMDS200-NB|(% colspan="1" rowspan="1"style="width:91px"%)distance1|(% colspan="1" rowspan="1"style="width:102px"%)distance2|(% colspan="1" rowspan="1"style="width:159px"%)Battery|(% colspan="1" rowspan="1"style="width:153px"%)RSSI|(% 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"%)246 -|(% colspan="1" rowspan="1" style="width:124px"%)CPN01-NB|(% colspan="1" rowspan="1"style="width:91px"%)alarm|(% colspan="1" rowspan="1"style="width:102px"%)count|(% colspan="1" rowspan="1"style="width:159px"%)door open duration|(% colspan="1" rowspan="1"style="width:153px"%)calc flag|(% colspan="1" rowspan="1"style="width:152px"%)Battery|(% colspan="1" rowspan="1"style="width:148px"%)RSSI|(% 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"%)247 -|(% colspan="1" rowspan="1" style="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"%)RSSI248 -|(% colspan="1" rowspan="1" style="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"%)249 -|(% colspan="1" rowspan="1" style="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"%)250 -|(% colspan="1" rowspan="1" style="width:124px"%)mod2|(% 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"%)(((209 +)))|(% colspan="1" rowspan="1" %)RSSI|(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) 210 +|(% colspan="1" rowspan="1" %)SPH01-NB|(% colspan="1" rowspan="1" %)ph|(% colspan="1" rowspan="1" %)Temperature|(% colspan="1" rowspan="1" %)Battery|(% colspan="1" rowspan="1" %)RSSI|(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) 211 +|(% colspan="1" rowspan="1" %)NLM01-NB|(% colspan="1" rowspan="1" %)Humidity|(% colspan="1" rowspan="1" %)Temperature|(% colspan="1" rowspan="1" %)Battery|(% colspan="1" rowspan="1" %)RSSI|(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) 212 +|(% colspan="1" rowspan="1" %)NMDS200-NB|(% colspan="1" rowspan="1" %)distance1|(% colspan="1" rowspan="1" %)distance2|(% colspan="1" rowspan="1" %)Battery|(% colspan="1" rowspan="1" %)RSSI|(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) 213 +|(% colspan="1" rowspan="1" %)CPN01-NB|(% colspan="1" rowspan="1" %)alarm|(% colspan="1" rowspan="1" %)count|(% colspan="1" rowspan="1" %)door open duration|(% colspan="1" rowspan="1" %)calc flag|(% colspan="1" rowspan="1" %)Battery|(% colspan="1" rowspan="1" %)RSSI|(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) 214 +|(% colspan="1" rowspan="1" %)DS03A-NB|(% colspan="1" rowspan="1" %)level|(% colspan="1" rowspan="1" %)alarm|(% colspan="1" rowspan="1" %)pb14door open num|(% colspan="1" rowspan="1" %)pb14 last open time|(% colspan="1" rowspan="1" %)pb15 level status|(% colspan="1" rowspan="1" %)pb15 alarm status|(% colspan="1" rowspan="1" %)pb15 door open num|(% colspan="1" rowspan="1" %)pb15 last open time|(% colspan="1" rowspan="1" %)Battery|(% colspan="1" rowspan="1" %)RSSI 215 +|(% colspan="1" rowspan="1" %)SN50V3-NB|(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) 216 +|(% colspan="1" rowspan="1" %)mod1|(% colspan="1" rowspan="1" %)mod|(% colspan="1" rowspan="1" %)Battery|(% colspan="1" rowspan="1" %)RSSI|(% colspan="1" rowspan="1" %)DS18B20 Temp|(% colspan="1" rowspan="1" %)exit_state/input PA4|(% colspan="1" rowspan="1" %)adc0|(% colspan="1" rowspan="1" %)Temperature |(% colspan="1" rowspan="1" %)Humidity|(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) 217 +|(% colspan="1" rowspan="1" %)mod2|(% colspan="1" rowspan="1" %)mod|(% colspan="1" rowspan="1" %)Battery|(% colspan="1" rowspan="1" %)RSSI|(% colspan="1" rowspan="1" %)((( 251 251 DS18B20 Temp 252 252 253 253 254 -)))|(% colspan="1" rowspan="1" style="width:152px"%)(((221 +)))|(% colspan="1" rowspan="1" %)((( 255 255 exit_state/input PA4 256 256 257 257 258 -)))|(% colspan="1" rowspan="1" style="width:148px"%)adc0|(% colspan="1" rowspan="1"style="width:164px"%)distance|(% colspan="1" rowspan="1"style="width:152px"%) |(% colspan="1" rowspan="1"style="width:66px"%) |(% colspan="1" rowspan="1"style="width:66px"%)259 -|(% colspan="1" rowspan="1" style="width:124px"%)mod3|(% colspan="1" rowspan="1"style="width:91px"%)mod|(% colspan="1" rowspan="1"style="width:102px"%)(((225 +)))|(% colspan="1" rowspan="1" %)adc0|(% colspan="1" rowspan="1" %)distance|(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) 226 +|(% colspan="1" rowspan="1" %)mod3|(% colspan="1" rowspan="1" %)mod|(% colspan="1" rowspan="1" %)((( 260 260 Battery 261 261 262 262 263 -)))|(% colspan="1" rowspan="1" style="width:159px"%)RSSI|(% colspan="1" rowspan="1"style="width:153px"%)adc0|(% colspan="1" rowspan="1"style="width:152px"%)(((230 +)))|(% colspan="1" rowspan="1" %)RSSI|(% colspan="1" rowspan="1" %)adc0|(% colspan="1" rowspan="1" %)((( 264 264 exit_state/input PA4 265 265 266 266 267 -)))|(% colspan="1" rowspan="1" style="width:148px"%)adc1|(% colspan="1" rowspan="1"style="width:164px"%)Temperature|(% colspan="1" rowspan="1"style="width:152px"%)Humidity|(% colspan="1" rowspan="1"style="width:66px"%)adc4|(% colspan="1" rowspan="1"style="width:66px"%)268 -|(% colspan="1" rowspan="1" style="width:124px"%)mod4|(% colspan="1" rowspan="1"style="width:91px"%)mod|(% colspan="1" rowspan="1"style="width:102px"%)(((234 +)))|(% colspan="1" rowspan="1" %)adc1|(% colspan="1" rowspan="1" %)Temperature|(% colspan="1" rowspan="1" %)Humidity|(% colspan="1" rowspan="1" %)adc4|(% colspan="1" rowspan="1" %) 235 +|(% colspan="1" rowspan="1" %)mod4|(% colspan="1" rowspan="1" %)mod|(% colspan="1" rowspan="1" %)((( 269 269 Battery 270 270 271 271 272 -)))|(% colspan="1" rowspan="1" style="width:159px"%)RSSI|(% colspan="1" rowspan="1"style="width:153px"%)(((239 +)))|(% colspan="1" rowspan="1" %)RSSI|(% colspan="1" rowspan="1" %)((( 273 273 DS18B20 Temp 274 274 275 275 276 -)))|(% colspan="1" rowspan="1" style="width:152px"%)adc0|(% colspan="1" rowspan="1"style="width:148px"%)(((243 +)))|(% colspan="1" rowspan="1" %)adc0|(% colspan="1" rowspan="1" %)((( 277 277 exit_state/input PA4 278 278 279 279 280 -)))|(% colspan="1" rowspan="1" style="width:164px"%)(((247 +)))|(% colspan="1" rowspan="1" %)((( 281 281 DS18B20 Temp2 282 282 283 283 284 -)))|(% colspan="1" rowspan="1" style="width:152px"%)(((251 +)))|(% colspan="1" rowspan="1" %)((( 285 285 DS18B20 Temp3 286 286 287 287 288 -)))|(% colspan="1" rowspan="1" style="width:66px"%) |(% colspan="1" rowspan="1"style="width:66px"%)289 -|(% colspan="1" rowspan="1" style="width:124px"%)mod5|(% colspan="1" rowspan="1"style="width:91px"%)mod|(% colspan="1" rowspan="1"style="width:102px"%)(((255 +)))|(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) 256 +|(% colspan="1" rowspan="1" %)mod5|(% colspan="1" rowspan="1" %)mod|(% colspan="1" rowspan="1" %)((( 290 290 Battery 291 291 292 292 293 -)))|(% colspan="1" rowspan="1" style="width:159px"%)RSSI|(% colspan="1" rowspan="1"style="width:153px"%)(((260 +)))|(% colspan="1" rowspan="1" %)RSSI|(% colspan="1" rowspan="1" %)((( 294 294 DS18B20 Temp 295 295 296 296 297 -)))|(% colspan="1" rowspan="1" style="width:152px"%)adc0|(% colspan="1" rowspan="1"style="width:148px"%)(((264 +)))|(% colspan="1" rowspan="1" %)adc0|(% colspan="1" rowspan="1" %)((( 298 298 exit_state/input PA4 299 299 300 300 301 -)))|(% colspan="1" rowspan="1" style="width:164px"%)Weight|(% colspan="1" rowspan="1"style="width:152px"%) |(% colspan="1" rowspan="1"style="width:66px"%) |(% colspan="1" rowspan="1"style="width:66px"%)302 -|(% colspan="1" rowspan="1" style="width:124px"%)mod6|(% colspan="1" rowspan="1"style="width:91px"%)mod|(% colspan="1" rowspan="1"style="width:102px"%)(((268 +)))|(% colspan="1" rowspan="1" %)Weight|(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) 269 +|(% colspan="1" rowspan="1" %)mod6|(% colspan="1" rowspan="1" %)mod|(% colspan="1" rowspan="1" %)((( 303 303 Battery 304 304 305 305 306 -)))|(% colspan="1" rowspan="1" style="width:159px"%)RSSI|(% colspan="1" rowspan="1"style="width:153px"%)count|(% 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"%)273 +)))|(% colspan="1" rowspan="1" %)RSSI|(% colspan="1" rowspan="1" %)count|(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) |(% colspan="1" rowspan="1" %) 307 307 308 308 276 += 4. Datacake = 309 309 278 +== 1.1 Define Product == 310 310 311 -= =3.4 Datacake==280 +Firstly, we need to set the MQTT mode to datacake, and we need to run AT+PRO=3,2. This command is set to datacake. After running the command, the device automatically sets the server address, port. 312 312 313 -== 3.4.1 Define Product == 314 314 283 +By chosing to add the device under a "New Product" you are required to give a name for this product. You can name it something like "My First MQTT Product". 315 315 316 -Firstly, we need to set the MQTT mode to datacake, and we need to run** AT+PRO=3,2**. This command is set to datacake. After running the command, the device automatically sets the server address, port. 317 - 318 - 319 -By chosing to add the device under a **"New Product"** you are required to give a name for this product. You can name it something like "My First MQTT Product". 320 - 321 321 [[image:image-20230802112413-14.png]] 322 322 323 323 == 1.2 Create Device == ... ... @@ -431,7 +431,7 @@ 431 431 432 432 [[image:image-20230802112413-30.png]] 433 433 434 -== 1.2 Simulate Connection == 398 +== 1.2 Simulate Connection == 435 435 436 436 [[image:image-20230802112413-31.png]] 437 437 ... ... @@ -444,9 +444,10 @@ 444 444 * AT+PUBTOPIC=any value 445 445 * AT+SUBTOPIC=any value 446 446 411 + 447 447 = 6. ThingsBoard.Cloud (via MQTT) = 448 448 449 -== 1.1 Configure ThingsBoard == 414 +== 1.1 Configure ThingsBoard == 450 450 451 451 === 1.1.1 Create Device === 452 452 ... ... @@ -553,6 +553,7 @@ 553 553 * Broker Port: 1883 554 554 * Client ID: “Any value” 555 555 521 + 556 556 On the section User credentials, set the following information:(这边加一个截图) 557 557 558 558 * User Name: “Any value” Tago validates your user by the token only ... ... @@ -560,6 +560,7 @@ 560 560 * PUBTOPIC: “Any value” 561 561 * SUBTOPIC: “Any value” 562 562 529 + 563 563 == 5.2 Simulate with MQTT.fx == 564 564 565 565 [[image:image-20230802112413-47.png]] ... ... @@ -594,6 +594,7 @@ 594 594 * PUBTOPIC: “Any value” 595 595 * SUBTOPIC: “Any value” 596 596 564 + 597 597 [[image:image-20230802112413-52.png]] 598 598 599 599