<
From version < 15.4 >
edited by Xiaoling
on 2022/05/19 17:48
To version < 18.1 >
edited by Xiaoling
on 2022/05/23 08:48
>
Change comment: Uploaded new attachment "1653266934636-343.png", version {1}

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -RS485-BL – Waterproof RS485 to LoRaWAN Converter
1 +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,m
321 +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
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0