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

From version 29.14
edited by Xiaoling
on 2022/06/01 18:02
Change comment: There is no comment for this version
To version 15.5
edited by Xiaoling
on 2022/05/19 17:52
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -7,15 +7,12 @@
7 7  **RS485-BL – Waterproof RS485 to LoRaWAN Converter User Manual**
8 8  
9 9  
10 -
11 11  **Table of Contents:**
12 12  
13 -{{toc/}}
14 14  
15 15  
16 16  
17 17  
18 -
19 19  = 1.Introduction =
20 20  
21 21  == 1.1 What is RS485-BL RS485 to LoRaWAN Converter ==
... ... @@ -54,8 +54,6 @@
54 54  
55 55  [[image:1652953304999-717.png||height="424" width="733"]]
56 56  
57 -
58 -
59 59  == 1.2 Specifications ==
60 60  
61 61  **Hardware System:**
... ... @@ -95,8 +95,6 @@
95 95  * 127 dB Dynamic Range RSSI.
96 96  * Automatic RF Sense and CAD with ultra-fast AFC. ​​​
97 97  
98 -
99 -
100 100  == 1.3 Features ==
101 101  
102 102  * LoRaWAN Class A & Class C protocol (default Class A)
... ... @@ -108,8 +108,6 @@
108 108  * Support Modbus protocol
109 109  * Support Interrupt uplink
110 110  
111 -
112 -
113 113  == 1.4 Applications ==
114 114  
115 115  * Smart Buildings & Home Automation
... ... @@ -119,13 +119,10 @@
119 119  * Smart Cities
120 120  * Smart Factory
121 121  
122 -
123 -
124 124  == 1.5 Firmware Change log ==
125 125  
126 126  [[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);"]]
127 127  
128 -
129 129  == 1.6 Hardware Change log ==
130 130  
131 131  (((
... ... @@ -152,8 +152,6 @@
152 152  
153 153  (((
154 154  Release version ​​​​​
155 -
156 -
157 157  )))
158 158  
159 159  = 2. Pin mapping and Power ON Device =
... ... @@ -167,7 +167,6 @@
167 167  
168 168  The Left TXD and RXD are TTL interface for external sensor. TTL level is controlled by 3.3/5v Jumper.
169 169  
170 -
171 171  = 3. Operation Mode =
172 172  
173 173  == 3.1 How it works? ==
... ... @@ -174,8 +174,6 @@
174 174  
175 175  (((
176 176  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.
177 -
178 -
179 179  )))
180 180  
181 181  == 3.2 Example to join LoRaWAN network ==
... ... @@ -239,9 +239,7 @@
239 239  == 3.3 Configure Commands to read data ==
240 240  
241 241  (((
242 -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.
243 -
244 -
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.
245 245  )))
246 246  
247 247  === 3.3.1 onfigure UART settings for RS485 or TTL communication ===
... ... @@ -322,102 +322,88 @@
322 322  )))
323 323  )))
324 324  
325 -=== 3.3.2 Configure sensors ===
326 326  
327 -(((
328 -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**.
329 -)))
330 330  
331 -(((
332 -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.
333 -)))
334 334  
335 -(% border="1" style="background-color:#ffffcc; color:green; width:806px" %)
336 -|**AT Commands**|(% style="width:418px" %)**Description**|(% style="width:256px" %)**Example**
337 -|AT+CFGDEV|(% style="width:418px" %)(((
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|(((
338 338  This command is used to configure the RS485/TTL devices; they won’t be used during sampling.
339 339  
340 -AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,
322 +AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
341 341  
342 -mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
343 -)))|(% style="width:256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
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
344 344  
345 345  Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>path:#AT_CFGDEV]].
346 346  
347 -=== 3.3.3 Configure read commands for each sampling ===
348 348  
349 -(((
330 +
331 +
332 +
333 +1.
334 +11.
335 +111. Configure read commands for each sampling
336 +
350 350  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.
351 -)))
352 352  
353 -(((
339 +
354 354  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.
355 -)))
356 356  
357 -(((
342 +
358 358  To save the LoRaWAN network bandwidth, we might need to read data from different sensors and combine their valid value into a short payload.
359 -)))
360 360  
361 -(((
345 +
362 362  This section describes how to achieve above goals.
363 -)))
364 364  
365 -(((
348 +
366 366  During each sampling, the RS485-BL can support 15 commands to read sensors. And combine the return to one or several uplink payloads.
367 -)))
368 368  
369 -(((
351 +
370 370  **Command from RS485-BL to Sensor:**
371 -)))
372 372  
373 -(((
374 374  RS485-BL can send out pre-set max 15 strings via **AT+COMMAD1**, **ATCOMMAND2**,…, to **AT+COMMANDF** . All commands are of same grammar.
375 -)))
376 376  
377 -(((
356 +
378 378  **Handle return from sensors to RS485-BL**:
379 -)))
380 380  
381 -(((
382 382  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**
383 -)))
384 384  
385 -* (((
386 -**AT+DATACUT**
387 -)))
388 388  
389 -(((
362 +* **AT+DATACUT**
363 +
390 390  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.
391 -)))
392 392  
393 -* (((
394 -**AT+SEARCH**
395 -)))
396 396  
397 -(((
367 +* **AT+SEARCH**
368 +
398 398  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.
399 -)))
400 400  
401 -(((
371 +
402 402  **Define wait timeout:**
403 -)))
404 404  
405 -(((
406 406  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
407 -)))
408 408  
409 -(((
376 +
410 410  After we got the valid value from each RS485 commands, we need to combine them together with the command **AT+DATAUP**.
411 -)))
412 412  
379 +
413 413  **Examples:**
414 414  
415 415  Below are examples for the how above AT Commands works.
416 416  
384 +
417 417  **AT+COMMANDx : **This command will be sent to RS485/TTL devices during each sampling, Max command length is 14 bytes. The grammar is:
418 418  
419 -(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:501px" %)
420 -|(% style="width:498px" %)(((
387 +|(((
421 421  **AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m**
422 422  
423 423  **xx xx xx xx xx xx xx xx xx xx xx xx: The RS485 command to be sent**
... ... @@ -429,38 +429,41 @@
429 429  
430 430  In the RS485-BL, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same.
431 431  
399 +
432 432  **AT+SEARCHx**: This command defines how to handle the return from AT+COMMANDx.
433 433  
434 -(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:580px" %)
435 -|(% style="width:577px" %)(((
402 +|(((
436 436  **AT+SEARCHx=aa,xx xx xx xx xx**
437 437  
438 438  * **aa: 1: prefix match mode; 2: prefix and suffix match mode**
439 439  * **xx xx xx xx xx: match string. Max 5 bytes for prefix and 5 bytes for suffix**
407 +
408 +
440 440  )))
441 441  
442 -**Examples:**
411 +Examples:
443 443  
444 444  1. For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
445 445  
446 446  If we set AT+SEARCH1=1,1E 56 34.      (max 5 bytes for prefix)
447 447  
448 -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**
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
449 449  
450 -[[image:1653271044481-711.png]]
419 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image013.png]]
451 451  
421 +
452 452  1. For a return string from AT+COMMAND1:  16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
453 453  
454 454  If we set AT+SEARCH1=2, 1E 56 34+31 00 49
455 455  
456 -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**
426 +Device will search the bytes between 1E 56 34 and 31 00 49. So it is 2e 30 58 5f 36 41 30
457 457  
458 -[[image:1653271276735-972.png]]
428 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png]]
459 459  
430 +
460 460  **AT+DATACUTx : **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes.
461 461  
462 -(% style="background-color:#4f81bd; color:white; width:729px" %)
463 -|(% style="width:726px" %)(((
433 +|(((
464 464  **AT+DATACUTx=a,b,c**
465 465  
466 466  * **a: length for the return of AT+COMMAND**
... ... @@ -472,130 +472,95 @@
472 472  
473 473  * Grab bytes:
474 474  
475 -[[image:1653271581490-837.png||height="313" width="722"]]
445 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image015.png]]
476 476  
477 477  * Grab a section.
478 478  
479 -[[image:1653271648378-342.png||height="326" width="720"]]
449 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image016.png]]
480 480  
481 481  * Grab different sections.
482 482  
483 -[[image:1653271657255-576.png||height="305" width="730"]]
453 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image017.png]]
484 484  
485 -(((
486 -(% style="color:red" %)**Note:**
487 -)))
488 488  
489 -(((
456 +Note:
457 +
490 490  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.
491 -)))
492 492  
493 -(((
494 -**Example:**
495 -)))
460 +Example:
496 496  
497 -(((
498 -(% style="color:red" %)AT+COMMAND1=11 01 1E D0,0
499 -)))
462 +AT+COMMAND1=11 01 1E D0,0
500 500  
501 -(((
502 -(% style="color:red" %)AT+SEARCH1=1,1E 56 34
503 -)))
464 +AT+SEARCH1=1,1E 56 34
504 504  
505 -(((
506 -(% style="color:red" %)AT+DATACUT1=0,2,1~~5
507 -)))
466 +AT+DATACUT1=0,2,1~~5
508 508  
509 -(((
510 -(% style="color:red" %)Return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
511 -)))
468 +Return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
512 512  
513 -(((
514 -(% style="color:red" %)String after SEARCH command: 2e 30 58 5f 36 41 30 31 00 49
515 -)))
470 +String after SEARCH command: 2e 30 58 5f 36 41 30 31 00 49
516 516  
517 -(((
518 -(% style="color:red" %)Valid payload after DataCUT command: 2e 30 58 5f 36
519 -)))
472 +Valid payload after DataCUT command: 2e 30 58 5f 36
520 520  
521 -[[image:1653271763403-806.png]]
474 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image018.png]]
522 522  
523 -=== 3.3.4 Compose the uplink payload ===
524 524  
525 -(((
477 +
478 +
479 +1.
480 +11.
481 +111. Compose the uplink payload
482 +
526 526  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.**
527 -)))
528 528  
529 -(((
530 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=0**
531 -)))
532 532  
533 -(((
534 -Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**A SIGNLE UPLINK**.
535 -)))
486 +**Examples: AT+DATAUP=0**
536 536  
537 -(((
488 +Compose the uplink payload with value returns in sequence and send with **A SIGNLE UPLINK**.
489 +
538 538  Final Payload is
539 -)))
540 540  
541 -(((
542 -(% style="color:#4f81bd" %)Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx
543 -)))
492 +Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx
544 544  
545 -(((
546 546  Where PAYVER is defined by AT+PAYVER, below is an example screen shot.
547 -)))
548 548  
549 -[[image:1653272787040-634.png||height="515" width="719"]]
496 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image019.png]]
550 550  
551 -(((
552 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1**
553 -)))
554 554  
555 -(((
556 -Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**Multiply UPLINKs**.
557 -)))
558 558  
559 -(((
500 +**Examples: AT+DATAUP=1**
501 +
502 +Compose the uplink payload with value returns in sequence and send with **Multiply UPLINKs**.
503 +
560 560  Final Payload is
561 -)))
562 562  
563 -(((
564 -(% style="color:#4f81bd" %)Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA
565 -)))
506 +Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA
566 566  
567 -1. (((
568 -Battery Info (2 bytes): Battery voltage
569 -)))
570 -1. (((
571 -PAYVER (1 byte): Defined by AT+PAYVER
572 -)))
573 -1. (((
574 -PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling.
575 -)))
576 -1. (((
577 -PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT)
578 -)))
579 -1. (((
580 -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
581 -)))
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
582 582  
583 -[[image:1653272817147-600.png||height="437" width="717"]]
514 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image020.png]]
584 584  
516 +
585 585  So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA
586 586  
587 -DATA1=RETURN1 Valid Value = (% style="background-color:#4f81bd; color:white" %) 20 20 0a 33 90 41
519 +DATA1=RETURN1 Valid Value = 20 20 0a 33 90 41
588 588  
589 -DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= (% style="background-color:#4f81bd; color:white" %)02 aa 05 81 0a 20
521 +DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= 02 aa 05 81 0a 20
590 590  
591 -DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 =(% style="background-color:#4f81bd; color:white" %) 20 20 20 2d 30
523 +DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 = 20 20 20 2d 30
592 592  
525 +
526 +
593 593  Below are the uplink payloads:
594 594  
595 -[[image:1653272901032-107.png]]
529 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image021.png]]
596 596  
597 -(% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:
598 598  
532 +Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:
533 +
599 599   ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
600 600  
601 601   * For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
... ... @@ -604,121 +604,90 @@
604 604  
605 605   ~* For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
606 606  
607 -=== 3.3.5 Uplink on demand ===
608 608  
609 -(((
543 +
544 +1.
545 +11.
546 +111. Uplink on demand
547 +
610 610  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.
611 -)))
612 612  
613 -(((
614 614  Downlink control command:
615 -)))
616 616  
617 -(((
618 -**0x08 command**: Poll an uplink with current command set in RS485-BL.
619 -)))
552 +[[0x08 command>>path:#downlink_08]]: Poll an uplink with current command set in RS485-BL.
620 620  
621 -(((
622 -**0xA8 command**: Send a command to RS485-BL and uplink the output from sensors.
623 -)))
554 +[[0xA8 command>>path:#downlink_A8]]: Send a command to RS485-BL and uplink the output from sensors.
624 624  
625 -=== 3.3.6 Uplink on Interrupt ===
626 626  
627 -Put the interrupt sensor between 3.3v_out and GPIO ext.
628 628  
629 -[[image:1653273818896-432.png]]
558 +1.
559 +11.
560 +111. Uplink on Interrupt
630 630  
631 -(((
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]]
563 +
632 632  AT+INTMOD=0  Disable Interrupt
633 -)))
634 634  
635 -(((
636 636  AT+INTMOD=1  Interrupt trigger by rising or falling edge.
637 -)))
638 638  
639 -(((
640 640  AT+INTMOD=2  Interrupt trigger by falling edge. ( Default Value)
641 -)))
642 642  
643 -(((
644 644  AT+INTMOD=3  Interrupt trigger by rising edge.
645 -)))
646 646  
647 -== 3.4 Uplink Payload ==
648 648  
649 -(% border="1" style="background-color:#4f81bd; color:white; width:850px" %)
650 -|**Size(bytes)**|(% style="width:130px" %)**2**|(% style="width:93px" %)**1**|(% style="width:509px" %)**Length depends on the return from the commands**
651 -|Value|(% style="width:130px" %)(((
652 -(((
573 +1.
574 +11. Uplink Payload
575 +
576 +|**Size(bytes)**|**2**|**1**|**Length depends on the return from the commands**
577 +|Value|(((
653 653  Battery(mV)
654 -)))
655 655  
656 -(((
657 657  &
658 -)))
659 659  
660 -(((
661 661  Interrupt _Flag
662 -)))
663 -)))|(% style="width:93px" %)(((
583 +)))|(((
664 664  PAYLOAD_VER
665 665  
666 666  
667 -)))|(% 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.
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.
668 668  
669 669  Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors.
670 670  
671 -(((
591 +
672 672  function Decoder(bytes, port) {
673 -)))
674 674  
675 -(((
676 676  ~/~/Payload Formats of RS485-BL Deceive
677 -)))
678 678  
679 -(((
680 680  return {
681 -)))
682 682  
683 -(((
684 684   ~/~/Battery,units:V
685 -)))
686 686  
687 -(((
688 688   BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,
689 -)))
690 690  
691 -(((
692 692   ~/~/GPIO_EXTI 
693 -)))
694 694  
695 -(((
696 696   EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",
697 -)))
698 698  
699 -(((
700 700   ~/~/payload of version
701 -)))
702 702  
703 -(((
704 704   Pay_ver:bytes[2],
705 -)))
706 706  
707 -(((
708 708   };
709 -)))
710 710  
711 -(((
712 712   }
713 -)))
714 714  
715 -(((
614 +
615 +
616 +
617 +
618 +
619 +
716 716  TTN V3 uplink screen shot.
717 -)))
718 718  
719 -[[image:1653274001211-372.png||height="192" width="732"]]
622 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]]
720 720  
721 -== 3.5 Configure RS485-BL via AT or Downlink ==
624 +1.
625 +11. Configure RS485-BL via AT or Downlink
722 722  
723 723  User can configure RS485-BL via [[AT Commands >>path:#_​Using_the_AT]]or LoRaWAN Downlink Commands
724 724  
1652954654347-831.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -138.7 KB
Content
1653271044481-711.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -27.8 KB
Content
1653271276735-972.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -26.6 KB
Content
1653271581490-837.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -138.7 KB
Content
1653271648378-342.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -131.4 KB
Content
1653271657255-576.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -142.6 KB
Content
1653271763403-806.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -27.7 KB
Content
1653272787040-634.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -294.0 KB
Content
1653272817147-600.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -143.3 KB
Content
1653272901032-107.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -197.8 KB
Content
1653273818896-432.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -31.6 KB
Content
1653274001211-372.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -91.4 KB
Content