Wiki source code of LCC01-LB -- LoRaWAN Load Cell Converter User Manual
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | (% style="display:none" %) | ||
2 | |||
3 | (% style="text-align:center" %) | ||
4 | [[image:image-20240124140905-2.png||height="586" width="591"]] | ||
5 | |||
6 | |||
7 | |||
8 | |||
9 | |||
10 | |||
11 | **Table of Contents:** | ||
12 | |||
13 | {{toc/}} | ||
14 | |||
15 | |||
16 | |||
17 | |||
18 | |||
19 | |||
20 | = 1. Introduction = | ||
21 | |||
22 | == 1.1 What is LoRaWAN Load Cell Converter == | ||
23 | |||
24 | |||
25 | Dragino LCC01-LB is a (% style="color:blue" %)**LoRaWAN Load Cell Converter**(%%) for IoT solutions. It is used to accurately (% style="color:blue" %)**measure the weight of objects**(%%) and then upload it to the IoT server through the LoRaWAN wireless protocol. | ||
26 | |||
27 | The LCC01-LB has a (% style="color:blue" %)**standard 4-wire interface**(%%) which can connect to different type of load cell. It supports (% style="color:blue" %)**different scaling from gram to ton**. | ||
28 | |||
29 | With LCC01-LB and a suitable load cell, user can build up a weight measurement loT solution. Applications are suitable for such as: truck scales, railway scales, supermarketscales, bench scales, heavy duty scales or any type of standard scale. | ||
30 | |||
31 | The LoRa wireless technology used in the LCC01-LB allows the device to send data at low data rates and reach extremely long distances. It provides ultra-long-distance spread spectrum communications and high interference immunity while minimizing current consumption. | ||
32 | |||
33 | LCC01-LB (% style="color:blue" %)**supports BLE configure**(%%) and (% style="color:blue" %)**wireless OTA update**(%%) which make user easy to use. | ||
34 | |||
35 | LCC01-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%) , which can last up to 5 years of long-term use. | ||
36 | |||
37 | Each LCC01-LB is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to LoRaWAN server and it will auto connect after power on. | ||
38 | |||
39 | |||
40 | == 1.2 Features == | ||
41 | |||
42 | |||
43 | * LoRaWAN 1.0.3 Class A | ||
44 | * Ultra-low power consumption | ||
45 | * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865 | ||
46 | * Standard 4-wire interface to 3rd party load cell | ||
47 | * Weigh Measurement, scale from 100g to 10T | ||
48 | * Support Bluetooth v5.1 and LoRaWAN remote configure | ||
49 | * Support wireless OTA update firmware | ||
50 | * Uplink on periodically | ||
51 | * Downlink to change configure | ||
52 | * 8500mAh Li/SOCl2 Battery | ||
53 | |||
54 | == 1.3 Specification == | ||
55 | |||
56 | |||
57 | (% style="color:#037691" %)**Common DC Characteristics:** | ||
58 | |||
59 | * Supply Voltage: Built-in Battery , 2.5v ~~ 3.6v | ||
60 | * Operating Temperature: -40 ~~ 85°C | ||
61 | |||
62 | (% style="color:#037691" %)**LoRa Spec:** | ||
63 | |||
64 | * Frequency Range, Band 1 (HF): 862 ~~ 1020 Mhz | ||
65 | * Max +22 dBm constant RF output vs. | ||
66 | * RX sensitivity: down to -139 dBm. | ||
67 | * Excellent blocking immunity | ||
68 | |||
69 | (% style="color:#037691" %)**Battery:** | ||
70 | |||
71 | * Li/SOCI2 un-chargeable battery | ||
72 | * Capacity: 8500mAh | ||
73 | * Self-Discharge: <1% / Year @ 25°C | ||
74 | * Max continuously current: 130mA | ||
75 | * Max boost current: 2A, 1 second | ||
76 | |||
77 | (% style="color:#037691" %)**Power Consumption** | ||
78 | |||
79 | * Sleep Mode: 5uA @ 3.3v | ||
80 | * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm | ||
81 | |||
82 | == 1.4 Sleep mode and working mode == | ||
83 | |||
84 | |||
85 | (% 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. | ||
86 | |||
87 | (% 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. | ||
88 | |||
89 | |||
90 | == 1.5 Button & LEDs == | ||
91 | |||
92 | |||
93 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual/WebHome/1675071855856-879.png?rev=1.1||alt="1675071855856-879.png"]] | ||
94 | |||
95 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) | ||
96 | |=(% 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** | ||
97 | |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)((( | ||
98 | If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once. | ||
99 | Meanwhile, BLE module will be active and user can connect via BLE to configure device. | ||
100 | ))) | ||
101 | |(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)((( | ||
102 | (% 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. | ||
103 | (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. | ||
104 | 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. | ||
105 | ))) | ||
106 | |(% 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. | ||
107 | |||
108 | == 1.6 BLE connection == | ||
109 | |||
110 | |||
111 | LCC01-LB supports BLE remote configure. | ||
112 | |||
113 | BLE can be used to configure the parameter of LCC01 or see the console output from LCC01. BLE will be only activate on below case: | ||
114 | |||
115 | * Press button to send an uplink | ||
116 | * Press button to active device. | ||
117 | * Device Power on or reset. | ||
118 | |||
119 | If there is no activity connection on BLE in 60 seconds, LCC01 will shut down BLE module to enter low power mode. | ||
120 | |||
121 | |||
122 | == 1.7 Mechanical == | ||
123 | |||
124 | |||
125 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/DDS75-LB_LoRaWAN_Distance_Detection_Sensor_User_Manual/WebHome/image-20240105152536-3.png?rev=1.1||alt="image-20240105152536-3.png"]] | ||
126 | |||
127 | |||
128 | == 1.8 Installation == | ||
129 | |||
130 | |||
131 | (% style="color:red" %)**LCC01 doesn't include load cell, user need to find the suitable load cell for their application and connect to LCC01.** | ||
132 | |||
133 | |||
134 | === 1.8.1 Connect Load Cell to LCC01 === | ||
135 | |||
136 | |||
137 | Load Cell normally has four wires: S+,S-, E+,E-, Below are the pin mapping to LCC01. The other four wires (EXT,GND,3.3v,5v) are for extra features , which is not used in most of case. | ||
138 | |||
139 | [[image:image-20240119112612-1.png||height="368" width="598"]] | ||
140 | |||
141 | ((( | ||
142 | (% style="color:blue" %)**Wire color Sensor pin Function** | ||
143 | ))) | ||
144 | |||
145 | ((( | ||
146 | ((( | ||
147 | purple(1) <~-~-> EXT_ Input <~-~-> Interrupt trigger pin (Input) | ||
148 | black(2) <~-~-> GND <~-~-> External power supply GND | ||
149 | white(3) <~-~-> VCC-3.3V <~-~-> Used for interrupt triggering or External Power Supply | ||
150 | red(4) <~-~-> +5V Out <~-~-> +5v Power Output | ||
151 | yellow(5) <~-~-> Load Cell (S+) <~-~-> Load Cell Signal + | ||
152 | gray(6) <~-~-> Load Cell (E-) <~-~-> Load Cell Excitation - | ||
153 | blue(7) <~-~-> Load Cell (E+) <~-~-> Load Cell Excitation + | ||
154 | green(8) <~-~-> Load Cell (S-) <~-~-> Load Cell Signal - | ||
155 | ))) | ||
156 | ))) | ||
157 | |||
158 | |||
159 | The package box of LCC01 has four Solder Seal Sleeves which for the easy connect the Load Cell to LCC01, Below shows how to connect wires: | ||
160 | |||
161 | [[image:image-20240110231958-1.png||height="472" width="445"]] | ||
162 | |||
163 | |||
164 | == 1.9 Calibrate LCC01 to different scale Load Cells == | ||
165 | |||
166 | === 1.9.1 Configure Utility & Download === | ||
167 | |||
168 | |||
169 | Calibrate is necessary when connecting LCC01 and a Load Cell. The Load Cell Configure Tool is used to calibrate the LCC01 to match different scales of Load Cells and provide the proper output. | ||
170 | |||
171 | **[[Download Link>>https://www.dropbox.com/scl/fo/qy2ghw6ytl8yoyp2n1xdc/h?rlkey=6sr4kdn5y7y6yn5xe9n7q8a4f&dl=0]]. (% style="color:red" %)(Support Windows OS only)(%%)** | ||
172 | |||
173 | |||
174 | === 1.9.2 Hardware Wiring and User Interface === | ||
175 | |||
176 | |||
177 | **Connect LCC01 to PC using USB to TTL Adapter.** | ||
178 | |||
179 | [[image:image-20240123165317-1.jpeg||height="514" width="505"]] | ||
180 | |||
181 | |||
182 | (% style="color:blue" %)**Utility Interface** | ||
183 | |||
184 | [[image:image-20240115181015-1.png||height="514" width="507"]] | ||
185 | |||
186 | |||
187 | (% style="color:blue" %)**Detailed instructions for use** | ||
188 | |||
189 | [[image:image-20240115181015-3.png]] | ||
190 | |||
191 | 1. Choose the correct COM port for USB TTL | ||
192 | 1. USB TTL Baud Rate: 9600 | ||
193 | 1. & 4. Connect / DisConnect COM port | ||
194 | |||
195 | [[image:image-20240115181015-4.png||height="322" width="459"]] | ||
196 | |||
197 | 1. AT Password for accessing LCC01 UART | ||
198 | 1. AT Command Input Box | ||
199 | 1. Send an AT Command | ||
200 | 1. Output for LCC01 UART interface | ||
201 | 1. Clear Output | ||
202 | |||
203 | [[image:image-20240115181015-5.png||height="269" width="537"]] | ||
204 | |||
205 | 1. Shows the value obtained by (% style="color:blue" %)**Read the weight once**(%%)** button or (% style="color:blue" %)Continuous reading weight(%%) button** | ||
206 | 1. Read the weight once | ||
207 | 1. Continuous reading weight button | ||
208 | 1. Stop continuous reading button | ||
209 | 1. Time interval for continuous weight reading drop-down box | ||
210 | 1. Drop-down box for median filtering (recommended to use default values) | ||
211 | 1. Drop-down box for average filtering(Please do not input manually for less than 3 seconds) | ||
212 | 1. Weight input box (Use for Weight Calibrate) | ||
213 | 1. Scale Factor ~-~-> Set different Scale. | ||
214 | 1. Write median filtering and average filtering parameters button | ||
215 | 1. Button for writing weight parameters and Scale Factor | ||
216 | 1. ZEROCAL: Zero Calibration | ||
217 | 1. TARE: zero-setting and tare button | ||
218 | 1. More use see below example. | ||
219 | |||
220 | (% style="color:blue" %)**Use of programs** | ||
221 | |||
222 | [[image:image-20240115181015-6.png]] | ||
223 | |||
224 | |||
225 | Then select the corresponding COM port and baud rate. If only one USB-TTL serial port is inserted into the computer, the default program settings can be used directly. | ||
226 | The following screen is the default configuration: | ||
227 | |||
228 | [[image:image-20240115181015-7.png||height="597" width="589"]] | ||
229 | |||
230 | Finally, select the values according to the desired settings or click the button. | ||
231 | |||
232 | (% style="color:red" %)**Please note that only after entering the password and connecting to the serial port will other buttons be available.** | ||
233 | |||
234 | |||
235 | === 1.9.3 Calibrate Steps === | ||
236 | |||
237 | |||
238 | (% style="color:blue" %)**Step1:**(%%) Zero Calibration | ||
239 | |||
240 | Set the required weight to 0 (normally no objects are placed on the weighing scale) and click the ZEROCAL button | ||
241 | |||
242 | [[image:image-20240116162422-1.png||height="527" width="508"]] | ||
243 | |||
244 | |||
245 | (% style="color:blue" %)**Step2:**(%%) Determine Scale Factor | ||
246 | |||
247 | Enter Scale Factor according to requirements | ||
248 | |||
249 | [[image:image-20240116162714-2.png||height="532" width="516"]] | ||
250 | |||
251 | |||
252 | (% style="color:blue" %)**Step3:**(%%) Weight Calibration | ||
253 | |||
254 | Place an object of known weight on the weighing scale, enter the weight value of the object, and then click the "WEIGHTCAL" button | ||
255 | |||
256 | When the calibration is completed, Calibrate the weight Reading to XXXXg OK will be output on the serial port. | ||
257 | |||
258 | [[image:image-20240116163324-3.png||height="544" width="525"]] | ||
259 | |||
260 | |||
261 | (% style="color:blue" %)**Step4:**(%%) Verify Weight | ||
262 | |||
263 | Replace other items with known weights and click the "Read the weight once "button to check whether the calibration is completed. | ||
264 | |||
265 | [[image:image-20240116163729-4.png||height="541" width="529"]] | ||
266 | |||
267 | |||
268 | = 2. Configure LCC01-LB to connect to LoRaWAN network = | ||
269 | |||
270 | == 2.1 How it works == | ||
271 | |||
272 | |||
273 | The LCC01-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the LCC01-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes. | ||
274 | |||
275 | |||
276 | == 2.2 Quick guide to connect to LoRaWAN server (OTAA) == | ||
277 | |||
278 | |||
279 | Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example. | ||
280 | |||
281 | The LPS8V2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server. | ||
282 | |||
283 | [[image:image-20240116083851-1.png||height="402" width="837"]] | ||
284 | |||
285 | (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from LCC01-LB. | ||
286 | |||
287 | Each LCC01-LB is shipped with a sticker with the default device EUI as below: | ||
288 | |||
289 | [[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]] | ||
290 | |||
291 | |||
292 | You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: | ||
293 | |||
294 | |||
295 | (% style="color:blue" %)**Register the device** | ||
296 | |||
297 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/1654935135620-998.png?rev=1.1||alt="1654935135620-998.png"]] | ||
298 | |||
299 | |||
300 | (% style="color:blue" %)**Add APP EUI and DEV EUI** | ||
301 | |||
302 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-4.png?width=753&height=551&rev=1.1||alt="图片-20220611161308-4.png"]] | ||
303 | |||
304 | |||
305 | (% style="color:blue" %)**Add APP EUI in the application** | ||
306 | |||
307 | |||
308 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-5.png?width=742&height=601&rev=1.1||alt="图片-20220611161308-5.png"]] | ||
309 | |||
310 | |||
311 | (% style="color:blue" %)**Add APP KEY** | ||
312 | |||
313 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-6.png?width=744&height=485&rev=1.1||alt="图片-20220611161308-6.png"]] | ||
314 | |||
315 | (% style="color:blue" %)**Step 2:**(%%) Activate on LCC01-LB | ||
316 | |||
317 | Press the button for 5 seconds to activate the LCC01-LB. | ||
318 | |||
319 | (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. | ||
320 | |||
321 | After join success, it will start to upload messages to TTN and you can see the messages in the panel. | ||
322 | |||
323 | |||
324 | == 2.3 Uplink Payload == | ||
325 | |||
326 | === 2.3.1 Device Status, FPORT~=5 === | ||
327 | |||
328 | |||
329 | Users can use the downlink command(**0x26 01**) to ask Load Cell Converter(LCC) to send device configure detail, include device configure status. LCC will uplink a payload via FPort=5 to server. | ||
330 | |||
331 | The Payload format is as below. | ||
332 | |||
333 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) | ||
334 | |(% colspan="6" style="background-color:#4f81bd; color:white" %)**Device Status (FPORT=5)** | ||
335 | |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2** | ||
336 | |(% style="width:103px" %)Value|(% style="width:72px" %)Sensor Model|Firmware Version|(% style="width:91px" %)Frequency Band|(% style="width:86px" %)Sub-band|(% style="width:44px" %)BAT | ||
337 | |||
338 | Example parse in TTNv3 | ||
339 | |||
340 | [[image:1704766955231-196.png]] | ||
341 | |||
342 | |||
343 | (% style="color:#037691" %)**Sensor Model**(%%): For LCC01-LB, this value is 0x32 | ||
344 | |||
345 | (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version | ||
346 | |||
347 | (% style="color:#037691" %)**Frequency Band**: | ||
348 | |||
349 | 0x01: EU868 | ||
350 | |||
351 | 0x02: US915 | ||
352 | |||
353 | 0x03: IN865 | ||
354 | |||
355 | 0x04: AU915 | ||
356 | |||
357 | 0x05: KZ865 | ||
358 | |||
359 | 0x06: RU864 | ||
360 | |||
361 | 0x07: AS923 | ||
362 | |||
363 | 0x08: AS923-1 | ||
364 | |||
365 | 0x09: AS923-2 | ||
366 | |||
367 | 0x0a: AS923-3 | ||
368 | |||
369 | 0x0b: CN470 | ||
370 | |||
371 | 0x0c: EU433 | ||
372 | |||
373 | 0x0d: KR920 | ||
374 | |||
375 | 0x0e: MA869 | ||
376 | |||
377 | |||
378 | (% style="color:#037691" %)**Sub-Band**: | ||
379 | |||
380 | AU915 and US915:value 0x00 ~~ 0x08 | ||
381 | |||
382 | CN470: value 0x0B ~~ 0x0C | ||
383 | |||
384 | Other Bands: Always 0x00 | ||
385 | |||
386 | |||
387 | (% style="color:#037691" %)**Battery Info**: | ||
388 | |||
389 | Check the battery voltage. | ||
390 | |||
391 | Ex1: 0x0B45 = 2885mV | ||
392 | |||
393 | Ex2: 0x0B49 = 2889mV | ||
394 | |||
395 | |||
396 | === 2.3.2 Sensor Data. FPORT~=2 === | ||
397 | |||
398 | |||
399 | (% style="color:red" %)**MOD=1(Collect current object weight regularly.)** | ||
400 | |||
401 | Uplink Payload totals 9 bytes. | ||
402 | |||
403 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:423px" %) | ||
404 | |=(% style="width: 62px;background-color:#4F81BD;color:white" %)((( | ||
405 | **Size(bytes)** | ||
406 | )))|=(% style="width: 45px; background-color: #4F81BD;color:white" %)2|=(% style="width: 52px; background-color:#4F81BD;color:white" %)1|=(% style="width: 94px; background-color:#4F81BD;color:white" %)3|=(% style="width: 95px; background-color:#4F81BD;color:white" %)**1**|=(% style="width: 75px; background-color:#4F81BD;color:white" %)2 | ||
407 | |(% style="width:99px" %)Value|(% style="width:45px" %)((( | ||
408 | BAT | ||
409 | )))|(% style="width:52px" %)MOD|(% style="width:94px" %)Weight Reading|(% style="width:95px" %)Sensor State|(% style="width:75px" %)Scale Factor | ||
410 | |||
411 | [[image:1704780311677-598.png]] | ||
412 | |||
413 | |||
414 | ==== (% style="color:blue" %)**Battery Info**(%%) ==== | ||
415 | |||
416 | Check the battery voltage for LCC01-LB. | ||
417 | |||
418 | Ex1: 0x0E10 = 3600mV | ||
419 | |||
420 | |||
421 | ==== (% style="color:blue" %)**Weight Reading**(%%) ==== | ||
422 | |||
423 | **Example**: | ||
424 | |||
425 | If payload is: 0x00002322H: weight Reading = 2322H = 8994 & Actually weight is | ||
426 | |||
427 | 8994 x Scale Factor (g) | ||
428 | |||
429 | |||
430 | ==== (% style="color:blue" %)**Sensor State**(%%) ==== | ||
431 | |||
432 | Ex1: 0x00=8994g | ||
433 | |||
434 | Ex2: 0x01=-8994g | ||
435 | |||
436 | |||
437 | ==== (% style="color:blue" %)**Scale Factor**(%%) ==== | ||
438 | |||
439 | The (% style="color:red" %)**Weight Reading**(%%) x (% style="color:red" %)**Scale Factor**(%%) determine the actual weight. Default Scale Factor is 1g(gram) | ||
440 | |||
441 | **Example**: | ||
442 | |||
443 | (% border="1" cellspacing="3" style="width:490px" %) | ||
444 | |(% style="background-color:#4f81bd; color:white; width:102px" %)**Weight Info**|(% style="background-color:#4f81bd; color:white; width:103px" %)**Scale Factor**|(% style="background-color:#4f81bd; color:white; width:285px" %)**Actual Weight** | ||
445 | |(% style="width:102px" %)**8994**|(% style="width:103px" %)1|(% style="width:280px" %)8994 x 1g = 8994g = 8.994Kg | ||
446 | |(% style="width:102px" %)**8994**|(% style="width:103px" %)10|(% style="width:280px" %)8994 x 10g = 89940g = 89.94Kg | ||
447 | |(% style="width:102px" %)**8994**|(% style="width:103px" %)255|(% style="width:280px" %)8994 x 255 = 2293470g = 2293.47kg = 2.29347T | ||
448 | |||
449 | (% style="color:red" %)**MOD=2(Collect the weight of objects all the time, and send the current weight if it exceeds the set threshold.)** | ||
450 | |||
451 | Uplink Payload totals 10 bytes. | ||
452 | |||
453 | **This mode is combined with (% style="color:#037691" %)AT+THRESHOLD=weight,Scale Factor.(%%)** | ||
454 | |||
455 | (% border="1" cellspacing="3" style="width:475px" %) | ||
456 | |(% style="background-color:#4f81bd; color:white; width:65px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:40px" %)**2**|(% style="background-color:#4f81bd; color:white; width:40px" %)**1**|(% style="background-color:#4f81bd; color:white; width:90px" %)**3**|(% style="background-color:#4f81bd; color:white; width:80px" %)**1**|(% style="background-color:#4f81bd; color:white; width:80px" %)**2**|(% style="background-color:#4f81bd; color:white; width:80px" %)**1** | ||
457 | |(% style="width:93px" %)Value|(% style="width:42px" %)BAT|(% style="width:53px" %)MOD|(% style="width:73px" %)Weight Reading|(% style="width:63px" %)Sensor State|(% style="width:57px" %)Scale Factor|(% style="width:99px" %)Weight Flag | ||
458 | |||
459 | [[image:1704770093136-213.png]] | ||
460 | |||
461 | |||
462 | ==== (% style="color:blue" %)**Weight Flag**(%%) ==== | ||
463 | |||
464 | This flag indicates whether the object is always weighed. | ||
465 | |||
466 | (% style="color:red" %)**0:**(%%) It means that the object is not weighed repeatedly, | ||
467 | |||
468 | (% style="color:red" %)**1:**(%%) It means that the object has been weighed | ||
469 | |||
470 | |||
471 | == 2.4 Payload Decoder file == | ||
472 | |||
473 | |||
474 | In TTN, use can add a custom payload so it shows friendly reading | ||
475 | |||
476 | In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from: | ||
477 | |||
478 | [[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/S31-LB%26S31B-LB>>https://github.com/dragino/dragino-end-node-decoder/tree/main/S31-LB%26S31B-LB]] | ||
479 | |||
480 | |||
481 | (% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="单击并拖动以调整大小" %)的(% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="单击并拖动以调整大小" %)的 | ||
482 | |||
483 | == 2.5 Frequency Plans == | ||
484 | |||
485 | |||
486 | The LCC01-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets. | ||
487 | |||
488 | [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]] | ||
489 | |||
490 | |||
491 | = 3. Configure LCC01-LB = | ||
492 | |||
493 | == 3.1 Configure Methods == | ||
494 | |||
495 | |||
496 | LCC01-LB supports below configure method: | ||
497 | |||
498 | * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]. | ||
499 | * 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]]. | ||
500 | * LoRaWAN Downlink. Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section. | ||
501 | |||
502 | == 3.2 General Commands == | ||
503 | |||
504 | |||
505 | These commands are to configure: | ||
506 | |||
507 | * General system settings like: uplink interval. | ||
508 | * LoRaWAN protocol & radio related command. | ||
509 | |||
510 | They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki: | ||
511 | |||
512 | [[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/]] | ||
513 | |||
514 | |||
515 | == 3.3 Commands special design for LCC01-LB == | ||
516 | |||
517 | |||
518 | These commands only valid for LCC01-LB, as below: | ||
519 | |||
520 | |||
521 | === 3.3.1 Set Transmit Interval Time === | ||
522 | |||
523 | |||
524 | Feature: Change LoRaWAN End Node Transmit Interval. | ||
525 | |||
526 | (% style="color:blue" %)**AT Command: AT+TDC** | ||
527 | |||
528 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) | ||
529 | |=(% style="width: 156px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 137px;background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color:#4F81BD;color:white" %)**Response** | ||
530 | |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|((( | ||
531 | 30000 | ||
532 | OK | ||
533 | the interval is 30000ms = 30s | ||
534 | ))) | ||
535 | |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|((( | ||
536 | OK | ||
537 | Set transmit interval to 60000ms = 60 seconds | ||
538 | ))) | ||
539 | |||
540 | (% style="color:blue" %)**Downlink Command: 0x01** | ||
541 | |||
542 | Format: Command Code (0x01) followed by 3 bytes time value. | ||
543 | |||
544 | If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01. | ||
545 | |||
546 | * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds | ||
547 | * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds | ||
548 | |||
549 | === 3.3.2 Get Device Status === | ||
550 | |||
551 | |||
552 | Send a LoRaWAN downlink to ask device send Alarm settings. | ||
553 | |||
554 | (% style="color:blue" %)**Downlink Payload: **(%%)0x26 01 | ||
555 | |||
556 | Sensor will upload Device Status via FPORT=5. See payload section for detail. | ||
557 | |||
558 | |||
559 | === 3.3.3 Set Interrupt Mode === | ||
560 | |||
561 | |||
562 | Feature, Set Interrupt mode for PA8 of pin. | ||
563 | |||
564 | When AT+INTMOD=0 is set, PA8 is used as a digital input port. | ||
565 | |||
566 | (% style="color:blue" %)**AT Command: AT+INTMOD** | ||
567 | |||
568 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) | ||
569 | |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 197px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Response** | ||
570 | |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( | ||
571 | 0 | ||
572 | OK | ||
573 | the mode is 0 =Disable Interrupt | ||
574 | ))) | ||
575 | |(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)((( | ||
576 | Set Transmit Interval | ||
577 | 0. (Disable Interrupt), | ||
578 | ~1. (Trigger by rising and falling edge) | ||
579 | 2. (Trigger by falling edge) | ||
580 | 3. (Trigger by rising edge) | ||
581 | )))|(% style="width:157px" %)OK | ||
582 | |||
583 | (% style="color:blue" %)**Downlink Command: 0x06** | ||
584 | |||
585 | Format: Command Code (0x06) followed by 3 bytes. | ||
586 | |||
587 | This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06. | ||
588 | |||
589 | * Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode | ||
590 | * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger | ||
591 | |||
592 | === 3.3.4 Get Current Object Weight === | ||
593 | |||
594 | |||
595 | **AT Command: (% style="color:blue" %)AT+GETVALUE(%%)** | ||
596 | |||
597 | **Command format: (% style="color:blue" %)AT+GETVALUE=A300A2A4A5(%%)** | ||
598 | |||
599 | **Return data format:** | ||
600 | |||
601 | (% border="1" cellspacing="3" style="width:510px" %) | ||
602 | |(% style="background-color:#4f81bd; color:white; width:51px" %)**Byte1**|(% style="background-color:#4f81bd; color:white; width:51px" %)**Byte2**|(% style="background-color:#4f81bd; color:white; width:51px" %)**Byte3**|(% style="background-color:#4f81bd; color:white; width:51px" %)**Byte4**|(% style="background-color:#4f81bd; color:white; width:51px" %)**Byte5**|(% style="background-color:#4f81bd; color:white; width:51px" %)**Byte6**|(% style="background-color:#4f81bd; color:white; width:51px" %)**Byte7**|(% style="background-color:#4f81bd; color:white; width:51px" %)**Byte8**|(% style="background-color:#4f81bd; color:white; width:51px" %)**Byte9**|(% style="background-color:#4f81bd; color:white; width:51px" %)**Byte10** | ||
603 | |(% style="width:57px" %)0xAA|(% style="width:59px" %)0xA3|(% style="width:57px" %)0x00|(% style="width:58px" %)0x00|(% style="width:58px" %)0x00|(% style="width:58px" %)0x23|(% style="width:59px" %)0x22|(% style="width:58px" %)0x00|(% style="width:57px" %)0xE8|(% style="width:64px" %)0xFF | ||
604 | |||
605 | **Example**: | ||
606 | |||
607 | **Ex1:** | ||
608 | |||
609 | Accepted: AA A3 00 00 23 22 00 E8 FF | ||
610 | |||
611 | Weight=00*65535+23*256+22=8994, Byte4 is 0, which means positive, and the weight is 8994 | ||
612 | |||
613 | |||
614 | **Ex2:** | ||
615 | |||
616 | Accepted: AA A3 00 01 23 22 00 E8 FF | ||
617 | |||
618 | Weight t=00*65535+23*256+22=8994, Byte4 is 1, which means negative, and the weight t is -8994 | ||
619 | |||
620 | |||
621 | If a negative number appears, it may be that the 0 point has not been calibrated properly. Just follow the calibration process again. | ||
622 | |||
623 | If after recalibration, after placing the object, it was originally 100, but the result shows -100, this situation is caused by the sensor signal line being connected incorrectly, or the pressure sensor being installed incorrectly. | ||
624 | |||
625 | |||
626 | (% style="color:blue" %)**Final weight obtained: Weight x Scale Factor** | ||
627 | |||
628 | **Output:** | ||
629 | |||
630 | Weight Reading= 8994; Scale Factor= 1 | ||
631 | |||
632 | Actual Weight= 8994(g) | ||
633 | |||
634 | |||
635 | === 3.3.5 Set Zero Calibration === | ||
636 | |||
637 | |||
638 | **AT Command: (% style="color:blue" %)AT+ZEROCAL(%%)** | ||
639 | |||
640 | **Command format: (% style="color:blue" %)AT+ZEROCAL=AA00A9ABA8(%%)** | ||
641 | |||
642 | Return success and output Zero Calibration OK. If unsuccessful, return the result and Fail. | ||
643 | |||
644 | |||
645 | === 3.3.6 Set Weight Calibration === | ||
646 | |||
647 | |||
648 | **AT Command: (% style="color:blue" %)AT+WEIGHCAL(%%)** | ||
649 | |||
650 | AT+WEIGHCAL=1000,1 | ||
651 | |||
652 | Calibrate the Weight Reading to 1000 (0x03E8). | ||
653 | |||
654 | Scale Factor to 1(0x01) | ||
655 | |||
656 | |||
657 | **Return:** | ||
658 | |||
659 | Calibrate the weight Reading to 1000g, OK? | ||
660 | |||
661 | |||
662 | === 3.3.7 Set Filter === | ||
663 | |||
664 | |||
665 | **AT Command: (% style="color:blue" %)AT+FILTER(%%)** | ||
666 | |||
667 | **Command format: (% style="color:blue" %)AT+FILTER=03,03(%%)** | ||
668 | |||
669 | Send command format description: | ||
670 | |||
671 | **Data1:** Median filter range: 1, 3, 5, 7, 9 | ||
672 | |||
673 | **Data2:** Average filter range: 1~~50 | ||
674 | |||
675 | |||
676 | Return success and output Median filter, average filter settings OK. If unsuccessful, return the result and Fail. | ||
677 | |||
678 | |||
679 | === 3.3.8 Set Tare === | ||
680 | |||
681 | |||
682 | **AT Command: (% style="color:blue" %)AT+TARE(%%)** | ||
683 | |||
684 | **Command format: (% style="color:blue" %)AT+TARE=AB00AAACAD(%%)** | ||
685 | |||
686 | Return success and output Tare (set to zero, temporarily cleared) OK. | ||
687 | |||
688 | |||
689 | === 3.3.9 Set Threshold === | ||
690 | |||
691 | |||
692 | Feature, when the weighing exceeds the set value, the current weight will be sent immediately | ||
693 | |||
694 | **AT Command: (% style="color:blue" %)AT+THRESHOLD(%%)** | ||
695 | |||
696 | **Command format: (% style="color:blue" %)AT+THRESHOLD=1000,1(%%)** | ||
697 | |||
698 | Send command format description: | ||
699 | |||
700 | **Data1:** weight | ||
701 | |||
702 | **Data2:** Scale Factor | ||
703 | |||
704 | |||
705 | = 4. Battery & Power Consumption = | ||
706 | |||
707 | |||
708 | LCC01-LB use ER26500 + SPC1520 battery pack . See below link for detail information about the battery info and how to replace. | ||
709 | |||
710 | [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] . | ||
711 | |||
712 | |||
713 | = 5. OTA Firmware update = | ||
714 | |||
715 | |||
716 | User can change firmware LCC01-LB to: | ||
717 | |||
718 | * Change Frequency band/ region. | ||
719 | * Update with new features. | ||
720 | * Fix bugs. | ||
721 | |||
722 | Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/scl/fo/3p5c6x13o0z23q3bupf88/h?rlkey=gvrvpf4x51lwng0ih13kn6wfl&dl=0]]** | ||
723 | |||
724 | |||
725 | Methods to Update Firmware: | ||
726 | |||
727 | * (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/]]** | ||
728 | * 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]]**. | ||
729 | |||
730 | = 6. FAQ = | ||
731 | |||
732 | |||
733 | |||
734 | = 7. Order Info = | ||
735 | |||
736 | |||
737 | Part Number: (% style="color:blue" %)**LCC01-LB-XX** | ||
738 | |||
739 | (% style="color:red" %)**XX**(%%): The default frequency band | ||
740 | |||
741 | * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band | ||
742 | |||
743 | * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band | ||
744 | |||
745 | * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band | ||
746 | |||
747 | * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band | ||
748 | |||
749 | * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band | ||
750 | |||
751 | * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band | ||
752 | |||
753 | * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band | ||
754 | |||
755 | * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band | ||
756 | |||
757 | = 8. Packing Info = | ||
758 | |||
759 | |||
760 | (% style="color:#037691" %)**Package Includes**: | ||
761 | |||
762 | * LCC01-LB LoRaWAN Load Cell Converter x 1 | ||
763 | |||
764 | (% style="color:#037691" %)**Dimension and weight**: | ||
765 | |||
766 | * Device Size: cm | ||
767 | |||
768 | * Device Weight: g | ||
769 | |||
770 | * Package Size / pcs : cm | ||
771 | |||
772 | * Weight / pcs : g | ||
773 | |||
774 | = 9. Support = | ||
775 | |||
776 | |||
777 | * 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. | ||
778 | |||
779 | * 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.cc>>mailto:Support@dragino.cc]]. |