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, 9 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. ting1 +XWiki.Edwin - Content
-
... ... @@ -1,488 +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 165 - === **4.ATcommandt frequency band and networkcategory** ===106 +The NB-IoT Sensor can send packet to server use MQTT protocol. 166 166 167 - AT+QBAND=0x100002000000000f0e189f,0x10004200000000090e189f~/~/<eMTC_bandval>,<NB-IoT_bandval>108 +Below are the commands. 168 168 169 - AT+IOTMOD=0~/~/0eMTC 1 NB-IoT 2eMTCNB-IoT110 +~(% style="color:blue" %)~*~*AT Commands:~*~* 170 170 171 -* *Example112 +~* ~(% style="color:#037691" %)~*~*AT+PRO=3,0~*~* ~(%%) ~~/~~/ Set to use MQTT protocol to uplink, Payload Type select Hex payload. 172 172 173 - Takingtheusef1ncecards in**theUnitedStates** asexample.114 +~* ~(% style="color:#037691" %)~*~*AT+SERVADDR=120.24.4.116,1883~*~* ~(%%) ~~/~~/ Set MQTT server address and port 174 174 175 -AT+ APN=iot.1nce.net~/~/setAPN116 +~* ~(% style="color:#037691" %)~*~*AT+CLIENT=CLIENT~*~* ~(%%) ~~/~~/ Set up the CLIENT of MQTT 176 176 177 -AT+ QBAND=0x100180A,0~/~/eMTC :Setfrequency band B2,B4,B12,B13,B25NB-IoT:No change118 +~* ~(% style="color:#037691" %)~*~*AT+UNAME=UNAME~*~* ~(%%) ~~/~~/ Set the username of MQTT 178 178 179 -AT+ IOTMOD=0MTCNetwork120 +~* ~(% style="color:#037691" %)~*~*AT+PWD=PWD~*~* ~(%%) ~~/~~/ Set the password of MQTT 180 180 181 -* *Settingtheabovecommandsin theUnitedStateswillgreatly reducethenetworksearchtimeofthe NB module.**122 +~* ~(% style="color:#037691" %)~*~*AT+PUBTOPIC=NSE01_PUB~*~* ~(%%) ~~/~~/ Set the sending topic of MQTT 182 182 124 +~* ~(% style="color:#037691" %)~*~*AT+SUBTOPIC=NSE01_SUB~*~* ~(%%) ~~/~~/ Set the subscription topic of MQTT 183 183 184 - = 3. Configureto connect to different servers =126 +~[~[image~:image-20230802112413-4.png]] 185 185 186 - ==3.1General UDP Connection==128 +~[~[image~:image-20230802112413-5.png||height="530" width="987"]] 187 187 188 - The NB-IoT SensoranendpacketrverUDPprotocol.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.1 Simulate UDP Connection by PC tool === 191 191 192 - WecanusePC toolosimulate UDP connection tomakesure server works ok.133 +~== 3.3 ~[~[ThingSpeak>>url:https:~/~/thingspeak.com/]] (via MQTT) == 193 193 194 - [[image:image-20230802112413-1.png||height="468" width="1024"]]135 +~=== 3.3.1 Get MQTT Credentials === 195 195 196 -=== 3.1.2 Configure NB-IoT Sensor === 197 197 198 - ==== 3.1.2.1 ATmmands====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=2,0** (%%) ~/~/ Set to use UDPprotocol to uplink ,Payload Type select Hex payload142 +~[~[image~:image-20230802112413-7.png]] 203 203 204 -* (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5601** (%%) ~/~/ Set UDP server address and port 205 205 206 - [[image:image-20240819102802-1.png]]145 +~=== 3.3.2 Simulate with MQTT.fx === 207 207 208 -==== 3. 1.2.2 UplinkExample ====147 +~==== 3.3.2.1 Establish MQTT Connection ==== 209 209 210 -[[image:image-20230802112413-3.png]] 211 211 212 - == 3.2 GeneralCOAPction==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. 213 213 214 - The NB-IoT Sensor can send packet to server use COAP protocol.152 +~[~[image~:image-20230802112413-8.png]] 215 215 216 - Belowaremands.154 +~* ~(% style="color:#037691" %)~*~*Broker Address:~*~*~(%%) mqtt3.thingspeak.com 217 217 218 -(% style="color: blue" %)**AT Commands:**156 +~* ~(% style="color:#037691" %)~*~*Broker Port:~*~*~(%%) 1883 219 219 220 -* (% style="color:#037691" %)** AT+PRO=1,0**~/~/ Set tose COAP protocol to uplink, Payload TypeselectHex payload.158 +~* ~(% style="color:#037691" %)~*~*Client ID:~*~*~(%%) <Your ThingSpeak MQTT ClientID> 221 221 222 -* (% style="color:#037691" %)** AT+SERVADDR=120.24.4.116,5683**~/~/Set COAPserveraddress and port160 +~* ~(% style="color:#037691" %)~*~*User Name:~*~*~(%%) <Your ThingSpeak MQTT User Name> 223 223 224 -* (% style="color:#037691" %)**AT+URI1=11,"I"** (%%) ~/~/ Configure CoAP Message Options 225 -* (% style="color:#037691" %)**AT+URI2=11,"aaa05e26-4d6d-f01b-660e-1d8de4a3bfe1"** (%%) ~/~/ Configure CoAP Message Options 162 +~* ~(% style="color:#037691" %)~*~*Password:~*~*~(%%) <Your ThingSpeak MQTT Password> 226 226 227 - [[image:image-20240819103212-2.png]]164 +~==== 3.3.2.2 Publish Data to ThingSpeak Channel ==== 228 228 229 -=== 3.2.1 Uplink Example === 230 230 231 -[[image:image-202 40819103909-4.png||height="453" width="955"]]167 +~[~[image~:image-20230802112413-9.png]] 232 232 169 +~[~[image~:image-20230802112413-10.png]] 233 233 234 -== 3.2 General MQTT Connection == 235 235 236 - TheNB-IoT Sensor can send packet toserveruse MQTTrotocol.172 +~(% style="color:blue" %)~*~*In MQTT.fx, we can publish below info:~*~* 237 237 238 - Belowarethemmands.174 +~* ~(% style="color:#037691" %)~*~*Topic:~*~*~(%%) channels/YOUR_CHANNEL_ID/publish 239 239 240 -(% style="color: blue" %)**AT Commands:**176 +~* ~(% style="color:#037691" %)~*~*Payload:~*~*~(%%) field1=63&field2=67&status=MQTTPUBLISH 241 241 242 - * (% style="color:#037691" %)**AT+PRO=3,0**(%%) ~/~/ SettouseMQTT protocol to uplink, Payload TypeselectHex payload.178 +Where 63 and 67 are the value to be published to field1 & field2. 243 243 244 -* (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,1883** (%%) ~/~/ Set MQTT server address and port 245 245 246 - *(% style="color:#037691" %)**AT+CLIENT=CLIENT** (%%)~/~/ SetuptheCLIENT of MQTT181 +~(% style="color:blue" %)~*~*Result: ~*~* 247 247 248 - * (% style="color:#037691" %)**AT+UNAME=UNAME** (%%) ~/~/ Set the username of MQTT183 +~[~[image~:image-20230802112413-11.png||height="539" width="901"]] 249 249 250 -* (% style="color:#037691" %)**AT+PWD=PWD** (%%) ~/~/ Set the password of MQTT 251 251 252 - * (% style="color:#037691"%)**AT+PUBTOPIC=NSE01_PUB**(%%) ~/~/Set thesendingtopicofMQTT186 +~=== 3.3.3 Configure NB-IoT Sensor for connection === 253 253 254 - * (% style="color:#037691" %)**AT+SUBTOPIC=NSE01_SUB**(%%) ~/~/ Set the subscriptiontopic of MQTT188 +~==== 3.3.3.1 AT Commands: ==== 255 255 256 -[[image:image-20240819105003-7.png||height="613" width="458"]] 257 257 191 +In the NB-IoT, we can run below commands so to publish the channels like MQTT.fx 258 258 259 - [[image:image-20240819104942-6.png||height="702" width="974"]]193 +~* ~(% style="color:blue" %)~*~*AT+PRO=3,1~*~* ~(%%) ~~/~~/ Set to use ThingSpeak Server and Related Payload 260 260 261 -(% style="color: red" %)**Notice: MQTT protocol has a muchhigherpower consumption compare with UDP/CoAP protocol. Please check the power analyze document and adjust the uplink period to a suitable interval.**195 +~* ~(% style="color:blue" %)~*~*AT+CLIENT=<Your ThingSpeak MQTT ClientID>~*~* 262 262 263 - ==3.3[[ThingSpeak>>url:https://thingspeak.com/]] (viaMQTT) ==197 +~* ~(% style="color:blue" %)~*~*AT+UNAME=<Your ThingSpeak MQTT User Name>~*~* 264 264 265 - ===3.3.1Get MQTTCredentials===199 +~* ~(% style="color:blue" %)~*~*AT+PWD=<Your ThingSpeak MQTT Password>~*~* 266 266 267 - [[ThingSpeak>>url:https://thingspeak.com/]]connectionuses MQTT Connection. Sowe need to get MQTT Credentials first. Youneedto point MQTTDevices to ThingSpeakChannel as well.201 +~* ~(% style="color:blue" %)~*~*AT+PUBTOPIC=<YOUR_CHANNEL_ID>~*~* 268 268 269 - [[image:image-20230802112413-6.png||height="336"width="925"]]203 +~* ~(% style="color:blue" %)~*~*AT+SUBTOPIC=<YOUR_CHANNEL_ID>~*~* 270 270 271 - [[image:image-20230802112413-7.png]]205 +~==== 3.3.3.2 Uplink Examples ==== 272 272 273 -=== 3.3.2 Simulate with MQTT.fx === 274 274 275 - ====3.3.2.1Establish MQTT Connection ====208 +~[~[image~:image-20230816201942-1.png]] 276 276 277 - After we got MQTT Credentials, we can first simulate with PC tool MQTT.fx tool to see if the Credentials and settings are fine.210 +For SE01-NB 278 278 279 - [[image:image-20230802112413-8.png]]212 +For DDS20-NB 280 280 281 - * (% style="color:#037691" %)**Broker Address:**(%%) mqtt3.thingspeak.com214 +For DDS45-NB 282 282 283 - * (% style="color:#037691" %)**Broker Port:**(%%) 1883216 +For DDS75-NB 284 284 285 - * (% style="color:#037691" %)**Client ID:**(%%) <Your ThingSpeakMQTT ClientID>218 +For NMDS120-NB 286 286 287 - * (% style="color:#037691" %)**UserName:**(%%) <Your ThingSpeak MQTT User Name>220 +For SPH01-NB 288 288 289 - * (% style="color:#037691" %)**Password:**(%%) <Your ThingSpeak MQTT Password>222 +For NLM01-NB 290 290 291 - ==== 3.3.2.2 Publish Data toThingSpeak Channel ====224 +For NMDS200-NB 292 292 293 - [[image:image-20230802112413-9.png]]226 +For CPN01-NB 294 294 295 - [[image:image-20230802112413-10.png]]228 +For DS03A-NB 296 296 297 - (% style="color:blue" %)**In MQTT.fx, we can publish below info:**230 +For SN50V3-NB 298 298 299 -* (% style="color:#037691" %)**Topic:**(%%) channels/YOUR_CHANNEL_ID/publish 300 300 301 - * (% style="color:#037691"%)**Payload:**(%%)field1=63&field2=67&status=MQTTPUBLISH233 +~==== 3.3.3.3 Map fields to sensor value ==== 302 302 303 -Where 63 and 67 are the value to be published to field1 & field2. 304 304 305 - (%style="color:blue" %)**Result: **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-20230802112413-11.png||height="539" width="901"]] 308 308 309 - ===3.3.3 ConfigureNB-IoT Sensor for connection===239 +~[~[image~:image-20230802112413-12.png||height="504" width="1011"]] 310 310 311 - ====3.3.3.1AT Commands:====241 +~[~[image~:image-20230802112413-13.png||height="331" width="978"]] 312 312 313 -In the NB-IoT, we can run below commands so to publish the channels like MQTT.fx 314 314 315 - * (% style="color:blue" %)**AT+PRO=3,1** (%%) ~/~/ Set toseThingSpeak Server and Related Payload244 +Below is the NB-IoT Product Table show the mapping. 316 316 317 -* (% style="color:blue" %)**AT+CLIENT=<Your ThingSpeak MQTT ClientID>** 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 - *(%style="color:blue" %)**AT+UNAME=<Your ThingSpeakMQTT UserName>**266 +~== 3.4 ~[~[Datacake>>https:~/~/datacake.co/]] == 320 320 321 -* (% style="color:blue" %)**AT+PWD=<Your ThingSpeak MQTT Password>** 322 322 323 -* (% style="color:blue" %)**AT+PUBTOPIC=<YOUR_CHANNEL_ID>** 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 -* (% style="color:blue" %)**AT+SUBTOPIC=<YOUR_CHANNEL_ID>** 326 326 327 -==== 3.3.3.2 Uplink Examples ==== 273 +~(% class="wikigeneratedid" %) 274 +As example for S31B-NB. there are two versions: ~*~*S31B-NB-1D and S31B-NB-GE.~*~* 328 328 329 - [[image:image-20230816201942-1.png]]276 +~* ~(% 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 - For SE01-NB278 +~* ~(% 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 -For DDS20-NB280 +~=== 3.4.1 For device Already has template === 334 334 335 - For DDS45-NB282 +~==== 3.4.1.1 Create Device ==== 336 336 337 - For DDS75-NB284 +~(% style="color:blue" %)~*~*Add Device~*~*~(%%) in DataCake. 338 338 339 - For NMDS120-NB286 +~[~[image~:image-20230808162301-1.png||height="453" width="952"]] 340 340 341 -For SPH01-NB 342 342 343 - For NLM01-NB289 +~[~[image~:image-20230808162342-2.png||height="541" width="952"]] 344 344 345 -For NMDS200-NB 346 346 347 - For CPN01-NB292 +~(% style="color:blue" %)~*~*Choose the correct model~*~*~(%%) from template. 348 348 349 - For DS03A-NB294 +~[~[image~:image-20230808162421-3.png]] 350 350 351 -For SN50V3-NB 352 352 353 -= ===3.3.3.3Mapfields tosensorvalue====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. 354 354 355 - When NB-IoT sensor upload to ThingSpeak. The payload already specify which fileds related to which sensor value.Useneed to create fileds in Channels Settings.withname so to see the value correctly.299 +~[~[image~:image-20230808163612-7.png||height="549" width="952"]] 356 356 357 -[[image:image-2023080 2112413-12.png||height="504" width="1011"]]301 +~[~[image~:image-20230808163035-5.png]] 358 358 359 -[[image:image-2023080 2112413-13.png||height="331" width="978"]]303 +~[~[image~:image-20230808163049-6.png||height="544" width="926"]] 360 360 361 -Below is the NB-IoT Product Table show the mapping. 362 362 363 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1424px" %) 364 -|(% style="background-color:#4f81bd; width:143px" %) |(% style="background-color:#4f81bd; color:white; width:103px" %)Field1|(% style="background-color:#4f81bd; color:white; width:102px" %)Field2|(% style="background-color:#4f81bd; color:white; width:157px" %)Field3|(% style="background-color:#4f81bd; color:white; width:154px" %)Field4|(% style="background-color:#4f81bd; color:white; width:153px" %)Field5|(% style="background-color:#4f81bd; color:white; width:151px" %)Field6|(% style="background-color:#4f81bd; color:white; width:160px" %)Field7|(% style="background-color:#4f81bd; color:white; width:152px" %)Field8|(% style="background-color:#4f81bd; color:white; width:67px" %)Field9|(% style="background-color:#4f81bd; color:white; width:69px" %)Field10 365 -|(% style="background-color:#4f81bd; color:white; width:143px" %)S31x-NB|(% style="width:103px" %)Temperature |(% style="width:102px" %)Humidity|(% style="width:157px" %)Battery|(% style="width:154px" %)RSSI|(% style="width:153px" %) |(% style="width:151px" %) |(% style="width:160px" %) |(% style="width:152px" %) |(% style="width:67px" %) |(% style="width:69px" %) 366 -|(% style="background-color:#4f81bd; color:white; width:143px" %)SE01-NB|(% style="width:103px" %)Temperature |(% style="width:102px" %)Humidity|(% style="width:157px" %)conduct|(% style="width:154px" %)dielectric_constant|(% style="width:153px" %)Battery|(% style="width:151px" %)RSSI|(% style="width:160px" %) |(% style="width:152px" %) |(% style="width:67px" %) |(% style="width:69px" %) 367 -|(% style="background-color:#4f81bd; color:white; width:143px" %)DDS20-NB|(% style="width:103px" %)distance|(% style="width:102px" %)Battery|(% style="width:157px" %)RSSI|(% style="width:154px" %) |(% style="width:153px" %) |(% style="width:151px" %) |(% style="width:160px" %) |(% style="width:152px" %) |(% style="width:67px" %) |(% style="width:69px" %) 368 -|(% style="background-color:#4f81bd; color:white; width:143px" %)DDS45-NB|(% style="width:103px" %)distance|(% style="width:102px" %)Battery|(% style="width:157px" %)RSSI|(% style="width:154px" %) |(% style="width:153px" %) |(% style="width:151px" %) |(% style="width:160px" %) |(% style="width:152px" %) |(% style="width:67px" %) |(% style="width:69px" %) 369 -|(% style="background-color:#4f81bd; color:white; width:143px" %)DDS75-NB|(% style="width:103px" %)distance|(% style="width:102px" %)Battery|(% style="width:157px" %)RSSI|(% style="width:154px" %) |(% style="width:153px" %) |(% style="width:151px" %) |(% style="width:160px" %) |(% style="width:152px" %) |(% style="width:67px" %) |(% style="width:69px" %) 370 -|(% style="background-color:#4f81bd; color:white; width:143px" %)NMDS120-NB|(% style="width:103px" %)distance|(% style="width:102px" %)Battery|(% style="width:157px" %)RSSI|(% style="width:154px" %) |(% style="width:153px" %) |(% style="width:151px" %) |(% style="width:160px" %) |(% style="width:152px" %) |(% style="width:67px" %) |(% style="width:69px" %) 371 -|(% rowspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SPH01-NB|(% style="width:103px" %)ph|(% style="width:102px" %)Temperature|(% style="width:157px" %)Battery|(% style="width:154px" %)RSSI|(% style="width:153px" %) |(% style="width:151px" %) |(% style="width:160px" %) |(% style="width:152px" %) |(% style="width:67px" %) |(% colspan="1" rowspan="1" style="width:69px" %) 372 -|(% style="background-color:#4f81bd; color:white; width:143px" %)NLM01-NB|(% style="width:103px" %)Humidity|(% style="width:102px" %)Temperature|(% style="width:157px" %)Battery|(% style="width:154px" %)RSSI|(% style="width:153px" %) |(% style="width:151px" %) |(% style="width:160px" %) |(% style="width:152px" %) |(% style="width:67px" %) |(% style="width:69px" %) 373 -|(% style="background-color:#4f81bd; color:white; width:143px" %)NMDS200-NB|(% style="width:103px" %)distance1|(% style="width:102px" %)distance2|(% style="width:157px" %)Battery|(% style="width:154px" %)RSSI|(% style="width:153px" %) |(% style="width:151px" %) |(% style="width:160px" %) |(% style="width:152px" %) |(% style="width:67px" %) |(% style="width:69px" %) 374 -|(% style="background-color:#4f81bd; color:white; width:143px" %)CPN01-NB|(% style="width:103px" %)alarm|(% style="width:102px" %)count|(% style="width:157px" %)door open duration|(% style="width:154px" %)calc flag|(% style="width:153px" %)Battery|(% style="width:151px" %)RSSI|(% style="width:160px" %) |(% style="width:152px" %) |(% style="width:67px" %) |(% style="width:69px" %) 375 -|(% colspan="1" rowspan="1" style="background-color:#4f81bd; color:white; width:143px" %)DS03A-NB|(% colspan="1" rowspan="1" style="width:103px" %)level|(% colspan="1" rowspan="1" style="width:102px" %)alarm|(% colspan="1" rowspan="1" style="width:157px" %)pb14door open num|(% colspan="1" rowspan="1" style="width:154px" %)pb14 last open time|(% colspan="1" rowspan="1" style="width:153px" %)pb15 level status|(% colspan="1" rowspan="1" style="width:151px" %)pb15 alarm status|(% colspan="1" rowspan="1" style="width:160px" %)pb15 door open num|(% colspan="1" rowspan="1" style="width:152px" %)pb15 last open time|(% colspan="1" rowspan="1" style="width:67px" %)Battery|(% colspan="1" rowspan="1" style="width:69px" %)RSSI 376 -|(% colspan="1" rowspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod1|(% colspan="1" rowspan="1" style="width:103px" %)mod|(% colspan="1" rowspan="1" style="width:102px" %)Battery|(% colspan="1" rowspan="1" style="width:157px" %)RSSI|(% colspan="1" rowspan="1" style="width:154px" %)DS18B20 Temp|(% colspan="1" rowspan="1" style="width:153px" %)exit_state/input PA4|(% colspan="1" rowspan="1" style="width:151px" %)adc0|(% colspan="1" rowspan="1" style="width:160px" %)Temperature |(% colspan="1" rowspan="1" style="width:152px" %)Humidity|(% colspan="1" rowspan="1" style="width:67px" %) |(% colspan="1" rowspan="1" style="width:69px" %) 377 -|(% colspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod2|(% colspan="1" style="width:103px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:157px" %)RSSI|(% colspan="1" style="width:154px" %)DS18B20 Temp|(% colspan="1" style="width:153px" %)exit_state/input PA4|(% colspan="1" style="width:151px" %)adc0|(% colspan="1" style="width:160px" %)distance|(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:67px" %) |(% colspan="1" style="width:69px" %) 378 -|(% colspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod3|(% colspan="1" style="width:103px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:157px" %)RSSI|(% colspan="1" style="width:154px" %)adc0|(% colspan="1" style="width:153px" %)exit_state/input PA4|(% colspan="1" style="width:151px" %)adc1|(% colspan="1" style="width:160px" %)Temperature|(% colspan="1" style="width:152px" %)Humidity|(% colspan="1" style="width:67px" %)adc4|(% colspan="1" style="width:69px" %) 379 -|(% colspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod4|(% colspan="1" style="width:103px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:157px" %)RSSI|(% colspan="1" style="width:154px" %)DS18B20 Temp|(% colspan="1" style="width:153px" %)adc0|(% colspan="1" style="width:151px" %)exit_state/input PA4|(% colspan="1" style="width:160px" %)DS18B20 Temp2|(% colspan="1" style="width:152px" %)DS18B20 Temp3|(% colspan="1" style="width:67px" %) |(% colspan="1" style="width:69px" %) 380 -|(% colspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod5|(% colspan="1" style="width:103px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:157px" %)RSSI|(% colspan="1" style="width:154px" %)DS18B20 Temp|(% colspan="1" style="width:153px" %)adc0|(% colspan="1" style="width:151px" %)exit_state/input PA4|(% colspan="1" style="width:160px" %)Weight|(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:67px" %) |(% colspan="1" style="width:69px" %) 381 -|(% colspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod6|(% colspan="1" style="width:103px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:157px" %)RSSI|(% colspan="1" style="width:154px" %)count|(% colspan="1" style="width:153px" %) |(% colspan="1" style="width:151px" %) |(% colspan="1" style="width:160px" %) |(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:67px" %) |(% colspan="1" style="width:69px" %) 306 +~=== 3.4.2 For Device already registered in DataCake before shipped === 382 382 383 -== 3.4 [[Datacake>>https://datacake.co/]]==308 +~==== 3.4.2.1 Scan QR Code to get the device info ==== 384 384 385 -(% class="wikigeneratedid" %) 386 -Dragino NB-IoT sensors has its template in **[[Datacake>>https://datacake.co/]]** Platform. There are two version for NB Sensor, 387 387 388 -(% class="wikigeneratedid" %) 389 -As example for S31B-NB. there are two versions: **S31B-NB-1D and S31B-NB-GE.** 311 +Users can use their phones or computers to scan QR codes to obtain device data information. 390 390 391 - * (% style="color:blue" %)**S31B-NB-1D**(%%): This version have pre-configure DataCake connection.User justneed to Power on this device, it will auto connect senddata to DataCake Server.313 +~[~[image~:image-20230808170051-8.png||height="255" width="259"]] 392 392 393 - * (% style="color:blue" %)**S31B-NB-GE**(%%): This verson doesn't have pre-configureDatacake connection. User need to enter the AT Commands to connect to Datacake.See below for instruction.315 +~[~[image~:image-20230808170548-9.png]] 394 394 395 -=== 3.4.1 For device Already has template === 396 396 397 -==== 3.4. 1.1CreateDevice ====318 +~==== 3.4.2.2 Claim Device to User Account ==== 398 398 399 -(% style="color:blue" %)**Add Device**(%%) in DataCake. 400 400 401 - [[image:image-20230808162301-1.png||height="453"width="952"]]321 +By Default, the device is registered in Dragino's DataCake Account. User can Claim it to his account. 402 402 403 -[[image:image-20230808162342-2.png||height="541" width="952"]] 404 404 405 - (%style="color:blue"%)**Choosethecorrectmodel**(%%)fromtemplate.324 +~=== 3.4.3 Manual Add Decoder in DataCake ( don't use the template in DataCake) === 406 406 407 -[[image:image-20230808162421-3.png]] 408 408 409 - (% style="color:blue" %)**Fill Device ID**(%%). The device ID needsto befilledin with IMEI, and aprefix of(% style="color:blue" %)**'f' **(%%)needs to be added.327 +~*~*Step1: Add a device~*~* 410 410 411 -[[image:image-202 30808163612-7.png||height="549" width="952"]]329 +~[~[image~:image-20240129170024-1.png||height="330" width="900"]] 412 412 413 -[[image:image-20230808163035-5.png]] 414 414 415 - [[image:image-20230808163049-6.png||height="544"width="926"]]332 +~*~*Step2: Choose your device type,please select dragino NB-IOT device~*~* 416 416 417 - === 3.4.2 For Devicealready registeredin DataCakebefore shipped==334 +~[~[image~:image-20240129170216-2.png||height="534" width="643"]] 418 418 419 -==== 3.4.2.1 Scan QR Code to get the device info ==== 420 420 421 - Users can usetheirphonesor computers toscan QR codesto obtain devicedata information.337 +~*~*Step3: Choose to create a new device~*~* 422 422 423 -[[image:image-202 30808170051-8.png||height="255" width="259"]]339 +~[~[image~:image-20240129170539-3.png||height="459" width="646"]] 424 424 425 -[[image:image-20230808170548-9.png]] 426 426 427 - ==== 3.4.2.2ClaimDevicetoUser Account====342 +~*~*Step4: Fill in the device ID of your NB device~*~* 428 428 429 - By Default, the device is registeredin Dragino's DataCakeAccount.User canClaim itto his account.344 +~[~[image~:image-20240202111546-1.png||height="378" width="651"]] 430 430 431 -=== 3.4.3 Manual Add Decoder in DataCake ( don't use the template in DataCake) === 432 432 433 -**Step 1:Add a device**347 +~*~*Step5: Please select your device plan according to your needs and complete the creation of the device~*~* 434 434 435 -[[image:image-2024012917 0024-1.png||height="330" width="900"]]349 +~[~[image~:image-20240129171236-6.png||height="450" width="648"]] 436 436 437 -**Step2: Choose your device type,please select dragino NB-IOT device** 438 438 439 - [[image:image-20240129170216-2.png||height="534"width="643"]]352 +~*~*Step6: Please add the decoder at the payload decoder of the device configuration.~*~* 440 440 441 -** Step3: Choosetowdevice**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 -[[image:image-202401291705 39-3.png||height="459" width="646"]]356 +~[~[image~:image-20240129172056-7.png||height="457" width="816"]] 444 444 445 - **Step4:Fill inthedeviceID of your NB device**358 +~[~[image~:image-20240129173116-9.png||height="499" width="814"]] 446 446 447 -[[image:image-20240202111546-1.png||height="378" width="651"]] 448 448 449 -**Step 5:Pleaseselectyour deviceplan accordingtoyourneedsandmpletethecreationofthe device**361 +~*~*Step7: Add the output of the decoder as a field~*~* 450 450 451 -[[image:image-2024012917 1236-6.png||height="450" width="648"]]363 +~[~[image~:image-20240129173541-10.png||height="592" width="968"]] 452 452 453 -**Step6: Please add the decoder at the payload decoder of the device configuration.** 454 454 455 -** 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]]366 +~*~*Step8: Customize the dashboard and use fields as parameters of the dashboard~*~* 456 456 457 -[[image:image-2024012917 2056-7.png||height="457" width="816"]]368 +~[~[image~:image-20240129174518-11.png||height="147" width="1042"]] 458 458 459 -[[image:image-2024012917 3116-9.png||height="499" width="814"]]370 +~[~[image~:image-20240129174657-12.png||height="538" width="916"]] 460 460 461 - **Step7:Add theoutput of thedecoder as a field**372 +~[~[image~:image-20240129174840-13.png||height="536" width="750"]] 462 462 463 -[[image:image-20240129173541-10.png||height="592" width="968"]] 464 464 465 - **Step8:Customizethedashboardand usefieldsasparametersofthe dashboard**375 +~=== 3.4.4 For device have not configured to connect to DataCake === 466 466 467 -[[image:image-20240129174518-11.png||height="147" width="1042"]] 468 468 469 -[[image:image-20240129174657-12.png||height="538" width="916"]] 378 +~(% class="lead" %) 379 +Use AT command for connecting to DataCake 470 470 471 - [[image:image-20240129174840-13.png||height="536"width="750"]]381 +~(% style="color:blue" %)~*~*AT+PRO=2,0~*~* 472 472 473 - ===3.4.4 For device have not configuredto connect toDataCake===383 +~(% style="color:blue" %)~*~*AT+SERVADDR=67.207.76.90,4445~*~* 474 474 475 -(% class="lead" %) 476 -Use AT command for connecting to DataCake 477 477 478 - (% style="color:blue" %)**AT+PRO=2,0**386 +~== 3.5 Node-Red (via MQTT) == 479 479 480 - (% style="color:blue" %)**AT+SERVADDR=67.207.76.90,4445**388 +~=== 3.5.1 Configure ~[~[Node-Red>>http:~/~/wiki.dragino.com/xwiki/bin/view/Main/Node-RED/]] === 481 481 482 -== 3.5 Node-Red (via MQTT) == 483 483 484 -=== 3.5.1 Configure [[Node-Red>>http://wiki.dragino.com/xwiki/bin/view/Main/Node-RED/]] === 485 - 486 486 Take S31-NB UDP protocol as an example. 487 487 488 488 Dragino provides input flow examples for the sensors. ... ... @@ -489,347 +489,420 @@ 489 489 490 490 User can download the required JSON file through Dragino Node-RED input flow template. 491 491 492 -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]] 493 493 494 494 We can directly import the template. 495 495 496 496 The templates for S31-NB and NB95S31B are the same. 497 497 498 -[[image:image-20230809173127-4.png]] 499 499 404 +~[~[image~:image-20230809173127-4.png]] 405 + 406 + 500 500 Please select the NB95S31B template. 501 501 502 -[[image:image-20230809173310-5.png||height="558" width="926"]] 409 +~[~[image~:image-20230809173310-5.png||height="558" width="926"]] 503 503 504 -[[image:image-20230809173438-6.png]] 411 +~[~[image~:image-20230809173438-6.png]] 505 505 506 -[[image:image-20230809173800-7.png]] 413 +~[~[image~:image-20230809173800-7.png]] 507 507 415 + 508 508 Successfully imported template. 509 509 510 -[[image:image-20230809173835-8.png||height="515" width="860"]] 418 +~[~[image~:image-20230809173835-8.png||height="515" width="860"]] 511 511 420 + 512 512 Users can set UDP port. 513 513 514 -[[image:image-20230809174053-9.png]] 423 +~[~[image~:image-20230809174053-9.png]] 515 515 516 -=== 3.5.2 Simulate Connection === 517 517 426 +~=== 3.5.2 Simulate Connection === 427 + 428 + 518 518 We have completed the configuration of UDP. We can try sending packets to node red. 519 519 520 -[[image:image-20230810083934-1.png]] 431 +~[~[image~:image-20230810083934-1.png]] 521 521 522 -[[image:image-20230810084048-2.png||height="535" width="1052"]] 433 +~[~[image~:image-20230810084048-2.png||height="535" width="1052"]] 523 523 524 -=== 3.5.3 Configure NB-IoT Sensors === 525 525 526 -* (% style="color:#037691" %)**AT+PRO=3,0 or 3,5 ** (%%) **~/~/ hex format or json format** 527 -* (% style="color:#037691" %)**AT+SUBTOPIC=<device name>or User Defined** 528 -* (% style="color:#037691" %)**AT+PUBTOPIC=<device name>or User Defined** 529 -* (% style="color:#037691" %)**AT+CLIENT=<device name> or User Defined** 530 -* (% style="color:#037691" %)**AT+UNAME=<device name> or User Defined** 531 -* (% style="color:#037691" %)**AT+PWD=“Your device token”** 436 +~=== 3.5.3 Configure NB-IoT Sensors === 532 532 533 -== 3.6 ThingsBoard.Cloud (via MQTT) == 534 534 535 -=== 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”~*~* 536 536 537 -== ==3.6.1.1Create Device====446 +~== 3.6 ThingsBoard.Cloud (via MQTT) == 538 538 539 - Createa New Device in[[ThingsBoard>>url:https://thingsboard.cloud/]].Record Device Name which is used for MQTT connection.448 +~=== 3.6.1 Configure ThingsBoard === 540 540 541 - [[image:image-20230802112413-32.png||height="583" width="1066"]]450 +~==== 3.6.1.1 Create Device ==== 542 542 543 -==== 3.6.1.2 Create Uplink & Downlink Converter ==== 544 544 545 - (% style="color:blue"%)**UplinkConverter**453 +Create a New Device in ~[~[ThingsBoard>>url:https:~/~/thingsboard.cloud/]]. Record Device Name which is used for MQTT connection. 546 546 547 - 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"]] 548 548 549 -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. 550 550 551 - [[image:image-20230802112413-33.png||height="597"width="1061"]]458 +~==== 3.6.1.2 Create Uplink & Downlink Converter ==== 552 552 553 -(% style="color:blue" %)**Downlink Converter** 554 554 555 - TheDownlinkconvertertransformingoutgoing RPC message and then the Integration sends it to external MQTT broke461 +~(% style="color:blue" %)~*~*Uplink Converter~*~* 556 556 557 - [[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. 558 558 559 -(% 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. 560 560 561 - ====3.6.1.3MQTT IntegrationSetup====467 +~[~[image~:image-20230802112413-33.png||height="597" width="1061"]] 562 562 563 -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**; 564 564 565 - [[image:image-20230802112413-35.png||height="597"width="1062"]]470 +~(% style="color:blue" %)~*~*Downlink Converter~*~* 566 566 567 - *Thextstepsstodtherecently created uplink anddownlink converters;472 +The Downlink converter transforming outgoing RPC message and then the Integration sends it to external MQTT broke 568 568 569 -[[image:image-20230802112413-3 6.png||height="598" width="1062"]]474 +~[~[image~:image-20230802112413-34.png||height="598" width="1063"]] 570 570 571 - [[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.~*~* 572 572 573 -(% style="color:blue" %)**Add a topic filter:** 574 574 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 + 575 575 Consistent with the theme of the node setting. 576 576 577 -You 498 +You can also select an MQTT QoS level. We use MQTT QoS level 0 (At most once) by default; 578 578 579 -[[image:image-20230802112413-38.png||height="598" width="1064"]] 500 +~[~[image~:image-20230802112413-38.png||height="598" width="1064"]] 580 580 581 -=== 3.6.2 Simulate with MQTT.fx === 582 582 583 - [[image:image-20230802112413-39.png]]503 +~=== 3.6.2 Simulate with MQTT.fx === 584 584 585 -[[image:image-20230802112413-40.png||height="525" width="980"]] 586 586 587 - === 3.6.3 ConfigureNB-IoT Sensor ===506 +~[~[image~:image-20230802112413-39.png]] 588 588 589 - (% style="color:blue" %)**AT Commands**508 +~[~[image~:image-20230802112413-40.png||height="525" width="980"]] 590 590 591 -* (% style="color:#037691" %)**AT+PRO=3,3 **(%%)** **~/~/ Use MQTT to connect to ThingsBoard. Payload Type set to 3. 592 592 593 - * (% style="color:#037691"%)**AT+SUBTOPIC=<devicename>**511 +~=== 3.6.3 Configure NB-IoT Sensor === 594 594 595 -* (% style="color:#037691" %)**AT+PUBTOPIC=<device name>** 596 596 597 - *(% style="color:#037691" %)**AT+CLIENT=<device name>or User Defined**514 +~(% style="color:blue" %)~*~*AT Commands~*~* 598 598 599 -* (% 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. 600 600 601 -* (% style="color:#037691" %)**AT+P WD=<deviceor User Defined**518 +~* ~(% style="color:#037691" %)~*~*AT+SUBTOPIC=<device name>~*~* 602 602 603 - TestUplinkbyclick thebutton forsecond520 +~* ~(% style="color:#037691" %)~*~*AT+PUBTOPIC=<device name>~*~* 604 604 605 - [[image:image-20230802112413-41.png||height="496"width="828"]]522 +~* ~(% style="color:#037691" %)~*~*AT+CLIENT=<device name> or User Defined~*~* 606 606 607 - [[image:image-20230802112413-42.png]]524 +~* ~(% style="color:#037691" %)~*~*AT+UNAME=<device name> or User Defined~*~* 608 608 609 - [[image:image-20230802112413-43.png||height="407"width="825"]]526 +~* ~(% style="color:#037691" %)~*~*AT+PWD=<device name> or User Defined~*~* 610 610 611 - == 3.7 [[Tago.io>>url:https://admin.tago.io/]] (via MQTT) ==528 +Test Uplink by click the button for 1 second 612 612 613 - === 3.7.1 Createdevice& GetCredentials===530 +~[~[image~:image-20230802112413-41.png||height="496" width="828"]] 614 614 615 - 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]] 616 616 617 -[[image:image-20230802112413-4 4.png]]534 +~[~[image~:image-20230802112413-43.png||height="407" width="825"]] 618 618 619 -[[image:image-20230802112413-45.png]] 620 620 621 - 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) == 622 622 623 - [[image:image-20230802112413-46.png]]539 +~=== 3.7.1 Create device & Get Credentials === 624 624 625 -The device needs to enable the TLS mode and set the (% style="color:blue" %)**AT+TLSMOD=1,0**(%%) command. 626 626 627 - (% 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. 628 628 629 - * (% style="color:#037691" %)**Profile Name:“Any name”**544 +~[~[image~:image-20230802112413-44.png]] 630 630 631 - * (% style="color:#037691" %)**Broker Address: mqtt.tago.io**546 +~[~[image~:image-20230802112413-45.png]] 632 632 633 -* (% style="color:#037691" %)**Broker Port: 8883** 634 634 635 - * (% 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. 636 636 637 - (% style="color:blue" %)**On the section User credentials, set the following information:**551 +~[~[image~:image-20230802112413-46.png]] 638 638 639 -* (% style="color:#037691" %)**User Name: “Any value”** (%%) **~/~/ Tago validates your user by the token only** 640 640 641 - *(% 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. 642 642 643 - *(% style="color:#037691" %)**PUBTOPIC: “Any value”**556 +~(% style="color:blue" %)~*~*On the Connection Profile window, set the following information:~*~* 644 644 645 -* (% style="color:#037691" %)** SUBTOPIC:value”**558 +~* ~(% style="color:#037691" %)~*~*Profile Name: “Any name”~*~* 646 646 647 -(% style="color: blue" %)**AT command:**560 +~* ~(% style="color:#037691" %)~*~*Broker Address: mqtt.tago.io~*~* 648 648 649 -* (% style="color:#037691" %)** AT+PRO=3,0 or3,5 ** (%%) **~/~/ hex formatorjson format**562 +~* ~(% style="color:#037691" %)~*~*Broker Port: 8883~*~* 650 650 651 -* (% style="color:#037691" %)** AT+SUBTOPIC=<deviceame>or UserDefined**564 +~* ~(% style="color:#037691" %)~*~*Client ID: “Any value”~*~* 652 652 653 - *(% style="color:#037691" %)**AT+PUBTOPIC=<deviceme>or User Defined**566 +~(% style="color:blue" %)~*~*On the section User credentials, set the following information:~*~* 654 654 655 -* (% style="color:#037691" %)** AT+CLIENT=<devicename>orUserDefined**568 +~* ~(% style="color:#037691" %)~*~*User Name: “Any value”~*~* ~(%%) ~*~*~~/~~/ Tago validates your user by the token only~*~* 656 656 657 -* (% style="color:#037691" %)** AT+UNAME=<devicename>or User Defined**570 +~* ~(% style="color:#037691" %)~*~*Password: “Your device token”~*~* 658 658 659 -* (% style="color:#037691" %)** AT+PWD=“Your device token”**572 +~* ~(% style="color:#037691" %)~*~*PUBTOPIC: “Any value”~*~* 660 660 661 - ===3.7.2Simulatewith MQTT.fx ===574 +~* ~(% style="color:#037691" %)~*~*SUBTOPIC: “Any value”~*~* 662 662 663 - [[image:image-20230802112413-52.png]]576 +~(% style="color:blue" %)~*~*AT command:~*~* 664 664 665 - [[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~*~* 666 666 667 - 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~*~* 668 668 669 - [[image:image-20230808105217-1.png||height="556"width="1031"]]582 +~* ~(% style="color:#037691" %)~*~*AT+PUBTOPIC=<device name>or User Defined~*~* 670 670 671 - [[image:image-20230808105329-3.png]]584 +~* ~(% style="color:#037691" %)~*~*AT+CLIENT=<device name> or User Defined~*~* 672 672 673 - ===3.7.3tago data===586 +~* ~(% style="color:#037691" %)~*~*AT+UNAME=<device name> or User Defined~*~* 674 674 675 - [[image:image-20230802112413-50.png||height="242"width="1037"]]588 +~* ~(% style="color:#037691" %)~*~*AT+PWD=“Your device token”~*~* 676 676 677 - [[image:image-20230802112413-51.png||height="184"width="696"]]590 +~=== 3.7.2 Simulate with MQTT.fx === 678 678 679 -== 3.8 TCP Connection == 680 680 681 - (% style="color:blue" %)**AT command:**593 +~[~[image~:image-20230802112413-52.png]] 682 682 683 -* (% style="color:#037691" %)**AT+PRO=4,0 ** (%%) ~/~/ Set to use TCP protocol to uplink(HEX format) 684 684 685 - * (% 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"]] 686 686 687 -* (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5600 ** (%%) ~/~/ to set TCP server address and port 688 688 689 -(% 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~*~*. 690 690 691 -[[image:image-2023080 7233631-1.png]]601 +~[~[image~:image-20230808105217-1.png||height="556" width="1031"]] 692 692 693 - (% style="color:blue" %)**See resultin TCP Server:**603 +~[~[image~:image-20230808105329-3.png]] 694 694 695 -[[image:image-20230807233631-2.png]] 696 696 697 -== 3. 9 AWS Connection==606 +~=== 3.7.3 tago data === 698 698 699 -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]] 700 700 701 - =4.MQTT/UDP/TCP downlink=609 +~[~[image~:image-20230802112413-50.png||height="242" width="1037"]] 702 702 703 - ==4.1MQTT (via MQTT.fx)==611 +~[~[image~:image-20230802112413-51.png||height="184" width="696"]] 704 704 705 -Configure MQTT connections properly and send downlink commands to configure nodes through the Publish function of MQTT.fx//.// 706 706 707 - **1.**Configurenode MQTT connection(via MQTT.fx):614 +~== 3.8 TCP Connection == 708 708 709 -(% style="color:blue" %)**AT command:** 710 710 711 - *(% style="color:#037691" %)**AT+PRO=3,0or 3,5 ** (%%)~/~/ hex format or json format617 +~(% style="color:blue" %)~*~*AT command:~*~* 712 712 713 -* (% style="color:#037691" %)**AT+ SUBTOPIC=UserDefined**619 +~* ~(% style="color:#037691" %)~*~*AT+PRO=4,0 ~*~* ~(%%) ~~/~~/ Set to use TCP protocol to uplink(HEX format) 714 714 715 -* (% style="color:#037691" %)**AT+P UBTOPIC=UserDefined**621 +~* ~(% style="color:#037691" %)~*~*AT+PRO=4,1 ~*~* ~(%%) ~~/~~/ Set to use TCP protocol to uplink(JSON format) 716 716 717 -* (% 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 718 718 719 - *(% style="color:#037691" %)**AT+PWD=<devicename>orUserDefined**625 +~(% style="color:blue" %)~*~*Sensor Console Output when Uplink:~*~* 720 720 721 - * (% style="color:#037691" %)**AT+SERVADDR=8.217.91.207,1883 ** (%%) ~/~/ to set MQTT server address andport627 +~[~[image~:image-20230807233631-1.png]] 722 722 723 -(% 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.** 724 724 725 - [[image:image-20240417180145-2.png||height="434"width="587"]][[width="584">>width="584"]]630 +~(% style="color:blue" %)~*~*See result in TCP Server:~*~* 726 726 727 - **2. **When the node uplink packets, we can observe the data in MQTT.fx.632 +~[~[image~:image-20230807233631-2.png]] 728 728 729 -[[image:image-20240418144337-1.png||height="709" width="802"]] 730 730 731 - **3.**The downlink command can besuccessfully sentonly when the downlink port is open.635 +~== 3.9 AWS Connection == 732 732 733 - The downlink port is opened for about 3 seconds after uplink packets are sent. 734 734 735 - Therefore,whenweseethenodeuplinkpacketsin the**Subscribe**window, weneed toimmediately switchtohe **publish** windowtopublishthe**hexformat** command.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]] 736 736 737 -[[image:image-20240418150435-3.png||height="582" width="659"]] 738 738 739 -[[image:image-20240418150932-4.png||height="492" width="1061"]] 740 740 741 - (% style="color:red"%)**Note:Userscan 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.**642 +~= 4. MQTT/UDP/TCP downlink = 742 742 743 -= 5.GPSpositioningfunction=644 +~== 4.1 MQTT (via MQTT.fx) == 744 744 745 - ===1.Turn onGPSfunction===646 +Configure MQTT connections properly and send downlink commands to configure nodes through the Publish function of MQTT.fx~/~/.~/~/ 746 746 747 -(% class="wikigeneratedid" %) 748 -AT+GPS=1 or 0 ~/~/GPS function on or off 648 +~*~*1.~*~* Configure node MQTT connection (via MQTT.fx): 749 749 650 +~(% style="color:blue" %)~*~*AT command:~*~* 750 750 751 - ===2.ExtendthetimetoturnonGNSS ===652 +~* ~(% style="color:#037691" %)~*~*AT+PRO=3,0 or 3,5 ~*~* ~(%%)~~/~~/ hex format or json format 752 752 753 - AT+GNSST=30~/~/GPSsearch forpositioninginformationfor 30 seconds654 +~* ~(% style="color:#037691" %)~*~*AT+SUBTOPIC=User Defined~*~* 754 754 656 +~* ~(% style="color:#037691" %)~*~*AT+PUBTOPIC=User Defined~*~* 755 755 756 - ===3.GetorsetGPS positioningintervalinunitsofhour===658 +~* ~(% style="color:#037691" %)~*~*AT+UNAME=<device name> or User Defined~*~* 757 757 758 - AT+GTDC=24~/~/ThedevicewillactivateGPS positioningevery24 hours660 +~* ~(% style="color:#037691" %)~*~*AT+PWD=<device name> or User Defined~*~* 759 759 662 +~* ~(% style="color:#037691" %)~*~*AT+SERVADDR=8.217.91.207,1883 ~*~* ~(%%) ~~/~~/ to set MQTT server address and port 760 760 761 -= 5.FAQ=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.~*~* 762 762 763 - ==5.1 What isthe usageof MultiSamplingand OneUplink?==666 +~[~[image~:image-20240417180145-2.png||height="434" width="587"]]~[~[image:image-20240417180737-3.png||height="431" width="584"]] 764 764 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 + 675 + The downlink port is opened for about 3 seconds after uplink packets are sent. 676 + 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. 678 + 679 +~[~[image~:image-20240418150435-3.png||height="582" width="659"]] 680 + 681 +~[~[image~:image-20240418150932-4.png||height="492" width="1061"]] 682 + 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.~*~* 684 + 685 + 686 + 687 + 688 +~= 5. FAQ = 689 + 690 +~== 5.1 What is the usage of Multi Sampling and One Uplink? == 691 + 692 + 765 765 The NB series has the feature for Multi Sampling and one uplink. See one of them 766 766 767 -[[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]] 768 768 769 769 User can use this feature for below purpose: 770 770 771 -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. 772 -1. Give more sampling data points. 773 -1. Increase reliable in transmission. For example. If user set 774 -1*. **AT+TR=1800** 775 -1*. **AT+NOUD=24** 776 -1*. **AT+TDC=7200** 777 -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. 778 778 779 -== 5.2 Why the uplink JSON format is not standard? == 707 +~== 5.2 Why the uplink JSON format is not standard? == 780 780 709 + 781 781 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. 782 782 783 783 The firmware version released after 2024, Mar will use change back to use Json format. Detail please check changelog. 784 784 785 -[[image:image-20240229233154-1.png]] 714 +~[~[image~:image-20240229233154-1.png]] 786 786 787 -= 6. Trouble Shooting: = 788 788 789 -= =6.1Checklist fordebuging NetworkConnectionissue. Signal Strenght:99issue.==717 +~= 6. Trouble Shooting: = 790 790 719 +~== 6.1 Checklist for debuging Network Connection issue. Signal Strenght:99 issue. == 720 + 721 + 791 791 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. 792 792 793 -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) 794 794 795 -[[image:image-20240207002003-1.png]] 726 +~[~[image~:image-20240207002003-1.png]] 796 796 728 + 797 797 If fail to attach network, it will shows signal 99. as below: 798 798 799 -[[image:image-20240207002129-2.png]] 731 +~[~[image~:image-20240207002129-2.png]] 800 800 801 -(% class="lead" %) 733 + 734 +~(% class="lead" %) 802 802 When see this issue, below are the checklist: 803 803 804 -* 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. 805 -* 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]]. 806 -* 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]]. 807 -* Check if the device is attached to Carrier network but reject. (need to check with operator). 808 -* 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. 809 809 810 -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. 811 811 812 812 813 -== (% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a"%)6.4 Whysometimethe ATCommandsslowinreponse?(%%)==746 +~== 6.2 Issue: "NBIOT did not respond" == 814 814 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 + 815 815 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. 816 816 817 -[[image:image-20240226111928-1.png]] 793 +~[~[image~:image-20240226111928-1.png]] 818 818 819 -== (% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a" %)6.5 What is the Downlink Command by the NB device?(%%) == 820 820 821 -(% data-sider-select-id="bb6e9353-0c3f-473c-938d-4b416c9a03e6" %) 822 -=== UDP: === 796 +~== ~(% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a" %)6.5 What is the Downlink Command by the NB device?~(%%) == 823 823 824 -(% 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" %) 825 825 Its downlink command is the same as the AT command, but brackets are required. 826 826 Example: 827 827 828 828 {AT+TDC=300} 829 829 830 -(% data-sider-select-id="90b80f1a-e924-4c8a-afc5-4429e019a657" %) 831 -=== MQTT: === 832 832 808 +~(% data-sider-select-id="90b80f1a-e924-4c8a-afc5-4429e019a657" %) 809 +~=== MQTT: === 810 + 833 833 Json: 834 834 835 835 The Json format in MQTT mode needs to be configured with all commands. ... ... @@ -866,7 +866,6 @@ 866 866 The supported commands are consistent with LoRaWAN's hex commands. 867 867 Please refer to the following link to obtain the hex format: 868 868 869 -[[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/]] 870 870 871 871 872 -
- image-20240602220856-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -250.9 KB - Content
- image-20240819102802-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.ting - Size
-
... ... @@ -1,1 +1,0 @@ 1 -41.5 KB - Content
- image-20240819103212-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.ting - Size
-
... ... @@ -1,1 +1,0 @@ 1 -49.5 KB - Content
- image-20240819103826-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.ting - Size
-
... ... @@ -1,1 +1,0 @@ 1 -122.4 KB - Content
- image-20240819103909-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.ting - Size
-
... ... @@ -1,1 +1,0 @@ 1 -122.2 KB - Content
- image-20240819104904-5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.ting - Size
-
... ... @@ -1,1 +1,0 @@ 1 -52.1 KB - Content
- image-20240819104942-6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.ting - Size
-
... ... @@ -1,1 +1,0 @@ 1 -52.1 KB - Content
- image-20240819105003-7.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.ting - Size
-
... ... @@ -1,1 +1,0 @@ 1 -48.2 KB - Content
- image-20240819105418-8.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.ting - Size
-
... ... @@ -1,1 +1,0 @@ 1 -163.8 KB - Content