Wiki source code of WSC2-L -- LoRaWAN Weather Station User Manual
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | |||
2 | |||
3 | |||
4 | |||
5 | |||
6 | |||
7 | |||
8 | |||
9 | **Table of Contents:** | ||
10 | |||
11 | {{toc/}} | ||
12 | |||
13 | |||
14 | |||
15 | |||
16 | |||
17 | |||
18 | |||
19 | |||
20 | |||
21 | = 1. Introduction = | ||
22 | |||
23 | |||
24 | == 1.1 Overview == | ||
25 | |||
26 | Dragino WSC2-L Weather Station Kit is designed for measuring atmospheric conditions to provide information for weather forecasts and to study the weather and climate. WSC2-L Weather Station kit includes a 9 in 1 weather station and a LoRaWAN transmitter. | ||
27 | |||
28 | |||
29 | The 9 in 1 weather station kit can measure below values: (% style="color:blue" %)Wind Speed, Wind Direction, Temperature, Humidity, Air Pressure, Illumination, PM2.5, PM10 & Noise(%%). The LoRaWAN transmitter use RS485 interface to communicate with the 9 in 1 weather station. It can also connect (% style="color:blue" %)3rd party RS485 sensors(%%) to measure more environment data. It also has a pulse counting input which can be used to connect (% style="color:blue" %)tipping bucket Rain Gauge(%%). | ||
30 | |||
31 | |||
32 | WSC2-L is full compatible with LoRaWAN Class A protocol, it can work with standard LoRaWAN gateway. | ||
33 | |||
34 | |||
35 | == 1.2 Features == | ||
36 | |||
37 | * LoRaWAN 1.0.3 Class A | ||
38 | * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865 | ||
39 | * Ultra-low power consumption | ||
40 | * Built-in sensors: Wind Speed, Wind Direction, Temperature, Humidity, Air Pressure, Illumination, PM2.5, PM10 | ||
41 | * RS485 Interface for 3rd Sensors | ||
42 | * Support tipping bucket Rain Gauge | ||
43 | * Support Bluetooth v5.1 and LoRaWAN remote configure | ||
44 | * Support wireless OTA update rmware | ||
45 | * AT Commands to change parameters | ||
46 | * Downlink to change configure | ||
47 | * IP66 Waterproof Enclosure | ||
48 | * 1000mAh Rechargeable Lion Battery | ||
49 | * Input and Recharge power : 12v | ||
50 | |||
51 | == 1.3 Specification == | ||
52 | |||
53 | **~ Wind Speed:** | ||
54 | |||
55 | * Range:0~~60m/s | ||
56 | * Accuracy:±(0.2m/s±0.02*v)(v : the wind speed) | ||
57 | * Ultrasonic measurement,no start wind strength needed | ||
58 | |||
59 | **~ Wind Direction:** | ||
60 | |||
61 | * Range:0~~3599 | ||
62 | * Accuracy:+3° | ||
63 | * Ultrasonic measurement,no start wind strength needed | ||
64 | * Built-in electronic compass. No need to consider installation direction | ||
65 | |||
66 | **~ Temperature:** | ||
67 | |||
68 | * Range:-40C~~+80C | ||
69 | * Accuracy:+0.5C | ||
70 | |||
71 | **~ Humidity:** | ||
72 | |||
73 | * Range:0 ~~99% RH | ||
74 | * Accuracy Tolerance :Typ +3% RH | ||
75 | |||
76 | **~ Air Pressure:** | ||
77 | |||
78 | * Accuracy: ±0.15kPa@25℃ 101kPa | ||
79 | * Range: 0-120kPa | ||
80 | |||
81 | **~ Noise:** | ||
82 | |||
83 | * Range: 30dB~~120dB | ||
84 | * Accuracy: +0.5dB | ||
85 | |||
86 | **~ PM2.5:** | ||
87 | |||
88 | * Range: 0-1000ug/m3 | ||
89 | * Accuracy: ±3%FS | ||
90 | * Resolution:1ug/m3 | ||
91 | |||
92 | **~ PM10:** | ||
93 | |||
94 | * Range: 0-1000ug/m3 | ||
95 | * Accuracy: +3%FS | ||
96 | * Resolution:1ug/m3 | ||
97 | |||
98 | **~ llumination:** | ||
99 | |||
100 | * Range: 0-200k Lux | ||
101 | * Accuracy:+7%(25 ℃) | ||
102 | |||
103 | = 2. How to use = | ||
104 | |||
105 | == 2.1 Installation == | ||
106 | |||
107 | Below is an installation example for the weather station. Field installation example can be found at [[Appendix I: Field Installation Photo.>>||anchor="H12.AppendixI:FieldInstallationPhoto"]] | ||
108 | |||
109 | [[image:image-20240327231510-1.png||height="499" width="1156"]] | ||
110 | |||
111 | |||
112 | (% style="color:blue" %)** Wiring:** | ||
113 | |||
114 | 1. WSC2-L and sensors all powered by solar power via MPPT | ||
115 | 1. WSC2-L Weather Station Kit already include 9 sensors. | ||
116 | 1. Possible to add optional 3rd sensors to measure more parameter | ||
117 | |||
118 | (% style="color:red" %)**Notice 1:** | ||
119 | |||
120 | * All weather sensors and WSC2-L are powered by MPPT solar recharge controller. MPPT is connected to solar panel and storage battery. | ||
121 | * Weather sensors won't work if solar panel and storage battery fails. | ||
122 | |||
123 | (% style="color:red" %)**Notice 2:** | ||
124 | |||
125 | Due to shipment and importation limitation, user is better to purchase below parts locally: | ||
126 | |||
127 | * Solar Panel | ||
128 | * Storage Battery | ||
129 | * MPPT Solar Recharger | ||
130 | * Cabinet. | ||
131 | |||
132 | == 2.2 How it works? == | ||
133 | |||
134 | |||
135 | ((( | ||
136 | Each WSC2-L is shipped with a worldwide unique set of OTAA keys. To use WSC2-L in a LoRaWAN network, user needs to input the OTAA keys in LoRaWAN network server. After finish installation as above. Create WSC2-L in your LoRaWAN server and Power on WSC2-L , it can join the LoRaWAN network and start to transmit sensor data. The default period for each uplink is 20 minutes. | ||
137 | ))) | ||
138 | |||
139 | |||
140 | == 2.3 Example to use for LoRaWAN network == | ||
141 | |||
142 | |||
143 | 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. | ||
144 | |||
145 | |||
146 | Assume the DLOS8 is already set to connect to [[TTN V3 network >>url:https://eu1.cloud.thethings.network/]]. We need to add the WSC2-L device in TTN V3: | ||
147 | |||
148 | |||
149 | (% style="color:blue" %)**Step 1**(%%): Create a device in TTN V3 with the OTAA keys from WSC2-L. | ||
150 | |||
151 | Each WSC2-L is shipped with a sticker with the default device EUI as below: | ||
152 | |||
153 | [[image:image-20230426084533-1.png||height="231" width="497"]] | ||
154 | |||
155 | |||
156 | User can enter these keys in the LoRaWAN Server portal. Below is TTN V3 screen shot: | ||
157 | |||
158 | Put a Jumper on JP2 to power on the device. ( The Jumper must be in FLASH position). | ||
159 | |||
160 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSE01-LoRaWAN%20Soil%20Moisture%20%26%20EC%20Sensor%20User%20Manual/WebHome/image-20220606163915-7.png?rev=1.1||alt="image-20220606163915-7.png"]] | ||
161 | |||
162 | **Add APP EUI in the application.** | ||
163 | |||
164 | [[image:1656042662694-311.png]] | ||
165 | |||
166 | [[image:1656042673910-429.png]] | ||
167 | |||
168 | |||
169 | |||
170 | |||
171 | **Choose Manually to add WSC2-L** | ||
172 | |||
173 | [[image:1656042695755-103.png]] | ||
174 | |||
175 | |||
176 | |||
177 | **Add APP KEY and DEV EUI** | ||
178 | |||
179 | [[image:1656042723199-746.png]] | ||
180 | |||
181 | |||
182 | |||
183 | ((( | ||
184 | (% style="color:blue" %)**Step 2**(%%): Power on WSC2-L, it will start to join TTN server. After join success, it will start to upload sensor data to TTN V3 and user can see in the panel. | ||
185 | ))) | ||
186 | |||
187 | |||
188 | [[image:1656042745346-283.png]] | ||
189 | |||
190 | |||
191 | == 2.4 Uplink Payload == | ||
192 | |||
193 | |||
194 | Uplink payloads include two types: Valid Sensor Value and other status / control command. | ||
195 | |||
196 | * Valid Sensor Value: Use FPORT=2 | ||
197 | * Other control command: Use FPORT other than 2. | ||
198 | |||
199 | === 2.4.1 Uplink FPORT~=5, Device Status === | ||
200 | |||
201 | |||
202 | Uplink the device configures with FPORT=5. Once WSC2-L Joined the network, it will uplink this message to the server. After first uplink, WSC2-L will uplink Device Status every 12 hours | ||
203 | |||
204 | |||
205 | ((( | ||
206 | User can also use downlink command**(0x2301)** to ask WSC2-L to resend this uplink | ||
207 | ))) | ||
208 | |||
209 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:500px" %) | ||
210 | |=(% style="width: 70px;background-color:#4F81BD;color:white" %)**Size(**bytes)|=(% style="width: 60px;background-color:#4F81BD;color:white" %)1|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 100px;background-color:#4F81BD;color:white" %)**3** | ||
211 | |(% style="width:99px" %)Value|(% style="width:112px" %)[[Sensor Model>>||anchor="HSensorModel:"]]|(% style="width:135px" %)[[Firmware Version>>||anchor="HFirmwareVersion:"]]|(% style="width:126px" %)[[Frequency Band>>||anchor="HFrequencyBand:"]]|(% style="width:85px" %)[[Sub-band>>||anchor="HSub-Band:"]]|(% style="width:46px" %)[[BAT>>||anchor="HBAT:"]]|(% style="width:166px" %)[[Weather Sensor Types>>||anchor="HWeatherSensorTypes:"]] | ||
212 | |||
213 | [[image:1656043061044-343.png]] | ||
214 | |||
215 | |||
216 | Example Payload (FPort=5): [[image:image-20220624101005-1.png]] | ||
217 | |||
218 | |||
219 | ==== (% style="color:#037691" %)**Sensor Model:**(%%) ==== | ||
220 | |||
221 | For WSC2-L, this value is 0x0D. | ||
222 | |||
223 | |||
224 | ==== (% style="color:#037691" %)**Firmware Version:**(%%) ==== | ||
225 | |||
226 | 0x0100, Means: v1.0.0 version. | ||
227 | |||
228 | |||
229 | ==== (% style="color:#037691" %)**Frequency Band:**(%%) ==== | ||
230 | |||
231 | 0x01: EU868 | ||
232 | |||
233 | 0x02: US915 | ||
234 | |||
235 | 0x03: IN865 | ||
236 | |||
237 | 0x04: AU915 | ||
238 | |||
239 | 0x05: KZ865 | ||
240 | |||
241 | 0x06: RU864 | ||
242 | |||
243 | 0x07: AS923 | ||
244 | |||
245 | 0x08: AS923-1 | ||
246 | |||
247 | 0x09: AS923-2 | ||
248 | |||
249 | 0x0a: AS923-3 | ||
250 | |||
251 | |||
252 | ==== (% style="color:#037691" %)**Sub-Band:**(%%) ==== | ||
253 | |||
254 | value 0x00 ~~ 0x08(only for CN470, AU915,US915. Others are0x00) | ||
255 | |||
256 | |||
257 | ==== (% style="color:#037691" %)**BAT:**(%%) ==== | ||
258 | |||
259 | ((( | ||
260 | shows the battery voltage for WSC2-L MCU. | ||
261 | ))) | ||
262 | |||
263 | ((( | ||
264 | Ex1: 0x0BD6/1000 = 3.03 V | ||
265 | ))) | ||
266 | |||
267 | |||
268 | ==== (% style="color:#037691" %)**Weather Sensor Types:**(%%) ==== | ||
269 | |||
270 | (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:100px" %) | ||
271 | |Byte3|Byte2|Byte1 | ||
272 | |||
273 | Bit = 1 means this sensor is connected, Bit=0 means this sensor is not connected | ||
274 | |||
275 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %) | ||
276 | |(% rowspan="2" style="width:53px" %)Byte3|(% style="width:71px" %)Bit23|(% style="width:113px" %)Bit22|(% style="width:112px" %)Bit21|(% style="width:110px" %)Bit20|(% style="width:112px" %)Bit19|(% style="width:70px" %)Bit18|(% style="width:72px" %)Bit17|(% style="width:53px" %)Bit16 | ||
277 | |(% style="width:71px" %)N/A|(% style="width:113px" %)Customize-A4|(% style="width:112px" %)Customize-A3|(% style="width:113px" %)Customize-A2|(% style="width:112px" %)Customize-A1|(% style="width:70px" %)N/A|(% style="width:72px" %)N/A|(% style="width:53px" %)N/A | ||
278 | |(% rowspan="2" style="width:53px" %)Byte2|(% style="width:71px" %)Bit15|(% style="width:113px" %)Bit14|(% style="width:112px" %)Bit13|(% style="width:113px" %)Bit12|(% style="width:112px" %)Bit11|(% style="width:70px" %)Bit10|(% style="width:72px" %)Bit9|(% style="width:53px" %)Bit8 | ||
279 | |(% style="width:71px" %)N/A|(% style="width:113px" %)N/A|(% style="width:112px" %)N/A|(% style="width:113px" %)N/A|(% style="width:112px" %)N/A|(% style="width:70px" %)N/A|(% style="width:72px" %)N/A|(% style="width:53px" %)N/A | ||
280 | |(% rowspan="2" style="width:53px" %)Byte1|(% style="width:71px" %)Bit7|(% style="width:113px" %)Bit6|(% style="width:112px" %)Bit5|(% style="width:113px" %)Bit4|(% style="width:112px" %)Bit3|(% style="width:70px" %)Bit2|(% style="width:72px" %)Bit1|(% style="width:53px" %)Bit0 | ||
281 | |(% style="width:71px" %)WSS-07|(% style="width:113px" %)WSS-06|(% style="width:112px" %)WSS-05|(% style="width:113px" %)WSS-04|(% style="width:112px" %)WSS-03|(% style="width:70px" %)WSS-02|(% style="width:72px" %)WSS-01|(% style="width:53px" %)N/A | ||
282 | |||
283 | Eg: 0x1000FE = 1 0000 0000 0000 1111 1110(b) | ||
284 | |||
285 | External sensors detected by WSC2-L include : | ||
286 | |||
287 | custom sensor A1, | ||
288 | |||
289 | PAR sensor (WSS-07), | ||
290 | |||
291 | Total Solar Radiation sensor (WSS-06), | ||
292 | |||
293 | CO2/PM2.5/PM10 (WSS-03), | ||
294 | |||
295 | Wind Speed/Direction (WSS-02) | ||
296 | |||
297 | |||
298 | User can also use downlink command(0x26 01) to ask WSC2-L to resend this uplink : | ||
299 | |||
300 | (% style="color:#037691" %)**Downlink:0x26 01** | ||
301 | |||
302 | [[image:1656049673488-415.png]] | ||
303 | |||
304 | |||
305 | === 2.4.2 Uplink FPORT~=2, Real time sensor value === | ||
306 | |||
307 | |||
308 | ((( | ||
309 | 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>>||anchor="H3.1SetTransmitIntervalTime"]]. | ||
310 | ))) | ||
311 | |||
312 | ((( | ||
313 | Uplink uses FPORT=2 and every 20 minutes send one uplink by default. | ||
314 | ))) | ||
315 | |||
316 | |||
317 | ((( | ||
318 | The upload length is dynamic, depends on what type of weather sensors are connected. The uplink payload is combined with sensor segments. As below: | ||
319 | ))) | ||
320 | |||
321 | |||
322 | (% style="color:#4472c4" %)** Uplink Payload**: | ||
323 | |||
324 | (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:464px" %) | ||
325 | |(% style="width:140px" %)Sensor Segment 1|(% style="width:139px" %)Sensor Segment 2|(% style="width:42px" %)……|(% style="width:140px" %)Sensor Segment n | ||
326 | |||
327 | (% style="color:#4472c4" %)** Sensor Segment Define**: | ||
328 | |||
329 | (% border="1" cellspacing="10" style="background-color:#f2f2f2; width:330px" %) | ||
330 | |(% style="width:89px" %)Type Code|(% style="width:114px" %)Length (Bytes)|(% style="width:124px" %)Measured Value | ||
331 | |||
332 | (% style="color:#4472c4" %)**Sensor Type Table:** | ||
333 | |||
334 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) | ||
335 | |(% style="background-color:#4f81bd; color:white; width:80px" %)**Sensor Type**|(% style="background-color:#4f81bd; color:white; width:65px" %)**Type Code**|(% style="background-color:#4f81bd; color:white; width:97px" %)**Range**|(% style="background-color:#4f81bd; color:white; width:78px" %)**Length( Bytes)**|(% style="background-color:#4f81bd; color:white; width:190px" %)**Example** | ||
336 | |(% style="width:103px" %)Wind Speed|(% style="width:91px" %)0x01|(% style="width:158px" %)((( | ||
337 | Speed: 0 ~~ 60m/s | ||
338 | Level: 0 ~~ 17 | ||
339 | )))|(% style="width:122px" %)0x03 |(% style="width:904px" %)((( | ||
340 | ((( | ||
341 | 0x0024/10=3.6m/s (0x02FE: No Sensor, 0x02EE: Value Error) | ||
342 | ))) | ||
343 | |||
344 | ((( | ||
345 | 0x02=2 (0x14: No Sensor, 0x15: Value Error) | ||
346 | ))) | ||
347 | ))) | ||
348 | |(% style="width:103px" %)Wind Direction|(% style="width:91px" %)0x02|(% style="width:158px" %)((( | ||
349 | Angel: 0 ~~ 360° | ||
350 | Direction: 16 positions | ||
351 | )))|(% style="width:122px" %)0x03|(% style="width:904px" %)((( | ||
352 | ((( | ||
353 | 0x02C9/10=66.6°(0x0EFE: No Sensor,0x0EFF: Value Error) | ||
354 | ))) | ||
355 | |||
356 | ((( | ||
357 | 0X03=3(ENE) (0x14: No Sensor,0x15: Value Error) | ||
358 | ))) | ||
359 | ))) | ||
360 | |(% style="width:103px" %)Illumination|(% style="width:91px" %)0x03|(% style="width:158px" %)0~200000kLux|(% style="width:122px" %)0x02|(% style="width:904px" %)((( | ||
361 | 0x04D2*10=12340kLux (0x4EFE: No Sensor,0x4EFF: Value Error) | ||
362 | ))) | ||
363 | |(% style="width:103px" %)Rain / Snow|(% style="width:91px" %)0x04|(% style="width:158px" %)0A: No, 01 Yes.|(% style="width:122px" %)0x01|(% style="width:904px" %)((( | ||
364 | ((( | ||
365 | 0x00 (00) No Rain or snow detected | ||
366 | ))) | ||
367 | |||
368 | ((( | ||
369 | (0x02: No Sensor,0x03: Value Error) | ||
370 | ))) | ||
371 | ))) | ||
372 | |(% style="width:103px" %)CO2|(% style="width:91px" %)0x05|(% style="width:158px" %)0~5000ppm|(% style="width:122px" %)0x02|(% style="width:904px" %)((( | ||
373 | 0x0378=888ppm (0x14FE: No Sensor,0x14FF: Value Error) | ||
374 | ))) | ||
375 | |(% style="width:103px" %)Temperature|(% style="width:91px" %)0x06|(% style="width:158px" %)-30℃~70℃|(% style="width:122px" %)0x02|(% style="width:904px" %)((( | ||
376 | 0xFFDD/10=-3.5℃ (0x02FE: No Sensor,0x02FF: Value Error) | ||
377 | ))) | ||
378 | |(% style="width:103px" %)Humidity|(% style="width:91px" %)0x07|(% style="width:158px" %)0~100%RH|(% style="width:122px" %)0x02|(% style="width:904px" %)((( | ||
379 | 0x0164/10=35.6%RH (0x03FE: No Sensor,0x03FF: Value Error) | ||
380 | ))) | ||
381 | |(% style="width:103px" %)Pressure|(% style="width:91px" %)0x08|(% style="width:158px" %)10~1100hPa|(% style="width:122px" %)0x02|(% style="width:904px" %)((( | ||
382 | 0x2748/10=1005.6hPa (0x00: No Sensor,0x01: Value Error) | ||
383 | ))) | ||
384 | |(% style="width:103px" %)Rain Gauge|(% style="width:91px" %)0x09|(% style="width:158px" %)((( | ||
385 | 0mm~100mm(Rainfall in the last 24 hours) | ||
386 | )))|(% style="width:122px" %)0x02|(% style="width:904px" %)((( | ||
387 | ((( | ||
388 | 0x0050/10=8mm (Rainfall within the 24 hours:8.0mm) | ||
389 | ))) | ||
390 | |||
391 | ((( | ||
392 | (0x03FE: No Sensor,0x03FF: Value Error) | ||
393 | ))) | ||
394 | ))) | ||
395 | |(% style="width:103px" %)PM2.5|(% style="width:91px" %)0x0A|(% style="width:158px" %)0~1000μg/m^^3^^|(% style="width:122px" %)0x02|(% style="width:904px" %)((( | ||
396 | 0x0023=35μg/m^^3 ^^(0x03FE: No Sensor,0x03FF: Value Error) | ||
397 | ))) | ||
398 | |(% style="width:103px" %)PM10|(% style="width:91px" %)0x0B|(% style="width:158px" %)0~1000μg/m^^3^^|(% style="width:122px" %)0x02|(% style="width:904px" %)((( | ||
399 | 0x002D=45μg/m^^3 ^^(0x03FE: No Sensor,0x03FF: Value Error) | ||
400 | ))) | ||
401 | |(% style="width:103px" %)PAR|(% style="width:91px" %)0x0C|(% style="width:158px" %)((( | ||
402 | 0~2500μmol/m^^2^^•s | ||
403 | )))|(% style="width:122px" %)0x02|(% style="width:904px" %)((( | ||
404 | 0x00B3=179μmol/m^^2^^•s (0x09FE: No Sensor,0x09FF: Value Error) | ||
405 | ))) | ||
406 | |(% style="width:103px" %)((( | ||
407 | Total Solar Radiation | ||
408 | )))|(% style="width:91px" %)0x0D|(% style="width:158px" %)0~2000W/m^^2^^|(% style="width:122px" %)0x02|(% style="width:904px" %)((( | ||
409 | 0x0073/10=11.5W/m^^2^^(0x4EFE: No Sensor,0x4EFF: Value Error) | ||
410 | ))) | ||
411 | |||
412 | ((( | ||
413 | Below is an example payload: [[image:image-20220624140615-3.png]] | ||
414 | ))) | ||
415 | |||
416 | |||
417 | ((( | ||
418 | When sending this payload to LoRaWAN server. WSC2-L will send this in one uplink or several uplinks according to LoRaWAN spec requirement. For example, total length of Payload is 54 bytes. | ||
419 | ))) | ||
420 | |||
421 | * ((( | ||
422 | When WSC2-L sending in US915 frequency DR0 data rate. Because this data rate has limitation of 11 bytes payload for each uplink. The payload will be split into below packets and uplink. | ||
423 | ))) | ||
424 | |||
425 | ((( | ||
426 | Uplink 1: [[image:image-20220624140735-4.png]] | ||
427 | ))) | ||
428 | |||
429 | |||
430 | ((( | ||
431 | Uplink 2: [[image:image-20220624140842-5.png]] | ||
432 | |||
433 | ))) | ||
434 | |||
435 | * ((( | ||
436 | When WSC2-L sending in EU868 frequency DR0 data rate. The payload will be split into below packets and uplink: | ||
437 | ))) | ||
438 | |||
439 | ((( | ||
440 | Uplink 1: [[image:image-20220624141025-6.png]] | ||
441 | ))) | ||
442 | |||
443 | |||
444 | Uplink 2: [[image:image-20220624141100-7.png]] | ||
445 | |||
446 | |||
447 | === 2.4.3 Decoder in TTN V3 === | ||
448 | |||
449 | |||
450 | ((( | ||
451 | In LoRaWAN platform, user only see HEX payload by default, user needs to use payload formatters to decode the payload to see human-readable value. | ||
452 | ))) | ||
453 | |||
454 | ((( | ||
455 | Download decoder for suitable platform from: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]] | ||
456 | ))) | ||
457 | |||
458 | |||
459 | ((( | ||
460 | and put as below: | ||
461 | ))) | ||
462 | |||
463 | [[image:1656051152438-578.png]] | ||
464 | |||
465 | |||
466 | == 2.5 Show data on Application Server == | ||
467 | |||
468 | |||
469 | ((( | ||
470 | 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: | ||
471 | ))) | ||
472 | |||
473 | ((( | ||
474 | (% style="color:blue" %)**Step 1**(%%): Be sure that your device is programmed and properly connected to the LoRaWAN network. | ||
475 | ))) | ||
476 | |||
477 | ((( | ||
478 | (% style="color:blue" %)**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. | ||
479 | ))) | ||
480 | |||
481 | [[image:1656051197172-131.png]] | ||
482 | |||
483 | |||
484 | |||
485 | **Add TagoIO:** | ||
486 | |||
487 | [[image:1656051223585-631.png]] | ||
488 | |||
489 | |||
490 | |||
491 | **Authorization:** | ||
492 | |||
493 | [[image:1656051248318-368.png]] | ||
494 | |||
495 | |||
496 | |||
497 | In TagoIO console ([[https:~~/~~/admin.tago.io~~/~~/>>url:https://datacake.co/]]) , add WSC2-L: | ||
498 | |||
499 | |||
500 | [[image:1656051277767-168.png]] | ||
501 | |||
502 | |||
503 | == 2.6 Frequency Plans == | ||
504 | |||
505 | |||
506 | The WSC2-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. | ||
507 | |||
508 | [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]] | ||
509 | |||
510 | |||
511 | = 3. Configure WSC2-L = | ||
512 | |||
513 | == 3.1 Configure Methods == | ||
514 | |||
515 | |||
516 | WSC2-L supports below configure method: | ||
517 | |||
518 | * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]. | ||
519 | |||
520 | * AT Command via UART Connection : See [[UART Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]]. | ||
521 | |||
522 | * LoRaWAN Downlink. Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section. | ||
523 | |||
524 | == 3.2 General Commands == | ||
525 | |||
526 | |||
527 | These commands are to configure: | ||
528 | |||
529 | * General system settings like: uplink interval. | ||
530 | * LoRaWAN protocol & radio related command. | ||
531 | |||
532 | They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki: | ||
533 | |||
534 | [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]] | ||
535 | |||
536 | |||
537 | == 3.3 Commands special design for WSC2-L == | ||
538 | |||
539 | |||
540 | These commands only valid for WSC2-L, as below: | ||
541 | |||
542 | |||
543 | === 3.3.1 Set Transmit Interval Time === | ||
544 | |||
545 | |||
546 | Feature: Change LoRaWAN End Node Transmit Interval. | ||
547 | |||
548 | (% style="color:#037691" %)**AT Command: AT+TDC** | ||
549 | |||
550 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:501px" %) | ||
551 | |(% style="background-color:#4f81bd; color:white; width:155px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:166px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:180px" %)**Response** | ||
552 | |(% style="width:155px" %)AT+TDC=?|(% style="width:162px" %)Show current transmit Interval|(% style="width:177px" %)((( | ||
553 | 30000 | ||
554 | OK | ||
555 | the interval is 30000ms = 30s | ||
556 | ))) | ||
557 | |(% style="width:155px" %)AT+TDC=60000|(% style="width:162px" %)Set Transmit Interval|(% style="width:177px" %)((( | ||
558 | OK | ||
559 | Set transmit interval to 60000ms = 60 seconds | ||
560 | ))) | ||
561 | |||
562 | (% style="color:#037691" %)**Downlink Command: 0x01** | ||
563 | |||
564 | Format: Command Code (0x01) followed by 3 bytes time value. | ||
565 | |||
566 | If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01. | ||
567 | |||
568 | * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds | ||
569 | * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds | ||
570 | |||
571 | === 3.3.2 Set Emergency Mode === | ||
572 | |||
573 | |||
574 | Feature: In emergency mode, WSC2-L will uplink data every 1 minute. | ||
575 | |||
576 | (% style="color:#037691" %)**AT Command:** | ||
577 | |||
578 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:466px" %) | ||
579 | |(% style="background-color:#4f81bd; color:white; width:156px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:225px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:85px" %)**Response** | ||
580 | |(% style="width:155px" %)AT+ALARMMOD=1|(% style="width:224px" %)Enter emergency mode. Uplink every 1 minute|(% style="width:84px" %)((( | ||
581 | OK | ||
582 | |||
583 | ))) | ||
584 | |(% style="width:155px" %)AT+ALARMMOD=0|(% style="width:224px" %)Exit emergency mode. Uplink base on TDC time|(% style="width:84px" %)((( | ||
585 | OK | ||
586 | ))) | ||
587 | |||
588 | (% style="color:#037691" %)**Downlink Command:** | ||
589 | |||
590 | * 0xE101 Same as: AT+ALARMMOD=1 | ||
591 | * 0xE100 Same as: AT+ALARMMOD=0 | ||
592 | |||
593 | === 3.3.3 Add or Delete RS485 Sensor === | ||
594 | |||
595 | |||
596 | ((( | ||
597 | 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. | ||
598 | ))) | ||
599 | |||
600 | ((( | ||
601 | (% style="color:#037691" %)**AT Command: ** | ||
602 | ))) | ||
603 | |||
604 | ((( | ||
605 | (% style="color:blue" %)**AT+DYSENSOR=Type_Code, Query_Length, Query_Command , Read_Length , Valid_Data ,has_CRC,timeout** | ||
606 | ))) | ||
607 | |||
608 | * ((( | ||
609 | Type_Code range: A1 ~~ A4 | ||
610 | ))) | ||
611 | * ((( | ||
612 | Query_Length: RS485 Query frame length, Value cannot be greater than 10 | ||
613 | ))) | ||
614 | * ((( | ||
615 | Query_Command: RS485 Query frame data to be sent to sensor, cannot be larger than 10 bytes | ||
616 | ))) | ||
617 | * ((( | ||
618 | Read_Length: RS485 response frame length supposed to receive. Max can receive | ||
619 | ))) | ||
620 | * ((( | ||
621 | Valid_Data: valid data from RS485 Response, Valid Data will be added to Payload and upload via LoRaWAN. | ||
622 | ))) | ||
623 | * ((( | ||
624 | 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. | ||
625 | ))) | ||
626 | * ((( | ||
627 | timeout: RS485 receive timeout (uint:ms). Device will close receive window after timeout | ||
628 | ))) | ||
629 | |||
630 | ((( | ||
631 | **Example:** | ||
632 | ))) | ||
633 | |||
634 | ((( | ||
635 | User need to change external sensor use the type code as address code. | ||
636 | ))) | ||
637 | |||
638 | ((( | ||
639 | With a 485 sensor, after correctly changing the address code to A1, the RS485 query frame is shown in the following table: | ||
640 | ))) | ||
641 | |||
642 | [[image:image-20220624143553-10.png]] | ||
643 | |||
644 | |||
645 | The response frame of the sensor is as follows: | ||
646 | |||
647 | [[image:image-20220624143618-11.png]] | ||
648 | |||
649 | |||
650 | **Then the following parameters should be:** | ||
651 | |||
652 | * Address_Code range: A1 | ||
653 | * Query_Length: 8 | ||
654 | * Query_Command: A103000000019CAA | ||
655 | * Read_Length: 8 | ||
656 | * Valid_Data: 23 (Indicates that the data length is 2 bytes, starting from the 3th byte) | ||
657 | * has_CRC: 1 | ||
658 | * timeout: 1500 (Fill in the test according to the actual situation) | ||
659 | |||
660 | **So the input command is:** | ||
661 | |||
662 | AT+DYSENSOR=A1,8,A103000000019CAA,8,24,1,1500 | ||
663 | |||
664 | |||
665 | In every sampling. WSC2-L will auto append the sensor segment as per this structure and uplink. | ||
666 | |||
667 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:351px" %) | ||
668 | |=(% style="width: 95px;background-color:#4F81BD;color:white" %)Type Code|=(% style="width: 122px;background-color:#4F81BD;color:white" %)Length (Bytes)|=(% style="width: 134px;background-color:#4F81BD;color:white" %)Measured Value | ||
669 | |(% style="width:94px" %)A1|(% style="width:121px" %)2|(% style="width:132px" %)0x000A | ||
670 | |||
671 | **Related commands:** | ||
672 | |||
673 | AT+DYSENSOR=A1,0 ~-~-> Delete 3^^rd^^ party sensor A1. | ||
674 | |||
675 | AT+DYSENSOR ~-~-> List All 3^^rd^^ Party Sensor. Like below: | ||
676 | |||
677 | |||
678 | (% style="color:#037691" %)**Downlink Command: ** | ||
679 | |||
680 | **delete custom sensor A1:** | ||
681 | |||
682 | * 0xE5A1 Same as: AT+DYSENSOR=A1,0 | ||
683 | |||
684 | **Remove all custom sensors** | ||
685 | |||
686 | * 0xE5FF | ||
687 | |||
688 | === 3.3.4 RS485 Test Command === | ||
689 | |||
690 | |||
691 | (% style="color:#037691" %)**AT Command:** | ||
692 | |||
693 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:494px" %) | ||
694 | |=(% style="width: 160px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 248px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 86px;background-color:#4F81BD;color:white" %)**Response** | ||
695 | |(% style="width:159px" %)AT+RSWRITE=xxxxxx|(% style="width:227px" %)((( | ||
696 | Send command to 485 sensor. Range : no more than 10 bytes | ||
697 | )))|(% style="width:85px" %)OK | ||
698 | |||
699 | Eg: Send command **01 03 00 00 00 01 84 0A** to 485 sensor | ||
700 | |||
701 | AT+RSWRITE=0103000001840A | ||
702 | |||
703 | |||
704 | (% style="color:#037691" %)**Downlink Command:** | ||
705 | |||
706 | * 0xE20103000001840A Same as: AT+RSWRITE=0103000001840A | ||
707 | |||
708 | === 3.3.5 RS485 response timeout === | ||
709 | |||
710 | |||
711 | Feature: Set or get extended time to receive 485 sensor data. | ||
712 | |||
713 | (% style="color:#037691" %)**AT Command:** | ||
714 | |||
715 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:433px" %) | ||
716 | |=(% style="width: 157px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 190px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 86px;background-color:#4F81BD;color:white" %)**Response** | ||
717 | |(% style="width:157px" %)AT+DTR=1000|(% style="width:188px" %)((( | ||
718 | Set response timeout to: Range : 0~~10000 | ||
719 | )))|(% style="width:85px" %)OK | ||
720 | |||
721 | (% style="color:#037691" %)**Downlink Command:** | ||
722 | |||
723 | Format: Command Code (0xE0) followed by 3 bytes time value. | ||
724 | |||
725 | If the downlink payload=E0000005, it means set the END Node's Transmit Interval to 0x000005=5(S), while type code is E0. | ||
726 | |||
727 | * Example 1: Downlink Payload: E0000005 ~/~/ Set Transmit Interval (DTR) = 5 seconds | ||
728 | * Example 2: Downlink Payload: E000000A ~/~/ Set Transmit Interval (DTR) = 10 seconds | ||
729 | |||
730 | === 3.3.6 Set Sensor Type === | ||
731 | |||
732 | |||
733 | ((( | ||
734 | Feature: Set sensor in used. If there are 6 sensors, user can set to only send 5 sensors values. | ||
735 | ))) | ||
736 | |||
737 | ((( | ||
738 | See [[definition>>||anchor="HWeatherSensorTypes:"]] for the sensor type. | ||
739 | |||
740 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %) | ||
741 | |(% rowspan="2" %)Byte3|Bit23|Bit22|Bit21|Bit20|Bit19|Bit18|Bit17|Bit16 | ||
742 | | |A4|A3|A2|A1| | | | ||
743 | |(% rowspan="2" %)Byte2|Bit15|Bit14|Bit13|Bit12|Bit11|Bit10|Bit9|Bit8 | ||
744 | | | |Solar Radiation|PAR|PM10|PM2.5|((( | ||
745 | Rain | ||
746 | Gauge | ||
747 | )))|((( | ||
748 | Air | ||
749 | Pressure | ||
750 | ))) | ||
751 | |(% rowspan="2" %)Byte1|Bit7|Bit6|Bit5|Bit4|Bit3|Bit2|Bit1|Bit0 | ||
752 | |Humidity|Temperature|CO2|((( | ||
753 | Rain/Snow | ||
754 | Detect | ||
755 | )))|illuminance|((( | ||
756 | Wind | ||
757 | Direction | ||
758 | )))|Wind Speed|BAT | ||
759 | ))) | ||
760 | |||
761 | |||
762 | (% style="color:#037691" %)**AT Command:** | ||
763 | |||
764 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:377px" %) | ||
765 | |=(% style="width: 157px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 132px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 88px;background-color:#4F81BD;color:white" %)**Response** | ||
766 | |(% style="width:157px" %)AT+STYPE=80221|(% style="width:130px" %)Set sensor types|(% style="width:87px" %)OK | ||
767 | |||
768 | Eg: The setting command **AT+STYPE=80221** means: | ||
769 | |||
770 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:495px" %) | ||
771 | |(% 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 | ||
772 | |(% 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 | ||
773 | |(% 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 | ||
774 | |(% 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 | ||
775 | |(% 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 | ||
776 | |(% 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 | ||
777 | |||
778 | So WSC2-L will upload the following data: Custom Sensor A1, Rain Gauge,CO2,BAT. | ||
779 | |||
780 | |||
781 | (% style="color:#037691" %)**Downlink Command:** | ||
782 | |||
783 | * 0xE400080221 Same as: AT+STYPE=80221 | ||
784 | |||
785 | (% style="color:red" %)**Note:** | ||
786 | |||
787 | ~1. The sensor type will not be saved to flash, and the value will be updated every time the sensor is restarted or rescanned. | ||
788 | |||
789 | |||
790 | == 3.4 Add 3rd RS485 / Modbus Sensor == | ||
791 | |||
792 | === 3.4.1 Hardware Connection === | ||
793 | |||
794 | |||
795 | === 3.4.2 Software Setup === | ||
796 | |||
797 | |||
798 | === 3.4.3 Payload === | ||
799 | |||
800 | |||
801 | == 3.5 Add tipping bucket Rain Guage == | ||
802 | |||
803 | === 3.5.1 Hardware Connection === | ||
804 | |||
805 | |||
806 | === 3.5.2 Calculating & Decode === | ||
807 | |||
808 | |||
809 | |||
810 | = 4. Power consumption and battery = | ||
811 | |||
812 | == 4.1 Total Power Consumption == | ||
813 | |||
814 | |||
815 | Dragino Weather Station serial products include the main process unit (WSC2-L) and various sensors. The total power consumption equal total power of all above units. The power consumption for main process unit WSC2-L is 18ma @ 12v. and the power consumption of each sensor can be found on the Sensors chapter. | ||
816 | |||
817 | |||
818 | == 4.2 Reduce power consumption == | ||
819 | |||
820 | |||
821 | The main process unit WSC2-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, WSC2-L will not be to get real-time downlink command from IoT Server. | ||
822 | |||
823 | |||
824 | == 4.3 Battery == | ||
825 | |||
826 | |||
827 | ((( | ||
828 | All sensors are only power by external power source. If external power source is off. All sensor won't work. | ||
829 | ))) | ||
830 | |||
831 | ((( | ||
832 | 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. | ||
833 | ))) | ||
834 | |||
835 | |||
836 | = 5. Main Process Unit WSC2-L = | ||
837 | |||
838 | |||
839 | WSC2-L is the main process unit in Dragino Weather Station solution. WSC2-LB is an an outdoor LoRaWAN RS485 end node. It is powered by external 12v solar power and have a built-in li-on backup battery. | ||
840 | |||
841 | WSC2-L reads value from various sensors and upload these sensor data to IoT server via LoRaWAN wireless protocol. | ||
842 | |||
843 | WSC2-L is full compatible with LoRaWAN Class C protocol, it can work with standard LoRaWAN gateway. | ||
844 | |||
845 | WSC2-L Supports BLE configure and wireless OTA update which make user easy to use. | ||
846 | |||
847 | Each WSC2-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. | ||
848 | |||
849 | |||
850 | == 5.1 Features == | ||
851 | |||
852 | |||
853 | * LoRaWAN v1.0.3 Class A protocol. | ||
854 | * RS485 / Modbus protocol | ||
855 | * Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915 | ||
856 | * AT Commands to change parameters | ||
857 | * Downlink to change configure | ||
858 | * Powered by external 12v battery | ||
859 | * Back up rechargeable 1000mAh battery | ||
860 | * IP Rating: IP65 | ||
861 | * Support default sensors or 3rd party RS485 sensors | ||
862 | * Support Bluetooth v5.1 and LoRaWAN remote configure | ||
863 | * Support wireless OTA update firmware | ||
864 | * Wall Attachable. | ||
865 | |||
866 | == 5.2 Power Consumption == | ||
867 | |||
868 | |||
869 | WSC2-L (without external sensor): Idle: 4mA, Transmit: max 40mA | ||
870 | |||
871 | |||
872 | == 5.3 Storage & Operation Temperature == | ||
873 | |||
874 | |||
875 | -20°C to +60°C | ||
876 | |||
877 | |||
878 | == 5.4 Sleep mode and working mode == | ||
879 | |||
880 | |||
881 | (% style="color:blue" %)**Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life. | ||
882 | |||
883 | (% style="color:blue" %)**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. | ||
884 | |||
885 | |||
886 | == 5.5 Button & LEDs == | ||
887 | |||
888 | |||
889 | [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675071855856-879.png]] | ||
890 | |||
891 | |||
892 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) | ||
893 | |=(% style="width: 167px;background-color:#4F81BD;color:white" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 226px;background-color:#4F81BD;color:white" %)**Action** | ||
894 | |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)((( | ||
895 | If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once. | ||
896 | Meanwhile, BLE module will be active and user can connect via BLE to configure device. | ||
897 | ))) | ||
898 | |(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)((( | ||
899 | (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:#037691" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network. | ||
900 | (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. | ||
901 | Once sensor is active, BLE module will be active and user can connect via BLE to configure device, no matter if device join or not join LoRaWAN network. | ||
902 | ))) | ||
903 | |(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means device is in Deep Sleep Mode. | ||
904 | |||
905 | == 5.6 BLE connection == | ||
906 | |||
907 | |||
908 | WSC2-L supports BLE remote configure. | ||
909 | |||
910 | |||
911 | 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: | ||
912 | |||
913 | * Press button to send an uplink | ||
914 | * Press button to active device. | ||
915 | * Device Power on or reset. | ||
916 | |||
917 | If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode. | ||
918 | |||
919 | |||
920 | == 5.7 Pin Mapping == | ||
921 | |||
922 | |||
923 | [[image:image-20240412165523-2.png]] | ||
924 | |||
925 | |||
926 | == 5.8 Mechanical == | ||
927 | |||
928 | |||
929 | Refer LSn50v2 enclosure drawing in: [[https:~~/~~/www.dropbox.com/sh/0ir0l9jjmk6p95e/AADwWXorcKuNpPR5em7VgrEja?dl=0>>https://www.dropbox.com/sh/0ir0l9jjmk6p95e/AADwWXorcKuNpPR5em7VgrEja?dl=0]] | ||
930 | |||
931 | |||
932 | == 5.9 Connect to RS485 Sensors == | ||
933 | |||
934 | |||
935 | WSC2-L includes a RS485 converter PCB. Which help it easy to connect multiply RS485 sensors. Below is the photo for reference. | ||
936 | |||
937 | |||
938 | [[image:1656054389031-379.png]] | ||
939 | |||
940 | |||
941 | Hardware Design for the Converter Board please see: | ||
942 | |||
943 | [[https:~~/~~/www.dropbox.com/sh/bqyvsvitb70qtgf/AABLpD7_yxsQ_drVMxHIEI7wa?dl=0>>https://www.dropbox.com/sh/bqyvsvitb70qtgf/AABLpD7_yxsQ_drVMxHIEI7wa?dl=0]] | ||
944 | |||
945 | |||
946 | = 7. OTA Firmware update = | ||
947 | |||
948 | |||
949 | (% class="wikigeneratedid" %) | ||
950 | **User can change firmware WSC2-L to:** | ||
951 | |||
952 | * Change Frequency band/ region. | ||
953 | * Update with new features. | ||
954 | * Fix bugs. | ||
955 | |||
956 | **Firmware and changelog can be downloaded from :** **[[Firmware download link>>https://www.dropbox.com/sh/8j3ioji411ni9gu/AADnOw3ErB1REsthKilfaq_Pa?dl=0]]** | ||
957 | |||
958 | **Methods to Update Firmware:** | ||
959 | |||
960 | * (Recommanded way) OTA firmware update via wireless: **[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]** | ||
961 | |||
962 | * Update through UART TTL interface: **[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**. | ||
963 | |||
964 | = 8. FAQ = | ||
965 | |||
966 | == 8.1 What else do I need to purchase to build Weather Station? == | ||
967 | |||
968 | |||
969 | Below is the installation photo and structure: | ||
970 | |||
971 | |||
972 | [[image:1656057598349-319.png]] | ||
973 | |||
974 | |||
975 | [[image:1656057608049-693.png]] | ||
976 | |||
977 | |||
978 | = 9. Trouble Shooting = | ||
979 | |||
980 | |||
981 | = 10. Order Info = | ||
982 | |||
983 | |||
984 | Part Number: (% style="color:blue" %)**WSC2-L-XX** | ||
985 | |||
986 | (% style="color:blue" %)**XX**(%%): The default frequency band | ||
987 | |||
988 | * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band | ||
989 | * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band | ||
990 | * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band | ||
991 | * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band | ||
992 | * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band | ||
993 | * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band | ||
994 | * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band | ||
995 | * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band | ||
996 | |||
997 | = 11. Support = | ||
998 | |||
999 | * 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. | ||
1000 | |||
1001 | * 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>>url:file:///D:/市场资料/说明书/LoRa/LT系列/support@dragino.com]]. |