Changes for page RS485-BL – Waterproof RS485 to LoRaWAN Converter
Last modified by Xiaoling on 2025/04/23 15:57
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 18 added, 0 removed)
- 1652954654347-831.png
- 1653271044481-711.png
- 1653271276735-972.png
- 1653271581490-837.png
- 1653271648378-342.png
- 1653271657255-576.png
- 1653271763403-806.png
- 1653272787040-634.png
- 1653272817147-600.png
- 1653272901032-107.png
- 1653273818896-432.png
- 1653274001211-372.png
- 1654132684752-193.png
- 1654133913295-597.png
- 1654133954153-643.png
- 1654134704555-320.png
- 1654135840598-282.png
- 1654136105500-922.png
Details
- Page properties
-
- Content
-
... ... @@ -7,12 +7,15 @@ 7 7 **RS485-BL – Waterproof RS485 to LoRaWAN Converter User Manual** 8 8 9 9 10 + 10 10 **Table of Contents:** 11 11 13 +{{toc/}} 12 12 13 13 14 14 15 15 18 + 16 16 = 1.Introduction = 17 17 18 18 == 1.1 What is RS485-BL RS485 to LoRaWAN Converter == ... ... @@ -22,19 +22,19 @@ 22 22 ))) 23 23 24 24 ((( 25 -The Dragino RS485-BL is a **RS485 / UART to LoRaWAN Converter** for Internet of Things solutions. User can connect RS485 or UART sensor to RS485-BL converter, and configure RS485-BL to periodically read sensor data and upload via LoRaWAN network to IoT server. 28 +The Dragino RS485-BL is a (% style="color:blue" %)**RS485 / UART to LoRaWAN Converter**(%%) for Internet of Things solutions. User can connect RS485 or UART sensor to RS485-BL converter, and configure RS485-BL to periodically read sensor data and upload via LoRaWAN network to IoT server. 26 26 ))) 27 27 28 28 ((( 29 -RS485-BL can interface to RS485 sensor, 3.3v/5v UART sensor or interrupt sensor. RS485-BL provides **a 3.3v output** and** a 5v output** to power external sensors. Both output voltages are controllable to minimize the total system power consumption. 32 +RS485-BL can interface to RS485 sensor, 3.3v/5v UART sensor or interrupt sensor. RS485-BL provides (% style="color:blue" %)**a 3.3v output**(%%) and** (% style="color:blue" %)a 5v output(%%)** to power external sensors. Both output voltages are controllable to minimize the total system power consumption. 30 30 ))) 31 31 32 32 ((( 33 -RS485-BL is IP67 **waterproof** and powered by **8500mAh Li-SOCI2 battery**, it is designed for long term use for several years. 36 +RS485-BL is IP67 (% style="color:blue" %)**waterproof**(%%) and powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use for several years. 34 34 ))) 35 35 36 36 ((( 37 -RS485-BL runs standard **LoRaWAN 1.0.3 in Class A**. It can reach long transfer range and easy to integrate with LoRaWAN compatible gateway and IoT server. 40 +RS485-BL runs standard (% style="color:blue" %)**LoRaWAN 1.0.3 in Class A**(%%). It can reach long transfer range and easy to integrate with LoRaWAN compatible gateway and IoT server. 38 38 ))) 39 39 40 40 ((( ... ... @@ -51,8 +51,11 @@ 51 51 52 52 [[image:1652953304999-717.png||height="424" width="733"]] 53 53 57 + 58 + 54 54 == 1.2 Specifications == 55 55 61 + 56 56 **Hardware System:** 57 57 58 58 * STM32L072CZT6 MCU ... ... @@ -59,8 +59,6 @@ 59 59 * SX1276/78 Wireless Chip 60 60 * Power Consumption (exclude RS485 device): 61 61 ** Idle: 6uA@3.3v 62 - 63 -* 64 64 ** 20dB Transmit: 130mA@3.3v 65 65 66 66 **Interface for Model:** ... ... @@ -114,9 +114,12 @@ 114 114 115 115 [[RS485-BL Image files – Download link and Change log>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/RS485-BL/Firmware/||style="background-color: rgb(255, 255, 255);"]] 116 116 121 + 117 117 == 1.6 Hardware Change log == 118 118 119 119 ((( 125 + 126 + 120 120 v1.4 121 121 ))) 122 122 ... ... @@ -140,6 +140,8 @@ 140 140 141 141 ((( 142 142 Release version 150 + 151 + 143 143 ))) 144 144 145 145 = 2. Pin mapping and Power ON Device = ... ... @@ -153,6 +153,7 @@ 153 153 154 154 The Left TXD and RXD are TTL interface for external sensor. TTL level is controlled by 3.3/5v Jumper. 155 155 165 + 156 156 = 3. Operation Mode = 157 157 158 158 == 3.1 How it works? == ... ... @@ -159,6 +159,8 @@ 159 159 160 160 ((( 161 161 The RS485-BL is configured as LoRaWAN OTAA Class A mode by default. It has OTAA keys to join network. To connect a local LoRaWAN network, user just need to input the OTAA keys in the network server and power on the RS485-BL. It will auto join the network via OTAA. 172 + 173 + 162 162 ))) 163 163 164 164 == 3.2 Example to join LoRaWAN network == ... ... @@ -194,8 +194,6 @@ 194 194 ))) 195 195 196 196 197 - 198 - 199 199 [[image:image-20220519174512-1.png]] 200 200 201 201 [[image:image-20220519174512-2.png||height="328" width="731"]] ... ... @@ -219,10 +219,13 @@ 219 219 220 220 [[image:1652953568895-172.png||height="232" width="724"]] 221 221 232 + 222 222 == 3.3 Configure Commands to read data == 223 223 224 224 ((( 225 -There are plenty of RS485 and TTL level devices in the market and each device has different command to read the valid data. To support these devices in flexible, RS485-BL supports flexible command set. User can use [[AT Commands or LoRaWAN Downlink>>path:#AT_COMMAND]] Command to configure how RS485-BL should read the sensor and how to handle the return from RS485 or TTL sensors. 236 +There are plenty of RS485 and TTL level devices in the market and each device has different command to read the valid data. To support these devices in flexible, RS485-BL supports flexible command set. User can use [[AT Commands or LoRaWAN Downlink>>||anchor="H3.5ConfigureRS485-BLviaATorDownlink"]] Command to configure how RS485-BL should read the sensor and how to handle the return from RS485 or TTL sensors. 237 + 238 + 226 226 ))) 227 227 228 228 === 3.3.1 onfigure UART settings for RS485 or TTL communication === ... ... @@ -303,88 +303,103 @@ 303 303 ))) 304 304 ))) 305 305 319 +=== 3.3.2 Configure sensors === 306 306 321 +((( 322 +Some sensors might need to configure before normal operation. User can configure such sensor via PC or through RS485-BL AT Commands (% style="color:#4f81bd" %)**AT+CFGDEV**. 323 +))) 307 307 325 +((( 326 +When user issue an (% style="color:#4f81bd" %)**AT+CFGDEV**(%%) command, Each (% style="color:#4f81bd" %)**AT+CFGDEV**(%%) equals to send a command to the RS485 or TTL sensors. This command will only run when user input it and won’t run during each sampling. 327 +))) 308 308 309 -1. 310 -11. 311 -111. Configure sensors 312 - 313 -Some sensors might need to configure before normal operation. User can configure such sensor via PC or through RS485-BL AT Commands AT+CFGDEV. 314 - 315 - 316 -When user issue an AT+CFGDEV command, Each AT+CFGDEV equals to send a command to the RS485 or TTL sensors. This command will only run when user input it and won’t run during each sampling. 317 - 318 -|**AT Commands**|**Description**|**Example** 319 -|AT+CFGDEV|((( 329 +(% border="1" style="background-color:#ffffcc; color:green; width:806px" %) 330 +|**AT Commands**|(% style="width:418px" %)**Description**|(% style="width:256px" %)**Example** 331 +|AT+CFGDEV|(% style="width:418px" %)((( 320 320 This command is used to configure the RS485/TTL devices; they won’t be used during sampling. 321 321 322 -AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx, m334 +AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx, 323 323 324 -m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 325 -)))|AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 336 +mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 337 +)))|(% style="width:256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 326 326 327 -Detail of AT+CFGDEV command see [[AT+CFGDEV detail>> path:#AT_CFGDEV]].339 +Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]]. 328 328 329 329 342 +=== 3.3.3 Configure read commands for each sampling === 330 330 331 - 332 - 333 -1. 334 -11. 335 -111. Configure read commands for each sampling 336 - 344 +((( 337 337 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. 346 +))) 338 338 339 - 348 +((( 340 340 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. 350 +))) 341 341 342 - 352 +((( 343 343 To save the LoRaWAN network bandwidth, we might need to read data from different sensors and combine their valid value into a short payload. 354 +))) 344 344 345 - 356 +((( 346 346 This section describes how to achieve above goals. 358 +))) 347 347 348 - 360 +((( 349 349 During each sampling, the RS485-BL can support 15 commands to read sensors. And combine the return to one or several uplink payloads. 362 +))) 350 350 351 - 364 +((( 352 352 **Command from RS485-BL to Sensor:** 366 +))) 353 353 368 +((( 354 354 RS485-BL can send out pre-set max 15 strings via **AT+COMMAD1**, **ATCOMMAND2**,…, to **AT+COMMANDF** . All commands are of same grammar. 370 +))) 355 355 356 - 372 +((( 357 357 **Handle return from sensors to RS485-BL**: 374 +))) 358 358 376 +((( 359 359 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** 378 +))) 360 360 380 +* ((( 381 +**AT+DATACUT** 382 +))) 361 361 362 -* **AT+DATACUT** 363 - 384 +((( 364 364 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. 386 +))) 365 365 388 +* ((( 389 +**AT+SEARCH** 390 +))) 366 366 367 -* **AT+SEARCH** 368 - 392 +((( 369 369 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. 394 +))) 370 370 371 - 396 +((( 372 372 **Define wait timeout:** 398 +))) 373 373 400 +((( 374 374 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 402 +))) 375 375 376 - 404 +((( 377 377 After we got the valid value from each RS485 commands, we need to combine them together with the command **AT+DATAUP**. 406 +))) 378 378 379 - 380 380 **Examples:** 381 381 382 382 Below are examples for the how above AT Commands works. 383 383 384 - 385 385 **AT+COMMANDx : **This command will be sent to RS485/TTL devices during each sampling, Max command length is 14 bytes. The grammar is: 386 386 387 -|((( 414 +(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:501px" %) 415 +|(% style="width:498px" %)((( 388 388 **AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m** 389 389 390 390 **xx xx xx xx xx xx xx xx xx xx xx xx: The RS485 command to be sent** ... ... @@ -396,41 +396,38 @@ 396 396 397 397 In the RS485-BL, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same. 398 398 399 - 400 400 **AT+SEARCHx**: This command defines how to handle the return from AT+COMMANDx. 401 401 402 -|((( 429 +(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:580px" %) 430 +|(% style="width:577px" %)((( 403 403 **AT+SEARCHx=aa,xx xx xx xx xx** 404 404 405 405 * **aa: 1: prefix match mode; 2: prefix and suffix match mode** 406 406 * **xx xx xx xx xx: match string. Max 5 bytes for prefix and 5 bytes for suffix** 407 - 408 - 409 409 ))) 410 410 411 -Examples: 437 +**Examples:** 412 412 413 -1 .For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49439 +1)For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 414 414 415 415 If we set AT+SEARCH1=1,1E 56 34. (max 5 bytes for prefix) 416 416 417 -The valid data will be all bytes after 1E 56 34 , so it is 2e 30 58 5f 36 41 30 31 00 49 443 +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** 418 418 419 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image013.png]]445 +[[image:1653271044481-711.png]] 420 420 447 +2)For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 421 421 422 -1. For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 423 - 424 424 If we set AT+SEARCH1=2, 1E 56 34+31 00 49 425 425 426 -Device will search the bytes between 1E 56 34 and 31 00 49. So it is 2e 30 58 5f 36 41 30 451 +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** 427 427 428 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png]]453 +[[image:1653271276735-972.png]] 429 429 430 - 431 431 **AT+DATACUTx : **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes. 432 432 433 -|((( 457 +(% style="background-color:#4f81bd; color:white; width:729px" %) 458 +|(% style="width:726px" %)((( 434 434 **AT+DATACUTx=a,b,c** 435 435 436 436 * **a: length for the return of AT+COMMAND** ... ... @@ -438,98 +438,143 @@ 438 438 * **c: define the position for valid value. ** 439 439 ))) 440 440 441 -Examples: 466 +**Examples:** 442 442 443 443 * Grab bytes: 444 444 445 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image015.png]]470 +[[image:1653271581490-837.png||height="313" width="722"]] 446 446 472 + 447 447 * Grab a section. 448 448 449 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image016.png]]475 +[[image:1653271648378-342.png||height="326" width="720"]] 450 450 477 + 451 451 * Grab different sections. 452 452 453 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image017.png]]480 +[[image:1653271657255-576.png||height="305" width="730"]] 454 454 482 +((( 483 +(% style="color:red" %)**Note:** 484 +))) 455 455 456 -Note: 457 - 486 +((( 458 458 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. 488 +))) 459 459 460 -Example: 490 +((( 491 +**Example:** 492 +))) 461 461 462 -AT+COMMAND1=11 01 1E D0,0 494 +((( 495 +(% style="color:red" %)AT+COMMAND1=11 01 1E D0,0 496 +))) 463 463 464 -AT+SEARCH1=1,1E 56 34 498 +((( 499 +(% style="color:red" %)AT+SEARCH1=1,1E 56 34 500 +))) 465 465 466 -AT+DATACUT1=0,2,1~~5 502 +((( 503 +(% style="color:red" %)AT+DATACUT1=0,2,1~~5 504 +))) 467 467 468 -Return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 506 +((( 507 +(% style="color:red" %)Return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 508 +))) 469 469 470 -String after SEARCH command: 2e 30 58 5f 36 41 30 31 00 49 510 +((( 511 +(% style="color:red" %)String after SEARCH command: 2e 30 58 5f 36 41 30 31 00 49 512 +))) 471 471 472 -Valid payload after DataCUT command: 2e 30 58 5f 36 514 +((( 515 +(% style="color:red" %)Valid payload after DataCUT command: 2e 30 58 5f 36 516 +))) 473 473 474 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image018.png]]518 +[[image:1653271763403-806.png]] 475 475 476 476 521 +=== 3.3.4 Compose the uplink payload === 477 477 478 - 479 -1. 480 -11. 481 -111. Compose the uplink payload 482 - 523 +((( 483 483 Through AT+COMMANDx and AT+DATACUTx we got valid value from each RS485 commands, Assume these valid value are RETURN1, RETURN2, .., to RETURNx. The next step is how to compose the LoRa Uplink Payload by these RETURNs. The command is **AT+DATAUP.** 525 +))) 484 484 527 +((( 528 +(% style="color:#037691" %)**Examples: AT+DATAUP=0** 529 +))) 485 485 486 -**Examples: AT+DATAUP=0** 531 +((( 532 +Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**A SIGNLE UPLINK**. 533 +))) 487 487 488 -Compose the uplink payload with value returns in sequence and send with **A SIGNLE UPLINK**. 489 - 535 +((( 490 490 Final Payload is 537 +))) 491 491 492 -Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx 539 +((( 540 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx** 541 +))) 493 493 543 +((( 494 494 Where PAYVER is defined by AT+PAYVER, below is an example screen shot. 545 +))) 495 495 496 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image019.png]]547 +[[image:1653272787040-634.png||height="515" width="719"]] 497 497 498 498 499 499 500 -**Examples: AT+DATAUP=1** 551 +((( 552 +(% style="color:#037691" %)**Examples: AT+DATAUP=1** 501 501 502 -Compose the uplink payload with value returns in sequence and send with **Multiply UPLINKs**. 554 + 555 +))) 503 503 557 +((( 558 +Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**Multiply UPLINKs**. 559 +))) 560 + 561 +((( 504 504 Final Payload is 563 +))) 505 505 506 -Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA 565 +((( 566 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 567 +))) 507 507 508 -1. Battery Info (2 bytes): Battery voltage 509 -1. PAYVER (1 byte): Defined by AT+PAYVER 510 -1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling. 511 -1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 512 -1. DATA: Valid value: max 6 bytes(US915 version here, [[Notice*!>>path:#max_byte]]) for each uplink so each uplink <= 11 bytes. For the last uplink, DATA will might less than 6 bytes 569 +1. ((( 570 +Battery Info (2 bytes): Battery voltage 571 +))) 572 +1. ((( 573 +PAYVER (1 byte): Defined by AT+PAYVER 574 +))) 575 +1. ((( 576 +PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling. 577 +))) 578 +1. ((( 579 +PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 580 +))) 581 +1. ((( 582 +DATA: Valid value: max 6 bytes(US915 version here, Notice*!) for each uplink so each uplink <= 11 bytes. For the last uplink, DATA will might less than 6 bytes 583 +))) 513 513 514 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image020.png]]585 +[[image:1653272817147-600.png||height="437" width="717"]] 515 515 516 - 517 517 So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA 518 518 519 -DATA1=RETURN1 Valid Value = 20 20 0a 33 90 41 520 520 521 -DATA 2=1^^st^^~~ 6^^th^^ byte ofValidvalue ofRETURN10=02aa05810a20590 +DATA1=RETURN1 Valid Value = (% style="background-color:#4f81bd; color:white" %) 20 20 0a 33 90 41 522 522 523 -DATA 3=7^^th^^ ~~11^^th^^ bytesof Valid value of RETURN10 =202020 2d 30592 +DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= (% style="background-color:#4f81bd; color:white" %)02 aa 05 81 0a 20 524 524 594 +DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 =(% style="background-color:#4f81bd; color:white" %) 20 20 20 2d 30 525 525 526 526 527 527 Below are the uplink payloads: 528 528 529 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image021.png]]599 +[[image:1653272901032-107.png]] 530 530 531 531 532 -Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below: 602 +(% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below: 533 533 534 534 ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date) 535 535 ... ... @@ -541,139 +541,186 @@ 541 541 542 542 543 543 544 -1. 545 -11. 546 -111. Uplink on demand 614 +=== 3.3.5 Uplink on demand === 547 547 616 +((( 548 548 Except uplink periodically, RS485-BL is able to uplink on demand. The server sends downlink command to RS485-BL and RS485 will uplink data base on the command. 618 +))) 549 549 620 +((( 550 550 Downlink control command: 622 +))) 551 551 552 -[[0x08 command>>path:#downlink_08]]: Poll an uplink with current command set in RS485-BL. 624 +((( 625 +**0x08 command**: Poll an uplink with current command set in RS485-BL. 626 +))) 553 553 554 -[[0xA8 command>>path:#downlink_A8]]: Send a command to RS485-BL and uplink the output from sensors. 628 +((( 629 +**0xA8 command**: Send a command to RS485-BL and uplink the output from sensors. 555 555 631 + 632 +))) 556 556 634 +=== 3.3.6 Uplink on Interrupt === 557 557 558 -1. 559 -11. 560 -111. Uplink on Interrupt 636 +Put the interrupt sensor between 3.3v_out and GPIO ext. 561 561 562 - Put the interrupt sensor between 3.3v_out and GPIO ext.[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image022.png]]638 +[[image:1653273818896-432.png]] 563 563 640 + 641 +((( 564 564 AT+INTMOD=0 Disable Interrupt 643 +))) 565 565 645 +((( 566 566 AT+INTMOD=1 Interrupt trigger by rising or falling edge. 647 +))) 567 567 649 +((( 568 568 AT+INTMOD=2 Interrupt trigger by falling edge. ( Default Value) 651 +))) 569 569 653 +((( 570 570 AT+INTMOD=3 Interrupt trigger by rising edge. 571 571 656 + 657 +))) 572 572 573 -1. 574 -11. Uplink Payload 659 +== 3.4 Uplink Payload == 575 575 576 -|**Size(bytes)**|**2**|**1**|**Length depends on the return from the commands** 577 -|Value|((( 661 +(% border="1" style="background-color:#4f81bd; color:white; width:850px" %) 662 +|**Size(bytes)**|(% style="width:130px" %)**2**|(% style="width:93px" %)**1**|(% style="width:509px" %)**Length depends on the return from the commands** 663 +|Value|(% style="width:130px" %)((( 664 +((( 578 578 Battery(mV) 666 +))) 579 579 668 +((( 580 580 & 670 +))) 581 581 672 +((( 582 582 Interrupt _Flag 583 -)))|((( 674 +))) 675 +)))|(% style="width:93px" %)((( 584 584 PAYLOAD_VER 585 585 586 586 587 -)))|If the valid payload is too long and exceed the maximum support payload length in server, server will show payload not provided in the LoRaWAN server. 679 +)))|(% style="width:509px" %)If the valid payload is too long and exceed the maximum support payload length in server, server will show payload not provided in the LoRaWAN server. 588 588 589 589 Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. 590 590 683 +((( 684 +{{{function Decoder(bytes, port) {}}} 685 +))) 591 591 592 -function Decoder(bytes, port) { 687 +((( 688 +{{{//Payload Formats of RS485-BL Deceive}}} 689 +))) 593 593 594 -~/~/Payload Formats of RS485-BL Deceive 691 +((( 692 +{{{return {}}} 693 +))) 595 595 596 -return { 695 +((( 696 +{{{ //Battery,units:V}}} 697 +))) 597 597 598 - ~/~/Battery,units:V 699 +((( 700 +{{{ BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,}}} 701 +))) 599 599 600 - BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000, 703 +((( 704 +{{{ //GPIO_EXTI }}} 705 +))) 601 601 602 - ~/~/GPIO_EXTI 707 +((( 708 +{{{ EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",}}} 709 +))) 603 603 604 - EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE", 711 +((( 712 +{{{ //payload of version}}} 713 +))) 605 605 606 - ~/~/payload of version 715 +((( 716 +{{{ Pay_ver:bytes[2],}}} 717 +))) 607 607 608 - Pay_ver:bytes[2], 719 +((( 720 +{{{ }; }}} 721 +))) 609 609 610 - }; 723 +((( 724 +} 611 611 612 - } 726 + 727 +))) 613 613 614 - 615 - 616 - 617 - 618 - 619 - 729 +((( 620 620 TTN V3 uplink screen shot. 731 +))) 621 621 622 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]]733 +[[image:1653274001211-372.png||height="192" width="732"]] 623 623 624 -1. 625 -11. Configure RS485-BL via AT or Downlink 626 626 627 - Usercanconfigure RS485-BL via[[ATCommands >>path:#_Using_the_AT]]orLoRaWANDownlinkCommands736 +== 3.5 Configure RS485-BL via AT or Downlink == 628 628 738 +User can configure RS485-BL via AT Commands or LoRaWAN Downlink Commands 739 + 629 629 There are two kinds of Commands: 630 630 631 -* **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_Commands742 +* (% 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]] 632 632 633 -* **Sensor Related Commands**: These commands are special designed for RS485-BL. User can see these commands below: 744 +* (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL. User can see these commands below: 634 634 635 -1. 636 -11. 637 -111. Common Commands: 746 +=== 3.5.1 Common Commands: === 638 638 639 -They should be available for each of Dragino Sensors, such as: change uplink interval, reset device. For firmware v1.3, user can find what common commands it supports: [[ http:~~/~~/wiki.dragino.com/index.php?title=End_Device_AT_Commands_and_Downlink_Commands>>url:http://wiki.dragino.com/index.php?title=End_Device_AT_Commands_and_Downlink_Commands]]748 +They should be available for each of Dragino Sensors, such as: change uplink interval, reset device. For firmware v1.3, user can find what common commands it supports: [[End Device AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]] 640 640 641 641 642 -1. 643 -11. 644 -111. Sensor related commands: 751 +=== 3.5.2 Sensor related commands: === 645 645 646 -==== ChooseDeviceType (RS485 or TTL)====753 +==== ==== 647 647 755 +==== **Choose Device Type (RS485 or TTL)** ==== 756 + 648 648 RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect. 649 649 650 -* AT Command 759 +* **AT Command** 651 651 761 +(% class="box infomessage" %) 762 +((( 652 652 **AT+MOD=1** ~/~/ Set to support RS485-MODBUS type sensors. User can connect multiply RS485 , Modbus sensors to the A / B pins. 764 +))) 653 653 766 +(% class="box infomessage" %) 767 +((( 654 654 **AT+MOD=2** ~/~/ Set to support TTL Level sensors, User can connect one TTL Sensor to the TXD/RXD/GND pins. 769 +))) 655 655 656 656 657 -* Downlink Payload 772 +* **Downlink Payload** 658 658 659 -**0A aa** àsame as AT+MOD=aa774 +**0A aa** ~-~-> same as AT+MOD=aa 660 660 661 661 662 662 663 -==== [[RS485 Debug Command>>path:#downlink_A8]](AT+CFGDEV) ====778 +==== **RS485 Debug Command (AT+CFGDEV)** ==== 664 664 665 665 This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling. 666 666 667 -* AT Command 782 +* **AT Command** 668 668 669 -AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 784 +(% class="box infomessage" %) 785 +((( 786 +**AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m** 787 +))) 670 670 671 671 m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command. 672 672 673 673 792 +* **Downlink Payload** 674 674 675 -* Downlink Payload 676 - 677 677 Format: A8 MM NN XX XX XX XX YY 678 678 679 679 Where: ... ... @@ -687,15 +687,15 @@ 687 687 688 688 To connect a Modbus Alarm with below commands. 689 689 690 -* The command to active alarm is: 0A 05 00 04 00 01 4C B0. Where 0A 05 00 04 00 01 is the Modbus command to read the register 00 40 where stored the DI status. The 4C B0 is the CRC-16/MODBUS which calculate manually. 807 +* The command to active alarm is: 0A 05 00 04 00 01 **4C B0**. Where 0A 05 00 04 00 01 is the Modbus command to read the register 00 40 where stored the DI status. The 4C B0 is the CRC-16/MODBUS which calculate manually. 691 691 692 -* The command to deactivate alarm is: 0A 05 00 04 00 00 8D 70. Where 0A 05 00 04 00 00 is the Modbus command to read the register 00 40 where stored the DI status. The 8D 70 is the CRC-16/MODBUS which calculate manually. 809 +* The command to deactivate alarm is: 0A 05 00 04 00 00 **8D 70**. Where 0A 05 00 04 00 00 is the Modbus command to read the register 00 40 where stored the DI status. The 8D 70 is the CRC-16/MODBUS which calculate manually. 693 693 694 694 So if user want to use downlink command to control to RS485 Alarm, he can use: 695 695 696 -**A8 01 06 0A 05 00 04 00 01 00**: to activate the RS485 Alarm 813 +(% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 01 00**(%%): to activate the RS485 Alarm 697 697 698 -**A8 01 06 0A 05 00 04 00 00 00**: to deactivate the RS485 Alarm 815 +(% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 00 00**(%%): to deactivate the RS485 Alarm 699 699 700 700 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. 701 701 ... ... @@ -704,48 +704,60 @@ 704 704 705 705 Check TTL Sensor return: 706 706 707 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png]]824 +[[image:1654132684752-193.png]] 708 708 709 709 710 710 828 +==== **Set Payload version** ==== 711 711 712 -==== Set Payload version ==== 713 - 714 714 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. 715 715 716 -* AT Command: 832 +* **AT Command:** 717 717 718 -AT+PAYVER: Set PAYVER field = 1 834 +(% class="box infomessage" %) 835 +((( 836 +**AT+PAYVER: Set PAYVER field = 1** 837 +))) 719 719 720 720 721 -* Downlink Payload: 840 +* **Downlink Payload:** 722 722 723 -0xAE 01 àSet PAYVER field = 0x01842 +**0xAE 01** ~-~-> Set PAYVER field = 0x01 724 724 725 -0xAE 0F àSet PAYVER field = 0x0F844 +**0xAE 0F** ~-~-> Set PAYVER field = 0x0F 726 726 727 727 728 -==== Set RS485 Sampling Commands ==== 729 729 848 +==== **Set RS485 Sampling Commands** ==== 849 + 730 730 AT+COMMANDx, AT+DATACUTx and AT+SEARCHx 731 731 732 -These three commands are used to configure how the RS485-BL polling data from Modbus device. Detail of usage please see : [[polling RS485 device>> path:#polling_485]].852 +These three commands are used to configure how the RS485-BL polling data from Modbus device. Detail of usage please see : [[polling RS485 device>>||anchor="H3.3.3Configurereadcommandsforeachsampling"]]. 733 733 734 734 735 -* AT Command: 855 +* **AT Command:** 736 736 737 -AT+COMMANDx: Configure RS485 read command to sensor. 857 +(% class="box infomessage" %) 858 +((( 859 +**AT+COMMANDx: Configure RS485 read command to sensor.** 860 +))) 738 738 739 -AT+DATACUTx: Configure how to handle return from RS485 devices. 862 +(% class="box infomessage" %) 863 +((( 864 +**AT+DATACUTx: Configure how to handle return from RS485 devices.** 865 +))) 740 740 741 -AT+SEARCHx: Configure search command 867 +(% class="box infomessage" %) 868 +((( 869 +**AT+SEARCHx: Configure search command** 870 +))) 742 742 743 743 744 -* Downlink Payload: 873 +* **Downlink Payload:** 745 745 746 -0xAF downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 875 +**0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 747 747 748 -Note: if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink. 877 +(% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink. 749 749 750 750 Format: AF MM NN LL XX XX XX XX YY 751 751 ... ... @@ -752,23 +752,23 @@ 752 752 Where: 753 753 754 754 * MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 755 -* NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value. 756 -* LL: The length of AT+COMMAND or AT+DATACUT command 884 +* NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value. 885 +* LL: The length of AT+COMMAND or AT+DATACUT command 757 757 * XX XX XX XX: AT+COMMAND or AT+DATACUT command 758 -* YY: If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-BL will execute an uplink after got this command. 887 +* YY: If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-BL will execute an uplink after got this command. 759 759 760 -Example: 889 +**Example:** 761 761 762 -**AF 03 01 06 0A 05 00 04 00 01 00**: Same as AT+COMMAND3=0A 05 00 04 00 01,1 891 +(% style="color:#037691" %)**AF 03 01 06 0A 05 00 04 00 01 00**(%%): Same as AT+COMMAND3=0A 05 00 04 00 01,1 763 763 764 -**AF 03 02 06 10 01 05 06 09 0A 00**: Same as AT+DATACUT3=**16**,**1**,**5+6+9+10** 893 +(% style="color:#037691" %)**AF 03 02 06**(% style="color:orange" %)** 10 **(% style="color:red" %)**01 **(% style="color:green" %)**05 06 09 0A**(% style="color:#037691" %)** 00**(%%): Same as AT+DATACUT3=(% style="color:orange" %)**16**(%%),(% style="color:red" %)**1**(%%),(% style="color:green" %)**5+6+9+10** 765 765 766 -**AF 03 02 06 0B 02 05 07 08 0A 00**: Same as AT+DATACUT3=**11**,**2**,**5~~7+8~~10** 895 +(% style="color:#037691" %)**AF 03 02 06 **(% style="color:orange" %)**0B**(% style="color:red" %)** 02 **(% style="color:green" %)**05 07 08 0A **(% style="color:#037691" %)**00**(%%): Same as AT+DATACUT3=(% style="color:orange" %)**11**(%%),(% style="color:red" %)**2**(%%),(% style="color:green" %)**5~~7+8~~10** 767 767 768 768 769 -0xAB downlink command can be used for set AT+SEARCHx 898 +**0xAB** downlink command can be used for set AT+SEARCHx 770 770 771 -Example: **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So 900 +**Example:** **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So 772 772 773 773 * AB aa 01 03 xx xx xx same as AT+SEARCHaa=1,xx xx xx 774 774 * 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 ... ... @@ -776,145 +776,164 @@ 776 776 **AB aa 02 03 xx xx xx 02 yy yy** same as **AT+SEARCHaa=2,xx xx xx+yy yy** 777 777 778 778 779 -==== Fast command to handle MODBUS device ==== 780 780 909 +==== **Fast command to handle MODBUS device** ==== 910 + 781 781 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]]. 782 782 783 783 This command is valid since v1.3 firmware version 784 784 785 785 786 -AT+MBFUN has only two value: 916 +**AT+MBFUN has only two value:** 787 787 788 -* AT+MBFUN=1: Enable Modbus reading. And get response base on the MODBUS return 918 +* **AT+MBFUN=1**: Enable Modbus reading. And get response base on the MODBUS return 789 789 790 790 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. 791 791 792 -* AT+MBFUN=0: Disable Modbus fast reading. 922 +* **AT+MBFUN=0**: Disable Modbus fast reading. 793 793 794 -Example: 924 +**Example:** 795 795 796 796 * AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0). 797 797 * 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. 798 798 * 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. 799 799 800 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image025.png]]930 +[[image:1654133913295-597.png]] 801 801 802 802 803 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image026.png]]933 +[[image:1654133954153-643.png]] 804 804 805 805 806 -* Downlink Commands: 936 +* **Downlink Commands:** 807 807 808 -A9 aa - àSame as AT+MBFUN=aa938 +**A9 aa** ~-~-> Same as AT+MBFUN=aa 809 809 810 810 811 -==== RS485 command timeout ==== 812 812 942 +==== **RS485 command timeout** ==== 943 + 813 813 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. 814 814 815 815 Default value: 0, range: 0 ~~ 5 seconds 816 816 817 817 818 -* AT Command: 949 +* **AT Command:** 819 819 820 -AT+CMDDLaa=hex(bb cc) 951 +(% class="box infomessage" %) 952 +((( 953 +**AT+CMDDLaa=hex(bb cc)** 954 +))) 821 821 822 -Example: 956 +**Example:** 823 823 824 824 **AT+CMDDL1=1000** to send the open time to 1000ms 825 825 826 826 827 -* Downlink Payload: 961 +* **Downlink Payload:** 828 828 829 829 0x AA aa bb cc 830 830 831 831 Same as: AT+CMDDLaa=hex(bb cc) 832 832 833 - Example: 967 + **Example:** 834 834 835 - 0xAA 01 03 E8 àSame as **AT+CMDDL1=1000 ms**969 + **0xAA 01 03 E8** ~-~-> Same as **AT+CMDDL1=1000 ms** 836 836 837 837 838 -==== [[Uplink>>path:#downlink_A8]] payload mode ==== 839 839 973 +==== **Uplink payload mode** ==== 974 + 840 840 Define to use one uplink or multiple uplinks for the sampling. 841 841 842 -The use of this command please see: [[Compose Uplink payload>> path:#DataUP]]977 +The use of this command please see: [[Compose Uplink payload>>||anchor="H3.3.4Composetheuplinkpayload"]] 843 843 844 -* AT Command: 979 +* **AT Command:** 845 845 846 -AT+DATAUP=0 981 +(% class="box infomessage" %) 982 +((( 983 +**AT+DATAUP=0** 984 +))) 847 847 848 -AT+DATAUP=1 986 +(% class="box infomessage" %) 987 +((( 988 +**AT+DATAUP=1** 989 +))) 849 849 850 850 851 -* Downlink Payload: 992 +* **Downlink Payload:** 852 852 853 -0xAD 00 àSame as AT+DATAUP=0994 +**0xAD 00** **~-~->** Same as AT+DATAUP=0 854 854 855 -0xAD 01 àSame as AT+DATAUP=1996 +**0xAD 01** **~-~->** Same as AT+DATAUP=1 856 856 857 857 858 -==== Manually trigger an Uplink ==== 859 859 1000 +==== **Manually trigger an Uplink** ==== 1001 + 860 860 Ask device to send an uplink immediately. 861 861 862 -* Downlink Payload: 1004 +* **Downlink Payload:** 863 863 864 -0x08 FF, RS485-BL will immediately send an uplink. 1006 +**0x08 FF**, RS485-BL will immediately send an uplink. 865 865 866 866 867 -==== Clear RS485 Command ==== 868 868 1010 +==== **Clear RS485 Command** ==== 1011 + 869 869 The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them. 870 870 871 871 872 -* AT Command: 1015 +* **AT Command:** 873 873 874 -**AT+CMDEAR=mm,nn** 1017 +(% style="color:#037691" %)**AT+CMDEAR=mm,nn** (%%) mm: start position of erase ,nn: stop position of erase Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 875 875 876 -Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 877 - 878 878 Example screen shot after clear all RS485 commands. 879 879 880 880 881 - 882 882 The uplink screen shot is: 883 883 884 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]]1024 +[[image:1654134704555-320.png]] 885 885 886 886 887 -* Downlink Payload: 1027 +* **Downlink Payload:** 888 888 889 -0x09 aa bb same as AT+CMDEAR=aa,bb 1029 +**0x09 aa bb** same as AT+CMDEAR=aa,bb 890 890 891 891 892 -==== Set Serial Communication Parameters ==== 893 893 1033 +==== **Set Serial Communication Parameters** ==== 1034 + 894 894 Set the Rs485 serial communication parameters: 895 895 896 -* AT Command: 1037 +* **AT Command:** 897 897 898 898 Set Baud Rate: 899 899 900 -AT+BAUDR=9600 ~/~/ Options: (1200,2400,4800,14400,19200,115200) 1041 +(% class="box infomessage" %) 1042 +((( 1043 +**AT+BAUDR=9600** ~/~/ Options: (1200,2400,4800,14400,19200,115200) 1044 +))) 901 901 1046 +Set UART Parity 902 902 903 -Set UART parity 1048 +(% class="box infomessage" %) 1049 +((( 1050 +**AT+PARITY=0** ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity 1051 +))) 904 904 905 -AT+PARITY=0 ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity 906 - 907 - 908 908 Set STOPBIT 909 909 910 -AT+STOPBIT=0 ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits 1055 +(% class="box infomessage" %) 1056 +((( 1057 +**AT+STOPBIT=0** ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits 1058 +))) 911 911 912 912 913 -* Downlink Payload: 1061 +* **Downlink Payload:** 914 914 915 -A7 01 aa bb: Same AT+BAUDR=hex(aa bb)*100 1063 +**A7 01 aa bb**: Same AT+BAUDR=hex(aa bb)*100 916 916 917 -Example: 1065 +**Example:** 918 918 919 919 * A7 01 00 60 same as AT+BAUDR=9600 920 920 * A7 01 04 80 same as AT+BAUDR=115200 ... ... @@ -924,128 +924,119 @@ 924 924 A7 03 aa: Same as AT+STOPBIT=aa (aa value: 00 , 01 or 02) 925 925 926 926 927 -==== Control output power duration ==== 928 928 1076 +==== **Control output power duration** ==== 1077 + 929 929 User can set the output power duration before each sampling. 930 930 931 -* AT Command: 1080 +* **AT Command:** 932 932 933 -Example: 1082 +**Example:** 934 934 935 -AT+3V3T=1000 ~/~/ 3V3 output power will open 1s before each sampling. 1084 +**AT+3V3T=1000** ~/~/ 3V3 output power will open 1s before each sampling. 936 936 937 -AT+5VT=1000 ~/~/ +5V output power will open 1s before each sampling. 1086 +**AT+5VT=1000** ~/~/ +5V output power will open 1s before each sampling. 938 938 939 939 940 -* LoRaWAN Downlink Command: 1089 +* **LoRaWAN Downlink Command:** 941 941 942 -07 01 aa bb Same as AT+5VT=(aa bb) 1091 +**07 01 aa bb** Same as AT+5VT=(aa bb) 943 943 944 -07 02 aa bb Same as AT+3V3T=(aa bb) 1093 +**07 02 aa bb** Same as AT+3V3T=(aa bb) 945 945 946 946 1096 +== 3.6 Buttons == 947 947 1098 +(% border="1" style="background-color:#ffffcc; color:green; width:233px" %) 1099 +|=(% style="width: 89px;" %)**Button**|=(% style="width: 141px;" %)**Feature** 1100 +|(% style="width:89px" %)**RST**|(% style="width:141px" %)Reboot RS485-BL 948 948 949 -1. 950 -11. Buttons 1102 +== 3.7 +3V3 Output == 951 951 952 -|**Button**|**Feature** 953 -|**RST**|Reboot RS485-BL 954 - 955 -1. 956 -11. +3V3 Output 957 - 958 958 RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor. 959 959 960 960 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. 961 961 962 - 963 963 The +3V3 output time can be controlled by AT Command. 964 964 965 -**AT+3V3T=1000** 966 966 967 - Meansset+3v3 valid timetohave 1000ms. So, thereal+3v3output will actually have1000ms + sampling time for other sensors.1111 +(% style="color:#037691" %)**AT+3V3T=1000** 968 968 969 969 1114 +Means set +3v3 valid time to have 1000ms. So, the real +3v3 output will actually have 1000ms + sampling time for other sensors. 1115 + 970 970 By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time 971 971 972 972 973 -1. 974 -11. +5V Output 1119 +== 3.8 +5V Output == 975 975 976 976 RS485-BL has a Controllable +5V output, user can use this output to power external sensor. 977 977 978 978 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. 979 979 980 - 981 981 The 5V output time can be controlled by AT Command. 982 982 983 -**AT+5VT=1000** 984 984 985 - Meansset5V valid timetohave 1000ms. So, thereal5Voutput will actually have1000ms + sampling time for other sensors.1128 +(% style="color:#037691" %)**AT+5VT=1000** 986 986 987 987 1131 +Means set 5V valid time to have 1000ms. So, the real 5V output will actually have 1000ms + sampling time for other sensors. 1132 + 988 988 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. 989 989 990 990 1136 +== 3.9 LEDs == 991 991 1138 +(% border="1" style="background-color:#ffffcc; color:green; width:332px" %) 1139 +|=**LEDs**|=(% style="width: 274px;" %)**Feature** 1140 +|**LED1**|(% style="width:274px" %)Blink when device transmit a packet. 992 992 993 -1. 994 -11. LEDs 1142 +== 3.10 Switch Jumper == 995 995 996 -|**LEDs**|**Feature** 997 -|**LED1**|Blink when device transmit a packet. 998 - 999 -1. 1000 -11. Switch Jumper 1001 - 1002 -|**Switch Jumper**|**Feature** 1003 -|**SW1**|((( 1144 +(% border="1" style="background-color:#ffffcc; color:green; width:515px" %) 1145 +|=(% style="width: 124px;" %)**Switch Jumper**|=(% style="width: 388px;" %)**Feature** 1146 +|(% style="width:124px" %)**SW1**|(% style="width:388px" %)((( 1004 1004 ISP position: Upgrade firmware via UART 1005 1005 1006 1006 Flash position: Configure device, check running status. 1007 1007 ))) 1008 -|**SW2**|((( 1151 +|(% style="width:124px" %)**SW2**|(% style="width:388px" %)((( 1009 1009 5V position: set to compatible with 5v I/O. 1010 1010 1011 1011 3.3v position: set to compatible with 3.3v I/O., 1012 1012 ))) 1013 1013 1014 -+3.3V: is always ON 1157 +**+3.3V**: is always ON 1015 1015 1016 -+5V: Only open before every sampling. The time is by default, it is AT+5VT=0. Max open time. 5000 ms. 1159 +**+5V**: Only open before every sampling. The time is by default, it is AT+5VT=0. Max open time. 5000 ms. 1017 1017 1018 -1. Case Study 1019 1019 1020 - Usercancheck this URL for some casestudies.1162 += 4. Case Study = 1021 1021 1022 - [[http:~~/~~/wiki.dragino.com/index.php?title=APP_RS485_COMMUNICATE_WITH_SENSORS>>url:http://wiki.dragino.com/index.php?title=APP_RS485_COMMUNICATE_WITH_SENSORS]]1164 +User can check this URL for some case studies: [[APP RS485 COMMUNICATE WITH SENSORS>>doc:Main.Application Note \: Communicate with Different Sensors ----- RS485-LN RS485-BL.WebHome]] 1023 1023 1024 1024 1167 += 5. Use AT Command = 1025 1025 1169 +== 5.1 Access AT Command == 1026 1026 1027 -1. Use AT Command 1028 -11. Access AT Command 1029 - 1030 1030 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. 1031 1031 1032 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image027.png]]1173 +[[image:1654135840598-282.png]] 1033 1033 1034 1034 1035 -In PC, User needs to set **serial tool**(such as [[putty>>url:https://www.chiark.greenend.org.uk/~~sgtatham/putty/latest.html]], SecureCRT) baud rate to **9600** to access to access serial console of RS485-BL. The default password is 123456. Below is the output for reference: 1176 +In PC, User needs to set (% style="color:blue" %)**serial tool**(%%)(such as [[putty>>url:https://www.chiark.greenend.org.uk/~~sgtatham/putty/latest.html]], SecureCRT) baud rate to (% style="color:green" %)**9600**(%%) to access to access serial console of RS485-BL. The default password is 123456. Below is the output for reference: 1036 1036 1037 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image028.png]]1178 +[[image:1654136105500-922.png]] 1038 1038 1039 1039 1181 +More detail AT Command manual can be found at [[AT Command Manual>>||anchor="3.5ConfigureRS485-BLviaATorDownlink"]] 1040 1040 1041 -More detail AT Command manual can be found at [[AT Command Manual>>path:#AT_COMMAND]] 1042 1042 1184 +== 5.2 Common AT Command Sequence == 1043 1043 1186 +=== 5.2.1 Multi-channel ABP mode (Use with SX1301/LG308) === 1044 1044 1045 -1. 1046 -11. Common AT Command Sequence 1047 -111. Multi-channel ABP mode (Use with SX1301/LG308) 1048 - 1049 1049 If device has not joined network yet: 1050 1050 1051 1051 AT+FDR
- 1652954654347-831.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +138.7 KB - Content
- 1653271044481-711.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +27.8 KB - Content
- 1653271276735-972.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +26.6 KB - Content
- 1653271581490-837.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +138.7 KB - Content
- 1653271648378-342.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +131.4 KB - Content
- 1653271657255-576.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +142.6 KB - Content
- 1653271763403-806.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +27.7 KB - Content
- 1653272787040-634.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +294.0 KB - Content
- 1653272817147-600.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +143.3 KB - Content
- 1653272901032-107.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +197.8 KB - Content
- 1653273818896-432.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +31.6 KB - Content
- 1653274001211-372.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +91.4 KB - Content
- 1654132684752-193.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +22.8 KB - Content
- 1654133913295-597.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +116.2 KB - Content
- 1654133954153-643.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +91.2 KB - Content
- 1654134704555-320.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +91.4 KB - Content
- 1654135840598-282.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +1.3 MB - Content
- 1654136105500-922.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +203.7 KB - Content