WSC3-L -- Weather Station Kit User Manual
Table of Contents:
- 1. Introduction
- 2. How to use
- 3. Configure WSC3-L
- 4. Power consumption and battery
- 5. Main Process Unit WSC3-L
- 6. OTA Firmware update
- 7. FAQ
- 8. Trouble Shooting
- 9. Order Info
- 10. Support
1. Introduction
1.1 Overview
The Dragino Weather Station Kit is designed for measuring atmospheric conditions to provide information for weather forecasts and to study the weather and climate.
The Weather Station Kit includes a LoRaWAN transmitter WSC3-L, a 3-in-1 sensor with an interruption rain gauge and a light sensor.
Please note that the WSC3-L only includes the transmitter, the 3-in-1 sensor and the interrupting rain gauge and light sensor need to be purchased separately.
The 3-in-1 sensor can measure the following values: Temperature, Humidity, Air pressure.
The LoRaWAN transmitter uses an I2C interface to communicate with the weather station sensor. It also has a pulse count input that can be used to connect a tipping bucket Rain Gauge.
WSC3-L is full compatible with LoRaWAN Class A protocol, it can work with standard LoRaWAN gateway.
1.2 Features & Spec for WSC3-L Transmitter
- LoRaWAN 1.0.3 Class A
- Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
- Ultra-low power consumption
- Support interrupt rain gauge
- Support Bluetooth v5.1 and LoRaWAN remote configure
- Support wireless OTA update firmware
- AT Commands to change parameters
- Downlink to change configure
- IP66 Waterproof Enclosure
- 3000mAh Rechargeable Li-ion Battery
1.3 Specification for 3-in-1 sensors
Temperature:
- Range: -40 to + 80°C
- Accuracy: ±0.2 @ 0-90 °C
- Resolution: 0.1°C
- Long Term Shift: <0.03 °C/yr
Humidity:
- Range: 0 ~ 99.9% RH
- Accuracy: ± 2%RH ( 0 ~ 100%RH)
- Resolution: 0.01% RH
- Long Term Shift: <0.25 %RH/yr
Air Pressure:
- Accuracy: ±0.15kPa@25°C 101kPa
- Range: 300~1100hPa
1.4 Specification for WSS-08 Optical Rain Guage
- Input Power: 9~30 VDC
- Sense diameter: 6cm
- Pulse Output
More Detail: WSS-08 Manual.
1.5 Sleep mode and working mode
Deep Sleep Mode: Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
Working Mode: In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
1.6 Button & LEDs
Behavior on ACT | Function | Action |
---|---|---|
Pressing ACT between 1s < time < 3s | Send an uplink | If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, blue led will blink once. |
Pressing ACT for more than 3s | Active Device | Green led will fast blink 5 times, device will enter OTA mode for 3 seconds. And then start to JOIN LoRaWAN network. |
Fast press ACT 5 times. | Deactivate Device | Red led will solid on for 5 seconds. Means device is in Deep Sleep Mode. |
1.7 BLE connection
WSC2-L supports BLE remote configure.
BLE can be used to configure the parameter of sensor or see the console output from sensor. BLE will be only activate on below case:
- Press button to send an uplink
- Press button to active device.
- Device Power on or reset.
If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
1.8 Pin Mapping
1.9 Mechanical(for LS version)
2. How to use
2.1 Installation
Below is an installation example for the weather station. Field installation example can be found at Appendix I: Field Installation Photo.
2.2 How it works?
Each WSC3-L is shipped with a worldwide unique set of OTAA keys. To use WSC3-L in a LoRaWAN network, user needs to input the OTAA keys in LoRaWAN network server. After finish installation as above. Create WSC3-L in your LoRaWAN server and Power on WSC3-L , it can join the LoRaWAN network and start to transmit sensor data. The default period for each uplink is 20 minutes.
2.3 Example to use for LoRaWAN network(OTAA)
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.
Assume the DLOS8 is already set to connect to TTN V3 network . We need to add the WSC3-L device in TTN V3:
Step 1: Create a device in TTN V3 with the OTAA keys from WSC3-L.
Each WSC3-L is shipped with a sticker with the default device EUI as below:
User can enter these keys in the LoRaWAN Server portal. Below is TTN V3 screen shot:
Create the application.
Add devices to the created Application.
Enter end device specifics manually.
Add DevEUI and AppKey. Customize a platform ID for the device.
Step 2: Add decoder
In TTN, user can add a custom payload so it shows friendly reading.
Click this link to get the decoder: https://github.com/dragino/dragino-end-node-decoder/tree/main/
Below is TTN screen shot:
Step 3: Activate on WSC3-L
Press the button for 5 seconds to activate the WSC3-L.
Green led will fast blink 5 times, device will enter OTA mode for 3 seconds. And then start to JOIN LoRaWAN network.
Green led will solidly turn on for 5 seconds after joined in network.
After join success, it will start to upload messages to TTN and you can see the messages in the panel.
2.4 Uplink Payload
Uplink payloads include two types: Valid Sensor Value and other status / control command.
- Valid Sensor Value: Use FPORT=2
- Other control command: Use FPORT other than 2.
2.4.1 Uplink FPORT=5, Device Status
Users can use the downlink command(0x26 01) to ask WSC3-L to send device configure detail, include device configure status. WSC3-L will uplink a payload via FPort=5 to server.
The Payload format is as below.
Device Status(FPORT=5) | |||||
---|---|---|---|---|---|
Size(bytes) | 1 | 2 | 1 | 1 | 2 |
Value | Sensor Model | Firmware Version | Frequency Band | Sub-band | BAT |
Sensor Model:For WSC3-L, this value is 0x4A.
Firmware Version:0x0100, Means: v1.0.0 version.
Frequency Band:
0x01: EU868
0x02: US915
0x03: IN865
0x04: AU915
0x05: KZ865
0x06: RU864
0x07: AS923
0x08: AS923-1
0x09: AS923-2
0x0a: AS923-3
Sub-Band:
AU915 and US915:value 0x00 ~ 0x08
CN470: value 0x0B ~ 0x0C
Other Bands: Always 0x00
Battery Info:
shows the battery voltage for WSC3-L MCU.
Ex1: 0x0C66/1000 = 3174/1000=3.174V
Users can also use the downlink command (0x23 01) to change the uplink port of WSC2-L:
Example Downlink:0x23 01(Change to port 1)
2.4.2 Uplink FPORT=2, Real time sensor value
WSC2-L will send this uplink after Device Config uplink once join LoRaWAN network successfully. And it will periodically send this uplink. Default interval is 20 minutes and can be changed.
Uplink uses FPORT=2 and every 20 minutes send one uplink by default.
Size(bytes) | 2 | 1 | 3 | 2 | 2 | 2 | 2 | 2 | 1 |
---|---|---|---|---|---|---|---|---|---|
Value | Battery | Payload _ver | Rain | temp_ DS18B20 | Temperature | Humidity | Pressure | illumination | i_flag |
Battery
Sensor Battery Level.
Ex1: 0x0C72 = 3186mV
Ex2: 0x0B49 = 2889mV
Temperature
Example:
If payload is: 0105H: (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
If payload is: FF3FH : (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
(FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
Humidity
Read:0x(0197)=412 Value: 412 / 10=41.2, So 41.2%
Pressure
2.5 Show data on Application Server
Application platform provides a human friendly interface to show the sensor data, once we have sensor data in TTN V3, we can use Datacake to connect to TTN V3 and see the data in Datacake. Below are the steps:
Step 1: Be sure that your device is programmed and properly connected to the LoRaWAN network.
Step 2: Configure your Application to forward data to Datacake you will need to add integration. Go to TTN V3 Console --> Applications --> Integrations --> Add Integrations.
Add TagoIO:
Authorization:
In TagoIO console (https://admin.tago.io//) , add WSC3-L:
2.6 Frequency Plans
The WSC3-L uses OTAA mode and below frequency plans by default. Each frequency band use different firmware, user update the firmware to the corresponding band for their country.
http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/
3. Configure WSC3-L
3.1 Configure Methods
WSC3-L supports below configure method:
- AT Command via Bluetooth Connection (Recommended): BLE Configure Instruction.
- AT Command via UART Connection : See UART Connection.
- LoRaWAN Downlink. Instruction for different platforms: See IoT LoRaWAN Server section.
3.2 General Commands
These commands are to configure:
- General system settings like: uplink interval.
- LoRaWAN protocol & radio related command.
They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/
3.3 Commands special design for WSC3-L
These commands only valid for WSC3-L, as below:
3.3.1 Set Transmit Interval Time
Feature: Change LoRaWAN End Node Transmit Interval.
AT Command: AT+TDC
Command Example | Function | Response |
AT+TDC=? | Show current transmit Interval | 30000 |
AT+TDC=60000 | Set Transmit Interval | OK |
Downlink Command: 0x01
Format: Command Code (0x01) followed by 3 bytes time value.
If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
- Example 1: Downlink Payload: 0100001E // Set Transmit Interval (TDC) = 30 seconds
- Example 2: Downlink Payload: 0100003C // Set Transmit Interval (TDC) = 60 seconds
3.3.2 Set Interrupt Mode
Feature, Set Interrupt mode for GPIO_EXIT of pin.
When AT+INTMOD=0 is set, GPIO_EXIT is used as a digital input port.
AT Command: AT+INTMOD
Command Example | Function | Response |
---|---|---|
AT+INTMOD=? | Show current interrupt mode | 0 |
AT+INTMOD=2 | Set Transmit Interval | OK |
Downlink Command: 0x06
Format: Command Code (0x06) followed by 3 bytes.
This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
- Example 1: Downlink Payload: 06000000 // Turn off interrupt mode
- Example 2: Downlink Payload: 06000003 // Set the interrupt mode to rising edge trigger
3.3.3 Set or get the total count value
Feature: The user can set the counting to start from the set value according to the requirements. (only available in counting mode).
AT Command:
Command Example | Function | Response |
---|---|---|
AT+SETCNT=1000 | Set the total count to start from 1000 | OK |
Downlink Command:
Format: Command Code (0x09) followed by 5 bytes time value.
If the downlink payload=09000003E8, This means that the count of the END node will start counting from setting 0x000003E8=1000 (times). while type code is 09.
- Example 1: Downlink Payload: 09000003E8 // Set the value to start counting from 1000 = 1000 (times)
3.3.4 Set interrupt or counting mode
Feature: Users can set the trigger mode to counting mode or interrupt mode as needed.
AT Command:
Command Example | Function | Response |
---|---|---|
AT+COUNTMOD=0 | set to interrupt mode | OK |
AT+COUNTMOD=1 | set to counting mode | OK |
Downlink Command:
Format: Command Code (0x10) followed by 1 bytes time value.
If the downlink payload=10 00, Set the trigger mode to interrupt mode, while type code is 10.
- Example 1: Downlink Payload: 10 00 // Same as: AT+COUNTMOD=0 set to interrupt mode
3.3.5 Set time synchronization method
Feature: This command is used to enable automatic time calibration by time zone(Get or Set time synchronization method).
AT Command: AT+SYNCMOD
Command Example | Function | Response/Parameter |
---|---|---|
AT+SYNCMOD=? | Get the current time synchronization method | 1,0 (Default) OK |
AT+SYNCMOD=aa,bb | aa: Enable/disable automatic time zone calibration | 0: Disable automatic time zone calibration. 1: Enable automatic time zone calibration |
bb: Set the time zone: -12 ~ 12 | Negative number: West Time Zone Positive number: Eastern Time Zone |
Downlink Command: 0x28
Format: Command Code (0x28) followed by 2 bytes.
- Example 1: Downlink Payload: 28 00 00 // Turn off the time zone calibration time.
- Example 2: Downlink Payload: 28 01 FA // Turn on time zone calibration time, UTC-6
- Example 3: Downlink Payload: 28 01 06 // Turn on time zone calibration time, UTC+6
Note: UTC-6: 256+(-6)=250(D)=0xFA(H)
3.3.6 Set time synchronization interval
Feature: Get or set time synchronization interval in day or hour.
AT Command: AT+SYNCTDC
Command Example | Function | Response/Parameter |
---|---|---|
AT+SYNCTDC=? | Gets the current time synchronization interval | 12,1 (Default) OK |
AT+SYNCTDC=aa,bb | aa: Set the interval for automatic synchronization | Range: 0~255 |
bb: Set the unit of the time synchronization interval | 0: Unit: day 1: Unit: hour |
Downlink Command: 0x29
Format: Command Code (0x29) followed by 3 bytes.
- Example 1: Downlink Payload: 29 0C 00 // Calibrate once every 12 days
- Example 2: Downlink Payload: 29 0C 01 // Calibrate once every 12 hours
4. Power consumption and battery
4.1 Total Power Consumption
Dragino Weather Station serial products include the main process unit (WSC3-L) and various sensors. The total power consumption equal total power of all above units. The power consumption for main process unit WSC3-L is 5uA @ 3.7v. and the power consumption of each sensor can be found on the Sensors chapter.
4.2 Reduce power consumption
The main process unit WSC3-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, WSC3-L will not be to get real-time downlink command from IoT Server.
4.3 Battery
All sensors are only power by external power source. If external power source is off. All sensor won't work.
Main Process Unit WSC2-L is powered by both external power source and internal 1000mAh rechargeable battery. If external power source is off, WSC2-L still runs and can send periodically uplinks, but the sensors value will become invalid. External power source can recharge the 1000mAh rechargeable battery.
5. Main Process Unit WSC3-L
The WSC3-L is the main processing unit in the Dragino weather station solution. The WSC3-L is an outdoor LoRaWAN RS485 end node. It is powered by an internal rechargeable lithium battery and comes with a solar charging panel.
WSC3-L reads value from sensors and upload these sensor data to IoT server via LoRaWAN wireless protocol.
WSC3-L is full compatible with LoRaWAN Class A protocol, it can work with standard LoRaWAN gateway.
WSC3-L Supports BLE configure and wireless OTA update which make user easy to use.
Each WSC3-L is pre-load with a set of unique keys for LoRaWAN registration, register these keys to local LoRaWAN server and it will auto connect after power on.
5.2 Power Consumption
WSC2-L (without external sensor): Idle: 4mA, Transmit: max 40mA
5.3 Storage & Operation Temperature
-20°C to +60°C
5.8 Mechanical
Refer LSn50v2 enclosure drawing in: https://www.dropbox.com/sh/0ir0l9jjmk6p95e/AADwWXorcKuNpPR5em7VgrEja?dl=0
6. OTA Firmware update
User can change firmware WSC2-L to:
- Change Frequency band/ region.
- Update with new features.
- Fix bugs.
Firmware and changelog can be downloaded from : Firmware download link
Methods to Update Firmware:
- (Recommanded way) OTA firmware update via wireless: http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/
- Update through UART TTL interface: Instruction.
7. FAQ
7.1 What else do I need to purchase to build Weather Station?
Below is the installation photo and structure:
7.2 Where can i find the modbus command for the WSS-09 sensor?
See this link for the modbus command set.
8. Trouble Shooting
8.1 What should I do when the RS485 sensor cannot collect data?
1. Recheck whether the sensor's power supply voltage is 12V at maximum.
2. Recheck whether the A and B signal lines of the sensor are connected reversely.
3. Check whether the sensor's transmission baud rate is 4800. If not, please change it to 4800 and try reading again.
8.2 Why does the weather station make electric current sounds during operation?
1. Because a certain amount of sound will be produced during long-term power supply operation. This is a normal phenomenon and does not affect use.
8.3 How to solve the problem of temperature difference in weather stations?
You can use AT+RSWRITE (downlink: E2 xx xx xx xx xx xx xx ) to modify the temperature compensation function in the weather station.
For example:
When the temperature of the weather station is 3°C different from the right value, you can use AT+RSWRITE=01 06 00 50 00 1E 09 D3 (downlink: E2 01 06 00 50 00 1E 09 D3) to modify the temperature compensation value of the weather station to +3°C .
8.4 Why does the rain gauge have no data?
The default mode of the rain gauge is trigger mode.
When it rains, it will trigger an uplink, and the data does not include rainfall data.
If you want to query rainfall data, please change to counting mode
Feature: Users can set the trigger mode to counting mode or interrupt mode as needed.
AT Command:
Command Example | Function | Response |
---|---|---|
AT+COUNTMOD=0 | set to interrupt mode | OK |
AT+COUNTMOD=1 | set to counting mode | OK |
Downlink Command:
Format: Command Code (0x10) followed by 1 bytes time value.
If the downlink payload=10 00, Set the trigger mode to interrupt mode, while type code is 10.
- Example 1: Downlink Payload: 10 00 // Same as: AT+COUNTMOD=0 set to interrupt mode
9. Order Info
Part Number: WSC2-L-XX
XX: The default frequency band
- AS923: LoRaWAN AS923 band
- AU915: LoRaWAN AU915 band
- EU433: LoRaWAN EU433 band
- EU868: LoRaWAN EU868 band
- KR920: LoRaWAN KR920 band
- US915: LoRaWAN US915 band
- IN865: LoRaWAN IN865 band
- CN470: LoRaWAN CN470 band
10. Support
- Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule.
- Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to support@dragino.com.