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

From version 40.39
edited by Xiaoling
on 2022/06/06 10:04
Change comment: There is no comment for this version
To version 41.2
edited by Xiaoling
on 2022/06/06 10:54
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -94,7 +94,6 @@
94 94  * 127 dB Dynamic Range RSSI.
95 95  * Automatic RF Sense and CAD with ultra-fast AFC. ​​​
96 96  
97 -
98 98  == 1.3 Features ==
99 99  
100 100  * LoRaWAN Class A & Class C protocol (default Class A)
... ... @@ -106,7 +106,6 @@
106 106  * Support Modbus protocol
107 107  * Support Interrupt uplink
108 108  
109 -
110 110  == 1.4 Applications ==
111 111  
112 112  * Smart Buildings & Home Automation
... ... @@ -116,7 +116,6 @@
116 116  * Smart Cities
117 117  * Smart Factory
118 118  
119 -
120 120  == 1.5 Firmware Change log ==
121 121  
122 122  [[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);"]]
... ... @@ -285,29 +285,29 @@
285 285  RS485-BL default UART settings is **9600, no parity, stop bit 1**. If the sensor has a different settings, user can change the RS485-BL setting to match.
286 286  )))
287 287  
288 -(% border="1" style="background-color:#ffffcc; color:green; width:510px" %)
289 -|=(% style="width: 121px;" %)(((
285 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
286 +|=(% style="width: 120px;" %)(((
290 290  (((
291 291  **AT Commands**
292 292  )))
293 -)))|=(% style="width: 110px;" %)(((
290 +)))|=(% style="width: 190px;" %)(((
294 294  (((
295 295  **Description**
296 296  )))
297 -)))|=(% style="width: 200px;" %)(((
294 +)))|=(% style="width: 190px;" %)(((
298 298  (((
299 299  **Example**
300 300  )))
301 301  )))
302 -|(% style="width:20px" %)(((
299 +|(% style="width:120px" %)(((
303 303  (((
304 304  AT+BAUDR
305 305  )))
306 -)))|(% style="width:303px" %)(((
303 +)))|(% style="width:190px" %)(((
307 307  (((
308 308  Set the baud rate (for RS485 connection). Default Value is: 9600.
309 309  )))
310 -)))|(% style="width:340px" %)(((
307 +)))|(% style="width:190px" %)(((
311 311  (((
312 312  (((
313 313  AT+BAUDR=9600
... ... @@ -320,11 +320,11 @@
320 320  )))
321 321  )))
322 322  )))
323 -|(% style="width:121px" %)(((
320 +|(% style="width:120px" %)(((
324 324  (((
325 325  AT+PARITY
326 326  )))
327 -)))|(% style="width:303px" %)(((
324 +)))|(% style="width:190px" %)(((
328 328  (((
329 329  (((
330 330  Set UART parity (for RS485 connection)
... ... @@ -336,7 +336,7 @@
336 336  Default Value is: no parity.
337 337  )))
338 338  )))
339 -)))|(% style="width:340px" %)(((
336 +)))|(% style="width:190px" %)(((
340 340  (((
341 341  (((
342 342  AT+PARITY=0
... ... @@ -349,11 +349,11 @@
349 349  )))
350 350  )))
351 351  )))
352 -|(% style="width:121px" %)(((
349 +|(% style="width:120px" %)(((
353 353  (((
354 354  AT+STOPBIT
355 355  )))
356 -)))|(% style="width:303px" %)(((
353 +)))|(% style="width:190px" %)(((
357 357  (((
358 358  (((
359 359  Set serial stopbit (for RS485 connection)
... ... @@ -365,7 +365,7 @@
365 365  Default Value is: 1bit.
366 366  )))
367 367  )))
368 -)))|(% style="width:340px" %)(((
365 +)))|(% style="width:190px" %)(((
369 369  (((
370 370  (((
371 371  AT+STOPBIT=0 for 1bit
... ... @@ -397,19 +397,20 @@
397 397  When user issue an (% style="color:#4f81bd" %)**AT+CFGDEV**(%%) command, Each (% style="color:#4f81bd" %)**AT+CFGDEV**(%%) equals to send a command to the RS485 or TTL sensors. This command will only run when user input it and won’t run during each sampling.
398 398  )))
399 399  
400 -(% border="1" style="background-color:#ffffcc; color:green; width:806px" %)
401 -|**AT Commands**|(% style="width:418px" %)**Description**|(% style="width:256px" %)**Example**
402 -|AT+CFGDEV|(% style="width:418px" %)(((
397 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
398 +|=(% style="width: 120px;" %)**AT Commands**|=(% style="width: 190px;" %)**Description**|=(% style="width: 190px;" %)**Example**
399 +|AT+CFGDEV|(% style="width:120px" %)(((
403 403  This command is used to configure the RS485/TTL devices; they won’t be used during sampling.
404 404  
405 405  AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,
406 406  
407 407  mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
408 -)))|(% style="width:256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
405 +)))|(% style="width:190px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
409 409  
410 410  Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]].
411 411  
412 412  
410 +
413 413  === 3.3.3 Configure read commands for each sampling ===
414 414  
415 415  (((
... ... @@ -476,117 +476,209 @@
476 476  After we got the valid value from each RS485 commands, we need to combine them together with the command **AT+DATAUP**.
477 477  )))
478 478  
477 +(((
479 479  **Examples:**
479 +)))
480 480  
481 +(((
481 481  Below are examples for the how above AT Commands works.
483 +)))
482 482  
485 +(((
483 483  **AT+COMMANDx : **This command will be sent to RS485/TTL devices during each sampling, Max command length is 14 bytes. The grammar is:
487 +)))
484 484  
485 -(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:501px" %)
489 +(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:500px" %)
486 486  |(% style="width:498px" %)(((
491 +(((
487 487  **AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m**
493 +)))
488 488  
495 +(((
489 489  **xx xx xx xx xx xx xx xx xx xx xx xx: The RS485 command to be sent**
497 +)))
490 490  
499 +(((
491 491  **m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command**
492 492  )))
502 +)))
493 493  
504 +(((
494 494  For example, if we have a RS485 sensor. The command to get sensor value is: 01 03 0B B8 00 02 46 0A. Where 01 03 0B B8 00 02 is the Modbus command to read the register 0B B8 where stored the sensor value. The 46 0A is the CRC-16/MODBUS which calculate manually.
506 +)))
495 495  
508 +(((
496 496  In the RS485-BL, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same.
510 +)))
497 497  
512 +(((
498 498  **AT+SEARCHx**: This command defines how to handle the return from AT+COMMANDx.
514 +)))
499 499  
500 -(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:580px" %)
516 +(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:500px" %)
501 501  |(% style="width:577px" %)(((
518 +(((
502 502  **AT+SEARCHx=aa,xx xx xx xx xx**
520 +)))
503 503  
504 -* **aa: 1: prefix match mode; 2: prefix and suffix match mode**
505 -* **xx xx xx xx xx: match string. Max 5 bytes for prefix and 5 bytes for suffix**
522 +* (((
523 +**aa: 1: prefix match mode; 2: prefix and suffix match mode**
506 506  )))
525 +* (((
526 +**xx xx xx xx xx: match string. Max 5 bytes for prefix and 5 bytes for suffix**
527 +)))
528 +)))
507 507  
530 +(((
508 508  **Examples:**
532 +)))
509 509  
534 +(((
510 510  1)For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
536 +)))
511 511  
538 +(((
512 512  If we set AT+SEARCH1=1,1E 56 34.      (max 5 bytes for prefix)
540 +)))
513 513  
542 +(((
514 514  The valid data will be all bytes after 1E 56 34 , so it is (% style="background-color:yellow" %)**2e 30 58 5f 36 41 30 31 00 49**
544 +)))
515 515  
546 +(((
516 516  [[image:1653271044481-711.png]]
548 +)))
517 517  
550 +(((
518 518  2)For a return string from AT+COMMAND1:  16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
552 +)))
519 519  
554 +(((
520 520  If we set AT+SEARCH1=2, 1E 56 34+31 00 49
556 +)))
521 521  
558 +(((
522 522  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**
560 +)))
523 523  
562 +(((
524 524  [[image:1653271276735-972.png]]
564 +)))
525 525  
566 +(((
526 526  **AT+DATACUTx : **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes.
568 +)))
527 527  
528 -(% style="background-color:#4f81bd; color:white; width:729px" %)
570 +(% style="background-color:#4f81bd; color:white; width:510px" %)
529 529  |(% style="width:726px" %)(((
572 +(((
530 530  **AT+DATACUTx=a,b,c**
574 +)))
531 531  
532 -* **a: length for the return of AT+COMMAND**
533 -* **b:1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.**
534 -* **c: define the position for valid value.  **
576 +* (((
577 +**a: length for the return of AT+COMMAND**
535 535  )))
579 +* (((
580 +**b:1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.**
581 +)))
582 +* (((
583 +**c: define the position for valid value.  **
584 +)))
585 +)))
536 536  
587 +(((
537 537  **Examples:**
589 +)))
538 538  
539 -* Grab bytes:
591 +* (((
592 +Grab bytes:
593 +)))
540 540  
595 +(((
541 541  [[image:1653271581490-837.png||height="313" width="722"]]
597 +)))
542 542  
599 +(((
600 +
601 +)))
543 543  
544 -* Grab a section.
603 +* (((
604 +Grab a section.
605 +)))
545 545  
607 +(((
546 546  [[image:1653271648378-342.png||height="326" width="720"]]
609 +)))
547 547  
611 +(((
612 +
613 +)))
548 548  
549 -* Grab different sections.
615 +* (((
616 +Grab different sections.
617 +)))
550 550  
619 +(((
551 551  [[image:1653271657255-576.png||height="305" width="730"]]
621 +)))
552 552  
553 553  (((
624 +(((
554 554  (% style="color:red" %)**Note:**
555 555  )))
627 +)))
556 556  
557 557  (((
630 +(((
558 558  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.
559 559  )))
633 +)))
560 560  
561 561  (((
636 +(((
562 562  **Example:**
563 563  )))
639 +)))
564 564  
565 565  (((
642 +(((
566 566  (% style="color:red" %)AT+COMMAND1=11 01 1E D0,0
567 567  )))
645 +)))
568 568  
569 569  (((
648 +(((
570 570  (% style="color:red" %)AT+SEARCH1=1,1E 56 34
571 571  )))
651 +)))
572 572  
573 573  (((
654 +(((
574 574  (% style="color:red" %)AT+DATACUT1=0,2,1~~5
575 575  )))
657 +)))
576 576  
577 577  (((
660 +(((
578 578  (% style="color:red" %)Return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
579 579  )))
663 +)))
580 580  
581 581  (((
666 +(((
582 582  (% style="color:red" %)String after SEARCH command: 2e 30 58 5f 36 41 30 31 00 49
583 583  )))
669 +)))
584 584  
585 585  (((
672 +(((
586 586  (% style="color:red" %)Valid payload after DataCUT command: 2e 30 58 5f 36
587 587  )))
675 +)))
588 588  
677 +(((
589 589  [[image:1653271763403-806.png]]
679 +)))
590 590  
591 591  
592 592  === 3.3.4 Compose the uplink payload ===
... ... @@ -593,10 +593,14 @@
593 593  
594 594  (((
595 595  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.**
686 +
687 +
596 596  )))
597 597  
598 598  (((
599 599  (% style="color:#037691" %)**Examples: AT+DATAUP=0**
692 +
693 +
600 600  )))
601 601  
602 602  (((
... ... @@ -729,26 +729,8 @@
729 729  
730 730  == 3.4 Uplink Payload ==
731 731  
732 -(% border="1" style="background-color:#4f81bd; color:white; width:850px" %)
733 -|**Size(bytes)**|(% style="width:130px" %)**2**|(% style="width:93px" %)**1**|(% style="width:509px" %)**Length depends on the return from the commands**
734 -|Value|(% style="width:130px" %)(((
735 -(((
736 -Battery(mV)
737 -)))
826 +[[image:image-20220606105412-1.png]]
738 738  
739 -(((
740 -&
741 -)))
742 -
743 -(((
744 -Interrupt _Flag
745 -)))
746 -)))|(% style="width:93px" %)(((
747 -PAYLOAD_VER
748 -
749 -
750 -)))|(% 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.
751 -
752 752  Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors.
753 753  
754 754  (((
... ... @@ -814,7 +814,6 @@
814 814  
815 815  * (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL.  User can see these commands below:
816 816  
817 -
818 818  === 3.5.1 Common Commands: ===
819 819  
820 820  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]]
... ... @@ -1174,7 +1174,6 @@
1174 1174  |=(% style="width: 89px;" %)**Button**|=(% style="width: 141px;" %)**Feature**
1175 1175  |(% style="width:89px" %)**RST**|(% style="width:141px" %)Reboot RS485-BL
1176 1176  
1177 -
1178 1178  == 3.7 +3V3 Output ==
1179 1179  
1180 1180  RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor.
... ... @@ -1215,7 +1215,6 @@
1215 1215  |=**LEDs**|=(% style="width: 274px;" %)**Feature**
1216 1216  |**LED1**|(% style="width:274px" %)Blink when device transmit a packet.
1217 1217  
1218 -
1219 1219  == 3.10 Switch Jumper ==
1220 1220  
1221 1221  (% border="1" style="background-color:#ffffcc; color:green; width:515px" %)
... ... @@ -1403,8 +1403,6 @@
1403 1403  * (% style="color:blue" %)**RU864**(%%): frequency bands RU864
1404 1404  * (% style="color:blue" %)**KZ865**(%%): frequency bands KZ865
1405 1405  
1406 -
1407 -
1408 1408  = 9. Packing Info =
1409 1409  
1410 1410  (((
image-20220606105412-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +13.9 KB
Content