From version < 4.1 >
edited by Edwin Chen
on 2024/06/02 22:06
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
Content
... ... @@ -1,356 +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-20240208102804-1.png||height="286" width="696"]]
27 27  
28 -[[image:image-20230808205045-1.png||height="293" width="438"]]
20 +To attache NB-IoT sensors to NB-IoT Network, You need to:
29 29  
30 -After doing above, the end nodes should be able to attach to NB-IoT network .
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
31 31  
32 -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
28 +~[~[image~:image-20240208102804-1.png||height="286" width="696"]]
33 33  
34 -~-~-(% style="color:blue" %)** CAT-NB2: B1/B2/B3/B4/B5/B8/B12/B13/B18/B19/B20/B25/B28/B66/B71/B85 **(%%).
30 +~[~[image~:image-20230808205045-1.png||height="293" width="438"]]
35 35  
36 -~-~-(% style="color:blue" %)** CAT-M1: B1/B2/B3/B4/B5/B8/B12/B13/B18/B19/B20/B25/B26/B27/B28/B66/B85 **(%%).
32 +After doing above, the NB-IoT Sensors should be able to attach to NB-IoT network .
37 37  
38 -Make sure you use a the NB-IoT or LTE-M SIM card.
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.
39 39  
40 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1134px" %)
41 -|(% 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**
42 -|(% style="width:117px" %)**[[1NCE>>https://1nce.com]]**|(% style="width:151px" %)iot.1nce.net|(% style="width:406px" %)(((
43 -**[[Coverage Reference Link>>https://1nce.com/en-ap/1nce-connect]]**
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]]~*~*
44 44  
45 -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
46 -)))|(% style="width:351px" %)(((
47 -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.
48 -)))|(% style="width:120px" %)UK: Band20
49 -|(% style="width:117px" %)China Mobile|(% style="width:151px" %)No need configure|(% style="width:406px" %)China Mainland, HongKong|(% style="width:351px" %) |(% style="width:120px" %)
50 -|(% style="width:117px" %)China Telecom|(% style="width:151px" %)ctnb|(% style="width:406px" %)China Mainland|(% style="width:351px" %) |(% style="width:120px" %)
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" %)
51 51  
52 -(% class="wikigeneratedid" %)
53 -== ==
46 +~== 2.2 Speed Up Network Attach time ==
54 54  
55 -== 2.2 Speed Up Network Attach time ==
56 56  
57 -**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**.
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.
58 58  
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~*~*
59 59  
60 -Attache to 1NCE card for Australia use:
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
61 61  
62 -* AT+COPS=1,2,"50501",8
63 -* AT+QCFG="band",0,0x8000000,0x8000000,1
61 +After connection is successful, user can use ~(% style="color:#037691" %)~*~*AT+QENG=0 ~*~*~(%%) to check which band is actually in used.
64 64  
65 65  
66 -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/]]~*~*
67 67  
68 -AT+QENG="servingcell"
69 -+QENG: "servingcell","NOCONN","eMTC","FD
70 -D",505,01,90D2C0B,258,9410,28,5,5,901A,-112,-17,-80,10,27
71 71  
67 +~= 3. Configure to connect to different servers =
72 72  
73 -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 ==
74 74  
75 -= 3. Configure to connect to different servers =
76 76  
77 -== 3.1 General UDP Connection ==
72 +The NB-IoT Sensor can send packet to server use UDP protocol.
78 78  
79 -The NB-IoT Sensor can send packet to server use UDP protocol.
80 80  
81 -=== 3.1.1 Simulate UDP Connection by PC tool ===
75 +~=== 3.1.1 Simulate UDP Connection by PC tool ===
82 82  
83 -We can use PC tool to simulate UDP connection to make sure server works ok.
84 84  
85 -[[image:image-20230802112413-1.png||height="468" width="1024"]]
78 +We can use PC tool to simulate UDP connection to make sure server works ok.
86 86  
87 -=== 3.1.2 Configure NB-IoT Sensor ===
80 +~[~[image~:image-20230802112413-1.png||height="468" width="1024"]]
88 88  
89 -==== 3.1.2.1 AT Commands ====
90 90  
91 -(% style="color:blue" %)**AT Commands:**
83 +~=== 3.1.2 Configure NB-IoT Sensor ===
92 92  
93 -* (% style="color:#037691" %)**AT+PRO=2,0**  (%%) ~/~/ Set to use UDP protocol to uplink ,Payload Type select Hex payload
85 +~==== 3.1.2.1 AT Commands ====
94 94  
95 -* (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5601**  (%%) ~/~/ Set UDP server address and port
96 96  
97 -[[image:image-20230802112413-2.png]]
88 +~(% style="color:blue" %)~*~*AT Commands:~*~*
98 98  
99 -==== 3.1.2.2 Uplink Example ====
90 +~* ~(% style="color:#037691" %)~*~*AT+PRO=2,0~*~*  ~(%%)       ~~/~~/  Set to use UDP protocol to uplink ,Payload Type select Hex payload
100 100  
101 -[[image:image-20230802112413-3.png]]
92 +~* ~(% style="color:#037691" %)~*~*AT+SERVADDR=120.24.4.116,5601~*~*  ~(%%)    ~~/~~/  Set UDP server address and port
102 102  
103 -== 3.2 General MQTT Connection ==
94 +~[~[image~:image-20230802112413-2.png]]
104 104  
105 -The NB-IoT Sensor can send packet to server use MQTT protocol.
106 106  
107 -Below are the commands.
97 +~==== 3.1.2.2 Uplink Example ====
108 108  
109 -(% style="color:blue" %)**AT Commands:**
110 110  
111 -* (% style="color:#037691" %)**AT+PRO=3,0**   (%%) ~/~/ Set to use MQTT protocol to uplink, Payload Type select Hex payload.
100 +~[~[image~:image-20230802112413-3.png]]
112 112  
113 -* (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,1883**  (%%) ~/~/ Set MQTT server address and port
114 114  
115 -* (% style="color:#037691" %)**AT+CLIENT=CLIENT**     (%%) ~/~/ Set up the CLIENT of MQTT
103 +~== 3.2 General MQTT Connection ==
116 116  
117 -* (% style="color:#037691" %)**AT+UNAME=UNAME**        (%%) ~/~/ Set the username of MQTT
118 118  
119 -* (% style="color:#037691" %)**AT+PWD=PWD**             (%%) ~/~/ Set the password of MQTT
106 +The NB-IoT Sensor can send packet to server use MQTT protocol.
120 120  
121 -* (% style="color:#037691" %)**AT+PUBTOPIC=NSE01_PUB**  (%%) ~/~/ Set the sending topic of MQTT
108 +Below are the commands.
122 122  
123 -* (% style="color:#037691" %)**AT+SUBTOPIC=NSE01_SUB**  (%%) ~/~/ Set the subscription topic of MQTT
110 +~(% style="color:blue" %)~*~*AT Commands:~*~*
124 124  
125 -[[image:image-20230802112413-4.png]]
112 +~* ~(% style="color:#037691" %)~*~*AT+PRO=3,0~*~*   ~(%%)   ~~/~~/  Set to use MQTT protocol to uplink, Payload Type select Hex payload.
126 126  
127 -[[image:image-20230802112413-5.png||height="530" width="987"]]
114 +~* ~(% style="color:#037691" %)~*~*AT+SERVADDR=120.24.4.116,1883~*~*  ~(%%)      ~~/~~/  Set MQTT server address and port
128 128  
129 -(% 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.**
116 +~* ~(% style="color:#037691" %)~*~*AT+CLIENT=CLIENT~*~*     ~(%%)                            ~~/~~/  Set uthe CLIENT of MQTT
130 130  
131 -== 3.3 [[ThingSpeak>>url:https://thingspeak.com/]] (via MQTT) ==
118 +~* ~(% style="color:#037691" %)~*~*AT+UNAME=UNAME~*~*        ~(%%)                      ~~/~~/  Set the username of MQTT
132 132  
133 -=== 3.3.1 Get MQTT Credentials ===
120 +~* ~(% style="color:#037691" %)~*~*AT+PWD=PWD~*~*             ~(%%)                           ~~/~~/  Set the password of MQTT
134 134  
135 -[[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.
122 +~* ~(% style="color:#037691" %)~*~*AT+PUBTOPIC=NSE01_PUB~*~*  ~(%%)                  ~~/~~/  Set the sendintopic of MQTT
136 136  
137 -[[image:image-20230802112413-6.png||height="336" width="925"]]
124 +~* ~(% style="color:#037691" %)~*~*AT+SUBTOPIC=NSE01_SUB~*~*  ~(%%)                  ~~/~~/  Set the subscription topic of MQTT
138 138  
139 -[[image:image-20230802112413-7.png]]
126 +~[~[image~:image-20230802112413-4.png]]
140 140  
141 -=== 3.3.2 Simulate with MQTT.fx ===
128 +~[~[image~:image-20230802112413-5.png||height="530" width="987"]]
142 142  
143 -==== 3.3.2.1 Establish MQTT Connection ====
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.~*~*
144 144  
145 -After we got MQTT Credentials, we can first simulate with PC tool MQTT.fx tool to see if the Credentials and settings are fine.
146 146  
147 -[[image:image-20230802112413-8.png]]
133 +~== 3.3 ~[~[ThingSpeak>>url:https:~/~/thingspeak.com/]] (via MQTT) ==
148 148  
149 -* (% style="color:#037691" %)**Broker Address:**(%%) mqtt3.thingspeak.com
135 +~=== 3.3.1 Get MQTT Credentials ===
150 150  
151 -* (% style="color:#037691" %)**Broker Port:**(%%) 1883
152 152  
153 -* (% style="color:#037691" %)**Client ID:**(%%) <Your ThingSpeak MQTT ClientID>
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.
154 154  
155 -* (% style="color:#037691" %)**User Name:**(%%) <Your ThingSpeak MQTT User Name>
140 +~[~[image~:image-20230802112413-6.png||height="336" width="925"]]
156 156  
157 -* (% style="color:#037691" %)**Password:**(%%) <Your ThingSpeak MQTT Password>
142 +~[~[image~:image-20230802112413-7.png]]
158 158  
159 -==== 3.3.2.2 Publish Data to ThingSpeak Channel ====
160 160  
161 -[[image:image-20230802112413-9.png]]
145 +~=== 3.3.2 Simulate with MQTT.fx ===
162 162  
163 -[[image:image-20230802112413-10.png]]
147 +~==== 3.3.2.1 Establish MQTT Connection ====
164 164  
165 -(% style="color:blue" %)**In MQTT.fx, we can publish below info:**
166 166  
167 -* (% style="color:#037691" %)**Topic:**(%%) channels/YOUR_CHANNEL_ID/publish
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.
168 168  
169 -* (% style="color:#037691" %)**Payload:**(%%) field1=63&field2=67&status=MQTTPUBLISH
152 +~[~[image~:image-20230802112413-8.png]]
170 170  
171 -Where 63 and 67 are the value to be published to field1 & field2.
154 +~* ~(% style="color:#037691" %)~*~*Broker Address:~*~*~(%%) mqtt3.thingspeak.com
172 172  
173 -(% style="color:blue" %)**Result: **
156 +~* ~(% style="color:#037691" %)~*~*Broker Port:~*~*~(%%) 1883
174 174  
175 -[[image:image-20230802112413-11.png||height="539" width="901"]]
158 +~* ~(% style="color:#037691" %)~*~*Client ID:~*~*~(%%) <Your ThingSpeak MQTT ClientID>
176 176  
177 -=== 3.3.3 Configure NB-IoT Sensor for connection ===
160 +~* ~(% style="color:#037691" %)~*~*User Name:~*~*~(%%) <Your ThingSpeak MQTT User Name>
178 178  
179 -==== 3.3.3.1 AT Commands: ====
162 +~* ~(% style="color:#037691" %)~*~*Password:~*~*~(%%) <Your ThingSpeak MQTT Password>
180 180  
181 -In the NB-IoT, we can run below commands so to publish the channels like MQTT.fx
164 +~==== 3.3.2.2 Publish Data to ThingSpeak Channel ====
182 182  
183 -* (% style="color:blue" %)**AT+PRO=3,1** (%%) ~/~/ Set to use ThingSpeak Server and Related Payload
184 184  
185 -* (% style="color:blue" %)**AT+CLIENT=<Your ThingSpeak MQTT ClientID>**
167 +~[~[image~:image-20230802112413-9.png]]
186 186  
187 -* (% style="color:blue" %)**AT+UNAME=<Your ThingSpeak MQTT User Name>**
169 +~[~[image~:image-20230802112413-10.png]]
188 188  
189 -* (% style="color:blue" %)**AT+PWD=<Your ThingSpeak MQTT Password>**
190 190  
191 -* (% style="color:blue" %)**AT+PUBTOPIC=<YOUR_CHANNEL_ID>**
172 +~(% style="color:blue" %)~*~*In MQTT.fx, we can publish below info:~*~*
192 192  
193 -* (% style="color:blue" %)**AT+SUBTOPIC=<YOUR_CHANNEL_ID>**
174 +~* ~(% style="color:#037691" %)~*~*Topic:~*~*~(%%) channels/YOUR_CHANNEL_ID/publish
194 194  
195 -==== 3.3.3.2 Uplink Examples ====
176 +~* ~(% style="color:#037691" %)~*~*Payload:~*~*~(%%) field1=63&field2=67&status=MQTTPUBLISH
196 196  
197 -[[image:image-20230816201942-1.png]]
178 +Where 63 and 67 are the value to be published to field1 & field2.
198 198  
199 -For SE01-NB
200 200  
201 -For DDS20-NB
181 +~(% style="color:blue" %)~*~*Result: ~*~*
202 202  
203 -For DDS45-NB
183 +~[~[image~:image-20230802112413-11.png||height="539" width="901"]]
204 204  
205 -For DDS75-NB
206 206  
207 -For NMDS120-NB
186 +~=== 3.3.3 ConfigurNB-IoT Sensor for connection ===
208 208  
209 -For SPH01-NB
188 +~==== 3.3.3.1 AT Commands: ====
210 210  
211 -For NLM01-NB
212 212  
213 -For NMDS200-NB
191 +In the NB-IoT, we can run below commands so to publish the channels like MQTT.fx
214 214  
215 -For CPN01-NB
193 +~* ~(% style="color:blue" %)~*~*AT+PRO=3,1~*~* ~(%%)    ~~/~~/ Set to use ThingSpeak Server and Related Payload
216 216  
217 -For DS03A-NB
195 +~* ~(% style="color:blue" %)~*~*AT+CLIENT=<Your ThingSpeak MQTT ClientID>~*~*
218 218  
219 -For SN50V3-NB
197 +~* ~(% style="color:blue" %)~*~*AT+UNAME=<Your ThingSpeak MQTT User Name>~*~*
220 220  
221 -==== 3.3.3.3 Map fields to sensor value ====
199 +~* ~(% style="color:blue" %)~*~*AT+PWD=<Your ThingSpeak MQTT Password>~*~*
222 222  
223 -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.
201 +~* ~(% style="color:blue" %)~*~*AT+PUBTOPIC=<YOUR_CHANNEL_ID>~*~*
224 224  
225 -[[image:image-20230802112413-12.png||height="504" width="1011"]]
203 +~* ~(% style="color:blue" %)~*~*AT+SUBTOPIC=<YOUR_CHANNEL_ID>~*~*
226 226  
227 -[[image:image-20230802112413-13.png||height="331" width="978"]]
205 +~==== 3.3.3.2 Uplink Examples ====
228 228  
229 -Below is the NB-IoT Product Table show the mapping.
230 230  
231 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1424px" %)
232 -|(% 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
233 -|(% 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" %)
234 -|(% 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" %)
235 -|(% 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" %)
236 -|(% 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" %)
237 -|(% 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" %)
238 -|(% 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" %)
239 -|(% 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" %)
240 -|(% 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" %)
241 -|(% 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" %)
242 -|(% 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" %)
243 -|(% 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
244 -|(% 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" %)
245 -|(% 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" %)
246 -|(% 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" %)
247 -|(% 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" %)
248 -|(% 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" %)
249 -|(% 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" %)
208 +~[~[image~:image-20230816201942-1.png]]
250 250  
251 -== 3.4 [[Datacake>>https://datacake.co/]] ==
210 +For SE01-NB
252 252  
253 -(% class="wikigeneratedid" %)
254 -Dragino NB-IoT sensors has its template in **[[Datacake>>https://datacake.co/]]** Platform. There are two version for NB Sensor,
212 +For DDS20-NB
255 255  
256 -(% class="wikigeneratedid" %)
257 -As example for S31B-NB. there are two versions: **S31B-NB-1D and S31B-NB-GE.**
214 +For DDS45-NB
258 258  
259 -* (% 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.
216 +For DDS75-NB
260 260  
261 -* (% 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.
218 +For NMDS120-NB
262 262  
263 -=== 3.4.1 For device Already has template ===
220 +For SPH01-NB
264 264  
265 -==== 3.4.1.1 Create Device ====
222 +For NLM01-NB
266 266  
267 -(% style="color:blue" %)**Add Device**(%%) in DataCake.
224 +For NMDS200-NB
268 268  
269 -[[image:image-20230808162301-1.png||height="453" width="952"]]
226 +For CPN01-NB
270 270  
271 -[[image:image-20230808162342-2.png||height="541" width="952"]]
228 +For DS03A-NB
272 272  
273 -(% style="color:blue" %)**Choose the correct model**(%%) from template.
230 +For SN50V3-NB
274 274  
275 -[[image:image-20230808162421-3.png]]
276 276  
277 -(% 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.
233 +~==== 3.3.3.3 Map fields to sensor value ====
278 278  
279 -[[image:image-20230808163612-7.png||height="549" width="952"]]
280 280  
281 -[[image:image-20230808163035-5.png]]
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.
282 282  
283 -[[image:image-20230808163049-6.png||height="544" width="926"]]
284 284  
285 -=== 3.4.2 For Device already registered in DataCake before shipped ===
239 +~[~[image~:image-20230802112413-12.png||height="504" width="1011"]]
286 286  
287 -==== 3.4.2.1 Scan QR Code to get the device info ====
241 +~[~[image~:image-20230802112413-13.png||height="331" width="978"]]
288 288  
243 +
244 +Below is the NB-IoT Product Table show the mapping.
245 +
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" %)
265 +
266 +~== 3.4 ~[~[Datacake>>https:~/~/datacake.co/]] ==
267 +
268 +
269 +~(% class="wikigeneratedid" %)
270 +Dragino NB-IoT sensors has its template in ~*~*~[~[Datacake>>https:~/~/datacake.co/]]~*~* Platform. There are two version for NB Sensor,
271 +
272 +
273 +~(% class="wikigeneratedid" %)
274 +As example for S31B-NB. there are two versions: ~*~*S31B-NB-1D and S31B-NB-GE.~*~*
275 +
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.
277 +
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.
279 +
280 +~=== 3.4.1 For device Already has template ===
281 +
282 +~==== 3.4.1.1 Create Device ====
283 +
284 +~(% style="color:blue" %)~*~*Add Device~*~*~(%%) in DataCake.
285 +
286 +~[~[image~:image-20230808162301-1.png||height="453" width="952"]]
287 +
288 +
289 +~[~[image~:image-20230808162342-2.png||height="541" width="952"]]
290 +
291 +
292 +~(% style="color:blue" %)~*~*Choose the correct model~*~*~(%%) from template.
293 +
294 +~[~[image~:image-20230808162421-3.png]]
295 +
296 +
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.
298 +
299 +~[~[image~:image-20230808163612-7.png||height="549" width="952"]]
300 +
301 +~[~[image~:image-20230808163035-5.png]]
302 +
303 +~[~[image~:image-20230808163049-6.png||height="544" width="926"]]
304 +
305 +
306 +~=== 3.4.2 For Device already registered in DataCake before shipped ===
307 +
308 +~==== 3.4.2.1 Scan QR Code to get the device info ====
309 +
310 +
289 289  Users can use their phones or computers to scan QR codes to obtain device data information.
290 290  
291 -[[image:image-20230808170051-8.png||height="255" width="259"]]
313 +~[~[image~:image-20230808170051-8.png||height="255" width="259"]]
292 292  
293 -[[image:image-20230808170548-9.png]]
315 +~[~[image~:image-20230808170548-9.png]]
294 294  
295 -==== 3.4.2.2 Claim Device to User Account ====
296 296  
318 +~==== 3.4.2.2 Claim Device to User Account ====
319 +
320 +
297 297  By Default, the device is registered in Dragino's DataCake Account. User can Claim it to his account.
298 298  
299 -=== 3.4.3 Manual Add Decoder in DataCake ( don't use the template in DataCake) ===
300 300  
301 -**Step1: Add a device**
324 +~=== 3.4.3 Manual Add Decoder in DataCake ( don't use the template in DataCake) ===
302 302  
303 -[[image:image-20240129170024-1.png||height="330" width="900"]]
304 304  
305 -**Step2: Choose your device type,please select dragino NB-IOT device**
327 +~*~*Step1: Add a device~*~*
306 306  
307 -[[image:image-20240129170216-2.png||height="534" width="643"]]
329 +~[~[image~:image-20240129170024-1.png||height="330" width="900"]]
308 308  
309 -**Step3: Choose to create a new device**
310 310  
311 -[[image:image-20240129170539-3.png||height="459" width="646"]]
332 +~*~*Step2: Choose your device type,please select dragino NB-IOT device~*~*
312 312  
313 -**Step4: Fill in the device ID of your NB device**
334 +~[~[image~:image-20240129170216-2.png||height="534" width="643"]]
314 314  
315 -[[image:image-20240202111546-1.png||height="378" width="651"]]
316 316  
317 -**Step5: Please select your device plan according to your needs and complete the creation of the device**
337 +~*~*Step3: Choose to create a new device~*~*
318 318  
319 -[[image:image-20240129171236-6.png||height="450" width="648"]]
339 +~[~[image~:image-20240129170539-3.png||height="459" width="646"]]
320 320  
321 -**Step6: Please add the decoder at the payload decoder of the device configuration.**
322 322  
323 -**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]]
342 +~*~*Step4: Fill in the device ID of your NB device~*~*
324 324  
325 -[[image:image-20240129172056-7.png||height="457" width="816"]]
344 +~[~[image~:image-20240202111546-1.png||height="378" width="651"]]
326 326  
327 -[[image:image-20240129173116-9.png||height="499" width="814"]]
328 328  
329 -**Step7: Add the output of the decoder as a field**
347 +~*~*Step5: Please select your device plan according to your needs and complete the creation of the device~*~*
330 330  
331 -[[image:image-20240129173541-10.png||height="592" width="968"]]
349 +~[~[image~:image-20240129171236-6.png||height="450" width="648"]]
332 332  
333 -**Step8: Customize the dashboard and use fields as parameters of the dashboard**
334 334  
335 -[[image:image-20240129174518-11.png||height="147" width="1042"]]
352 +~*~*Step6: Please add the decoder at the payload decoder of the device configuration.~*~*
336 336  
337 -[[image:image-20240129174657-12.png||height="538" width="916"]]
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]]
338 338  
339 -[[image:image-20240129174840-13.png||height="536" width="750"]]
356 +~[~[image~:image-20240129172056-7.png||height="457" width="816"]]
340 340  
341 -=== 3.4.4 For device have not configured to connect to DataCake ===
358 +~[~[image~:image-20240129173116-9.png||height="499" width="814"]]
342 342  
343 -(% class="lead" %)
360 +
361 +~*~*Step7: Add the output of the decoder as a field~*~*
362 +
363 +~[~[image~:image-20240129173541-10.png||height="592" width="968"]]
364 +
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" %)
344 344  Use AT command for connecting to DataCake
345 345  
346 -(% style="color:blue" %)**AT+PRO=2,0**
381 +~(% style="color:blue" %)~*~*AT+PRO=2,0~*~*
347 347  
348 -(% style="color:blue" %)**AT+SERVADDR=67.207.76.90,4445**
383 +~(% style="color:blue" %)~*~*AT+SERVADDR=67.207.76.90,4445~*~*
349 349  
350 -== 3.5 Node-Red (via MQTT) ==
351 351  
352 -=== 3.5.1 Configure [[Node-Red>>http://wiki.dragino.com/xwiki/bin/view/Main/Node-RED/]] ===
386 +~== 3.5 Node-Red (via MQTT) ==
353 353  
388 +~=== 3.5.1 Configure ~[~[Node-Red>>http:~/~/wiki.dragino.com/xwiki/bin/view/Main/Node-RED/]] ===
389 +
390 +
354 354  Take S31-NB UDP protocol as an example.
355 355  
356 356  Dragino provides input flow examples for the sensors.
... ... @@ -357,329 +357,420 @@
357 357  
358 358  User can download the required JSON file through Dragino Node-RED input flow template.
359 359  
360 -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]]
361 361  
362 362  We can directly import the template.
363 363  
364 364  The templates for S31-NB and NB95S31B are the same.
365 365  
366 -[[image:image-20230809173127-4.png]]
367 367  
404 +~[~[image~:image-20230809173127-4.png]]
405 +
406 +
368 368  Please select the NB95S31B template.
369 369  
370 -[[image:image-20230809173310-5.png||height="558" width="926"]]
409 +~[~[image~:image-20230809173310-5.png||height="558" width="926"]]
371 371  
372 -[[image:image-20230809173438-6.png]]
411 +~[~[image~:image-20230809173438-6.png]]
373 373  
374 -[[image:image-20230809173800-7.png]]
413 +~[~[image~:image-20230809173800-7.png]]
375 375  
415 +
376 376  Successfully imported template.
377 377  
378 -[[image:image-20230809173835-8.png||height="515" width="860"]]
418 +~[~[image~:image-20230809173835-8.png||height="515" width="860"]]
379 379  
420 +
380 380  Users can set UDP port.
381 381  
382 -[[image:image-20230809174053-9.png]]
423 +~[~[image~:image-20230809174053-9.png]]
383 383  
384 -=== 3.5.2 Simulate Connection ===
385 385  
426 +~=== 3.5.2 Simulate Connection ===
427 +
428 +
386 386  We have completed the configuration of UDP. We can try sending packets to node red.
387 387  
388 -[[image:image-20230810083934-1.png]]
431 +~[~[image~:image-20230810083934-1.png]]
389 389  
390 -[[image:image-20230810084048-2.png||height="535" width="1052"]]
433 +~[~[image~:image-20230810084048-2.png||height="535" width="1052"]]
391 391  
392 -=== 3.5.3 Configure NB-IoT Sensors ===
393 393  
394 -* (% style="color:#037691" %)**AT+PRO=3,0 or 3,5 ** (%%) **~/~/ hex format or json format**
395 -* (% style="color:#037691" %)**AT+SUBTOPIC=<device name>or User Defined**
396 -* (% style="color:#037691" %)**AT+PUBTOPIC=<device name>or User Defined**
397 -* (% style="color:#037691" %)**AT+CLIENT=<device name> or User Defined**
398 -* (% style="color:#037691" %)**AT+UNAME=<device name> or User Defined**
399 -* (% style="color:#037691" %)**AT+PWD=“Your device token”**
436 +~=== 3.5.3 Configure NB-IoT Sensors ===
400 400  
401 -== 3.6 ThingsBoard.Cloud (via MQTT) ==
402 402  
403 -=== 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”~*~*
404 404  
405 -==== 3.6.1.1 Create Device ====
446 +~== 3.6 ThingsBoard.Cloud (via MQTT) ==
406 406  
407 -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 ===
408 408  
409 -[[image:image-20230802112413-32.png||height="583" width="1066"]]
450 +~==== 3.6.1.1 Create Device ====
410 410  
411 -==== 3.6.1.2 Create Uplink & Downlink Converter ====
412 412  
413 -(% 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.
414 414  
415 -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"]]
416 416  
417 -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.
418 418  
419 -[[image:image-20230802112413-33.png||height="597" width="1061"]]
458 +~==== 3.6.1.2 Create Uplink & Downlink Converter ====
420 420  
421 -(% style="color:blue" %)**Downlink Converter**
422 422  
423 -The Downlink converter transforming outgoing RPC message and then the Integration sends it to external MQTT broke
461 +~(% style="color:blue" %)~*~*Uplink Converter~*~*
424 424  
425 -[[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.
426 426  
427 -(% 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.
428 428  
429 -==== 3.6.1.3 MQTT Integration Setup ====
467 +~[~[image~:image-20230802112413-33.png||height="597" width="1061"]]
430 430  
431 -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**;
432 432  
433 -[[image:image-20230802112413-35.png||height="597" width="1062"]]
470 +~(% style="color:blue" %)~*~*Downlink Converter~*~*
434 434  
435 -* 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
436 436  
437 -[[image:image-20230802112413-36.png||height="598" width="1062"]]
474 +~[~[image~:image-20230802112413-34.png||height="598" width="1063"]]
438 438  
439 -[[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.~*~*
440 440  
441 -(% style="color:blue" %)**Add a topic filter:**
442 442  
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 +
443 443  Consistent with the theme of the node setting.
444 444  
445 -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;
446 446  
447 -[[image:image-20230802112413-38.png||height="598" width="1064"]]
500 +~[~[image~:image-20230802112413-38.png||height="598" width="1064"]]
448 448  
449 -=== 3.6.2 Simulate with MQTT.fx ===
450 450  
451 -[[image:image-20230802112413-39.png]]
503 +~=== 3.6.2 Simulate with MQTT.fx ===
452 452  
453 -[[image:image-20230802112413-40.png||height="525" width="980"]]
454 454  
455 -=== 3.6.3 Configure NB-IoT Sensor ===
506 +~[~[image~:image-20230802112413-39.png]]
456 456  
457 -(% style="color:blue" %)**AT Commands**
508 +~[~[image~:image-20230802112413-40.png||height="525" width="980"]]
458 458  
459 -* (% style="color:#037691" %)**AT+PRO=3,3  **(%%)** **~/~/ Use MQTT to connect to ThingsBoard. Payload Type set to 3.
460 460  
461 -* (% style="color:#037691" %)**AT+SUBTOPIC=<device name>**
511 +~=== 3.6.3 Configure NB-IoT Sensor ===
462 462  
463 -* (% style="color:#037691" %)**AT+PUBTOPIC=<device name>**
464 464  
465 -* (% style="color:#037691" %)**AT+CLIENT=<device name> or User Defined**
514 +~(% style="color:blue" %)~*~*AT Commands~*~*
466 466  
467 -* (% 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.
468 468  
469 -* (% style="color:#037691" %)**AT+PWD=<device name> or User Defined**
518 +~* ~(% style="color:#037691" %)~*~*AT+SUBTOPIC=<device name>~*~*
470 470  
471 -Test Uplink by click the button for 1 second
520 +~* ~(% style="color:#037691" %)~*~*AT+PUBTOPIC=<devicname>~*~*
472 472  
473 -[[image:image-20230802112413-41.png||height="496" width="828"]]
522 +~* ~(% style="color:#037691" %)~*~*AT+CLIENT=<device name> or User Defined~*~*
474 474  
475 -[[image:image-20230802112413-42.png]]
524 +~* ~(% style="color:#037691" %)~*~*AT+UNAME=<device name> or User Defined~*~*
476 476  
477 -[[image:image-20230802112413-43.png||height="407" width="825"]]
526 +~* ~(% style="color:#037691" %)~*~*AT+PWD=<device name> or User Defined~*~*
478 478  
479 -== 3.7 [[Tago.io>>url:https://admin.tago.io/]] (via MQTT) ==
528 +Test Uplink by click the button for 1 second
480 480  
481 -=== 3.7.1 Create device & Get Credentials ===
530 +~[~[image~:image-20230802112413-41.png||height="496" width="828"]]
482 482  
483 -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]]
484 484  
485 -[[image:image-20230802112413-44.png]]
534 +~[~[image~:image-20230802112413-43.png||height="407" width="825"]]
486 486  
487 -[[image:image-20230802112413-45.png]]
488 488  
489 -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) ==
490 490  
491 -[[image:image-20230802112413-46.png]]
539 +~=== 3.7.1 Create device & Get Credentials ===
492 492  
493 -The device needs to enable the TLS mode and set the (% style="color:blue" %)**AT+TLSMOD=1,0**(%%) command.
494 494  
495 -(% 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.
496 496  
497 -* (% style="color:#037691" %)**Profile Name: “Any name”**
544 +~[~[image~:image-20230802112413-44.png]]
498 498  
499 -* (% style="color:#037691" %)**Broker Address: mqtt.tago.io**
546 +~[~[image~:image-20230802112413-45.png]]
500 500  
501 -* (% style="color:#037691" %)**Broker Port: 8883**
502 502  
503 -* (% 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.
504 504  
505 -(% style="color:blue" %)**On the section User credentials, set the following information:**
551 +~[~[image~:image-20230802112413-46.png]]
506 506  
507 -* (% style="color:#037691" %)**User Name: “Any value”** (%%) **~/~/ Tago validates your user by the token only**
508 508  
509 -* (% 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.
510 510  
511 -* (% style="color:#037691" %)**PUBTOPIC: “Any value**
556 +~(% style="color:blue" %)~*~*On the Connection Profile window, set the following information:~*~*
512 512  
513 -* (% style="color:#037691" %)**SUBTOPIC: “Any value”**
558 +~* ~(% style="color:#037691" %)~*~*Profile Name: “Any name”~*~*
514 514  
515 -(% style="color:blue" %)**AT command:**
560 +~* ~(% style="color:#037691" %)~*~*Broker Address: mqtt.tago.io~*~*
516 516  
517 -* (% style="color:#037691" %)**AT+PRO=3,0 or 3,5 ** (%%) **~/~/ hex format or json format**
562 +~* ~(% style="color:#037691" %)~*~*Broker Port: 8883~*~*
518 518  
519 -* (% style="color:#037691" %)**AT+SUBTOPIC=<device name>or User Defined**
564 +~* ~(% style="color:#037691" %)~*~*Client ID: “Any value”~*~*
520 520  
521 -* (% style="color:#037691" %)**AT+PUBTOPIC=<device name>or User Defined**
566 +~(% style="color:blue" %)~*~*On the section User credentials, set the following information:~*~*
522 522  
523 -* (% 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~*~*
524 524  
525 -* (% style="color:#037691" %)**AT+UNAME=<device name> or User Defined**
570 +~* ~(% style="color:#037691" %)~*~*Password: “Your device token”~*~*
526 526  
527 -* (% style="color:#037691" %)**AT+PWD=Your device token”**
572 +~* ~(% style="color:#037691" %)~*~*PUBTOPIC: Any value”~*~*
528 528  
529 -=== 3.7.2 Simulate with MQTT.fx ===
574 +~* ~(% style="color:#037691" %)~*~*SUBTOPIC: “Any value”~*~*
530 530  
531 -[[image:image-20230802112413-52.png]]
576 +~(% style="color:blue" %)~*~*AT command:~*~*
532 532  
533 -[[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~*~*
534 534  
535 -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~*~*
536 536  
537 -[[image:image-20230808105217-1.png||height="556" width="1031"]]
582 +~* ~(% style="color:#037691" %)~*~*AT+PUBTOPIC=<device name>or User Defined~*~*
538 538  
539 -[[image:image-20230808105329-3.png]]
584 +~* ~(% style="color:#037691" %)~*~*AT+CLIENT=<device name> or User Defined~*~*
540 540  
541 -=== 3.7.3 tago data ===
586 +~* ~(% style="color:#037691" %)~*~*AT+UNAME=<device name> or User Defined~*~*
542 542  
543 -[[image:image-20230802112413-50.png||height="242" width="1037"]]
588 +~* ~(% style="color:#037691" %)~*~*AT+PWD=“Your device token”~*~*
544 544  
545 -[[image:image-20230802112413-51.png||height="184" width="696"]]
590 +~=== 3.7.2 Simulatwith MQTT.fx ===
546 546  
547 -== 3.8 TCP Connection ==
548 548  
549 -(% style="color:blue" %)**AT command:**
593 +~[~[image~:image-20230802112413-52.png]]
550 550  
551 -* (% style="color:#037691" %)**AT+PRO=4,0   ** (%%) ~/~/ Set to use TCP protocol to uplink(HEX format)
552 552  
553 -* (% 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"]]
554 554  
555 -* (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5600 ** (%%) ~/~/ to set TCP server address and port
556 556  
557 -(% 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~*~*.
558 558  
559 -[[image:image-20230807233631-1.png]]
601 +~[~[image~:image-20230808105217-1.png||height="556" width="1031"]]
560 560  
561 -(% style="color:blue" %)**See result in TCP Server:**
603 +~[~[image~:image-20230808105329-3.png]]
562 562  
563 -[[image:image-20230807233631-2.png]]
564 564  
565 -== 3.9 AWS Connection ==
606 +~=== 3.7.3 tago data ===
566 566  
567 -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]]
568 568  
569 -= 4. MQTT/UDP/TCP downlink =
609 +~[~[image~:image-20230802112413-50.png||height="242" width="1037"]]
570 570  
571 -== 4.1 MQTT (via MQTT.fx) ==
611 +~[~[image~:image-20230802112413-51.png||height="184" width="696"]]
572 572  
573 -Configure MQTT connections properly and send downlink commands to configure nodes through the Publish function of MQTT.fx//.//
574 574  
575 -**1.** Configure node MQTT connection (via MQTT.fx):
614 +~== 3.8 TCP Connection ==
576 576  
577 -(% style="color:blue" %)**AT command:**
578 578  
579 -* (% style="color:#037691" %)**AT+PRO=3,0 or 3,5 ** (%%)~/~/ hex format or json format
617 +~(% style="color:blue" %)~*~*AT command:~*~*
580 580  
581 -* (% style="color:#037691" %)**AT+SUBTOPIC=User Defined**
619 +~* ~(% style="color:#037691" %)~*~*AT+PRO=4,0   ~*~* ~(%%) ~~/~~/ Set to use TCP protocol to uplink(HEX format)
582 582  
583 -* (% style="color:#037691" %)**AT+PUBTOPIC=User Defined**
621 +~* ~(% style="color:#037691" %)~*~*AT+PRO=4,1   ~*~* ~(%%) ~~/~~/ Set to use TCP protocol to uplink(JSON format)
584 584  
585 -* (% 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
586 586  
587 -* (% style="color:#037691" %)**AT+PWD=<device name> or User Defined**
625 +~(% style="color:blue" %)~*~*Sensor Console Output when Uplink:~*~*
588 588  
589 -* (% style="color:#037691" %)**AT+SERVADDR=8.217.91.207,1883 ** (%%) ~/~/ to set MQTT server address and port
627 +~[~[image~:image-20230807233631-1.png]]
590 590  
591 -(% 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.**
592 592  
593 -[[image:image-20240417180145-2.png||height="434" width="587"]][[ width="584">> width="584"]]
630 +~(% style="color:blue" %)~*~*See result in TCP Server:~*~*
594 594  
595 -**2. **When the node uplink packets, we can observe the data in MQTT.fx.
632 +~[~[image~:image-20230807233631-2.png]]
596 596  
597 -[[image:image-20240418144337-1.png||height="709" width="802"]]
598 598  
599 -**3. **The downlink command can be successfully sent only when the downlink port is open.
635 +~== 3.9 AWS Connection ==
600 600  
637 +
638 +Users can refer to ~[~[Dragino NB device connection to AWS platform instructions>>http:~/~/wiki.dragino.com/xwiki/bin/view/Dragino%20NB%20device%20connection%20to%20AWS%20platform%20instructions/#H1.LogintotheplatformandfindIoTcore]]
639 +
640 +
641 +
642 +~= 4. MQTT/UDP/TCP downlink =
643 +
644 +~== 4.1 MQTT (via MQTT.fx) ==
645 +
646 +Configure MQTT connections properly and send downlink commands to configure nodes through the Publish function of MQTT.fx~/~/.~/~/
647 +
648 +~*~*1.~*~* Configure node MQTT connection (via MQTT.fx):
649 +
650 +~(% style="color:blue" %)~*~*AT command:~*~*
651 +
652 +~* ~(% style="color:#037691" %)~*~*AT+PRO=3,0 or 3,5 ~*~*  ~(%%)~~/~~/ hex format or json format
653 +
654 +~* ~(% style="color:#037691" %)~*~*AT+SUBTOPIC=User Defined~*~*
655 +
656 +~* ~(% style="color:#037691" %)~*~*AT+PUBTOPIC=User Defined~*~*
657 +
658 +~* ~(% style="color:#037691" %)~*~*AT+UNAME=<device name> or User Defined~*~*
659 +
660 +~* ~(% style="color:#037691" %)~*~*AT+PWD=<device name> or User Defined~*~*
661 +
662 +~* ~(% style="color:#037691" %)~*~*AT+SERVADDR=8.217.91.207,1883 ~*~*  ~(%%) ~~/~~/ to set MQTT server address and port
663 +
664 +~(% style="color:red" %)~*~*Note: To uplink and downlink via MQTT.fx, we need set the publish topic and subscribe topic different, for example: AT+SUBTOPIC=SE01_SUB & AT+PUBTOPIC=SE01_PUB.~*~*
665 +
666 +~[~[image~:image-20240417180145-2.png||height="434" width="587"]]~[~[image:image-20240417180737-3.png||height="431" width="584"]]
667 +
668 +
669 +~*~*2. ~*~*When the node uplink packets, we can observe the data in MQTT.fx.
670 +
671 +~[~[image~:image-20240418144337-1.png||height="709" width="802"]]
672 +
673 +~*~*3. ~*~*The downlink command can be successfully sent only when the downlink port is open.
674 +
601 601   The downlink port is opened for about 3 seconds after uplink packets are sent.
602 602  
603 - Therefore, when we see the node uplink packets in the **Subscribe** window, we need to immediately switch to the **publish** window to publish the **hex format** command.
677 + Therefore, when we see the node uplink packets in the ~*~*Subscribe~*~* window, we need to immediately switch to the ~*~*publish~*~* window to publish the ~*~*hex format~*~* command.
604 604  
605 -[[image:image-20240418150435-3.png||height="582" width="659"]]
679 +~[~[image~:image-20240418150435-3.png||height="582" width="659"]]
606 606  
607 -[[image:image-20240418150932-4.png||height="492" width="1061"]]
681 +~[~[image~:image-20240418150932-4.png||height="492" width="1061"]]
608 608  
609 -(% style="color:red" %)**Note: Users can edit the hex command in advance. When the node uplink, directly click the publish button several times to increase the success rate of command configuration.**
683 +~(% style="color:red" %)~*~*Note: Users can edit the hex command in advance. When the node uplink, directly click the publish button several times to increase the success rate of command configuration.~*~*
610 610  
611 -= 5. FAQ =
612 612  
613 -== 5.1 What is the usage of Multi Sampling and One Uplink? ==
614 614  
687 +
688 +~= 5. FAQ =
689 +
690 +~== 5.1 What is the usage of Multi Sampling and One Uplink? ==
691 +
692 +
615 615  The NB series has the feature for Multi Sampling and one uplink. See one of them
616 616  
617 -[[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]]
618 618  
619 619  User can use this feature for below purpose:
620 620  
621 -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.
622 -1. Give more sampling data points.
623 -1. Increase reliable in transmission. For example. If user set
624 -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)
625 -1*. **AT+NOUD=24** ~/~/ The device uploads 24 sets of recorded data by default. Up to 32 sets of record data can be uploaded.
626 -1*. **AT+TDC=7200** ~/~/ Uplink every 2 hours.
627 -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.
628 628  
629 -== 5.2 Why the uplink JSON format is not standard? ==
707 +~== 5.2 Why the uplink JSON format is not standard? ==
630 630  
709 +
631 631  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.
632 632  
633 633  The firmware version released after 2024, Mar will use change back to use Json format. Detail please check changelog.
634 634  
635 -[[image:image-20240229233154-1.png]]
714 +~[~[image~:image-20240229233154-1.png]]
636 636  
637 -= 6. Trouble Shooting: =
638 638  
639 -== 6.1 Checklist for debuging Network Connection issue. Signal Strenght:99 issue. ==
717 +~= 6. Trouble Shooting: =
640 640  
719 +~== 6.1 Checklist for debuging Network Connection issue. Signal Strenght:99 issue. ==
720 +
721 +
641 641  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.
642 642  
643 -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)
644 644  
645 -[[image:image-20240207002003-1.png]]
726 +~[~[image~:image-20240207002003-1.png]]
646 646  
728 +
647 647  If fail to attach network, it will shows signal 99. as below:
648 648  
649 -[[image:image-20240207002129-2.png]]
731 +~[~[image~:image-20240207002129-2.png]]
650 650  
651 -(% class="lead" %)
733 +
734 +~(% class="lead" %)
652 652  When see this issue, below are the checklist:
653 653  
654 -* 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.
655 -* 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]].
656 -* 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]].
657 -* Check if the device is attached to Carrier network but reject. (need to check with operator).
658 -* 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.
659 659  
660 -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.
661 661  
662 662  
663 -== (% 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" ==
664 664  
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 +
665 665  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.
666 666  
667 -[[image:image-20240226111928-1.png]]
793 +~[~[image~:image-20240226111928-1.png]]
668 668  
669 -== (% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a" %)6.5 What is the Downlink Command by the NB device?(%%) ==
670 670  
671 -(% data-sider-select-id="bb6e9353-0c3f-473c-938d-4b416c9a03e6" %)
672 -=== UDP: ===
796 +~== ~(% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a" %)6.5 What is the Downlink Command by the NB device?~(%%) ==
673 673  
674 -(% 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" %)
675 675  Its downlink command is the same as the AT command, but brackets are required.
676 676  Example:
677 677  
678 678  {AT+TDC=300}
679 679  
680 -(% data-sider-select-id="90b80f1a-e924-4c8a-afc5-4429e019a657" %)
681 -=== MQTT: ===
682 682  
808 +~(% data-sider-select-id="90b80f1a-e924-4c8a-afc5-4429e019a657" %)
809 +~=== MQTT: ===
810 +
683 683  Json:
684 684  
685 685  The Json format in MQTT mode needs to be configured with all commands.
... ... @@ -716,7 +716,6 @@
716 716  The supported commands are consistent with LoRaWAN's hex commands.
717 717  Please refer to the following link to obtain the hex format:
718 718  
719 -[[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/]]
720 720  
721 721  
722 -​
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0