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

From version 40.30
edited by Xiaoling
on 2022/06/06 09:50
Change comment: There is no comment for this version
To version 40.55
edited by Xiaoling
on 2022/06/06 10:52
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -94,7 +94,6 @@
94 94  * 127 dB Dynamic Range RSSI.
95 95  * Automatic RF Sense and CAD with ultra-fast AFC. ​​​
96 96  
97 -
98 98  == 1.3 Features ==
99 99  
100 100  * LoRaWAN Class A & Class C protocol (default Class A)
... ... @@ -106,7 +106,6 @@
106 106  * Support Modbus protocol
107 107  * Support Interrupt uplink
108 108  
109 -
110 110  == 1.4 Applications ==
111 111  
112 112  * Smart Buildings & Home Automation
... ... @@ -116,7 +116,6 @@
116 116  * Smart Cities
117 117  * Smart Factory
118 118  
119 -
120 120  == 1.5 Firmware Change log ==
121 121  
122 122  [[RS485-BL Image files – Download link and Change log>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/RS485-BL/Firmware/||style="background-color: rgb(255, 255, 255);"]]
... ... @@ -127,29 +127,47 @@
127 127  (((
128 128  
129 129  
127 +(((
130 130  v1.4
131 131  )))
130 +)))
132 132  
133 133  (((
133 +(((
134 134  ~1. Change Power IC to TPS22916
135 135  )))
136 +)))
136 136  
138 +(((
139 +
140 +)))
137 137  
138 138  (((
143 +(((
139 139  v1.3
140 140  )))
146 +)))
141 141  
142 142  (((
149 +(((
143 143  ~1. Change JP3 from KF350-8P to KF350-11P, Add one extra interface for I2C and one extra interface for one-wire
144 144  )))
152 +)))
145 145  
154 +(((
155 +
156 +)))
146 146  
147 147  (((
159 +(((
148 148  v1.2
149 149  )))
162 +)))
150 150  
151 151  (((
165 +(((
152 152  Release version ​​​​​
167 +)))
153 153  
154 154  
155 155  )))
... ... @@ -243,83 +243,132 @@
243 243  
244 244  === 3.3.1 onfigure UART settings for RS485 or TTL communication ===
245 245  
261 +(((
246 246  RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect.
263 +)))
247 247  
265 +(((
248 248  **~1. RS485-MODBUS mode:**
267 +)))
249 249  
269 +(((
250 250  AT+MOD=1 ~/~/ Support RS485-MODBUS type sensors. User can connect multiply RS485 , Modbus sensors to the A / B pins.
271 +)))
251 251  
273 +(((
252 252  **2. TTL mode:**
275 +)))
253 253  
277 +(((
254 254  AT+MOD=2 ~/~/ Support TTL Level sensors, User can connect one TTL Sensor to the TXD/RXD/GND pins.
279 +)))
255 255  
281 +(((
256 256  RS485-BL default UART settings is **9600, no parity, stop bit 1**. If the sensor has a different settings, user can change the RS485-BL setting to match.
283 +)))
257 257  
258 -(% border="1" style="background-color:#ffffcc; color:green; width:795px" %)
259 -|(((
285 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
286 +|=(% style="width: 120px;" %)(((
287 +(((
260 260  **AT Commands**
261 -)))|(% style="width:285px" %)(((
289 +)))
290 +)))|=(% style="width: 190px;" %)(((
291 +(((
262 262  **Description**
263 -)))|(% style="width:347px" %)(((
293 +)))
294 +)))|=(% style="width: 190px;" %)(((
295 +(((
264 264  **Example**
265 265  )))
266 -|(((
298 +)))
299 +|(% style="width:120px" %)(((
300 +(((
267 267  AT+BAUDR
268 -)))|(% style="width:285px" %)(((
302 +)))
303 +)))|(% style="width:190px" %)(((
304 +(((
269 269  Set the baud rate (for RS485 connection). Default Value is: 9600.
270 -)))|(% style="width:347px" %)(((
306 +)))
307 +)))|(% style="width:190px" %)(((
271 271  (((
309 +(((
272 272  AT+BAUDR=9600
273 273  )))
312 +)))
274 274  
275 275  (((
315 +(((
276 276  Options: (1200,2400,4800,14400,19200,115200)
277 277  )))
278 278  )))
279 -|(((
319 +)))
320 +|(% style="width:120px" %)(((
321 +(((
280 280  AT+PARITY
281 -)))|(% style="width:285px" %)(((
323 +)))
324 +)))|(% style="width:190px" %)(((
282 282  (((
326 +(((
283 283  Set UART parity (for RS485 connection)
284 284  )))
329 +)))
285 285  
286 286  (((
332 +(((
287 287  Default Value is: no parity.
288 288  )))
289 -)))|(% style="width:347px" %)(((
335 +)))
336 +)))|(% style="width:190px" %)(((
290 290  (((
338 +(((
291 291  AT+PARITY=0
292 292  )))
341 +)))
293 293  
294 294  (((
344 +(((
295 295  Option: 0: no parity, 1: odd parity, 2: even parity
296 296  )))
297 297  )))
298 -|(((
348 +)))
349 +|(% style="width:120px" %)(((
350 +(((
299 299  AT+STOPBIT
300 -)))|(% style="width:285px" %)(((
352 +)))
353 +)))|(% style="width:190px" %)(((
301 301  (((
355 +(((
302 302  Set serial stopbit (for RS485 connection)
303 303  )))
358 +)))
304 304  
305 305  (((
361 +(((
306 306  Default Value is: 1bit.
307 307  )))
308 -)))|(% style="width:347px" %)(((
364 +)))
365 +)))|(% style="width:190px" %)(((
309 309  (((
367 +(((
310 310  AT+STOPBIT=0 for 1bit
311 311  )))
370 +)))
312 312  
313 313  (((
373 +(((
314 314  AT+STOPBIT=1 for 1.5 bit
315 315  )))
376 +)))
316 316  
317 317  (((
379 +(((
318 318  AT+STOPBIT=2 for 2 bits
319 319  )))
320 320  )))
383 +)))
321 321  
322 322  
386 +
323 323  === 3.3.2 Configure sensors ===
324 324  
325 325  (((
... ... @@ -330,19 +330,20 @@
330 330  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.
331 331  )))
332 332  
333 -(% border="1" style="background-color:#ffffcc; color:green; width:806px" %)
334 -|**AT Commands**|(% style="width:418px" %)**Description**|(% style="width:256px" %)**Example**
335 -|AT+CFGDEV|(% style="width:418px" %)(((
397 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
398 +|=(% style="width: 120px;" %)**AT Commands**|=(% style="width: 190px;" %)**Description**|=(% style="width: 190px;" %)**Example**
399 +|AT+CFGDEV|(% style="width:120px" %)(((
336 336  This command is used to configure the RS485/TTL devices; they won’t be used during sampling.
337 337  
338 338  AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,
339 339  
340 340  mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
341 -)))|(% style="width:256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
405 +)))|(% style="width:190px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
342 342  
343 343  Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]].
344 344  
345 345  
410 +
346 346  === 3.3.3 Configure read commands for each sampling ===
347 347  
348 348  (((
... ... @@ -409,117 +409,209 @@
409 409  After we got the valid value from each RS485 commands, we need to combine them together with the command **AT+DATAUP**.
410 410  )))
411 411  
477 +(((
412 412  **Examples:**
479 +)))
413 413  
481 +(((
414 414  Below are examples for the how above AT Commands works.
483 +)))
415 415  
485 +(((
416 416  **AT+COMMANDx : **This command will be sent to RS485/TTL devices during each sampling, Max command length is 14 bytes. The grammar is:
487 +)))
417 417  
418 -(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:501px" %)
489 +(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:500px" %)
419 419  |(% style="width:498px" %)(((
491 +(((
420 420  **AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m**
493 +)))
421 421  
495 +(((
422 422  **xx xx xx xx xx xx xx xx xx xx xx xx: The RS485 command to be sent**
497 +)))
423 423  
499 +(((
424 424  **m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command**
425 425  )))
502 +)))
426 426  
504 +(((
427 427  For example, if we have a RS485 sensor. The command to get sensor value is: 01 03 0B B8 00 02 46 0A. Where 01 03 0B B8 00 02 is the Modbus command to read the register 0B B8 where stored the sensor value. The 46 0A is the CRC-16/MODBUS which calculate manually.
506 +)))
428 428  
508 +(((
429 429  In the RS485-BL, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same.
510 +)))
430 430  
512 +(((
431 431  **AT+SEARCHx**: This command defines how to handle the return from AT+COMMANDx.
514 +)))
432 432  
433 -(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:580px" %)
516 +(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:500px" %)
434 434  |(% style="width:577px" %)(((
518 +(((
435 435  **AT+SEARCHx=aa,xx xx xx xx xx**
520 +)))
436 436  
437 -* **aa: 1: prefix match mode; 2: prefix and suffix match mode**
438 -* **xx xx xx xx xx: match string. Max 5 bytes for prefix and 5 bytes for suffix**
522 +* (((
523 +**aa: 1: prefix match mode; 2: prefix and suffix match mode**
439 439  )))
525 +* (((
526 +**xx xx xx xx xx: match string. Max 5 bytes for prefix and 5 bytes for suffix**
527 +)))
528 +)))
440 440  
530 +(((
441 441  **Examples:**
532 +)))
442 442  
534 +(((
443 443  1)For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
536 +)))
444 444  
538 +(((
445 445  If we set AT+SEARCH1=1,1E 56 34.      (max 5 bytes for prefix)
540 +)))
446 446  
542 +(((
447 447  The valid data will be all bytes after 1E 56 34 , so it is (% style="background-color:yellow" %)**2e 30 58 5f 36 41 30 31 00 49**
544 +)))
448 448  
546 +(((
449 449  [[image:1653271044481-711.png]]
548 +)))
450 450  
550 +(((
451 451  2)For a return string from AT+COMMAND1:  16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
552 +)))
452 452  
554 +(((
453 453  If we set AT+SEARCH1=2, 1E 56 34+31 00 49
556 +)))
454 454  
558 +(((
455 455  Device will search the bytes between 1E 56 34 and 31 00 49. So it is(% style="background-color:yellow" %) **2e 30 58 5f 36 41 30**
560 +)))
456 456  
562 +(((
457 457  [[image:1653271276735-972.png]]
564 +)))
458 458  
566 +(((
459 459  **AT+DATACUTx : **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes.
568 +)))
460 460  
461 -(% style="background-color:#4f81bd; color:white; width:729px" %)
570 +(% style="background-color:#4f81bd; color:white; width:510px" %)
462 462  |(% style="width:726px" %)(((
572 +(((
463 463  **AT+DATACUTx=a,b,c**
574 +)))
464 464  
465 -* **a: length for the return of AT+COMMAND**
466 -* **b:1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.**
467 -* **c: define the position for valid value.  **
576 +* (((
577 +**a: length for the return of AT+COMMAND**
468 468  )))
579 +* (((
580 +**b:1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.**
581 +)))
582 +* (((
583 +**c: define the position for valid value.  **
584 +)))
585 +)))
469 469  
587 +(((
470 470  **Examples:**
589 +)))
471 471  
472 -* Grab bytes:
591 +* (((
592 +Grab bytes:
593 +)))
473 473  
595 +(((
474 474  [[image:1653271581490-837.png||height="313" width="722"]]
597 +)))
475 475  
599 +(((
600 +
601 +)))
476 476  
477 -* Grab a section.
603 +* (((
604 +Grab a section.
605 +)))
478 478  
607 +(((
479 479  [[image:1653271648378-342.png||height="326" width="720"]]
609 +)))
480 480  
611 +(((
612 +
613 +)))
481 481  
482 -* Grab different sections.
615 +* (((
616 +Grab different sections.
617 +)))
483 483  
619 +(((
484 484  [[image:1653271657255-576.png||height="305" width="730"]]
621 +)))
485 485  
486 486  (((
624 +(((
487 487  (% style="color:red" %)**Note:**
488 488  )))
627 +)))
489 489  
490 490  (((
630 +(((
491 491  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.
492 492  )))
633 +)))
493 493  
494 494  (((
636 +(((
495 495  **Example:**
496 496  )))
639 +)))
497 497  
498 498  (((
642 +(((
499 499  (% style="color:red" %)AT+COMMAND1=11 01 1E D0,0
500 500  )))
645 +)))
501 501  
502 502  (((
648 +(((
503 503  (% style="color:red" %)AT+SEARCH1=1,1E 56 34
504 504  )))
651 +)))
505 505  
506 506  (((
654 +(((
507 507  (% style="color:red" %)AT+DATACUT1=0,2,1~~5
508 508  )))
657 +)))
509 509  
510 510  (((
660 +(((
511 511  (% style="color:red" %)Return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
512 512  )))
663 +)))
513 513  
514 514  (((
666 +(((
515 515  (% style="color:red" %)String after SEARCH command: 2e 30 58 5f 36 41 30 31 00 49
516 516  )))
669 +)))
517 517  
518 518  (((
672 +(((
519 519  (% style="color:red" %)Valid payload after DataCUT command: 2e 30 58 5f 36
520 520  )))
675 +)))
521 521  
677 +(((
522 522  [[image:1653271763403-806.png]]
679 +)))
523 523  
524 524  
525 525  === 3.3.4 Compose the uplink payload ===
... ... @@ -526,10 +526,14 @@
526 526  
527 527  (((
528 528  Through AT+COMMANDx and AT+DATACUTx we got valid value from each RS485 commands, Assume these valid value are RETURN1, RETURN2, .., to RETURNx. The next step is how to compose the LoRa Uplink Payload by these RETURNs. The command is **AT+DATAUP.**
686 +
687 +
529 529  )))
530 530  
531 531  (((
532 532  (% style="color:#037691" %)**Examples: AT+DATAUP=0**
692 +
693 +
533 533  )))
534 534  
535 535  (((
... ... @@ -747,7 +747,6 @@
747 747  
748 748  * (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL.  User can see these commands below:
749 749  
750 -
751 751  === 3.5.1 Common Commands: ===
752 752  
753 753  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]]
... ... @@ -1107,7 +1107,6 @@
1107 1107  |=(% style="width: 89px;" %)**Button**|=(% style="width: 141px;" %)**Feature**
1108 1108  |(% style="width:89px" %)**RST**|(% style="width:141px" %)Reboot RS485-BL
1109 1109  
1110 -
1111 1111  == 3.7 +3V3 Output ==
1112 1112  
1113 1113  RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor.
... ... @@ -1148,7 +1148,6 @@
1148 1148  |=**LEDs**|=(% style="width: 274px;" %)**Feature**
1149 1149  |**LED1**|(% style="width:274px" %)Blink when device transmit a packet.
1150 1150  
1151 -
1152 1152  == 3.10 Switch Jumper ==
1153 1153  
1154 1154  (% border="1" style="background-color:#ffffcc; color:green; width:515px" %)
... ... @@ -1292,13 +1292,17 @@
1292 1292  
1293 1293  == 6.2 How to change the LoRa Frequency Bands/Region? ==
1294 1294  
1453 +(((
1295 1295  User can follow the introduction for [[how to upgrade image>>||anchor="H6.1Howtoupgradetheimage3F"]]. When download the images, choose the required image file for download.
1455 +)))
1296 1296  
1297 1297  
1298 1298  
1299 1299  == 6.3 How many RS485-Slave can RS485-BL connects? ==
1300 1300  
1461 +(((
1301 1301  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"]].
1463 +)))
1302 1302  
1303 1303  
1304 1304  
... ... @@ -1332,8 +1332,6 @@
1332 1332  * (% style="color:blue" %)**RU864**(%%): frequency bands RU864
1333 1333  * (% style="color:blue" %)**KZ865**(%%): frequency bands KZ865
1334 1334  
1335 -
1336 -
1337 1337  = 9. Packing Info =
1338 1338  
1339 1339  (((