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

From version 29.11
edited by Xiaoling
on 2022/06/01 18:01
Change comment: There is no comment for this version
To version 29.39
edited by Xiaoling
on 2022/06/02 09:02
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -25,19 +25,19 @@
25 25  )))
26 26  
27 27  (((
28 -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.
29 29  )))
30 30  
31 31  (((
32 -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.
33 33  )))
34 34  
35 35  (((
36 -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.
37 37  )))
38 38  
39 39  (((
40 -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.
41 41  )))
42 42  
43 43  (((
... ... @@ -54,8 +54,11 @@
54 54  
55 55  [[image:1652953304999-717.png||height="424" width="733"]]
56 56  
57 +
58 +
57 57  == 1.2 Specifications ==
58 58  
61 +
59 59  **Hardware System:**
60 60  
61 61  * STM32L072CZT6 MCU
... ... @@ -62,8 +62,6 @@
62 62  * SX1276/78 Wireless Chip 
63 63  * Power Consumption (exclude RS485 device):
64 64  ** Idle: 6uA@3.3v
65 -
66 -*
67 67  ** 20dB Transmit: 130mA@3.3v
68 68  
69 69  **Interface for Model:**
... ... @@ -113,8 +113,6 @@
113 113  * Smart Cities
114 114  * Smart Factory
115 115  
116 -
117 -
118 118  == 1.5 Firmware Change log ==
119 119  
120 120  [[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);"]]
... ... @@ -123,6 +123,8 @@
123 123  == 1.6 Hardware Change log ==
124 124  
125 125  (((
125 +
126 +
126 126  v1.4
127 127  )))
128 128  
... ... @@ -205,8 +205,6 @@
205 205  )))
206 206  
207 207  
208 -
209 -
210 210  [[image:image-20220519174512-1.png]]
211 211  
212 212  [[image:image-20220519174512-2.png||height="328" width="731"]]
... ... @@ -230,6 +230,7 @@
230 230  
231 231  [[image:1652953568895-172.png||height="232" width="724"]]
232 232  
232 +
233 233  == 3.3 Configure Commands to read data ==
234 234  
235 235  (((
... ... @@ -316,6 +316,7 @@
316 316  )))
317 317  )))
318 318  
319 +
319 319  === 3.3.2 Configure sensors ===
320 320  
321 321  (((
... ... @@ -336,8 +336,9 @@
336 336  mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
337 337  )))|(% style="width:256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
338 338  
339 -Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>path:#AT_CFGDEV]].
340 +Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]].
340 340  
342 +
341 341  === 3.3.3 Configure read commands for each sampling ===
342 342  
343 343  (((
... ... @@ -435,7 +435,7 @@
435 435  
436 436  **Examples:**
437 437  
438 -1. For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
440 +1For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
439 439  
440 440  If we set AT+SEARCH1=1,1E 56 34.      (max 5 bytes for prefix)
441 441  
... ... @@ -443,7 +443,7 @@
443 443  
444 444  [[image:1653271044481-711.png]]
445 445  
446 -1. For a return string from AT+COMMAND1:  16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
448 +2)For a return string from AT+COMMAND1:  16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
447 447  
448 448  If we set AT+SEARCH1=2, 1E 56 34+31 00 49
449 449  
... ... @@ -462,16 +462,18 @@
462 462  * **c: define the position for valid value.  **
463 463  )))
464 464  
465 -Examples:
467 +**Examples:**
466 466  
467 467  * Grab bytes:
468 468  
469 469  [[image:1653271581490-837.png||height="313" width="722"]]
470 470  
473 +
471 471  * Grab a section.
472 472  
473 473  [[image:1653271648378-342.png||height="326" width="720"]]
474 474  
478 +
475 475  * Grab different sections.
476 476  
477 477  [[image:1653271657255-576.png||height="305" width="730"]]
... ... @@ -514,6 +514,7 @@
514 514  
515 515  [[image:1653271763403-806.png]]
516 516  
521 +
517 517  === 3.3.4 Compose the uplink payload ===
518 518  
519 519  (((
... ... @@ -521,7 +521,7 @@
521 521  )))
522 522  
523 523  (((
524 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=0**
529 +(% style="color:#037691" %)**Examples: AT+DATAUP=0**
525 525  )))
526 526  
527 527  (((
... ... @@ -533,7 +533,7 @@
533 533  )))
534 534  
535 535  (((
536 -(% style="color:#4f81bd" %)Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx
541 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx**
537 537  )))
538 538  
539 539  (((
... ... @@ -542,8 +542,12 @@
542 542  
543 543  [[image:1653272787040-634.png||height="515" width="719"]]
544 544  
550 +
551 +
545 545  (((
546 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1**
553 +(% style="color:#037691" %)**Examples: AT+DATAUP=1**
554 +
555 +
547 547  )))
548 548  
549 549  (((
... ... @@ -555,7 +555,7 @@
555 555  )))
556 556  
557 557  (((
558 -(% style="color:#4f81bd" %)Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA
567 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**
559 559  )))
560 560  
561 561  1. (((
... ... @@ -578,6 +578,7 @@
578 578  
579 579  So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA
580 580  
590 +
581 581  DATA1=RETURN1 Valid Value = (% style="background-color:#4f81bd; color:white" %) 20 20 0a 33 90 41
582 582  
583 583  DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= (% style="background-color:#4f81bd; color:white" %)02 aa 05 81 0a 20
... ... @@ -584,10 +584,12 @@
584 584  
585 585  DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 =(% style="background-color:#4f81bd; color:white" %) 20 20 20 2d 30
586 586  
597 +
587 587  Below are the uplink payloads:
588 588  
589 589  [[image:1653272901032-107.png]]
590 590  
602 +
591 591  (% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:
592 592  
593 593   ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
... ... @@ -598,6 +598,8 @@
598 598  
599 599   ~* For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
600 600  
613 +
614 +
601 601  === 3.3.5 Uplink on demand ===
602 602  
603 603  (((
... ... @@ -614,6 +614,8 @@
614 614  
615 615  (((
616 616  **0xA8 command**: Send a command to RS485-BL and uplink the output from sensors.
631 +
632 +
617 617  )))
618 618  
619 619  === 3.3.6 Uplink on Interrupt ===
... ... @@ -622,6 +622,7 @@
622 622  
623 623  [[image:1653273818896-432.png]]
624 624  
641 +
625 625  (((
626 626  AT+INTMOD=0  Disable Interrupt
627 627  )))
... ... @@ -636,6 +636,8 @@
636 636  
637 637  (((
638 638  AT+INTMOD=3  Interrupt trigger by rising edge.
656 +
657 +
639 639  )))
640 640  
641 641  == 3.4 Uplink Payload ==
... ... @@ -663,47 +663,49 @@
663 663  Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors.
664 664  
665 665  (((
666 -function Decoder(bytes, port) {
685 +{{{function Decoder(bytes, port) {}}}
667 667  )))
668 668  
669 669  (((
670 -~/~/Payload Formats of RS485-BL Deceive
689 +{{{//Payload Formats of RS485-BL Deceive}}}
671 671  )))
672 672  
673 673  (((
674 -return {
693 +{{{return {}}}
675 675  )))
676 676  
677 677  (((
678 - ~/~/Battery,units:V
697 +{{{ //Battery,units:V}}}
679 679  )))
680 680  
681 681  (((
682 - BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,
701 +{{{ BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,}}}
683 683  )))
684 684  
685 685  (((
686 - ~/~/GPIO_EXTI 
705 +{{{ //GPIO_EXTI }}}
687 687  )))
688 688  
689 689  (((
690 - EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",
709 +{{{ EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",}}}
691 691  )))
692 692  
693 693  (((
694 - ~/~/payload of version
713 +{{{ //payload of version}}}
695 695  )))
696 696  
697 697  (((
698 - Pay_ver:bytes[2],
717 +{{{ Pay_ver:bytes[2],}}}
699 699  )))
700 700  
701 701  (((
702 - };
721 +{{{ }; }}}
703 703  )))
704 704  
705 705  (((
706 - }
725 +{{{ }}}}
726 +
727 +
707 707  )))
708 708  
709 709  (((
... ... @@ -712,6 +712,7 @@
712 712  
713 713  [[image:1653274001211-372.png||height="192" width="732"]]
714 714  
736 +
715 715  == 3.5 Configure RS485-BL via AT or Downlink ==
716 716  
717 717  User can configure RS485-BL via [[AT Commands >>path:#_​Using_the_AT]]or LoRaWAN Downlink Commands