Changes for page RS485-LN – RS485 to LoRaWAN Converter User Manual
Last modified by Karry Zhuang on 2025/03/06 16:34
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 6 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -76,8 +76,6 @@ 76 76 * Automatic RF Sense and CAD with ultra-fast AFC. 77 77 * Packet engine up to 256 bytes with CRC. 78 78 79 - 80 - 81 81 == 1.3 Features == 82 82 83 83 * LoRaWAN Class A & Class C protocol (default Class C) ... ... @@ -89,8 +89,6 @@ 89 89 * Support Modbus protocol 90 90 * Support Interrupt uplink (Since hardware version v1.2) 91 91 92 - 93 - 94 94 == 1.4 Applications == 95 95 96 96 * Smart Buildings & Home Automation ... ... @@ -100,8 +100,6 @@ 100 100 * Smart Cities 101 101 * Smart Factory 102 102 103 - 104 - 105 105 == 1.5 Firmware Change log == 106 106 107 107 [[RS485-LN Image files – Download link and Change log>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/]] ... ... @@ -289,8 +289,6 @@ 289 289 ))) 290 290 ))) 291 291 292 - 293 - 294 294 === 3.3.2 Configure sensors === 295 295 296 296 ((( ... ... @@ -309,8 +309,6 @@ 309 309 mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 310 310 )))|(% style="width:256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 311 311 312 - 313 - 314 314 === 3.3.3 Configure read commands for each sampling === 315 315 316 316 ((( ... ... @@ -329,11 +329,9 @@ 329 329 330 330 2. How to get wanted value the from RS485 sensors returns from by 1). There are total 15 AT Commands to handle the return, commands are **AT+DATACUT1**,**AT+DATACUT2**,…, **AT+DATACUTF** corresponding to the commands from 1). All commands are of same grammar. 331 331 332 -3. Some RS485 device might has longer delay on reply, so user can use AT+CMDDL to set the timeout for getting reply after the RS485 command is sent. For example 322 +3. Some RS485 device might has longer delay on reply, so user can use AT+CMDDL to set the timeout for getting reply after the RS485 command is sent. For example **AT+CMDDL1=1000** to send the open time to 1000ms 333 333 334 -**AT+CMDDL1=1000** to send the open time to 1000ms 335 335 336 - 337 337 After we got the valid value from each RS485 commands, we need to combine them together with the command **AT+DATAUP**. 338 338 339 339 ... ... @@ -364,10 +364,9 @@ 364 364 365 365 * **a: length for the return of AT+COMMAND** 366 366 * **b:1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.** 367 -* **c: define the position for valid value. 355 +* **c: define the position for valid value. ** 368 368 ))) 369 369 370 - 371 371 **Examples:** 372 372 373 373 * Grab bytes: ... ... @@ -391,10 +391,14 @@ 391 391 392 392 ((( 393 393 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.** 381 + 382 + 394 394 ))) 395 395 396 396 ((( 397 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=0** 386 +(% style="color:#037691" %)**Examples: AT+DATAUP=0** 387 + 388 + 398 398 ))) 399 399 400 400 ((( ... ... @@ -415,8 +415,10 @@ 415 415 416 416 [[image:1653269759169-150.png||height="513" width="716"]] 417 417 418 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1** 419 419 410 +(% style="color:#037691" %)**Examples: AT+DATAUP=1** 411 + 412 + 420 420 Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**Multiply UPLINKs**. 421 421 422 422 Final Payload is ... ... @@ -423,169 +423,122 @@ 423 423 424 424 (% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 425 425 426 -1. Battery Info (2 bytes): Battery voltage 427 -1. PAYVER (1 byte): Defined by AT+PAYVER 428 -1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling. 429 -1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 430 -1. 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 419 +1. PAYVER: Defined by AT+PAYVER 420 +1. PAYLOAD COUNT: Total how many uplinks of this sampling. 421 +1. PAYLOAD#: Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 422 +1. DATA: Valid value: max 8 bytes for each uplink so each uplink <= 11 bytes. For the last uplink, DATA will might less than 8 bytes 431 431 432 -[[image: 1653269916228-732.png||height="433" width="711"]]424 +[[image:image-20220602155039-4.png]] 433 433 434 434 435 -So totally there will be 3 uplinks for this sampling, each uplink include s6bytes DATA427 +So totally there will be 3 uplinks for this sampling, each uplink include 8 bytes DATA 436 436 437 -DATA1=RETURN1 Valid Value =(% style="background-color:green;color:white"%)20 20 0a 33 90 41429 +DATA1=RETURN1 Valid Value + the first two of Valid value of RETURN10= **20 20 0a 33 90 41 02 aa** 438 438 439 -DATA2= 1^^st^^ ~~6^^th^^ byte of Valid value of RETURN10=(%style="background-color:green;color:white"%)02aa05810a20431 +DATA2=3^^rd^^ ~~ 10^^th^^ byte of Valid value of RETURN10= **05 81 0a 20 20 20 20 2d** 440 440 441 -DATA3= 7^^th^^~~ 11^^th^^ bytes of Valid value of RETURN10(%style="background-color:green; color:white" %)20 20 20 2d30433 +DATA3=the rest of Valid value of RETURN10= **30** 442 442 443 -Below are the uplink payloads: 444 444 445 - [[image:1653270130359-810.png]]436 +(% style="color:red" %)Notice: In firmware v1.3, the Max bytes has been changed according to the max bytes in different Frequency Bands for lowest SF. As below: 446 446 438 + ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink. 447 447 448 - (%style="color:red"%)**Notice:theMaxbytes is accordingto the maxsupportbytesin differentFrequencyBands forlowest SF.As below:**440 + * For AU915/AS923 bands, if UplinkDwell time=0, max 11 bytes for each uplink. 449 449 450 - ~*AU915/AS923bands,if UplinkDwell time=0, max51 bytes( so 51 -5 = 46 max valid date)442 + * For US915 band, max 11 bytes for each uplink. 451 451 452 - * AU915/AS923bands,if UplinkDwell time=1, max 11bytes for each uplink( so 11 -5 = 6 max valid date).444 + ~* For all other bands: max 51 bytes for each uplink. 453 453 454 - * For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date). 455 455 456 - ~* Forallotherbands: max 51 bytes for eachuplink( so 51 -5 = 46 max valid date).447 +Below are the uplink payloads: 457 457 449 +[[image:1654157178836-407.png]] 450 + 451 + 458 458 === 3.3.5 Uplink on demand === 459 459 460 -Except uplink periodically, RS485- BL is able to uplink on demand. The server sendsdownlink command to RS485-BL and RS485 will uplink data base on the command.454 +Except uplink periodically, RS485-LN is able to uplink on demand. The server send downlink command to RS485-LN and RS485 will uplink data base on the command. 461 461 462 462 Downlink control command: 463 463 464 - [[0x08 command>>path:#downlink_08]]:Poll an uplink with current command set in RS485-BL.458 +**0x08 command**: Poll an uplink with current command set in RS485-LN. 465 465 466 - [[0xA8 command>>path:#downlink_A8]]:Send a command to RS485-BL and uplink the output from sensors.460 +**0xA8 command**: Send a command to RS485-LN and uplink the output from sensors. 467 467 468 468 469 469 470 -1. 471 -11. 472 -111. Uplink on Interrupt 464 +=== 3.3.6 Uplink on Interrupt === 473 473 474 - Put theinterruptsensorbetween3.3v_outand GPIOext.[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image022.png]]466 +RS485-LN support external Interrupt uplink since hardware v1.2 release. 475 475 476 - AT+INTMOD=0 DisableInterrupt468 +[[image:1654157342174-798.png]] 477 477 478 - AT+INTMOD=1Interrupt triggerbyrising orfallingedge.470 +Connect the Interrupt pin to RS485-LN INT port and connect the GND pin to V- port. When there is a high voltage (Max 24v) on INT pin. Device will send an uplink packet. 479 479 480 -AT+INTMOD=2 Interrupt trigger by falling edge. ( Default Value) 481 481 482 - AT+INTMOD=3Interrupt trigger by risingedge.473 +== 3.4 Uplink Payload == 483 483 484 - 485 -1. 486 -11. Uplink Payload 487 - 488 -|**Size(bytes)**|**2**|**1**|**Length depends on the return from the commands** 489 -|Value|((( 475 +(% border="1" style="background-color:#4bacc6; color:white; width:734px" %) 476 +|**Size(bytes)**|(% style="width:120px" %)**2**|(% style="width:116px" %)**1**|(% style="width:386px" %)**Length depends on the return from the commands** 477 +|Value|(% style="width:120px" %)((( 490 490 Battery(mV) 491 491 492 492 & 493 493 494 494 Interrupt _Flag 495 -)))|((( 483 +)))|(% style="width:116px" %)((( 496 496 PAYLOAD_VER 497 497 498 498 499 -)))|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. 487 +)))|(% style="width:386px" %)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. 500 500 501 501 Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. 502 502 503 503 504 -fu nctionDecoder(bytes,port){492 +== 3.5 Configure RS485-BL via AT or Downlink == 505 505 506 - ~/~/Payload Formatsof RS485-BL Deceive494 +User can configure RS485-LN via AT Commands or LoRaWAN Downlink Commands 507 507 508 -return { 509 - 510 - ~/~/Battery,units:V 511 - 512 - BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000, 513 - 514 - ~/~/GPIO_EXTI 515 - 516 - EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE", 517 - 518 - ~/~/payload of version 519 - 520 - Pay_ver:bytes[2], 521 - 522 - }; 523 - 524 - } 525 - 526 - 527 - 528 - 529 - 530 - 531 - 532 -TTN V3 uplink screen shot. 533 - 534 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]] 535 - 536 -1. 537 -11. Configure RS485-BL via AT or Downlink 538 - 539 -User can configure RS485-BL via [[AT Commands >>path:#_Using_the_AT]]or LoRaWAN Downlink Commands 540 - 541 541 There are two kinds of Commands: 542 542 543 -* **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_Commands498 +* (% 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]] 544 544 545 -* **Sensor Related Commands**: These commands are special designed for RS485- BL. User can see these commands below:500 +* (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-LN. User can see these commands below: 546 546 547 -1. 548 -11. 549 -111. Common Commands: 502 +=== 3.5.1 Common Commands === 550 550 551 -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]]504 +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]] 552 552 553 553 554 -1. 555 -11. 556 -111. Sensor related commands: 507 +=== 3.5.2 Sensor related commands === 557 557 558 - ==== ChooseDeviceType(RS485orTTL)====509 +Response feature is added to the server's downlink, a special package with a FPort of 200 will be uploaded immediately after receiving the data sent by the server. 559 559 560 - RS485-BL can connect to either RS485sensors or TTL sensor.Userneed to specify whattype of sensor needo connect.511 +[[image:image-20220602163333-5.png||height="263" width="1160"]] 561 561 562 - *ATCommand513 +The first byte of this package represents whether the configuration is successful, 00 represents failure, 01 represents success. Except for the first byte, the other is the previous downlink. (All commands except A8 type commands are applicable) 563 563 564 -**AT+MOD=1** ~/~/ Set to support RS485-MODBUS type sensors. User can connect multiply RS485 , Modbus sensors to the A / B pins. 565 565 566 - **AT+MOD=2**~/~/Set to support TTL Level sensors,Usercan connectoneTTL Sensor to the TXD/RXD/GND pins.516 +=== 3.5.3 Sensor related commands === 567 567 518 +==== ==== 568 568 569 -* D ownlinkPayload520 +==== **RS485 Debug Command** ==== 570 570 571 - **0Aaa**àsameasAT+MOD=aa522 +This command is used to configure the RS485 devices; they won’t be used during sampling. 572 572 524 +* **AT Command** 573 573 526 +(% class="box infomessage" %) 527 +((( 528 +**AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m** 529 +))) 574 574 575 - ====[[RS485DebugCommand>>path:#downlink_A8]](AT+CFGDEV) ====531 +m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 576 576 577 - Thiscommand is used to configure the RS485 or TTL sensors; theywon’t be used duringsampling.533 +* **Downlink Payload** 578 578 579 -* AT Command 580 - 581 -AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 582 - 583 -m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command. 584 - 585 - 586 - 587 -* Downlink Payload 588 - 589 589 Format: A8 MM NN XX XX XX XX YY 590 590 591 591 Where: ... ... @@ -593,9 +593,12 @@ 593 593 * MM: 1: add CRC-16/MODBUS ; 0: no CRC 594 594 * NN: The length of RS485 command 595 595 * XX XX XX XX: RS485 command total NN bytes 596 -* YY: How many bytes will be uplink from the return of this RS485 command, if YY=0, RS485-BL will execute the downlink command without uplink; if YY>0, RS485-BL will uplink total YY bytes from the output of this RS485 command 542 +* YY: How many bytes will be uplink from the return of this RS485 command, 543 +** if YY=0, RS485-LN will execute the downlink command without uplink; 544 +** if YY>0, RS485-LN will uplink total YY bytes from the output of this RS485 command; Fport=200 545 +** if YY=FF, RS485-LN will uplink RS485 output with the downlink command content; Fport=200. 597 597 598 -**Example 1 :**547 +**Example 1** ~-~-> Configure without ask for uplink (YY=0) 599 599 600 600 To connect a Modbus Alarm with below commands. 601 601 ... ... @@ -605,59 +605,76 @@ 605 605 606 606 So if user want to use downlink command to control to RS485 Alarm, he can use: 607 607 608 -**A8 01 06 0A 05 00 04 00 01 00**: to activate the RS485 Alarm 557 +(% style="color:#4f81bd" %)**A8 01 06 0A 05 00 04 00 01 00**(%%): to activate the RS485 Alarm 609 609 610 -**A8 01 06 0A 05 00 04 00 00 00**: to deactivate the RS485 Alarm 559 +(% style="color:#4f81bd" %)**A8 01 06 0A 05 00 04 00 00 00**(%%): to deactivate the RS485 Alarm 611 611 612 612 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. 613 613 614 614 615 -**Example 2 :**564 +**Example 2** ~-~-> Configure with requesting uplink and original downlink command (**YY=FF**) 616 616 617 - CheckTTLSensorurn:566 +User in IoT server send a downlink command: (% style="color:#4f81bd" %)**A8 01 06 0A 08 00 04 00 01 YY** 618 618 619 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png]] 620 620 569 +RS485-LN got this downlink command and send (% style="color:#4f81bd" %)**0A 08 00 04 00 01 **(%%)to Modbus network. One of the RS485 sensor in the network send back Modbus reply **0A 08 00 04 00 00**. RS485-LN get this reply and combine with the original downlink command and uplink. The uplink message is: 621 621 571 + **A8** (% style="color:#4f81bd" %)**0A 08 00 04 00 **(% style="color:red" %)**01 06** ** **(% style="color:green" %)**0A 08 00 04 00 00** 622 622 573 + [[image:1654159460680-153.png]] 623 623 624 -==== Set Payload version ==== 625 625 576 + 577 +==== **Set Payload version** ==== 578 + 626 626 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. 627 627 628 -* AT Command: 581 +* **AT Command:** 629 629 630 -AT+PAYVER: Set PAYVER field = 1 583 +(% class="box infomessage" %) 584 +((( 585 +**AT+PAYVER: Set PAYVER field = 1** 586 +))) 631 631 632 632 633 -* Downlink Payload: 589 +* **Downlink Payload:** 634 634 635 -0xAE 01 àSet PAYVER field = 0x01591 +**0xAE 01** ~-~-> Set PAYVER field = 0x01 636 636 637 -0xAE 0F àSet PAYVER field = 0x0F593 +**0xAE 0F** ~-~-> Set PAYVER field = 0x0F 638 638 639 639 640 -==== Set RS485 Sampling Commands ==== 641 641 597 +==== **Set RS485 Sampling Commands** ==== 598 + 642 642 AT+COMMANDx, AT+DATACUTx and AT+SEARCHx 643 643 644 -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]].601 +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"]]. 645 645 646 646 647 -* AT Command: 604 +* **AT Command:** 648 648 649 -AT+COMMANDx: Configure RS485 read command to sensor. 606 +(% class="box infomessage" %) 607 +((( 608 +**AT+COMMANDx: Configure RS485 read command to sensor.** 609 +))) 650 650 651 -AT+DATACUTx: Configure how to handle return from RS485 devices. 611 +(% class="box infomessage" %) 612 +((( 613 +**AT+DATACUTx: Configure how to handle return from RS485 devices.** 614 +))) 652 652 653 -AT+SEARCHx: Configure search command 616 +(% class="box infomessage" %) 617 +((( 618 +**AT+SEARCHx: Configure search command** 619 +))) 654 654 655 655 656 -* Downlink Payload: 622 +* **Downlink Payload:** 657 657 658 -0xAF downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 624 +**0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 659 659 660 -Note: if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink. 626 +(% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink. 661 661 662 662 Format: AF MM NN LL XX XX XX XX YY 663 663 ... ... @@ -664,23 +664,23 @@ 664 664 Where: 665 665 666 666 * MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 667 -* NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value. 668 -* LL: The length of AT+COMMAND or AT+DATACUT command 633 +* NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value. 634 +* LL: The length of AT+COMMAND or AT+DATACUT command 669 669 * XX XX XX XX: AT+COMMAND or AT+DATACUT command 670 -* 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. 636 +* 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. 671 671 672 -Example: 638 +**Example:** 673 673 674 -**AF 03 01 06 0A 05 00 04 00 01 00**: Same as AT+COMMAND3=0A 05 00 04 00 01,1 640 +(% 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 675 675 676 -**AF 03 02 06 10 01 05 06 09 0A 00**: Same as AT+DATACUT3=**16**,**1**,**5+6+9+10** 642 +(% 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** 677 677 678 -**AF 03 02 06 0B 02 05 07 08 0A 00**: Same as AT+DATACUT3=**11**,**2**,**5~~7+8~~10** 644 +(% 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** 679 679 680 680 681 -0xAB downlink command can be used for set AT+SEARCHx 647 +**0xAB** downlink command can be used for set AT+SEARCHx 682 682 683 -Example: **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So 649 +**Example:** **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So 684 684 685 685 * AB aa 01 03 xx xx xx same as AT+SEARCHaa=1,xx xx xx 686 686 * 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 ... ... @@ -688,145 +688,164 @@ 688 688 **AB aa 02 03 xx xx xx 02 yy yy** same as **AT+SEARCHaa=2,xx xx xx+yy yy** 689 689 690 690 691 -==== Fast command to handle MODBUS device ==== 692 692 658 +==== **Fast command to handle MODBUS device** ==== 659 + 693 693 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]]. 694 694 695 695 This command is valid since v1.3 firmware version 696 696 697 697 698 -AT+MBFUN has only two value: 665 +**AT+MBFUN has only two value:** 699 699 700 -* AT+MBFUN=1: Enable Modbus reading. And get response base on the MODBUS return 667 +* **AT+MBFUN=1**: Enable Modbus reading. And get response base on the MODBUS return 701 701 702 702 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. 703 703 704 -* AT+MBFUN=0: Disable Modbus fast reading. 671 +* **AT+MBFUN=0**: Disable Modbus fast reading. 705 705 706 -Example: 673 +**Example:** 707 707 708 708 * AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0). 709 709 * 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. 710 710 * 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. 711 711 712 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image025.png]]679 +[[image:1654133913295-597.png]] 713 713 714 714 715 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image026.png]]682 +[[image:1654133954153-643.png]] 716 716 717 717 718 -* Downlink Commands: 685 +* **Downlink Commands:** 719 719 720 -A9 aa - àSame as AT+MBFUN=aa687 +**A9 aa** ~-~-> Same as AT+MBFUN=aa 721 721 722 722 723 -==== RS485 command timeout ==== 724 724 691 +==== **RS485 command timeout** ==== 692 + 725 725 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. 726 726 727 727 Default value: 0, range: 0 ~~ 5 seconds 728 728 729 729 730 -* AT Command: 698 +* **AT Command:** 731 731 732 -AT+CMDDLaa=hex(bb cc) 700 +(% class="box infomessage" %) 701 +((( 702 +**AT+CMDDLaa=hex(bb cc)** 703 +))) 733 733 734 -Example: 705 +**Example:** 735 735 736 736 **AT+CMDDL1=1000** to send the open time to 1000ms 737 737 738 738 739 -* Downlink Payload: 710 +* **Downlink Payload:** 740 740 741 741 0x AA aa bb cc 742 742 743 743 Same as: AT+CMDDLaa=hex(bb cc) 744 744 745 - Example: 716 + **Example:** 746 746 747 - 0xAA 01 03 E8 àSame as **AT+CMDDL1=1000 ms**718 + **0xAA 01 03 E8** ~-~-> Same as **AT+CMDDL1=1000 ms** 748 748 749 749 750 -==== [[Uplink>>path:#downlink_A8]] payload mode ==== 751 751 722 +==== **Uplink payload mode** ==== 723 + 752 752 Define to use one uplink or multiple uplinks for the sampling. 753 753 754 -The use of this command please see: [[Compose Uplink payload>> path:#DataUP]]726 +The use of this command please see: [[Compose Uplink payload>>||anchor="H3.3.4Composetheuplinkpayload"]] 755 755 756 -* AT Command: 728 +* **AT Command:** 757 757 758 -AT+DATAUP=0 730 +(% class="box infomessage" %) 731 +((( 732 +**AT+DATAUP=0** 733 +))) 759 759 760 -AT+DATAUP=1 735 +(% class="box infomessage" %) 736 +((( 737 +**AT+DATAUP=1** 738 +))) 761 761 762 762 763 -* Downlink Payload: 741 +* **Downlink Payload:** 764 764 765 -0xAD 00 àSame as AT+DATAUP=0743 +**0xAD 00** **~-~->** Same as AT+DATAUP=0 766 766 767 -0xAD 01 àSame as AT+DATAUP=1745 +**0xAD 01** **~-~->** Same as AT+DATAUP=1 768 768 769 769 770 -==== Manually trigger an Uplink ==== 771 771 749 +==== **Manually trigger an Uplink** ==== 750 + 772 772 Ask device to send an uplink immediately. 773 773 774 -* Downlink Payload: 753 +* **Downlink Payload:** 775 775 776 -0x08 FF, RS485-BL will immediately send an uplink. 755 +**0x08 FF**, RS485-BL will immediately send an uplink. 777 777 778 778 779 -==== Clear RS485 Command ==== 780 780 759 +==== **Clear RS485 Command** ==== 760 + 781 781 The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them. 782 782 783 783 784 -* AT Command: 764 +* **AT Command:** 785 785 786 -**AT+CMDEAR=mm,nn** 766 +(% 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 787 787 788 -Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 789 - 790 790 Example screen shot after clear all RS485 commands. 791 791 792 792 793 - 794 794 The uplink screen shot is: 795 795 796 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]]773 +[[image:1654134704555-320.png]] 797 797 798 798 799 -* Downlink Payload: 776 +* **Downlink Payload:** 800 800 801 -0x09 aa bb same as AT+CMDEAR=aa,bb 778 +**0x09 aa bb** same as AT+CMDEAR=aa,bb 802 802 803 803 804 -==== Set Serial Communication Parameters ==== 805 805 782 +==== **Set Serial Communication Parameters** ==== 783 + 806 806 Set the Rs485 serial communication parameters: 807 807 808 -* AT Command: 786 +* **AT Command:** 809 809 810 810 Set Baud Rate: 811 811 812 -AT+BAUDR=9600 ~/~/ Options: (1200,2400,4800,14400,19200,115200) 790 +(% class="box infomessage" %) 791 +((( 792 +**AT+BAUDR=9600** ~/~/ Options: (1200,2400,4800,14400,19200,115200) 793 +))) 813 813 795 +Set UART Parity 814 814 815 -Set UART parity 797 +(% class="box infomessage" %) 798 +((( 799 +**AT+PARITY=0** ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity 800 +))) 816 816 817 -AT+PARITY=0 ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity 818 - 819 - 820 820 Set STOPBIT 821 821 822 -AT+STOPBIT=0 ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits 804 +(% class="box infomessage" %) 805 +((( 806 +**AT+STOPBIT=0** ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits 807 +))) 823 823 824 824 825 -* Downlink Payload: 810 +* **Downlink Payload:** 826 826 827 -A7 01 aa bb: Same AT+BAUDR=hex(aa bb)*100 812 +**A7 01 aa bb**: Same AT+BAUDR=hex(aa bb)*100 828 828 829 -Example: 814 +**Example:** 830 830 831 831 * A7 01 00 60 same as AT+BAUDR=9600 832 832 * A7 01 04 80 same as AT+BAUDR=115200 ... ... @@ -836,287 +836,22 @@ 836 836 A7 03 aa: Same as AT+STOPBIT=aa (aa value: 00 , 01 or 02) 837 837 838 838 839 -==== Control output power duration ==== 840 840 825 +==== **Control output power duration** ==== 826 + 841 841 User can set the output power duration before each sampling. 842 842 843 -* AT Command: 829 +* **AT Command:** 844 844 845 -Example: 831 +**Example:** 846 846 847 -AT+3V3T=1000 ~/~/ 3V3 output power will open 1s before each sampling. 833 +**AT+3V3T=1000** ~/~/ 3V3 output power will open 1s before each sampling. 848 848 849 -AT+5VT=1000 ~/~/ +5V output power will open 1s before each sampling. 835 +**AT+5VT=1000** ~/~/ +5V output power will open 1s before each sampling. 850 850 851 851 852 -* LoRaWAN Downlink Command: 838 +* **LoRaWAN Downlink Command:** 853 853 854 -07 01 aa bb Same as AT+5VT=(aa bb) 840 +**07 01 aa bb** Same as AT+5VT=(aa bb) 855 855 856 -07 02 aa bb Same as AT+3V3T=(aa bb) 857 - 858 - 859 - 860 - 861 -1. 862 -11. Buttons 863 - 864 -|**Button**|**Feature** 865 -|**RST**|Reboot RS485-BL 866 - 867 -1. 868 -11. +3V3 Output 869 - 870 -RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor. 871 - 872 -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. 873 - 874 - 875 -The +3V3 output time can be controlled by AT Command. 876 - 877 -**AT+3V3T=1000** 878 - 879 -Means set +3v3 valid time to have 1000ms. So, the real +3v3 output will actually have 1000ms + sampling time for other sensors. 880 - 881 - 882 -By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time 883 - 884 - 885 -1. 886 -11. +5V Output 887 - 888 -RS485-BL has a Controllable +5V output, user can use this output to power external sensor. 889 - 890 -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. 891 - 892 - 893 -The 5V output time can be controlled by AT Command. 894 - 895 -**AT+5VT=1000** 896 - 897 -Means set 5V valid time to have 1000ms. So, the real 5V output will actually have 1000ms + sampling time for other sensors. 898 - 899 - 900 -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. 901 - 902 - 903 - 904 - 905 -1. 906 -11. LEDs 907 - 908 -|**LEDs**|**Feature** 909 -|**LED1**|Blink when device transmit a packet. 910 - 911 -1. 912 -11. Switch Jumper 913 - 914 -|**Switch Jumper**|**Feature** 915 -|**SW1**|((( 916 -ISP position: Upgrade firmware via UART 917 - 918 -Flash position: Configure device, check running status. 919 -))) 920 -|**SW2**|((( 921 -5V position: set to compatible with 5v I/O. 922 - 923 -3.3v position: set to compatible with 3.3v I/O., 924 -))) 925 - 926 -+3.3V: is always ON 927 - 928 -+5V: Only open before every sampling. The time is by default, it is AT+5VT=0. Max open time. 5000 ms. 929 - 930 -1. Case Study 931 - 932 -User can check this URL for some case studies. 933 - 934 -[[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]] 935 - 936 - 937 - 938 - 939 -1. Use AT Command 940 -11. Access AT Command 941 - 942 -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. 943 - 944 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image027.png]] 945 - 946 - 947 -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: 948 - 949 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image028.png]] 950 - 951 - 952 - 953 -More detail AT Command manual can be found at [[AT Command Manual>>path:#AT_COMMAND]] 954 - 955 - 956 - 957 -1. 958 -11. Common AT Command Sequence 959 -111. Multi-channel ABP mode (Use with SX1301/LG308) 960 - 961 -If device has not joined network yet: 962 - 963 -AT+FDR 964 - 965 -AT+NJM=0 966 - 967 -ATZ 968 - 969 - 970 -If device already joined network: 971 - 972 -AT+NJM=0 973 - 974 -ATZ 975 - 976 -1. 977 -11. 978 -111. Single-channel ABP mode (Use with LG01/LG02) 979 - 980 -AT+FDR Reset Parameters to Factory Default, Keys Reserve 981 - 982 -AT+NJM=0 Set to ABP mode 983 - 984 -AT+ADR=0 Set the Adaptive Data Rate Off 985 - 986 -AT+DR=5 Set Data Rate 987 - 988 -AT+TDC=60000 Set transmit interval to 60 seconds 989 - 990 -AT+CHS=868400000 Set transmit frequency to 868.4Mhz 991 - 992 -AT+RX2FQ=868400000 Set RX2Frequency to 868.4Mhz (according to the result from server) 993 - 994 -AT+RX2DR=5 Set RX2DR to match the downlink DR from server. see below 995 - 996 -AT+DADDR=26 01 1A F1 Set Device Address to 26 01 1A F1, this ID can be found in the LoRa Server portal. 997 - 998 -ATZ Reset MCU 999 - 1000 -**Note:** 1001 - 1002 -1. Make sure the device is set to ABP mode in the IoT Server. 1003 -1. Make sure the LG01/02 gateway RX frequency is exactly the same as AT+CHS setting. 1004 -1. Make sure SF / bandwidth setting in LG01/LG02 match the settings of AT+DR. refer [[this link>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/&file=LoRaWAN%201.0.3%20Regional%20Parameters.xlsx]] to see what DR means. 1005 -1. The command AT+RX2FQ and AT+RX2DR is to let downlink work. to set the correct parameters, user can check the actually downlink parameters to be used. As below. Which shows the RX2FQ should use 868400000 and RX2DR should be 5 1006 - 1007 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image029.png]] 1008 - 1009 - 1010 -1. FAQ 1011 -11. How to upgrade the image? 1012 - 1013 -The RS485-BL LoRaWAN Controller is shipped with a 3.5mm cable, the cable is used to upload image to RS485-BL to: 1014 - 1015 -* Support new features 1016 -* For bug fix 1017 -* Change LoRaWAN bands. 1018 - 1019 -Below shows the hardware connection for how to upload an image to RS485-BL: 1020 - 1021 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image030.png]] 1022 - 1023 -**Step1:** Download [[flash loader>>url:https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/flasher-stm32.html]]. 1024 - 1025 -**Step2**: Download the [[LT Image files>>url:http://www.dragino.com/downloads/index.php?dir=LT_LoRa_IO_Controller/LT33222-L/image/]]. 1026 - 1027 -**Step3: **Open flashloader; choose the correct COM port to update. 1028 - 1029 - 1030 -|((( 1031 -HOLD PRO then press the RST button, SYS will be ON, then click next 1032 -))) 1033 - 1034 -|((( 1035 -Board detected 1036 -))) 1037 - 1038 -|((( 1039 - 1040 -))) 1041 - 1042 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image031.png]] [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image032.png]] 1043 - 1044 - 1045 - 1046 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image033.png]] [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image034.png]] 1047 - 1048 - 1049 -[[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]] 1050 - 1051 - 1052 -1. 1053 -11. How to change the LoRa Frequency Bands/Region? 1054 - 1055 -User can follow the introduction for [[how to upgrade image>>path:#upgrade_image]]. When download the images, choose the required image file for download. 1056 - 1057 - 1058 - 1059 -1. 1060 -11. How many RS485-Slave can RS485-BL connects? 1061 - 1062 -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]]. 1063 - 1064 - 1065 - 1066 - 1067 -1. Trouble Shooting 1068 -11. Downlink doesn’t work, how to solve it? 1069 - 1070 -Please see this link for debug: 1071 - 1072 -[[http:~~/~~/wiki.dragino.com/index.php?title=Main_Page#LoRaWAN_Communication_Debug>>url:http://wiki.dragino.com/index.php?title=Main_Page#LoRaWAN_Communication_Debug]] 1073 - 1074 - 1075 - 1076 -1. 1077 -11. Why I can’t join TTN V3 in US915 /AU915 bands? 1078 - 1079 -It might about the channels mapping. Please see for detail. 1080 - 1081 -[[http:~~/~~/wiki.dragino.com/index.php?title=LoRaWAN_Communication_Debug#Notice_of_US915.2FCN470.2FAU915_Frequency_band>>url:http://wiki.dragino.com/index.php?title=LoRaWAN_Communication_Debug#Notice_of_US915.2FCN470.2FAU915_Frequency_band]] 1082 - 1083 - 1084 - 1085 -1. Order Info 1086 - 1087 -**Part Number: RS485-BL-XXX** 1088 - 1089 -**XXX:** 1090 - 1091 -* **EU433**: frequency bands EU433 1092 -* **EU868**: frequency bands EU868 1093 -* **KR920**: frequency bands KR920 1094 -* **CN470**: frequency bands CN470 1095 -* **AS923**: frequency bands AS923 1096 -* **AU915**: frequency bands AU915 1097 -* **US915**: frequency bands US915 1098 -* **IN865**: frequency bands IN865 1099 -* **RU864**: frequency bands RU864 1100 -* **KZ865: **frequency bands KZ865 1101 - 1102 -1. Packing Info 1103 - 1104 -**Package Includes**: 1105 - 1106 -* RS485-BL x 1 1107 -* Stick Antenna for LoRa RF part x 1 1108 -* Program cable x 1 1109 - 1110 -**Dimension and weight**: 1111 - 1112 -* Device Size: 13.5 x 7 x 3 cm 1113 -* Device Weight: 105g 1114 -* Package Size / pcs : 14.5 x 8 x 5 cm 1115 -* Weight / pcs : 170g 1116 - 1117 -1. Support 1118 - 1119 -* Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule. 1120 -* Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to 1121 - 1122 -[[support@dragino.com>>url:file:///D:/市场资料/说明书/LoRa/LT系列/support@dragino.com]] 842 +**07 02 aa bb** Same as AT+3V3T=(aa bb)
- 1654157178836-407.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +179.9 KB - Content
- 1654157342174-798.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +31.9 KB - Content
- 1654158783574-851.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +40.6 KB - Content
- 1654159460680-153.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +24.9 KB - Content
- image-20220602155039-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +24.6 KB - Content
- image-20220602163333-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +48.2 KB - Content