Changes for page RS485-LN – RS485 to LoRaWAN Converter User Manual
Last modified by Mengting Qiu on 2025/07/14 09:59
From version 32.1
edited by Xiaoling
on 2022/05/23 09:48
on 2022/05/23 09:48
Change comment:
There is no comment for this version
To version 68.1
edited by Bei Jinggeng
on 2022/08/06 09:30
on 2022/08/06 09:30
Change comment:
There is no comment for this version
Summary
-
Page properties (3 modified, 0 added, 0 removed)
-
Attachments (0 modified, 24 added, 0 removed)
- 1654157178836-407.png
- 1654157342174-798.png
- 1654158783574-851.png
- 1654159460680-153.png
- 1654160691922-496.png
- 1654162355560-817.png
- 1654162368066-342.png
- 1654162478620-421.png
- 1654162535040-878.png
- image-20220602153621-1.png
- image-20220602153621-2.png
- image-20220602153621-3.png
- image-20220602155039-4.png
- image-20220602163333-5.png
- image-20220602165351-6.png
- image-20220602165351-7.png
- image-20220602171200-8.png
- image-20220602171200-9.png
- image-20220602175638-10.png
- image-20220602175743-11.png
- image-20220602175818-12.png
- image-20220602175848-13.png
- image-20220602175912-14.png
- image-20220606110929-1.png
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -RS485-LN – RS485 to LoRaWAN Converter 1 +RS485-LN – RS485 to LoRaWAN Converter User Manual - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Xiaoling1 +XWiki.Bei - Content
-
... ... @@ -1,17 +1,38 @@ 1 -(% style="text-align:center" %) 2 -[[image:1653266934636-343.png||height="385" width="385"]] 1 +(% aria-label="1653266934636-343.png image widget" contenteditable="false" role="region" tabindex="-1" %) 2 +((( 3 +(% data-widget="image" style="text-align:center" %) 4 +[[image:1653266934636-343.png||height="385" width="385"]](% title="Click and drag to resize" %) 3 3 6 +(% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||height="15" role="presentation" title="Click and drag to move" width="15"]] 7 +))) 4 4 5 5 6 -**RS485-LN – RS485 to LoRaWAN Converter User Manual** 7 7 8 8 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 9 9 **Table of Contents:** 10 10 22 +{{toc/}} 11 11 12 12 25 +(% aria-label="macro:toc widget" contenteditable="false" role="region" tabindex="-1" %) 26 +((( 27 +(% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||height="15" role="presentation" title="Click and drag to move" width="15"]] 28 +))) 13 13 14 14 31 + 32 + 33 + 34 + 35 + 15 15 = 1.Introduction = 16 16 17 17 == 1.1 What is RS485-LN RS485 to LoRaWAN Converter == ... ... @@ -18,26 +18,44 @@ 18 18 19 19 ((( 20 20 ((( 21 -The Dragino RS485-LN is a RS485 to LoRaWAN Converter. It converts the RS485 signal into LoRaWAN wireless signal which simplify the IoT installation and reduce the installation/maintaining cost. 42 +((( 43 + 44 + 45 +The Dragino RS485-LN is a (% style="color:blue" %)**RS485 to LoRaWAN Converter**(%%). It converts the RS485 signal into LoRaWAN wireless signal which simplify the IoT installation and reduce the installation/maintaining cost. 22 22 ))) 47 +))) 23 23 24 24 ((( 25 -RS485-LN allows user to monitor / control RS485 devices and reach extremely long ranges. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption. It targets professional wireless sensor network applications such as irrigation systems, smart metering, smart cities, smartphone detection, building automation, and so on. 50 +((( 51 +RS485-LN allows user to (% style="color:blue" %)**monitor / control RS485 devices**(%%) and reach extremely long ranges. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption. It targets professional wireless sensor network applications such as irrigation systems, smart metering, smart cities, smartphone detection, building automation, and so on. 26 26 ))) 53 +))) 27 27 28 28 ((( 29 -For data uplink, RS485-LN sends user-defined commands to RS485 devices and gets the return from the RS485 devices. RS485-LN will process these returns according to user-define rules to get the final payload and upload to LoRaWAN server. 56 +((( 57 +(% style="color:blue" %)**For data uplink**(%%), RS485-LN sends user-defined commands to RS485 devices and gets the return from the RS485 devices. RS485-LN will process these returns according to user-define rules to get the final payload and upload to LoRaWAN server. 30 30 ))) 59 +))) 31 31 32 32 ((( 33 -For data downlink, RS485-LN runs in LoRaWAN Class C. When there downlink commands from LoRaWAN server, RS485-LN will forward the commands from LoRaWAN server to RS485 devices. 62 +((( 63 +(% style="color:blue" %)**For data downlink**(%%), RS485-LN runs in LoRaWAN Class C. When there downlink commands from LoRaWAN server, RS485-LN will forward the commands from LoRaWAN server to RS485 devices. 34 34 ))) 65 + 66 +((( 67 +(% style="color:blue" %)**Demo Dashboard for RS485-LN**(%%) connect to two energy meters: [[https:~~/~~/app.datacake.de/dashboard/d/58844a26-378d-4c5a-aaf5-b5b5b153447a>>url:https://app.datacake.de/dashboard/d/58844a26-378d-4c5a-aaf5-b5b5b153447a]] 68 + 69 + 35 35 ))) 71 +))) 72 +))) 36 36 37 -[[image:1653267211009-519.png||height="419" width="724"]] 74 +(% aria-label="1653267211009-519.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1653267211009-519.png||data-widget="image" height="419" width="724"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 38 38 76 + 39 39 == 1.2 Specifications == 40 40 79 + 41 41 **Hardware System:** 42 42 43 43 * STM32L072CZT6 MCU ... ... @@ -44,8 +44,6 @@ 44 44 * SX1276/78 Wireless Chip 45 45 * Power Consumption (exclude RS485 device): 46 46 ** Idle: 32mA@12v 47 - 48 -* 49 49 ** 20dB Transmit: 65mA@12v 50 50 51 51 **Interface for Model:** ... ... @@ -72,10 +72,13 @@ 72 72 * Preamble detection. 73 73 * 127 dB Dynamic Range RSSI. 74 74 * Automatic RF Sense and CAD with ultra-fast AFC. 75 -* Packet engine up to 256 bytes with CRC .112 +* Packet engine up to 256 bytes with CRC 76 76 114 + 115 + 77 77 == 1.3 Features == 78 78 118 + 79 79 * LoRaWAN Class A & Class C protocol (default Class C) 80 80 * Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865/RU864 81 81 * AT Commands to change parameters ... ... @@ -85,8 +85,11 @@ 85 85 * Support Modbus protocol 86 86 * Support Interrupt uplink (Since hardware version v1.2) 87 87 128 + 129 + 88 88 == 1.4 Applications == 89 89 132 + 90 90 * Smart Buildings & Home Automation 91 91 * Logistics and Supply Chain Management 92 92 * Smart Metering ... ... @@ -94,22 +94,36 @@ 94 94 * Smart Cities 95 95 * Smart Factory 96 96 140 + 141 + 97 97 == 1.5 Firmware Change log == 98 98 144 + 99 99 [[RS485-LN Image files – Download link and Change log>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/]] 100 100 147 + 148 + 101 101 == 1.6 Hardware Change log == 102 102 151 + 103 103 ((( 104 104 ((( 154 +((( 105 105 v1.2: Add External Interrupt Pin. 156 +))) 106 106 158 +((( 107 107 v1.0: Release 108 108 ))) 161 + 162 + 163 + 109 109 ))) 165 +))) 110 110 111 111 = 2. Power ON Device = 112 112 169 + 113 113 ((( 114 114 The RS485-LN can be powered by 7 ~~ 24V DC power source. Connection as below 115 115 ... ... @@ -120,7 +120,10 @@ 120 120 Once there is power, the RS485-LN will be on. 121 121 ))) 122 122 123 -[[image:1653268091319-405.png]] 180 +(% aria-label="1653268091319-405.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1653268091319-405.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 181 + 182 + 183 + 124 124 ))) 125 125 126 126 = 3. Operation Mode = ... ... @@ -127,29 +127,42 @@ 127 127 128 128 == 3.1 How it works? == 129 129 190 + 130 130 ((( 192 +((( 131 131 The RS485-LN is configured as LoRaWAN OTAA Class C mode by default. It has OTAA keys to join network. To connect a local LoRaWAN network, user just need to input the OTAA keys in the network server and power on the RS485-LN. It will auto join the network via OTAA. 132 132 ))) 133 133 196 + 197 + 198 +))) 199 + 134 134 == 3.2 Example to join LoRaWAN network == 135 135 202 + 136 136 Here shows an example for how to join the TTN V3 Network. Below is the network structure, we use [[LG308>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/140-lg308.html]] as LoRaWAN gateway here. 137 137 138 -[[image:1653268155545-638.png||height="334" width="724"]] 205 +(% aria-label="1653268155545-638.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1653268155545-638.png||data-widget="image" height="334" width="724"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 139 139 207 + 140 140 ((( 209 +((( 141 141 The RS485-LN in this example connected to two RS485 devices for demonstration, user can connect to other RS485 devices via the same method. The connection is as below: 211 +))) 142 142 213 +((( 143 143 485A+ and 485B- of the sensor are connected to RS485A and RA485B of RS485-LN respectively. 215 +))) 144 144 145 -[[image:1653268227651-549.png||height="592" width="720"]] 217 +(% aria-label="1653268227651-549.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1653268227651-549.png||data-widget="image" height="592" width="720"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 146 146 219 + 147 147 ((( 148 -The LG308 is already set to connect to [[TTN V3 network >>path: eu1.cloud.thethings.network/]]. So what we need to now is only configure the TTN V3:221 +The LG308 is already set to connect to [[TTN V3 network >>path:https://www.thethingsnetwork.org/]]. So what we need to now is only configure the TTN V3: 149 149 ))) 150 150 151 151 ((( 152 -**Step 1**: Create a device in TTN V3 with the OTAA keys from RS485-LN. 225 +(% style="color:blue" %)**Step 1**(%%): Create a device in TTN V3 with the OTAA keys from RS485-LN. 153 153 ))) 154 154 155 155 ((( ... ... @@ -157,8 +157,9 @@ 157 157 ))) 158 158 ))) 159 159 160 -[[image:1652953462722-299.png]] 233 +(% aria-label="1652953462722-299.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1652953462722-299.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 161 161 235 + 162 162 ((( 163 163 ((( 164 164 User can enter this key in their LoRaWAN Server portal. Below is TTN V3 screen shot: ... ... @@ -165,62 +165,75 @@ 165 165 ))) 166 166 167 167 ((( 168 -Add APP EUI in the application. 242 +**Add APP EUI in the application.** 169 169 ))) 170 170 ))) 171 171 172 -[[image:image-20220519174512-1.png]] 246 +(% aria-label="image-20220519174512-1.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220519174512-1.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 173 173 174 -[[image:image-20220519174512-2.png||height="323" width="720"]] 248 +(% aria-label="image-20220519174512-2.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220519174512-2.png||data-widget="image" height="323" width="720"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 175 175 176 -[[image:image-20220519174512-3.png||height="556" width="724"]] 250 +(% aria-label="image-20220519174512-3.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220519174512-3.png||data-widget="image" height="556" width="724"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 177 177 178 -[[image:image-20220519174512-4.png]] 252 +(% aria-label="image-20220519174512-4.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220519174512-4.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 179 179 180 180 You can also choose to create the device manually. 181 181 182 -[[image:1652953542269-423.png||height="710" width="723"]] 256 +(% aria-label="1652953542269-423.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1652953542269-423.png||data-widget="image" height="710" width="723"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 183 183 184 -Add APP KEY and DEV EUI 185 185 186 -[[image:1652953553383-907.png||height="514" width="724"]] 187 187 260 +**Add APP KEY and DEV EUI** 188 188 262 +(% aria-label="1652953553383-907.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1652953553383-907.png||data-widget="image" height="514" width="724"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 263 + 264 + 189 189 ((( 190 -**Step 2**: Power on RS485-LN and it will auto join to the TTN V3 network. After join success, it will start to upload message to TTN V3 and user can see in the panel. 266 +(% style="color:blue" %)**Step 2**(%%): Power on RS485-LN and it will auto join to the TTN V3 network. After join success, it will start to upload message to TTN V3 and user can see in the panel. 191 191 ))) 192 192 193 -[[image:1652953568895-172.png||height="232" width="724"]] 269 +(% aria-label="1652953568895-172.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1652953568895-172.png||data-widget="image" height="232" width="724"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 194 194 271 + 272 + 195 195 == 3.3 Configure Commands to read data == 196 196 275 + 197 197 ((( 198 198 ((( 199 -There are plenty of RS485 devices in the market and each device has different command to read the valid data. To support these devices in flexible, RS485-LN supports flexible command set. User can use [[AT Commands>>path:#AT_COMMAND]] or LoRaWAN Downlink Command to configure what commands RS485-LN should send for each sampling and how to handle the return from RS485 devices. 278 +((( 279 +There are plenty of RS485 devices in the market and each device has different command to read the valid data. To support these devices in flexible, RS485-LN supports flexible command set. User can use [[AT Commands>>||anchor="H3.5ConfigureRS485-LNviaATorDownlink"]] or LoRaWAN Downlink Command to configure what commands RS485-LN should send for each sampling and how to handle the return from RS485 devices. 200 200 ))) 281 +))) 201 201 202 202 ((( 203 -(% style="color:red" %)Note: below description and commands are for firmware version >v1.1, if you have firmware version v1.0. Please check the [[user manual v1.0>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/&file=RS485-LN_UserManual_v1.0.1.pdf]] or upgrade the firmware to v1.1 284 +((( 285 +(% style="color:red" %)**Note: below description and commands are for firmware version >v1.1, if you have firmware version v1.0. Please check the [[user manual v1.0>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/&file=RS485-LN_UserManual_v1.0.1.pdf]] or upgrade the firmware to v1.1** 204 204 ))) 287 + 288 + 289 + 205 205 ))) 291 +))) 206 206 207 -=== 3.3.1 onfigure UART settings for RS485 or TTL communication === 293 +=== 3.3.1 Configure UART settings for RS485 or TTL communication === 208 208 295 + 209 209 To use RS485-LN to read data from RS485 sensors, connect the RS485-LN A/B traces to the sensors. And user need to make sure RS485-LN use the match UART setting to access the sensors. The related commands for UART settings are: 210 210 211 -(% border="1" style="background-color:#ffffcc; color:green; width: 795px" %)212 -|((( 298 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %) 299 +|=(% style="width: 110px;" %)((( 213 213 **AT Commands** 214 -)))|(% style="width: 285px" %)(((301 +)))|=(% style="width: 190px;" %)((( 215 215 **Description** 216 -)))|(% style="width: 347px" %)(((303 +)))|=(% style="width: 190px;" %)((( 217 217 **Example** 218 218 ))) 219 -|((( 306 +|(% style="width:110px" %)((( 220 220 AT+BAUDR 221 -)))|(% style="width: 285px" %)(((308 +)))|(% style="width:190px" %)((( 222 222 Set the baud rate (for RS485 connection). Default Value is: 9600. 223 -)))|(% style="width: 347px" %)(((310 +)))|(% style="width:190px" %)((( 224 224 ((( 225 225 AT+BAUDR=9600 226 226 ))) ... ... @@ -229,11 +229,11 @@ 229 229 Options: (1200,2400,4800,14400,19200,115200) 230 230 ))) 231 231 ))) 232 -|((( 319 +|(% style="width:110px" %)((( 233 233 AT+PARITY 234 -)))|(% style="width: 285px" %)(((321 +)))|(% style="width:190px" %)((( 235 235 Set UART parity (for RS485 connection) 236 -)))|(% style="width: 347px" %)(((323 +)))|(% style="width:190px" %)((( 237 237 ((( 238 238 AT+PARITY=0 239 239 ))) ... ... @@ -242,9 +242,9 @@ 242 242 Option: 0: no parity, 1: odd parity, 2: even parity 243 243 ))) 244 244 ))) 245 -|((( 332 +|(% style="width:110px" %)((( 246 246 AT+STOPBIT 247 -)))|(% style="width: 285px" %)(((334 +)))|(% style="width:190px" %)((( 248 248 ((( 249 249 Set serial stopbit (for RS485 connection) 250 250 ))) ... ... @@ -252,7 +252,7 @@ 252 252 ((( 253 253 254 254 ))) 255 -)))|(% style="width: 347px" %)(((342 +)))|(% style="width:190px" %)((( 256 256 ((( 257 257 AT+STOPBIT=0 for 1bit 258 258 ))) ... ... @@ -266,8 +266,10 @@ 266 266 ))) 267 267 ))) 268 268 356 + 269 269 === 3.3.2 Configure sensors === 270 270 359 + 271 271 ((( 272 272 ((( 273 273 Some sensors might need to configure before normal operation. User can configure such sensor via PC and RS485 adapter or through RS485-LN AT Commands (% style="color:#4f81bd" %)**AT+CFGDEV**(%%). Each (% style="color:#4f81bd" %)**AT+CFGDEV **(%%)equals to send a RS485 command to sensors. This command will only run when user input it and won’t run during each sampling. ... ... @@ -274,140 +274,70 @@ 274 274 ))) 275 275 ))) 276 276 277 -(% border="1" style="background-color:#ffffcc; color:green; width:806px" %) 278 -|**AT Commands**|(% style="width:418px" %)**Description**|(% style="width:256px" %)**Example** 279 -|AT+CFGDEV|(% style="width:418px" %)((( 280 -This command is used to configure the RS485/TTL devices; they won’t be used during sampling. 281 - 282 -AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx, 283 - 284 -mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 285 -)))|(% style="width:256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 286 - 287 -=== 3.3.3 Configure read commands for each sampling === 288 - 366 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %) 367 +|=(% style="width: 110px;" %)**AT Commands**|=(% style="width: 190px;" %)**Description**|=(% style="width: 190px;" %)**Example** 368 +|AT+CFGDEV|(% style="width:110px" %)((( 289 289 ((( 290 - RS485-BLisa battery powereddevice; it willsleepmost of time. Andwake uponeach period andreadRS485sensordataand uplink.370 +This command is used to configure the RS485/TTL devices; they won’t be used during sampling. 291 291 ))) 292 292 293 293 ((( 294 - During each sampling, we need to confirm what commands we need to send to the sensors to read data.After the RS485/TTLsensorssendbackthevalue,itnormallyincludessomebytesand we only need a few from them for a shorten payload.374 +AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx, 295 295 ))) 296 296 297 297 ((( 298 - Tosavethe LoRaWANnetworkbandwidth,wemightneedto readdata from different sensors andcombinetheir valid value into ashortpayload.378 +mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 299 299 ))) 380 +)))|(% style="width:190px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 300 300 301 -((( 302 -This section describes how to achieve above goals. 303 -))) 304 304 305 -((( 306 -During each sampling, the RS485-BL can support 15 commands to read sensors. And combine the return to one or several uplink payloads. 307 -))) 383 +=== 3.3.3 Configure read commands for each sampling === 308 308 309 -((( 310 -**Command from RS485-BL to Sensor:** 311 -))) 312 312 313 313 ((( 314 -RS485-BL can send out pre-set max 15 strings via **AT+COMMAD1**, **ATCOMMAND2**,…, to **AT+COMMANDF** . All commands are of same grammar. 315 -))) 387 +During each sampling, we need confirm what commands we need to send to the RS485 sensors to read data. After the RS485 sensors send back the value, it normally include some bytes and we only need a few from them for a shorten payload. 316 316 317 -((( 318 -**Handle return from sensors to RS485-BL**: 319 -))) 389 +To save the LoRaWAN network bandwidth, we might need to read data from different sensors and combine their valid value into a short payload. 320 320 321 -((( 322 -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** 323 -))) 391 +This section describes how to achieve above goals. 324 324 325 -* ((( 326 -**AT+DATACUT** 327 -))) 393 +During each sampling, the RS485-LN can support 15 commands to read sensors. And combine the return to one or several uplink payloads. 328 328 329 -((( 330 -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. 331 -))) 332 332 333 -* ((( 334 -**AT+SEARCH** 335 -))) 396 +(% style="color:#037691" %)**Each RS485 commands include two parts:** 336 336 337 -((( 338 -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. 339 -))) 398 +~1. What commands RS485-LN will send to the RS485 sensors. There are total 15 commands from **AT+COMMAD1**, **ATCOMMAND2**,…, to **AT+COMMANDF**. All commands are of same grammar. 340 340 341 -((( 342 -**Define wait timeout:** 343 -))) 400 +2. How to get wanted value the from RS485 sensors returns from by 1). There are total 15 AT Commands to handle the return, commands are **AT+DATACUT1**,**AT+DATACUT2**,…, **AT+DATACUTF** corresponding to the commands from 1). All commands are of same grammar. 344 344 345 -((( 346 -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 347 -))) 402 +3. Some RS485 device might has longer delay on reply, so user can use AT+CMDDL to set the timeout for getting reply after the RS485 command is sent. For example **AT+CMDDL1=1000** to send the open time to 1000ms 348 348 349 - (((404 + 350 350 After we got the valid value from each RS485 commands, we need to combine them together with the command **AT+DATAUP**. 351 -))) 352 352 353 -**Examples:** 354 - 355 355 Below are examples for the how above AT Commands works. 356 356 357 -**AT+COMMANDx : **This command will be sent to RS485/TTL devices during each sampling, Max command length is 14 bytes. The grammar is: 358 358 359 -(% border="1" class="table-bordered" %) 360 -|((( 361 -**AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m** 410 +(% style="color:#037691" %)**AT+COMMANDx **(%%)**: **This command will be sent to RS485 devices during each sampling, Max command length is 14 bytes. The grammar is: 362 362 412 +(% border="1" style="background-color:#4bacc6; color:white; width:499px" %) 413 +|(% style="width:496px" %)((( 414 +(% style="color:#037691" %)**AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m** 415 + 363 363 **xx xx xx xx xx xx xx xx xx xx xx xx: The RS485 command to be sent** 364 364 365 365 **m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command** 366 366 ))) 367 367 368 -((( 369 369 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. 370 -))) 371 371 372 -((( 373 -In the RS485-BL, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same. 374 -))) 423 +In the RS485-LN, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same. 375 375 376 -((( 377 -**AT+SEARCHx**: This command defines how to handle the return from AT+COMMANDx. 378 -))) 379 379 380 -(% border="1" class="table-bordered" %) 381 -|((( 382 -**AT+SEARCHx=aa,xx xx xx xx xx** 426 +(% style="color:#037691" %)**AT+DATACUTx **(%%)**: **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes. 383 383 384 -* **aa: 1: prefix match mode; 2: prefix and suffix match mode** 385 -* **xx xx xx xx xx: match string. Max 5 bytes for prefix and 5 bytes for suffix** 386 - 387 - 388 -))) 389 - 390 -**Examples:** 391 - 392 -~1. For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 393 - 394 -If we set AT+SEARCH1=1,1E 56 34. (max 5 bytes for prefix) 395 - 396 -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** 397 - 398 -[[image:1653269403619-508.png]] 399 - 400 -2. For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 401 - 402 -If we set AT+SEARCH1=2, 1E 56 34+31 00 49 403 - 404 -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** 405 - 406 -[[image:1653269438444-278.png]] 407 - 408 -**AT+DATACUTx : **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes. 409 - 410 -|((( 428 +(% border="1" style="background-color:#4bacc6; color:white; width:510px" %) 429 +|(% style="width:510px" %)((( 411 411 **AT+DATACUTx=a,b,c** 412 412 413 413 * **a: length for the return of AT+COMMAND** ... ... @@ -415,48 +415,39 @@ 415 415 * **c: define the position for valid value. ** 416 416 ))) 417 417 418 -Examples: 437 +**Examples:** 419 419 420 -* Grab bytes :439 +* (% style="color:#037691" %)**Grab bytes** 421 421 422 -[[image: 1653269551753-223.png||height="311" width="717"]]441 +(% aria-label="image-20220602153621-1.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602153621-1.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 423 423 424 -* Grab a section. 425 425 426 - [[image:1653269568276-930.png||height="325"width="718"]]444 +* (% style="color:#037691" %)**Grab a section** 427 427 428 - *Grab different sections.446 +(% aria-label="image-20220602153621-2.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602153621-2.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 429 429 430 -[[image:1653269593172-426.png||height="303" width="725"]] 431 431 432 -(% style="color: red" %)**Note:**449 +* (% style="color:#037691" %)**Grab different sections** 433 433 434 - AT+SEARCHxand AT+DATACUTx canbeusedtogether,if bothcommands areset, RS485-BL willfirstprocess AT+SEARCHxon thereturn stringndmporary string, andthenprocessAT+DATACUTxthistemporary stringoget thefinalpayload. In this case,AT+DATACUTx needtosetformatAT+DATACUTx=0,xx,xxwherethereturnbytessetto 0.451 +(% aria-label="image-20220602153621-3.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602153621-3.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 435 435 436 -Example: 437 437 438 -(% style="color:red" %)AT+COMMAND1=11 01 1E D0,0 454 + 455 +))) 439 439 440 -(% style="color:red" %)AT+SEARCH1=1,1E 56 34 441 - 442 -(% style="color:red" %)AT+DATACUT1=0,2,1~~5 443 - 444 -(% style="color:red" %)Return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 445 - 446 -(% style="color:red" %)String after SEARCH command: 2e 30 58 5f 36 41 30 31 00 49 447 - 448 -(% style="color:red" %)Valid payload after DataCUT command: 2e 30 58 5f 36 449 - 450 -[[image:1653269618463-608.png]] 451 - 452 452 === 3.3.4 Compose the uplink payload === 453 453 459 + 454 454 ((( 455 455 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.** 462 + 463 + 456 456 ))) 457 457 458 458 ((( 459 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=0** 467 +(% style="color:#037691" %)**Examples: AT+DATAUP=0** 468 + 469 + 460 460 ))) 461 461 462 462 ((( ... ... @@ -475,10 +475,12 @@ 475 475 Where PAYVER is defined by AT+PAYVER, below is an example screen shot. 476 476 ))) 477 477 478 -[[image:1653269759169-150.png||height="513" width="716"]] 488 +(% aria-label="1653269759169-150.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1653269759169-150.png||data-widget="image" height="513" width="716"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 479 479 480 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1** 481 481 491 +(% style="color:#037691" %)**Examples: AT+DATAUP=1** 492 + 493 + 482 482 Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**Multiply UPLINKs**. 483 483 484 484 Final Payload is ... ... @@ -485,687 +485,977 @@ 485 485 486 486 (% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 487 487 488 -1. Battery Info (2 bytes): Battery voltage 489 -1. PAYVER (1 byte): Defined by AT+PAYVER 490 -1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling. 491 -1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 492 -1. DATA: Valid value: max 6 bytes(US915 version here, Notice*!) for each uplink so each uplink <= 11 bytes. For the last uplink, DATA will might less than 6 bytes 493 493 494 -[[image:1653269916228-732.png||height="433" width="711"]] 501 +1. PAYVER: Defined by AT+PAYVER 502 +1. PAYLOAD COUNT: Total how many uplinks of this sampling. 503 +1. PAYLOAD#: Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 504 +1. DATA: Valid value: max 8 bytes for each uplink so each uplink <= 11 bytes. For the last uplink, DATA will might less than 8 bytes 495 495 506 +(% aria-label="image-20220602155039-4.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602155039-4.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 496 496 497 -So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA 498 498 499 - DATA1=RETURN1Valid Value=(%style="background-color:green;color:white"%)20200a 33 90 41509 +So totally there will be 3 uplinks for this sampling, each uplink include 8 bytes DATA 500 500 501 -DATA 2=1^^st^^~~6^^th^^byteof Valid value of RETURN10=(%style="background-color:green; color:white" %)02 aa0581 0a20511 +DATA1=RETURN1 Valid Value + the first two of Valid value of RETURN10= **20 20 0a 33 90 41 02 aa** 502 502 503 -DATA 3=7^^th^^ ~~ 11^^th^^ bytesof Valid value of RETURN10(%style="background-color:green;color:white"%)20 20 20 2d30513 +DATA2=3^^rd^^ ~~ 10^^th^^ byte of Valid value of RETURN10= **05 81 0a 20 20 20 20 2d** 504 504 505 - Belowareheuplinkpayloads:515 +DATA3=the rest of Valid value of RETURN10= **30** 506 506 507 -[[image:1653270130359-810.png]] 508 508 518 +(% style="color:red" %)**Notice: In firmware v1.3, the Max bytes has been changed according to the max bytes in different Frequency Bands for lowest SF. As below:** 509 509 510 - (%style="color:red"%)**Notice:theMaxbytes is accordingto the maxsupportbytesin differentFrequencyBands forlowest SF.As below:**520 + ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink. 511 511 512 - ~*51 bytes for each uplink( so 51 -5 = 46 max valid date)522 + * For AU915/AS923 bands, if UplinkDwell time=0, max 11 bytes for each uplink. 513 513 514 - * For AU915/AS923bands,if UplinkDwell time=1, max 11 bytes( so 11 -5 = 6 max valid date).524 + * For US915 band, max 11 bytes for each uplink. 515 515 516 - * US915band,max 11bytes( so 11 -5 = 6 max valid date).526 + ~* For all other bands: max 51 bytes for each uplink. 517 517 518 - ~* For all other bands: max 51 bytes for each uplink ( so 51 -5 = 46 max valid date). 519 519 520 - ===3.3.5Uplink on demand===529 +Below are the uplink payloads: 521 521 522 - Exceptuplinkperiodically,RS485-BLisable toThe server sends downlinkcommand toRS485-BLandRS485willuplinkdatabaseonthecommand.531 +(% aria-label="1654157178836-407.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1654157178836-407.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 523 523 524 -Downlink control command: 525 525 526 -[[0x08 command>>path:#downlink_08]]: Poll an uplink with current command set in RS485-BL. 527 527 528 - [[0xA8command>>path:#downlink_A8]]:Send a commandto RS485-BL anduplink theoutput fromsensors.535 +=== 3.3.5 Uplink on demand === 529 529 530 530 538 +Except uplink periodically, RS485-LN is able to uplink on demand. The server send downlink command to RS485-LN and RS485 will uplink data base on the command. 531 531 532 -1. 533 -11. 534 -111. Uplink on Interrupt 540 +Downlink control command: 535 535 536 -P uttheinterrupt sensor between3.3v_outandGPIOext.[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image022.png]]542 +**0x08 command**: Poll an uplink with current command set in RS485-LN. 537 537 538 - AT+INTMOD=0DisableInterrupt544 +**0xA8 command**: Send a command to RS485-LN and uplink the output from sensors. 539 539 540 -AT+INTMOD=1 Interrupt trigger by rising or falling edge. 541 541 542 -AT+INTMOD=2 Interrupt trigger by falling edge. ( Default Value) 543 543 544 - AT+INTMOD=3trigger by rising edge.548 +=== 3.3.6 Uplink on Interrupt === 545 545 546 546 547 -1. 548 -11. Uplink Payload 551 +RS485-LN support external Interrupt uplink since hardware v1.2 release. 549 549 550 -|**Size(bytes)**|**2**|**1**|**Length depends on the return from the commands** 551 -|Value|((( 552 -Battery(mV) 553 +(% aria-label="1654157342174-798.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1654157342174-798.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 553 553 554 - &555 +Connect the Interrupt pin to RS485-LN INT port and connect the GND pin to V- port. When there is a high voltage (Max 24v) on INT pin. Device will send an uplink packet. 555 555 556 -Interrupt _Flag 557 -)))|((( 558 -PAYLOAD_VER 559 559 560 - 561 -)))|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. 562 562 563 - Belowis the decoder for the first3bytes.Therest bytesare dynamicdependson different RS485 sensors.559 +== 3.4 Uplink Payload == 564 564 565 565 566 - functionDecoder(bytes, port){562 +(% aria-label="image-20220606110929-1.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220606110929-1.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 567 567 568 - ~/~/PayloadFormats of RS485-BLDeceive564 +Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. 569 569 570 -return { 571 571 572 - ~/~/Battery,units:V 573 573 574 - BatV:((bytes[0]<<8|bytes[1])&0x7fff)/1000,568 +== 3.5 Configure RS485-LN via AT or Downlink == 575 575 576 - ~/~/GPIO_EXTI 577 577 578 - EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE", 571 +((( 572 +User can configure RS485-LN via AT Commands or LoRaWAN Downlink Commands 573 +))) 579 579 580 - ~/~/payload of version 575 +((( 576 +There are two kinds of Commands: 577 +))) 581 581 582 - Pay_ver:bytes[2], 579 +* ((( 580 +(% 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]] 581 +))) 583 583 584 - }; 583 +* ((( 584 +(% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-LN. User can see these commands below: 585 +))) 585 585 586 - } 587 +((( 588 + 589 +))) 587 587 588 588 589 589 593 +=== 3.5.1 Common Commands === 590 590 591 591 596 +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]] 592 592 593 593 594 -TTN V3 uplink screen shot. 595 595 596 - [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]]600 +=== 3.5.2 Sensor related commands === 597 597 598 -1. 599 -11. Configure RS485-BL via AT or Downlink 600 600 601 - User can configureRS485-BL via[[AT Commands>>path:#_Using_the_AT]]orLoRaWANDownlinkCommands603 +Response feature is added to the server's downlink, a special package with a FPort of 200 will be uploaded immediately after receiving the data sent by the server. 602 602 603 - There aretwo kindsofCommands:605 +(% aria-label="image-20220602163333-5.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602163333-5.png||data-widget="image" height="263" width="1160"]](% title="Click and drag to resize" %) 604 604 605 - * **Common Commands**:Theyshouldbeavailableforachsensor,suchas:changeuplinkinterval, resetdevice.Forfirmwarev1.3,usercanfindwhatcommoncommandsitsupports:http:~/~/wiki.dragino.com/index.php?title=End_Device_AT_Commands_and_Downlink_Commands607 +The first byte of this package represents whether the configuration is successful, 00 represents failure, 01 represents success. Except for the first byte, the other is the previous downlink. (All commands except A8 type commands are applicable) 606 606 607 -* **Sensor Related Commands**: These commands are special designed for RS485-BL. User can see these commands below: 608 608 609 -1. 610 -11. 611 -111. Common Commands: 612 612 613 - Theyshould be available for each of DraginoSensors,such as: changeuplink interval, resetdevice. For firmware v1.3, user can findwhatcommon commandsit 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]]611 +=== 3.5.3 Sensor related commands === 614 614 615 615 616 -1. 617 -11. 618 -111. Sensor related commands: 619 619 620 -==== Choose Device Type (RS485 or TTL) ==== 621 621 622 - RS485-BLcanconnect toeither RS485sensorsor TTL sensor. User need to specify what type of sensor needto connect.616 +==== (% style="color:blue" %)**RS485 Debug Command**(%%) ==== 623 623 624 -* AT Command 618 +((( 619 +This command is used to configure the RS485 devices; they won’t be used during sampling. 620 +))) 625 625 626 -**AT+MOD=1** ~/~/ Set to support RS485-MODBUS type sensors. User can connect multiply RS485 , Modbus sensors to the A / B pins. 622 +* ((( 623 +(% style="color:#037691" %)**AT Command** 627 627 628 -**AT+MOD=2** ~/~/ Set to support TTL Level sensors, User can connect one TTL Sensor to the TXD/RXD/GND pins. 625 +((( 626 +**AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m** m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 627 +))) 628 +))) 629 629 630 +((( 631 + 632 +))) 630 630 631 -* Downlink Payload 634 +* ((( 635 +(% style="color:#037691" %)**Downlink Payload** 636 +))) 632 632 633 -**0A aa** à same as AT+MOD=aa 638 +((( 639 +Format: A8 MM NN XX XX XX XX YY 640 +))) 634 634 642 +((( 643 +Where: 644 +))) 635 635 646 +* ((( 647 +MM: 1: add CRC-16/MODBUS ; 0: no CRC 648 +))) 649 +* ((( 650 +NN: The length of RS485 command 651 +))) 652 +* ((( 653 +XX XX XX XX: RS485 command total NN bytes 654 +))) 655 +* ((( 656 +((( 657 +YY: How many bytes will be uplink from the return of this RS485 command, 658 +))) 636 636 637 -==== [[RS485 Debug Command>>path:#downlink_A8]] (AT+CFGDEV) ==== 660 +* ((( 661 +if YY=0, RS485-LN will execute the downlink command without uplink; 662 +))) 663 +* ((( 664 +if YY>0, RS485-LN will uplink total YY bytes from the output of this RS485 command; Fport=200 665 +))) 666 +* ((( 667 +if YY=FF, RS485-LN will uplink RS485 output with the downlink command content; Fport=200. 668 +))) 669 +))) 638 638 639 -This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling. 671 +((( 672 + 640 640 641 -* AT Command 674 +**Example 1** ~-~-> Configure without ask for uplink (YY=0) 675 +))) 642 642 643 -AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 677 +((( 678 +To connect a Modbus Alarm with below commands. 679 +))) 644 644 645 -m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command. 681 +* ((( 682 +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. 683 +))) 646 646 685 +* ((( 686 +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. 687 +))) 647 647 689 +((( 690 + 648 648 649 -* Downlink Payload 692 +So if user want to use downlink command to control to RS485 Alarm, he can use: 693 +))) 650 650 651 -Format: A8 MM NN XX XX XX XX YY 695 +((( 696 +(% style="color:#4f81bd" %)**A8 01 06 0A 05 00 04 00 01 00**(%%): to activate the RS485 Alarm 697 +))) 652 652 653 -Where: 699 +((( 700 +(% style="color:#4f81bd" %)**A8 01 06 0A 05 00 04 00 00 00**(%%): to deactivate the RS485 Alarm 701 +))) 654 654 655 -* MM: 1: add CRC-16/MODBUS ; 0: no CRC 656 -* NN: The length of RS485 command 657 -* XX XX XX XX: RS485 command total NN bytes 658 -* 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 703 +((( 704 +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. 705 +))) 659 659 660 -**Example 1:** 707 +((( 708 + 709 +))) 661 661 662 -To connect a Modbus Alarm with below commands. 711 +((( 712 +**Example 2** ~-~-> Configure with requesting uplink and original downlink command (**YY=FF**) 713 +))) 663 663 664 -* 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. 715 +((( 716 +User in IoT server send a downlink command: (% style="color:#4f81bd" %)**A8 01 06 0A 08 00 04 00 01 YY** 717 +))) 665 665 666 -* 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. 719 +((( 720 + 721 +))) 667 667 668 -So if user want to use downlink command to control to RS485 Alarm, he can use: 723 +((( 724 +((( 725 +RS485-LN got this downlink command and send (% style="color:#4f81bd" %)**0A 08 00 04 00 01 **(%%)to Modbus network. One of the RS485 sensor in the network send back Modbus reply **0A 08 00 04 00 00**. RS485-LN get this reply and combine with the original downlink command and uplink. The uplink message is: **A8** (% style="color:#4f81bd" %)**0A 08 00 04 00 **(% style="color:red" %)**01 06** ** **(% style="color:green" %)**0A 08 00 04 00 00** 726 +))) 669 669 670 -**A8 01 06 0A 05 00 04 00 01 00**: to activate the RS485 Alarm 728 + 729 +))) 671 671 672 -**A8 01 06 0A 05 00 04 00 00 00**: to deactivate the RS485 Alarm 731 +((( 732 + (% aria-label="1654159460680-153.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1654159460680-153.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 733 +))) 673 673 674 -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. 675 675 676 676 677 -**Example 2:** 678 678 679 - CheckTTLSensorreturn:738 +==== (% style="color:blue" %)**Set Payload version**(%%) ==== 680 680 681 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png]] 740 +((( 741 +This is the first byte of the uplink payload. RS485-LN can connect to different sensors. User can set the PAYVER field to tell server how to decode the current payload. 742 +))) 682 682 744 +* ((( 745 +(% style="color:#037691" %)**AT Command:** 683 683 747 +**AT+PAYVER: **Set PAYVER field = 1 684 684 749 + 750 +))) 751 +* ((( 752 +(% style="color:#037691" %)**Downlink Payload:** 753 +))) 685 685 686 -==== Set Payload version ==== 755 +((( 756 +**0xAE 01** ~-~-> Set PAYVER field = 0x01 757 +))) 687 687 688 -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. 759 +((( 760 +**0xAE 0F** ~-~-> Set PAYVER field = 0x0F 761 +))) 689 689 690 -* AT Command: 691 691 692 -AT+PAYVER: Set PAYVER field = 1 693 693 694 694 695 - *DownlinkPayload:766 +==== (% style="color:blue" %)**Set RS485 Sampling Commands**(%%) ==== 696 696 697 -0xAE 01 à Set PAYVER field = 0x01 768 +((( 769 +AT+COMMANDx or AT+DATACUTx 770 +))) 698 698 699 -0xAE 0F à Set PAYVER field = 0x0F 772 +((( 773 +These three commands are used to configure how the RS485-LN polling data from Modbus device. Detail of usage please see : [[polling RS485 device>>||anchor="H3.3.3Configurereadcommandsforeachsampling"]]. 774 +))) 700 700 776 +((( 777 + 778 +))) 701 701 702 -==== Set RS485 Sampling Commands ==== 780 +* ((( 781 +(% style="color:#037691" %)**AT Command:** 782 +))) 703 703 704 -AT+COMMANDx ,AT+DATACUTxandAT+SEARCHx784 +**AT+COMMANDx: **Configure RS485 read command to sensor. 705 705 706 -T hesethree commands are used to configure how the RS485-BL pollingdata from Modbus device.Detail ofusageplease see : [[pollingRS485 device>>path:#polling_485]].786 +**AT+DATACUTx: **Configure how to handle return from RS485 devices. 707 707 708 708 709 -* AT Command: 789 +* ((( 790 +(% style="color:#037691" %)**Downlink Payload:** 791 +))) 710 710 711 -AT+COMMANDx: Configure RS485 read command to sensor. 793 +((( 794 +**0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 795 +))) 712 712 713 -AT+DATACUTx: Configure how to handle return from RS485 devices. 797 +((( 798 +(% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink. 799 +))) 714 714 715 -AT+SEARCHx: Configure search command 801 +((( 802 +Format: AF MM NN LL XX XX XX XX YY 803 +))) 716 716 805 +((( 806 +Where: 807 +))) 717 717 718 -* Downlink Payload: 809 +* ((( 810 +MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 811 +))) 812 +* ((( 813 +NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value. 814 +))) 815 +* ((( 816 +LL: The length of AT+COMMAND or AT+DATACUT command 817 +))) 818 +* ((( 819 +XX XX XX XX: AT+COMMAND or AT+DATACUT command 820 +))) 821 +* ((( 822 +YY: If YY=0, RS485-LN will execute the downlink command without uplink; if YY=1, RS485-LN will execute an uplink after got this command. 823 +))) 719 719 720 -0xAF downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 825 +((( 826 + 721 721 722 -Note: if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink. 828 +**Example:** 829 +))) 723 723 724 -Format: AF MM NN LL XX XX XX XX YY 831 +((( 832 +(% 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 833 +))) 725 725 726 -Where: 835 +((( 836 +(% 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** 837 +))) 727 727 728 -* MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 729 -* NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value. 730 -* LL: The length of AT+COMMAND or AT+DATACUT command 731 -* XX XX XX XX: AT+COMMAND or AT+DATACUT command 732 -* 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. 839 +((( 840 +(% 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** 841 +))) 733 733 734 -Example: 735 735 736 -**AF 03 01 06 0A 05 00 04 00 01 00**: Same as AT+COMMAND3=0A 05 00 04 00 01,1 737 737 738 -**AF 03 02 06 10 01 05 06 09 0A 00**: Same as AT+DATACUT3=**16**,**1**,**5+6+9+10** 739 739 740 - **AF030206 0B 02 05 07 08 0A 00**: SameasAT+DATACUT3=**11**,**2**,**5~~7+8~~10**846 +==== (% style="color:blue" %)**Fast command to handle MODBUS device**(%%) ==== 741 741 848 +((( 849 +**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]]. 850 +))) 742 742 743 -0xAB downlink command can be used for set AT+SEARCHx 852 +((( 853 +This command is valid since v1.3 firmware version 854 +))) 744 744 745 -Example: **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So 856 +((( 857 +AT+MBFUN can auto read the Modbus function code: 01, 02, 03 or 04. AT+MBFUN has lower priority vs AT+DATACUT command. If AT+DATACUT command is configured, AT+MBFUN will be ignore. 858 +))) 746 746 747 -* AB aa 01 03 xx xx xx same as AT+SEARCHaa=1,xx xx xx 748 -* 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 860 +((( 861 + 862 +))) 749 749 750 -**AB aa 02 03 xx xx xx 02 yy yy** same as **AT+SEARCHaa=2,xx xx xx+yy yy** 864 +((( 865 +**Example:** 866 +))) 751 751 868 +* ((( 869 +AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0). So RS485-LN. 870 +))) 871 +* ((( 872 +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. 873 +))) 874 +* ((( 875 +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. 752 752 753 -==== Fast command to handle MODBUS device ==== 877 + 878 +))) 754 754 755 - AT+MBFUNis valid sincev1.3firmwareversion. The commandsfor fastconfiguretoread Modbusdevices. Itis only validforthedevices whichfollowthe [[MODBUS-RTU protocol>>url:https://www.modbustools.com/modbus.html]].880 +(% aria-label="image-20220602165351-6.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602165351-6.png||data-widget="image"]](% title="Click and drag to resize" %) 756 756 757 - Thiscommand isvalidsincev1.3firmwareversion882 +(% aria-label="image-20220602165351-7.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602165351-7.png||data-widget="image"]](% title="Click and drag to resize" %) 758 758 759 759 760 -AT+MBFUN has only two value: 761 761 762 -* AT+MBFUN=1: Enable Modbus reading. And get response base on the MODBUS return 763 763 764 - AT+MBFUN=1,devicecan auto read the Modbus function code: 01, 02, 03 or04. AT+MBFUN haslowerpriorityvs AT+DATACUTcommand.If AT+DATACUT commandis configured,AT+MBFUN will be ignore.887 +==== (% style="color:blue" %)**RS485 command timeout**(%%) ==== 765 765 766 -* AT+MBFUN=0: Disable Modbus fast reading. 889 +((( 890 +Some Modbus device has slow action to send replies. This command is used to configure the RS485-LN to use longer time to wait for their action. 891 +))) 767 767 768 -Example: 893 +((( 894 +Default value: 0, range: 0 ~~ 65 seconds 895 +))) 769 769 770 -* AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0). 771 -* 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. 772 -* 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. 897 +* ((( 898 +(% style="color:#037691" %)** AT Command:** 773 773 774 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image025.png]] 900 +**AT+CMDDLaa=hex(bb cc)*1000** 901 +))) 775 775 903 +((( 904 + 776 776 777 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image026.png]] 906 +**Example:** 907 +))) 778 778 909 +((( 910 +**AT+CMDDL1=1000** to send the open time to 1000ms 911 +))) 779 779 780 -* Downlink Commands: 913 +((( 914 + 915 +))) 781 781 782 -A9 aa -à Same as AT+MBFUN=aa 917 +* ((( 918 +(% style="color:#037691" %)** Downlink Payload:** 919 +))) 783 783 921 +((( 922 +**0x AA aa bb cc** 923 +))) 784 784 785 -==== RS485 command timeout ==== 925 +((( 926 +Same as: AT+CMDDLaa=hex(bb cc)*1000 927 +))) 786 786 787 -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. 929 +((( 930 +**Example:** 931 +))) 788 788 789 -Default value: 0, range: 0 ~~ 5 seconds 933 +((( 934 +**0xAA 01 00 01** ~-~-> Same as **AT+CMDDL1=1000 ms** 935 +))) 790 790 791 791 792 -* AT Command: 793 793 794 -AT+CMDDLaa=hex(bb cc) 795 795 796 - Example:940 +==== (% style="color:blue" %)**Uplink payload mode**(%%) ==== 797 797 798 -**AT+CMDDL1=1000** to send the open time to 1000ms 942 +((( 943 +Define to use one uplink or multiple uplinks for the sampling. 944 +))) 799 799 946 +((( 947 +The use of this command please see: [[Compose Uplink payload>>||anchor="H3.3.4Composetheuplinkpayload"]] 800 800 801 -* Downlink Payload: 949 + 950 +))) 802 802 803 -0x AA aa bb cc 952 +* ((( 953 +(% style="color:#037691" %)** AT Command:** 954 +))) 804 804 805 - Same as:AT+CMDDLaa=hex(bb cc)956 +**AT+DATAUP=0** 806 806 807 - Example:958 +**AT+DATAUP=1** 808 808 809 - 0xAA 01 03 E8 à Same as **AT+CMDDL1=1000 ms** 810 810 961 +* ((( 962 +(% style="color:#037691" %)** Downlink Payload:** 963 +))) 811 811 812 -==== [[Uplink>>path:#downlink_A8]] payload mode ==== 965 +((( 966 +**0xAD 00** **~-~->** Same as AT+DATAUP=0 967 +))) 813 813 814 -Define to use one uplink or multiple uplinks for the sampling. 969 +((( 970 +**0xAD 01** **~-~->** Same as AT+DATAUP=1 971 +))) 815 815 816 -The use of this command please see: [[Compose Uplink payload>>path:#DataUP]] 817 817 818 -* AT Command: 819 819 820 -AT+DATAUP=0 821 821 822 - AT+DATAUP=1976 +==== (% style="color:blue" %)**Manually trigger an Uplink**(%%) ==== 823 823 978 +((( 979 +Ask device to send an uplink immediately. 980 +))) 824 824 825 -* Downlink Payload: 982 +* ((( 983 +(% style="color:#037691" %)** AT Command:** 984 +))) 826 826 827 -0xAD 00 à Same as AT+DATAUP=0 986 +((( 987 +No AT Command for this, user can press the [[ACT button>>||anchor="H3.7Buttons"]] for 1 second for the same. 988 +))) 828 828 829 -0xAD 01 à Same as AT+DATAUP=1 990 +((( 991 + 992 +))) 830 830 994 +* ((( 995 +(% style="color:#037691" %)** Downlink Payload:** 996 +))) 831 831 832 -==== Manually trigger an Uplink ==== 998 +((( 999 +**0x08 FF**, RS485-LN will immediately send an uplink. 1000 +))) 833 833 834 -Ask device to send an uplink immediately. 835 835 836 -* Downlink Payload: 837 837 838 -0x08 FF, RS485-BL will immediately send an uplink. 839 839 1005 +==== (% style="color:blue" %)**Clear RS485 Command**(%%) ==== 840 840 841 -==== Clear RS485 Command ==== 842 - 1007 +((( 843 843 The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them. 844 844 1010 + 1011 +))) 845 845 846 -* AT Command: 1013 +* ((( 1014 +(% style="color:#037691" %)** AT Command:** 1015 +))) 847 847 1017 +((( 848 848 **AT+CMDEAR=mm,nn** mm: start position of erase ,nn: stop position of erase 1019 +))) 849 849 1021 +((( 850 850 Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 1023 +))) 851 851 1025 +((( 852 852 Example screen shot after clear all RS485 commands. 1027 +))) 853 853 1029 +((( 1030 + 1031 +))) 854 854 855 - 1033 +((( 856 856 The uplink screen shot is: 1035 +))) 857 857 858 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]]1037 +(% aria-label="1654160691922-496.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1654160691922-496.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 859 859 860 860 861 -* Downlink Payload: 1040 +* ((( 1041 +(% style="color:#037691" %)** Downlink Payload:** 1042 +))) 862 862 863 -0x09 aa bb same as AT+CMDEAR=aa,bb 1044 +((( 1045 +**0x09 aa bb** same as AT+CMDEAR=aa,bb 1046 +))) 864 864 865 865 866 -==== Set Serial Communication Parameters ==== 867 867 1050 + 1051 +==== (% style="color:blue" %)**Set Serial Communication Parameters**(%%) ==== 1052 + 1053 +((( 868 868 Set the Rs485 serial communication parameters: 1055 +))) 869 869 870 -* AT Command: 1057 +* ((( 1058 +(% style="color:#037691" %)** AT Command:** 1059 +))) 871 871 872 -Set Baud Rate: 1061 +((( 1062 + 873 873 874 -AT+BAUDR=9600 ~/~/ Options: (1200,2400,4800,14400,19200,115200) 1064 +* Set Baud Rate 1065 +))) 875 875 1067 +**AT+BAUDR=9600** ~/~/ Options: (1200,2400,4800,14400,19200,115200) 876 876 877 -Set UART parity 878 878 879 -AT+PARITY=0 ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity 1070 +((( 1071 +* Set UART Parity 1072 +))) 880 880 1074 +**AT+PARITY=0** ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity 881 881 882 -Set STOPBIT 883 883 884 -AT+STOPBIT=0 ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits 1077 +((( 1078 +* Set STOPBIT 1079 +))) 885 885 1081 +**AT+STOPBIT=0** ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits 886 886 887 -* Downlink Payload: 888 888 889 -A7 01 aa bb: Same AT+BAUDR=hex(aa bb)*100 890 890 891 -Example: 1085 +* ((( 1086 +(% style="color:#037691" %)** Downlink Payload:** 1087 +))) 892 892 893 -* A7 01 00 60 same as AT+BAUDR=9600 894 -* A7 01 04 80 same as AT+BAUDR=115200 1089 +((( 1090 +**A7 01 aa bb**: Same AT+BAUDR=hex(aa bb)*100 1091 +))) 895 895 896 -A7 02 aa: Same as AT+PARITY=aa (aa value: 00 , 01 or 02) 1093 +((( 1094 +**Example:** 1095 +))) 897 897 898 -A7 03 aa: Same as AT+STOPBIT=aa (aa value: 00 , 01 or 02) 1097 +* ((( 1098 +A7 01 00 60 same as AT+BAUDR=9600 1099 +))) 1100 +* ((( 1101 +A7 01 04 80 same as AT+BAUDR=115200 1102 +))) 899 899 1104 +((( 1105 +A7 02 aa: Same as AT+PARITY=aa (aa value: 00 , 01 or 02) 1106 +))) 900 900 901 -==== Control output power duration ==== 1108 +((( 1109 +A7 03 aa: Same as AT+STOPBIT=aa (aa value: 00 , 01 or 02) 1110 +))) 902 902 903 -User can set the output power duration before each sampling. 904 904 905 -* AT Command: 906 906 907 -Example: 908 908 909 - AT+3V3T=1000~/~/3V3 output power willopen1s beforeeachsampling.1115 +== 3.6 Listening mode for RS485 network == 910 910 911 -AT+5VT=1000 ~/~/ +5V output power will open 1s before each sampling. 912 912 1118 +((( 1119 +This feature support since firmware v1.4 1120 +))) 913 913 914 -* LoRaWAN Downlink Command: 1122 +((( 1123 +RS485-LN supports listening mode, it can listen the RS485 network packets and send them via LoRaWAN uplink. Below is the structure. The blue arrow shows the RS485 network packets to RS485-LN. 915 915 916 -07 01 aa bb Same as AT+5VT=(aa bb) 1125 + 1126 +))) 917 917 918 -07 02 Same as AT+3V3T=(aabb)1128 +(% aria-label="image-20220602171200-8.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602171200-8.png||data-widget="image" height="567" width="1007"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 919 919 1130 +((( 1131 +To enable the listening mode, use can run the command AT+RXMODE. 1132 +))) 920 920 1134 +((( 1135 + 1136 +))) 921 921 1138 +(% border="1" cellspacing="10" style="background-color:#ffffcc; width:500px" %) 1139 +|=(% style="width: 100px;" %)((( 1140 +**Command example** 1141 +)))|=(% style="width: 400px;" %)((( 1142 +**Function** 1143 +))) 1144 +|(% style="width:100px" %)((( 1145 +AT+RXMODE=1,10 1146 +)))|(% style="width:400px" %)((( 1147 +Enable listening mode 1, if RS485-LN has received more than 10 RS485 commands from the network. RS485-LN will send these commands via LoRaWAN uplinks. 1148 +))) 1149 +|(% style="width:100px" %)((( 1150 +AT+RXMODE=2,500 1151 +)))|(% style="width:400px" %)((( 1152 +Enable listening mode 2, RS485-LN will capture and send a 500ms content once from the first detect of character. Max value is 65535 ms 1153 +))) 1154 +|(% style="width:100px" %)((( 1155 +AT+RXMODE=0,0 1156 +)))|(% style="width:400px" %)((( 1157 +Disable listening mode. This is the default settings. 1158 +))) 1159 +|(% style="width:100px" %)((( 1160 + 1161 +)))|(% style="width:400px" %)((( 1162 +A6 aa bb cc same as AT+RXMODE=aa,(bb<<8 | cc) 1163 +))) 922 922 923 -1. 924 -11. Buttons 1165 +((( 1166 +(% style="color:#037691" %)** Downlink Command:** 1167 +))) 925 925 926 -|**Button**|**Feature** 927 -|**RST**|Reboot RS485-BL 1169 +((( 1170 +**0xA6 aa bb cc ** same as AT+RXMODE=aa,(bb<<8 | cc) 1171 +))) 928 928 929 -1. 930 -11. +3V3 Output 1173 +((( 1174 + 1175 +))) 931 931 932 -RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor. 1177 +((( 1178 +**Example**: 1179 +))) 933 933 934 -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. 1181 +((( 1182 +The RS485-LN is set to AT+RXMODE=2,1000 1183 +))) 935 935 1185 +((( 1186 +There is a two Modbus commands in the RS485 network as below: 1187 +))) 936 936 937 -The +3V3 output time can be controlled by AT Command. 1189 +((( 1190 +The Modbus master send a command: (% style="background-color:#ffc000" %)01 03 00 00 00 02 c4 0b 1191 +))) 938 938 939 -**AT+3V3T=1000** 1193 +((( 1194 +And Modbus slave reply with: (% style="background-color:green" %)01 03 04 00 00 00 00 fa 33 1195 +))) 940 940 941 -Means set +3v3 valid time to have 1000ms. So, the real +3v3 output will actually have 1000ms + sampling time for other sensors. 1197 +((( 1198 +RS485-LN will capture both and send the uplink: (% style="background-color:#ffc000" %)01 03 00 00 00 02 c4 0b (% style="background-color:green" %)01 03 04 00 00 00 00 fa 33 1199 +))) 942 942 1201 +((( 1202 +(% aria-label="image-20220602171200-9.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602171200-9.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 1203 +))) 943 943 944 -By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time 1205 +((( 1206 + 1207 +))) 945 945 1209 +((( 1210 +((( 1211 +(% style="color:red" %)**Notice: Listening mode can work with the default polling mode of RS485-LN. When RS485-LN is in to send the RS485 commands (from AT+COMMANDx), the listening mode will be interrupt for a while.** 1212 +))) 1213 +))) 946 946 947 -1. 948 -11. +5V Output 949 949 950 -RS485-BL has a Controllable +5V output, user can use this output to power external sensor. 951 951 952 - The+5V output will be valid for every sampling.RS485-BL will enable +5V outputbefore all sampling and disablethe +5v after all sampling.1217 +== 3.7 Buttons == 953 953 954 954 955 -The 5V output time can be controlled by AT Command. 1220 +(% border="1" cellspacing="10" style="background-color:#f7faff; width:430px" %) 1221 +|=(% style="width: 50px;" %)**Button**|=(% style="width: 361px;" %)**Feature** 1222 +|(% style="width:50px" %)**ACT**|(% style="width:361px" %)If RS485 joined in network, press this button for more than 1 second, RS485 will upload a packet, and the SYS LED will give a (% style="color:blue" %)**Blue blink** 1223 +|(% style="width:50px" %)**RST**|(% style="width:361px" %)Reboot RS485 1224 +|(% style="width:50px" %)**PRO**|(% style="width:361px" %)Use for upload image, see [[How to Update Image>>||anchor="H6.1Howtoupgradetheimage3F"]] 956 956 957 -**AT+5VT=1000** 958 958 959 - Meansset 5V valid time to have 1000ms.So, the real 5V output will actually have 1000ms+ sampling time for other sensors.1227 +== 3.8 LEDs == 960 960 961 961 962 -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. 1230 +(% border="1" cellspacing="10" style="background-color:#f7faff; width:430px" %) 1231 +|=(% style="width: 50px;" %)**LEDs**|=(% style="width: 380px;" %)**Feature** 1232 +|**PWR**|Always on if there is power 1233 +|**SYS**|After device is powered on, the SYS will (% style="color:green" %)**fast blink in GREEN**(%%) for 5 times, means RS485-LN start to join LoRaWAN network. If join success, SYS will be (% style="color:green" %)**on GREEN for 5 seconds** (%%)**. **SYS will (% style="color:green" %)**blink Blue**(%%) on every upload and (% style="color:green" %)**blink Green**(%%) once receive a downlink message. 963 963 964 964 1236 += 4. Case Study = 965 965 966 966 967 -1. 968 -11. LEDs 1239 +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]] 969 969 970 -|**LEDs**|**Feature** 971 -|**LED1**|Blink when device transmit a packet. 972 972 973 -1. 974 -11. Switch Jumper 975 975 976 -|**Switch Jumper**|**Feature** 977 -|**SW1**|((( 978 -ISP position: Upgrade firmware via UART 1243 += 5. Use AT Command = 979 979 980 -Flash position: Configure device, check running status. 1245 +== 5.1 Access AT Command == 1246 + 1247 + 1248 +((( 1249 +RS485-LN supports AT Command set. User can use a USB to TTL adapter plus the 3.5mm Program Cable to connect to RS485-LN to use AT command, as below. 981 981 ))) 982 -|**SW2**|((( 983 -5V position: set to compatible with 5v I/O. 984 984 985 -3.3v position: set to compatible with 3.3v I/O., 1252 +(% aria-label="1654162355560-817.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1654162355560-817.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 1253 + 1254 + 1255 +((( 1256 +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-LN. The default password is 123456. Below is the output for reference: 986 986 ))) 987 987 988 - +3.3V: is alwaysON1259 +(% aria-label="1654162368066-342.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1654162368066-342.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 989 989 990 -+5V: Only open before every sampling. The time is by default, it is AT+5VT=0. Max open time. 5000 ms. 991 991 992 -1. Case Study 1262 +((( 1263 +More detail AT Command manual can be found at [[AT Command Manual>>https://www.dragino.com/downloads/index.php?dir=LT_LoRa_IO_Controller/LT33222-L/]] 1264 +))) 993 993 994 -User can check this URL for some case studies. 995 995 996 -[[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]] 997 997 1268 +== 5.2 Common AT Command Sequence == 998 998 999 999 1271 +=== 5.2.1 Multi-channel ABP mode (Use with SX1301/LG308) === 1000 1000 1001 -1. Use AT Command 1002 -11. Access AT Command 1003 1003 1004 - RS485-BLsupports AT Commandset. Usercan usea USB toTTL adapterplus the 3.5mm Program Cableto connecttoRS485-BL to useAT command, as below.1274 +If device has not joined network yet: 1005 1005 1006 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image027.png]] 1276 +* (% style="color:#037691" %)**AT+FDR** 1277 +* (% style="color:#037691" %)**AT+NJM=0** 1278 +* (% style="color:#037691" %)**ATZ** 1007 1007 1280 +((( 1281 + 1008 1008 1009 -I nPC, User needs to set **serial tool**(suchas [[putty>>url:https://www.chiark.greenend.org.uk/~~sgtatham/putty/latest.html]],SecureCRT) baud rate to**9600** to access to access serial consoleof RS485-BL. Thedefaultpassword is 123456. Below is the output for reference:1283 +If device already joined network: 1010 1010 1011 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image028.png]] 1285 +* (% style="color:#037691" %)**AT+NJM=0** 1286 +* (% style="color:#037691" %)**ATZ** 1012 1012 1288 + 1289 +))) 1013 1013 1014 1014 1015 -More detail AT Command manual can be found at [[AT Command Manual>>path:#AT_COMMAND]] 1016 1016 1293 +=== 5.5.2 Single-channel ABP mode (Use with LG01/LG02) === 1017 1017 1018 1018 1019 -1. 1020 -11. Common AT Command Sequence 1021 -111. Multi-channel ABP mode (Use with SX1301/LG308) 1296 +(% style="background-color:#dcdcdc" %)**AT+FDR** (%%) Reset Parameters to Factory Default, Keys Reserve 1022 1022 1023 - Ifdevice hasnot joinednetworkyet:1298 +(% style="background-color:#dcdcdc" %)**AT+NJM=0 **(%%) Set to ABP mode 1024 1024 1025 -AT+ FDR1300 +(% style="background-color:#dcdcdc" %)**AT+ADR=0** (%%) Set the Adaptive Data Rate Off 1026 1026 1027 -AT+ NJM=01302 +(% style="background-color:#dcdcdc" %)**AT+DR=5** (%%) Set Data Rate 1028 1028 1029 -AT Z1304 +(% style="background-color:#dcdcdc" %)**AT+TDC=60000** (%%) Set transmit interval to 60 seconds 1030 1030 1306 +(% style="background-color:#dcdcdc" %)**AT+CHS=868400000**(%%) Set transmit frequency to 868.4Mhz 1031 1031 1032 - Ifdevicealreadyjoinednetwork:1308 +(% style="background-color:#dcdcdc" %)**AT+RX2FQ=868400000** (%%) Set RX2Frequency to 868.4Mhz (according to the result from server) 1033 1033 1034 -AT+ NJM=01310 +(% style="background-color:#dcdcdc" %)**AT+RX2DR=5** (%%) Set RX2DR to match the downlink DR from server. see below 1035 1035 1036 -AT Z1312 +(% style="background-color:#dcdcdc" %)**AT+DADDR=26** (%%) 01 1A F1 Set Device Address to 26 01 1A F1, this ID can be found in the LoRa Server portal. 1037 1037 1038 -1. 1039 -11. 1040 -111. Single-channel ABP mode (Use with LG01/LG02) 1314 +(% style="background-color:#dcdcdc" %)**ATZ** (%%) Reset MCU 1041 1041 1042 -AT+FDR Reset Parameters to Factory Default, Keys Reserve 1043 1043 1044 - AT+NJM=0SettoABP mode1317 +(% style="color:red" %)**Note:** 1045 1045 1046 -AT+ADR=0 Set the Adaptive Data Rate Off 1319 +((( 1320 +(% style="color:red" %)1. Make sure the device is set to ABP mode in the IoT Server. 1321 +2. Make sure the LG01/02 gateway RX frequency is exactly the same as AT+CHS setting. 1322 +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. 1323 +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 1324 +))) 1047 1047 1048 -A T+DR=5SetDataRate1326 +(% aria-label="1654162478620-421.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1654162478620-421.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 1049 1049 1050 -AT+TDC=60000 Set transmit interval to 60 seconds 1051 1051 1052 -AT+CHS=868400000 Set transmit frequency to 868.4Mhz 1053 1053 1054 - AT+RX2FQ=868400000Set RX2Frequency to 868.4Mhz(accordingto the result from server)1330 += 6. FAQ = 1055 1055 1056 - AT+RX2DR=5SetRX2DRtomatchthedownlink DR fromserver.see below1332 +== 6.1 How to upgrade the image? == 1057 1057 1058 -AT+DADDR=26 01 1A F1 Set Device Address to 26 01 1A F1, this ID can be found in the LoRa Server portal. 1059 1059 1060 -ATZ Reset MCU 1335 +((( 1336 +The RS485-LN LoRaWAN Controller is shipped with a 3.5mm cable, the cable is used to upload image to RS485-LN to: 1337 +))) 1061 1061 1062 -**Note:** 1339 +* ((( 1340 +Support new features 1341 +))) 1342 +* ((( 1343 +For bug fix 1344 +))) 1345 +* ((( 1346 +Change LoRaWAN bands. 1347 +))) 1063 1063 1064 -1. Make sure the device is set to ABP mode in the IoT Server. 1065 -1. Make sure the LG01/02 gateway RX frequency is exactly the same as AT+CHS setting. 1066 -1. Make sure SF / bandwidth setting in LG01/LG02 match the settings of AT+DR. refer [[this link>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/&file=LoRaWAN%201.0.3%20Regional%20Parameters.xlsx]] to see what DR means. 1067 -1. The command AT+RX2FQ and AT+RX2DR is to let downlink work. to set the correct parameters, user can check the actually downlink parameters to be used. As below. Which shows the RX2FQ should use 868400000 and RX2DR should be 5 1349 +((( 1350 +Below shows the hardware connection for how to upload an image to RS485-LN: 1351 +))) 1068 1068 1069 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image029.png]]1353 +(% aria-label="1654162535040-878.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1654162535040-878.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 1070 1070 1355 +((( 1356 +(% style="color:blue" %)**Step1**(%%)**:** Download [[flash loader>>url:https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/flasher-stm32.html]]. 1357 +))) 1071 1071 1072 -1. FAQ 1073 -11. How to upgrade the image? 1359 +((( 1360 +(% style="color:blue" %)**Step2**(%%)**:** Download the [[LT Image files>>url:https://www.dragino.com/downloads/index.php?dir=RS485-LN/Firmware/]]. 1361 +))) 1074 1074 1075 -The RS485-BL LoRaWAN Controller is shipped with a 3.5mm cable, the cable is used to upload image to RS485-BL to: 1363 +((( 1364 +(% style="color:blue" %)**Step3**(%%)**: **Open flashloader; choose the correct COM port to update. 1365 +))) 1076 1076 1077 -* Support new features 1078 -* For bug fix 1079 -* Change LoRaWAN bands. 1367 +((( 1368 +((( 1369 +((( 1370 +(% style="color:blue" %) Hold down the PRO button and then momentarily press the RST reset button and the SYS led will change from OFF to ON, While SYS LED is RED ON, it means the RS485-LN is ready to be program. 1371 +))) 1372 +))) 1373 +))) 1080 1080 1081 -Below shows the hardware connection for how to upload an image to RS485-BL: 1082 1082 1083 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image030.png]]1376 +(% aria-label="image-20220602175818-12.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602175818-12.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 1084 1084 1085 -**Step1:** Download [[flash loader>>url:https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/flasher-stm32.html]]. 1086 1086 1087 - **Step2**:Downloadthe [[LT Imagefiles>>url:http://www.dragino.com/downloads/index.php?dir=LT_LoRa_IO_Controller/LT33222-L/image/]].1379 +(% aria-label="image-20220602175848-13.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602175848-13.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 1088 1088 1089 -**Step3: **Open flashloader; choose the correct COM port to update. 1090 1090 1382 +(% aria-label="image-20220602175912-14.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602175912-14.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 1091 1091 1092 -|((( 1093 -HOLD PRO then press the RST button, SYS will be ON, then click next 1094 -))) 1095 1095 1096 -|((( 1097 -Board detected 1098 -))) 1385 +(% style="color:red" %)**Notice**: **In case user has lost the program cable. User can hand made one from a 3.5mm cable. The pin mapping is:** 1099 1099 1100 -|((( 1101 - 1102 -))) 1387 +(% aria-label="image-20220602175638-10.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602175638-10.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 1103 1103 1104 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image031.png]] [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image032.png]] 1105 1105 1106 1106 1391 +== 6.2 How to change the LoRa Frequency Bands/Region? == 1107 1107 1108 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image033.png]] [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image034.png]] 1109 1109 1394 +User can follow the introduction for [[how to upgrade image>>||anchor="H6.1Howtoupgradetheimage3F"]]. When download the images, choose the required image file for download. 1110 1110 1111 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image035.png]] [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image036.png]] 1112 1112 1113 1113 1114 -1. 1115 -11. How to change the LoRa Frequency Bands/Region? 1398 +== 6.3 How many RS485-Slave can RS485-LN connects? == 1116 1116 1117 -User can follow the introduction for [[how to upgrade image>>path:#upgrade_image]]. When download the images, choose the required image file for download. 1118 1118 1401 +The RS485-LN can support max 32 RS485 devices. Each uplink command of RS485-LN can support max 16 different RS485 command. So RS485-LN 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"]]. 1119 1119 1120 1120 1121 -1. 1122 -11. How many RS485-Slave can RS485-BL connects? 1123 1123 1124 - TheRS485-BLcan supportmax 32 RS485 devices. Each uplink command of RS485-BL can supportmax 16 differentRS485 command. So RS485-BL can support max 16 RS485 devicespre-program inthe device for uplink.Forother devices no pre-program, usercanuse the [[downlinkmessage(type code 0xA8)to poll theirinfo>>path:#downlink_A8]].1405 +== 6.4 Compatible question to ChirpStack and TTI LoRaWAN server ? == 1125 1125 1126 1126 1408 +When user need to use with ChirpStack or TTI. Please set AT+RPL=4. 1127 1127 1410 +Detail info check this link: [[Set Packet Receiving Response Level>>doc:Main.End Device AT Commands and Downlink Command.WebHome||anchor="H7.23SetPacketReceivingResponseLevel"]] 1128 1128 1129 -1. Trouble Shooting 1130 -11. Downlink doesn’t work, how to solve it? 1131 1131 1132 -Please see this link for debug: 1133 1133 1134 - [[http:~~/~~/wiki.dragino.com/index.php?title=Main_Page#LoRaWAN_Communication_Debug>>url:http://wiki.dragino.com/index.php?title=Main_Page#LoRaWAN_Communication_Debug]]1414 +== 6.5 Can i use point to point communication for RS485-LN? == 1135 1135 1136 1136 1417 +Yes, please refer [[Point to Point Communication for RS485-LN>>Point to Point Communication for RS485-LN]]. 1137 1137 1138 -1. 1139 -11. Why I can’t join TTN V3 in US915 /AU915 bands? 1140 1140 1141 -It might about the channels mapping. Please see for detail. 1142 1142 1143 - [[http:~~/~~/wiki.dragino.com/index.php?title=LoRaWAN_Communication_Debug#Notice_of_US915.2FCN470.2FAU915_Frequency_band>>url:http://wiki.dragino.com/index.php?title=LoRaWAN_Communication_Debug#Notice_of_US915.2FCN470.2FAU915_Frequency_band]]1421 +== 6.6 How to Use RS485-LN to connect to RS232 devices? == 1144 1144 1145 1145 1424 +[[Use RS485-BL or RS485-LN to connect to RS232 devices. - DRAGINO>>url:http://8.211.40.43:8080/xwiki/bin/view/Main/RS485%20to%20RS232/]] 1146 1146 1147 -1. Order Info 1148 1148 1149 -**Part Number: RS485-BL-XXX** 1150 1150 1151 - **XXX:**1428 += 7. Trouble Shooting = 1152 1152 1153 -* **EU433**: frequency bands EU433 1154 -* **EU868**: frequency bands EU868 1155 -* **KR920**: frequency bands KR920 1156 -* **CN470**: frequency bands CN470 1157 -* **AS923**: frequency bands AS923 1158 -* **AU915**: frequency bands AU915 1159 -* **US915**: frequency bands US915 1160 -* **IN865**: frequency bands IN865 1161 -* **RU864**: frequency bands RU864 1162 -* **KZ865: **frequency bands KZ865 1163 1163 1164 - 1.PackingInfo1431 +== 7.1 Downlink doesn't work, how to solve it? == 1165 1165 1433 + 1434 +Please see this link for debug: [[LoRaWAN Communication Debug>>doc:Main.LoRaWAN Communication Debug.WebHome]] 1435 + 1436 + 1437 + 1438 +== 7.2 Why I can't join TTN V3 in US915 /AU915 bands? == 1439 + 1440 + 1441 +It might about the channels mapping. Please see for detail: [[Notice of Frequency band>>doc:Main.LoRaWAN Communication Debug.WebHome||anchor="H2.NoticeofUS9152FCN4702FAU915Frequencyband"]] 1442 + 1443 + 1444 + 1445 += 8. Order Info = 1446 + 1447 + 1448 +(% style="color:blue" %)**Part Number: RS485-LN-XXX** 1449 + 1450 +(% style="color:blue" %)**XXX:** 1451 + 1452 +* (% style="color:red" %)**EU433**(%%): frequency bands EU433 1453 +* (% style="color:red" %)**EU868**(%%): frequency bands EU868 1454 +* (% style="color:red" %)**KR920**(%%): frequency bands KR920 1455 +* (% style="color:red" %)**CN470**(%%): frequency bands CN470 1456 +* (% style="color:red" %)**AS923**(%%): frequency bands AS923 1457 +* (% style="color:red" %)**AU915**(%%): frequency bands AU915 1458 +* (% style="color:red" %)**US915**(%%): frequency bands US915 1459 +* (% style="color:red" %)**IN865**(%%): frequency bands IN865 1460 +* (% style="color:red" %)**RU864**(%%): frequency bands RU864 1461 +* (% style="color:red" %)**KZ865**(%%): frequency bands KZ865 1462 + 1463 + 1464 + 1465 += 9.Packing Info = 1466 + 1467 + 1166 1166 **Package Includes**: 1167 1167 1168 -* RS485- BL x 11470 +* RS485-LN x 1 1169 1169 * Stick Antenna for LoRa RF part x 1 1170 1170 * Program cable x 1 1171 1171 ... ... @@ -1176,9 +1176,68 @@ 1176 1176 * Package Size / pcs : 14.5 x 8 x 5 cm 1177 1177 * Weight / pcs : 170g 1178 1178 1179 -1. Support 1180 1180 1181 -* Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule. 1182 -* Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to 1183 1183 1184 -[[support@dragino.com>>url:file:///D:/市场资料/说明书/LoRa/LT系列/support@dragino.com]] 1483 + 1484 += 10. FCC Caution for RS485LN-US915 = 1485 + 1486 + 1487 +((( 1488 +Any Changes or modifications not expressly approved by the party responsible for compliance could void the user's authority to operate the equipment. 1489 +))) 1490 + 1491 +((( 1492 +This device complies with part 15 of the FCC Rules. Operation is subject to the following two conditions: (1) This device may not cause harmful interference, and (2) this device must accept any interference received, including interference that may cause undesired operation. 1493 +))) 1494 + 1495 +((( 1496 + 1497 +))) 1498 + 1499 +((( 1500 +(% style="color:red" %)**IMPORTANT NOTE:** 1501 +))) 1502 + 1503 +((( 1504 +**Note: **This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one or more of the following measures: 1505 +))) 1506 + 1507 +((( 1508 +—Reorient or relocate the receiving antenna. 1509 +))) 1510 + 1511 +((( 1512 +—Increase the separation between the equipment and receiver. 1513 +))) 1514 + 1515 +((( 1516 +—Connect the equipment into an outlet on a circuit different from that to which the receiver is connected. 1517 +))) 1518 + 1519 +((( 1520 +—Consult the dealer or an experienced radio/TV technician for help. 1521 +))) 1522 + 1523 +((( 1524 + 1525 +))) 1526 + 1527 +((( 1528 +(% style="color:red" %)**FCC Radiation Exposure Statement:** 1529 +))) 1530 + 1531 +((( 1532 +This equipment complies with FCC radiation exposure limits set forth for an uncontrolled environment.This equipment should be installed and operated with minimum distance 20cm between the radiator& your body. 1533 +))) 1534 + 1535 + 1536 + 1537 += 11. Support = 1538 + 1539 + 1540 +* ((( 1541 +Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule. 1542 +))) 1543 +* ((( 1544 +Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.com>>url:file:///D:/市场资料/说明书/LoRa/LT系列/support@dragino.com]]. 1545 +)))
- 1654157178836-407.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +179.9 KB - Content
- 1654157342174-798.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +31.9 KB - Content
- 1654158783574-851.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +40.6 KB - Content
- 1654159460680-153.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +24.9 KB - Content
- 1654160691922-496.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +109.3 KB - Content
- 1654162355560-817.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +670.0 KB - Content
- 1654162368066-342.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +192.9 KB - Content
- 1654162478620-421.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +158.9 KB - Content
- 1654162535040-878.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +670.0 KB - Content
- image-20220602153621-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +23.4 KB - Content
- image-20220602153621-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +22.2 KB - Content
- image-20220602153621-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +22.3 KB - Content
- image-20220602155039-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +24.6 KB - Content
- image-20220602163333-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +48.2 KB - Content
- image-20220602165351-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +10.6 KB - Content
- image-20220602165351-7.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +19.3 KB - Content
- image-20220602171200-8.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +276.1 KB - Content
- image-20220602171200-9.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +10.0 KB - Content
- image-20220602175638-10.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +85.5 KB - Content
- image-20220602175743-11.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +85.5 KB - Content
- image-20220602175818-12.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +102.5 KB - Content
- image-20220602175848-13.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +250.9 KB - Content
- image-20220602175912-14.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +176.1 KB - Content
- image-20220606110929-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +13.9 KB - Content