Changes for page WSC1-L-Dragino LoRaWAN Weather Station User Manual
Last modified by Xiaoling on 2025/04/25 09:08
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 5 removed)
Details
- Page properties
-
- Content
-
... ... @@ -67,6 +67,7 @@ 67 67 * WSC1-L has an extra 1000mAh back up battery. So it can work even solar panel and storage battery Fails. 68 68 * Weather sensors won’t work if solar panel and storage battery fails. 69 69 70 + 70 70 (% style="color:red" %)** Notice 2:** 71 71 72 72 Due to shipment and importation limitation, user is better to purchase below parts locally: ... ... @@ -79,8 +79,6 @@ 79 79 80 80 81 81 82 - 83 - 84 84 == 2.2 How it works? == 85 85 86 86 ((( ... ... @@ -100,8 +100,6 @@ 100 100 101 101 102 102 103 - 104 - 105 105 == 2.3 Example to use for LoRaWAN network == 106 106 107 107 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. ... ... @@ -159,8 +159,6 @@ 159 159 * Other control command: Use FPORT other than 2. 160 160 161 161 162 - 163 - 164 164 === 2.4.1 Uplink FPORT~=5, Device Status === 165 165 166 166 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 ... ... @@ -366,6 +366,7 @@ 366 366 * AT Command Connection: See [[FAQ>>||anchor="H7.FAQ"]]. 367 367 * LoRaWAN Downlink instruction for different platforms: [[Use Note for Server>>doc:Main.WebHome]](IoT LoRaWAN Server) 368 368 364 + 369 369 There are two kinds of commands to configure WSC1-L, they are: 370 370 371 371 * (% style="color:#4472c4" %)**General Commands**. ... ... @@ -391,9 +391,20 @@ 391 391 392 392 (% style="color:#037691" %)**AT Command: AT+TDC** 393 393 394 -[[image:image-20220624142619-8.png]] 390 +|**Command Example**|**Function**|**Response** 391 +|AT+TDC?|Show current transmit Interval|((( 392 +30000 395 395 394 +OK 396 396 396 +the interval is 30000ms = 30s 397 +))) 398 +|AT+TDC=60000|Set Transmit Interval|((( 399 +OK 400 + 401 +Set transmit interval to 60000ms = 60 seconds 402 +))) 403 + 397 397 (% style="color:#037691" %)**Downlink Command: 0x01** 398 398 399 399 Format: Command Code (0x01) followed by 3 bytes time value. ... ... @@ -403,24 +403,22 @@ 403 403 * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 404 404 * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 405 405 406 - 407 - 408 408 == 3.2 Set Emergency Mode == 409 409 410 410 Feature: In emergency mode, WSC1-L will uplink data every 1 minute. 411 411 417 + 412 412 (% style="color:#037691" %)**AT Command:** 413 413 414 -[[image:image-20220624142956-9.png]] 420 +|**Command Example**|**Function**|**Response** 421 +|AT+ALARMMOD=1|Enter emergency mode. Uplink every 1 minute|OK 422 +|AT+ALARMMOD=0|Exit emergency mode. Uplink base on TDC time|OK 415 415 416 - 417 417 (% style="color:#037691" %)**Downlink Command:** 418 418 419 419 * 0xE101 Same as: AT+ALARMMOD=1 420 420 * 0xE100 Same as: AT+ALARMMOD=0 421 421 422 - 423 - 424 424 == 3.3 Add or Delete RS485 Sensor == 425 425 426 426 Feature: User can add or delete 3^^rd^^ party sensor as long they are RS485/Modbus interface,baud rate support 9600.Maximum can add 4 sensors. ... ... @@ -427,33 +427,34 @@ 427 427 428 428 (% style="color:#037691" %)**AT Command: ** 429 429 430 - (% style="color:blue" %)**AT+DYSENSOR=Type_Code, Query_Length, Query_Command , Read_Length , Valid_Data ,has_CRC,timeout**435 +AT+DYSENSOR=Type_Code, Query_Length, Query_Command , Read_Length , Valid_Data ,has_CRC,timeout 431 431 432 -* Type_Code range: 433 -* Query_Length: 434 -* Query_Command: 435 -* Read_Length: 436 -* Valid_Data: 437 -* has_CRC: 438 -* timeout: 437 +* Type_Code range: A1 ~~ A4 438 +* Query_Length: RS485 Query frame length, Value cannot be greater than 10 439 +* Query_Command: RS485 Query frame data to be sent to sensor, cannot be larger than 10 bytes 440 +* Read_Length: RS485 response frame length supposed to receive. Max can receive 441 +* Valid_Data: valid data from RS485 Response, Valid Data will be added to Payload and upload via LoRaWAN. 442 +* 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. 443 +* timeout: RS485 receive timeout (uint:ms). Device will close receive window after timeout 439 439 445 +Example: 440 440 441 -**Example:** 442 - 443 443 User need to change external sensor use the type code as address code. 444 444 445 445 With a 485 sensor, after correctly changing the address code to A1, the RS485 query frame is shown in the following table: 446 446 447 -[[image:image-20220624143553-10.png]] 451 +|Address Code|Function Code|(% colspan="2" %)Start Register|(% colspan="2" %)Data Length|CRC Check Low|CRC Check High 452 +|0xA1|0x03|0x00|0x00|0x00|0x01|0x9C|0xAA 453 +| | | | | | | | 448 448 449 - 450 450 The response frame of the sensor is as follows: 451 451 452 -[[image:image-20220624143618-11.png]] 457 +|Address Code|Function Code|(% colspan="2" %)Data Length|(% colspan="2" %)Data|CRC Check Low|CRC Check High 458 +|0xA1|0x03|0x00|0x02|0x00|0x0A|0x7C|0xAD 459 +| | | | | | | | 453 453 461 +Then the following parameters should be: 454 454 455 -**Then the following parameters should be:** 456 - 457 457 * Address_Code range: A1 458 458 * Query_Length: 8 459 459 * Query_Command: A103000000019CAA ... ... @@ -462,23 +462,21 @@ 462 462 * has_CRC: 1 463 463 * timeout: 1500 (Fill in the test according to the actual situation) 464 464 471 +So the input command is: 465 465 466 -**So the input command is:** 467 - 468 468 AT+DYSENSOR=A1,8,A103000000019CAA,8,24,1,1500 469 469 470 470 471 471 In every sampling. WSC1-L will auto append the sensor segment as per this structure and uplink. 472 472 473 -(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:351px" %) 474 -|=(% style="width: 94px;" %)Type Code|=(% style="width: 121px;" %)Length (Bytes)|=(% style="width: 132px;" %)Measured Value 475 -|(% style="width:94px" %)A1|(% style="width:121px" %)2|(% style="width:132px" %)0x000A 478 +|Type Code|Length (Bytes)|Measured Value 479 +|A1|2|0x000A 476 476 477 - **Related commands:**481 +Related commands: 478 478 479 -AT+DYSENSOR=A1,0 ~-~->483 +AT+DYSENSOR=A1,0 –> Delete 3^^rd^^ party sensor A1. 480 480 481 -AT+DYSENSOR 485 +AT+DYSENSOR ~-~-> List All 3^^rd^^ Party Sensor. Like below: 482 482 483 483 484 484 (% style="color:#037691" %)**Downlink Command: ** ... ... @@ -491,19 +491,16 @@ 491 491 492 492 * 0xE5FF 493 493 494 - 495 - 496 496 == 3.4 RS485 Test Command == 497 497 498 498 (% style="color:#037691" %)**AT Command:** 499 499 500 -(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:474px" %) 501 -|=(% style="width: 159px;" %)**Command Example**|=(% style="width: 227px;" %)**Function**|=(% style="width: 85px;" %)**Response** 502 -|(% style="width:159px" %)AT+RSWRITE=xxxxxx|(% style="width:227px" %)((( 502 +|**Command Example**|**Function**|**Response** 503 +|AT+RSWRITE=xxxxxx|((( 503 503 Send command to 485 sensor 504 504 505 505 Range : no more than 10 bytes 506 -)))| (% style="width:85px" %)OK507 +)))|OK 507 507 508 508 Eg: Send command **01 03 00 00 00 01 84 0A** to 485 sensor 509 509 ... ... @@ -514,8 +514,6 @@ 514 514 515 515 * 0xE20103000001840A Same as: AT+RSWRITE=0103000001840A 516 516 517 - 518 - 519 519 == 3.5 RS485 response timeout == 520 520 521 521 Feature: Set or get extended time to receive 485 sensor data. ... ... @@ -522,15 +522,13 @@ 522 522 523 523 (% style="color:#037691" %)**AT Command:** 524 524 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" %)((( 524 +|**Command Example**|**Function**|**Response** 525 +|AT+DTR=1000|((( 528 528 Set response timeout to: 529 529 530 530 Range : 0~~10000 531 -)))| (% style="width:85px" %)OK529 +)))|OK 532 532 533 - 534 534 (% style="color:#037691" %)**Downlink Command:** 535 535 536 536 Format: Command Code (0xE0) followed by 3 bytes time value. ... ... @@ -540,34 +540,49 @@ 540 540 * Example 1: Downlink Payload: E0000005 ~/~/ Set Transmit Interval (DTR) = 5 seconds 541 541 * Example 2: Downlink Payload: E000000A ~/~/ Set Transmit Interval (DTR) = 10 seconds 542 542 543 - 544 - 545 545 == 3.6 Set Sensor Type == 546 546 547 547 Feature: Set sensor in used. If there are 6 sensors, user can set to only send 5 sensors values. 548 548 549 -See [[definition>>||anchor="H WeatherSensorTypes:"]] for the sensor type.544 +See [[definition>>||anchor="H"]] for the sensor type. 550 550 551 -[[image:image-20220624144904-12.png]] 552 552 547 +|(% rowspan="2" %)Byte3|Bit23|Bit22|Bit21|Bit20|Bit19|Bit18|Bit17|Bit16 548 +| |A4|A3|A2|A1| | | 549 +|(% rowspan="2" %)Byte2|Bit15|Bit14|Bit13|Bit12|Bit11|Bit10|Bit9|Bit8 550 +| | |Solar Radiation|PAR|PM10|PM2.5|((( 551 +Rain 553 553 553 +Gauge 554 +)))|((( 555 +Air 554 554 555 -(% style="color:#037691" %)**AT Command:** 557 +Pressure 558 +))) 559 +|(% rowspan="2" %)Byte1|Bit7|Bit6|Bit5|Bit4|Bit3|Bit2|Bit1|Bit0 560 +|Humidity|Temperature|CO2|((( 561 +Rain/Snow 556 556 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" %)OK563 +Detect 564 +)))|illuminance|((( 565 +Wind 560 560 567 +Direction 568 +)))|Wind Speed|BAT 561 561 570 +(% style="color:#037691" %)**AT Command:** 571 + 572 +|**Command Example**|**Function**|**Response** 573 +|AT+STYPE=80221|Set sensor types|OK 574 + 562 562 Eg: The setting command **AT+STYPE=802212** means: 563 563 564 -(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:495px" %) 565 -|(% 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 566 -|(% 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 567 -|(% 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 568 -|(% 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 569 -|(% 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 570 -|(% 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 577 +|(% rowspan="2" %)Byte3|Bit23|Bit22|Bit21|Bit20|Bit19|Bit18|Bit17|Bit16 578 +|0|0|0|0|1|0|0|0 579 +|(% rowspan="2" %)Byte2|Bit15|Bit14|Bit13|Bit12|Bit11|Bit10|Bit9|Bit8 580 +|0|0|0|0|0|0|1|0 581 +|(% rowspan="2" %)Byte1|Bit7|Bit6|Bit5|Bit4|Bit3|Bit2|Bit1|Bit0 582 +|0|0|1|0|0|0|0|1 571 571 572 572 So wsc1-L will upload the following data: Custom Sensor A1, Rain Gauge,CO2,BAT. 573 573 ... ... @@ -578,11 +578,12 @@ 578 578 579 579 (% style="color:red" %)**Note:** 580 580 581 -~1. The sensor type will not be saved to flash, and the value will be updated every time the sensor is restarted or rescanned .593 +~1. The sensor type will not be saved to flash, and the value will be updated every time the sensor is restarted or rescanned 582 582 583 583 584 584 585 585 598 + 586 586 = 4. Power consumption and battery = 587 587 588 588 == 4.1 Total Power Consumption ==
- image-20220624142619-8.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -12.5 KB - Content
- image-20220624142956-9.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -9.2 KB - Content
- image-20220624143553-10.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -6.7 KB - Content
- image-20220624143618-11.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -6.3 KB - Content
- image-20220624144904-12.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -17.2 KB - Content