Changes for page RS485-LN – RS485 to LoRaWAN Converter User Manual
Last modified by Karry Zhuang on 2025/03/06 16:34
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 2 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -RS485- BL –WaterproofRS485 to LoRaWAN Converter1 +RS485-LN – RS485 to LoRaWAN Converter - Content
-
... ... @@ -219,142 +219,185 @@ 219 219 220 220 [[image:1652953568895-172.png||height="232" width="724"]] 221 221 222 +== 3.3 Configure Commands to read data == 222 222 223 - 224 - 225 -1. 226 -11. Configure Commands to read data 227 - 224 +((( 228 228 There are plenty of RS485 and TTL level devices in the market and each device has different command to read the valid data. To support these devices in flexible, RS485-BL supports flexible command set. User can use [[AT Commands or LoRaWAN Downlink>>path:#AT_COMMAND]] Command to configure how RS485-BL should read the sensor and how to handle the return from RS485 or TTL sensors. 226 +))) 229 229 228 +=== 3.3.1 onfigure UART settings for RS485 or TTL communication === 230 230 231 -1. 232 -11. 233 -111. Configure UART settings for RS485 or TTL communication 234 - 235 235 RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect. 236 236 237 -1. RS485-MODBUS mode: 232 +**~1. RS485-MODBUS mode:** 238 238 239 239 AT+MOD=1 ~/~/ Support RS485-MODBUS type sensors. User can connect multiply RS485 , Modbus sensors to the A / B pins. 240 240 236 +**2. TTL mode:** 241 241 242 -1. TTL mode: 243 - 244 244 AT+MOD=2 ~/~/ Support TTL Level sensors, User can connect one TTL Sensor to the TXD/RXD/GND pins. 245 245 246 - 247 247 RS485-BL default UART settings is **9600, no parity, stop bit 1**. If the sensor has a different settings, user can change the RS485-BL setting to match. 248 248 249 - 250 -|**AT Commands**|**Description**|**Example** 251 -|AT+BAUDR|Set the baud rate (for RS485 connection). Default Value is: 9600.|((( 242 +(% border="1" style="background-color:#ffffcc; color:green; width:795px" %) 243 +|((( 244 +**AT Commands** 245 +)))|(% style="width:285px" %)((( 246 +**Description** 247 +)))|(% style="width:347px" %)((( 248 +**Example** 249 +))) 250 +|((( 251 +AT+BAUDR 252 +)))|(% style="width:285px" %)((( 253 +Set the baud rate (for RS485 connection). Default Value is: 9600. 254 +)))|(% style="width:347px" %)((( 255 +((( 252 252 AT+BAUDR=9600 257 +))) 253 253 259 +((( 254 254 Options: (1200,2400,4800,14400,19200,115200) 255 255 ))) 256 -|AT+PARITY|((( 262 +))) 263 +|((( 264 +AT+PARITY 265 +)))|(% style="width:285px" %)((( 266 +((( 257 257 Set UART parity (for RS485 connection) 268 +))) 258 258 270 +((( 259 259 Default Value is: no parity. 260 -)))|((( 272 +))) 273 +)))|(% style="width:347px" %)((( 274 +((( 261 261 AT+PARITY=0 276 +))) 262 262 278 +((( 263 263 Option: 0: no parity, 1: odd parity, 2: even parity 264 264 ))) 265 -|AT+STOPBIT|((( 281 +))) 282 +|((( 283 +AT+STOPBIT 284 +)))|(% style="width:285px" %)((( 285 +((( 266 266 Set serial stopbit (for RS485 connection) 287 +))) 267 267 289 +((( 268 268 Default Value is: 1bit. 269 -)))|((( 291 +))) 292 +)))|(% style="width:347px" %)((( 293 +((( 270 270 AT+STOPBIT=0 for 1bit 295 +))) 271 271 297 +((( 272 272 AT+STOPBIT=1 for 1.5 bit 299 +))) 273 273 301 +((( 274 274 AT+STOPBIT=2 for 2 bits 275 275 ))) 304 +))) 276 276 306 +=== 3.3.2 Configure sensors === 277 277 308 +((( 309 +Some sensors might need to configure before normal operation. User can configure such sensor via PC or through RS485-BL AT Commands (% style="color:#4f81bd" %)**AT+CFGDEV**. 310 +))) 278 278 312 +((( 313 +When user issue an (% style="color:#4f81bd" %)**AT+CFGDEV**(%%) command, Each (% style="color:#4f81bd" %)**AT+CFGDEV**(%%) equals to send a command to the RS485 or TTL sensors. This command will only run when user input it and won’t run during each sampling. 314 +))) 279 279 280 -1. 281 -11. 282 -111. Configure sensors 283 - 284 -Some sensors might need to configure before normal operation. User can configure such sensor via PC or through RS485-BL AT Commands AT+CFGDEV. 285 - 286 - 287 -When user issue an AT+CFGDEV command, Each AT+CFGDEV equals to send a command to the RS485 or TTL sensors. This command will only run when user input it and won’t run during each sampling. 288 - 289 -|**AT Commands**|**Description**|**Example** 290 -|AT+CFGDEV|((( 316 +(% border="1" style="background-color:#ffffcc; color:green; width:806px" %) 317 +|**AT Commands**|(% style="width:418px" %)**Description**|(% style="width:256px" %)**Example** 318 +|AT+CFGDEV|(% style="width:418px" %)((( 291 291 This command is used to configure the RS485/TTL devices; they won’t be used during sampling. 292 292 293 -AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx, m321 +AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx, 294 294 295 -m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 296 -)))|AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 323 +mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 324 +)))|(% style="width:256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 297 297 298 298 Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>path:#AT_CFGDEV]]. 299 299 328 +=== 3.3.3 Configure read commands for each sampling === 300 300 301 - 302 - 303 - 304 -1. 305 -11. 306 -111. Configure read commands for each sampling 307 - 330 +((( 308 308 RS485-BL is a battery powered device; it will sleep most of time. And wake up on each period and read RS485 / TTL sensor data and uplink. 332 +))) 309 309 310 - 334 +((( 311 311 During each sampling, we need to confirm what commands we need to send to the sensors to read data. After the RS485/TTL sensors send back the value, it normally includes some bytes and we only need a few from them for a shorten payload. 336 +))) 312 312 313 - 338 +((( 314 314 To save the LoRaWAN network bandwidth, we might need to read data from different sensors and combine their valid value into a short payload. 340 +))) 315 315 316 - 342 +((( 317 317 This section describes how to achieve above goals. 344 +))) 318 318 319 - 346 +((( 320 320 During each sampling, the RS485-BL can support 15 commands to read sensors. And combine the return to one or several uplink payloads. 348 +))) 321 321 322 - 350 +((( 323 323 **Command from RS485-BL to Sensor:** 352 +))) 324 324 354 +((( 325 325 RS485-BL can send out pre-set max 15 strings via **AT+COMMAD1**, **ATCOMMAND2**,…, to **AT+COMMANDF** . All commands are of same grammar. 356 +))) 326 326 327 - 358 +((( 328 328 **Handle return from sensors to RS485-BL**: 360 +))) 329 329 362 +((( 330 330 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** 364 +))) 331 331 366 +* ((( 367 +**AT+DATACUT** 368 +))) 332 332 333 -* **AT+DATACUT** 334 - 370 +((( 335 335 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. 372 +))) 336 336 374 +* ((( 375 +**AT+SEARCH** 376 +))) 337 337 338 -* **AT+SEARCH** 339 - 378 +((( 340 340 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. 380 +))) 341 341 342 - 382 +((( 343 343 **Define wait timeout:** 384 +))) 344 344 386 +((( 345 345 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 388 +))) 346 346 347 - 390 +((( 348 348 After we got the valid value from each RS485 commands, we need to combine them together with the command **AT+DATAUP**. 392 +))) 349 349 350 - 351 351 **Examples:** 352 352 353 353 Below are examples for the how above AT Commands works. 354 354 355 - 356 356 **AT+COMMANDx : **This command will be sent to RS485/TTL devices during each sampling, Max command length is 14 bytes. The grammar is: 357 357 400 +(% border="1" class="table-bordered" %) 358 358 |((( 359 359 **AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m** 360 360 ... ... @@ -367,9 +367,9 @@ 367 367 368 368 In the RS485-BL, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same. 369 369 370 - 371 371 **AT+SEARCHx**: This command defines how to handle the return from AT+COMMANDx. 372 372 415 +(% border="1" class="table-bordered" %) 373 373 |((( 374 374 **AT+SEARCHx=aa,xx xx xx xx xx** 375 375 ... ... @@ -387,7 +387,7 @@ 387 387 388 388 The valid data will be all bytes after 1E 56 34 , so it is 2e 30 58 5f 36 41 30 31 00 49 389 389 390 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image013.png]]433 +[[image:1652954654347-831.png]] 391 391 392 392 393 393 1. For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
- 1652954654347-831.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +138.7 KB - Content
- 1653266934636-343.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +176.5 KB - Content