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

From version 15.5
edited by Xiaoling
on 2022/05/19 17:52
Change comment: There is no comment for this version
To version 35.1
edited by Xiaoling
on 2022/06/02 10:15
Change comment: Uploaded new attachment "1654136105500-922.png", version {1}

Summary

Details

Page properties
Content
... ... @@ -7,12 +7,15 @@
7 7  **RS485-BL – Waterproof RS485 to LoRaWAN Converter User Manual**
8 8  
9 9  
10 +
10 10  **Table of Contents:**
11 11  
13 +{{toc/}}
12 12  
13 13  
14 14  
15 15  
18 +
16 16  = 1.Introduction =
17 17  
18 18  == 1.1 What is RS485-BL RS485 to LoRaWAN Converter ==
... ... @@ -22,19 +22,19 @@
22 22  )))
23 23  
24 24  (((
25 -The Dragino RS485-BL is a **RS485 / UART to LoRaWAN Converter** for Internet of Things solutions. User can connect RS485 or UART sensor to RS485-BL converter, and configure RS485-BL to periodically read sensor data and upload via LoRaWAN network to IoT server.
28 +The Dragino RS485-BL is a (% style="color:blue" %)**RS485 / UART to LoRaWAN Converter**(%%) for Internet of Things solutions. User can connect RS485 or UART sensor to RS485-BL converter, and configure RS485-BL to periodically read sensor data and upload via LoRaWAN network to IoT server.
26 26  )))
27 27  
28 28  (((
29 -RS485-BL can interface to RS485 sensor, 3.3v/5v UART sensor or interrupt sensor. RS485-BL provides **a 3.3v output** and** a 5v output** to power external sensors. Both output voltages are controllable to minimize the total system power consumption.
32 +RS485-BL can interface to RS485 sensor, 3.3v/5v UART sensor or interrupt sensor. RS485-BL provides (% style="color:blue" %)**a 3.3v output**(%%) and** (% style="color:blue" %)a 5v output(%%)** to power external sensors. Both output voltages are controllable to minimize the total system power consumption.
30 30  )))
31 31  
32 32  (((
33 -RS485-BL is IP67 **waterproof** and powered by **8500mAh Li-SOCI2 battery**, it is designed for long term use for several years.
36 +RS485-BL is IP67 (% style="color:blue" %)**waterproof**(%%) and powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use for several years.
34 34  )))
35 35  
36 36  (((
37 -RS485-BL runs standard **LoRaWAN 1.0.3 in Class A**. It can reach long transfer range and easy to integrate with LoRaWAN compatible gateway and IoT server.
40 +RS485-BL runs standard (% style="color:blue" %)**LoRaWAN 1.0.3 in Class A**(%%). It can reach long transfer range and easy to integrate with LoRaWAN compatible gateway and IoT server.
38 38  )))
39 39  
40 40  (((
... ... @@ -51,8 +51,11 @@
51 51  
52 52  [[image:1652953304999-717.png||height="424" width="733"]]
53 53  
57 +
58 +
54 54  == 1.2 Specifications ==
55 55  
61 +
56 56  **Hardware System:**
57 57  
58 58  * STM32L072CZT6 MCU
... ... @@ -59,8 +59,6 @@
59 59  * SX1276/78 Wireless Chip 
60 60  * Power Consumption (exclude RS485 device):
61 61  ** Idle: 6uA@3.3v
62 -
63 -*
64 64  ** 20dB Transmit: 130mA@3.3v
65 65  
66 66  **Interface for Model:**
... ... @@ -114,9 +114,12 @@
114 114  
115 115  [[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);"]]
116 116  
121 +
117 117  == 1.6 Hardware Change log ==
118 118  
119 119  (((
125 +
126 +
120 120  v1.4
121 121  )))
122 122  
... ... @@ -140,6 +140,8 @@
140 140  
141 141  (((
142 142  Release version ​​​​​
150 +
151 +
143 143  )))
144 144  
145 145  = 2. Pin mapping and Power ON Device =
... ... @@ -153,6 +153,7 @@
153 153  
154 154  The Left TXD and RXD are TTL interface for external sensor. TTL level is controlled by 3.3/5v Jumper.
155 155  
165 +
156 156  = 3. Operation Mode =
157 157  
158 158  == 3.1 How it works? ==
... ... @@ -159,6 +159,8 @@
159 159  
160 160  (((
161 161  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.
172 +
173 +
162 162  )))
163 163  
164 164  == 3.2 Example to join LoRaWAN network ==
... ... @@ -194,8 +194,6 @@
194 194  )))
195 195  
196 196  
197 -
198 -
199 199  [[image:image-20220519174512-1.png]]
200 200  
201 201  [[image:image-20220519174512-2.png||height="328" width="731"]]
... ... @@ -219,10 +219,13 @@
219 219  
220 220  [[image:1652953568895-172.png||height="232" width="724"]]
221 221  
232 +
222 222  == 3.3 Configure Commands to read data ==
223 223  
224 224  (((
225 -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.
236 +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>>||anchor="H3.5ConfigureRS485-BLviaATorDownlink"]] Command to configure how RS485-BL should read the sensor and how to handle the return from RS485 or TTL sensors.
237 +
238 +
226 226  )))
227 227  
228 228  === 3.3.1 onfigure UART settings for RS485 or TTL communication ===
... ... @@ -303,88 +303,103 @@
303 303  )))
304 304  )))
305 305  
319 +=== 3.3.2 Configure sensors ===
306 306  
321 +(((
322 +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**.
323 +)))
307 307  
325 +(((
326 +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.
327 +)))
308 308  
309 -1.
310 -11.
311 -111. Configure sensors
312 -
313 -Some sensors might need to configure before normal operation. User can configure such sensor via PC or through RS485-BL AT Commands AT+CFGDEV.
314 -
315 -
316 -When user issue an AT+CFGDEV command, Each 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.
317 -
318 -|**AT Commands**|**Description**|**Example**
319 -|AT+CFGDEV|(((
329 +(% border="1" style="background-color:#ffffcc; color:green; width:806px" %)
330 +|**AT Commands**|(% style="width:418px" %)**Description**|(% style="width:256px" %)**Example**
331 +|AT+CFGDEV|(% style="width:418px" %)(((
320 320  This command is used to configure the RS485/TTL devices; they won’t be used during sampling.
321 321  
322 -AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
334 +AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,
323 323  
324 -m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
325 -)))|AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
336 +mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
337 +)))|(% style="width:256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
326 326  
327 -Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>path:#AT_CFGDEV]].
339 +Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]].
328 328  
329 329  
342 +=== 3.3.3 Configure read commands for each sampling ===
330 330  
331 -
332 -
333 -1.
334 -11.
335 -111. Configure read commands for each sampling
336 -
344 +(((
337 337  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.
346 +)))
338 338  
339 -
348 +(((
340 340  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.
350 +)))
341 341  
342 -
352 +(((
343 343  To save the LoRaWAN network bandwidth, we might need to read data from different sensors and combine their valid value into a short payload.
354 +)))
344 344  
345 -
356 +(((
346 346  This section describes how to achieve above goals.
358 +)))
347 347  
348 -
360 +(((
349 349  During each sampling, the RS485-BL can support 15 commands to read sensors. And combine the return to one or several uplink payloads.
362 +)))
350 350  
351 -
364 +(((
352 352  **Command from RS485-BL to Sensor:**
366 +)))
353 353  
368 +(((
354 354  RS485-BL can send out pre-set max 15 strings via **AT+COMMAD1**, **ATCOMMAND2**,…, to **AT+COMMANDF** . All commands are of same grammar.
370 +)))
355 355  
356 -
372 +(((
357 357  **Handle return from sensors to RS485-BL**:
374 +)))
358 358  
376 +(((
359 359  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**
378 +)))
360 360  
380 +* (((
381 +**AT+DATACUT**
382 +)))
361 361  
362 -* **AT+DATACUT**
363 -
384 +(((
364 364  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.
386 +)))
365 365  
388 +* (((
389 +**AT+SEARCH**
390 +)))
366 366  
367 -* **AT+SEARCH**
368 -
392 +(((
369 369  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.
394 +)))
370 370  
371 -
396 +(((
372 372  **Define wait timeout:**
398 +)))
373 373  
400 +(((
374 374  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
402 +)))
375 375  
376 -
404 +(((
377 377  After we got the valid value from each RS485 commands, we need to combine them together with the command **AT+DATAUP**.
406 +)))
378 378  
379 -
380 380  **Examples:**
381 381  
382 382  Below are examples for the how above AT Commands works.
383 383  
384 -
385 385  **AT+COMMANDx : **This command will be sent to RS485/TTL devices during each sampling, Max command length is 14 bytes. The grammar is:
386 386  
387 -|(((
414 +(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:501px" %)
415 +|(% style="width:498px" %)(((
388 388  **AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m**
389 389  
390 390  **xx xx xx xx xx xx xx xx xx xx xx xx: The RS485 command to be sent**
... ... @@ -396,41 +396,38 @@
396 396  
397 397  In the RS485-BL, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same.
398 398  
399 -
400 400  **AT+SEARCHx**: This command defines how to handle the return from AT+COMMANDx.
401 401  
402 -|(((
429 +(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:580px" %)
430 +|(% style="width:577px" %)(((
403 403  **AT+SEARCHx=aa,xx xx xx xx xx**
404 404  
405 405  * **aa: 1: prefix match mode; 2: prefix and suffix match mode**
406 406  * **xx xx xx xx xx: match string. Max 5 bytes for prefix and 5 bytes for suffix**
407 -
408 -
409 409  )))
410 410  
411 -Examples:
437 +**Examples:**
412 412  
413 -1. For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
439 +1For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
414 414  
415 415  If we set AT+SEARCH1=1,1E 56 34.      (max 5 bytes for prefix)
416 416  
417 -The valid data will be all bytes after 1E 56 34 , so it is 2e 30 58 5f 36 41 30 31 00 49
443 +The valid data will be all bytes after 1E 56 34 , so it is (% style="background-color:yellow" %)**2e 30 58 5f 36 41 30 31 00 49**
418 418  
419 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image013.png]]
445 +[[image:1653271044481-711.png]]
420 420  
447 +2)For a return string from AT+COMMAND1:  16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
421 421  
422 -1. For a return string from AT+COMMAND1:  16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
423 -
424 424  If we set AT+SEARCH1=2, 1E 56 34+31 00 49
425 425  
426 -Device will search the bytes between 1E 56 34 and 31 00 49. So it is 2e 30 58 5f 36 41 30
451 +Device will search the bytes between 1E 56 34 and 31 00 49. So it is(% style="background-color:yellow" %) **2e 30 58 5f 36 41 30**
427 427  
428 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png]]
453 +[[image:1653271276735-972.png]]
429 429  
430 -
431 431  **AT+DATACUTx : **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes.
432 432  
433 -|(((
457 +(% style="background-color:#4f81bd; color:white; width:729px" %)
458 +|(% style="width:726px" %)(((
434 434  **AT+DATACUTx=a,b,c**
435 435  
436 436  * **a: length for the return of AT+COMMAND**
... ... @@ -438,98 +438,143 @@
438 438  * **c: define the position for valid value.  **
439 439  )))
440 440  
441 -Examples:
466 +**Examples:**
442 442  
443 443  * Grab bytes:
444 444  
445 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image015.png]]
470 +[[image:1653271581490-837.png||height="313" width="722"]]
446 446  
472 +
447 447  * Grab a section.
448 448  
449 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image016.png]]
475 +[[image:1653271648378-342.png||height="326" width="720"]]
450 450  
477 +
451 451  * Grab different sections.
452 452  
453 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image017.png]]
480 +[[image:1653271657255-576.png||height="305" width="730"]]
454 454  
482 +(((
483 +(% style="color:red" %)**Note:**
484 +)))
455 455  
456 -Note:
457 -
486 +(((
458 458  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.
488 +)))
459 459  
460 -Example:
490 +(((
491 +**Example:**
492 +)))
461 461  
462 -AT+COMMAND1=11 01 1E D0,0
494 +(((
495 +(% style="color:red" %)AT+COMMAND1=11 01 1E D0,0
496 +)))
463 463  
464 -AT+SEARCH1=1,1E 56 34
498 +(((
499 +(% style="color:red" %)AT+SEARCH1=1,1E 56 34
500 +)))
465 465  
466 -AT+DATACUT1=0,2,1~~5
502 +(((
503 +(% style="color:red" %)AT+DATACUT1=0,2,1~~5
504 +)))
467 467  
468 -Return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
506 +(((
507 +(% style="color:red" %)Return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
508 +)))
469 469  
470 -String after SEARCH command: 2e 30 58 5f 36 41 30 31 00 49
510 +(((
511 +(% style="color:red" %)String after SEARCH command: 2e 30 58 5f 36 41 30 31 00 49
512 +)))
471 471  
472 -Valid payload after DataCUT command: 2e 30 58 5f 36
514 +(((
515 +(% style="color:red" %)Valid payload after DataCUT command: 2e 30 58 5f 36
516 +)))
473 473  
474 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image018.png]]
518 +[[image:1653271763403-806.png]]
475 475  
476 476  
521 +=== 3.3.4 Compose the uplink payload ===
477 477  
478 -
479 -1.
480 -11.
481 -111. Compose the uplink payload
482 -
523 +(((
483 483  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.**
525 +)))
484 484  
527 +(((
528 +(% style="color:#037691" %)**Examples: AT+DATAUP=0**
529 +)))
485 485  
486 -**Examples: AT+DATAUP=0**
531 +(((
532 +Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**A SIGNLE UPLINK**.
533 +)))
487 487  
488 -Compose the uplink payload with value returns in sequence and send with **A SIGNLE UPLINK**.
489 -
535 +(((
490 490  Final Payload is
537 +)))
491 491  
492 -Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx
539 +(((
540 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx**
541 +)))
493 493  
543 +(((
494 494  Where PAYVER is defined by AT+PAYVER, below is an example screen shot.
545 +)))
495 495  
496 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image019.png]]
547 +[[image:1653272787040-634.png||height="515" width="719"]]
497 497  
498 498  
499 499  
500 -**Examples: AT+DATAUP=1**
551 +(((
552 +(% style="color:#037691" %)**Examples: AT+DATAUP=1**
501 501  
502 -Compose the uplink payload with value returns in sequence and send with **Multiply UPLINKs**.
554 +
555 +)))
503 503  
557 +(((
558 +Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**Multiply UPLINKs**.
559 +)))
560 +
561 +(((
504 504  Final Payload is
563 +)))
505 505  
506 -Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA
565 +(((
566 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**
567 +)))
507 507  
508 -1. Battery Info (2 bytes): Battery voltage
509 -1. PAYVER (1 byte): Defined by AT+PAYVER
510 -1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling.
511 -1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT)
512 -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
569 +1. (((
570 +Battery Info (2 bytes): Battery voltage
571 +)))
572 +1. (((
573 +PAYVER (1 byte): Defined by AT+PAYVER
574 +)))
575 +1. (((
576 +PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling.
577 +)))
578 +1. (((
579 +PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT)
580 +)))
581 +1. (((
582 +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
583 +)))
513 513  
514 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image020.png]]
585 +[[image:1653272817147-600.png||height="437" width="717"]]
515 515  
516 -
517 517  So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA
518 518  
519 -DATA1=RETURN1 Valid Value = 20 20 0a 33 90 41
520 520  
521 -DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= 02 aa 05 81 0a 20
590 +DATA1=RETURN1 Valid Value = (% style="background-color:#4f81bd; color:white" %) 20 20 0a 33 90 41
522 522  
523 -DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 = 20 20 20 2d 30
592 +DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= (% style="background-color:#4f81bd; color:white" %)02 aa 05 81 0a 20
524 524  
594 +DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 =(% style="background-color:#4f81bd; color:white" %) 20 20 20 2d 30
525 525  
526 526  
527 527  Below are the uplink payloads:
528 528  
529 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image021.png]]
599 +[[image:1653272901032-107.png]]
530 530  
531 531  
532 -Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:
602 +(% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:
533 533  
534 534   ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
535 535  
... ... @@ -541,139 +541,186 @@
541 541  
542 542  
543 543  
544 -1.
545 -11.
546 -111. Uplink on demand
614 +=== 3.3.5 Uplink on demand ===
547 547  
616 +(((
548 548  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.
618 +)))
549 549  
620 +(((
550 550  Downlink control command:
622 +)))
551 551  
552 -[[0x08 command>>path:#downlink_08]]: Poll an uplink with current command set in RS485-BL.
624 +(((
625 +**0x08 command**: Poll an uplink with current command set in RS485-BL.
626 +)))
553 553  
554 -[[0xA8 command>>path:#downlink_A8]]: Send a command to RS485-BL and uplink the output from sensors.
628 +(((
629 +**0xA8 command**: Send a command to RS485-BL and uplink the output from sensors.
555 555  
631 +
632 +)))
556 556  
634 +=== 3.3.6 Uplink on Interrupt ===
557 557  
558 -1.
559 -11.
560 -111. Uplink on Interrupt
636 +Put the interrupt sensor between 3.3v_out and GPIO ext.
561 561  
562 -Put the interrupt sensor between 3.3v_out and GPIO ext.[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image022.png]]
638 +[[image:1653273818896-432.png]]
563 563  
640 +
641 +(((
564 564  AT+INTMOD=0  Disable Interrupt
643 +)))
565 565  
645 +(((
566 566  AT+INTMOD=1  Interrupt trigger by rising or falling edge.
647 +)))
567 567  
649 +(((
568 568  AT+INTMOD=2  Interrupt trigger by falling edge. ( Default Value)
651 +)))
569 569  
653 +(((
570 570  AT+INTMOD=3  Interrupt trigger by rising edge.
571 571  
656 +
657 +)))
572 572  
573 -1.
574 -11. Uplink Payload
659 +== 3.4 Uplink Payload ==
575 575  
576 -|**Size(bytes)**|**2**|**1**|**Length depends on the return from the commands**
577 -|Value|(((
661 +(% border="1" style="background-color:#4f81bd; color:white; width:850px" %)
662 +|**Size(bytes)**|(% style="width:130px" %)**2**|(% style="width:93px" %)**1**|(% style="width:509px" %)**Length depends on the return from the commands**
663 +|Value|(% style="width:130px" %)(((
664 +(((
578 578  Battery(mV)
666 +)))
579 579  
668 +(((
580 580  &
670 +)))
581 581  
672 +(((
582 582  Interrupt _Flag
583 -)))|(((
674 +)))
675 +)))|(% style="width:93px" %)(((
584 584  PAYLOAD_VER
585 585  
586 586  
587 -)))|If the valid payload is too long and exceed the maximum support payload length in server, server will show payload not provided in the LoRaWAN server.
679 +)))|(% style="width:509px" %)If the valid payload is too long and exceed the maximum support payload length in server, server will show payload not provided in the LoRaWAN server.
588 588  
589 589  Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors.
590 590  
683 +(((
684 +{{{function Decoder(bytes, port) {}}}
685 +)))
591 591  
592 -function Decoder(bytes, port) {
687 +(((
688 +{{{//Payload Formats of RS485-BL Deceive}}}
689 +)))
593 593  
594 -~/~/Payload Formats of RS485-BL Deceive
691 +(((
692 +{{{return {}}}
693 +)))
595 595  
596 -return {
695 +(((
696 +{{{ //Battery,units:V}}}
697 +)))
597 597  
598 - ~/~/Battery,units:V
699 +(((
700 +{{{ BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,}}}
701 +)))
599 599  
600 - BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,
703 +(((
704 +{{{ //GPIO_EXTI }}}
705 +)))
601 601  
602 - ~/~/GPIO_EXTI 
707 +(((
708 +{{{ EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",}}}
709 +)))
603 603  
604 - EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",
711 +(((
712 +{{{ //payload of version}}}
713 +)))
605 605  
606 - ~/~/payload of version
715 +(((
716 +{{{ Pay_ver:bytes[2],}}}
717 +)))
607 607  
608 - Pay_ver:bytes[2],
719 +(((
720 +{{{ }; }}}
721 +)))
609 609  
610 - };
723 +(((
724 +}
611 611  
612 - }
726 +
727 +)))
613 613  
614 -
615 -
616 -
617 -
618 -
619 -
729 +(((
620 620  TTN V3 uplink screen shot.
731 +)))
621 621  
622 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]]
733 +[[image:1653274001211-372.png||height="192" width="732"]]
623 623  
624 -1.
625 -11. Configure RS485-BL via AT or Downlink
626 626  
627 -User can configure RS485-BL via [[AT Commands >>path:#_​Using_the_AT]]or LoRaWAN Downlink Commands
736 +== 3.5 Configure RS485-BL via AT or Downlink ==
628 628  
738 +User can configure RS485-BL via AT Commands or LoRaWAN Downlink Commands
739 +
629 629  There are two kinds of Commands:
630 630  
631 -* **Common Commands**: They should be available for each sensor, 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
742 +* (% style="color:#4f81bd" %)**Common Commands**(%%): They should be available for each sensor, such as: change uplink interval, reset device. For firmware v1.3, user can find what common commands it supports: [[End Device AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]
632 632  
633 -* **Sensor Related Commands**: These commands are special designed for RS485-BL.  User can see these commands below:
744 +* (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL.  User can see these commands below:
634 634  
635 -1.
636 -11.
637 -111. Common Commands:
746 +=== 3.5.1 Common Commands: ===
638 638  
639 -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]]
748 +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: [[End Device AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]
640 640  
641 641  
642 -1.
643 -11.
644 -111. Sensor related commands:
751 +=== 3.5.2 Sensor related commands: ===
645 645  
646 -==== Choose Device Type (RS485 or TTL) ====
753 +==== ====
647 647  
755 +==== **Choose Device Type (RS485 or TTL)** ====
756 +
648 648  RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect.
649 649  
650 -* AT Command
759 +* **AT Command**
651 651  
761 +(% class="box infomessage" %)
762 +(((
652 652  **AT+MOD=1** ~/~/ Set to support RS485-MODBUS type sensors. User can connect multiply RS485 , Modbus sensors to the A / B pins.
764 +)))
653 653  
766 +(% class="box infomessage" %)
767 +(((
654 654  **AT+MOD=2** ~/~/ Set to support TTL Level sensors, User can connect one TTL Sensor to the TXD/RXD/GND pins.
769 +)))
655 655  
656 656  
657 -* Downlink Payload
772 +* **Downlink Payload**
658 658  
659 -**0A aa**     à same as AT+MOD=aa
774 +**0A aa**  ~-~->  same as AT+MOD=aa
660 660  
661 661  
662 662  
663 -==== [[RS485 Debug Command>>path:#downlink_A8]] (AT+CFGDEV) ====
778 +==== **RS485 Debug Command (AT+CFGDEV)** ====
664 664  
665 665  This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling.
666 666  
667 -* AT Command
782 +* **AT Command**
668 668  
669 -AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
784 +(% class="box infomessage" %)
785 +(((
786 +**AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m**
787 +)))
670 670  
671 671  m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command.
672 672  
673 673  
792 +* **Downlink Payload**
674 674  
675 -* Downlink Payload
676 -
677 677  Format: A8 MM NN XX XX XX XX YY
678 678  
679 679  Where:
... ... @@ -687,15 +687,15 @@
687 687  
688 688  To connect a Modbus Alarm with below commands.
689 689  
690 -* The command to active alarm is: 0A 05 00 04 00 01 4C B0. Where 0A 05 00 04 00 01 is the Modbus command to read the register 00 40 where stored the DI status. The 4C B0 is the CRC-16/MODBUS which calculate manually.
807 +* The command to active alarm is: 0A 05 00 04 00 01 **4C B0**. Where 0A 05 00 04 00 01 is the Modbus command to read the register 00 40 where stored the DI status. The 4C B0 is the CRC-16/MODBUS which calculate manually.
691 691  
692 -* The command to deactivate alarm is: 0A 05 00 04 00 00 8D 70. Where 0A 05 00 04 00 00 is the Modbus command to read the register 00 40 where stored the DI status. The 8D 70 is the CRC-16/MODBUS which calculate manually.
809 +* The command to deactivate alarm is: 0A 05 00 04 00 00 **8D 70**. Where 0A 05 00 04 00 00 is the Modbus command to read the register 00 40 where stored the DI status. The 8D 70 is the CRC-16/MODBUS which calculate manually.
693 693  
694 694  So if user want to use downlink command to control to RS485 Alarm, he can use:
695 695  
696 -**A8 01 06 0A 05 00 04 00 01 00**: to activate the RS485 Alarm
813 +(% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 01 00**(%%): to activate the RS485 Alarm
697 697  
698 -**A8 01 06 0A 05 00 04 00 00 00**: to deactivate the RS485 Alarm
815 +(% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 00 00**(%%): to deactivate the RS485 Alarm
699 699  
700 700  A8 is type code and 01 means add CRC-16/MODBUS at the end, the 3^^rd^^ byte is 06, means the next 6 bytes are the command to be sent to the RS485 network, the final byte 00 means this command don’t need to acquire output.
701 701  
... ... @@ -704,48 +704,60 @@
704 704  
705 705  Check TTL Sensor return:
706 706  
707 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png]]
824 +[[image:1654132684752-193.png]]
708 708  
709 709  
710 710  
828 +==== **Set Payload version** ====
711 711  
712 -==== Set Payload version ====
713 -
714 714  This is the first byte of the uplink payload. RS485-BL can connect to different sensors. User can set the PAYVER field to tell server how to decode the current payload.
715 715  
716 -* AT Command:
832 +* **AT Command:**
717 717  
718 -AT+PAYVER: Set PAYVER field = 1
834 +(% class="box infomessage" %)
835 +(((
836 +**AT+PAYVER: Set PAYVER field = 1**
837 +)))
719 719  
720 720  
721 -* Downlink Payload:
840 +* **Downlink Payload:**
722 722  
723 -0xAE 01   à Set PAYVER field =  0x01
842 +**0xAE 01**  ~-~-> Set PAYVER field =  0x01
724 724  
725 -0xAE 0F   à Set PAYVER field =  0x0F
844 +**0xAE 0F**   ~-~-> Set PAYVER field =  0x0F
726 726  
727 727  
728 -==== Set RS485 Sampling Commands ====
729 729  
848 +==== **Set RS485 Sampling Commands** ====
849 +
730 730  AT+COMMANDx, AT+DATACUTx and AT+SEARCHx
731 731  
732 -These three commands are used to configure how the RS485-BL polling data from Modbus device. Detail of usage please see : [[polling RS485 device>>path:#polling_485]].
852 +These three commands are used to configure how the RS485-BL polling data from Modbus device. Detail of usage please see : [[polling RS485 device>>||anchor="H3.3.3Configurereadcommandsforeachsampling"]].
733 733  
734 734  
735 -* AT Command:
855 +* **AT Command:**
736 736  
737 -AT+COMMANDx: Configure RS485 read command to sensor.
857 +(% class="box infomessage" %)
858 +(((
859 +**AT+COMMANDx: Configure RS485 read command to sensor.**
860 +)))
738 738  
739 -AT+DATACUTx: Configure how to handle return from RS485 devices.
862 +(% class="box infomessage" %)
863 +(((
864 +**AT+DATACUTx: Configure how to handle return from RS485 devices.**
865 +)))
740 740  
741 -AT+SEARCHx: Configure search command
867 +(% class="box infomessage" %)
868 +(((
869 +**AT+SEARCHx: Configure search command**
870 +)))
742 742  
743 743  
744 -* Downlink Payload:
873 +* **Downlink Payload:**
745 745  
746 -0xAF downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
875 +**0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
747 747  
748 -Note: if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.
877 +(% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.
749 749  
750 750  Format: AF MM NN LL XX XX XX XX YY
751 751  
... ... @@ -752,23 +752,23 @@
752 752  Where:
753 753  
754 754  * MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
755 -* NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
756 -* LL: The length of AT+COMMAND or AT+DATACUT command
884 +* NN:  0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
885 +* LL:  The length of AT+COMMAND or AT+DATACUT command
757 757  * XX XX XX XX: AT+COMMAND or AT+DATACUT command
758 -* YY: If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-BL will execute an uplink after got this command.
887 +* YY:  If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-BL will execute an uplink after got this command.
759 759  
760 -Example:
889 +**Example:**
761 761  
762 -**AF 03 01 06 0A 05 00 04 00 01 00**: Same as AT+COMMAND3=0A 05 00 04 00 01,1
891 +(% style="color:#037691" %)**AF 03 01 06 0A 05 00 04 00 01 00**(%%): Same as AT+COMMAND3=0A 05 00 04 00 01,1
763 763  
764 -**AF 03 02 06 10 01 05 06 09 0A 00**: Same as AT+DATACUT3=**16**,**1**,**5+6+9+10**
893 +(% style="color:#037691" %)**AF 03 02 06**(% style="color:orange" %)** 10 **(% style="color:red" %)**01 **(% style="color:green" %)**05 06 09 0A**(% style="color:#037691" %)** 00**(%%): Same as AT+DATACUT3=(% style="color:orange" %)**16**(%%),(% style="color:red" %)**1**(%%),(% style="color:green" %)**5+6+9+10**
765 765  
766 -**AF 03 02 06 0B 02 05 07 08 0A 00**: Same as AT+DATACUT3=**11**,**2**,**5~~7+8~~10**
895 +(% style="color:#037691" %)**AF 03 02 06 **(% style="color:orange" %)**0B**(% style="color:red" %)** 02 **(% style="color:green" %)**05 07 08 0A **(% style="color:#037691" %)**00**(%%): Same as AT+DATACUT3=(% style="color:orange" %)**11**(%%),(% style="color:red" %)**2**(%%),(% style="color:green" %)**5~~7+8~~10**
767 767  
768 768  
769 -0xAB downlink command can be used for set AT+SEARCHx
898 +**0xAB** downlink command can be used for set AT+SEARCHx
770 770  
771 -Example: **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So
900 +**Example:** **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So
772 772  
773 773  * AB aa 01 03 xx xx xx  same as AT+SEARCHaa=1,xx xx xx
774 774  * AB aa 02 03 xx xx xx 02 yy yy(03 means there are 3 bytes after 03, they are xx xx xx;02 means there are 2 bytes after 02, they are yy yy) so the commands
... ... @@ -776,145 +776,164 @@
776 776  **AB aa 02 03 xx xx xx 02 yy yy**  same as **AT+SEARCHaa=2,xx xx xx+yy yy**
777 777  
778 778  
779 -==== Fast command to handle MODBUS device ====
780 780  
909 +==== **Fast command to handle MODBUS device** ====
910 +
781 781  AT+MBFUN is valid since v1.3 firmware version. The command is for fast configure to read Modbus devices. It is only valid for the devices which follow the [[MODBUS-RTU protocol>>url:https://www.modbustools.com/modbus.html]].
782 782  
783 783  This command is valid since v1.3 firmware version
784 784  
785 785  
786 -AT+MBFUN has only two value:
916 +**AT+MBFUN has only two value:**
787 787  
788 -* AT+MBFUN=1: Enable Modbus reading. And get response base on the MODBUS return
918 +* **AT+MBFUN=1**: Enable Modbus reading. And get response base on the MODBUS return
789 789  
790 790  AT+MBFUN=1, device can auto read the Modbus function code: 01, 02, 03 or 04. AT+MBFUN has lower priority vs AT+DATACUT command. If AT+DATACUT command is configured, AT+MBFUN will be ignore.
791 791  
792 -* AT+MBFUN=0: Disable Modbus fast reading.
922 +* **AT+MBFUN=0**: Disable Modbus fast reading.
793 793  
794 -Example:
924 +**Example:**
795 795  
796 796  * AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0).
797 797  * AT+COMMAND1= 01 03 00 10 00 08,1 ~-~-> read slave address 01 , function code 03, start address 00 01, quantity of registers 00 08.
798 798  * AT+COMMAND2= 01 02 00 40 00 10,1 ~-~-> read slave address 01 , function code 02, start address 00 40, quantity of inputs 00 10.
799 799  
800 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image025.png]]
930 +[[image:1654133913295-597.png]]
801 801  
802 802  
803 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image026.png]]
933 +[[image:1654133954153-643.png]]
804 804  
805 805  
806 -* Downlink Commands:
936 +* **Downlink Commands:**
807 807  
808 -A9 aa -à Same as AT+MBFUN=aa
938 +**A9 aa** ~-~-> Same as AT+MBFUN=aa
809 809  
810 810  
811 -==== RS485 command timeout ====
812 812  
942 +==== **RS485 command timeout** ====
943 +
813 813  Some Modbus device has slow action to send replies. This command is used to configure the RS485-BL to use longer time to wait for their action.
814 814  
815 815  Default value: 0, range:  0 ~~ 5 seconds
816 816  
817 817  
818 -* AT Command:
949 +* **AT Command:**
819 819  
820 -AT+CMDDLaa=hex(bb cc)
951 +(% class="box infomessage" %)
952 +(((
953 +**AT+CMDDLaa=hex(bb cc)**
954 +)))
821 821  
822 -Example:
956 +**Example:**
823 823  
824 824  **AT+CMDDL1=1000** to send the open time to 1000ms
825 825  
826 826  
827 -* Downlink Payload:
961 +* **Downlink Payload:**
828 828  
829 829  0x AA aa bb cc
830 830  
831 831  Same as: AT+CMDDLaa=hex(bb cc)
832 832  
833 - Example:
967 + **Example:**
834 834  
835 - 0xAA 01 03 E8  à Same as **AT+CMDDL1=1000 ms**
969 + **0xAA 01 03 E8**  ~-~-> Same as **AT+CMDDL1=1000 ms**
836 836  
837 837  
838 -==== [[Uplink>>path:#downlink_A8]] payload mode ====
839 839  
973 +==== **Uplink payload mode** ====
974 +
840 840  Define to use one uplink or multiple uplinks for the sampling.
841 841  
842 -The use of this command please see: [[Compose Uplink payload>>path:#DataUP]]
977 +The use of this command please see: [[Compose Uplink payload>>||anchor="H3.3.4Composetheuplinkpayload"]]
843 843  
844 -* AT Command:
979 +* **AT Command:**
845 845  
846 -AT+DATAUP=0
981 +(% class="box infomessage" %)
982 +(((
983 +**AT+DATAUP=0**
984 +)))
847 847  
848 -AT+DATAUP=1
986 +(% class="box infomessage" %)
987 +(((
988 +**AT+DATAUP=1**
989 +)))
849 849  
850 850  
851 -* Downlink Payload:
992 +* **Downlink Payload:**
852 852  
853 -0xAD 00   à Same as AT+DATAUP=0
994 +**0xAD 00**  **~-~->** Same as AT+DATAUP=0
854 854  
855 -0xAD 01   à Same as AT+DATAUP=1
996 +**0xAD 01**  **~-~->** Same as AT+DATAUP=1
856 856  
857 857  
858 -==== Manually trigger an Uplink ====
859 859  
1000 +==== **Manually trigger an Uplink** ====
1001 +
860 860  Ask device to send an uplink immediately.
861 861  
862 -* Downlink Payload:
1004 +* **Downlink Payload:**
863 863  
864 -0x08 FF, RS485-BL will immediately send an uplink.
1006 +**0x08 FF**, RS485-BL will immediately send an uplink.
865 865  
866 866  
867 -==== Clear RS485 Command ====
868 868  
1010 +==== **Clear RS485 Command** ====
1011 +
869 869  The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them.
870 870  
871 871  
872 -* AT Command:
1015 +* **AT Command:**
873 873  
874 -**AT+CMDEAR=mm,nn**   mm: start position of erase ,nn: stop position of erase
1017 +(% style="color:#037691" %)**AT+CMDEAR=mm,nn** (%%) mm: start position of erase ,nn: stop position of erase Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10
875 875  
876 -Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10
877 -
878 878  Example screen shot after clear all RS485 commands. 
879 879  
880 880  
881 -
882 882  The uplink screen shot is:
883 883  
884 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]]
1024 +[[image:1654134704555-320.png]]
885 885  
886 886  
887 -* Downlink Payload:
1027 +* **Downlink Payload:**
888 888  
889 -0x09 aa bb same as AT+CMDEAR=aa,bb
1029 +**0x09 aa bb** same as AT+CMDEAR=aa,bb
890 890  
891 891  
892 -==== Set Serial Communication Parameters ====
893 893  
1033 +==== **Set Serial Communication Parameters** ====
1034 +
894 894  Set the Rs485 serial communication parameters:
895 895  
896 -* AT Command:
1037 +* **AT Command:**
897 897  
898 898  Set Baud Rate:
899 899  
900 -AT+BAUDR=9600    ~/~/ Options: (1200,2400,4800,14400,19200,115200)
1041 +(% class="box infomessage" %)
1042 +(((
1043 +**AT+BAUDR=9600**    ~/~/ Options: (1200,2400,4800,14400,19200,115200)
1044 +)))
901 901  
1046 +Set UART Parity
902 902  
903 -Set UART parity
1048 +(% class="box infomessage" %)
1049 +(((
1050 +**AT+PARITY=0**    ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity
1051 +)))
904 904  
905 -AT+PARITY=0    ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity
906 -
907 -
908 908  Set STOPBIT
909 909  
910 -AT+STOPBIT=0    ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits
1055 +(% class="box infomessage" %)
1056 +(((
1057 +**AT+STOPBIT=0**    ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits
1058 +)))
911 911  
912 912  
913 -* Downlink Payload:
1061 +* **Downlink Payload:**
914 914  
915 -A7 01 aa bb: Same  AT+BAUDR=hex(aa bb)*100
1063 +**A7 01 aa bb**: Same  AT+BAUDR=hex(aa bb)*100
916 916  
917 -Example:
1065 +**Example:**
918 918  
919 919  * A7 01 00 60   same as AT+BAUDR=9600
920 920  * A7 01 04 80  same as AT+BAUDR=115200
... ... @@ -924,112 +924,105 @@
924 924  A7 03 aa: Same as  AT+STOPBIT=aa  (aa value: 00 , 01 or 02)
925 925  
926 926  
927 -==== Control output power duration ====
928 928  
1076 +==== **Control output power duration** ====
1077 +
929 929  User can set the output power duration before each sampling.
930 930  
931 -* AT Command:
1080 +* **AT Command:**
932 932  
933 -Example:
1082 +**Example:**
934 934  
935 -AT+3V3T=1000 ~/~/ 3V3 output power will open 1s before each sampling.
1084 +**AT+3V3T=1000**  ~/~/ 3V3 output power will open 1s before each sampling.
936 936  
937 -AT+5VT=1000 ~/~/ +5V output power will open 1s before each sampling.
1086 +**AT+5VT=1000**  ~/~/ +5V output power will open 1s before each sampling.
938 938  
939 939  
940 -* LoRaWAN Downlink Command:
1089 +* **LoRaWAN Downlink Command:**
941 941  
942 -07 01 aa bb  Same as AT+5VT=(aa bb)
1091 +**07 01 aa bb**  Same as AT+5VT=(aa bb)
943 943  
944 -07 02 aa bb  Same as AT+3V3T=(aa bb)
1093 +**07 02 aa bb**  Same as AT+3V3T=(aa bb)
945 945  
946 946  
1096 +== 3.6 Buttons ==
947 947  
1098 +(% border="1" style="background-color:#ffffcc; color:green; width:233px" %)
1099 +|=(% style="width: 89px;" %)**Button**|=(% style="width: 141px;" %)**Feature**
1100 +|(% style="width:89px" %)**RST**|(% style="width:141px" %)Reboot RS485-BL
948 948  
949 -1.
950 -11. Buttons
1102 +== 3.7 +3V3 Output ==
951 951  
952 -|**Button**|**Feature**
953 -|**RST**|Reboot RS485-BL
954 -
955 -1.
956 -11. +3V3 Output
957 -
958 958  RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor.
959 959  
960 960  The +3V3 output will be valid for every sampling. RS485-BL will enable +3V3 output before all sampling and disable the +3V3 after all sampling. 
961 961  
962 -
963 963  The +3V3 output time can be controlled by AT Command.
964 964  
965 -**AT+3V3T=1000**
966 966  
967 -Means set +3v3 valid time to have 1000ms. So, the real +3v3 output will actually have 1000ms + sampling time for other sensors.
1111 +(% style="color:#037691" %)**AT+3V3T=1000**
968 968  
969 969  
1114 +Means set +3v3 valid time to have 1000ms. So, the real +3v3 output will actually have 1000ms + sampling time for other sensors.
1115 +
970 970  By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time
971 971  
972 972  
973 -1.
974 -11. +5V Output
1119 +== 3.8 +5V Output ==
975 975  
976 976  RS485-BL has a Controllable +5V output, user can use this output to power external sensor.
977 977  
978 978  The +5V output will be valid for every sampling. RS485-BL will enable +5V output before all sampling and disable the +5v after all sampling. 
979 979  
980 -
981 981  The 5V output time can be controlled by AT Command.
982 982  
983 -**AT+5VT=1000**
984 984  
985 -Means set 5V valid time to have 1000ms. So, the real 5V output will actually have 1000ms + sampling time for other sensors.
1128 +(% style="color:#037691" %)**AT+5VT=1000**
986 986  
987 987  
1131 +Means set 5V valid time to have 1000ms. So, the real 5V output will actually have 1000ms + sampling time for other sensors.
1132 +
988 988  By default, the AT+5VT=0. If the external sensor which require 5v and require more time to get stable state, user can use this command to increase the power ON duration for this sensor.
989 989  
990 990  
1136 +== 3.9 LEDs ==
991 991  
1138 +(% border="1" style="background-color:#ffffcc; color:green; width:332px" %)
1139 +|=**LEDs**|=(% style="width: 274px;" %)**Feature**
1140 +|**LED1**|(% style="width:274px" %)Blink when device transmit a packet.
992 992  
993 -1.
994 -11. LEDs
1142 +== 3.10 Switch Jumper ==
995 995  
996 -|**LEDs**|**Feature**
997 -|**LED1**|Blink when device transmit a packet.
998 -
999 -1.
1000 -11. Switch Jumper
1001 -
1002 -|**Switch Jumper**|**Feature**
1003 -|**SW1**|(((
1144 +(% border="1" style="background-color:#ffffcc; color:green; width:515px" %)
1145 +|=(% style="width: 124px;" %)**Switch Jumper**|=(% style="width: 388px;" %)**Feature**
1146 +|(% style="width:124px" %)**SW1**|(% style="width:388px" %)(((
1004 1004  ISP position: Upgrade firmware via UART
1005 1005  
1006 1006  Flash position: Configure device, check running status.
1007 1007  )))
1008 -|**SW2**|(((
1151 +|(% style="width:124px" %)**SW2**|(% style="width:388px" %)(((
1009 1009  5V position: set to compatible with 5v I/O.
1010 1010  
1011 1011  3.3v position: set to compatible with 3.3v I/O.,
1012 1012  )))
1013 1013  
1014 -+3.3V: is always ON
1157 +**+3.3V**: is always ON
1015 1015  
1016 -+5V: Only open before every sampling. The time is by default, it is AT+5VT=0.  Max open time. 5000 ms.
1159 +**+5V**: Only open before every sampling. The time is by default, it is AT+5VT=0.  Max open time. 5000 ms.
1017 1017  
1018 -1. Case Study
1019 1019  
1020 -User can check this URL for some case studies.
1162 += 4. Case Study =
1021 1021  
1022 -[[http:~~/~~/wiki.dragino.com/index.php?title=APP_RS485_COMMUNICATE_WITH_SENSORS>>url:http://wiki.dragino.com/index.php?title=APP_RS485_COMMUNICATE_WITH_SENSORS]]
1164 +User can check this URL for some case studies: [[APP RS485 COMMUNICATE WITH SENSORS>>doc:Main.Application Note \: Communicate with Different Sensors ----- RS485-LN RS485-BL.WebHome]]
1023 1023  
1024 1024  
1167 += 5. Use AT Command =
1025 1025  
1169 +== 5.1 Access AT Command ==
1026 1026  
1027 -1. Use AT Command
1028 -11. Access AT Command
1029 -
1030 1030  RS485-BL supports AT Command set. User can use a USB to TTL adapter plus the 3.5mm Program Cable to connect to RS485-BL to use AT command, as below.
1031 1031  
1032 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image027.png]]
1173 +[[image:1654135840598-282.png]]
1033 1033  
1034 1034  
1035 1035  In PC, User needs to set **serial tool**(such as [[putty>>url:https://www.chiark.greenend.org.uk/~~sgtatham/putty/latest.html]], SecureCRT) baud rate to **9600** to access to access serial console of RS485-BL. The default password is 123456. Below is the output for reference:
... ... @@ -1042,7 +1042,7 @@
1042 1042  
1043 1043  
1044 1044  
1045 -1.
1186 +1.
1046 1046  11. Common AT Command Sequence
1047 1047  111. Multi-channel ABP mode (Use with SX1301/LG308)
1048 1048  
... ... @@ -1061,8 +1061,8 @@
1061 1061  
1062 1062  ATZ
1063 1063  
1064 -1.
1065 -11.
1205 +1.
1206 +11.
1066 1066  111. Single-channel ABP mode (Use with LG01/LG02)
1067 1067  
1068 1068  AT+FDR   Reset Parameters to Factory Default, Keys Reserve
... ... @@ -1137,7 +1137,7 @@
1137 1137  [[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]]
1138 1138  
1139 1139  
1140 -1.
1281 +1.
1141 1141  11. How to change the LoRa Frequency Bands/Region?
1142 1142  
1143 1143  User can follow the introduction for [[how to upgrade image>>path:#upgrade_image]]. When download the images, choose the required image file for download.
... ... @@ -1144,7 +1144,7 @@
1144 1144  
1145 1145  
1146 1146  
1147 -1.
1288 +1.
1148 1148  11. How many RS485-Slave can RS485-BL connects?
1149 1149  
1150 1150  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]].
... ... @@ -1161,7 +1161,7 @@
1161 1161  
1162 1162  
1163 1163  
1164 -1.
1305 +1.
1165 1165  11. Why I can’t join TTN V3 in US915 /AU915 bands?
1166 1166  
1167 1167  It might about the channels mapping. Please see for detail.
1652954654347-831.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +138.7 KB
Content
1653271044481-711.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +27.8 KB
Content
1653271276735-972.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +26.6 KB
Content
1653271581490-837.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +138.7 KB
Content
1653271648378-342.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +131.4 KB
Content
1653271657255-576.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +142.6 KB
Content
1653271763403-806.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +27.7 KB
Content
1653272787040-634.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +294.0 KB
Content
1653272817147-600.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +143.3 KB
Content
1653272901032-107.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +197.8 KB
Content
1653273818896-432.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +31.6 KB
Content
1653274001211-372.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +91.4 KB
Content
1654132684752-193.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +22.8 KB
Content
1654133913295-597.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +116.2 KB
Content
1654133954153-643.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +91.2 KB
Content
1654134704555-320.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +91.4 KB
Content
1654135840598-282.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +1.3 MB
Content
1654136105500-922.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +203.7 KB
Content