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: ... ... @@ -360,6 +360,7 @@ 360 360 * AT Command Connection: See [[FAQ>>||anchor="H7.FAQ"]]. 361 361 * LoRaWAN Downlink instruction for different platforms: [[Use Note for Server>>doc:Main.WebHome]](IoT LoRaWAN Server) 362 362 364 + 363 363 There are two kinds of commands to configure WSC1-L, they are: 364 364 365 365 * (% style="color:#4472c4" %)**General Commands**. ... ... @@ -379,7 +379,6 @@ 379 379 These commands only valid for WSC1-L, as below: 380 380 381 381 382 - 383 383 == 3.1 Set Transmit Interval Time == 384 384 385 385 Feature: Change LoRaWAN End Node Transmit Interval. ... ... @@ -386,9 +386,20 @@ 386 386 387 387 (% style="color:#037691" %)**AT Command: AT+TDC** 388 388 389 -[[image:image-20220624142619-8.png]] 390 +|**Command Example**|**Function**|**Response** 391 +|AT+TDC?|Show current transmit Interval|((( 392 +30000 390 390 394 +OK 391 391 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 + 392 392 (% style="color:#037691" %)**Downlink Command: 0x01** 393 393 394 394 Format: Command Code (0x01) followed by 3 bytes time value. ... ... @@ -398,26 +398,22 @@ 398 398 * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 399 399 * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 400 400 401 - 402 - 403 - 404 404 == 3.2 Set Emergency Mode == 405 405 406 406 Feature: In emergency mode, WSC1-L will uplink data every 1 minute. 407 407 417 + 408 408 (% style="color:#037691" %)**AT Command:** 409 409 410 -[[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 411 411 412 - 413 413 (% style="color:#037691" %)**Downlink Command:** 414 414 415 415 * 0xE101 Same as: AT+ALARMMOD=1 416 416 * 0xE100 Same as: AT+ALARMMOD=0 417 417 418 - 419 - 420 - 421 421 == 3.3 Add or Delete RS485 Sensor == 422 422 423 423 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. ... ... @@ -424,34 +424,34 @@ 424 424 425 425 (% style="color:#037691" %)**AT Command: ** 426 426 427 - (% 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 428 428 429 -* Type_Code range: 430 -* Query_Length: 431 -* Query_Command: 432 -* Read_Length: 433 -* Valid_Data: 434 -* has_CRC: 435 -* 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 436 436 445 +Example: 437 437 438 - 439 -**Example:** 440 - 441 441 User need to change external sensor use the type code as address code. 442 442 443 443 With a 485 sensor, after correctly changing the address code to A1, the RS485 query frame is shown in the following table: 444 444 445 -[[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 +| | | | | | | | 446 446 447 - 448 448 The response frame of the sensor is as follows: 449 449 450 -[[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 +| | | | | | | | 451 451 461 +Then the following parameters should be: 452 452 453 -**Then the following parameters should be:** 454 - 455 455 * Address_Code range: A1 456 456 * Query_Length: 8 457 457 * Query_Command: A103000000019CAA ... ... @@ -460,23 +460,21 @@ 460 460 * has_CRC: 1 461 461 * timeout: 1500 (Fill in the test according to the actual situation) 462 462 471 +So the input command is: 463 463 464 -**So the input command is:** 465 - 466 466 AT+DYSENSOR=A1,8,A103000000019CAA,8,24,1,1500 467 467 468 468 469 469 In every sampling. WSC1-L will auto append the sensor segment as per this structure and uplink. 470 470 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 478 +|Type Code|Length (Bytes)|Measured Value 479 +|A1|2|0x000A 474 474 475 - **Related commands:**481 +Related commands: 476 476 477 -AT+DYSENSOR=A1,0 ~-~->483 +AT+DYSENSOR=A1,0 –> Delete 3^^rd^^ party sensor A1. 478 478 479 -AT+DYSENSOR 485 +AT+DYSENSOR ~-~-> List All 3^^rd^^ Party Sensor. Like below: 480 480 481 481 482 482 (% style="color:#037691" %)**Downlink Command: ** ... ... @@ -489,20 +489,16 @@ 489 489 490 490 * 0xE5FF 491 491 492 - 493 - 494 - 495 495 == 3.4 RS485 Test Command == 496 496 497 497 (% style="color:#037691" %)**AT Command:** 498 498 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" %)((( 502 +|**Command Example**|**Function**|**Response** 503 +|AT+RSWRITE=xxxxxx|((( 502 502 Send command to 485 sensor 503 503 504 504 Range : no more than 10 bytes 505 -)))| (% style="width:85px" %)OK507 +)))|OK 506 506 507 507 Eg: Send command **01 03 00 00 00 01 84 0A** to 485 sensor 508 508 ... ... @@ -513,9 +513,6 @@ 513 513 514 514 * 0xE20103000001840A Same as: AT+RSWRITE=0103000001840A 515 515 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,33 +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 540 +== 3.6 Set Sensor Type == 543 543 542 +Feature: Set sensor in used. If there are 6 sensors, user can set to only send 5 sensors values. 544 544 544 +See [[definition>>||anchor="H"]] for the sensor type. 545 545 546 -== 3.6 Set Sensor Type == 547 547 548 -Feature: Set sensor in used. If there are 6 sensors, user can set to only send 5 sensors values. 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 549 549 550 -See [[definition>>||anchor="HWeatherSensorTypes:"]] for the sensor type. 553 +Gauge 554 +)))|((( 555 +Air 551 551 552 -[[image:image-20220624144904-12.png]] 557 +Pressure 558 +))) 559 +|(% rowspan="2" %)Byte1|Bit7|Bit6|Bit5|Bit4|Bit3|Bit2|Bit1|Bit0 560 +|Humidity|Temperature|CO2|((( 561 +Rain/Snow 553 553 563 +Detect 564 +)))|illuminance|((( 565 +Wind 554 554 567 +Direction 568 +)))|Wind Speed|BAT 569 + 555 555 (% style="color:#037691" %)**AT Command:** 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" %)OK 572 +|**Command Example**|**Function**|**Response** 573 +|AT+STYPE=80221|Set sensor types|OK 560 560 561 561 Eg: The setting command **AT+STYPE=802212** means: 562 562 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 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 570 570 571 571 So wsc1-L will upload the following data: Custom Sensor A1, Rain Gauge,CO2,BAT. 572 572 ... ... @@ -577,11 +577,12 @@ 577 577 578 578 (% style="color:red" %)**Note:** 579 579 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 .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 581 581 582 582 583 583 584 584 598 + 585 585 = 4. Power consumption and battery = 586 586 587 587 == 4.1 Total Power Consumption == ... ... @@ -594,15 +594,13 @@ 594 594 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. 595 595 596 596 611 + 597 597 == 4.3 Battery == 598 598 599 -((( 600 -All sensors are only power by external power source. If external power source is off. All sensor won't work. 601 -))) 614 +All sensors are only power by external power source. If external power source is off. All sensor won’t work. 602 602 603 - (((616 + 604 604 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 -))) 606 606 607 607 608 608 ... ... @@ -622,9 +622,6 @@ 622 622 * IP Rating: IP65 623 623 * Support default sensors or 3rd party RS485 sensors 624 624 625 - 626 - 627 - 628 628 == 5.2 Power Consumption == 629 629 630 630 WSC1-L (without external sensor): Idle: 4mA, Transmit: max 40mA
- 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