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

From version 18.2
edited by Xiaoling
on 2022/05/23 10:01
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 ===
... ... @@ -323,8 +323,9 @@
323 323  mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
324 324  )))|(% style="width:256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
325 325  
326 -Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>path:#AT_CFGDEV]].
339 +Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]].
327 327  
341 +
328 328  === 3.3.3 Configure read commands for each sampling ===
329 329  
330 330  (((
... ... @@ -397,7 +397,7 @@
397 397  
398 398  **AT+COMMANDx : **This command will be sent to RS485/TTL devices during each sampling, Max command length is 14 bytes. The grammar is:
399 399  
400 -(% border="1" class="table-bordered" style="background-color:#ffffcc; color:green; width:501px" %)
414 +(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:501px" %)
401 401  |(% style="width:498px" %)(((
402 402  **AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m**
403 403  
... ... @@ -412,7 +412,7 @@
412 412  
413 413  **AT+SEARCHx**: This command defines how to handle the return from AT+COMMANDx.
414 414  
415 -(% border="1" class="table-bordered" style="background-color:#ffffcc; color:green; width:580px" %)
429 +(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:580px" %)
416 416  |(% style="width:577px" %)(((
417 417  **AT+SEARCHx=aa,xx xx xx xx xx**
418 418  
... ... @@ -422,7 +422,7 @@
422 422  
423 423  **Examples:**
424 424  
425 -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
426 426  
427 427  If we set AT+SEARCH1=1,1E 56 34.      (max 5 bytes for prefix)
428 428  
... ... @@ -430,19 +430,18 @@
430 430  
431 431  [[image:1653271044481-711.png]]
432 432  
447 +2)For a return string from AT+COMMAND1:  16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
433 433  
434 -1. For a return string from AT+COMMAND1:  16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
435 -
436 436  If we set AT+SEARCH1=2, 1E 56 34+31 00 49
437 437  
438 438  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**
439 439  
440 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png]]
453 +[[image:1653271276735-972.png]]
441 441  
442 -
443 443  **AT+DATACUTx : **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes.
444 444  
445 -|(((
457 +(% style="background-color:#4f81bd; color:white; width:729px" %)
458 +|(% style="width:726px" %)(((
446 446  **AT+DATACUTx=a,b,c**
447 447  
448 448  * **a: length for the return of AT+COMMAND**
... ... @@ -450,98 +450,143 @@
450 450  * **c: define the position for valid value.  **
451 451  )))
452 452  
453 -Examples:
466 +**Examples:**
454 454  
455 455  * Grab bytes:
456 456  
457 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image015.png]]
470 +[[image:1653271581490-837.png||height="313" width="722"]]
458 458  
472 +
459 459  * Grab a section.
460 460  
461 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image016.png]]
475 +[[image:1653271648378-342.png||height="326" width="720"]]
462 462  
477 +
463 463  * Grab different sections.
464 464  
465 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image017.png]]
480 +[[image:1653271657255-576.png||height="305" width="730"]]
466 466  
482 +(((
483 +(% style="color:red" %)**Note:**
484 +)))
467 467  
468 -Note:
469 -
486 +(((
470 470  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 +)))
471 471  
472 -Example:
490 +(((
491 +**Example:**
492 +)))
473 473  
474 -AT+COMMAND1=11 01 1E D0,0
494 +(((
495 +(% style="color:red" %)AT+COMMAND1=11 01 1E D0,0
496 +)))
475 475  
476 -AT+SEARCH1=1,1E 56 34
498 +(((
499 +(% style="color:red" %)AT+SEARCH1=1,1E 56 34
500 +)))
477 477  
478 -AT+DATACUT1=0,2,1~~5
502 +(((
503 +(% style="color:red" %)AT+DATACUT1=0,2,1~~5
504 +)))
479 479  
480 -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 +)))
481 481  
482 -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 +)))
483 483  
484 -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 +)))
485 485  
486 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image018.png]]
518 +[[image:1653271763403-806.png]]
487 487  
488 488  
521 +=== 3.3.4 Compose the uplink payload ===
489 489  
490 -
491 -1.
492 -11.
493 -111. Compose the uplink payload
494 -
523 +(((
495 495  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 +)))
496 496  
527 +(((
528 +(% style="color:#037691" %)**Examples: AT+DATAUP=0**
529 +)))
497 497  
498 -**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 +)))
499 499  
500 -Compose the uplink payload with value returns in sequence and send with **A SIGNLE UPLINK**.
501 -
535 +(((
502 502  Final Payload is
537 +)))
503 503  
504 -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 +)))
505 505  
543 +(((
506 506  Where PAYVER is defined by AT+PAYVER, below is an example screen shot.
545 +)))
507 507  
508 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image019.png]]
547 +[[image:1653272787040-634.png||height="515" width="719"]]
509 509  
510 510  
511 511  
512 -**Examples: AT+DATAUP=1**
551 +(((
552 +(% style="color:#037691" %)**Examples: AT+DATAUP=1**
513 513  
514 -Compose the uplink payload with value returns in sequence and send with **Multiply UPLINKs**.
554 +
555 +)))
515 515  
557 +(((
558 +Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**Multiply UPLINKs**.
559 +)))
560 +
561 +(((
516 516  Final Payload is
563 +)))
517 517  
518 -Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA
565 +(((
566 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**
567 +)))
519 519  
520 -1. Battery Info (2 bytes): Battery voltage
521 -1. PAYVER (1 byte): Defined by AT+PAYVER
522 -1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling.
523 -1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT)
524 -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 +)))
525 525  
526 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image020.png]]
585 +[[image:1653272817147-600.png||height="437" width="717"]]
527 527  
528 -
529 529  So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA
530 530  
531 -DATA1=RETURN1 Valid Value = 20 20 0a 33 90 41
532 532  
533 -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
534 534  
535 -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
536 536  
594 +DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 =(% style="background-color:#4f81bd; color:white" %) 20 20 20 2d 30
537 537  
538 538  
539 539  Below are the uplink payloads:
540 540  
541 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image021.png]]
599 +[[image:1653272901032-107.png]]
542 542  
543 543  
544 -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:
545 545  
546 546   ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
547 547  
... ... @@ -553,139 +553,186 @@
553 553  
554 554  
555 555  
556 -1.
557 -11.
558 -111. Uplink on demand
614 +=== 3.3.5 Uplink on demand ===
559 559  
616 +(((
560 560  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 +)))
561 561  
620 +(((
562 562  Downlink control command:
622 +)))
563 563  
564 -[[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 +)))
565 565  
566 -[[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.
567 567  
631 +
632 +)))
568 568  
634 +=== 3.3.6 Uplink on Interrupt ===
569 569  
570 -1.
571 -11.
572 -111. Uplink on Interrupt
636 +Put the interrupt sensor between 3.3v_out and GPIO ext.
573 573  
574 -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]]
575 575  
640 +
641 +(((
576 576  AT+INTMOD=0  Disable Interrupt
643 +)))
577 577  
645 +(((
578 578  AT+INTMOD=1  Interrupt trigger by rising or falling edge.
647 +)))
579 579  
649 +(((
580 580  AT+INTMOD=2  Interrupt trigger by falling edge. ( Default Value)
651 +)))
581 581  
653 +(((
582 582  AT+INTMOD=3  Interrupt trigger by rising edge.
583 583  
656 +
657 +)))
584 584  
585 -1.
586 -11. Uplink Payload
659 +== 3.4 Uplink Payload ==
587 587  
588 -|**Size(bytes)**|**2**|**1**|**Length depends on the return from the commands**
589 -|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 +(((
590 590  Battery(mV)
666 +)))
591 591  
668 +(((
592 592  &
670 +)))
593 593  
672 +(((
594 594  Interrupt _Flag
595 -)))|(((
674 +)))
675 +)))|(% style="width:93px" %)(((
596 596  PAYLOAD_VER
597 597  
598 598  
599 -)))|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.
600 600  
601 601  Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors.
602 602  
683 +(((
684 +{{{function Decoder(bytes, port) {}}}
685 +)))
603 603  
604 -function Decoder(bytes, port) {
687 +(((
688 +{{{//Payload Formats of RS485-BL Deceive}}}
689 +)))
605 605  
606 -~/~/Payload Formats of RS485-BL Deceive
691 +(((
692 +{{{return {}}}
693 +)))
607 607  
608 -return {
695 +(((
696 +{{{ //Battery,units:V}}}
697 +)))
609 609  
610 - ~/~/Battery,units:V
699 +(((
700 +{{{ BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,}}}
701 +)))
611 611  
612 - BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,
703 +(((
704 +{{{ //GPIO_EXTI }}}
705 +)))
613 613  
614 - ~/~/GPIO_EXTI 
707 +(((
708 +{{{ EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",}}}
709 +)))
615 615  
616 - EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",
711 +(((
712 +{{{ //payload of version}}}
713 +)))
617 617  
618 - ~/~/payload of version
715 +(((
716 +{{{ Pay_ver:bytes[2],}}}
717 +)))
619 619  
620 - Pay_ver:bytes[2],
719 +(((
720 +{{{ }; }}}
721 +)))
621 621  
622 - };
723 +(((
724 +}
623 623  
624 - }
726 +
727 +)))
625 625  
626 -
627 -
628 -
629 -
630 -
631 -
729 +(((
632 632  TTN V3 uplink screen shot.
731 +)))
633 633  
634 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]]
733 +[[image:1653274001211-372.png||height="192" width="732"]]
635 635  
636 -1.
637 -11. Configure RS485-BL via AT or Downlink
638 638  
639 -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 ==
640 640  
738 +User can configure RS485-BL via AT Commands or LoRaWAN Downlink Commands
739 +
641 641  There are two kinds of Commands:
642 642  
643 -* **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]]
644 644  
645 -* **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:
646 646  
647 -1.
648 -11.
649 -111. Common Commands:
746 +=== 3.5.1 Common Commands: ===
650 650  
651 -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]]
652 652  
653 653  
654 -1.
655 -11.
656 -111. Sensor related commands:
751 +=== 3.5.2 Sensor related commands: ===
657 657  
658 -==== Choose Device Type (RS485 or TTL) ====
753 +==== ====
659 659  
755 +==== **Choose Device Type (RS485 or TTL)** ====
756 +
660 660  RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect.
661 661  
662 -* AT Command
759 +* **AT Command**
663 663  
761 +(% class="box infomessage" %)
762 +(((
664 664  **AT+MOD=1** ~/~/ Set to support RS485-MODBUS type sensors. User can connect multiply RS485 , Modbus sensors to the A / B pins.
764 +)))
665 665  
766 +(% class="box infomessage" %)
767 +(((
666 666  **AT+MOD=2** ~/~/ Set to support TTL Level sensors, User can connect one TTL Sensor to the TXD/RXD/GND pins.
769 +)))
667 667  
668 668  
669 -* Downlink Payload
772 +* **Downlink Payload**
670 670  
671 -**0A aa**     à same as AT+MOD=aa
774 +**0A aa**  ~-~->  same as AT+MOD=aa
672 672  
673 673  
674 674  
675 -==== [[RS485 Debug Command>>path:#downlink_A8]] (AT+CFGDEV) ====
778 +==== **RS485 Debug Command (AT+CFGDEV)** ====
676 676  
677 677  This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling.
678 678  
679 -* AT Command
782 +* **AT Command**
680 680  
681 -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 +)))
682 682  
683 683  m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command.
684 684  
685 685  
792 +* **Downlink Payload**
686 686  
687 -* Downlink Payload
688 -
689 689  Format: A8 MM NN XX XX XX XX YY
690 690  
691 691  Where:
... ... @@ -699,15 +699,15 @@
699 699  
700 700  To connect a Modbus Alarm with below commands.
701 701  
702 -* 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.
703 703  
704 -* 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.
705 705  
706 706  So if user want to use downlink command to control to RS485 Alarm, he can use:
707 707  
708 -**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
709 709  
710 -**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
711 711  
712 712  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.
713 713  
... ... @@ -716,48 +716,60 @@
716 716  
717 717  Check TTL Sensor return:
718 718  
719 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png]]
824 +[[image:1654132684752-193.png]]
720 720  
721 721  
722 722  
828 +==== **Set Payload version** ====
723 723  
724 -==== Set Payload version ====
725 -
726 726  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.
727 727  
728 -* AT Command:
832 +* **AT Command:**
729 729  
730 -AT+PAYVER: Set PAYVER field = 1
834 +(% class="box infomessage" %)
835 +(((
836 +**AT+PAYVER: Set PAYVER field = 1**
837 +)))
731 731  
732 732  
733 -* Downlink Payload:
840 +* **Downlink Payload:**
734 734  
735 -0xAE 01   à Set PAYVER field =  0x01
842 +**0xAE 01**  ~-~-> Set PAYVER field =  0x01
736 736  
737 -0xAE 0F   à Set PAYVER field =  0x0F
844 +**0xAE 0F**   ~-~-> Set PAYVER field =  0x0F
738 738  
739 739  
740 -==== Set RS485 Sampling Commands ====
741 741  
848 +==== **Set RS485 Sampling Commands** ====
849 +
742 742  AT+COMMANDx, AT+DATACUTx and AT+SEARCHx
743 743  
744 -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"]].
745 745  
746 746  
747 -* AT Command:
855 +* **AT Command:**
748 748  
749 -AT+COMMANDx: Configure RS485 read command to sensor.
857 +(% class="box infomessage" %)
858 +(((
859 +**AT+COMMANDx: Configure RS485 read command to sensor.**
860 +)))
750 750  
751 -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 +)))
752 752  
753 -AT+SEARCHx: Configure search command
867 +(% class="box infomessage" %)
868 +(((
869 +**AT+SEARCHx: Configure search command**
870 +)))
754 754  
755 755  
756 -* Downlink Payload:
873 +* **Downlink Payload:**
757 757  
758 -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.
759 759  
760 -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.
761 761  
762 762  Format: AF MM NN LL XX XX XX XX YY
763 763  
... ... @@ -764,23 +764,23 @@
764 764  Where:
765 765  
766 766  * MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
767 -* NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
768 -* 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
769 769  * XX XX XX XX: AT+COMMAND or AT+DATACUT command
770 -* 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.
771 771  
772 -Example:
889 +**Example:**
773 773  
774 -**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
775 775  
776 -**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**
777 777  
778 -**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**
779 779  
780 780  
781 -0xAB downlink command can be used for set AT+SEARCHx
898 +**0xAB** downlink command can be used for set AT+SEARCHx
782 782  
783 -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
784 784  
785 785  * AB aa 01 03 xx xx xx  same as AT+SEARCHaa=1,xx xx xx
786 786  * 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
... ... @@ -788,145 +788,164 @@
788 788  **AB aa 02 03 xx xx xx 02 yy yy**  same as **AT+SEARCHaa=2,xx xx xx+yy yy**
789 789  
790 790  
791 -==== Fast command to handle MODBUS device ====
792 792  
909 +==== **Fast command to handle MODBUS device** ====
910 +
793 793  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]].
794 794  
795 795  This command is valid since v1.3 firmware version
796 796  
797 797  
798 -AT+MBFUN has only two value:
916 +**AT+MBFUN has only two value:**
799 799  
800 -* 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
801 801  
802 802  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.
803 803  
804 -* AT+MBFUN=0: Disable Modbus fast reading.
922 +* **AT+MBFUN=0**: Disable Modbus fast reading.
805 805  
806 -Example:
924 +**Example:**
807 807  
808 808  * AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0).
809 809  * 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.
810 810  * 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.
811 811  
812 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image025.png]]
930 +[[image:1654133913295-597.png]]
813 813  
814 814  
815 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image026.png]]
933 +[[image:1654133954153-643.png]]
816 816  
817 817  
818 -* Downlink Commands:
936 +* **Downlink Commands:**
819 819  
820 -A9 aa -à Same as AT+MBFUN=aa
938 +**A9 aa** ~-~-> Same as AT+MBFUN=aa
821 821  
822 822  
823 -==== RS485 command timeout ====
824 824  
942 +==== **RS485 command timeout** ====
943 +
825 825  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.
826 826  
827 827  Default value: 0, range:  0 ~~ 5 seconds
828 828  
829 829  
830 -* AT Command:
949 +* **AT Command:**
831 831  
832 -AT+CMDDLaa=hex(bb cc)
951 +(% class="box infomessage" %)
952 +(((
953 +**AT+CMDDLaa=hex(bb cc)**
954 +)))
833 833  
834 -Example:
956 +**Example:**
835 835  
836 836  **AT+CMDDL1=1000** to send the open time to 1000ms
837 837  
838 838  
839 -* Downlink Payload:
961 +* **Downlink Payload:**
840 840  
841 841  0x AA aa bb cc
842 842  
843 843  Same as: AT+CMDDLaa=hex(bb cc)
844 844  
845 - Example:
967 + **Example:**
846 846  
847 - 0xAA 01 03 E8  à Same as **AT+CMDDL1=1000 ms**
969 + **0xAA 01 03 E8**  ~-~-> Same as **AT+CMDDL1=1000 ms**
848 848  
849 849  
850 -==== [[Uplink>>path:#downlink_A8]] payload mode ====
851 851  
973 +==== **Uplink payload mode** ====
974 +
852 852  Define to use one uplink or multiple uplinks for the sampling.
853 853  
854 -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"]]
855 855  
856 -* AT Command:
979 +* **AT Command:**
857 857  
858 -AT+DATAUP=0
981 +(% class="box infomessage" %)
982 +(((
983 +**AT+DATAUP=0**
984 +)))
859 859  
860 -AT+DATAUP=1
986 +(% class="box infomessage" %)
987 +(((
988 +**AT+DATAUP=1**
989 +)))
861 861  
862 862  
863 -* Downlink Payload:
992 +* **Downlink Payload:**
864 864  
865 -0xAD 00   à Same as AT+DATAUP=0
994 +**0xAD 00**  **~-~->** Same as AT+DATAUP=0
866 866  
867 -0xAD 01   à Same as AT+DATAUP=1
996 +**0xAD 01**  **~-~->** Same as AT+DATAUP=1
868 868  
869 869  
870 -==== Manually trigger an Uplink ====
871 871  
1000 +==== **Manually trigger an Uplink** ====
1001 +
872 872  Ask device to send an uplink immediately.
873 873  
874 -* Downlink Payload:
1004 +* **Downlink Payload:**
875 875  
876 -0x08 FF, RS485-BL will immediately send an uplink.
1006 +**0x08 FF**, RS485-BL will immediately send an uplink.
877 877  
878 878  
879 -==== Clear RS485 Command ====
880 880  
1010 +==== **Clear RS485 Command** ====
1011 +
881 881  The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them.
882 882  
883 883  
884 -* AT Command:
1015 +* **AT Command:**
885 885  
886 -**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
887 887  
888 -Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10
889 -
890 890  Example screen shot after clear all RS485 commands. 
891 891  
892 892  
893 -
894 894  The uplink screen shot is:
895 895  
896 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]]
1024 +[[image:1654134704555-320.png]]
897 897  
898 898  
899 -* Downlink Payload:
1027 +* **Downlink Payload:**
900 900  
901 -0x09 aa bb same as AT+CMDEAR=aa,bb
1029 +**0x09 aa bb** same as AT+CMDEAR=aa,bb
902 902  
903 903  
904 -==== Set Serial Communication Parameters ====
905 905  
1033 +==== **Set Serial Communication Parameters** ====
1034 +
906 906  Set the Rs485 serial communication parameters:
907 907  
908 -* AT Command:
1037 +* **AT Command:**
909 909  
910 910  Set Baud Rate:
911 911  
912 -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 +)))
913 913  
1046 +Set UART Parity
914 914  
915 -Set UART parity
1048 +(% class="box infomessage" %)
1049 +(((
1050 +**AT+PARITY=0**    ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity
1051 +)))
916 916  
917 -AT+PARITY=0    ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity
918 -
919 -
920 920  Set STOPBIT
921 921  
922 -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 +)))
923 923  
924 924  
925 -* Downlink Payload:
1061 +* **Downlink Payload:**
926 926  
927 -A7 01 aa bb: Same  AT+BAUDR=hex(aa bb)*100
1063 +**A7 01 aa bb**: Same  AT+BAUDR=hex(aa bb)*100
928 928  
929 -Example:
1065 +**Example:**
930 930  
931 931  * A7 01 00 60   same as AT+BAUDR=9600
932 932  * A7 01 04 80  same as AT+BAUDR=115200
... ... @@ -936,112 +936,105 @@
936 936  A7 03 aa: Same as  AT+STOPBIT=aa  (aa value: 00 , 01 or 02)
937 937  
938 938  
939 -==== Control output power duration ====
940 940  
1076 +==== **Control output power duration** ====
1077 +
941 941  User can set the output power duration before each sampling.
942 942  
943 -* AT Command:
1080 +* **AT Command:**
944 944  
945 -Example:
1082 +**Example:**
946 946  
947 -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.
948 948  
949 -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.
950 950  
951 951  
952 -* LoRaWAN Downlink Command:
1089 +* **LoRaWAN Downlink Command:**
953 953  
954 -07 01 aa bb  Same as AT+5VT=(aa bb)
1091 +**07 01 aa bb**  Same as AT+5VT=(aa bb)
955 955  
956 -07 02 aa bb  Same as AT+3V3T=(aa bb)
1093 +**07 02 aa bb**  Same as AT+3V3T=(aa bb)
957 957  
958 958  
1096 +== 3.6 Buttons ==
959 959  
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
960 960  
961 -1.
962 -11. Buttons
1102 +== 3.7 +3V3 Output ==
963 963  
964 -|**Button**|**Feature**
965 -|**RST**|Reboot RS485-BL
966 -
967 -1.
968 -11. +3V3 Output
969 -
970 970  RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor.
971 971  
972 972  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. 
973 973  
974 -
975 975  The +3V3 output time can be controlled by AT Command.
976 976  
977 -**AT+3V3T=1000**
978 978  
979 -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**
980 980  
981 981  
1114 +Means set +3v3 valid time to have 1000ms. So, the real +3v3 output will actually have 1000ms + sampling time for other sensors.
1115 +
982 982  By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time
983 983  
984 984  
985 -1.
986 -11. +5V Output
1119 +== 3.8 +5V Output ==
987 987  
988 988  RS485-BL has a Controllable +5V output, user can use this output to power external sensor.
989 989  
990 990  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. 
991 991  
992 -
993 993  The 5V output time can be controlled by AT Command.
994 994  
995 -**AT+5VT=1000**
996 996  
997 -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**
998 998  
999 999  
1131 +Means set 5V valid time to have 1000ms. So, the real 5V output will actually have 1000ms + sampling time for other sensors.
1132 +
1000 1000  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.
1001 1001  
1002 1002  
1136 +== 3.9 LEDs ==
1003 1003  
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.
1004 1004  
1005 -1.
1006 -11. LEDs
1142 +== 3.10 Switch Jumper ==
1007 1007  
1008 -|**LEDs**|**Feature**
1009 -|**LED1**|Blink when device transmit a packet.
1010 -
1011 -1.
1012 -11. Switch Jumper
1013 -
1014 -|**Switch Jumper**|**Feature**
1015 -|**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" %)(((
1016 1016  ISP position: Upgrade firmware via UART
1017 1017  
1018 1018  Flash position: Configure device, check running status.
1019 1019  )))
1020 -|**SW2**|(((
1151 +|(% style="width:124px" %)**SW2**|(% style="width:388px" %)(((
1021 1021  5V position: set to compatible with 5v I/O.
1022 1022  
1023 1023  3.3v position: set to compatible with 3.3v I/O.,
1024 1024  )))
1025 1025  
1026 -+3.3V: is always ON
1157 +**+3.3V**: is always ON
1027 1027  
1028 -+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.
1029 1029  
1030 -1. Case Study
1031 1031  
1032 -User can check this URL for some case studies.
1162 += 4. Case Study =
1033 1033  
1034 -[[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]]
1035 1035  
1036 1036  
1167 += 5. Use AT Command =
1037 1037  
1169 +== 5.1 Access AT Command ==
1038 1038  
1039 -1. Use AT Command
1040 -11. Access AT Command
1041 -
1042 1042  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.
1043 1043  
1044 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image027.png]]
1173 +[[image:1654135840598-282.png]]
1045 1045  
1046 1046  
1047 1047  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:
... ... @@ -1054,7 +1054,7 @@
1054 1054  
1055 1055  
1056 1056  
1057 -1.
1186 +1.
1058 1058  11. Common AT Command Sequence
1059 1059  111. Multi-channel ABP mode (Use with SX1301/LG308)
1060 1060  
... ... @@ -1073,8 +1073,8 @@
1073 1073  
1074 1074  ATZ
1075 1075  
1076 -1.
1077 -11.
1205 +1.
1206 +11.
1078 1078  111. Single-channel ABP mode (Use with LG01/LG02)
1079 1079  
1080 1080  AT+FDR   Reset Parameters to Factory Default, Keys Reserve
... ... @@ -1149,7 +1149,7 @@
1149 1149  [[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]]
1150 1150  
1151 1151  
1152 -1.
1281 +1.
1153 1153  11. How to change the LoRa Frequency Bands/Region?
1154 1154  
1155 1155  User can follow the introduction for [[how to upgrade image>>path:#upgrade_image]]. When download the images, choose the required image file for download.
... ... @@ -1156,7 +1156,7 @@
1156 1156  
1157 1157  
1158 1158  
1159 -1.
1288 +1.
1160 1160  11. How many RS485-Slave can RS485-BL connects?
1161 1161  
1162 1162  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]].
... ... @@ -1173,7 +1173,7 @@
1173 1173  
1174 1174  
1175 1175  
1176 -1.
1305 +1.
1177 1177  11. Why I can’t join TTN V3 in US915 /AU915 bands?
1178 1178  
1179 1179  It might about the channels mapping. Please see for detail.
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