Last modified by Xiaoling on 2025/04/23 15:56

From version 19.2
edited by Xiaoling
on 2022/05/23 08:53
Change comment: There is no comment for this version
To version 35.5
edited by Xiaoling
on 2022/06/02 15:48
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -18,44 +18,42 @@
18 18  
19 19  (((
20 20  (((
21 -The Dragino RS485-LN is a RS485 to LoRaWAN Converter. It converts the RS485 signal into LoRaWAN wireless signal which simplify the IoT installation and reduce the installation/maintaining cost.
21 +The Dragino RS485-LN is a (% style="color:blue" %)**RS485 to LoRaWAN Converter**(%%). It converts the RS485 signal into LoRaWAN wireless signal which simplify the IoT installation and reduce the installation/maintaining cost.
22 22  )))
23 23  
24 24  (((
25 -RS485-LN allows user to monitor / control RS485 devices and reach extremely long ranges. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption. It targets professional wireless sensor network applications such as irrigation systems, smart metering, smart cities, smartphone detection, building automation, and so on.
25 +RS485-LN allows user to (% style="color:blue" %)**monitor / control RS485 devices**(%%) and reach extremely long ranges. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption. It targets professional wireless sensor network applications such as irrigation systems, smart metering, smart cities, smartphone detection, building automation, and so on.
26 26  )))
27 27  
28 28  (((
29 -For data uplink, RS485-LN sends user-defined commands to RS485 devices and gets the return from the RS485 devices. RS485-LN will process these returns according to user-define rules to get the final payload and upload to LoRaWAN server.
29 +(% style="color:blue" %)**For data uplink**(%%), RS485-LN sends user-defined commands to RS485 devices and gets the return from the RS485 devices. RS485-LN will process these returns according to user-define rules to get the final payload and upload to LoRaWAN server.
30 30  )))
31 31  
32 32  (((
33 -For data downlink, RS485-LN runs in LoRaWAN Class C. When there downlink commands from LoRaWAN server, RS485-LN will forward the commands from LoRaWAN server to RS485 devices.
33 +(% style="color:blue" %)**For data downlink**(%%), RS485-LN runs in LoRaWAN Class C. When there downlink commands from LoRaWAN server, RS485-LN will forward the commands from LoRaWAN server to RS485 devices.
34 +
35 +(% style="color:blue" %)**Demo Dashboard for RS485-LN**(%%) connect to two energy meters: [[https:~~/~~/app.datacake.de/dashboard/d/58844a26-378d-4c5a-aaf5-b5b5b153447a>>url:https://app.datacake.de/dashboard/d/58844a26-378d-4c5a-aaf5-b5b5b153447a]]
34 34  )))
35 35  )))
36 36  
37 37  [[image:1653267211009-519.png||height="419" width="724"]]
38 38  
41 +
39 39  == 1.2 Specifications ==
40 40  
44 +
41 41  **Hardware System:**
42 42  
43 43  * STM32L072CZT6 MCU
44 44  * SX1276/78 Wireless Chip 
45 45  * Power Consumption (exclude RS485 device):
46 -** Idle: 6uA@3.3v
50 +** Idle: 32mA@12v
51 +** 20dB Transmit: 65mA@12v
47 47  
48 -*
49 -** 20dB Transmit: 130mA@3.3v
50 -
51 51  **Interface for Model:**
52 52  
53 -* 1 x RS485 Interface
54 -* 1 x TTL Serial , 3.3v or 5v.
55 -* 1 x I2C Interface, 3.3v or 5v.
56 -* 1 x one wire interface
57 -* 1 x Interrupt Interface
58 -* 1 x Controllable 5V output, max
55 +* RS485
56 +* Power Input 7~~ 24V DC. 
59 59  
60 60  **LoRa Spec:**
61 61  
... ... @@ -64,28 +64,33 @@
64 64  ** Band 2 (LF): 410 ~~ 528 Mhz
65 65  * 168 dB maximum link budget.
66 66  * +20 dBm - 100 mW constant RF output vs.
65 +* +14 dBm high efficiency PA.
67 67  * Programmable bit rate up to 300 kbps.
68 68  * High sensitivity: down to -148 dBm.
69 69  * Bullet-proof front end: IIP3 = -12.5 dBm.
70 70  * Excellent blocking immunity.
70 +* Low RX current of 10.3 mA, 200 nA register retention.
71 71  * Fully integrated synthesizer with a resolution of 61 Hz.
72 -* LoRa modulation.
72 +* FSK, GFSK, MSK, GMSK, LoRaTM and OOK modulation.
73 73  * Built-in bit synchronizer for clock recovery.
74 74  * Preamble detection.
75 75  * 127 dB Dynamic Range RSSI.
76 -* Automatic RF Sense and CAD with ultra-fast AFC. ​​​
76 +* Automatic RF Sense and CAD with ultra-fast AFC.
77 +* Packet engine up to 256 bytes with CRC.
77 77  
79 +
78 78  == 1.3 Features ==
79 79  
80 -* LoRaWAN Class A & Class C protocol (default Class A)
82 +* LoRaWAN Class A & Class C protocol (default Class C)
81 81  * Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865/RU864
82 82  * AT Commands to change parameters
83 -* Remote configure parameters via LoRaWAN Downlink
85 +* Remote configure parameters via LoRa Downlink
84 84  * Firmware upgradable via program port
85 85  * Support multiply RS485 devices by flexible rules
86 86  * Support Modbus protocol
87 -* Support Interrupt uplink
89 +* Support Interrupt uplink (Since hardware version v1.2)
88 88  
91 +
89 89  == 1.4 Applications ==
90 90  
91 91  * Smart Buildings & Home Automation
... ... @@ -95,55 +95,49 @@
95 95  * Smart Cities
96 96  * Smart Factory
97 97  
101 +
98 98  == 1.5 Firmware Change log ==
99 99  
100 -[[RS485-BL Image files – Download link and Change log>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/RS485-BL/Firmware/||style="background-color: rgb(255, 255, 255);"]]
104 +[[RS485-LN Image files – Download link and Change log>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/]]
101 101  
106 +
102 102  == 1.6 Hardware Change log ==
103 103  
104 104  (((
105 -v1.4
106 -)))
107 -
108 108  (((
109 -~1. Change Power IC to TPS22916
110 -)))
111 +v1.2: Add External Interrupt Pin.
111 111  
113 +v1.0: Release
112 112  
113 -(((
114 -v1.3
115 +
115 115  )))
116 -
117 -(((
118 -~1. Change JP3 from KF350-8P to KF350-11P, Add one extra interface for I2C and one extra interface for one-wire
119 119  )))
120 120  
119 += 2. Power ON Device =
121 121  
122 122  (((
123 -v1.2
124 -)))
122 +The RS485-LN can be powered by 7 ~~ 24V DC power source. Connection as below
125 125  
124 +* Power Source VIN to RS485-LN VIN+
125 +* Power Source GND to RS485-LN VIN-
126 +
126 126  (((
127 -Release version ​​​​​
128 +Once there is power, the RS485-LN will be on.
128 128  )))
129 129  
130 -= 2. Pin mapping and Power ON Device =
131 +[[image:1653268091319-405.png]]
131 131  
132 -(((
133 -The RS485-BL is powered on by 8500mAh battery. To save battery life, RS485-BL is shipped with power off. User can put the jumper to power on RS485-BL.
133 +
134 134  )))
135 135  
136 -[[image:1652953055962-143.png||height="387" width="728"]]
137 -
138 -
139 -The Left TXD and RXD are TTL interface for external sensor. TTL level is controlled by 3.3/5v Jumper.
140 -
141 141  = 3. Operation Mode =
142 142  
143 143  == 3.1 How it works? ==
144 144  
145 145  (((
146 -The RS485-BL is configured as LoRaWAN OTAA Class A mode by default. It has OTAA keys to join network. To connect a local LoRaWAN network, user just need to input the OTAA keys in the network server and power on the RS485-BL. It will auto join the network via OTAA.
141 +The RS485-LN is configured as LoRaWAN OTAA Class C mode by default. It has OTAA keys to join network. To connect a local LoRaWAN network, user just need to input the OTAA keys in the network server and power on the RS485-LN. It will auto join the network via OTAA.
142 +
143 +
147 147  )))
148 148  
149 149  == 3.2 Example to join LoRaWAN network ==
... ... @@ -150,27 +150,37 @@
150 150  
151 151  Here shows an example for how to join the TTN V3 Network. Below is the network structure, we use [[LG308>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/140-lg308.html]] as LoRaWAN gateway here. 
152 152  
153 -[[image:1652953414711-647.png||height="337" width="723"]]
150 +[[image:1653268155545-638.png||height="334" width="724"]]
154 154  
152 +
155 155  (((
156 -The RS485-BL in this example connected to two RS485 devices for demonstration, user can connect to other RS485 devices via the same method.
154 +(((
155 +The RS485-LN in this example connected to two RS485 devices for demonstration, user can connect to other RS485 devices via the same method. The connection is as below:
157 157  )))
158 158  
159 159  (((
160 -The LG308 is already set to connect to [[TTN V3 network >>url:https://www.thethingsnetwork.org/]]. So what we need to now is only configure the TTN V3:
159 +485A+ and 485B- of the sensor are connected to RS485A and RA485B of RS485-LN respectively.
161 161  )))
162 162  
162 +[[image:1653268227651-549.png||height="592" width="720"]]
163 +
163 163  (((
164 -**Step 1**: Create a device in TTN V3 with the OTAA keys from RS485-BL.
165 +The LG308 is already set to connect to [[TTN V3 network >>path:eu1.cloud.thethings.network/]]. So what we need to now is only configure the TTN V3:
165 165  )))
166 166  
167 167  (((
168 -Each RS485-BL is shipped with a sticker with unique device EUI:
169 +**Step 1**: Create a device in TTN V3 with the OTAA keys from RS485-LN.
169 169  )))
170 170  
172 +(((
173 +Each RS485-LN is shipped with a sticker with unique device EUI:
174 +)))
175 +)))
176 +
171 171  [[image:1652953462722-299.png]]
172 172  
173 173  (((
180 +(((
174 174  User can enter this key in their LoRaWAN Server portal. Below is TTN V3 screen shot:
175 175  )))
176 176  
... ... @@ -177,13 +177,11 @@
177 177  (((
178 178  Add APP EUI in the application.
179 179  )))
187 +)))
180 180  
181 -
182 -
183 -
184 184  [[image:image-20220519174512-1.png]]
185 185  
186 -[[image:image-20220519174512-2.png||height="328" width="731"]]
191 +[[image:image-20220519174512-2.png||height="323" width="720"]]
187 187  
188 188  [[image:image-20220519174512-3.png||height="556" width="724"]]
189 189  
... ... @@ -199,44 +199,43 @@
199 199  
200 200  
201 201  (((
202 -**Step 2**: Power on RS485-BL and it will auto join to the TTN V3 network. After join success, it will start to upload message to TTN V3 and user can see in the panel.
207 +**Step 2**: Power on RS485-LN and it will auto join to the TTN V3 network. After join success, it will start to upload message to TTN V3 and user can see in the panel.
203 203  )))
204 204  
205 205  [[image:1652953568895-172.png||height="232" width="724"]]
206 206  
212 +
207 207  == 3.3 Configure Commands to read data ==
208 208  
209 209  (((
210 -There are plenty of RS485 and TTL level devices in the market and each device has different command to read the valid data. To support these devices in flexible, RS485-BL supports flexible command set. User can use [[AT Commands or LoRaWAN Downlink>>path:#AT_COMMAND]] Command to configure how RS485-BL should read the sensor and how to handle the return from RS485 or TTL sensors.
216 +(((
217 +There are plenty of RS485 devices in the market and each device has different command to read the valid data. To support these devices in flexible, RS485-LN supports flexible command set. User can use [[AT Commands>>path:#AT_COMMAND]] or LoRaWAN Downlink Command to configure what commands RS485-LN should send for each sampling and how to handle the return from RS485 devices.
211 211  )))
212 212  
213 -=== 3.3.1 onfigure UART settings for RS485 or TTL communication ===
220 +(((
221 +(% style="color:red" %)Note: below description and commands are for firmware version >v1.1, if you have firmware version v1.0. Please check the [[user manual v1.0>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/&file=RS485-LN_UserManual_v1.0.1.pdf]] or upgrade the firmware to v1.1
214 214  
215 -RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect.
223 +
224 +)))
225 +)))
216 216  
217 -**~1. RS485-MODBUS mode:**
227 +=== 3.3.1 onfigure UART settings for RS485 or TTL communication ===
218 218  
219 -AT+MOD=1 ~/~/ Support RS485-MODBUS type sensors. User can connect multiply RS485 , Modbus sensors to the A / B pins.
229 +To use RS485-LN to read data from RS485 sensors, connect the RS485-LN A/B traces to the sensors. And user need to make sure RS485-LN use the match UART setting to access the sensors. The related commands for UART settings are:
220 220  
221 -**2. TTL mode:**
222 -
223 -AT+MOD=2 ~/~/ Support TTL Level sensors, User can connect one TTL Sensor to the TXD/RXD/GND pins.
224 -
225 -RS485-BL default UART settings is **9600, no parity, stop bit 1**. If the sensor has a different settings, user can change the RS485-BL setting to match.
226 -
227 -(% border="1" style="background-color:#ffffcc; color:green; width:795px" %)
228 -|(((
231 +(% border="1" style="background-color:#ffffcc; color:green; width:782px" %)
232 +|(% style="width:128px" %)(((
229 229  **AT Commands**
230 -)))|(% style="width:285px" %)(((
234 +)))|(% style="width:305px" %)(((
231 231  **Description**
232 -)))|(% style="width:347px" %)(((
236 +)))|(% style="width:346px" %)(((
233 233  **Example**
234 234  )))
235 -|(((
239 +|(% style="width:128px" %)(((
236 236  AT+BAUDR
237 -)))|(% style="width:285px" %)(((
241 +)))|(% style="width:305px" %)(((
238 238  Set the baud rate (for RS485 connection). Default Value is: 9600.
239 -)))|(% style="width:347px" %)(((
243 +)))|(% style="width:346px" %)(((
240 240  (((
241 241  AT+BAUDR=9600
242 242  )))
... ... @@ -245,18 +245,12 @@
245 245  Options: (1200,2400,4800,14400,19200,115200)
246 246  )))
247 247  )))
248 -|(((
252 +|(% style="width:128px" %)(((
249 249  AT+PARITY
250 -)))|(% style="width:285px" %)(((
251 -(((
254 +)))|(% style="width:305px" %)(((
252 252  Set UART parity (for RS485 connection)
253 -)))
254 -
256 +)))|(% style="width:346px" %)(((
255 255  (((
256 -Default Value is: no parity.
257 -)))
258 -)))|(% style="width:347px" %)(((
259 -(((
260 260  AT+PARITY=0
261 261  )))
262 262  
... ... @@ -264,17 +264,17 @@
264 264  Option: 0: no parity, 1: odd parity, 2: even parity
265 265  )))
266 266  )))
267 -|(((
265 +|(% style="width:128px" %)(((
268 268  AT+STOPBIT
269 -)))|(% style="width:285px" %)(((
267 +)))|(% style="width:305px" %)(((
270 270  (((
271 271  Set serial stopbit (for RS485 connection)
272 272  )))
273 273  
274 274  (((
275 -Default Value is: 1bit.
273 +
276 276  )))
277 -)))|(% style="width:347px" %)(((
275 +)))|(% style="width:346px" %)(((
278 278  (((
279 279  AT+STOPBIT=0 for 1bit
280 280  )))
... ... @@ -288,15 +288,14 @@
288 288  )))
289 289  )))
290 290  
289 +
291 291  === 3.3.2 Configure sensors ===
292 292  
293 293  (((
294 -Some sensors might need to configure before normal operation. User can configure such sensor via PC or through RS485-BL AT Commands (% style="color:#4f81bd" %)**AT+CFGDEV**.
295 -)))
296 -
297 297  (((
298 -When user issue an (% style="color:#4f81bd" %)**AT+CFGDEV**(%%) command, Each (% style="color:#4f81bd" %)**AT+CFGDEV**(%%) equals to send a command to the RS485 or TTL sensors. This command will only run when user input it and won’t run during each sampling.
294 +Some sensors might need to configure before normal operation. User can configure such sensor via PC and RS485 adapter or through RS485-LN AT Commands (% style="color:#4f81bd" %)**AT+CFGDEV**(%%). Each (% style="color:#4f81bd" %)**AT+CFGDEV **(%%)equals to send a RS485 command to sensors. This command will only run when user input it and won’t run during each sampling.
299 299  )))
296 +)))
300 300  
301 301  (% border="1" style="background-color:#ffffcc; color:green; width:806px" %)
302 302  |**AT Commands**|(% style="width:418px" %)**Description**|(% style="width:256px" %)**Example**
... ... @@ -308,82 +308,38 @@
308 308  mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
309 309  )))|(% style="width:256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
310 310  
311 -Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>path:#AT_CFGDEV]].
312 312  
313 313  === 3.3.3 Configure read commands for each sampling ===
314 314  
315 315  (((
316 -RS485-BL is a battery powered device; it will sleep most of time. And wake up on each period and read RS485 / TTL sensor data and uplink.
317 -)))
312 +During each sampling, we need confirm what commands we need to send to the RS485 sensors to read data. After the RS485 sensors send back the value, it normally include some bytes and we only need a few from them for a shorten payload.
318 318  
319 -(((
320 -During each sampling, we need to confirm what commands we need to send to the sensors to read data. After the RS485/TTL sensors send back the value, it normally includes some bytes and we only need a few from them for a shorten payload.
321 -)))
322 -
323 -(((
324 324  To save the LoRaWAN network bandwidth, we might need to read data from different sensors and combine their valid value into a short payload.
325 -)))
326 326  
327 -(((
328 328  This section describes how to achieve above goals.
329 -)))
330 330  
331 -(((
332 -During each sampling, the RS485-BL can support 15 commands to read sensors. And combine the return to one or several uplink payloads.
333 -)))
318 +During each sampling, the RS485-LN can support 15 commands to read sensors. And combine the return to one or several uplink payloads.
334 334  
335 -(((
336 -**Command from RS485-BL to Sensor:**
337 -)))
338 338  
339 -(((
340 -RS485-BL can send out pre-set max 15 strings via **AT+COMMAD1**, **ATCOMMAND2**,…, to **AT+COMMANDF** . All commands are of same grammar.
341 -)))
321 +**Each RS485 commands include two parts:**
342 342  
343 -(((
344 -**Handle return from sensors to RS485-BL**:
345 -)))
323 +~1. What commands RS485-LN will send to the RS485 sensors. There are total 15 commands from **AT+COMMAD1**, **ATCOMMAND2**,…, to **AT+COMMANDF**. All commands are of same grammar.
346 346  
347 -(((
348 -After RS485-BL send out a string to sensor, RS485-BL will wait for the return from RS485 or TTL sensor. And user can specify how to handle the return, by **AT+DATACUT or AT+SEARCH commands**
349 -)))
325 +2. How to get wanted value the from RS485 sensors returns from by 1). There are total 15 AT Commands to handle the return, commands are **AT+DATACUT1**,**AT+DATACUT2**,…, **AT+DATACUTF** corresponding to the commands from 1). All commands are of same grammar.
350 350  
351 -* (((
352 -**AT+DATACUT**
353 -)))
327 +3. Some RS485 device might has longer delay on reply, so user can use AT+CMDDL to set the timeout for getting reply after the RS485 command is sent. For example **AT+CMDDL1=1000** to send the open time to 1000ms
354 354  
355 -(((
356 -When the return value from sensor have fix length and we know which position the valid value we should get, we can use AT+DATACUT command.
357 -)))
358 358  
359 -* (((
360 -**AT+SEARCH**
361 -)))
362 -
363 -(((
364 -When the return value from sensor is dynamic length and we are not sure which bytes the valid data is, instead, we know what value the valid value following. We can use AT+SEARCH to search the valid value in the return string.
365 -)))
366 -
367 -(((
368 -**Define wait timeout:**
369 -)))
370 -
371 -(((
372 -Some RS485 device might has longer delay on reply, so user can use AT+CMDDL to set the timeout for getting reply after the RS485 command is sent. For example, AT+CMDDL1=1000 to send the open time to 1000ms
373 -)))
374 -
375 -(((
376 376  After we got the valid value from each RS485 commands, we need to combine them together with the command **AT+DATAUP**.
377 -)))
378 378  
379 -**Examples:**
380 380  
381 381  Below are examples for the how above AT Commands works.
382 382  
383 -**AT+COMMANDx : **This command will be sent to RS485/TTL devices during each sampling, Max command length is 14 bytes. The grammar is:
384 384  
385 -(% border="1" class="table-bordered" %)
386 -|(((
336 +**AT+COMMANDx : **This command will be sent to RS485 devices during each sampling, Max command length is 14 bytes. The grammar is:
337 +
338 +(% border="1" style="background-color:#4bacc6; color:white; width:499px" %)
339 +|(% style="width:496px" %)(((
387 387  **AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m**
388 388  
389 389  **xx xx xx xx xx xx xx xx xx xx xx xx: The RS485 command to be sent**
... ... @@ -393,43 +393,13 @@
393 393  
394 394  For example, if we have a RS485 sensor. The command to get sensor value is: 01 03 0B B8 00 02 46 0A. Where 01 03 0B B8 00 02 is the Modbus command to read the register 0B B8 where stored the sensor value. The 46 0A is the CRC-16/MODBUS which calculate manually.
395 395  
396 -In the RS485-BL, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same.
349 +In the RS485-LN, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same.
397 397  
398 -**AT+SEARCHx**: This command defines how to handle the return from AT+COMMANDx.
399 399  
400 -(% border="1" class="table-bordered" %)
401 -|(((
402 -**AT+SEARCHx=aa,xx xx xx xx xx**
403 -
404 -* **aa: 1: prefix match mode; 2: prefix and suffix match mode**
405 -* **xx xx xx xx xx: match string. Max 5 bytes for prefix and 5 bytes for suffix**
406 -
407 -
408 -)))
409 -
410 -Examples:
411 -
412 -1. For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
413 -
414 -If we set AT+SEARCH1=1,1E 56 34.      (max 5 bytes for prefix)
415 -
416 -The valid data will be all bytes after 1E 56 34 , so it is 2e 30 58 5f 36 41 30 31 00 49
417 -
418 -[[image:1652954654347-831.png]]
419 -
420 -
421 -1. For a return string from AT+COMMAND1:  16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
422 -
423 -If we set AT+SEARCH1=2, 1E 56 34+31 00 49
424 -
425 -Device will search the bytes between 1E 56 34 and 31 00 49. So it is 2e 30 58 5f 36 41 30
426 -
427 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png]]
428 -
429 -
430 430  **AT+DATACUTx : **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes.
431 431  
432 -|(((
354 +(% border="1" style="background-color:#4bacc6; color:white; width:725px" %)
355 +|(% style="width:722px" %)(((
433 433  **AT+DATACUTx=a,b,c**
434 434  
435 435  * **a: length for the return of AT+COMMAND**
... ... @@ -437,98 +437,90 @@
437 437  * **c: define the position for valid value.  **
438 438  )))
439 439  
440 -Examples:
363 +**Examples:**
441 441  
442 442  * Grab bytes:
443 443  
444 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image015.png]]
367 +[[image:image-20220602153621-1.png]]
445 445  
369 +
446 446  * Grab a section.
447 447  
448 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image016.png]]
372 +[[image:image-20220602153621-2.png]]
449 449  
374 +
450 450  * Grab different sections.
451 451  
452 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image017.png]]
377 +[[image:image-20220602153621-3.png]]
453 453  
379 +
380 +)))
454 454  
455 -Note:
382 +=== 3.3.4 Compose the uplink payload ===
456 456  
457 -AT+SEARCHx and AT+DATACUTx can be used together, if both commands are set, RS485-BL will first process AT+SEARCHx on the return string and get a temporary string, and then process AT+DATACUTx on this temporary string to get the final payload. In this case, AT+DATACUTx need to set to format AT+DATACUTx=0,xx,xx where the return bytes set to 0.
458 -
459 -Example:
460 -
461 -AT+COMMAND1=11 01 1E D0,0
462 -
463 -AT+SEARCH1=1,1E 56 34
464 -
465 -AT+DATACUT1=0,2,1~~5
466 -
467 -Return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
468 -
469 -String after SEARCH command: 2e 30 58 5f 36 41 30 31 00 49
470 -
471 -Valid payload after DataCUT command: 2e 30 58 5f 36
472 -
473 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image018.png]]
474 -
475 -
476 -
477 -
478 -1.
479 -11.
480 -111. Compose the uplink payload
481 -
384 +(((
482 482  Through AT+COMMANDx and AT+DATACUTx we got valid value from each RS485 commands, Assume these valid value are RETURN1, RETURN2, .., to RETURNx. The next step is how to compose the LoRa Uplink Payload by these RETURNs. The command is **AT+DATAUP.**
483 483  
387 +
388 +)))
484 484  
485 -**Examples: AT+DATAUP=0**
390 +(((
391 +(% style="color:#037691" %)**Examples: AT+DATAUP=0**
486 486  
487 -Compose the uplink payload with value returns in sequence and send with **A SIGNLE UPLINK**.
393 +
394 +)))
488 488  
396 +(((
397 +Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**A SIGNLE UPLINK**.
398 +)))
399 +
400 +(((
489 489  Final Payload is
402 +)))
490 490  
491 -Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx
404 +(((
405 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx**
406 +)))
492 492  
408 +(((
493 493  Where PAYVER is defined by AT+PAYVER, below is an example screen shot.
410 +)))
494 494  
495 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image019.png]]
412 +[[image:1653269759169-150.png||height="513" width="716"]]
496 496  
497 497  
415 +(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1**
498 498  
499 -**Examples: AT+DATAUP=1**
500 500  
501 -Compose the uplink payload with value returns in sequence and send with **Multiply UPLINKs**.
418 +Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**Multiply UPLINKs**.
502 502  
503 503  Final Payload is
504 504  
505 -Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA
422 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**
506 506  
507 507  1. Battery Info (2 bytes): Battery voltage
508 508  1. PAYVER (1 byte): Defined by AT+PAYVER
509 509  1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling.
510 510  1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT)
511 -1. DATA: Valid value: max 6 bytes(US915 version here, [[Notice*!>>path:#max_byte]]) for each uplink so each uplink <= 11 bytes. For the last uplink, DATA will might less than 6 bytes
428 +1. DATA: Valid value: max 6 bytes(US915 version here, Notice*!) for each uplink so each uplink <= 11 bytes. For the last uplink, DATA will might less than 6 bytes
512 512  
513 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image020.png]]
430 +[[image:1653269916228-732.png||height="433" width="711"]]
514 514  
515 515  
516 516  So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA
517 517  
518 -DATA1=RETURN1 Valid Value = 20 20 0a 33 90 41
435 +DATA1=RETURN1 Valid Value = (% style="background-color:green; color:white" %)20 20 0a 33 90 41
519 519  
520 -DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= 02 aa 05 81 0a 20
437 +DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10=(% style="background-color:green; color:white" %) 02 aa 05 81 0a 20
521 521  
522 -DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 = 20 20 20 2d 30
439 +DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 = (% style="background-color:green; color:white" %)20 20 20 2d 30
523 523  
524 -
525 -
526 526  Below are the uplink payloads:
527 527  
528 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image021.png]]
443 +[[image:1653270130359-810.png]]
529 529  
530 530  
531 -Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:
446 +(% style="color:red" %)**Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:**
532 532  
533 533   ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
534 534  
... ... @@ -538,12 +538,8 @@
538 538  
539 539   ~* For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
540 540  
456 +=== 3.3.5 Uplink on demand ===
541 541  
542 -
543 -1.
544 -11.
545 -111. Uplink on demand
546 -
547 547  Except uplink periodically, RS485-BL is able to uplink on demand. The server sends downlink command to RS485-BL and RS485 will uplink data base on the command.
548 548  
549 549  Downlink control command:
... ... @@ -554,8 +554,8 @@
554 554  
555 555  
556 556  
557 -1.
558 -11.
468 +1.
469 +11.
559 559  111. Uplink on Interrupt
560 560  
561 561  Put the interrupt sensor between 3.3v_out and GPIO ext.[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image022.png]]
... ... @@ -569,7 +569,7 @@
569 569  AT+INTMOD=3  Interrupt trigger by rising edge.
570 570  
571 571  
572 -1.
483 +1.
573 573  11. Uplink Payload
574 574  
575 575  |**Size(bytes)**|**2**|**1**|**Length depends on the return from the commands**
... ... @@ -631,15 +631,15 @@
631 631  
632 632  * **Sensor Related Commands**: These commands are special designed for RS485-BL.  User can see these commands below:
633 633  
634 -1.
635 -11.
545 +1.
546 +11.
636 636  111. Common Commands:
637 637  
638 638  They should be available for each of Dragino Sensors, such as: change uplink interval, reset device. For firmware v1.3, user can find what common commands it supports: [[http:~~/~~/wiki.dragino.com/index.php?title=End_Device_AT_Commands_and_Downlink_Commands>>url:http://wiki.dragino.com/index.php?title=End_Device_AT_Commands_and_Downlink_Commands]]
639 639  
640 640  
641 -1.
642 -11.
552 +1.
553 +11.
643 643  111. Sensor related commands:
644 644  
645 645  ==== Choose Device Type (RS485 or TTL) ====
... ... @@ -945,13 +945,13 @@
945 945  
946 946  
947 947  
948 -1.
859 +1.
949 949  11. Buttons
950 950  
951 951  |**Button**|**Feature**
952 952  |**RST**|Reboot RS485-BL
953 953  
954 -1.
865 +1.
955 955  11. +3V3 Output
956 956  
957 957  RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor.
... ... @@ -969,7 +969,7 @@
969 969  By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time
970 970  
971 971  
972 -1.
883 +1.
973 973  11. +5V Output
974 974  
975 975  RS485-BL has a Controllable +5V output, user can use this output to power external sensor.
... ... @@ -989,13 +989,13 @@
989 989  
990 990  
991 991  
992 -1.
903 +1.
993 993  11. LEDs
994 994  
995 995  |**LEDs**|**Feature**
996 996  |**LED1**|Blink when device transmit a packet.
997 997  
998 -1.
909 +1.
999 999  11. Switch Jumper
1000 1000  
1001 1001  |**Switch Jumper**|**Feature**
... ... @@ -1041,7 +1041,7 @@
1041 1041  
1042 1042  
1043 1043  
1044 -1.
955 +1.
1045 1045  11. Common AT Command Sequence
1046 1046  111. Multi-channel ABP mode (Use with SX1301/LG308)
1047 1047  
... ... @@ -1060,8 +1060,8 @@
1060 1060  
1061 1061  ATZ
1062 1062  
1063 -1.
1064 -11.
974 +1.
975 +11.
1065 1065  111. Single-channel ABP mode (Use with LG01/LG02)
1066 1066  
1067 1067  AT+FDR   Reset Parameters to Factory Default, Keys Reserve
... ... @@ -1136,7 +1136,7 @@
1136 1136  [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image035.png]] [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image036.png]]
1137 1137  
1138 1138  
1139 -1.
1050 +1.
1140 1140  11. How to change the LoRa Frequency Bands/Region?
1141 1141  
1142 1142  User can follow the introduction for [[how to upgrade image>>path:#upgrade_image]]. When download the images, choose the required image file for download.
... ... @@ -1143,7 +1143,7 @@
1143 1143  
1144 1144  
1145 1145  
1146 -1.
1057 +1.
1147 1147  11. How many RS485-Slave can RS485-BL connects?
1148 1148  
1149 1149  The RS485-BL can support max 32 RS485 devices. Each uplink command of RS485-BL can support max 16 different RS485 command. So RS485-BL can support max 16 RS485 devices pre-program in the device for uplink. For other devices no pre-program, user can use the [[downlink message (type code 0xA8) to poll their info>>path:#downlink_A8]].
... ... @@ -1160,7 +1160,7 @@
1160 1160  
1161 1161  
1162 1162  
1163 -1.
1074 +1.
1164 1164  11. Why I can’t join TTN V3 in US915 /AU915 bands?
1165 1165  
1166 1166  It might about the channels mapping. Please see for detail.
1653268091319-405.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +399.3 KB
Content
1653268155545-638.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +113.7 KB
Content
1653268227651-549.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +1.3 MB
Content
1653269403619-508.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +27.8 KB
Content
1653269438444-278.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +26.6 KB
Content
1653269551753-223.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +138.7 KB
Content
1653269568276-930.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +131.4 KB
Content
1653269593172-426.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +142.6 KB
Content
1653269618463-608.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +27.7 KB
Content
1653269759169-150.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +294.0 KB
Content
1653269916228-732.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +143.3 KB
Content
1653270130359-810.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +197.8 KB
Content
image-20220602153621-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +23.4 KB
Content
image-20220602153621-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +22.2 KB
Content
image-20220602153621-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +22.3 KB
Content