From version < 10.1 >
edited by David Huang
on 2024/06/07 16:21
To version 1.1 >
edited by Edwin Chen
on 2024/06/02 21:46
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.David
1 +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 -This configure instruction is for Dragino NB-IoT models with -CB or -CS suffix, for example DDS75-CB. These models use the same NB-IoT Module **[[BG95-M2>>https://www.dropbox.com/sh/3ilyaswz4odgaru/AADR86cAgL9UGlmLuEH-UZgla?st=x1ry6v5j&dl=0]]** 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.
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 -To attache end nodes to NB-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 doing above, the end nodes should be able to attach to NB-IoT network .
30 +~[~[image~:image-20230808205045-1.png||height="293" width="438"]]
33 33  
34 -The -CB and -CS models support (% style="color:blue" %)**LTE Cat NB2 and LTE-M (CAT-M1)**(%%), with below frequency band: multiple frequency bands of
32 +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/B85 **(%%).
34 +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.2 Speed Up Network Attach 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 -Attache to 1NCE card for Australia use:
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 connection is successful, user can use (% style="color:#037691" %)**AT+QENG="servingcell"**(%%) to check which band is actually in used.
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 -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/]]**
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 -For example, setting the LTE-M network frequency band to 3.
85 +~==== 3.1.2.1 AT Commands ====
136 136  
137 -AT+QCFG="band",0xF,0x4,0,1
138 138  
139 -When searching for all bands, the value of this command is set to:
88 +~(% style="color:blue" %)~*~*AT Commands:~*~*
140 140  
141 -AT+QCFG="band",0xF,0x100002000000000f0e189f,0x10004200000000090e189f,1
90 +~* ~(% 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.Configure search 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 for eMTC
100 +~[~[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,1
103 +~== 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. Configure to connect to different servers =
108 +Below are the commands.
167 167  
168 -== 3.1 General UDP Connection ==
110 +~(% style="color:blue" %)~*~*AT Commands:~*~*
169 169  
170 -The NB-IoT Sensor can send packet to server use UDP protocol.
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 Simulate UDP Connection by PC tool ===
114 +~* ~(% style="color:#037691" %)~*~*AT+SERVADDR=120.24.4.116,1883~*~*  ~(%%)      ~~/~~/  Set MQTT server address and port
173 173  
174 -We can use PC tool to simulate UDP connection to make sure server 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.2 Configure NB-IoT Sensor ===
120 +~* ~(% style="color:#037691" %)~*~*AT+PWD=PWD~*~*             ~(%%)                           ~~/~~/  Set the password of MQTT
179 179  
180 -==== 3.1.2.1 AT Commands ====
122 +~* ~(% style="color:#037691" %)~*~*AT+PUBTOPIC=NSE01_PUB~*~*  ~(%%)                  ~~/~~/  Set the sending topic of MQTT
181 181  
182 -(% style="color:blue" %)**AT Commands:**
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 UDP protocol to uplink ,Payload Type select Hex payload
126 +~[~[image~:image-20230802112413-4.png]]
185 185  
186 -* (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5601**  (%%) ~/~/ Set UDP server address and port
128 +~[~[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 -[[image:image-20230802112413-3.png]]
133 +~== 3.3 ~[~[ThingSpeak>>url:https:~/~/thingspeak.com/]] (via MQTT) ==
193 193  
194 -== 3.2 General COAP 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 -Below are the commands.
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 COAP protocol 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 Uplink Example ===
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 -The NB-IoT Sensor can send packet to server use MQTT protocol.
154 +~* ~(% style="color:#037691" %)~*~*Broker Address:~*~*~(%%) mqtt3.thingspeak.com
216 216  
217 -Below are the commands.
156 +~* ~(% style="color:#037691" %)~*~*Broker Port:~*~*~(%%) 1883
218 218  
219 -(% style="color:blue" %)**AT Commands:**
158 +~* ~(% style="color:#037691" %)~*~*Client ID:~*~*~(%%) <Your ThingSpeak MQTT ClientID>
220 220  
221 -* (% style="color:#037691" %)**AT+PRO=3,0**   (%%) ~/~/ Set to use MQTT protocol to uplink, Payload Type select 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**  (%%) ~/~/ Set MQTT server address and port
162 +~* ~(% style="color:#037691" %)~*~*Password:~*~*~(%%) <Your ThingSpeak MQTT Password>
224 224  
225 -* (% style="color:#037691" %)**AT+CLIENT=CLIENT**     (%%) ~/~/ Set up the CLIENT of MQTT
164 +~==== 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 the password of MQTT
167 +~[~[image~:image-20230802112413-9.png]]
230 230  
231 -* (% style="color:#037691" %)**AT+PUBTOPIC=NSE01_PUB**  (%%) ~/~/ Set the sending topic of MQTT
169 +~[~[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 document and adjust the uplink period to a suitable 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. You need to point MQTT Devices to ThingSpeak 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.2 Simulate with MQTT.fx ===
186 +~=== 3.3.3 Configure NB-IoT Sensor for connection ===
252 252  
253 -==== 3.3.2.1 Establish MQTT Connection ====
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" %)**Broker Address:**(%%) mqtt3.thingspeak.com
193 +~* ~(% style="color:blue" %)~*~*AT+PRO=3,1~*~* ~(%%)    ~~/~~/ Set to use ThingSpeak Server and Related Payload
260 260  
261 -* (% style="color:#037691" %)**Broker Port:**(%%) 1883
195 +~* ~(% style="color:blue" %)~*~*AT+CLIENT=<Your ThingSpeak MQTT ClientID>~*~*
262 262  
263 -* (% style="color:#037691" %)**Client ID:**(%%) <Your ThingSpeak MQTT ClientID>
197 +~* ~(% style="color:blue" %)~*~*AT+UNAME=<Your ThingSpeak MQTT User Name>~*~*
264 264  
265 -* (% style="color:#037691" %)**User Name:**(%%) <Your ThingSpeak MQTT User Name>
199 +~* ~(% style="color:blue" %)~*~*AT+PWD=<Your ThingSpeak MQTT Password>~*~*
266 266  
267 -* (% style="color:#037691" %)**Password:**(%%) <Your ThingSpeak MQTT Password>
201 +~* ~(% style="color:blue" %)~*~*AT+PUBTOPIC=<YOUR_CHANNEL_ID>~*~*
268 268  
269 -==== 3.3.2.2 Publish Data to ThingSpeak Channel ====
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 can publish below info:**
208 +~[~[image~:image-20230816201942-1.png]]
276 276  
277 -* (% style="color:#037691" %)**Topic:**(%%) channels/YOUR_CHANNEL_ID/publish
210 +For SE01-NB
278 278  
279 -* (% style="color:#037691" %)**Payload:**(%%) field1=63&field2=67&status=MQTTPUBLISH
212 +For DDS20-NB
280 280  
281 -Where 63 and 67 are the value to be 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 Configure NB-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 can run below commands so to publish the channels like MQTT.fx
224 +For NMDS200-NB
292 292  
293 -* (% style="color:blue" %)**AT+PRO=3,1** (%%) ~/~/ Set to use ThingSpeak Server and Related Payload
226 +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 User Name>**
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 Uplink Examples ====
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-NB
239 +~[~[image~:image-20230802112413-12.png||height="504" width="1011"]]
310 310  
311 -For DDS20-NB
241 +~[~[image~:image-20230802112413-13.png||height="331" width="978"]]
312 312  
313 -For DDS45-NB
314 314  
315 -For DDS75-NB
244 +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 -For SPH01-NB
266 +~== 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-NB
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 -==== 3.3.3.3 Map fields to sensor value ====
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 -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.
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 -Below is the NB-IoT Product Table show the mapping.
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 just need 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.1 For device Already has template ===
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.1 Create Device ====
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-20230808162301-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" %)**Choose the correct 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-20230808163035-5.png]]
313 +~[~[image~:image-20230808170051-8.png||height="255" width="259"]]
392 392  
393 -[[image:image-20230808163049-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.1 Scan QR Code to get the 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.2 Claim Device to User Account ====
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 Manual Add Decoder in DataCake ( don't use the template in DataCake) ===
327 +~*~*Step1: Add a device~*~*
410 410  
411 -**Step1: Add a device**
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 in the device ID 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 -**Step5: Please select your device plan according to your needs and complete the creation of the device**
342 +~*~*Step4: Fill in the device ID of your NB device~*~*
428 428  
429 -[[image:image-20240129171236-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 -**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]]
347 +~*~*Step5: Please select your device plan according to your needs and complete the creation of the device~*~*
434 434  
435 -[[image:image-20240129172056-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 -**Step7: Add the output of the decoder as a field**
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: Customize the dashboard and use fields as parameters of the dashboard**
356 +~[~[image~:image-20240129172056-7.png||height="457" width="816"]]
444 444  
445 -[[image:image-20240129174518-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 device have not configured to 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,348 +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: [[https:~~/~~/www.dropbox.com/sh/mduw85jcuwsua22/AAAvwPhg9z6dLjJhmZjqBf_ma?dl=0>>url:https://www.dropbox.com/sh/mduw85jcuwsua22/AAAvwPhg9z6dLjJhmZjqBf_ma?dl=0]]
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.1 Create Device ====
446 +~== 3.6 ThingsBoard.Cloud (via MQTT) ==
516 516  
517 -Create a 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" %)**Uplink Converter**
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 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.
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 -The Downlink converter transforming outgoing RPC message and then the Integration sends it to external MQTT broke
461 +~(% 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: Our device payload is already human readable data. Therefore, users do not need to write decoders. Simply create by default.**
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.3 MQTT Integration Setup ====
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 -* The next steps is to add the recently created uplink and downlink converters;
472 +The Downlink converter transforming outgoing RPC message and then the Integration sendit to external MQTT broke
546 546  
547 -[[image:image-20230802112413-36.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 can also select an MQTT QoS level. We use MQTT QoS level 0 (At most once) by default;
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 Configure NB-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=<device name>**
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=<device name> or User Defined**
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+PWD=<device name> or User Defined**
518 +~* ~(% style="color:#037691" %)~*~*AT+SUBTOPIC=<device name>~*~*
580 580  
581 -Test Uplink by click the button for 1 second
520 +~* ~(% style="color:#037691" %)~*~*AT+PUBTOPIC=<devicname>~*~*
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 Create device & Get Credentials ===
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/]]. We need to Create Device and Get MQTT Credentials first.
532 +~[~[image~:image-20230802112413-42.png]]
594 594  
595 -[[image:image-20230802112413-44.png]]
534 +~[~[image~:image-20230802112413-43.png||height="407" width="825"]]
596 596  
597 -[[image:image-20230802112413-45.png]]
598 598  
599 -Go to the Device section and create a device. Then, go to the section tokens and 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 the Connection Profile window, set the following information:**
542 +We use MQTT Connection to send datto ~[~[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" %)**Client ID: “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: “Any 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 or 3,5 ** (%%) **~/~/ hex format or json format**
562 +~* ~(% style="color:#037691" %)~*~*Broker Port: 8883~*~*
628 628  
629 -* (% style="color:#037691" %)**AT+SUBTOPIC=<device name>or User Defined**
564 +~* ~(% style="color:#037691" %)~*~*Client ID: “Any value”~*~*
630 630  
631 -* (% style="color:#037691" %)**AT+PUBTOPIC=<device name>or User Defined**
566 +~(% style="color:blue" %)~*~*On the section User credentials, set the following information:~*~*
632 632  
633 -* (% style="color:#037691" %)**AT+CLIENT=<device name> or User Defined**
568 +~* ~(% style="color:#037691" %)~*~*User Name: “Any value”~*~* ~(%%)      ~*~*~~/~~/ Tago validates your user by the token only~*~*
634 634  
635 -* (% style="color:#037691" %)**AT+UNAME=<device name> 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.2 Simulate with 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 -Users can run the (% style="color:blue" %)**AT+PRO=3,5**(%%) command, and the payload will be converted to **JSON format**.
580 +~* ~(% style="color:#037691" %)~*~*AT+SUBTOPIC=<devicname>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.3 tago 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 Simulatwith 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   ** (%%) ~/~/ Set to 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-20230807233631-1.png]]
601 +~[~[image~:image-20230808105217-1.png||height="556" width="1031"]]
670 670  
671 -(% style="color:blue" %)**See result in 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.1 MQTT (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.** Configure node 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,0 or 3,5 ** (%%)~/~/ hex format or json format
617 +~(% style="color:blue" %)~*~*AT command:~*~*
690 690  
691 -* (% style="color:#037691" %)**AT+SUBTOPIC=User Defined**
619 +~* ~(% style="color:#037691" %)~*~*AT+PRO=4,0   ~*~* ~(%%) ~~/~~/ Set to use TCP protocol to uplink(HEX format)
692 692  
693 -* (% style="color:#037691" %)**AT+PUBTOPIC=User Defined**
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=<device name> or User Defined**
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=<device name> or User Defined**
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 and port
627 +~[~[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 be successfully sent only when the downlink port is open.
635 +~== 3.9 AWS Connection ==
710 710  
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.
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]]
714 714  
715 -[[image:image-20240418150435-3.png||height="582" width="659"]]
716 716  
717 -[[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.**
642 +~= 4. MQTT/UDP/TCP downlink =
720 720  
721 -= 5. GPS positioning function =
644 +~== 4.1 MQTT (via MQTT.fx) ==
722 722  
723 -(% class="wikigeneratedid" id="H5.1WhatistheusageofMultiSamplingandOneUplink3F" %)
724 -~1. Turn on GPS function
646 +Configure MQTT connections properly and send downlink commands to configure nodes through the Publish function of MQTT.fx~/~/.~/~/
725 725  
726 -(% class="wikigeneratedid" %)
727 -AT+GPS=1 or 0  ~/~/GPS function on or off
648 +~*~*1.~*~* Configure node MQTT connection (via MQTT.fx):
728 728  
650 +~(% style="color:blue" %)~*~*AT command:~*~*
729 729  
730 -2.Extend the time to turn on GNSS
652 +~* ~(% style="color:#037691" %)~*~*AT+PRO=3,0 or 3,5 ~*~*  ~(%%)~~/~~/ hex format or json format
731 731  
732 -AT+GNSST=30  ~/~/GPS search for positioning information for 30 seconds
654 +~* ~(% style="color:#037691" %)~*~*AT+SUBTOPIC=User Defined~*~*
733 733  
656 +~* ~(% style="color:#037691" %)~*~*AT+PUBTOPIC=User Defined~*~*
734 734  
735 -3.Get or set GPS positioning interval in units of hour
658 +~* ~(% style="color:#037691" %)~*~*AT+UNAME=<device name> or User Defined~*~*
736 736  
737 -AT+GTDC=24  ~/~/The device will activate GPS positioning every 24 hours
660 +~* ~(% style="color:#037691" %)~*~*AT+PWD=<device name> or User Defined~*~*
738 738  
662 +~* ~(% style="color:#037691" %)~*~*AT+SERVADDR=8.217.91.207,1883 ~*~*  ~(%%) ~~/~~/ to set MQTT server address and port
739 739  
740 -= 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.~*~*
741 741  
742 -== 5.1 What is the usage of Multi Sampling and One Uplink? ==
666 +~[~[image~:image-20240417180145-2.png||height="434" width="587"]]~[~[image:image-20240417180737-3.png||height="431" width="584"]]
743 743  
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 +
744 744  The NB series has the feature for Multi Sampling and one uplink. See one of them
745 745  
746 -[[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]]
747 747  
748 748  User can use this feature for below purpose:
749 749  
750 -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.
751 -1. Give more sampling data points.
752 -1. Increase reliable in transmission. For example. If user set
753 -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)
754 -1*. **AT+NOUD=24** ~/~/ The device uploads 24 sets of recorded data by default. Up to 32 sets of record data can be uploaded.
755 -1*. **AT+TDC=7200** ~/~/ Uplink every 2 hours.
756 -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.
757 757  
758 -== 5.2 Why the uplink JSON format is not standard? ==
707 +~== 5.2 Why the uplink JSON format is not standard? ==
759 759  
709 +
760 760  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.
761 761  
762 762  The firmware version released after 2024, Mar will use change back to use Json format. Detail please check changelog.
763 763  
764 -[[image:image-20240229233154-1.png]]
714 +~[~[image~:image-20240229233154-1.png]]
765 765  
766 -= 6. Trouble Shooting: =
767 767  
768 -== 6.1 Checklist for debuging Network Connection issue. Signal Strenght:99 issue. ==
717 +~= 6. Trouble Shooting: =
769 769  
719 +~== 6.1 Checklist for debuging Network Connection issue. Signal Strenght:99 issue. ==
720 +
721 +
770 770  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.
771 771  
772 -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)
773 773  
774 -[[image:image-20240207002003-1.png]]
726 +~[~[image~:image-20240207002003-1.png]]
775 775  
728 +
776 776  If fail to attach network, it will shows signal 99. as below:
777 777  
778 -[[image:image-20240207002129-2.png]]
731 +~[~[image~:image-20240207002129-2.png]]
779 779  
780 -(% class="lead" %)
733 +
734 +~(% class="lead" %)
781 781  When see this issue, below are the checklist:
782 782  
783 -* 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.
784 -* 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]].
785 -* 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]].
786 -* Check if the device is attached to Carrier network but reject. (need to check with operator).
787 -* 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.
788 788  
789 -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.
790 790  
791 791  
792 -== (% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a" %)6.4 Why sometime the AT Command is slow in reponse?(%%) ==
746 +~== 6.2 Issue: "NBIOT did not respond" ==
793 793  
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 +
794 794  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.
795 795  
796 -[[image:image-20240226111928-1.png]]
793 +~[~[image~:image-20240226111928-1.png]]
797 797  
798 -== (% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a" %)6.5 What is the Downlink Command by the NB device?(%%) ==
799 799  
800 -(% data-sider-select-id="bb6e9353-0c3f-473c-938d-4b416c9a03e6" %)
801 -=== UDP: ===
796 +~== ~(% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a" %)6.5 What is the Downlink Command by the NB device?~(%%) ==
802 802  
803 -(% 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" %)
804 804  Its downlink command is the same as the AT command, but brackets are required.
805 805  Example:
806 806  
807 807  {AT+TDC=300}
808 808  
809 -(% data-sider-select-id="90b80f1a-e924-4c8a-afc5-4429e019a657" %)
810 -=== MQTT: ===
811 811  
808 +~(% data-sider-select-id="90b80f1a-e924-4c8a-afc5-4429e019a657" %)
809 +~=== MQTT: ===
810 +
812 812  Json:
813 813  
814 814  The Json format in MQTT mode needs to be configured with all commands.
... ... @@ -845,7 +845,6 @@
845 845  The supported commands are consistent with LoRaWAN's hex commands.
846 846  Please refer to the following link to obtain the hex format:
847 847  
848 -[[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/]]
849 849  
850 850  
851 -​
image-20240602220856-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -250.9 KB
Content
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0