Last modified by Karry Zhuang on 2024/07/11 11:58
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,4 +1,5 @@ 1 -**Table of Contents:** 1 +(% class="wikigeneratedid" %) 2 + **Contents:** 2 2 3 3 {{toc/}} 4 4 ... ... @@ -7,69 +7,59 @@ 7 7 8 8 9 9 10 -= 1. Introduction = 11 += **1. Introduction** = 11 11 12 - 13 13 This article provide the examples for RS485-LN to connect to different type of RS485 sensors. 14 14 15 15 16 -== 1.1 Example 1: Connect to Leak relay and VFD == 16 +== **1.1 Example 1: Connect to Leak relay and VFD** == 17 17 18 - 19 19 This instruction is provided by Xavier Florensa Berenguer from [[NORIA GRUPO DE COMPRAS>>url:http://www.gruponovelec.com/]]. It is to show how to use RS485-LN to connect to Relay and VFD and communicate with Mobile. The structure is like below: 20 20 20 +[[image:image-20220527091852-1.png]] 21 21 22 - [[image:image-20220527091852-1.png||height="547" width="994"]]22 +Connection 23 23 24 -**Connection** 25 25 26 26 27 27 [[image:image-20220527091942-2.png]](% style="display:none" %) 28 28 29 - **Connection**28 +Connection 30 30 31 31 32 - (% style="color:blue" %)**Related documents:**31 +Related documents: 33 33 34 -* System Structure: [[Solar Pump with Dragino>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/Relay_VFD/||_mstmutation="1" style="background-color: rgb(255, 255, 255);"]] 35 - 36 -* Explanation on how to integrate to Node-red and to the Mobile Phone, and with link to the Github code: [[Configure Manual>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/Relay_VFD/||_mstmutation="1" style="background-color: rgb(255, 255, 255);"]] 37 - 33 +* [[Solar Pump with Dragino>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/Relay_VFD/]] : System Structure 34 +* [[Configure Manual>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/Relay_VFD/]] : Explanation on how to integrate to Node-red and to the Mobile Phone, and with link to the Github code. 38 38 * [[Video Demo>>url:https://www.youtube.com/watch?v=TAFZ5eaf-MY&t=6s&ab_channel=XavierFlorensaBerenguer]] 39 39 40 40 38 +== **1.2 Example 2: Connect to Pulse Counter** == 41 41 42 -== 1.2 Example 2: Connect to Pulse Counter == 43 - 44 - 45 45 This instruction is provided by Xavier Florensa Berenguer from [[NORIA GRUPO DE COMPRAS>>url:http://www.gruponovelec.com/]]. It is to show how to use RS485-LN to connect to Pulse Counter and communicate with Mobile. This example and example 2 compose the structure for a farm IoT solution. The structure is like below: 46 46 42 +[[image:image-20220527092058-3.png]] 47 47 48 - [[image:image-20220527092058-3.png||height="552" width="905"]]44 +Connection 49 49 50 -**Connection** 51 51 52 52 53 -[[image:image-20220527092146-4.png ||height="507" width="906"]]48 +[[image:image-20220527092146-4.png]] 54 54 55 - **Connection**50 +Connection 56 56 57 57 58 -(% style="color:blue" %)**Related documents:** 59 - 60 -* Configure Document: [[Pickdata MIO40 water pulse counter to LoRa with Dragino RS485-LN>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/Pulse-Counter/||_mstmutation="1"]] 61 - 53 +* [[Pickdata MIO40 water pulse counter to LoRa with Dragino RS485-LN>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/Pulse-Counter/]] : Configure Document 62 62 * [[Dragino Solution in Farm>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/&file=Dragino%20on%20Farms.pptx]] 63 63 56 +== == 64 64 58 +== **1.3 Example3: Use RS485-LN with energy meters** == 65 65 66 -== 1.3 Example3: UseRS485-LNwithenergy meters==60 +=== **1.3.1 OverView** === 67 67 68 -=== 1.3.1 OverView === 69 - 70 - 71 71 ((( 72 - (% style="color:red" %)**Note**:**The specifications of each energy meter are different, please refer to your own energy meter specifications.**63 +**Note**:The specifications of each energy meter are different, please refer to your own energy meter specifications. 73 73 ))) 74 74 75 75 ((( ... ... @@ -78,13 +78,12 @@ 78 78 79 79 [[image:image-20220527092419-5.png]] 80 80 81 - **Connection1**72 +Connection1 82 82 83 83 84 -((( 85 -(% style="color:blue" %)**How to connect with Energy Meter:** 86 86 87 - 76 +((( 77 +How to connect with Energy Meter: 88 88 ))) 89 89 90 90 ((( ... ... @@ -96,11 +96,11 @@ 96 96 ))) 97 97 98 98 ((( 99 -Power Source **VIN**to RS485-LN**VIN+**89 +Power Source VIN to RS485-LN VIN+ 100 100 ))) 101 101 102 102 ((( 103 -Power Source **GND**to RS485-LN**VIN-**93 +Power Source GND to RS485-LN VIN- 104 104 ))) 105 105 106 106 ((( ... ... @@ -109,82 +109,75 @@ 109 109 110 110 [[image:image-20220527092514-6.png]] 111 111 112 - **Connection2**102 +Connection2 113 113 114 114 105 + 115 115 [[image:image-20220527092555-7.png]] 116 116 117 - **Connection3**108 +Connection3 118 118 119 119 120 -=== 1.3.2 How to use the parameters of the energy meter and MODBUS commands === 111 +=== **1.3.2 How to use the parameters of the energy meter and MODBUS commands** === 121 121 122 - 123 123 If the user needs to read the parameters of the electric energy meter and use the modbus command,please refer to the appendix of the MODBUS communication protocol in the user manual of the energy meter. 124 124 125 125 [[image:image-20220601143257-10.png]] 126 126 127 127 128 -(% style="color:blue" %)**Example:**(%%) AT+COMMAND1=01 03 00 00 00 01 84 0A 118 +(% class="box infomessage" %) 119 +((( 120 +**Example:** AT+COMMAND1=01 03 00 00 00 01 84 0A 121 +))) 129 129 130 130 * The first byte : slave address code (=001~247) 131 - 132 132 * The second byte : read register value function code 133 - 134 134 * 3rd and 4th bytes: start address of register to be read 135 - 136 136 * 5th and 6th bytes: Number of registers to read 137 - 138 138 * 7th and 8th bytes: CRC16 checksum from bytes 1 to 6. 139 139 140 140 ((( 141 - 142 - 143 - 144 144 How to parse the reading of the return command of the parameter: 131 +))) 145 145 146 -(% style="color:blue" %)**Example:**(%%) RETURN1:01 03 02 08 FD 7E 05 133 +(% class="box infomessage" %) 134 +((( 135 +**Example:** RETURN1:01 03 02 08 FD 7E 05 147 147 ))) 148 148 149 149 * The first byte ARD: slave address code (=001~254) 150 - 151 151 * The second byte: Return to read function code 152 - 153 153 * 3rd byte: total number of bytes 154 - 155 155 * 4th~5th bytes: register data 156 - 157 157 * The 6th and 7th bytes: CRC16 checksum 158 - 159 159 * 08 FD is register data. Use short integer 16 bits to convert to decimal, get 2301, then 230.1V is the voltage. 160 160 145 +(% class="wikigeneratedid" %) 146 +((( 147 + 148 +))) 161 161 150 +=== **1.3.3 How to configure RS485-LN and parse output commands** === 162 162 163 -=== 1.3.3 How to configure RS485-LN and parse output commands === 164 - 165 - 166 166 RS485-LN provides two configuration methods: AT COMMAND and DOWNLINK. 167 167 168 168 169 -==== **1.3.3.1 via AT COMMAND** ==== 155 +==== **1.3.3.1 via AT COMMAND:** ==== 170 170 157 +First, we can use **AT+CFGDEV** to get the return value, and we can also judge whether the input parameters are correct. 171 171 172 -First, we can use (% style="color:blue" %)**AT+CFGDEV**(%%) to get the return value, and we can also judge whether the input parameters are correct. 173 - 174 174 ((( 175 175 If the configured parameters and commands are incorrect, the return value is not obtained. 176 - 177 - 178 178 ))) 179 179 180 180 [[image:image-20220601143201-9.png]] 181 181 182 - **AT COMMAND**165 +AT COMMAND 183 183 184 184 185 185 (% class="box infomessage" %) 186 186 ((( 187 - (% _mstmutation="1" %)**AT+DATACUTx**(%%):This command defines how to handle the return from AT+COMMANDx, max reture length is 40 bytes. AT+DATACUTx=a,b,c170 + AT+DATACUTx : This command defines how to handle the return from AT+COMMANDx, max reture length is 40 bytes. AT+DATACUTx=a,b,c 188 188 ))) 189 189 190 190 a: length for the return of AT+COMMAND ... ... @@ -195,22 +195,25 @@ 195 195 196 196 [[image:image-20220601143115-8.png]] 197 197 198 - **AT COMMAND**181 +AT COMMAND 199 199 200 200 184 + 201 201 PAYLOAD is available after the valid value is intercepted. 202 202 187 + 203 203 [[image:image-20220601143046-7.png]] 204 204 205 - **AT COMMAND**190 +AT COMMAND 206 206 207 207 193 + 208 208 You can get configured PAYLOAD on TTN. 209 209 210 210 [[image:image-20220601143519-1.png]] 211 211 212 212 ((( 213 - **AT COMMAND**199 +AT COMMAND 214 214 ))) 215 215 216 216 ((( ... ... @@ -218,49 +218,49 @@ 218 218 ))) 219 219 220 220 ((( 221 -(% style="color:b lue" %)**Example**:207 +(% style="color:#4f81bd" %)**Example**: 222 222 223 - (% style="color:red" %)**CMD1:**(%%)Read current data with MODBUS command. address:209 +CMD1:Read current data with MODBUS command. address:0x03 AT+COMMAND1= 01 03 00 03 00 01,1 224 224 ))) 225 225 226 226 ((( 227 -RETURN1: 213 +RETURN1:01 03 02 00 02 39 85 00 00(return data) 228 228 ))) 229 229 230 230 ((( 231 -AT+DATACUT1: 217 +AT+DATACUT1:9,1,4+5+6+7 Take the return value 00 02 39 85 as the valid value of reading current data and used to splice payload. 232 232 233 233 234 234 ))) 235 235 236 236 ((( 237 - (% style="color:red" %)**CMD2:**(%%)Read voltage data with MODBUS command. address:223 +CMD2:Read voltage data with MODBUS command. address:0x00 AT+COMMAND2= 01 03 00 00 00 01,1 238 238 ))) 239 239 240 240 ((( 241 -RETURN2: 227 +RETURN2:01 03 02 08 DC BE 1D(return data) 242 242 ))) 243 243 244 244 ((( 245 -AT+DATACUT2: 231 +AT+DATACUT2:7,1,4+5 Take the return value 08 DC as the valid value of reading voltage data and used to splice payload. 246 246 247 247 248 248 ))) 249 249 250 250 ((( 251 - (% style="color:red" %)**CMD3:**(%%)Read total active energy data with MODBUS command. address:237 +CMD3:Read total active energy data with MODBUS command. address:0x0031 AT+COMMAND3= 01 03 00 31 00 02,1 252 252 ))) 253 253 254 254 ((( 255 -RETURN3: 241 +RETURN3:01 03 04 00 00 00 44 FA 00(return data) 256 256 ))) 257 257 258 258 ((( 259 -AT+DATACUT3: 245 +AT+DATACUT3:9,1,4+5+6+7 Take the return value 00 00 00 44 as the valid value of reading total active energy data and used to splice payload. 260 260 ))) 261 261 262 262 ((( 263 -Payload: 249 +Payload:01 00 02 39 85 08 DC 00 00 00 44 264 264 ))) 265 265 266 266 [[image:image-20220601142936-6.png]] ... ... @@ -268,9 +268,10 @@ 268 268 AT COMMAND 269 269 270 270 271 -(% style="color:b lue" %)**01 is device address,00 02 is the current, 08 DC is the voltage,00 00 00 44 is the total active energy.**257 +(% style="color:#4f81bd" %)**01 is device address,00 02 is the current, 08 DC is the voltage,00 00 00 44 is the total active energy.** 272 272 273 273 260 + 274 274 [[image:image-20220601143642-2.png]] 275 275 276 276 AT COMMAND ... ... @@ -278,16 +278,18 @@ 278 278 279 279 ==== **1.3.3.2 via LoRaWAN DOWNLINK** ==== 280 280 281 - 282 282 [[image:image-20220527093358-15.png]] 283 283 284 284 ((( 285 - **DOWNLINK**271 +DOWNLINK 286 286 ))) 287 287 274 +((( 275 + 276 +))) 288 288 289 289 ((( 290 -(% style="color:b lue" %)**Type Code 0xAF**279 +(% style="color:#4f81bd" %)**Type Code 0xAF** 291 291 ))) 292 292 293 293 ((( ... ... @@ -298,7 +298,7 @@ 298 298 ))) 299 299 300 300 ((( 301 - (% style="color:red" %)**Note: if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.**290 +Note: if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink. 302 302 ))) 303 303 304 304 ((( ... ... @@ -333,9 +333,10 @@ 333 333 will execute an uplink after got this command. 334 334 ))) 335 335 336 - 337 337 ((( 338 -(% style="color:blue" %)**Example:** 326 + 327 + 328 +(% style="color:#4f81bd" %)**Example:** 339 339 ))) 340 340 341 341 ((( ... ... @@ -344,32 +344,35 @@ 344 344 345 345 [[image:image-20220601144149-6.png]] 346 346 347 - **DOWNLINK**337 +DOWNLINK 348 348 349 349 340 + 350 350 [[image:image-20220601143803-3.png]] 351 351 352 - **DOWNLINK**343 +DOWNLINK 353 353 354 354 346 + 355 355 [[image:image-20220601144053-5.png]] 356 356 357 - **DOWNLINK**349 +DOWNLINK 358 358 359 359 352 + 360 360 [[image:image-20220601143921-4.png]] 361 361 362 - **DOWNLINK**355 +DOWNLINK 363 363 364 364 358 + 365 365 [[image:image-20220601142805-5.png]] 366 366 367 -**DOWNLINK** 361 +DOWNLINK 362 + 368 368 364 +=== **1.3.4 How to configure and output commands for RS485 to USB** === 369 369 370 -=== 1.3.4 How to configure and output commands for RS485 to USB === 371 - 372 - 373 373 ((( 374 374 This step is not necessary, it is just to show how to use a normal RS485 to USB adapter to connect to the meter to check the input and output. This can be used to test the connection and RS485 command of the meter without RS485-LN. 375 375 ))) ... ... @@ -392,12 +392,13 @@ 392 392 393 393 [[image:image-20220527093708-21.png]] 394 394 395 - **USB**388 +USB 396 396 397 397 391 + 398 398 [[image:image-20220527093747-22.png]] 399 399 400 - **USB**394 +USB 401 401 402 402 403 403 ... ... @@ -406,23 +406,20 @@ 406 406 ))) 407 407 408 408 ((( 409 -(% style="color:b lue" %)**Example:** (%%)input:01 03 00 31 00 02 95 c4403 +(% style="color:#4f81bd" %)**Example:** (%%)input:01 03 00 31 00 02 95 c4 410 410 ))) 411 411 412 412 ((( 413 413 output:01 03 04 00 00 00 42 7A 02 414 - 415 - 416 416 ))) 417 417 418 418 [[image:image-20220527093821-23.png]] 419 419 420 - **USB**412 +USB 421 421 422 422 423 -=== 1.3.5 How to configure multiple devices and modify device addresses === 415 +=== **1.3.5 How to configure multiple devices and modify device addresses** === 424 424 425 - 426 426 If users need to read the parameters of multiple energy meters, they need to modify the device address, because the default device address of each energy meter is 01. 427 427 428 428 ((( ... ... @@ -434,15 +434,12 @@ 434 434 [[image:image-20220601142044-1.png]] 435 435 436 436 437 - (% style="color:blue" %)**Example**(%%):428 +**Example**:These two meters are examples of setting parameters and device addresses. 438 438 439 - 440 440 [[image:image-20220527093950-25.png]] 441 441 442 - 443 443 [[image:image-20220527094028-26.png]] 444 444 445 - 446 446 ((( 447 447 ((( 448 448 First of all, since the default device address of the energy meter is 01, the configuration of two energy meters will conflict, so we first connect an energy meter and configure the device address. ... ... @@ -451,7 +451,7 @@ 451 451 452 452 ((( 453 453 ((( 454 -We can use (% style="color:blue" %)**AT+CFGDEV**(%%)to set the device address.442 +We can use AT+CFGDEV to set the device address. 455 455 ))) 456 456 ))) 457 457 ... ... @@ -463,15 +463,14 @@ 463 463 464 464 [[image:image-20220601142354-2.png]] 465 465 466 - 467 467 (% class="box infomessage" %) 468 468 ((( 469 469 **AT+CFGDEV:01 10 00 61 00 01 02 00 02,1** 470 470 ))) 471 471 472 -* 01: 459 +* 01:device adaress 473 473 474 -* 10: 461 +* 10:function code 475 475 476 476 * 00 61:Register address 477 477 ... ... @@ -494,72 +494,41 @@ 494 494 495 495 [[image:image-20220601142607-4.png]] 496 496 484 +**PAYLOAD:01 08 DF 43 62** 497 497 498 -(% style="color:blue" %)**PAYLOAD: 01 08 DF 43 62** 499 - 500 500 * 08 DF is the valid value of the meter with device address 02. 501 501 * 43 62 is the valid value of the meter with device address 01. 502 502 503 -(% style="display:none" %) (%%) 504 - 505 - 506 506 == 1.4 Example 4: Circuit Breaker Remote Open Close == 507 507 491 +This instruction is provided by Xavier Florensa Berenguer from [[NORIA GRUPO DE COMPRAS>>url:http://www.gruponovelec.com/]]. It is to show how to use RS485-LN to connect to SCHNEIDER SMART and Monitor and control your cabinet remotely with no wires and with Dragino RS485-LN LoRaWAN technology. The structure is like below: 508 508 509 -This instruction is provided by Xavier Florensa Berenguer from [[NORIA GRUPO DE COMPRAS>>url:http://www.gruponovelec.com/]]. It is to show how to use RS485-LN to connect to SCHNEIDER SMART and Monitor and control your cabinet remotely with no wires and with Dragino RS485-LN LoRaWAN technology. 510 - 511 -The structure is like below: 512 - 513 513 [[image:image-20220527094330-30.png]] 514 514 515 - **Connection**495 +Connection 516 516 497 +* [[Circuit Breaker Remote Open Close>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/Circuit_Breaker_Remote_Open_Close/]] : Configure Documen 517 517 518 -* Configure Documen: [[Circuit Breaker Remote Open Close>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/Circuit_Breaker_Remote_Open_Close/||_mstmutation="1"]] 519 - 520 - 521 - 522 522 == 1.5 Example 5: SEM Three Energy Meter with RS485-BL or RS485-LN == 523 523 524 - 525 525 This instruction is provided by Xavier Florensa Berenguer from [[NORIA GRUPO DE COMPRAS>>url:http://www.gruponovelec.com/]]. It is to show how to use RS485-BL to connect to SEM Three Energy Meter and send the data to mobile phone for remote minitor. The structure is like below: 526 526 527 -* Configure Document For RS485-BL:[[Connect to SEM Three>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/RS485-BL/Application_Note/&file=Dragino%20RS485BL%20and%20pickdata%20SEM%20Three%20v1.pdf||_mstmutation="1" style="background-color:rgb(255, 255, 255);"]]503 +* [[Connect to SEM Three>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/RS485-BL/Application_Note/&file=Dragino%20RS485BL%20and%20pickdata%20SEM%20Three%20v1.pdf]] : Configure Document For RS485-BL 528 528 529 -* Configure Document for RS485-LN:[[Connect to SEM Three>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/SEM_Three_Energy_Meter/&file=SEM%20three%20and%20Dragino%20RS485-LN%20v1.pdf||_mstmutation="1"]]505 +* [[Connect to SEM Three>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/SEM_Three_Energy_Meter/&file=SEM%20three%20and%20Dragino%20RS485-LN%20v1.pdf]] : Configure Document for RS485-LN 530 530 531 531 508 +== 1.6 Example 6:CEM C31 485-T1-MID Energy Meter with RS485-LN == 532 532 533 -== 1.6 Example 6: CEM C31 485-T1-MID Energy Meter with RS485-LN == 534 - 535 - 536 536 This instruction is provided by Xavier Florensa Berenguer from [[NORIA GRUPO DE COMPRAS>>url:http://www.gruponovelec.com/]]. It is to show how to use RS485-LN to connect to CEM C31 485-T1-MID and send the data for remote minitor. The structure is like below: 537 537 538 -* Configure Document For RS485-LN:[[CEM C31 485-T1-MID>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/ELECTRICAL%20CABINET/&file=ELECTRICAL%20CABINET%20READINGS.pdf||_mstmutation="1" style="background-color:rgb(255, 255, 255);"]]512 +* [[CEM C31 485-T1-MID>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/ELECTRICAL%20CABINET/&file=ELECTRICAL%20CABINET%20READINGS.pdf]] : Configure Document For RS485-LN 539 539 540 540 515 +== 1.7 Example 7:Schneider Electric PLC M221 with RS485-BL == 541 541 542 -== 1.7 Example 7: Schneider Electric PLC M221 with RS485-BL == 543 - 544 - 545 545 [[image:image-20220527094556-31.png]] 546 546 547 - 548 548 Network Structure 549 549 550 550 * [[Reference Instruction>>url:https://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/Schneider%20Electric%20PLC/]] 551 - 552 - 553 - 554 -== 1.8 Example 8: This sketch is supposed to test Dragino RS485-BL (Modbus master), using an Arduino UNO as a Modbus slave. == 555 - 556 - 557 -This sketch uses 4 registers: some of them can be set by Dragino with a command, another is used to store value from a DS18B20 temperature sensor, or a random generated number. All data is 16bit uint, but the sketch shows also how to represent booleans and negative numbers. 558 - 559 -In the next days I will be adding more documentation, but I think it already explains users how to build their own modbus sensor to pair with Dragino RS485-BL. 560 - 561 -This is released the code under GNU LGPL licence on Github: 562 - 563 -[[https:~~/~~/github.com/zorbaproject/ArduinoModbusForDraginoRS485>>url:https://github.com/zorbaproject/ArduinoModbusForDraginoRS485]] 564 - 565 -