Changes for page WSC1-L-Dragino LoRaWAN Weather Station User Manual
Last modified by Xiaoling on 2025/05/07 14:00
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 3 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -78,6 +78,7 @@ 78 78 * Cabinet. 79 79 80 80 81 + 81 81 == 2.2 How it works? == 82 82 83 83 ((( ... ... @@ -96,6 +96,7 @@ 96 96 1. User can send a downlink command to WSC1-L to do a re-scan on the available sensors. 97 97 98 98 100 + 99 99 == 2.3 Example to use for LoRaWAN network == 100 100 101 101 This section shows an example for how to join the TTN V3 LoRaWAN IoT server. Usages with other LoRaWAN IoT servers are of similar procedure. ... ... @@ -152,6 +152,7 @@ 152 152 * Valid Sensor Value: Use FPORT=2 153 153 * Other control command: Use FPORT other than 2. 154 154 157 + 155 155 === 2.4.1 Uplink FPORT~=5, Device Status === 156 156 157 157 Uplink the device configures with FPORT=5. Once WSC1-L Joined the network, it will uplink this message to the server. After first uplink, WSC1-L will uplink Device Status every 12 hours ... ... @@ -376,6 +376,7 @@ 376 376 These commands only valid for WSC1-L, as below: 377 377 378 378 382 + 379 379 == 3.1 Set Transmit Interval Time == 380 380 381 381 Feature: Change LoRaWAN End Node Transmit Interval. ... ... @@ -420,34 +420,34 @@ 420 420 421 421 (% style="color:#037691" %)**AT Command: ** 422 422 423 -AT+DYSENSOR=Type_Code, Query_Length, Query_Command , Read_Length , Valid_Data ,has_CRC,timeout 427 +(% style="color:blue" %)**AT+DYSENSOR=Type_Code, Query_Length, Query_Command , Read_Length , Valid_Data ,has_CRC,timeout** 424 424 425 -* Type_Code range: A1 ~~ A4 426 -* Query_Length: RS485 Query frame length, Value cannot be greater than 10 427 -* Query_Command: RS485 Query frame data to be sent to sensor, cannot be larger than 10 bytes 428 -* Read_Length: RS485 response frame length supposed to receive. Max can receive 429 -* Valid_Data: valid data from RS485 Response, Valid Data will be added to Payload and upload via LoRaWAN. 430 -* has_CRC: RS485 Response crc check (0: no verification required 1: verification required). If CRC=1 and CRC error, valid data will be set to 0. 431 -* timeout: RS485 receive timeout (uint:ms). Device will close receive window after timeout 429 +* Type_Code range: A1 ~~ A4 430 +* Query_Length: RS485 Query frame length, Value cannot be greater than 10 431 +* Query_Command: RS485 Query frame data to be sent to sensor, cannot be larger than 10 bytes 432 +* Read_Length: RS485 response frame length supposed to receive. Max can receive 433 +* Valid_Data: valid data from RS485 Response, Valid Data will be added to Payload and upload via LoRaWAN. 434 +* has_CRC: RS485 Response crc check (0: no verification required 1: verification required). If CRC=1 and CRC error, valid data will be set to 0. 435 +* timeout: RS485 receive timeout (uint:ms). Device will close receive window after timeout 432 432 433 -Example: 434 434 438 + 439 +**Example:** 440 + 435 435 User need to change external sensor use the type code as address code. 436 436 437 437 With a 485 sensor, after correctly changing the address code to A1, the RS485 query frame is shown in the following table: 438 438 439 -|Address Code|Function Code|(% colspan="2" %)Start Register|(% colspan="2" %)Data Length|CRC Check Low|CRC Check High 440 -|0xA1|0x03|0x00|0x00|0x00|0x01|0x9C|0xAA 441 -| | | | | | | | 445 +[[image:image-20220624143553-10.png]] 442 442 447 + 443 443 The response frame of the sensor is as follows: 444 444 445 -|Address Code|Function Code|(% colspan="2" %)Data Length|(% colspan="2" %)Data|CRC Check Low|CRC Check High 446 -|0xA1|0x03|0x00|0x02|0x00|0x0A|0x7C|0xAD 447 -| | | | | | | | 450 +[[image:image-20220624143618-11.png]] 448 448 449 -Then the following parameters should be: 450 450 453 +**Then the following parameters should be:** 454 + 451 451 * Address_Code range: A1 452 452 * Query_Length: 8 453 453 * Query_Command: A103000000019CAA ... ... @@ -456,21 +456,23 @@ 456 456 * has_CRC: 1 457 457 * timeout: 1500 (Fill in the test according to the actual situation) 458 458 459 -So the input command is: 460 460 464 +**So the input command is:** 465 + 461 461 AT+DYSENSOR=A1,8,A103000000019CAA,8,24,1,1500 462 462 463 463 464 464 In every sampling. WSC1-L will auto append the sensor segment as per this structure and uplink. 465 465 466 -|Type Code|Length (Bytes)|Measured Value 467 -|A1|2|0x000A 471 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:351px" %) 472 +|=(% style="width: 94px;" %)Type Code|=(% style="width: 121px;" %)Length (Bytes)|=(% style="width: 132px;" %)Measured Value 473 +|(% style="width:94px" %)A1|(% style="width:121px" %)2|(% style="width:132px" %)0x000A 468 468 469 -Related commands: 475 +**Related commands:** 470 470 471 -AT+DYSENSOR=A1,0 –> Delete 3^^rd^^ party sensor A1.477 +AT+DYSENSOR=A1,0 ~-~-> Delete 3^^rd^^ party sensor A1. 472 472 473 -AT+DYSENSOR ~-~-> List All 3^^rd^^ Party Sensor. Like below: 479 +AT+DYSENSOR ~-~-> List All 3^^rd^^ Party Sensor. Like below: 474 474 475 475 476 476 (% style="color:#037691" %)**Downlink Command: ** ... ... @@ -490,12 +490,13 @@ 490 490 491 491 (% style="color:#037691" %)**AT Command:** 492 492 493 -|**Command Example**|**Function**|**Response** 494 -|AT+RSWRITE=xxxxxx|((( 499 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:474px" %) 500 +|=(% style="width: 159px;" %)**Command Example**|=(% style="width: 227px;" %)**Function**|=(% style="width: 85px;" %)**Response** 501 +|(% style="width:159px" %)AT+RSWRITE=xxxxxx|(% style="width:227px" %)((( 495 495 Send command to 485 sensor 496 496 497 497 Range : no more than 10 bytes 498 -)))|OK 505 +)))|(% style="width:85px" %)OK 499 499 500 500 Eg: Send command **01 03 00 00 00 01 84 0A** to 485 sensor 501 501 ... ... @@ -515,13 +515,15 @@ 515 515 516 516 (% style="color:#037691" %)**AT Command:** 517 517 518 -|**Command Example**|**Function**|**Response** 519 -|AT+DTR=1000|((( 525 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:433px" %) 526 +|=(% style="width: 157px;" %)**Command Example**|=(% style="width: 188px;" %)**Function**|=(% style="width: 85px;" %)**Response** 527 +|(% style="width:157px" %)AT+DTR=1000|(% style="width:188px" %)((( 520 520 Set response timeout to: 521 521 522 522 Range : 0~~10000 523 -)))|OK 531 +)))|(% style="width:85px" %)OK 524 524 533 + 525 525 (% style="color:#037691" %)**Downlink Command:** 526 526 527 527 Format: Command Code (0xE0) followed by 3 bytes time value. ... ... @@ -538,45 +538,26 @@ 538 538 539 539 Feature: Set sensor in used. If there are 6 sensors, user can set to only send 5 sensors values. 540 540 541 -See [[definition>>||anchor="H"]] for the sensor type. 550 +See [[definition>>||anchor="HWeatherSensorTypes:"]] for the sensor type. 542 542 552 +[[image:image-20220624144904-12.png]] 543 543 544 -|(% rowspan="2" %)Byte3|Bit23|Bit22|Bit21|Bit20|Bit19|Bit18|Bit17|Bit16 545 -| |A4|A3|A2|A1| | | 546 -|(% rowspan="2" %)Byte2|Bit15|Bit14|Bit13|Bit12|Bit11|Bit10|Bit9|Bit8 547 -| | |Solar Radiation|PAR|PM10|PM2.5|((( 548 -Rain 549 549 550 -Gauge 551 -)))|((( 552 -Air 553 - 554 -Pressure 555 -))) 556 -|(% rowspan="2" %)Byte1|Bit7|Bit6|Bit5|Bit4|Bit3|Bit2|Bit1|Bit0 557 -|Humidity|Temperature|CO2|((( 558 -Rain/Snow 559 - 560 -Detect 561 -)))|illuminance|((( 562 -Wind 563 - 564 -Direction 565 -)))|Wind Speed|BAT 566 - 567 567 (% style="color:#037691" %)**AT Command:** 568 568 569 -|**Command Example**|**Function**|**Response** 570 -|AT+STYPE=80221|Set sensor types|OK 557 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:377px" %) 558 +|=(% style="width: 157px;" %)**Command Example**|=(% style="width: 130px;" %)**Function**|=(% style="width: 87px;" %)**Response** 559 +|(% style="width:157px" %)AT+STYPE=80221|(% style="width:130px" %)Set sensor types|(% style="width:87px" %)OK 571 571 572 572 Eg: The setting command **AT+STYPE=802212** means: 573 573 574 -|(% rowspan="2" %)Byte3|Bit23|Bit22|Bit21|Bit20|Bit19|Bit18|Bit17|Bit16 575 -|0|0|0|0|1|0|0|0 576 -|(% rowspan="2" %)Byte2|Bit15|Bit14|Bit13|Bit12|Bit11|Bit10|Bit9|Bit8 577 -|0|0|0|0|0|0|1|0 578 -|(% rowspan="2" %)Byte1|Bit7|Bit6|Bit5|Bit4|Bit3|Bit2|Bit1|Bit0 579 -|0|0|1|0|0|0|0|1 563 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:495px" %) 564 +|(% rowspan="2" style="width:57px" %)Byte3|(% style="width:57px" %)Bit23|(% style="width:59px" %)Bit22|(% style="width:56px" %)Bit21|(% style="width:51px" %)Bit20|(% style="width:54px" %)Bit19|(% style="width:54px" %)Bit18|(% style="width:52px" %)Bit17|(% style="width:52px" %)Bit16 565 +|(% style="width:57px" %)0|(% style="width:59px" %)0|(% style="width:56px" %)0|(% style="width:51px" %)0|(% style="width:54px" %)1|(% style="width:54px" %)0|(% style="width:52px" %)0|(% style="width:52px" %)0 566 +|(% rowspan="2" style="width:57px" %)Byte2|(% style="width:57px" %)Bit15|(% style="width:59px" %)Bit14|(% style="width:56px" %)Bit13|(% style="width:51px" %)Bit12|(% style="width:54px" %)Bit11|(% style="width:54px" %)Bit10|(% style="width:52px" %)Bit9|(% style="width:52px" %)Bit8 567 +|(% style="width:57px" %)0|(% style="width:59px" %)0|(% style="width:56px" %)0|(% style="width:51px" %)0|(% style="width:54px" %)0|(% style="width:54px" %)0|(% style="width:52px" %)1|(% style="width:52px" %)0 568 +|(% rowspan="2" style="width:57px" %)Byte1|(% style="width:57px" %)Bit7|(% style="width:59px" %)Bit6|(% style="width:56px" %)Bit5|(% style="width:51px" %)Bit4|(% style="width:54px" %)Bit3|(% style="width:54px" %)Bit2|(% style="width:52px" %)Bit1|(% style="width:52px" %)Bit0 569 +|(% style="width:57px" %)0|(% style="width:59px" %)0|(% style="width:56px" %)1|(% style="width:51px" %)0|(% style="width:54px" %)0|(% style="width:54px" %)0|(% style="width:52px" %)0|(% style="width:52px" %)1 580 580 581 581 So wsc1-L will upload the following data: Custom Sensor A1, Rain Gauge,CO2,BAT. 582 582 ... ... @@ -587,12 +587,11 @@ 587 587 588 588 (% style="color:red" %)**Note:** 589 589 590 -~1. The sensor type will not be saved to flash, and the value will be updated every time the sensor is restarted or rescanned 580 +~1. The sensor type will not be saved to flash, and the value will be updated every time the sensor is restarted or rescanned. 591 591 592 592 593 593 594 594 595 - 596 596 = 4. Power consumption and battery = 597 597 598 598 == 4.1 Total Power Consumption == ... ... @@ -605,13 +605,15 @@ 605 605 The main process unit WSC1-L is set to LoRaWAN Class C by default. If user want to reduce the power consumption of this unit, user can set it to run in Class A. In Class A mode, WSC1-L will not be to get real-time downlink command from IoT Server. 606 606 607 607 608 - 609 609 == 4.3 Battery == 610 610 611 -All sensors are only power by external power source. If external power source is off. All sensor won’t work. 599 +((( 600 +All sensors are only power by external power source. If external power source is off. All sensor won't work. 601 +))) 612 612 613 - 603 +((( 614 614 Main Process Unit WSC1-L is powered by both external power source and internal 1000mAh rechargeable battery. If external power source is off, WSC1-L still runs and can send periodically uplinks, but the sensors value will become invalid. External power source can recharge the 1000mAh rechargeable battery. 605 +))) 615 615 616 616 617 617 ... ... @@ -631,6 +631,9 @@ 631 631 * IP Rating: IP65 632 632 * Support default sensors or 3rd party RS485 sensors 633 633 625 + 626 + 627 + 634 634 == 5.2 Power Consumption == 635 635 636 636 WSC1-L (without external sensor): Idle: 4mA, Transmit: max 40mA
- image-20220624143553-10.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +6.7 KB - Content
- image-20220624143618-11.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +6.3 KB - Content
- image-20220624144904-12.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +17.2 KB - Content