Changes for page General Manual for -CB , -CS models
Last modified by Mengting Qiu on 2025/03/08 11:35
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 1 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. David1 +XWiki.Edwin - Content
-
... ... @@ -1,466 +1,393 @@ 1 - 1 +~(% class="wikigeneratedid" id="HTableofContents:" %) 2 +~*~*Table of Contents:~*~* 2 2 4 +~{~{toc/}} 3 3 4 -(% class="wikigeneratedid" id="HTableofContents:" %) 5 -**Table of Contents:** 6 6 7 -{{toc/}} 8 8 9 -= 1. The use of this guideline = 10 10 11 - Thisconfigure instruction is for Dragino NB-IoT models with -CB or -CS suffix, for example DDS75-CB. Thesemodelsusethe same NB-IoTModule **[[BG95-M2>>https://www.dropbox.com/sh/3ilyaswz4odgaru/AADR86cAgL9UGlmLuEH-UZgla?st=x1ry6v5j&dl=0]]**and has the same software structure. The have the same configureinstruction todifferent IoT servers. Use can follow theinstruction hereto see how to configure to connect to those servers.9 +~= 1. The use of this guideline = 12 12 13 13 14 - =2.Attach Network=12 +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. 15 15 16 -== 2.1 General Configure to attach network == 17 17 18 - Toattacheend nodes toNB-IoT or LTE-M Network,You need to:15 +~= 2. Attach Network = 19 19 20 -1. Get a NB-IoT or LTE-M SIM card from Service Provider. (Not the same as the SIM card we use in mobile phone) 21 -1. Power Off End Node ( See below for the power off/on position) 22 -1. Insert the SIM card to Sensor. ( See below for direction) 23 -1. Power On End Node 24 -1. [[Configure APN>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20configure%20APN%20in%20the%20node/]] in the sensor (AT+APN=<APN>), example AT+APN=iot.1nce.net 17 +~== 2.1 General Configure to attach network == 25 25 26 -[[image:image-20240602220856-1.png]] 27 27 20 +To attache NB-IoT sensors to NB-IoT Network, You need to: 28 28 29 -放一张如何插卡图片。 22 +~1. Get a NB-IoT SIM card from Service Provider. (Not the same as the SIM card we use in mobile phone) 23 +~1. Power Off End Node ( See below for the power off/on position) 24 +~1. Insert the SIM card to Sensor. ( See below for direction) 25 +~1. Power On End Node 26 +~1. ~[~[Configure APN>>http:~/~/wiki.dragino.com/xwiki/bin/view/Main/How%20to%20configure%20APN%20in%20the%20node/]] in the sensor (AT+APN=<APN>), example AT+APN=iot.1nce.net 30 30 28 +~[~[image~:image-20240208102804-1.png||height="286" width="696"]] 31 31 32 - After doingbove, the end nodes should beable to attachoNB-IoT network .30 +~[~[image~:image-20230808205045-1.png||height="293" width="438"]] 33 33 34 - The-CBand-CSmodelssupport(%style="color:blue"%)**LTECat NB2 and LTE-M (CAT-M1)**(%%),with belowfrequencyband: multiple frequency bands of32 +After doing above, the NB-IoT Sensors should be able to attach to NB-IoT network . 35 35 36 - ~-~-(% style="color:blue" %)**CAT-NB2: B1/B2/B3/B4/B5/B8/B12/B13/B18/B19/B20/B25/B28/B66/B71/B8534 +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. 37 37 38 -~-~-(% style="color:blue" %)** CAT-M1: B1/B2/B3/B4/B5/B8/B12/B13/B18/B19/B20/B25/B26/B27/B28/B66/B85 **(%%). 36 +~(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:878px" %) 37 +~|~(% style="background-color:#4f81bd; color:white; width:117px" %)~*~*SIM Provider~*~*|~(% style="background-color:#4f81bd; color:white; width:151px" %)~*~*AT+APN=~*~*|~(% style="background-color:#4f81bd; color:white; width:474px" %)~*~*NB-IoT Coverage~*~*|~(% style="background-color:#4f81bd; color:white; width:135px" %)~*~*Comments~*~* 38 +~|~(% style="width:117px" %)~*~*~[~[1NCE>>https:~/~/1nce.com]]~*~*|~(% style="width:151px" %)iot.1nce.net|~(% style="width:474px" %)~(~(~( 39 +~*~*~[~[Coverage Reference Link>>https:~/~/1nce.com/en-ap/1nce-connect]]~*~* 39 39 40 -Make sure you use a the NB-IoT or LTE-M SIM card. 41 +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, UK, US Virgin Islands 42 +~)~)~)|~(% style="width:135px" %)UK: Band20 43 +~|~(% style="width:117px" %)China Mobile|~(% style="width:151px" %)No need configure|~(% style="width:474px" %)China Mainland, HongKong|~(% style="width:135px" %) 44 +~|~(% style="width:117px" %)China Telecom|~(% style="width:151px" %)ctnb|~(% style="width:474px" %)China Mainland|~(% style="width:135px" %) 41 41 42 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1134px" %) 43 -|(% style="background-color:#4f81bd; color:white; width:117px" %)**SIM Provider**|(% style="background-color:#4f81bd; color:white; width:151px" %)**AT+APN=**|(% style="background-color:#4f81bd; color:white; width:406px" %)**NB-IoT Coverage**|(% style="background-color:#4f81bd; color:white; width:351px" %)**LTE-M Coverage**|(% style="background-color:#4f81bd; color:white; width:120px" %)**Comments** 44 -|(% style="width:117px" %)**[[1NCE>>https://1nce.com]]**|(% style="width:151px" %)iot.1nce.net|(% style="width:406px" %)((( 45 -**[[Coverage Reference Link>>https://1nce.com/en-ap/1nce-connect]]** 46 +~== 2.2 Speed Up Network Attach time == 46 46 47 -Austria, Belgium, Bulgaria, China, Croatia, Czech Republic, Denmark, Estonia, Finland, Germany, Great Britain, Greece, Hungary, Ireland,Italy, Latvia, Malta, Netherlands, Norway, Portugal, Puerto Rico, Russia, Slovak,Republic, Slovenia, Spain, Sweden, Switzerland, Taiwan, USA, US Virgin Islands 48 -)))|(% style="width:351px" %)((( 49 -Argentina, Austria, Australia, Belgium, Canada, Denmark,Estonia, Finland, France, Germany, Great Britain, Hungary, Ireland, Japan,Jersey, Korea, Repiblic of, Latvia, Luxembourg, Mexico, Netherlands, New Zealand, Norway, Poland, Puerto Rico, Romania, Spain, Sweden, Switzerland,Taiwan, USA, US Virgin Islands. 50 -)))|(% style="width:120px" %)UK: Band20 51 -|(% style="width:117px" %)China Mobile|(% style="width:151px" %)No need configure|(% style="width:406px" %)China Mainland, HongKong|(% style="width:351px" %) |(% style="width:120px" %) 52 -|(% style="width:117px" %)China Telecom|(% style="width:151px" %)ctnb|(% style="width:406px" %)China Mainland|(% style="width:351px" %) |(% style="width:120px" %) 53 53 54 -= =2.2SpeedUpNetworkAttach time==49 +BC660K-GL supports multi bands ~(% style="color:blue" %)~*~*B1/B2/B3/B4/B5/B8/B12/B13/B14/B17/B18/B19/B20/B25/B28/B66/B70/B85. ~*~*~(%%) It will search one by one and try to attach, this will take a lot of time and even cause attach fail and show ~*~*Signal Strenght:99~*~*. User can lock the band to specify band for its operator to make this faster. 55 55 56 -**BG95-M2** supports multi bands (% style="color:blue" %)**in NB-IoT and LTE-M. **(%%) It will search one by one and try to attach, this will take a lot of time and even cause attach fail and show **Signal Strenght:99**. 51 +~(% style="color:#037691" %)~*~*AT+QBAND? ~*~*~(%%) ~~/~~/ Check what is the current used frequency band 52 +~(% style="color:#037691" %)~*~*AT+QBAND=1,4 ~*~*~(%%) ~~/~~/ Set to use 1 frequency band. Band4 53 +~(% style="color:#037691" %)~*~*Europe General~*~*~(%%) ~*~*AT+QBAND=2,8,20 ~*~* ~~/~~/ Set to use 2 frequency bands. Band 8 and Band 20 54 +~(% style="color:#037691" %)~*~*Global General~*~*~(%%) : ~*~*AT+QBAND=10,8,20,28,2,4,12,13,66,85,5~*~* 57 57 58 -**Note:**Before using the NB module command, users need to power on the NB module. Run the AT+QSW command to turn on and off the NB module.Remember to shut down after using the NB module command, otherwise it will consume power. 56 +~(% style="color:#037691" %)~*~*Verizon~*~*~(%%)~*~* ~*~* AT+QBAND=1,13 57 +~(% style="color:#037691" %)~*~*AT&T~*~*~(%%) AT+QBAND=3,12,4,2 58 +~(% style="color:#037691" %)~*~*Telstra~*~*~(%%) AT+QBAND=1,28 59 +~(% style="color:#037691" %)~*~*Softband~*~*~(%%) AT+QBAND=2,3,8 59 59 60 -At tache to1NCEcardfor Australiause:61 +After connection is successful, user can use ~(% style="color:#037691" %)~*~*AT+QENG=0 ~*~*~(%%) to check which band is actually in used. 61 61 62 -* AT+COPS=1,2,"50501",8 63 -* AT+QCFG="band",0,0x8000000,0x8000000,1 64 64 65 - After connectionis successful, user can use(% style="color:#037691"%)**AT+QENG="servingcell"**(%%)tocheckwhichband istuallyinused.64 +See bands used for different provider:~*~* ~[~[NB-IoT Deployment , Bands, Operator list>>http:~/~/wiki.dragino.com/xwiki/bin/view/Main/NB-IoT%20Deployment%20%2C%20Bands%2C%20Operator%20list/]]~*~* 66 66 67 -AT+QENG="servingcell" 68 -+QENG: "servingcell","NOCONN","eMTC","FD 69 -D",505,01,90D2C0B,258,9410,28,5,5,901A,-112,-17,-80,10,27 70 70 67 +~= 3. Configure to connect to different servers = 71 71 72 - Seebandsused for different provider:** [[NB-IoT Deployment , Bands, Operatorlist>>http://wiki.dragino.com/xwiki/bin/view/Main/NB-IoT%20Deployment%20%2C%20Bands%2C%20Operator%20list/]]**69 +~== 3.1 General UDP Connection == 73 73 74 -**1.Configure Frequency Band** 75 75 76 - AT+QCFG="band"[,<GSM_bandval>,<eMTC_bandval>,<NB-IoT_bandval>[,<effect>]]72 +The NB-IoT Sensor can send packet to server use UDP protocol. 77 77 78 -<GSM_bandval>: 79 79 80 -0 No change 81 -0x1 EGSM900 82 -0x2 DCS1800 83 -0x4 GSM850 84 -0x8 PCS1900 85 -0xF All of the supported bands above 75 +~=== 3.1.1 Simulate UDP Connection by PC tool === 86 86 87 -<eMTC_bandval>: 88 88 89 -0 No change 90 -0x1 LTE B1 91 -0x2 LTE B2 92 -0x4 LTE B3 93 -0x8 LTE B4 94 -0x10 LTE B5 95 -0x80 LTE B8 96 -0x800 LTE B12 97 -0x1000 LTE B13 98 -0x20000 LTE B18 99 -0x40000 LTE B19 100 -0x80000 LTE B20 101 -0x1000000 LTE B25 102 -0x2000000 LTE B26 103 -0x4000000 LTE B27 104 -0x8000000 LTE B28 105 -0x40000000 LTE B31 106 -0x20000000000000000 LTE B66 107 -0x800000000000000000 LTE B72 108 -0x1000000000000000000 LTE B73 109 -0x1000000000000000000000 LTE B85 78 +We can use PC tool to simulate UDP connection to make sure server works ok. 110 110 111 - <NB-IoT_bandval>:80 +~[~[image~:image-20230802112413-1.png||height="468" width="1024"]] 112 112 113 -0 No change 114 -0x1 LTE B1 115 -0x2 LTE B2 116 -0x4 LTE B3 117 -0x8 LTE B4 118 -0x10 LTE B5 119 -0x80 LTE B8 120 -0x800 LTE B12 121 -0x1000 LTE B13 122 -0x20000 LTE B18 123 -0x40000 LTE B19 124 -0x80000 LTE B20 125 -0x1000000 LTE B25 126 -0x8000000 LTE B28 127 -0x40000000 LTE B31 128 -0x20000000000000000 LTE B66 129 129 130 -0x400000000000000000 LTE B71 131 -0x800000000000000000 LTE B72 132 -0x1000000000000000000 LTE B73 133 -0x1000000000000000000000 LTE B85 83 +~=== 3.1.2 Configure NB-IoT Sensor === 134 134 135 - Forexample, setting the LTE-M network frequency bandto 3.85 +~==== 3.1.2.1 AT Commands ==== 136 136 137 -AT+QCFG="band",0xF,0x4,0,1 138 138 139 - Whensearching for allbands, the value of this commandisset to:88 +~(% style="color:blue" %)~*~*AT Commands:~*~* 140 140 141 - AT+QCFG="band",0xF,0x100002000000000f0e189f,0x10004200000000090e189f,190 +~* ~(% style="color:#037691" %)~*~*AT+PRO=2,0~*~* ~(%%) ~~/~~/ Set to use UDP protocol to uplink ,Payload Type select Hex payload 142 142 92 +~* ~(% style="color:#037691" %)~*~*AT+SERVADDR=120.24.4.116,5601~*~* ~(%%) ~~/~~/ Set UDP server address and port 143 143 144 - **2.Configuresearch network sequence**94 +~[~[image~:image-20230802112413-2.png]] 145 145 146 -AT+QCFG="nwscanseq",<scanseq>,1 147 147 148 - <scanseq>:97 +~==== 3.1.2.2 Uplink Example ==== 149 149 150 -00 Automatic (eMTC → NB-IoT → GSM) 151 -01 GSM 152 -02 eMTC 153 -03 NB-IoT 154 154 155 - AT+QCFG="nwscanseq",02,1~/~/Priority search foreMTC100 +~[~[image~:image-20230802112413-3.png]] 156 156 157 -**3.Configure Network Category to be Searched for under LTE RAT** 158 158 159 - AT+QCFG="iotopmode",mode,1103 +~== 3.2 General MQTT Connection == 160 160 161 -0 eMTC 162 -1 NB-IoT 163 -2 eMTC and NB-IoT 164 164 106 +The NB-IoT Sensor can send packet to server use MQTT protocol. 165 165 166 - = 3. Configureo connect todifferentservers =108 +Below are the commands. 167 167 168 - ==3.1 GeneralUDPConnection ==110 +~(% style="color:blue" %)~*~*AT Commands:~*~* 169 169 170 - TheNB-IoTSensorcansendpacketserveruseUDPprotocol.112 +~* ~(% style="color:#037691" %)~*~*AT+PRO=3,0~*~* ~(%%) ~~/~~/ Set to use MQTT protocol to uplink, Payload Type select Hex payload. 171 171 172 - ===3.1.1 SimulateUDP Connectionby PC tool ===114 +~* ~(% style="color:#037691" %)~*~*AT+SERVADDR=120.24.4.116,1883~*~* ~(%%) ~~/~~/ Set MQTT server address and port 173 173 174 - Wecanuse PCtoolto simulateUDPconnectiontomakesureserver works ok.116 +~* ~(% style="color:#037691" %)~*~*AT+CLIENT=CLIENT~*~* ~(%%) ~~/~~/ Set up the CLIENT of MQTT 175 175 176 - [[image:image-20230802112413-1.png||height="468"width="1024"]]118 +~* ~(% style="color:#037691" %)~*~*AT+UNAME=UNAME~*~* ~(%%) ~~/~~/ Set the username of MQTT 177 177 178 - ===3.1.2ConfigureNB-IoT Sensor===120 +~* ~(% style="color:#037691" %)~*~*AT+PWD=PWD~*~* ~(%%) ~~/~~/ Set the password of MQTT 179 179 180 - ====3.1.2.1ATommands ====122 +~* ~(% style="color:#037691" %)~*~*AT+PUBTOPIC=NSE01_PUB~*~* ~(%%) ~~/~~/ Set the sending topic of MQTT 181 181 182 -(% style="color: blue" %)**ATommands:**124 +~* ~(% style="color:#037691" %)~*~*AT+SUBTOPIC=NSE01_SUB~*~* ~(%%) ~~/~~/ Set the subscription topic of MQTT 183 183 184 - * (% style="color:#037691" %)**AT+PRO=2,0** (%%) ~/~/ Set to use UDPprotocol to uplink ,Payload Type select Hex payload126 +~[~[image~:image-20230802112413-4.png]] 185 185 186 - * (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5601** (%%) ~/~/ SetUDP server address and port128 +~[~[image~:image-20230802112413-5.png||height="530" width="987"]] 187 187 188 - [[image:image-20230802112413-2.png]]130 +~(% 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.~*~* 189 189 190 -==== 3.1.2.2 Uplink Example ==== 191 191 192 -[[i mage:image-20230802112413-3.png]]133 +~== 3.3 ~[~[ThingSpeak>>url:https:~/~/thingspeak.com/]] (via MQTT) == 193 193 194 -== 3. 2GeneralCOAP Connection==135 +~=== 3.3.1 Get MQTT Credentials === 195 195 196 -The NB-IoT Sensor can send packet to server use COAP protocol. 197 197 198 - Belowhemmands.138 +~[~[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. 199 199 200 - (% style="color:blue" %)**AT Commands:**140 +~[~[image~:image-20230802112413-6.png||height="336" width="925"]] 201 201 202 - * (% style="color:#037691" %)**AT+PRO=1,0** (%%) ~/~/ Set to use COAPprotocol to uplink, Payload Type select Hex payload.142 +~[~[image~:image-20230802112413-7.png]] 203 203 204 -* (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5683** (%%) ~/~/ Set COAP server address and port 205 205 206 -* (% style="color:#037691" %)**AT+URI1=11,"I"** (%%) ~/~/ Configure CoAP Message Options 207 -* (% style="color:#037691" %)**AT+URI2=11,"aaa05e26-4d6d-f01b-660e-1d8de4a3bfe1"** (%%) ~/~/ Configure CoAP Message Options 145 +~=== 3.3.2 Simulate with MQTT.fx === 208 208 209 -=== 3.2.1 UplinkExample ===147 +~==== 3.3.2.1 Establish MQTT Connection ==== 210 210 211 211 150 +After we got MQTT Credentials, we can first simulate with PC tool MQTT.fx tool to see if the Credentials and settings are fine. 212 212 213 - == 3.2 General MQTT Connection==152 +~[~[image~:image-20230802112413-8.png]] 214 214 215 - TheNB-IoTSensorcan sendpacketoserver use MQTTprotocol.154 +~* ~(% style="color:#037691" %)~*~*Broker Address:~*~*~(%%) mqtt3.thingspeak.com 216 216 217 - Belowarethe commands.156 +~* ~(% style="color:#037691" %)~*~*Broker Port:~*~*~(%%) 1883 218 218 219 -(% style="color: blue" %)**ATCommands:**158 +~* ~(% style="color:#037691" %)~*~*Client ID:~*~*~(%%) <Your ThingSpeak MQTT ClientID> 220 220 221 -* (% style="color:#037691" %)** AT+PRO=3,0**~/~/ Set tose MQTT protocol to uplink, Payload Typelect Hex payload.160 +~* ~(% style="color:#037691" %)~*~*User Name:~*~*~(%%) <Your ThingSpeak MQTT User Name> 222 222 223 -* (% style="color:#037691" %)** AT+SERVADDR=120.24.4.116,1883**~/~/SetMQTTserveraddressand port162 +~* ~(% style="color:#037691" %)~*~*Password:~*~*~(%%) <Your ThingSpeak MQTT Password> 224 224 225 - * (% style="color:#037691" %)**AT+CLIENT=CLIENT**(%%) ~/~/Set uptheCLIENT of MQTT164 +~==== 3.3.2.2 Publish Data to ThingSpeak Channel ==== 226 226 227 -* (% style="color:#037691" %)**AT+UNAME=UNAME** (%%) ~/~/ Set the username of MQTT 228 228 229 - * (% style="color:#037691" %)**AT+PWD=PWD** (%%) ~/~/ Set thepassword of MQTT167 +~[~[image~:image-20230802112413-9.png]] 230 230 231 - * (% style="color:#037691" %)**AT+PUBTOPIC=NSE01_PUB** (%%) ~/~/ Set the sendingtopic of MQTT169 +~[~[image~:image-20230802112413-10.png]] 232 232 233 -* (% style="color:#037691" %)**AT+SUBTOPIC=NSE01_SUB** (%%) ~/~/ Set the subscription topic of MQTT 234 234 235 - [[image:image-20230802112413-4.png]]172 +~(% style="color:blue" %)~*~*In MQTT.fx, we can publish below info:~*~* 236 236 237 - [[image:image-20230802112413-5.png||height="530" width="987"]]174 +~* ~(% style="color:#037691" %)~*~*Topic:~*~*~(%%) channels/YOUR_CHANNEL_ID/publish 238 238 239 -(% style="color: red" %)**Notice: MQTT protocol has a much higher power consumption compare with UDP/CoAP protocol. Please check the power analyze documentandadjust theuplink periodto asuitable interval.**176 +~* ~(% style="color:#037691" %)~*~*Payload:~*~*~(%%) field1=63&field2=67&status=MQTTPUBLISH 240 240 241 - == 3.3 [[ThingSpeak>>url:https://thingspeak.com/]] (via MQTT) ==178 +Where 63 and 67 are the value to be published to field1 & field2. 242 242 243 -=== 3.3.1 Get MQTT Credentials === 244 244 245 - [[ThingSpeak>>url:https://thingspeak.com/]] connection uses MQTT Connection. So we need to get MQTT Credentials first. Youneedto point MQTT DevicesoThingSpeak Channel as well.181 +~(% style="color:blue" %)~*~*Result: ~*~* 246 246 247 -[[image:image-20230802112413- 6.png||height="336" width="925"]]183 +~[~[image~:image-20230802112413-11.png||height="539" width="901"]] 248 248 249 -[[image:image-20230802112413-7.png]] 250 250 251 -=== 3.3. 2Simulatewith MQTT.fx===186 +~=== 3.3.3 Configure NB-IoT Sensor for connection === 252 252 253 -==== 3.3. 2.1Establish MQTTConnection====188 +~==== 3.3.3.1 AT Commands: ==== 254 254 255 -After we got MQTT Credentials, we can first simulate with PC tool MQTT.fx tool to see if the Credentials and settings are fine. 256 256 257 - [[image:image-20230802112413-8.png]]191 +In the NB-IoT, we can run below commands so to publish the channels like MQTT.fx 258 258 259 -* (% style="color: #037691" %)**BrokerAddress:**(%%)mqtt3.thingspeak.com193 +~* ~(% style="color:blue" %)~*~*AT+PRO=3,1~*~* ~(%%) ~~/~~/ Set to use ThingSpeak Server and Related Payload 260 260 261 -* (% style="color: #037691" %)**Broker Port:**(%%) 1883195 +~* ~(% style="color:blue" %)~*~*AT+CLIENT=<Your ThingSpeak MQTT ClientID>~*~* 262 262 263 -* (% style="color: #037691" %)**Client ID:**(%%)<YourClientID>197 +~* ~(% style="color:blue" %)~*~*AT+UNAME=<Your ThingSpeak MQTT User Name>~*~* 264 264 265 -* (% style="color: #037691" %)**User Name:**(%%)<YourUserName>199 +~* ~(% style="color:blue" %)~*~*AT+PWD=<Your ThingSpeak MQTT Password>~*~* 266 266 267 -* (% style="color: #037691" %)**Password:**(%%) <YourThingSpeak MQTTPassword>201 +~* ~(% style="color:blue" %)~*~*AT+PUBTOPIC=<YOUR_CHANNEL_ID>~*~* 268 268 269 - ====3.3.2.2Publish Data to ThingSpeakChannel====203 +~* ~(% style="color:blue" %)~*~*AT+SUBTOPIC=<YOUR_CHANNEL_ID>~*~* 270 270 271 - [[image:image-20230802112413-9.png]]205 +~==== 3.3.3.2 Uplink Examples ==== 272 272 273 -[[image:image-20230802112413-10.png]] 274 274 275 - (% style="color:blue" %)**In MQTT.fx, we canpublish below info:**208 +~[~[image~:image-20230816201942-1.png]] 276 276 277 - * (% style="color:#037691" %)**Topic:**(%%) channels/YOUR_CHANNEL_ID/publish210 +For SE01-NB 278 278 279 - * (% style="color:#037691" %)**Payload:**(%%) field1=63&field2=67&status=MQTTPUBLISH212 +For DDS20-NB 280 280 281 - Where 63 and 67 are the value tobe published to field1 & field2.214 +For DDS45-NB 282 282 283 - (% style="color:blue" %)**Result: **216 +For DDS75-NB 284 284 285 - [[image:image-20230802112413-11.png||height="539" width="901"]]218 +For NMDS120-NB 286 286 287 - === 3.3.3 ConfigureNB-IoT Sensor for connection ===220 +For SPH01-NB 288 288 289 - ==== 3.3.3.1 AT Commands: ====222 +For NLM01-NB 290 290 291 - In the NB-IoT, we canrun below commands so to publish the channels likeMQTT.fx224 +For NMDS200-NB 292 292 293 - * (% style="color:blue" %)**AT+PRO=3,1** (%%) ~/~/ Set to use ThingSpeak Server and Related Payload226 +For CPN01-NB 294 294 295 - * (% style="color:blue" %)**AT+CLIENT=<Your ThingSpeak MQTT ClientID>**228 +For DS03A-NB 296 296 297 - * (% style="color:blue" %)**AT+UNAME=<Your ThingSpeak MQTT UserName>**230 +For SN50V3-NB 298 298 299 -* (% style="color:blue" %)**AT+PWD=<Your ThingSpeak MQTT Password>** 300 300 301 - *(%style="color:blue"%)**AT+PUBTOPIC=<YOUR_CHANNEL_ID>**233 +~==== 3.3.3.3 Map fields to sensor value ==== 302 302 303 -* (% style="color:blue" %)**AT+SUBTOPIC=<YOUR_CHANNEL_ID>** 304 304 305 - ==== 3.3.3.2 UplinkExamples====236 +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. 306 306 307 -[[image:image-20230816201942-1.png]] 308 308 309 - For SE01-NB239 +~[~[image~:image-20230802112413-12.png||height="504" width="1011"]] 310 310 311 - For DDS20-NB241 +~[~[image~:image-20230802112413-13.png||height="331" width="978"]] 312 312 313 -For DDS45-NB 314 314 315 - For DDS75-NB244 +Below is the NB-IoT Product Table show the mapping. 316 316 317 -For NMDS120-NB 246 +~(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1424px" %) 247 +~|~(% 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 248 +~|~(% 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" %) 249 +~|~(% 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" %) 250 +~|~(% 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" %) 251 +~|~(% 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" %) 252 +~|~(% 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" %) 253 +~|~(% 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" %) 254 +~|~(% 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" %) 255 +~|~(% 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" %) 256 +~|~(% 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" %) 257 +~|~(% 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" %) 258 +~|~(% 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 259 +~|~(% 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" %) 260 +~|~(% 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" %) 261 +~|~(% 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" %) 262 +~|~(% 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" %) 263 +~|~(% 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" %) 264 +~|~(% 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" %) 318 318 319 - ForSPH01-NB266 +~== 3.4 ~[~[Datacake>>https:~/~/datacake.co/]] == 320 320 321 -For NLM01-NB 322 322 323 -For NMDS200-NB 269 +~(% class="wikigeneratedid" %) 270 +Dragino NB-IoT sensors has its template in ~*~*~[~[Datacake>>https:~/~/datacake.co/]]~*~* Platform. There are two version for NB Sensor, 324 324 325 -For CPN01-NB 326 326 327 -For DS03A-NB 273 +~(% class="wikigeneratedid" %) 274 +As example for S31B-NB. there are two versions: ~*~*S31B-NB-1D and S31B-NB-GE.~*~* 328 328 329 - For SN50V3-NB276 +~* ~(% style="color:blue" %)~*~*S31B-NB-1D~*~*~(%%): This version have pre-configure DataCake connection. User just need to Power on this device, it will auto connect send data to DataCake Server. 330 330 331 -= ===3.3.3.3Mapfieldsto sensorvalue====278 +~* ~(% style="color:blue" %)~*~*S31B-NB-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. 332 332 333 - WhenNB-IoTsensoruploadto ThingSpeak.The payload alreadyspecify which fileds related to whichsensorvalue. Use needto create fileds in Channels Settings. with nameso to see the value correctly.280 +~=== 3.4.1 For device Already has template === 334 334 335 - [[image:image-20230802112413-12.png||height="504"width="1011"]]282 +~==== 3.4.1.1 Create Device ==== 336 336 337 - [[image:image-20230802112413-13.png||height="331"width="978"]]284 +~(% style="color:blue" %)~*~*Add Device~*~*~(%%) in DataCake. 338 338 339 - Belowis theNB-IoT Product Tableshowthemapping.286 +~[~[image~:image-20230808162301-1.png||height="453" width="952"]] 340 340 341 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1424px" %) 342 -|(% 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 343 -|(% 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" %) 344 -|(% 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" %) 345 -|(% 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" %) 346 -|(% 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" %) 347 -|(% 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" %) 348 -|(% 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" %) 349 -|(% 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" %) 350 -|(% 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" %) 351 -|(% 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" %) 352 -|(% 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" %) 353 -|(% 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 354 -|(% 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" %) 355 -|(% 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" %) 356 -|(% 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" %) 357 -|(% 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" %) 358 -|(% 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" %) 359 -|(% 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" %) 360 360 361 - == 3.4[[Datacake>>https://datacake.co/]]==289 +~[~[image~:image-20230808162342-2.png||height="541" width="952"]] 362 362 363 -(% class="wikigeneratedid" %) 364 -Dragino NB-IoT sensors has its template in **[[Datacake>>https://datacake.co/]]** Platform. There are two version for NB Sensor, 365 365 366 -(% class="wikigeneratedid" %) 367 -As example for S31B-NB. there are two versions: **S31B-NB-1D and S31B-NB-GE.** 292 +~(% style="color:blue" %)~*~*Choose the correct model~*~*~(%%) from template. 368 368 369 - * (% style="color:blue" %)**S31B-NB-1D**(%%): This version have pre-configure DataCake connection.User justneed to Power on this device, it will auto connect send data to DataCake Server.294 +~[~[image~:image-20230808162421-3.png]] 370 370 371 -* (% style="color:blue" %)**S31B-NB-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. 372 372 373 -= ==3.4.1FordeviceAlreadyhastemplate===297 +~(% style="color:blue" %)~*~*Fill Device ID~*~*~(%%). The device ID needs to be filled in with IMEI, and a prefix of~(% style="color:blue" %)~*~* 'f' ~*~*~(%%)needs to be added. 374 374 375 - ====3.4.1.1CreateDevice====299 +~[~[image~:image-20230808163612-7.png||height="549" width="952"]] 376 376 377 - (% style="color:blue" %)**Add Device**(%%) in DataCake.301 +~[~[image~:image-20230808163035-5.png]] 378 378 379 -[[image:image-2023080816 2301-1.png||height="453" width="952"]]303 +~[~[image~:image-20230808163049-6.png||height="544" width="926"]] 380 380 381 -[[image:image-20230808162342-2.png||height="541" width="952"]] 382 382 383 - (%style="color:blue"%)**Choosehecorrect model**(%%)from template.306 +~=== 3.4.2 For Device already registered in DataCake before shipped === 384 384 385 - [[image:image-20230808162421-3.png]]308 +~==== 3.4.2.1 Scan QR Code to get the device info ==== 386 386 387 -(% style="color:blue" %)**Fill Device ID**(%%). The device ID needs to be filled in with IMEI, and a prefix of(% style="color:blue" %)** 'f' **(%%)needs to be added. 388 388 389 - [[image:image-20230808163612-7.png||height="549"width="952"]]311 +Users can use their phones or computers to scan QR codes to obtain device data information. 390 390 391 -[[image:image-202308081 63035-5.png]]313 +~[~[image~:image-20230808170051-8.png||height="255" width="259"]] 392 392 393 -[[image:image-202308081 63049-6.png||height="544" width="926"]]315 +~[~[image~:image-20230808170548-9.png]] 394 394 395 -=== 3.4.2 For Device already registered in DataCake before shipped === 396 396 397 -==== 3.4.2. 1ScanQR Code togetthe device info ====318 +~==== 3.4.2.2 Claim Device to User Account ==== 398 398 399 -Users can use their phones or computers to scan QR codes to obtain device data information. 400 400 401 - [[image:image-20230808170051-8.png||height="255"width="259"]]321 +By Default, the device is registered in Dragino's DataCake Account. User can Claim it to his account. 402 402 403 -[[image:image-20230808170548-9.png]] 404 404 405 -=== =3.4.2.2ClaimDevice toUserAccount ====324 +~=== 3.4.3 Manual Add Decoder in DataCake ( don't use the template in DataCake) === 406 406 407 -By Default, the device is registered in Dragino's DataCake Account. User can Claim it to his account. 408 408 409 - ===3.4.3 ManualAddDecoder in DataCake(don't usethe templatein DataCake) ===327 +~*~*Step1: Add a device~*~* 410 410 411 - **Step1:Addadevice**329 +~[~[image~:image-20240129170024-1.png||height="330" width="900"]] 412 412 413 -[[image:image-20240129170024-1.png||height="330" width="900"]] 414 414 415 -**Step2: Choose your device type,please select dragino NB-IOT device** 332 +~*~*Step2: Choose your device type,please select dragino NB-IOT device~*~* 416 416 417 -[[image:image-20240129170216-2.png||height="534" width="643"]] 334 +~[~[image~:image-20240129170216-2.png||height="534" width="643"]] 418 418 419 -**Step3: Choose to create a new device** 420 420 421 - [[image:image-20240129170539-3.png||height="459"width="646"]]337 +~*~*Step3: Choose to create a new device~*~* 422 422 423 - **Step4:Fill inthedeviceID of your NB device**339 +~[~[image~:image-20240129170539-3.png||height="459" width="646"]] 424 424 425 -[[image:image-20240202111546-1.png||height="378" width="651"]] 426 426 427 -**Step 5:Please selectyourdeviceplanaccordingtoyourneedsandcomplete the creation of the device**342 +~*~*Step4: Fill in the device ID of your NB device~*~* 428 428 429 -[[image:image-20240 129171236-6.png||height="450" width="648"]]344 +~[~[image~:image-20240202111546-1.png||height="378" width="651"]] 430 430 431 -**Step6: Please add the decoder at the payload decoder of the device configuration.** 432 432 433 -** Decoderlocation:**[[dragino-end-node-decoder/Datacake-Dragino_NBatmain · dragino/dragino-end-node-decoder(github.com)>>url:https://github.com/dragino/dragino-end-node-decoder/tree/main/Datacake-Dragino_NB]]347 +~*~*Step5: Please select your device plan according to your needs and complete the creation of the device~*~* 434 434 435 -[[image:image-20240129172 056-7.png||height="457" width="816"]]349 +~[~[image~:image-20240129171236-6.png||height="450" width="648"]] 436 436 437 -[[image:image-20240129173116-9.png||height="499" width="814"]] 438 438 439 -**Step 7:Add the outputofthe decoderasafield**352 +~*~*Step6: Please add the decoder at the payload decoder of the device configuration.~*~* 440 440 441 -[[ image:image-20240129173541-10.png||height="592" width="968"]]354 +~*~*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]] 442 442 443 - **Step8:Customizethedashboardand use fields as parameters of the dashboard**356 +~[~[image~:image-20240129172056-7.png||height="457" width="816"]] 444 444 445 -[[image:image-2024012917 4518-11.png||height="147" width="1042"]]358 +~[~[image~:image-20240129173116-9.png||height="499" width="814"]] 446 446 447 -[[image:image-20240129174657-12.png||height="538" width="916"]] 448 448 449 - [[image:image-20240129174840-13.png||height="536"width="750"]]361 +~*~*Step7: Add the output of the decoder as a field~*~* 450 450 451 - ===3.4.4 For devicehave notconfiguredo connect to DataCake===363 +~[~[image~:image-20240129173541-10.png||height="592" width="968"]] 452 452 453 -(% class="lead" %) 365 + 366 +~*~*Step8: Customize the dashboard and use fields as parameters of the dashboard~*~* 367 + 368 +~[~[image~:image-20240129174518-11.png||height="147" width="1042"]] 369 + 370 +~[~[image~:image-20240129174657-12.png||height="538" width="916"]] 371 + 372 +~[~[image~:image-20240129174840-13.png||height="536" width="750"]] 373 + 374 + 375 +~=== 3.4.4 For device have not configured to connect to DataCake === 376 + 377 + 378 +~(% class="lead" %) 454 454 Use AT command for connecting to DataCake 455 455 456 -(% style="color:blue" %)**AT+PRO=2,0** 381 +~(% style="color:blue" %)~*~*AT+PRO=2,0~*~* 457 457 458 -(% style="color:blue" %)**AT+SERVADDR=67.207.76.90,4445** 383 +~(% style="color:blue" %)~*~*AT+SERVADDR=67.207.76.90,4445~*~* 459 459 460 -== 3.5 Node-Red (via MQTT) == 461 461 462 -== =3.5.1 Configure [[Node-Red>>http://wiki.dragino.com/xwiki/bin/view/Main/Node-RED/]]===386 +~== 3.5 Node-Red (via MQTT) == 463 463 388 +~=== 3.5.1 Configure ~[~[Node-Red>>http:~/~/wiki.dragino.com/xwiki/bin/view/Main/Node-RED/]] === 389 + 390 + 464 464 Take S31-NB UDP protocol as an example. 465 465 466 466 Dragino provides input flow examples for the sensors. ... ... @@ -467,329 +467,420 @@ 467 467 468 468 User can download the required JSON file through Dragino Node-RED input flow template. 469 469 470 -Download sample JSON file link: 397 +Download sample JSON file link: ~[~[https:~~~~/~~~~/www.dropbox.com/sh/mduw85jcuwsua22/AAAvwPhg9z6dLjJhmZjqBf_ma?dl=0>>url:https:~/~/www.dropbox.com/sh/mduw85jcuwsua22/AAAvwPhg9z6dLjJhmZjqBf_ma?dl=0]] 471 471 472 472 We can directly import the template. 473 473 474 474 The templates for S31-NB and NB95S31B are the same. 475 475 476 -[[image:image-20230809173127-4.png]] 477 477 404 +~[~[image~:image-20230809173127-4.png]] 405 + 406 + 478 478 Please select the NB95S31B template. 479 479 480 -[[image:image-20230809173310-5.png||height="558" width="926"]] 409 +~[~[image~:image-20230809173310-5.png||height="558" width="926"]] 481 481 482 -[[image:image-20230809173438-6.png]] 411 +~[~[image~:image-20230809173438-6.png]] 483 483 484 -[[image:image-20230809173800-7.png]] 413 +~[~[image~:image-20230809173800-7.png]] 485 485 415 + 486 486 Successfully imported template. 487 487 488 -[[image:image-20230809173835-8.png||height="515" width="860"]] 418 +~[~[image~:image-20230809173835-8.png||height="515" width="860"]] 489 489 420 + 490 490 Users can set UDP port. 491 491 492 -[[image:image-20230809174053-9.png]] 423 +~[~[image~:image-20230809174053-9.png]] 493 493 494 -=== 3.5.2 Simulate Connection === 495 495 426 +~=== 3.5.2 Simulate Connection === 427 + 428 + 496 496 We have completed the configuration of UDP. We can try sending packets to node red. 497 497 498 -[[image:image-20230810083934-1.png]] 431 +~[~[image~:image-20230810083934-1.png]] 499 499 500 -[[image:image-20230810084048-2.png||height="535" width="1052"]] 433 +~[~[image~:image-20230810084048-2.png||height="535" width="1052"]] 501 501 502 -=== 3.5.3 Configure NB-IoT Sensors === 503 503 504 -* (% style="color:#037691" %)**AT+PRO=3,0 or 3,5 ** (%%) **~/~/ hex format or json format** 505 -* (% style="color:#037691" %)**AT+SUBTOPIC=<device name>or User Defined** 506 -* (% style="color:#037691" %)**AT+PUBTOPIC=<device name>or User Defined** 507 -* (% style="color:#037691" %)**AT+CLIENT=<device name> or User Defined** 508 -* (% style="color:#037691" %)**AT+UNAME=<device name> or User Defined** 509 -* (% style="color:#037691" %)**AT+PWD=“Your device token”** 436 +~=== 3.5.3 Configure NB-IoT Sensors === 510 510 511 -== 3.6 ThingsBoard.Cloud (via MQTT) == 512 512 513 -=== 3.6.1 Configure ThingsBoard === 439 +~* ~(% style="color:#037691" %)~*~*AT+PRO=3,0 or 3,5 ~*~* ~(%%) ~*~*~~/~~/ hex format or json format~*~* 440 +~* ~(% style="color:#037691" %)~*~*AT+SUBTOPIC=<device name>or User Defined~*~* 441 +~* ~(% style="color:#037691" %)~*~*AT+PUBTOPIC=<device name>or User Defined~*~* 442 +~* ~(% style="color:#037691" %)~*~*AT+CLIENT=<device name> or User Defined~*~* 443 +~* ~(% style="color:#037691" %)~*~*AT+UNAME=<device name> or User Defined~*~* 444 +~* ~(% style="color:#037691" %)~*~*AT+PWD=“Your device token”~*~* 514 514 515 -== ==3.6.1.1Create Device====446 +~== 3.6 ThingsBoard.Cloud (via MQTT) == 516 516 517 - Createa New Device in[[ThingsBoard>>url:https://thingsboard.cloud/]].Record Device Name which is used for MQTT connection.448 +~=== 3.6.1 Configure ThingsBoard === 518 518 519 - [[image:image-20230802112413-32.png||height="583" width="1066"]]450 +~==== 3.6.1.1 Create Device ==== 520 520 521 -==== 3.6.1.2 Create Uplink & Downlink Converter ==== 522 522 523 - (% style="color:blue"%)**UplinkConverter**453 +Create a New Device in ~[~[ThingsBoard>>url:https:~/~/thingsboard.cloud/]]. Record Device Name which is used for MQTT connection. 524 524 525 - The purpose of the decoder function is to parsetheincoming data and metadata to a format that ThingsBoard can consume.deviceName and deviceType are required, while attributesand telemetry are optional. Attributes andelemetry are flat key-value objects. Nested objects are not supported.455 +~[~[image~:image-20230802112413-32.png||height="583" width="1066"]] 526 526 527 -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. 528 528 529 - [[image:image-20230802112413-33.png||height="597"width="1061"]]458 +~==== 3.6.1.2 Create Uplink & Downlink Converter ==== 530 530 531 -(% style="color:blue" %)**Downlink Converter** 532 532 533 - TheDownlinkconvertertransformingoutgoing RPC message and then the Integration sends it to external MQTT broke461 +~(% style="color:blue" %)~*~*Uplink Converter~*~* 534 534 535 - [[image:image-20230802112413-34.png||height="598" width="1063"]]463 +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. 536 536 537 -(% style="color: red" %)**Note: Ourdevicepayload is alreadyhumandabledata. Therefore,usersdo notneedo writedecoders.Simply createydefault.**465 +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. 538 538 539 - ====3.6.1.3MQTT IntegrationSetup====467 +~[~[image~:image-20230802112413-33.png||height="597" width="1061"]] 540 540 541 -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**; 542 542 543 - [[image:image-20230802112413-35.png||height="597"width="1062"]]470 +~(% style="color:blue" %)~*~*Downlink Converter~*~* 544 544 545 - *Thextstepsstodtherecently created uplink anddownlink converters;472 +The Downlink converter transforming outgoing RPC message and then the Integration sends it to external MQTT broke 546 546 547 -[[image:image-20230802112413-3 6.png||height="598" width="1062"]]474 +~[~[image~:image-20230802112413-34.png||height="598" width="1063"]] 548 548 549 - [[image:image-20230802112413-37.png||height="598"width="1064"]]476 +~(% style="color:red" %)~*~*Note: Our device payload is already human readable data. Therefore, users do not need to write decoders. Simply create by default.~*~* 550 550 551 -(% style="color:blue" %)**Add a topic filter:** 552 552 479 +~==== 3.6.1.3 MQTT Integration Setup ==== 480 + 481 + 482 +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~*~*; 483 + 484 +~[~[image~:image-20230802112413-35.png||height="597" width="1062"]] 485 + 486 + 487 +~* The next steps is to add the recently created uplink and downlink converters; 488 + 489 +~[~[image~:image-20230802112413-36.png||height="598" width="1062"]] 490 + 491 +~[~[image~:image-20230802112413-37.png||height="598" width="1064"]] 492 + 493 + 494 +~(% style="color:blue" %)~*~*Add a topic filter:~*~* 495 + 553 553 Consistent with the theme of the node setting. 554 554 555 -You 498 +You can also select an MQTT QoS level. We use MQTT QoS level 0 (At most once) by default; 556 556 557 -[[image:image-20230802112413-38.png||height="598" width="1064"]] 500 +~[~[image~:image-20230802112413-38.png||height="598" width="1064"]] 558 558 559 -=== 3.6.2 Simulate with MQTT.fx === 560 560 561 - [[image:image-20230802112413-39.png]]503 +~=== 3.6.2 Simulate with MQTT.fx === 562 562 563 -[[image:image-20230802112413-40.png||height="525" width="980"]] 564 564 565 - === 3.6.3 ConfigureNB-IoT Sensor ===506 +~[~[image~:image-20230802112413-39.png]] 566 566 567 - (% style="color:blue" %)**AT Commands**508 +~[~[image~:image-20230802112413-40.png||height="525" width="980"]] 568 568 569 -* (% style="color:#037691" %)**AT+PRO=3,3 **(%%)** **~/~/ Use MQTT to connect to ThingsBoard. Payload Type set to 3. 570 570 571 - * (% style="color:#037691"%)**AT+SUBTOPIC=<devicename>**511 +~=== 3.6.3 Configure NB-IoT Sensor === 572 572 573 -* (% style="color:#037691" %)**AT+PUBTOPIC=<device name>** 574 574 575 - *(% style="color:#037691" %)**AT+CLIENT=<device name>or User Defined**514 +~(% style="color:blue" %)~*~*AT Commands~*~* 576 576 577 -* (% style="color:#037691" %)**AT+ UNAME=<deviceme>orUserDefined**516 +~* ~(% style="color:#037691" %)~*~*AT+PRO=3,3 ~*~*~(%%)~*~* ~*~*~~/~~/ Use MQTT to connect to ThingsBoard. Payload Type set to 3. 578 578 579 -* (% style="color:#037691" %)**AT+P WD=<deviceor User Defined**518 +~* ~(% style="color:#037691" %)~*~*AT+SUBTOPIC=<device name>~*~* 580 580 581 - TestUplinkbyclick thebutton forsecond520 +~* ~(% style="color:#037691" %)~*~*AT+PUBTOPIC=<device name>~*~* 582 582 583 - [[image:image-20230802112413-41.png||height="496"width="828"]]522 +~* ~(% style="color:#037691" %)~*~*AT+CLIENT=<device name> or User Defined~*~* 584 584 585 - [[image:image-20230802112413-42.png]]524 +~* ~(% style="color:#037691" %)~*~*AT+UNAME=<device name> or User Defined~*~* 586 586 587 - [[image:image-20230802112413-43.png||height="407"width="825"]]526 +~* ~(% style="color:#037691" %)~*~*AT+PWD=<device name> or User Defined~*~* 588 588 589 - == 3.7 [[Tago.io>>url:https://admin.tago.io/]] (via MQTT) ==528 +Test Uplink by click the button for 1 second 590 590 591 - === 3.7.1 Createdevice& GetCredentials===530 +~[~[image~:image-20230802112413-41.png||height="496" width="828"]] 592 592 593 - We use MQTT Connection to send data to[[Tago.io>>url:https://admin.tago.io/]]. Weneed to Create Deviceand Get MQTT Credentials first.532 +~[~[image~:image-20230802112413-42.png]] 594 594 595 -[[image:image-20230802112413-4 4.png]]534 +~[~[image~:image-20230802112413-43.png||height="407" width="825"]] 596 596 597 -[[image:image-20230802112413-45.png]] 598 598 599 - Gotothe Device section and create a device. Then, gotothesectionokensand copy your device-token.537 +~== 3.7 ~[~[Tago.io>>url:https:~/~/admin.tago.io/]] (via MQTT) == 600 600 601 - [[image:image-20230802112413-46.png]]539 +~=== 3.7.1 Create device & Get Credentials === 602 602 603 -The device needs to enable the TLS mode and set the (% style="color:blue" %)**AT+TLSMOD=1,0**(%%) command. 604 604 605 - (% style="color:blue" %)**On theConnectionProfilewindow, sethe followingformation:**542 +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. 606 606 607 - * (% style="color:#037691" %)**Profile Name:“Any name”**544 +~[~[image~:image-20230802112413-44.png]] 608 608 609 - * (% style="color:#037691" %)**Broker Address: mqtt.tago.io**546 +~[~[image~:image-20230802112413-45.png]] 610 610 611 -* (% style="color:#037691" %)**Broker Port: 8883** 612 612 613 - * (% style="color:#037691" %)**ClientID: “Any value”**549 +Go to the Device section and create a device. Then, go to the section tokens and copy your device-token. 614 614 615 - (% style="color:blue" %)**On the section User credentials, set the following information:**551 +~[~[image~:image-20230802112413-46.png]] 616 616 617 -* (% style="color:#037691" %)**User Name: “Any value”** (%%) **~/~/ Tago validates your user by the token only** 618 618 619 - *(% style="color:#037691" %)**Password: “Your device token”**554 +The device needs to enable the TLS mode and set the ~(% style="color:blue" %)~*~*AT+TLSMOD=1,0~*~*~(%%) command. 620 620 621 - *(% style="color:#037691" %)**PUBTOPIC: “Any value”**556 +~(% style="color:blue" %)~*~*On the Connection Profile window, set the following information:~*~* 622 622 623 -* (% style="color:#037691" %)** SUBTOPIC:value”**558 +~* ~(% style="color:#037691" %)~*~*Profile Name: “Any name”~*~* 624 624 625 -(% style="color: blue" %)**AT command:**560 +~* ~(% style="color:#037691" %)~*~*Broker Address: mqtt.tago.io~*~* 626 626 627 -* (% style="color:#037691" %)** AT+PRO=3,0 or3,5 ** (%%) **~/~/ hex formatorjson format**562 +~* ~(% style="color:#037691" %)~*~*Broker Port: 8883~*~* 628 628 629 -* (% style="color:#037691" %)** AT+SUBTOPIC=<deviceame>or UserDefined**564 +~* ~(% style="color:#037691" %)~*~*Client ID: “Any value”~*~* 630 630 631 - *(% style="color:#037691" %)**AT+PUBTOPIC=<deviceme>or User Defined**566 +~(% style="color:blue" %)~*~*On the section User credentials, set the following information:~*~* 632 632 633 -* (% style="color:#037691" %)** AT+CLIENT=<devicename>orUserDefined**568 +~* ~(% style="color:#037691" %)~*~*User Name: “Any value”~*~* ~(%%) ~*~*~~/~~/ Tago validates your user by the token only~*~* 634 634 635 -* (% style="color:#037691" %)** AT+UNAME=<devicename>or User Defined**570 +~* ~(% style="color:#037691" %)~*~*Password: “Your device token”~*~* 636 636 637 -* (% style="color:#037691" %)** AT+PWD=“Your device token”**572 +~* ~(% style="color:#037691" %)~*~*PUBTOPIC: “Any value”~*~* 638 638 639 - ===3.7.2Simulatewith MQTT.fx ===574 +~* ~(% style="color:#037691" %)~*~*SUBTOPIC: “Any value”~*~* 640 640 641 - [[image:image-20230802112413-52.png]]576 +~(% style="color:blue" %)~*~*AT command:~*~* 642 642 643 - [[image:image-20230808105300-2.png||height="553"width="1026"]]578 +~* ~(% style="color:#037691" %)~*~*AT+PRO=3,0 or 3,5 ~*~* ~(%%) ~*~*~~/~~/ hex format or json format~*~* 644 644 645 - Userscan run the(% style="color:blue" %)**AT+PRO=3,5**(%%)command,and thepayloadwill beconvertedto**JSON format**.580 +~* ~(% style="color:#037691" %)~*~*AT+SUBTOPIC=<device name>or User Defined~*~* 646 646 647 - [[image:image-20230808105217-1.png||height="556"width="1031"]]582 +~* ~(% style="color:#037691" %)~*~*AT+PUBTOPIC=<device name>or User Defined~*~* 648 648 649 - [[image:image-20230808105329-3.png]]584 +~* ~(% style="color:#037691" %)~*~*AT+CLIENT=<device name> or User Defined~*~* 650 650 651 - ===3.7.3tago data===586 +~* ~(% style="color:#037691" %)~*~*AT+UNAME=<device name> or User Defined~*~* 652 652 653 - [[image:image-20230802112413-50.png||height="242"width="1037"]]588 +~* ~(% style="color:#037691" %)~*~*AT+PWD=“Your device token”~*~* 654 654 655 - [[image:image-20230802112413-51.png||height="184"width="696"]]590 +~=== 3.7.2 Simulate with MQTT.fx === 656 656 657 -== 3.8 TCP Connection == 658 658 659 - (% style="color:blue" %)**AT command:**593 +~[~[image~:image-20230802112413-52.png]] 660 660 661 -* (% style="color:#037691" %)**AT+PRO=4,0 ** (%%) ~/~/ Set to use TCP protocol to uplink(HEX format) 662 662 663 - * (% style="color:#037691" %)**AT+PRO=4,1 ** (%%) ~/~/ Setto use TCP protocol to uplink(JSON format)596 +~[~[image~:image-20230808105300-2.png||height="553" width="1026"]] 664 664 665 -* (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5600 ** (%%) ~/~/ to set TCP server address and port 666 666 667 -(% style="color:blue" %)** Sensor Console Output when Uplink:**599 +Users can run the ~(% style="color:blue" %)~*~*AT+PRO=3,5~*~*~(%%) command, and the payload will be converted to ~*~*JSON format~*~*. 668 668 669 -[[image:image-2023080 7233631-1.png]]601 +~[~[image~:image-20230808105217-1.png||height="556" width="1031"]] 670 670 671 - (% style="color:blue" %)**See resultin TCP Server:**603 +~[~[image~:image-20230808105329-3.png]] 672 672 673 -[[image:image-20230807233631-2.png]] 674 674 675 -== 3. 9 AWS Connection==606 +~=== 3.7.3 tago data === 676 676 677 -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]] 678 678 679 - =4.MQTT/UDP/TCP downlink=609 +~[~[image~:image-20230802112413-50.png||height="242" width="1037"]] 680 680 681 - ==4.1MQTT (via MQTT.fx)==611 +~[~[image~:image-20230802112413-51.png||height="184" width="696"]] 682 682 683 -Configure MQTT connections properly and send downlink commands to configure nodes through the Publish function of MQTT.fx//.// 684 684 685 - **1.**Configurenode MQTT connection(via MQTT.fx):614 +~== 3.8 TCP Connection == 686 686 687 -(% style="color:blue" %)**AT command:** 688 688 689 - *(% style="color:#037691" %)**AT+PRO=3,0or 3,5 ** (%%)~/~/ hex format or json format617 +~(% style="color:blue" %)~*~*AT command:~*~* 690 690 691 -* (% style="color:#037691" %)**AT+ SUBTOPIC=UserDefined**619 +~* ~(% style="color:#037691" %)~*~*AT+PRO=4,0 ~*~* ~(%%) ~~/~~/ Set to use TCP protocol to uplink(HEX format) 692 692 693 -* (% style="color:#037691" %)**AT+P UBTOPIC=UserDefined**621 +~* ~(% style="color:#037691" %)~*~*AT+PRO=4,1 ~*~* ~(%%) ~~/~~/ Set to use TCP protocol to uplink(JSON format) 694 694 695 -* (% style="color:#037691" %)**AT+ UNAME=<devicename>orUserDefined**623 +~* ~(% style="color:#037691" %)~*~*AT+SERVADDR=120.24.4.116,5600 ~*~* ~(%%) ~~/~~/ to set TCP server address and port 696 696 697 - *(% style="color:#037691" %)**AT+PWD=<devicename>orUserDefined**625 +~(% style="color:blue" %)~*~*Sensor Console Output when Uplink:~*~* 698 698 699 - * (% style="color:#037691" %)**AT+SERVADDR=8.217.91.207,1883 ** (%%) ~/~/ to set MQTT server address andport627 +~[~[image~:image-20230807233631-1.png]] 700 700 701 -(% style="color:red" %)**Note: To uplink and downlink via MQTT.fx, we need set the publish topic and subscribe topic different, for example: AT+SUBTOPIC=SE01_SUB & AT+PUBTOPIC=SE01_PUB.** 702 702 703 - [[image:image-20240417180145-2.png||height="434"width="587"]][[width="584">>width="584"]]630 +~(% style="color:blue" %)~*~*See result in TCP Server:~*~* 704 704 705 - **2. **When the node uplink packets, we can observe the data in MQTT.fx.632 +~[~[image~:image-20230807233631-2.png]] 706 706 707 -[[image:image-20240418144337-1.png||height="709" width="802"]] 708 708 709 - **3.**The downlink command can besuccessfully sentonly when the downlink port is open.635 +~== 3.9 AWS Connection == 710 710 637 + 638 +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]] 639 + 640 + 641 + 642 +~= 4. MQTT/UDP/TCP downlink = 643 + 644 +~== 4.1 MQTT (via MQTT.fx) == 645 + 646 +Configure MQTT connections properly and send downlink commands to configure nodes through the Publish function of MQTT.fx~/~/.~/~/ 647 + 648 +~*~*1.~*~* Configure node MQTT connection (via MQTT.fx): 649 + 650 +~(% style="color:blue" %)~*~*AT command:~*~* 651 + 652 +~* ~(% style="color:#037691" %)~*~*AT+PRO=3,0 or 3,5 ~*~* ~(%%)~~/~~/ hex format or json format 653 + 654 +~* ~(% style="color:#037691" %)~*~*AT+SUBTOPIC=User Defined~*~* 655 + 656 +~* ~(% style="color:#037691" %)~*~*AT+PUBTOPIC=User Defined~*~* 657 + 658 +~* ~(% style="color:#037691" %)~*~*AT+UNAME=<device name> or User Defined~*~* 659 + 660 +~* ~(% style="color:#037691" %)~*~*AT+PWD=<device name> or User Defined~*~* 661 + 662 +~* ~(% style="color:#037691" %)~*~*AT+SERVADDR=8.217.91.207,1883 ~*~* ~(%%) ~~/~~/ to set MQTT server address and port 663 + 664 +~(% style="color:red" %)~*~*Note: To uplink and downlink via MQTT.fx, we need set the publish topic and subscribe topic different, for example: AT+SUBTOPIC=SE01_SUB & AT+PUBTOPIC=SE01_PUB.~*~* 665 + 666 +~[~[image~:image-20240417180145-2.png||height="434" width="587"]]~[~[image:image-20240417180737-3.png||height="431" width="584"]] 667 + 668 + 669 +~*~*2. ~*~*When the node uplink packets, we can observe the data in MQTT.fx. 670 + 671 +~[~[image~:image-20240418144337-1.png||height="709" width="802"]] 672 + 673 +~*~*3. ~*~*The downlink command can be successfully sent only when the downlink port is open. 674 + 711 711 The downlink port is opened for about 3 seconds after uplink packets are sent. 712 712 713 - Therefore, when we see the node uplink packets in the **Subscribe** window, we need to immediately switch to the **publish** window to publish the **hex format** command. 677 + Therefore, when we see the node uplink packets in the ~*~*Subscribe~*~* window, we need to immediately switch to the ~*~*publish~*~* window to publish the ~*~*hex format~*~* command. 714 714 715 -[[image:image-20240418150435-3.png||height="582" width="659"]] 679 +~[~[image~:image-20240418150435-3.png||height="582" width="659"]] 716 716 717 -[[image:image-20240418150932-4.png||height="492" width="1061"]] 681 +~[~[image~:image-20240418150932-4.png||height="492" width="1061"]] 718 718 719 -(% style="color:red" %)**Note: Users can edit the hex command in advance. When the node uplink, directly click the publish button several times to increase the success rate of command configuration.** 683 +~(% style="color:red" %)~*~*Note: Users can edit the hex command in advance. When the node uplink, directly click the publish button several times to increase the success rate of command configuration.~*~* 720 720 721 -= 5. FAQ = 722 722 723 -== 5.1 What is the usage of Multi Sampling and One Uplink? == 724 724 687 + 688 +~= 5. FAQ = 689 + 690 +~== 5.1 What is the usage of Multi Sampling and One Uplink? == 691 + 692 + 725 725 The NB series has the feature for Multi Sampling and one uplink. See one of them 726 726 727 -[[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]] 695 +~[~[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]] 728 728 729 729 User can use this feature for below purpose: 730 730 731 -1. **Reduce power consumption**. The NB-IoT transmit power is much more higher than the sensor sampling power. To save battery life, we can sampling often and send in one uplink. 732 -1. Give more sampling data points. 733 -1. Increase reliable in transmission. For example. If user set 734 -1*. **AT+TR=1800** 735 -1*. **AT+NOUD=24** 736 -1*. **AT+TDC=7200** 737 -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. 699 +~1. ~*~*Reduce power consumption~*~*. The NB-IoT transmit power is much more higher than the sensor sampling power. To save battery life, we can sampling often and send in one uplink. 700 +~1. Give more sampling data points. 701 +~1. Increase reliable in transmission. For example. If user set 702 +~1*. ~*~*AT+TR=1800~*~* ~~/~~/ The unit is seconds, and the default is to record data once every 1800 seconds (30 minutes, the minimum can be set to 180 seconds) 703 +~1*. ~*~*AT+NOUD=24~*~* ~~/~~/ The device uploads 24 sets of recorded data by default. Up to 32 sets of record data can be uploaded. 704 +~1*. ~*~*AT+TDC=7200~*~* ~~/~~/ Uplink every 2 hours. 705 +~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. 738 738 739 -== 5.2 Why the uplink JSON format is not standard? == 707 +~== 5.2 Why the uplink JSON format is not standard? == 740 740 709 + 741 741 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. 742 742 743 743 The firmware version released after 2024, Mar will use change back to use Json format. Detail please check changelog. 744 744 745 -[[image:image-20240229233154-1.png]] 714 +~[~[image~:image-20240229233154-1.png]] 746 746 747 -= 6. Trouble Shooting: = 748 748 749 -= =6.1Checklist fordebuging NetworkConnectionissue. Signal Strenght:99issue.==717 +~= 6. Trouble Shooting: = 750 750 719 +~== 6.1 Checklist for debuging Network Connection issue. Signal Strenght:99 issue. == 720 + 721 + 751 751 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. 752 752 753 -If end device successfully attached NB-IoT Network, User can normally see the signal strengh as below (between 0~~31) 724 +If end device successfully attached NB-IoT Network, User can normally see the signal strengh as below (between 0~~~~31) 754 754 755 -[[image:image-20240207002003-1.png]] 726 +~[~[image~:image-20240207002003-1.png]] 756 756 728 + 757 757 If fail to attach network, it will shows signal 99. as below: 758 758 759 -[[image:image-20240207002129-2.png]] 731 +~[~[image~:image-20240207002129-2.png]] 760 760 761 -(% class="lead" %) 733 + 734 +~(% class="lead" %) 762 762 When see this issue, below are the checklist: 763 763 764 -* Does your SIM card support NB-IoT network? If SIM card doesn't not specify support NB-IoT clearly, normally it doesn't support. You need to confirm with your operator. 765 -* Do you configure the correct APN? [[Check here for APN settings>>http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H2.1GeneralConfiguretoattachnetwork]]. 766 -* Do you lock the frequency band? This is the most case we see. [[Explain and Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H2.2SpeedUpNetworkAttachtime]]. 767 -* Check if the device is attached to Carrier network but reject. (need to check with operator). 768 -* Check if the antenna is connected firmly. 737 +~* Does your SIM card support NB-IoT network? If SIM card doesn't not specify support NB-IoT clearly, normally it doesn't support. You need to confirm with your operator. 738 +~* Do you configure the correct APN? ~[~[Check here for APN settings>>http:~/~/wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H2.1GeneralConfiguretoattachnetwork]]. 739 +~* Do you lock the frequency band? This is the most case we see. ~[~[Explain and Instruction>>http:~/~/wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H2.2SpeedUpNetworkAttachtime]]. 740 +~* Check if the device is attached to Carrier network but reject. (need to check with operator). 741 +~* Check if the antenna is connected firmly. 769 769 770 -If you have check all above and still fail. please send console log files (as many as possible) to [[support@dragino.com>>mailto:support@dragino.com]] so we can check. 743 +If you have check all above and still fail. please send console log files (as many as possible) to ~[~[support@dragino.com>>mailto~:support@dragino.com]] so we can check. 771 771 772 772 773 -== (% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a"%)6.4 Whysometimethe ATCommandsslowinreponse?(%%)==746 +~== 6.2 Issue: "NBIOT did not respond" == 774 774 748 + 749 +~(% class="box errormessage" %) 750 +~(~(~( 751 +11:24:22.397 [44596]NBIOT did not respond. 752 +11:24:24.315 [46530]NBIOT did not respond. 753 +11:24:26.256 [48464]NBIOT did not respond. 754 +11:24:28.196 [50398]NBIOT did not respond. 755 +11:24:30.115 [52332]NBIOT did not respond. 756 +11:24:32.127 [54266]NBIOT did not respond. 757 +11:24:32.127 [54299]Restart the module... 758 +11:24:39.181 [61332]No response when shutting down 759 +~)~)~) 760 + 761 +This issue might due to initiate issue for NB-IoT module. In this case, please try: 762 + 763 +1) Open Enclosure 764 + 765 +2) Power off device by pull out the power on Jumper 766 + 767 +3) Power on device by connect back the power jumper. 768 + 769 +4) push reset button. 770 + 771 +~[~[image~:image-20240208001740-1.png]] 772 + 773 + 774 +~== 6.3 Issue: "Failed to readI MSI number" == 775 + 776 + 777 +~(% class="box errormessage" %) 778 +~(~(~( 779 +[18170]Failed to read IMSI:1umber. 780 +[20109]Failed to read IMSI numoer. 781 +[22048]Failed to read IMSI number. 782 +[29842lRestart the module... 783 +~)~)~) 784 + 785 +Make sure that the SIM card is insert in correct direction and device is power off/on during insert. Here is reference link: ~[~[Insert SIM Card>>||anchor="H2.1GeneralConfiguretoattachnetwork"]]. 786 + 787 + 788 +~== ~(% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a" %)6.4 Why sometime the AT Command is slow in reponse?~(%%) == 789 + 790 + 775 775 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. 776 776 777 -[[image:image-20240226111928-1.png]] 793 +~[~[image~:image-20240226111928-1.png]] 778 778 779 -== (% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a" %)6.5 What is the Downlink Command by the NB device?(%%) == 780 780 781 -(% data-sider-select-id="bb6e9353-0c3f-473c-938d-4b416c9a03e6" %) 782 -=== UDP: === 796 +~== ~(% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a" %)6.5 What is the Downlink Command by the NB device?~(%%) == 783 783 784 -(% data-sider-select-id="14a4790e-7faa-4508-a4dd-7605a53f1cb3" %) 798 +~(% data-sider-select-id="bb6e9353-0c3f-473c-938d-4b416c9a03e6" %) 799 +~=== UDP: === 800 + 801 +~(% data-sider-select-id="14a4790e-7faa-4508-a4dd-7605a53f1cb3" %) 785 785 Its downlink command is the same as the AT command, but brackets are required. 786 786 Example: 787 787 788 788 {AT+TDC=300} 789 789 790 -(% data-sider-select-id="90b80f1a-e924-4c8a-afc5-4429e019a657" %) 791 -=== MQTT: === 792 792 808 +~(% data-sider-select-id="90b80f1a-e924-4c8a-afc5-4429e019a657" %) 809 +~=== MQTT: === 810 + 793 793 Json: 794 794 795 795 The Json format in MQTT mode needs to be configured with all commands. ... ... @@ -826,7 +826,6 @@ 826 826 The supported commands are consistent with LoRaWAN's hex commands. 827 827 Please refer to the following link to obtain the hex format: 828 828 829 -[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]] 847 +~[~[http:~~~~/~~~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>http:~/~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]] 830 830 831 831 832 -
- image-20240602220856-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -250.9 KB - Content