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

From version 26.1
edited by Xiaoling
on 2022/05/23 10:26
Change comment: Uploaded new attachment "1653272817147-600.png", version {1}
To version 35.2
edited by Xiaoling
on 2022/06/02 10:15
Change comment: There is no comment for this version

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