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

From version 41.16
edited by Xiaoling
on 2022/06/06 11:03
Change comment: There is no comment for this version
To version 41.36
edited by Xiaoling
on 2022/06/06 11:20
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -872,7 +872,7 @@
872 872  )))
873 873  
874 874  (((
875 -**}**
875 +{{{}}}}
876 876  
877 877  
878 878  )))
... ... @@ -886,13 +886,21 @@
886 886  
887 887  == 3.5 Configure RS485-BL via AT or Downlink ==
888 888  
889 +(((
889 889  User can configure RS485-BL via AT Commands or LoRaWAN Downlink Commands
891 +)))
890 890  
893 +(((
891 891  There are two kinds of Commands:
895 +)))
892 892  
893 -* (% 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: [[AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]
897 +* (((
898 +(% 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: [[AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]
899 +)))
894 894  
895 -* (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL.  User can see these commands below:
901 +* (((
902 +(% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL.  User can see these commands below:
903 +)))
896 896  
897 897  
898 898  
... ... @@ -931,51 +931,101 @@
931 931  
932 932  ==== **RS485 Debug Command (AT+CFGDEV)** ====
933 933  
942 +(((
934 934  This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling.
944 +)))
935 935  
936 -* **AT Command**
946 +* (((
947 +**AT Command**
948 +)))
937 937  
938 938  (% class="box infomessage" %)
939 939  (((
952 +(((
940 940  **AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m**
941 941  )))
955 +)))
942 942  
957 +(((
943 943  m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command.
959 +)))
944 944  
961 +(((
962 +
963 +)))
945 945  
946 -* **Downlink Payload**
965 +* (((
966 +**Downlink Payload**
967 +)))
947 947  
969 +(((
948 948  Format: A8 MM NN XX XX XX XX YY
971 +)))
949 949  
973 +(((
950 950  Where:
975 +)))
951 951  
952 -* MM: 1: add CRC-16/MODBUS ; 0: no CRC
953 -* NN: The length of RS485 command
954 -* XX XX XX XX: RS485 command total NN bytes
955 -* 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
977 +* (((
978 +MM: 1: add CRC-16/MODBUS ; 0: no CRC
979 +)))
980 +* (((
981 +NN: The length of RS485 command
982 +)))
983 +* (((
984 +XX XX XX XX: RS485 command total NN bytes
985 +)))
986 +* (((
987 +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
988 +)))
956 956  
990 +(((
957 957  **Example 1:**
992 +)))
958 958  
994 +(((
959 959  To connect a Modbus Alarm with below commands.
996 +)))
960 960  
961 -* 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.
998 +* (((
999 +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.
1000 +)))
962 962  
963 -* 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.
1002 +* (((
1003 +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.
1004 +)))
964 964  
1006 +(((
965 965  So if user want to use downlink command to control to RS485 Alarm, he can use:
1008 +)))
966 966  
1010 +(((
967 967  (% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 01 00**(%%): to activate the RS485 Alarm
1012 +)))
968 968  
1014 +(((
969 969  (% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 00 00**(%%): to deactivate the RS485 Alarm
1016 +)))
970 970  
1018 +(((
971 971  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.
1020 +)))
972 972  
1022 +(((
1023 +
1024 +)))
973 973  
1026 +(((
974 974  **Example 2:**
1028 +)))
975 975  
1030 +(((
976 976  Check TTL Sensor return:
1032 +)))
977 977  
1034 +(((
978 978  [[image:1654132684752-193.png]]
1036 +)))
979 979  
980 980  
981 981  
... ... @@ -1004,62 +1004,121 @@
1004 1004  
1005 1005  ==== **Set RS485 Sampling Commands** ====
1006 1006  
1065 +(((
1007 1007  AT+COMMANDx, AT+DATACUTx and AT+SEARCHx
1067 +)))
1008 1008  
1069 +(((
1009 1009  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"]].
1071 +)))
1010 1010  
1073 +(((
1074 +
1075 +)))
1011 1011  
1012 -* **AT Command:**
1077 +* (((
1078 +**AT Command:**
1079 +)))
1013 1013  
1014 1014  (% class="box infomessage" %)
1015 1015  (((
1083 +(((
1016 1016  **AT+COMMANDx: Configure RS485 read command to sensor.**
1017 1017  )))
1086 +)))
1018 1018  
1019 1019  (% class="box infomessage" %)
1020 1020  (((
1090 +(((
1021 1021  **AT+DATACUTx: Configure how to handle return from RS485 devices.**
1022 1022  )))
1093 +)))
1023 1023  
1024 1024  (% class="box infomessage" %)
1025 1025  (((
1097 +(((
1026 1026  **AT+SEARCHx: Configure search command**
1027 1027  )))
1100 +)))
1028 1028  
1102 +(((
1103 +
1104 +)))
1029 1029  
1030 -* **Downlink Payload:**
1106 +* (((
1107 +**Downlink Payload:**
1108 +)))
1031 1031  
1110 +(((
1032 1032  **0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
1112 +)))
1033 1033  
1114 +(((
1034 1034  (% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.
1116 +)))
1035 1035  
1118 +(((
1036 1036  Format: AF MM NN LL XX XX XX XX YY
1120 +)))
1037 1037  
1122 +(((
1038 1038  Where:
1124 +)))
1039 1039  
1040 -* MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
1041 -* NN:  0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
1042 -* LL:  The length of AT+COMMAND or AT+DATACUT command
1043 -* XX XX XX XX: AT+COMMAND or AT+DATACUT command
1044 -* 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.
1126 +* (((
1127 +MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
1128 +)))
1129 +* (((
1130 +NN:  0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
1131 +)))
1132 +* (((
1133 +LL:  The length of AT+COMMAND or AT+DATACUT command
1134 +)))
1135 +* (((
1136 +XX XX XX XX: AT+COMMAND or AT+DATACUT command
1137 +)))
1138 +* (((
1139 +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.
1140 +)))
1045 1045  
1142 +(((
1046 1046  **Example:**
1144 +)))
1047 1047  
1146 +(((
1048 1048  (% 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
1148 +)))
1049 1049  
1150 +(((
1050 1050  (% 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**
1152 +)))
1051 1051  
1154 +(((
1052 1052  (% 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**
1156 +)))
1053 1053  
1158 +(((
1159 +
1160 +)))
1054 1054  
1162 +(((
1055 1055  **0xAB** downlink command can be used for set AT+SEARCHx
1164 +)))
1056 1056  
1166 +(((
1057 1057  **Example:** **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So
1168 +)))
1058 1058  
1059 -* AB aa 01 03 xx xx xx  same as AT+SEARCHaa=1,xx xx xx
1060 -* 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
1170 +* (((
1171 +AB aa 01 03 xx xx xx  same as AT+SEARCHaa=1,xx xx xx
1172 +)))
1173 +* (((
1174 +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
1175 +)))
1061 1061  
1177 +(((
1062 1062  **AB aa 02 03 xx xx xx 02 yy yy**  same as **AT+SEARCHaa=2,xx xx xx+yy yy**
1179 +)))
1063 1063  
1064 1064  
1065 1065  
... ... @@ -1066,24 +1066,47 @@
1066 1066  
1067 1067  ==== **Fast command to handle MODBUS device** ====
1068 1068  
1186 +(((
1069 1069  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]].
1188 +)))
1070 1070  
1190 +(((
1071 1071  This command is valid since v1.3 firmware version
1192 +)))
1072 1072  
1194 +(((
1195 +
1196 +)))
1073 1073  
1198 +(((
1074 1074  **AT+MBFUN has only two value:**
1200 +)))
1075 1075  
1076 -* **AT+MBFUN=1**: Enable Modbus reading. And get response base on the MODBUS return
1202 +* (((
1203 +**AT+MBFUN=1**: Enable Modbus reading. And get response base on the MODBUS return
1204 +)))
1077 1077  
1206 +(((
1078 1078  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.
1208 +)))
1079 1079  
1080 -* **AT+MBFUN=0**: Disable Modbus fast reading.
1210 +* (((
1211 +**AT+MBFUN=0**: Disable Modbus fast reading.
1212 +)))
1081 1081  
1214 +(((
1082 1082  **Example:**
1216 +)))
1083 1083  
1084 -* AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0).
1085 -* 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.
1086 -* 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.
1218 +* (((
1219 +AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0).
1220 +)))
1221 +* (((
1222 +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.
1223 +)))
1224 +* (((
1225 +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.
1226 +)))
1087 1087  
1088 1088  [[image:1654133913295-597.png]]
1089 1089  
... ... @@ -1091,9 +1091,13 @@
1091 1091  [[image:1654133954153-643.png]]
1092 1092  
1093 1093  
1094 -* **Downlink Commands:**
1234 +* (((
1235 +**Downlink Commands:**
1236 +)))
1095 1095  
1238 +(((
1096 1096  **A9 aa** ~-~-> Same as AT+MBFUN=aa
1240 +)))
1097 1097  
1098 1098  
1099 1099  
... ... @@ -1262,7 +1262,7 @@
1262 1262  
1263 1263  == 3.6 Buttons ==
1264 1264  
1265 -(% border="1" style="background-color:#ffffcc; color:green; width:233px" %)
1409 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:233px" %)
1266 1266  |=(% style="width: 89px;" %)**Button**|=(% style="width: 141px;" %)**Feature**
1267 1267  |(% style="width:89px" %)**RST**|(% style="width:141px" %)Reboot RS485-BL
1268 1268  
... ... @@ -1270,38 +1270,75 @@
1270 1270  
1271 1271  == 3.7 +3V3 Output ==
1272 1272  
1417 +(((
1273 1273  RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor.
1419 +)))
1274 1274  
1421 +(((
1275 1275  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. 
1423 +)))
1276 1276  
1425 +(((
1277 1277  The +3V3 output time can be controlled by AT Command.
1427 +)))
1278 1278  
1429 +(((
1430 +
1431 +)))
1279 1279  
1433 +(((
1280 1280  (% style="color:#037691" %)**AT+3V3T=1000**
1435 +)))
1281 1281  
1437 +(((
1438 +
1439 +)))
1282 1282  
1441 +(((
1283 1283  Means set +3v3 valid time to have 1000ms. So, the real +3v3 output will actually have 1000ms + sampling time for other sensors.
1443 +)))
1284 1284  
1445 +(((
1285 1285  By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time
1447 +)))
1286 1286  
1287 1287  
1288 1288  == 3.8 +5V Output ==
1289 1289  
1452 +(((
1290 1290  RS485-BL has a Controllable +5V output, user can use this output to power external sensor.
1454 +)))
1291 1291  
1456 +(((
1292 1292  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. 
1458 +)))
1293 1293  
1460 +(((
1294 1294  The 5V output time can be controlled by AT Command.
1462 +)))
1295 1295  
1464 +(((
1465 +
1466 +)))
1296 1296  
1468 +(((
1297 1297  (% style="color:#037691" %)**AT+5VT=1000**
1470 +)))
1298 1298  
1472 +(((
1473 +
1474 +)))
1299 1299  
1476 +(((
1300 1300  Means set 5V valid time to have 1000ms. So, the real 5V output will actually have 1000ms + sampling time for other sensors.
1478 +)))
1301 1301  
1480 +(((
1302 1302  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.
1482 +)))
1303 1303  
1304 1304  
1485 +
1305 1305  == 3.9 LEDs ==
1306 1306  
1307 1307  (% border="1" style="background-color:#ffffcc; color:green; width:332px" %)
... ... @@ -1308,6 +1308,8 @@
1308 1308  |=**LEDs**|=(% style="width: 274px;" %)**Feature**
1309 1309  |**LED1**|(% style="width:274px" %)Blink when device transmit a packet.
1310 1310  
1492 +
1493 +
1311 1311  == 3.10 Switch Jumper ==
1312 1312  
1313 1313  (% border="1" style="background-color:#ffffcc; color:green; width:515px" %)
... ... @@ -1323,9 +1323,13 @@
1323 1323  3.3v position: set to compatible with 3.3v I/O.,
1324 1324  )))
1325 1325  
1509 +(((
1326 1326  **+3.3V**: is always ON
1511 +)))
1327 1327  
1513 +(((
1328 1328  **+5V**: Only open before every sampling. The time is by default, it is AT+5VT=0.  Max open time. 5000 ms.
1515 +)))
1329 1329  
1330 1330  
1331 1331  = 4. Case Study =
... ... @@ -1337,17 +1337,23 @@
1337 1337  
1338 1338  == 5.1 Access AT Command ==
1339 1339  
1527 +(((
1340 1340  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.
1529 +)))
1341 1341  
1342 1342  [[image:1654135840598-282.png]]
1343 1343  
1344 1344  
1534 +(((
1345 1345  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:
1536 +)))
1346 1346  
1347 1347  [[image:1654136105500-922.png]]
1348 1348  
1349 1349  
1541 +(((
1350 1350  More detail AT Command manual can be found at [[AT Command Manual>>||anchor="H3.5ConfigureRS485-BLviaATorDownlink"]]
1543 +)))
1351 1351  
1352 1352  
1353 1353  == 5.2 Common AT Command Sequence ==
... ... @@ -1372,7 +1372,9 @@
1372 1372  )))
1373 1373  
1374 1374  
1568 +(((
1375 1375  If device already joined network:
1570 +)))
1376 1376  
1377 1377  (% class="box infomessage" %)
1378 1378  (((
... ... @@ -1411,10 +1411,12 @@
1411 1411  
1412 1412  (% style="color:red" %)**Note:**
1413 1413  
1609 +(((
1414 1414  (% style="color:red" %)1. Make sure the device is set to ABP mode in the IoT Server.
1415 1415  2. Make sure the LG01/02 gateway RX frequency is exactly the same as AT+CHS setting.
1416 1416  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.
1417 1417  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
1614 +)))
1418 1418  
1419 1419  [[image:1654136435598-589.png]]
1420 1420  
... ... @@ -1423,13 +1423,23 @@
1423 1423  
1424 1424  == 6.1 How to upgrade the image? ==
1425 1425  
1623 +(((
1426 1426  The RS485-BL LoRaWAN Controller is shipped with a 3.5mm cable, the cable is used to upload image to RS485-BL to:
1625 +)))
1427 1427  
1428 -* Support new features
1429 -* For bug fix
1430 -* Change LoRaWAN bands.
1627 +* (((
1628 +Support new features
1629 +)))
1630 +* (((
1631 +For bug fix
1632 +)))
1633 +* (((
1634 +Change LoRaWAN bands.
1635 +)))
1431 1431  
1637 +(((
1432 1432  Below shows the hardware connection for how to upload an image to RS485-BL:
1639 +)))
1433 1433  
1434 1434  [[image:1654136646995-976.png]]
1435 1435  
... ... @@ -1495,6 +1495,8 @@
1495 1495  * (% style="color:blue" %)**RU864**(%%): frequency bands RU864
1496 1496  * (% style="color:blue" %)**KZ865**(%%): frequency bands KZ865
1497 1497  
1705 +
1706 +
1498 1498  = 9. Packing Info =
1499 1499  
1500 1500  (((