Changes for page RS485-LN – RS485 to LoRaWAN Converter User Manual
Last modified by Xiaoling on 2025/04/23 15:56
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 14 added, 0 removed)
- 1654157178836-407.png
- 1654157342174-798.png
- 1654158783574-851.png
- 1654159460680-153.png
- 1654160691922-496.png
- image-20220602153621-1.png
- image-20220602153621-2.png
- image-20220602153621-3.png
- image-20220602155039-4.png
- image-20220602163333-5.png
- image-20220602165351-6.png
- image-20220602165351-7.png
- image-20220602171200-8.png
- image-20220602171200-9.png
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/]] ... ... @@ -142,6 +142,8 @@ 142 142 143 143 ((( 144 144 The RS485-LN is configured as LoRaWAN OTAA Class C 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-LN. It will auto join the network via OTAA. 139 + 140 + 145 145 ))) 146 146 147 147 == 3.2 Example to join LoRaWAN network == ... ... @@ -150,10 +150,15 @@ 150 150 151 151 [[image:1653268155545-638.png||height="334" width="724"]] 152 152 149 + 153 153 ((( 151 +((( 154 154 The RS485-LN in this example connected to two RS485 devices for demonstration, user can connect to other RS485 devices via the same method. The connection is as below: 153 +))) 155 155 155 +((( 156 156 485A+ and 485B- of the sensor are connected to RS485A and RA485B of RS485-LN respectively. 157 +))) 157 157 158 158 [[image:1653268227651-549.png||height="592" width="720"]] 159 159 ... ... @@ -205,6 +205,7 @@ 205 205 206 206 [[image:1652953568895-172.png||height="232" width="724"]] 207 207 209 + 208 208 == 3.3 Configure Commands to read data == 209 209 210 210 ((( ... ... @@ -214,6 +214,8 @@ 214 214 215 215 ((( 216 216 (% style="color:red" %)Note: below description and commands are for firmware version >v1.1, if you have firmware version v1.0. Please check the [[user manual v1.0>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/&file=RS485-LN_UserManual_v1.0.1.pdf]] or upgrade the firmware to v1.1 219 + 220 + 217 217 ))) 218 218 ))) 219 219 ... ... @@ -221,19 +221,19 @@ 221 221 222 222 To use RS485-LN to read data from RS485 sensors, connect the RS485-LN A/B traces to the sensors. And user need to make sure RS485-LN use the match UART setting to access the sensors. The related commands for UART settings are: 223 223 224 -(% border="1" style="background-color:#ffffcc; color:green; width:7 95px" %)225 -|((( 228 +(% border="1" style="background-color:#ffffcc; color:green; width:782px" %) 229 +|(% style="width:128px" %)((( 226 226 **AT Commands** 227 -)))|(% style="width: 285px" %)(((231 +)))|(% style="width:305px" %)((( 228 228 **Description** 229 -)))|(% style="width:34 7px" %)(((233 +)))|(% style="width:346px" %)((( 230 230 **Example** 231 231 ))) 232 -|((( 236 +|(% style="width:128px" %)((( 233 233 AT+BAUDR 234 -)))|(% style="width: 285px" %)(((238 +)))|(% style="width:305px" %)((( 235 235 Set the baud rate (for RS485 connection). Default Value is: 9600. 236 -)))|(% style="width:34 7px" %)(((240 +)))|(% style="width:346px" %)((( 237 237 ((( 238 238 AT+BAUDR=9600 239 239 ))) ... ... @@ -242,11 +242,11 @@ 242 242 Options: (1200,2400,4800,14400,19200,115200) 243 243 ))) 244 244 ))) 245 -|((( 249 +|(% style="width:128px" %)((( 246 246 AT+PARITY 247 -)))|(% style="width: 285px" %)(((251 +)))|(% style="width:305px" %)((( 248 248 Set UART parity (for RS485 connection) 249 -)))|(% style="width:34 7px" %)(((253 +)))|(% style="width:346px" %)((( 250 250 ((( 251 251 AT+PARITY=0 252 252 ))) ... ... @@ -255,9 +255,9 @@ 255 255 Option: 0: no parity, 1: odd parity, 2: even parity 256 256 ))) 257 257 ))) 258 -|((( 262 +|(% style="width:128px" %)((( 259 259 AT+STOPBIT 260 -)))|(% style="width: 285px" %)(((264 +)))|(% style="width:305px" %)((( 261 261 ((( 262 262 Set serial stopbit (for RS485 connection) 263 263 ))) ... ... @@ -265,7 +265,7 @@ 265 265 ((( 266 266 267 267 ))) 268 -)))|(% style="width:34 7px" %)(((272 +)))|(% style="width:346px" %)((( 269 269 ((( 270 270 AT+STOPBIT=0 for 1bit 271 271 ))) ... ... @@ -300,77 +300,34 @@ 300 300 === 3.3.3 Configure read commands for each sampling === 301 301 302 302 ((( 303 -RS485-BL is a battery powered device; it will sleep most of time. And wake up on each period and read RS485 / TTL sensor data and uplink. 304 -))) 307 +During each sampling, we need confirm what commands we need to send to the RS485 sensors to read data. After the RS485 sensors send back the value, it normally include some bytes and we only need a few from them for a shorten payload. 305 305 306 -((( 307 -During each sampling, we need to confirm what commands we need to send to the sensors to read data. After the RS485/TTL sensors send back the value, it normally includes some bytes and we only need a few from them for a shorten payload. 308 -))) 309 - 310 -((( 311 311 To save the LoRaWAN network bandwidth, we might need to read data from different sensors and combine their valid value into a short payload. 312 -))) 313 313 314 -((( 315 315 This section describes how to achieve above goals. 316 -))) 317 317 318 -((( 319 -During each sampling, the RS485-BL can support 15 commands to read sensors. And combine the return to one or several uplink payloads. 320 -))) 313 +During each sampling, the RS485-LN can support 15 commands to read sensors. And combine the return to one or several uplink payloads. 321 321 322 -((( 323 -**Command from RS485-BL to Sensor:** 324 -))) 325 325 326 -((( 327 -RS485-BL can send out pre-set max 15 strings via **AT+COMMAD1**, **ATCOMMAND2**,…, to **AT+COMMANDF** . All commands are of same grammar. 328 -))) 316 +**Each RS485 commands include two parts:** 329 329 330 -((( 331 -**Handle return from sensors to RS485-BL**: 332 -))) 318 +~1. What commands RS485-LN will send to the RS485 sensors. There are total 15 commands from **AT+COMMAD1**, **ATCOMMAND2**,…, to **AT+COMMANDF**. All commands are of same grammar. 333 333 334 -((( 335 -After RS485-BL send out a string to sensor, RS485-BL will wait for the return from RS485 or TTL sensor. And user can specify how to handle the return, by **AT+DATACUT or AT+SEARCH commands** 336 -))) 320 +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. 337 337 338 -* ((( 339 -**AT+DATACUT** 340 -))) 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 341 341 342 -((( 343 -When the return value from sensor have fix length and we know which position the valid value we should get, we can use AT+DATACUT command. 344 -))) 345 345 346 -* ((( 347 -**AT+SEARCH** 348 -))) 349 - 350 -((( 351 -When the return value from sensor is dynamic length and we are not sure which bytes the valid data is, instead, we know what value the valid value following. We can use AT+SEARCH to search the valid value in the return string. 352 -))) 353 - 354 -((( 355 -**Define wait timeout:** 356 -))) 357 - 358 -((( 359 -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 360 -))) 361 - 362 -((( 363 363 After we got the valid value from each RS485 commands, we need to combine them together with the command **AT+DATAUP**. 364 -))) 365 365 366 -**Examples:** 367 367 368 368 Below are examples for the how above AT Commands works. 369 369 370 -**AT+COMMANDx : **This command will be sent to RS485/TTL devices during each sampling, Max command length is 14 bytes. The grammar is: 371 371 372 -(% border="1" class="table-bordered" %) 373 -|((( 331 +**AT+COMMANDx : **This command will be sent to RS485 devices during each sampling, Max command length is 14 bytes. The grammar is: 332 + 333 +(% border="1" style="background-color:#4bacc6; color:white; width:499px" %) 334 +|(% style="width:496px" %)((( 374 374 **AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m** 375 375 376 376 **xx xx xx xx xx xx xx xx xx xx xx xx: The RS485 command to be sent** ... ... @@ -378,49 +378,15 @@ 378 378 **m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command** 379 379 ))) 380 380 381 -((( 382 382 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. 383 -))) 384 384 385 -((( 386 -In the RS485-BL, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same. 387 -))) 344 +In the RS485-LN, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same. 388 388 389 -((( 390 -**AT+SEARCHx**: This command defines how to handle the return from AT+COMMANDx. 391 -))) 392 392 393 -(% border="1" class="table-bordered" %) 394 -|((( 395 -**AT+SEARCHx=aa,xx xx xx xx xx** 396 - 397 -* **aa: 1: prefix match mode; 2: prefix and suffix match mode** 398 -* **xx xx xx xx xx: match string. Max 5 bytes for prefix and 5 bytes for suffix** 399 - 400 - 401 -))) 402 - 403 -**Examples:** 404 - 405 -~1. For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 406 - 407 -If we set AT+SEARCH1=1,1E 56 34. (max 5 bytes for prefix) 408 - 409 -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** 410 - 411 -[[image:1653269403619-508.png]] 412 - 413 -2. For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 414 - 415 -If we set AT+SEARCH1=2, 1E 56 34+31 00 49 416 - 417 -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** 418 - 419 -[[image:1653269438444-278.png]] 420 - 421 421 **AT+DATACUTx : **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes. 422 422 423 -|((( 349 +(% border="1" style="background-color:#4bacc6; color:white; width:725px" %) 350 +|(% style="width:722px" %)((( 424 424 **AT+DATACUTx=a,b,c** 425 425 426 426 * **a: length for the return of AT+COMMAND** ... ... @@ -428,48 +428,37 @@ 428 428 * **c: define the position for valid value. ** 429 429 ))) 430 430 431 -Examples: 358 +**Examples:** 432 432 433 433 * Grab bytes: 434 434 435 -[[image: 1653269551753-223.png||height="311" width="717"]]362 +[[image:image-20220602153621-1.png]] 436 436 364 + 437 437 * Grab a section. 438 438 439 -[[image: 1653269568276-930.png||height="325" width="718"]]367 +[[image:image-20220602153621-2.png]] 440 440 369 + 441 441 * Grab different sections. 442 442 443 -[[image: 1653269593172-426.png||height="303" width="725"]]372 +[[image:image-20220602153621-3.png]] 444 444 445 -(% style="color:red" %)**Note:** 374 + 375 +))) 446 446 447 -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. 448 - 449 -Example: 450 - 451 -(% style="color:red" %)AT+COMMAND1=11 01 1E D0,0 452 - 453 -(% style="color:red" %)AT+SEARCH1=1,1E 56 34 454 - 455 -(% style="color:red" %)AT+DATACUT1=0,2,1~~5 456 - 457 -(% style="color:red" %)Return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 458 - 459 -(% style="color:red" %)String after SEARCH command: 2e 30 58 5f 36 41 30 31 00 49 460 - 461 -(% style="color:red" %)Valid payload after DataCUT command: 2e 30 58 5f 36 462 - 463 -[[image:1653269618463-608.png]] 464 - 465 465 === 3.3.4 Compose the uplink payload === 466 466 467 467 ((( 468 468 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 + 469 469 ))) 470 470 471 471 ((( 472 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=0** 386 +(% style="color:#037691" %)**Examples: AT+DATAUP=0** 387 + 388 + 473 473 ))) 474 474 475 475 ((( ... ... @@ -490,8 +490,10 @@ 490 490 491 491 [[image:1653269759169-150.png||height="513" width="716"]] 492 492 493 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1** 494 494 410 +(% style="color:#037691" %)**Examples: AT+DATAUP=1** 411 + 412 + 495 495 Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**Multiply UPLINKs**. 496 496 497 497 Final Payload is ... ... @@ -498,169 +498,122 @@ 498 498 499 499 (% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 500 500 501 -1. Battery Info (2 bytes): Battery voltage 502 -1. PAYVER (1 byte): Defined by AT+PAYVER 503 -1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling. 504 -1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 505 -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 506 506 507 -[[image: 1653269916228-732.png||height="433" width="711"]]424 +[[image:image-20220602155039-4.png]] 508 508 509 509 510 -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 511 511 512 -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** 513 513 514 -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** 515 515 516 -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** 517 517 518 -Below are the uplink payloads: 519 519 520 - [[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: 521 521 438 + ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink. 522 522 523 - (%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. 524 524 525 - ~*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. 526 526 527 - * 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. 528 528 529 - * For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date). 530 530 531 - ~* Forallotherbands: max 51 bytes for eachuplink( so 51 -5 = 46 max valid date).447 +Below are the uplink payloads: 532 532 449 +[[image:1654157178836-407.png]] 450 + 451 + 533 533 === 3.3.5 Uplink on demand === 534 534 535 -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. 536 536 537 537 Downlink control command: 538 538 539 - [[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. 540 540 541 - [[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. 542 542 543 543 544 544 545 -1. 546 -11. 547 -111. Uplink on Interrupt 464 +=== 3.3.6 Uplink on Interrupt === 548 548 549 - 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. 550 550 551 - AT+INTMOD=0 DisableInterrupt468 +[[image:1654157342174-798.png]] 552 552 553 - 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. 554 554 555 -AT+INTMOD=2 Interrupt trigger by falling edge. ( Default Value) 556 556 557 - AT+INTMOD=3Interrupt trigger by risingedge.473 +== 3.4 Uplink Payload == 558 558 559 - 560 -1. 561 -11. Uplink Payload 562 - 563 -|**Size(bytes)**|**2**|**1**|**Length depends on the return from the commands** 564 -|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" %)((( 565 565 Battery(mV) 566 566 567 567 & 568 568 569 569 Interrupt _Flag 570 -)))|((( 483 +)))|(% style="width:116px" %)((( 571 571 PAYLOAD_VER 572 572 573 573 574 -)))|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. 575 575 576 576 Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. 577 577 578 578 579 -fu nctionDecoder(bytes,port){492 +== 3.5 Configure RS485-BL via AT or Downlink == 580 580 581 - ~/~/Payload Formatsof RS485-BL Deceive494 +User can configure RS485-LN via AT Commands or LoRaWAN Downlink Commands 582 582 583 -return { 584 - 585 - ~/~/Battery,units:V 586 - 587 - BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000, 588 - 589 - ~/~/GPIO_EXTI 590 - 591 - EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE", 592 - 593 - ~/~/payload of version 594 - 595 - Pay_ver:bytes[2], 596 - 597 - }; 598 - 599 - } 600 - 601 - 602 - 603 - 604 - 605 - 606 - 607 -TTN V3 uplink screen shot. 608 - 609 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]] 610 - 611 -1. 612 -11. Configure RS485-BL via AT or Downlink 613 - 614 -User can configure RS485-BL via [[AT Commands >>path:#_Using_the_AT]]or LoRaWAN Downlink Commands 615 - 616 616 There are two kinds of Commands: 617 617 618 -* **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]] 619 619 620 -* **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: 621 621 622 -1. 623 -11. 624 -111. Common Commands: 502 +=== 3.5.1 Common Commands === 625 625 626 -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]] 627 627 628 628 629 -1. 630 -11. 631 -111. Sensor related commands: 507 +=== 3.5.2 Sensor related commands === 632 632 633 - ==== 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. 634 634 635 - 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"]] 636 636 637 - *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) 638 638 639 -**AT+MOD=1** ~/~/ Set to support RS485-MODBUS type sensors. User can connect multiply RS485 , Modbus sensors to the A / B pins. 640 640 641 - **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 === 642 642 518 +==== ==== 643 643 644 -* D ownlinkPayload520 +==== **RS485 Debug Command** ==== 645 645 646 - **0Aaa**àsameasAT+MOD=aa522 +This command is used to configure the RS485 devices; they won’t be used during sampling. 647 647 524 +* **AT Command** 648 648 526 +(% class="box infomessage" %) 527 +((( 528 +**AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m** 529 +))) 649 649 650 - ====[[RS485DebugCommand>>path:#downlink_A8]](AT+CFGDEV) ====531 +m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 651 651 652 - Thiscommand is used to configure the RS485 or TTL sensors; theywon’t be used duringsampling.533 +* **Downlink Payload** 653 653 654 -* AT Command 655 - 656 -AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 657 - 658 -m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command. 659 - 660 - 661 - 662 -* Downlink Payload 663 - 664 664 Format: A8 MM NN XX XX XX XX YY 665 665 666 666 Where: ... ... @@ -668,9 +668,12 @@ 668 668 * MM: 1: add CRC-16/MODBUS ; 0: no CRC 669 669 * NN: The length of RS485 command 670 670 * XX XX XX XX: RS485 command total NN bytes 671 -* 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. 672 672 673 -**Example 1 :**547 +**Example 1** ~-~-> Configure without ask for uplink (YY=0) 674 674 675 675 To connect a Modbus Alarm with below commands. 676 676 ... ... @@ -680,184 +680,191 @@ 680 680 681 681 So if user want to use downlink command to control to RS485 Alarm, he can use: 682 682 683 -**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 684 684 685 -**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 686 686 687 687 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. 688 688 689 689 690 -**Example 2 :**564 +**Example 2** ~-~-> Configure with requesting uplink and original downlink command (**YY=FF**) 691 691 692 - CheckTTLSensorurn:566 +User in IoT server send a downlink command: (% style="color:#4f81bd" %)**A8 01 06 0A 08 00 04 00 01 YY** 693 693 694 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png]] 695 695 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: 696 696 571 + **A8** (% style="color:#4f81bd" %)**0A 08 00 04 00 **(% style="color:red" %)**01 06** ** **(% style="color:green" %)**0A 08 00 04 00 00** 697 697 573 + [[image:1654159460680-153.png]] 698 698 699 -==== Set Payload version ==== 700 700 701 -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. 702 702 703 -* AT Command:577 +==== **Set Payload version** ==== 704 704 705 - AT+PAYVER:Set PAYVER field=1579 +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. 706 706 581 +* **AT Command:** 707 707 708 -* Downlink Payload: 583 +(% class="box infomessage" %) 584 +((( 585 +**AT+PAYVER: Set PAYVER field = 1** 586 +))) 709 709 710 - 0xAE01à SetPAYVER field= 0x01588 +* **Downlink Payload:** 711 711 712 -0xAE 0 FàSet PAYVER field = 0x0F590 +**0xAE 01** ~-~-> Set PAYVER field = 0x01 713 713 592 +**0xAE 0F** ~-~-> Set PAYVER field = 0x0F 714 714 715 -==== Set RS485 Sampling Commands ==== 716 716 717 -AT+COMMANDx, AT+DATACUTx and AT+SEARCHx 718 718 719 - Thesethree commands are usedtoconfigure how theRS485-BLpollingdata fromModbus device. Detail of usage please see : [[polling RS485device>>path:#polling_485]].596 +==== **Set RS485 Sampling Commands** ==== 720 720 598 +AT+COMMANDx or AT+DATACUTx 721 721 722 - * ATCommand:600 +These three commands are used to configure how the RS485-LN polling data from Modbus device. Detail of usage please see : [[polling RS485 device>>||anchor="H3.3.3Configurereadcommandsforeachsampling"]]. 723 723 724 -AT+COMMANDx: Configure RS485 read command to sensor. 725 725 726 -AT +DATACUTx:Configure how to handle return from RS485 devices.603 +* **AT Command:** 727 727 728 -AT+SEARCHx: Configure search command 605 +(% class="box infomessage" %) 606 +((( 607 +**AT+COMMANDx: Configure RS485 read command to sensor.** 608 +))) 729 729 610 +(% class="box infomessage" %) 611 +((( 612 +**AT+DATACUTx: Configure how to handle return from RS485 devices.** 613 +))) 730 730 731 -* Downlink Payload: 732 732 733 - 0xAFdownlinkcommandcan be used to set AT+COMMANDx or AT+DATACUTx.616 +* **Downlink Payload:** 734 734 735 - Note: if user use AT+COMMANDxto add a new command,healso need to sendAT+DATACUTxdownlink.618 +**0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 736 736 620 +(% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink. 621 + 737 737 Format: AF MM NN LL XX XX XX XX YY 738 738 739 739 Where: 740 740 741 741 * MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 742 -* NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value. 743 -* LL: The length of AT+COMMAND or AT+DATACUT command 627 +* NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value. 628 +* LL: The length of AT+COMMAND or AT+DATACUT command 744 744 * XX XX XX XX: AT+COMMAND or AT+DATACUT command 745 -* 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.630 +* YY: If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-LN will execute an uplink after got this command. 746 746 747 -Example: 632 +**Example:** 748 748 749 -**AF 03 01 06 0A 05 00 04 00 01 00**: Same as AT+COMMAND3=0A 05 00 04 00 01,1 634 +(% 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 750 750 751 -**AF 03 02 06 10 01 05 06 09 0A 00**: Same as AT+DATACUT3=**16**,**1**,**5+6+9+10** 636 +(% 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** 752 752 753 -**AF 03 02 06 0B 02 05 07 08 0A 00**: Same as AT+DATACUT3=**11**,**2**,**5~~7+8~~10** 638 +(% 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** 754 754 755 755 756 -0xAB downlink command can be used for set AT+SEARCHx 757 757 758 - Example:**ABaa01 03 xx xx xx** (03 heremeanstherearetotal3 bytes after03) So642 +==== **Fast command to handle MODBUS device** ==== 759 759 760 -* AB aa 01 03 xx xx xx same as AT+SEARCHaa=1,xx xx xx 761 -* 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 762 - 763 -**AB aa 02 03 xx xx xx 02 yy yy** same as **AT+SEARCHaa=2,xx xx xx+yy yy** 764 - 765 - 766 -==== Fast command to handle MODBUS device ==== 767 - 768 768 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]]. 769 769 770 770 This command is valid since v1.3 firmware version 771 771 648 +AT+MBFUN 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. 772 772 773 -AT+MBFUN has only two value: 774 774 775 -* AT+MBFUN=1:EnableModbus reading. And get response base on the MODBUS return651 +**Example:** 776 776 777 -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. 778 - 779 -* AT+MBFUN=0: Disable Modbus fast reading. 780 - 781 -Example: 782 - 783 -* AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0). 653 +* AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0). So RS485-LN. 784 784 * 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. 785 785 * 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. 786 786 787 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image025.png]]657 +[[image:image-20220602165351-6.png]] 788 788 659 +[[image:image-20220602165351-7.png]] 789 789 790 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image026.png]] 791 791 792 792 793 -* Downlink Commands:663 +==== **RS485 command timeout** ==== 794 794 795 - A9aa-àSameasAT+MBFUN=aa665 +Some Modbus device has slow action to send replies. This command is used to configure the RS485-LN to use longer time to wait for their action. 796 796 667 +Default value: 0, range: 0 ~~ 65 seconds 797 797 798 - ====RS485commandtimeout ====669 +* **AT Command:** 799 799 800 -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. 671 +(% class="box infomessage" %) 672 +((( 673 +**AT+CMDDLaa=hex(bb cc)*1000** 674 +))) 801 801 802 - Default value:0, range: 0 ~~ 5 seconds676 +**Example:** 803 803 678 +**AT+CMDDL1=1000** to send the open time to 1000ms 804 804 805 -* AT Command: 806 806 807 - AT+CMDDLaa=hex(bb cc)681 +* **Downlink Payload:** 808 808 809 - Example:683 +**0x AA aa bb cc** 810 810 811 - **AT+CMDDL1=1000** to send theopen time to1000ms685 +Same as: AT+CMDDLaa=hex(bb cc)*1000 812 812 687 + **Example:** 813 813 814 - *DownlinkPayload:689 + 0xAA 01 00 01 ~-~-> Same as **AT+CMDDL1=1000 ms** 815 815 816 -0x AA aa bb cc 817 817 818 -Same as: AT+CMDDLaa=hex(bb cc) 819 819 820 - Example:693 +==== **Uplink payload mode** ==== 821 821 822 - 0xAA0103E8 à Sameas**AT+CMDDL1=1000ms**695 +Define to use one uplink or multiple uplinks for the sampling. 823 823 697 +The use of this command please see: [[Compose Uplink payload>>||anchor="H3.3.4Composetheuplinkpayload"]] 824 824 825 - ====[[Uplink>>path:#downlink_A8]]payloadmode ====699 +* **AT Command:** 826 826 827 -Define to use one uplink or multiple uplinks for the sampling. 701 +(% class="box infomessage" %) 702 +((( 703 +**AT+DATAUP=0** 704 +))) 828 828 829 -The use of this command please see: [[Compose Uplink payload>>path:#DataUP]] 706 +(% class="box infomessage" %) 707 +((( 708 +**AT+DATAUP=1** 709 +))) 830 830 831 -* AT Command: 832 832 833 - AT+DATAUP=0712 +* **Downlink Payload:** 834 834 835 -AT+DATAUP= 1714 +**0xAD 00** **~-~->** Same as AT+DATAUP=0 836 836 716 +**0xAD 01** **~-~->** Same as AT+DATAUP=1 837 837 838 -* Downlink Payload: 839 839 840 -0xAD 00 à Same as AT+DATAUP=0 841 841 842 - 0xAD01 à Same asAT+DATAUP=1720 +==== **Manually trigger an Uplink** ==== 843 843 722 +Ask device to send an uplink immediately. 844 844 845 - ====ManuallytriggeranUplink ====724 +* **AT Command:** 846 846 847 -A skdeviceto sendan uplinkimmediately.726 +No AT Command for this, user can press the [[ACT button>>path:#Button]] for 1 second for the same. 848 848 849 -* Downlink Payload: 850 850 851 - 0x08FF, RS485-BLwillimmediately sendan uplink.729 +* **Downlink Payload:** 852 852 731 +**0x08 FF**, RS485-LN will immediately send an uplink. 853 853 854 -==== Clear RS485 Command ==== 855 855 856 - TheAT+COMMANDxandAT+DATACUTx settings are stored in special location, user can use below command to clear them.734 +==== ==== 857 857 736 +==== **Clear RS485 Command** ==== 858 858 859 - *AT Command:738 +The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them. 860 860 740 +* **AT Command:** 741 + 861 861 **AT+CMDEAR=mm,nn** mm: start position of erase ,nn: stop position of erase 862 862 863 863 Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 ... ... @@ -865,43 +865,50 @@ 865 865 Example screen shot after clear all RS485 commands. 866 866 867 867 868 - 869 869 The uplink screen shot is: 870 870 871 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image0 23.png]]751 +[[image:1654160691922-496.png]][[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]] 872 872 873 873 874 -* Downlink Payload: 754 +* **Downlink Payload:** 875 875 876 -0x09 aa bb same as AT+CMDEAR=aa,bb 756 +**0x09 aa bb** same as AT+CMDEAR=aa,bb 877 877 878 878 879 -==== Set Serial Communication Parameters ==== 880 880 760 +==== **Set Serial Communication Parameters** ==== 761 + 881 881 Set the Rs485 serial communication parameters: 882 882 883 -* AT Command: 764 +* **AT Command:** 884 884 885 885 Set Baud Rate: 886 886 887 -AT+BAUDR=9600 ~/~/ Options: (1200,2400,4800,14400,19200,115200) 768 +(% class="box infomessage" %) 769 +((( 770 +**AT+BAUDR=9600** ~/~/ Options: (1200,2400,4800,14400,19200,115200) 771 +))) 888 888 773 +Set UART Parity 889 889 890 -Set UART parity 775 +(% class="box infomessage" %) 776 +((( 777 +**AT+PARITY=0** ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity 778 +))) 891 891 892 -AT+PARITY=0 ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity 893 - 894 - 895 895 Set STOPBIT 896 896 897 -AT+STOPBIT=0 ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits 782 +(% class="box infomessage" %) 783 +((( 784 +**AT+STOPBIT=0** ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits 785 +))) 898 898 899 899 900 -* Downlink Payload: 788 +* **Downlink Payload:** 901 901 902 -A7 01 aa bb: Same AT+BAUDR=hex(aa bb)*100 790 +**A7 01 aa bb**: Same AT+BAUDR=hex(aa bb)*100 903 903 904 -Example: 792 +**Example:** 905 905 906 906 * A7 01 00 60 same as AT+BAUDR=9600 907 907 * A7 01 04 80 same as AT+BAUDR=115200 ... ... @@ -911,180 +911,160 @@ 911 911 A7 03 aa: Same as AT+STOPBIT=aa (aa value: 00 , 01 or 02) 912 912 913 913 914 -== ==Controloutputpowerduration====802 +== 3.6 Listening mode for RS485 network == 915 915 916 - Usercan settheoutputpowerdurationbeforeeach sampling.804 +This feature support since firmware v1.4 917 917 918 - *AT Command:806 +RS485-LN supports listening mode, it can listen the RS485 network packets and send them via LoRaWAN uplink. Below is the structure. The blue arrow shows the RS485 network packets to RS485-LN. 919 919 920 - Example:808 +[[image:image-20220602171200-8.png||height="567" width="1007"]] 921 921 922 - AT+3V3T=1000 ~/~/ 3V3outputpower willopen1sbefore eachsampling.810 +To enable the listening mode, use can run the command AT+RXMODE. 923 923 924 -AT+5VT=1000 ~/~/ +5V output power will open 1s before each sampling. 925 925 813 +(% border="1" style="background-color:#ffffcc; width:500px" %) 814 +|=(% style="width: 161px;" %)**Command example:**|=(% style="width: 337px;" %)**Function** 815 +|(% style="width:161px" %)AT+RXMODE=1,10 |(% style="width:337px" %)Enable listening mode 1, if RS485-LN has received more than 10 RS485 commands from the network. RS485-LN will send these commands via LoRaWAN uplinks. 816 +|(% style="width:161px" %)AT+RXMODE=2,500|(% style="width:337px" %)Enable listening mode 2, RS485-LN will capture and send a 500ms content once from the first detect of character. Max value is 65535 ms 817 +|(% style="width:161px" %)AT+RXMODE=0,0|(% style="width:337px" %)Disable listening mode. This is the default settings. 818 +|(% style="width:161px" %) |(% style="width:337px" %)A6 aa bb cc same as AT+RXMODE=aa,(bb<<8 ~| cc) 926 926 927 -* LoRaWANDownlink Command:820 +**Downlink Command:** 928 928 929 -0 701aa bbSame as AT+5VT=(aa822 +**0xA6 aa bb cc ** same as AT+RXMODE=aa,(bb<<8 | cc) 930 930 931 -07 02 aa bb Same as AT+3V3T=(aa bb) 932 932 825 +**Example**: 933 933 827 +The RS485-LN is set to AT+RXMODE=2,1000 934 934 829 +There is a two Modbus commands in the RS485 network as below: 935 935 936 -1. 937 -11. Buttons 831 +The Modbus master send a command: (% style="background-color:#ffc000" %)01 03 00 00 00 02 c4 0b 938 938 939 -|**Button**|**Feature** 940 -|**RST**|Reboot RS485-BL 833 +And Modbus slave reply with: (% style="background-color:green" %)01 03 04 00 00 00 00 fa 33 941 941 942 -1. 943 -11. +3V3 Output 835 +RS485-LN will capture both and send the uplink: (% style="background-color:#ffc000" %)01 03 00 00 00 02 c4 0b (% style="background-color:green" %)01 03 04 00 00 00 00 fa 33 944 944 945 - RS485-BL has a Controllable+3V3 output, user can use this output to power external sensor.837 +[[image:image-20220602171200-9.png]] 946 946 947 -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. 948 948 840 +(% style="color:red" %)Notice: Listening mode can work with the default polling mode of RS485-LN. When RS485-LN is in to send the RS485 commands (from AT+COMMANDx), the listening mode will be interrupt for a while. 949 949 950 -The +3V3 output time can be controlled by AT Command. 951 951 952 - **AT+3V3T=1000**843 +== 3.7 Buttons == 953 953 954 -Means set +3v3 valid time to have 1000ms. So, the real +3v3 output will actually have 1000ms + sampling time for other sensors. 955 955 846 +(% border="1" style="background-color:#f7faff; width:500px" %) 847 +|=**Button**|=(% style="width: 1420px;" %)**Feature** 848 +|**ACT**|(% style="width:1420px" %)If RS485 joined in network, press this button for more than 1 second, RS485 will upload a packet, and the SYS LED will give a (% style="color:blue" %)**Blue blink** 849 +|**RST**|(% style="width:1420px" %)Reboot RS485 850 +|**PRO**|(% style="width:1420px" %)Use for upload image, see [[How to Update Image>>path:#upgrade_image]] 956 956 957 - Bydefault, the AT+3V3T=0.Thisis a special case, means the +3V3 output is always on at any time852 +== 3.8 LEDs == 958 958 854 +(% border="1" style="background-color:#f7faff; width:500px" %) 855 +|=**LEDs**|=**Feature** 856 +|**PWR**|Always on if there is power 857 +|**SYS**|After device is powered on, the SYS will (% style="color:green" %)**fast blink in GREEN** (%%)for 5 times, means RS485-LN start to join LoRaWAN network. If join success, SYS will be (% style="color:green" %)**on GREEN for 5 seconds**(%%)**. **SYS will (% style="color:green" %)**blink Blue**(%%) on every upload and (% style="color:green" %)**blink Green**(%%) once receive a downlink message. 959 959 960 -1. 961 -11. +5V Output 962 962 963 -RS485-BL has a Controllable +5V output, user can use this output to power external sensor. 964 964 965 - The+5Voutput will be valid for everysampling. RS485-BL willenable+5V output before all sampling anddisable the +5v after all sampling.861 += 4. Case Study = 966 966 863 +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]] 967 967 968 -The 5V output time can be controlled by AT Command. 969 969 970 - **AT+5VT=1000**866 += 5. Use AT Command = 971 971 972 - Meansset5V valid time to have 1000ms.So, the real 5V output will actually have1000ms+samplingtimefor other sensors.868 +== 5.1 Access AT Command == 973 973 870 +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. 974 974 975 - By default, theAT+5VT=0. If the external sensor which require5v and require more time to get stable state, user can use this command to increase thepower ON durationfor this sensor.872 +[[image:1654135840598-282.png]] 976 976 977 977 875 +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: 978 978 877 +[[image:1654136105500-922.png]] 979 979 980 -1. 981 -11. LEDs 982 982 983 -|**LEDs**|**Feature** 984 -|**LED1**|Blink when device transmit a packet. 880 +More detail AT Command manual can be found at [[AT Command Manual>>||anchor="3.5ConfigureRS485-BLviaATorDownlink"]] 985 985 986 -1. 987 -11. Switch Jumper 988 988 989 -|**Switch Jumper**|**Feature** 990 -|**SW1**|((( 991 -ISP position: Upgrade firmware via UART 883 +== 5.2 Common AT Command Sequence == 992 992 993 -Flash position: Configure device, check running status. 885 +=== 5.2.1 Multi-channel ABP mode (Use with SX1301/LG308) === 886 + 887 +If device has not joined network yet: 888 + 889 +(% class="box infomessage" %) 890 +((( 891 +**AT+FDR** 994 994 ))) 995 -|**SW2**|((( 996 -5V position: set to compatible with 5v I/O. 997 997 998 -3.3v position: set to compatible with 3.3v I/O., 894 +(% class="box infomessage" %) 895 +((( 896 +**AT+NJM=0** 999 999 ))) 1000 1000 1001 -+3.3V: is always ON 899 +(% class="box infomessage" %) 900 +((( 901 +**ATZ** 902 +))) 1002 1002 1003 -+5V: Only open before every sampling. The time is by default, it is AT+5VT=0. Max open time. 5000 ms. 1004 1004 1005 - 1.CaseStudy905 +If device already joined network: 1006 1006 1007 -User can check this URL for some case studies. 907 +(% class="box infomessage" %) 908 +((( 909 +**AT+NJM=0** 910 +))) 1008 1008 1009 -[[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]] 912 +(% class="box infomessage" %) 913 +((( 914 +**ATZ** 915 +))) 1010 1010 1011 1011 918 +=== 5.5.2 Single-channel ABP mode (Use with LG01/LG02) === 1012 1012 1013 1013 1014 -1. Use AT Command 1015 -11. Access AT Command 921 +(% style="background-color:#dcdcdc" %)**AT+FDR** (%%) Reset Parameters to Factory Default, Keys Reserve 1016 1016 1017 - RS485-BLsupports AT Commandset. Usercan use a USB toTTL adapter plus the 3.5mm Program Cable toconnecttoRS485-BLtouseATcommand, as below.923 +(% style="background-color:#dcdcdc" %)**AT+NJM=0 **(%%)Set to ABP mode 1018 1018 1019 - [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image027.png]]925 +(% style="background-color:#dcdcdc" %)**AT+ADR=0** (%%)Set the Adaptive Data Rate Off 1020 1020 927 +(% style="background-color:#dcdcdc" %)**AT+DR=5** (%%)Set Data Rate 1021 1021 1022 - In PC, User needs to set **serial tool**(suchas[[putty>>url:https://www.chiark.greenend.org.uk/~~sgtatham/putty/latest.html]], SecureCRT) baudrate to**9600**toaccesstoaccess serialconsoleof RS485-BL. The defaultpasswordis 123456.Below istheutput for reference:929 +(% style="background-color:#dcdcdc" %)**AT+TDC=60000** (%%) Set transmit interval to 60 seconds 1023 1023 1024 - [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image028.png]]931 +(% style="background-color:#dcdcdc" %)**AT+CHS=868400000**(%%) Set transmit frequency to 868.4Mhz 1025 1025 933 +(% style="background-color:#dcdcdc" %)**AT+RX2FQ=868400000** (%%) Set RX2Frequency to 868.4Mhz (according to the result from server) 1026 1026 935 +(% style="background-color:#dcdcdc" %)**AT+RX2DR=5** (%%) Set RX2DR to match the downlink DR from server. see below 1027 1027 1028 - MoredetailATCommandmanualcan be foundat[[AT CommandManual>>path:#AT_COMMAND]]937 +(% style="background-color:#dcdcdc" %)**AT+DADDR=26** (%%) 01 1A F1 Set Device Address to 26 01 1A F1, this ID can be found in the LoRa Server portal. 1029 1029 939 +(% style="background-color:#dcdcdc" %)**ATZ** (%%) Reset MCU 1030 1030 1031 1031 1032 -1. 1033 -11. Common AT Command Sequence 1034 -111. Multi-channel ABP mode (Use with SX1301/LG308) 942 +(% style="color:red" %)**Note:** 1035 1035 1036 -If device has not joined network yet: 944 +(% style="color:red" %)1. Make sure the device is set to ABP mode in the IoT Server. 945 +2. Make sure the LG01/02 gateway RX frequency is exactly the same as AT+CHS setting. 946 +3. 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. 947 +4. 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 1037 1037 1038 - AT+FDR949 +[[image:1654136435598-589.png]] 1039 1039 1040 -AT+NJM=0 1041 1041 1042 -A TZ952 += 6. FAQ = 1043 1043 954 +== 6.1 How to upgrade the image? == 1044 1044 1045 -If device already joined network: 1046 - 1047 -AT+NJM=0 1048 - 1049 -ATZ 1050 - 1051 -1. 1052 -11. 1053 -111. Single-channel ABP mode (Use with LG01/LG02) 1054 - 1055 -AT+FDR Reset Parameters to Factory Default, Keys Reserve 1056 - 1057 -AT+NJM=0 Set to ABP mode 1058 - 1059 -AT+ADR=0 Set the Adaptive Data Rate Off 1060 - 1061 -AT+DR=5 Set Data Rate 1062 - 1063 -AT+TDC=60000 Set transmit interval to 60 seconds 1064 - 1065 -AT+CHS=868400000 Set transmit frequency to 868.4Mhz 1066 - 1067 -AT+RX2FQ=868400000 Set RX2Frequency to 868.4Mhz (according to the result from server) 1068 - 1069 -AT+RX2DR=5 Set RX2DR to match the downlink DR from server. see below 1070 - 1071 -AT+DADDR=26 01 1A F1 Set Device Address to 26 01 1A F1, this ID can be found in the LoRa Server portal. 1072 - 1073 -ATZ Reset MCU 1074 - 1075 -**Note:** 1076 - 1077 -1. Make sure the device is set to ABP mode in the IoT Server. 1078 -1. Make sure the LG01/02 gateway RX frequency is exactly the same as AT+CHS setting. 1079 -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. 1080 -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 1081 - 1082 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image029.png]] 1083 - 1084 - 1085 -1. FAQ 1086 -11. How to upgrade the image? 1087 - 1088 1088 The RS485-BL LoRaWAN Controller is shipped with a 3.5mm cable, the cable is used to upload image to RS485-BL to: 1089 1089 1090 1090 * Support new features ... ... @@ -1093,7 +1093,7 @@ 1093 1093 1094 1094 Below shows the hardware connection for how to upload an image to RS485-BL: 1095 1095 1096 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image030.png]]964 +[[image:1654136646995-976.png]] 1097 1097 1098 1098 **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]]. 1099 1099 ... ... @@ -1101,97 +1101,57 @@ 1101 1101 1102 1102 **Step3: **Open flashloader; choose the correct COM port to update. 1103 1103 972 +[[image:image-20220602102605-1.png]] 1104 1104 1105 -|((( 1106 -HOLD PRO then press the RST button, SYS will be ON, then click next 1107 -))) 1108 1108 1109 -|((( 1110 -Board detected 1111 -))) 975 +[[image:image-20220602102637-2.png]] 1112 1112 1113 -|((( 1114 - 1115 -))) 1116 1116 1117 -[[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]]978 +[[image:image-20220602102715-3.png]] 1118 1118 1119 1119 1120 1120 1121 - [[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]]982 +== 6.2 How to change the LoRa Frequency Bands/Region? == 1122 1122 984 +User can follow the introduction for [[how to upgrade image>>||anchor="H6.1Howtoupgradetheimage3F"]]. When download the images, choose the required image file for download. 1123 1123 1124 -[[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]] 1125 1125 1126 1126 1127 -1. 1128 -11. How to change the LoRa Frequency Bands/Region? 988 +== 6.3 How many RS485-Slave can RS485-BL connects? == 1129 1129 1130 - Usercanfollowthe introductionfor[[howtoupgradeimage>>path:#upgrade_image]].When downloadthe images,choose therequiredfile fordownload.990 +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>>||anchor="H3.3.3Configurereadcommandsforeachsampling"]]. 1131 1131 1132 1132 1133 1133 1134 -1. 1135 -11. How many RS485-Slave can RS485-BL connects? 994 += 7. Trouble Shooting = 1136 1136 1137 -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]]. 1138 1138 997 +== 7.1 Downlink doesn’t work, how to solve it? == 1139 1139 999 +Please see this link for debug: [[LoRaWAN Communication Debug>>doc:Main.LoRaWAN Communication Debug.WebHome]] 1140 1140 1141 1141 1142 -1. Trouble Shooting 1143 -11. Downlink doesn’t work, how to solve it? 1002 +== 7.2 Why I can’t join TTN V3 in US915 /AU915 bands? == 1144 1144 1145 -Please see t hislinkfor debug:1004 +It might about the channels mapping. Please see for detail: [[Notice of Frequency band>>doc:Main.LoRaWAN Communication Debug.WebHome||anchor="H2.NoticeofUS9152FCN4702FAU915Frequencyband"]] 1146 1146 1147 -[[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]] 1148 1148 1007 += 8. Order Info = 1149 1149 1009 +(% style="color:blue" %)**Part Number: RS485-BL-XXX** 1150 1150 1151 -1. 1152 -11. Why I can’t join TTN V3 in US915 /AU915 bands? 1011 +(% style="color:blue" %)**XXX:** 1153 1153 1154 -It might about the channels mapping. Please see for detail. 1013 +* (% style="color:blue" %)**EU433**(%%): frequency bands EU433 1014 +* (% style="color:blue" %)**EU868**(%%): frequency bands EU868 1015 +* (% style="color:blue" %)**KR920**(%%): frequency bands KR920 1016 +* (% style="color:blue" %)**CN470**(%%): frequency bands CN470 1017 +* (% style="color:blue" %)**AS923**(%%): frequency bands AS923 1018 +* (% style="color:blue" %)**AU915**(%%): frequency bands AU915 1019 +* (% style="color:blue" %)**US915**(%%): frequency bands US915 1020 +* (% style="color:blue" %)**IN865**(%%): frequency bands IN865 1021 +* (% style="color:blue" %)**RU864**(%%): frequency bands RU864 1022 +* (% style="color:blue" %)**KZ865**(%%): frequency bands KZ865 1155 1155 1156 -[[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]] 1157 - 1158 - 1159 - 1160 -1. Order Info 1161 - 1162 -**Part Number: RS485-BL-XXX** 1163 - 1164 -**XXX:** 1165 - 1166 -* **EU433**: frequency bands EU433 1167 -* **EU868**: frequency bands EU868 1168 -* **KR920**: frequency bands KR920 1169 -* **CN470**: frequency bands CN470 1170 -* **AS923**: frequency bands AS923 1171 -* **AU915**: frequency bands AU915 1172 -* **US915**: frequency bands US915 1173 -* **IN865**: frequency bands IN865 1174 -* **RU864**: frequency bands RU864 1175 -* **KZ865: **frequency bands KZ865 1176 - 1177 -1. Packing Info 1178 - 1179 -**Package Includes**: 1180 - 1181 -* RS485-BL x 1 1182 -* Stick Antenna for LoRa RF part x 1 1183 -* Program cable x 1 1184 - 1185 -**Dimension and weight**: 1186 - 1187 -* Device Size: 13.5 x 7 x 3 cm 1188 -* Device Weight: 105g 1189 -* Package Size / pcs : 14.5 x 8 x 5 cm 1190 -* Weight / pcs : 170g 1191 - 1192 -1. Support 1193 - 1194 -* 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. 1195 -* 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 1196 - 1197 -[[support@dragino.com>>url:file:///D:/市场资料/说明书/LoRa/LT系列/support@dragino.com]] 1024 +(% class="wikigeneratedid" %) 1025 +
- 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
- 1654160691922-496.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +109.3 KB - Content
- image-20220602153621-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +23.4 KB - Content
- image-20220602153621-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +22.2 KB - Content
- image-20220602153621-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +22.3 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
- image-20220602165351-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +10.6 KB - Content
- image-20220602165351-7.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +19.3 KB - Content
- image-20220602171200-8.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +276.1 KB - Content
- image-20220602171200-9.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +10.0 KB - Content