Last modified by Mengting Qiu on 2025/07/03 15:42

From version 90.5
edited by Xiaoling
on 2024/01/03 17:11
Change comment: There is no comment for this version
To version 142.2
edited by Mengting Qiu
on 2025/05/14 19:35
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoling
1 +XWiki.ting
Content
... ... @@ -1,7 +1,7 @@
1 1  
2 2  
3 3  (% style="text-align:center" %)
4 -[[image:image-20240103165259-3.png]]
4 +[[image:image-20240103165259-3.png||height="433" width="591"]]
5 5  
6 6  
7 7  
... ... @@ -47,7 +47,7 @@
47 47  )))
48 48  
49 49  (((
50 -SDI-12-LB/LS is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%) or (% style="color:blue" %)**solar powered + li-on battery**(%%) it is designed for long term use up to 5 years.
50 +SDI-12-LB/LS is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%) or (% style="color:blue" %)**solar powered + Li-ion battery,**(%%) it is designed for long term use up to 5 years.
51 51  )))
52 52  
53 53  (((
... ... @@ -55,9 +55,6 @@
55 55  )))
56 56  
57 57  
58 -[[image:image-20230201084414-1.png||_mstalt="427765" height="464" width="1108"]]
59 -
60 -
61 61  == ​1.2 Features ==
62 62  
63 63  
... ... @@ -72,7 +72,7 @@
72 72  * Uplink on periodically
73 73  * Downlink to change configure
74 74  * 8500mAh Li/SOCl2 Battery (SDI-12-LB)
75 -* Solar panel + 3000mAh Li-on battery (SDI-12-LS)
72 +* Solar panel + 3000mAh Li-ion battery (SDI-12-LS)
76 76  
77 77  == 1.3 Specification ==
78 78  
... ... @@ -138,11 +138,10 @@
138 138  == 1.6 Button & LEDs ==
139 139  
140 140  
141 -[[image:1675212633011-651.png||_mstalt="291538"]]
138 +[[image:image-20250416151419-4.jpeg]]
142 142  
143 -
144 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
145 -|=(% style="width: 167px;background-color:#D9E2F3;color:#0070C0" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 225px;background-color:#D9E2F3;color:#0070C0" %)**Action**
140 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
141 +|=(% 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**
146 146  |(% style="background-color:#f2f2f2; width:167px" %)Pressing ACT between 1s < time < 3s|(% style="background-color:#f2f2f2; width:117px" %)Send an uplink|(% style="background-color:#f2f2f2; width:225px" %)(((
147 147  If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
148 148  Meanwhile, BLE module will be active and user can connect via BLE to configure device.
... ... @@ -152,7 +152,7 @@
152 152  (% style="background-color:#f2f2f2; color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
153 153  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.
154 154  )))
155 -|(% style="background-color:#f2f2f2; width:167px" %)Fast press ACT 5 times.|(% style="background-color:#f2f2f2; width:117px" %)Deactivate Device|(% style="background-color:#f2f2f2; width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means PS-LB-NA is in Deep Sleep Mode.
151 +|(% style="background-color:#f2f2f2; width:167px" %)Fast press ACT 5 times.|(% style="background-color:#f2f2f2; width:117px" %)Deactivate Device|(% style="background-color:#f2f2f2; width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means SDI-12-LB/LS is in Deep Sleep Mode.
156 156  
157 157  == 1.7 Pin Mapping ==
158 158  
... ... @@ -176,14 +176,18 @@
176 176  
177 177  == 1.9 Mechanical ==
178 178  
175 +=== 1.9.1 for LB version ===
179 179  
180 -[[image:image-20230201090139-2.png||_mstalt="428623"]]
181 181  
182 -[[image:image-20230201090139-3.png||_mstalt="428987"]]
178 +[[image:image-20250416151406-3.jpeg]]
183 183  
184 -[[image:image-20230201090139-4.png||_mstalt="429351"]]
185 185  
181 +=== 1.9.2 for LS version ===
186 186  
183 +
184 +[[image:image-20250329133856-1.jpeg]]
185 +
186 +
187 187  = 2. Configure SDI-12 to connect to LoRaWAN network =
188 188  
189 189  == 2.1 How it works ==
... ... @@ -197,10 +197,9 @@
197 197  
198 198  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.
199 199  
200 +[[image:image-20250416151346-2.png]]
200 200  
201 -[[image:image-20230201090528-5.png||_mstalt="430300" height="465" width="1111"]]
202 202  
203 -
204 204  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.
205 205  
206 206  
... ... @@ -213,37 +213,53 @@
213 213  
214 214  You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
215 215  
215 +**Create the application.**
216 216  
217 -(% style="color:blue" %)**Register the device**
217 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SAC01L_LoRaWAN_Temperature%26Humidity_Sensor_User_Manual/WebHome/image-20250423093843-1.png?width=756&height=264&rev=1.1||alt="image-20250423093843-1.png"]]
218 218  
219 -[[image:1675213652444-622.png||_mstalt="293657"]]
219 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907111305-2.png?width=1000&height=572&rev=1.1||alt="image-20240907111305-2.png"]]
220 220  
221 221  
222 -(% style="color:blue" %)**Add APP EUI and DEV EUI**
222 +**Add devices to the created Application.**
223 223  
224 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907111659-3.png?width=977&height=185&rev=1.1||alt="image-20240907111659-3.png"]]
224 224  
225 -[[image:1675213661769-223.png||_mstalt="295217"]]
226 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907111820-5.png?width=975&height=377&rev=1.1||alt="image-20240907111820-5.png"]]
226 226  
227 227  
228 -(% style="color:blue" %)**Add APP EUI in the application**
229 +**Enter end device specifics manually.**
229 229  
231 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907112136-6.png?width=697&height=687&rev=1.1||alt="image-20240907112136-6.png"]]
230 230  
231 -[[image:1675213675852-577.png||_mstalt="297947"]]
232 232  
234 +**Add DevEUI and AppKey.**
233 233  
234 -(% style="color:blue" %)**Add APP KEY**
236 +**Customize a platform ID for the device.**
235 235  
236 -[[image:1675213686734-883.png||_mstalt="298064"]]
238 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907112427-7.png?rev=1.1||alt="image-20240907112427-7.png"]]
237 237  
238 238  
239 -(% style="color:blue" %)**Step 2**(%%): Activate on SDI-12-LB/LS
241 +(% style="color:blue" %)**Step 2: **(%%)Add decoder
240 240  
243 +While using TTN network, you can add the payload format to decode the payload.
241 241  
245 +There is no fix payload decoder in LoRaWAN server because the SDI-12 sensors returns are different. User need to write the decoder themselves for their case.
246 +
247 +SDI-12-LB/LS TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
248 +
249 +Below is TTN screen shot:
250 +
251 +[[image:image-20241118165746-3.png||height="470" width="869"]]
252 +
253 +[[image:image-20241118165832-4.png||height="336" width="724"]]
254 +
255 +
256 +(% style="color:blue" %)**Step 3**(%%): Activate on SDI-12-LB/LS
257 +
242 242  Press the button for 5 seconds to activate the SDI-12-LB/LS.
243 243  
244 244  (% 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.
245 245  
246 -
247 247  [[image:1675213704414-644.png||_mstalt="293748"]]
248 248  
249 249  
... ... @@ -252,7 +252,16 @@
252 252  
253 253  User need to configure SDI-12-LB/LS to communicate with SDI-12 sensors otherwise the uplink payload will only include a few bytes.
254 254  
270 +If you use UART to connect a computer, refer to the following connection methods:
255 255  
272 +[[image:image-20240823165402-1.jpeg||height="488" width="678"]]
273 +
274 +Screenshot example:
275 +
276 +[[image:image-20240823165526-2.png||height="489" width="690"]]
277 +
278 +
279 +
256 256  === 2.3.1 Basic SDI-12 debug command ===
257 257  
258 258  
... ... @@ -519,8 +519,8 @@
519 519  For example, if return from AT+COMMAND1 is “013METER   TER12 112T12-00024895<CR><LF>” , Below AT+DATACUT1 will get different result to combine payload:
520 520  
521 521  
522 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
523 -|=(% style="width: 164px;background-color:#D9E2F3;color:#0070C0" %)**AT+DATACUT1 value**|=(% style="width: 344px;background-color:#D9E2F3;color:#0070C0" %)**Final Result to combine Payload**
546 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
547 +|=(% style="width: 164px;background-color:#4F81BD;color:white" %)**AT+DATACUT1 value**|=(% style="width: 346px;background-color:#4F81BD;color:white" %)**Final Result to combine Payload**
524 524  |(% style="background-color:#f2f2f2; width:164px" %)34,1,1+2+3|(% style="background-color:#f2f2f2; width:344px" %)0D 00 01 30 31 33
525 525  |(% style="background-color:#f2f2f2; width:164px" %)34,2,1~~8+12~~16|(% style="background-color:#f2f2f2; width:344px" %)0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32
526 526  |(% style="background-color:#f2f2f2; width:164px" %)34,2,1~~34|(% style="background-color:#f2f2f2; width:344px" %)0D 00 01 30 31 33 4D 45 54 45 52 20 20 20 54 45 52 31 32 20 31 31 32 54 31 32 2D 30 30 30 32 34 38 39 35 0D 0A
... ... @@ -562,7 +562,7 @@
562 562  Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10
563 563  
564 564  
565 -* (% style="color:#037691" %)** Downlink Payload:**
589 +* (% style="color:#037691" %)**Downlink Payload:**
566 566  
567 567  (% style="color:#4f81bd" %)**0x09 aa bb**(%%)  same as AT+CMDEAR=aa,bb
568 568  
... ... @@ -589,7 +589,6 @@
589 589  If AT+ALLDATAMOD=1, (% style="color:#4f81bd" %)**FX,X**(%%) will be added in the payload, FX specify which command is used and X specify the length of return. for example in above screen, F1 05 means the return is from AT+COMMAND1 and the return is 5 bytes.
590 590  
591 591  
592 -
593 593  (% style="color:blue" %)**Compose Uplink**
594 594  
595 595  (% style="color:#4f81bd" %)**AT+DATAUP=0**
... ... @@ -640,8 +640,8 @@
640 640  
641 641  Users can also use the downlink command(0x26 01) to ask SDI-12-LB/LS to resend this uplink.
642 642  
643 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
644 -|(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**
666 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
667 +|(% colspan="6" style="background-color:#4f81bd; color:white" %)**Device Status (FPORT=5)**
645 645  |(% style="background-color:#f2f2f2; width:103px" %)**Size (bytes)**|(% style="background-color:#f2f2f2; width:72px" %)**1**|(% style="background-color:#f2f2f2" %)**2**|(% style="background-color:#f2f2f2; width:91px" %)**1**|(% style="background-color:#f2f2f2; width:86px" %)**1**|(% style="background-color:#f2f2f2; width:44px" %)**2**
646 646  |(% style="background-color:#f2f2f2; width:103px" %)**Value**|(% style="background-color:#f2f2f2; width:72px" %)Sensor Model|(% style="background-color:#f2f2f2" %)Firmware Version|(% style="background-color:#f2f2f2; width:91px" %)Frequency Band|(% style="background-color:#f2f2f2; width:86px" %)Sub-band|(% style="background-color:#f2f2f2; width:44px" %)BAT
647 647  
... ... @@ -712,10 +712,10 @@
712 712  
713 713  * Periodically Uplink: FPORT=2
714 714  
715 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %)
716 -|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)(((
738 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:500px" %)
739 +|=(% style="width: 90px;background-color:#4F81BD;color:white" %)(((
717 717  **Size(bytes)**
718 -)))|=(% style="width: 80px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 240px;background-color:#D9E2F3;color:#0070C0" %)**Length depends on the return from the commands**
741 +)))|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 90px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 240px;background-color:#4F81BD;color:white" %)**Length depends on the return from the commands**
719 719  |(% style="width:93px" %)Value|(% style="width:83px" %)(((
720 720  Battery(mV)
721 721  &
... ... @@ -822,27 +822,27 @@
822 822  (% style="color:#037691" %)**AT+COMMANDx=4M!,1,1,1**
823 823  
824 824  
825 -(% style="color:blue" %)**2) The AT+DATACUTx command is applied to the green arrow part, receiving and cut out data from the SDI12 sensor**
848 +(% style="color:blue" %)**2) The AT+DATACUTx command is applied to the green arrow part, receiving and cut out data from the SDI12 sensor:**
826 826  
827 827  a. The first reply, all 34 characters: ”113TRUEBNERSMT100038220303182331<CR><LF>”
828 828  
829 829  Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=34,2,1~~34**(% style="color:#037691" %);
830 830  
831 -b. The sixth reply, all 31 characters:”1+19210+1.04+0.00+22.49+11.75<CR><LF>
854 +b. The sixth reply, all 31 characters: "1+19210+1.04+0.00+22.49+11.75<CR><LF>"
832 832  
833 833  Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %);
834 834  
835 -c. The eighth reply, all 31 characters:”2+18990+1.08+0.00+22.24+11.80<CR><LF>
858 +c. The eighth reply, all 31 characters: "2+18990+1.08+0.00+22.24+11.80<CR><LF>"
836 836  
837 837  Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %);
838 838  
839 -d. The tenth reply, all 15 characters:”3-2919.8+24.0<CR><LF>
862 +d. The tenth reply, all 15 characters: "3-2919.8+24.0<CR><LF>"
840 840  
841 841  Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=15,2,1~~15**(% style="color:#037691" %);
842 842  
843 -e. The twelfth reply, all 25 characters:”4+30.8+22.84+4.7+954.38<CR><LF>
866 +e. The twelfth reply, all 25 characters: "4+30.8+22.84+4.7+954.38<CR><LF>"
844 844  
845 -Partial cut, the cut sensor address and the first two parameters(% style="color:#037691" %)**AT+DATACUTx=25,2,1~~12, cut out the character field ” 4+30.8+22.84**.
868 +Partial cut, the cut sensor address and the first two parameters:(% style="color:#037691" %)**AT+DATACUTx=25,2,1~~12, cut out the character field "4+30.8+22.84"**.
846 846  
847 847  
848 848  === 2.6.2 Example 2 ~-~- Connect to Hygrovue10 ===
... ... @@ -926,7 +926,6 @@
926 926  [[image:image-20230603121826-11.png||height="155" width="1104"]]
927 927  
928 928  
929 -
930 930  === 2.6.4 Example 4 ~-~- Connect to TEROS-12 ===
931 931  
932 932  ==== 2.6.4.1 Reference Manual and Command ====
... ... @@ -1029,7 +1029,6 @@
1029 1029  [[image:image-20230627174446-2.png]]
1030 1030  
1031 1031  
1032 -
1033 1033  ==== 2.6.6.3 Commands set in SDI-12-LB/LS and uplink payload ====
1034 1034  
1035 1035  
... ... @@ -1043,10 +1043,89 @@
1043 1043  [[image:image-20230627180303-6.png||height="292" width="1171"]]
1044 1044  
1045 1045  
1067 +=== 2.6.7 Example 7 ~-~- Connect to GroPoint Profile-8 (SDI-12 Version) ===
1068 +
1069 +==== 2.6.7.1  Reference Manual and Command ====
1070 +
1071 +
1072 +* [[https:~~/~~/static1.squarespace.com/static/5db0b690c4990258f8f6d042/t/64189e1ab3ebc54e6947b0c0/1679334941034/2625-N-T+GroPoint+Profile+User+Manual-V1.1.3.pdf>>https://static1.squarespace.com/static/5db0b690c4990258f8f6d042/t/64189e1ab3ebc54e6947b0c0/1679334941034/2625-N-T+GroPoint+Profile+User+Manual-V1.1.3.pdf]]
1073 +
1074 +* Commands to be used in PC and output.
1075 +
1076 +1. check device address
1077 +1. change device address
1078 +1. check device ID
1079 +1. start measure
1080 +1. Get Meausre result
1081 +
1082 +[[image:image-20240423143921-1.png]]
1083 +
1084 +
1085 +==== 2.6.7.2 Hardware Connection to SDI-12-LB/LS ====
1086 +
1087 +
1088 +(% style="color:red" %)**Note: When the bytes returned by the sensor are not fixed, the full byte interception can be used: AT+ALLDATAMOD=1 (The DATACUTx parameter needs to be cleared when using this directive, or it will not work.)**
1089 +
1090 +[[image:image-20240423145522-2.png||height="345" width="400"]]
1091 +
1092 +
1093 +==== 2.6.7.3 Commands set in SDI-12-LB/LS and uplink payload ====
1094 +
1095 +[[image:image-20240423151202-3.png]]
1096 +
1097 +(% class="wikigeneratedid" id="H" %)
1098 +[[image:image-20240423162851-6.png||height="251" width="935"]]
1099 +
1100 +
1101 +DATA in TTN:
1102 +
1103 +[[image:image-20240423162322-4.png||height="269" width="933"]]
1104 +
1105 +
1106 +=== 2.6.8 Example 8 ~-~- Connect to Acclima TDR Soil Moisture Sensor ===
1107 +
1108 +==== 2.6.8.1  Reference Manual and Command ====
1109 +
1110 +
1111 +* [[Acclima TDR Soil Moisture Sensor User Manual>>url:https://acclima.com/tdr-soil-moisture-sensor-user-manual/]]
1112 +
1113 +* Commands to be used in PC and output.
1114 +
1115 +1. check device address
1116 +1. change device address
1117 +1. check device ID
1118 +1. start measure
1119 +1. Get Meausre result
1120 +
1121 +[[image:image-20240903152650-3.png]]
1122 +
1123 +[[image:image-20240903152627-2.png]]
1124 +
1125 +
1126 +==== 2.6.8.2 Hardware Connection to SDI-12-LB/LS ====
1127 +
1128 +
1129 +(% style="color:red" %)**Note: When the bytes returned by the sensor are not fixed, the full byte interception can be used: AT+ALLDATAMOD=1 (The DATACUTx parameter needs to be cleared when using this directive, or it will not work.)**
1130 +
1131 +[[image:image-20240903153004-5.png||height="358" width="660"]]
1132 +
1133 +
1134 +==== 2.6.8.3 Commands set in SDI-12-LB/LS and uplink payload ====
1135 +
1136 +
1137 +[[image:image-20240903153258-6.png]]
1138 +
1139 +[[image:image-20240903153627-7.png]]
1140 +
1141 +DATA in TTN:
1142 +
1143 +[[image:image-20240903154020-10.png||height="467" width="961"]]
1144 +
1145 +
1046 1046  == 2.7 Frequency Plans ==
1047 1047  
1048 1048  
1049 -The SDI-12-LB/LS 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.
1149 +The SDI-12-LB/LS 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.
1050 1050  
1051 1051  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
1052 1052  
... ... @@ -1059,6 +1059,187 @@
1059 1059  [[https:~~/~~/www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0>>https://www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0]]
1060 1060  
1061 1061  
1162 +
1163 +== 2.9 Datalog Feature(Since v1.3.0) ==
1164 +
1165 +
1166 +(((
1167 +Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, SDI-12-LB will store the reading for future retrieving purposes. There are two ways for IoT servers to get datalog from SDI-12-LB.
1168 +)))
1169 +
1170 +
1171 +=== 2.9.1 Ways to get datalog via LoRaWAN ===
1172 +
1173 +
1174 +There are two methods:
1175 +
1176 +(% style="color:blue" %)**Method 1:** (%%)IoT Server sends a downlink LoRaWAN command to [[poll the value>>||anchor="H2.8.4Pollsensorvalue"]] for specified time range.
1177 +
1178 +
1179 +(% style="color:blue" %)**Method 2: **(%%)Set PNACKMD=1, SDI-12-LB will wait for ACK for every uplink, when there is no LoRaWAN network, SDI-12-LB will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery.
1180 +
1181 +
1182 +(% style="color:red" %)**Note for method 2:**
1183 +
1184 +* a) SDI-12-LB will do an ACK check for data records sending to make sure every data arrive server.
1185 +* b) SDI-12-LB will send data in **CONFIRMED Mode** when PNACKMD=1, but SDI-12-LB won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if SDI-12-LB gets a ACK, SDI-12-LB will consider there is a network connection and resend all NONE-ACK Message.
1186 +
1187 +=== 2.9.2 Unix TimeStamp ===
1188 +
1189 +
1190 +SDI-12-LB uses Unix TimeStamp format based on
1191 +
1192 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-11.png?width=627&height=97&rev=1.1||alt="image-20220523001219-11.png"]]
1193 +
1194 +
1195 +User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
1196 +
1197 +Below is the converter example
1198 +
1199 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-12.png?width=720&height=298&rev=1.1||alt="image-20220523001219-12.png"]]
1200 +
1201 +So, we can use AT+TIMESTAMP=1742889625 or downlink 3067E26299 to set the current time 2025 – March ~-~- 25 Tuesday  08:00:25
1202 +
1203 +
1204 +=== 2.9.3 Set Device Time ===
1205 +
1206 +
1207 +(((
1208 +(% style="color:blue" %)**There are two ways to set device's time:**
1209 +)))
1210 +
1211 +(((
1212 +**1.  Through LoRaWAN MAC Command (Default settings)**
1213 +)))
1214 +
1215 +(((
1216 +User need to set SYNCMOD=1 to enable sync time via MAC command.
1217 +)))
1218 +
1219 +(((
1220 +Once SDI-12-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to SDI-12-LB. If SDI-12-LB fails to get the time from the server, SDI-12-LB will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days).
1221 +)))
1222 +
1223 +(((
1224 +(% style="color:red" %)**Note: LoRaWAN Server need to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature, Chirpstack,TTN V3 v3 and loriot support but TTN V3 v2 doesn't support. If server doesn't support this command, it will through away uplink packet with this command, so user will lose the packet with time request for TTN V3 v2 if SYNCMOD=1.**
1225 +)))
1226 +
1227 +
1228 +(((
1229 +**2. Manually Set Time**
1230 +)))
1231 +
1232 +(((
1233 +User needs to set SYNCMOD=0 to manual time, otherwise, the user set time will be overwritten by the time set by the server.
1234 +)))
1235 +
1236 +
1237 +=== 2.9.4 Poll sensor value ===
1238 +
1239 +
1240 +User can poll sensor value based on timestamps from the server. Below is the downlink command.
1241 +
1242 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:438.778px" %)
1243 +|(% style="background-color:#4f81bd; color:white; width:59px" %)**1byte**|(% style="background-color:#4f81bd; color:white; width:123px" %)**4bytes**|(% style="background-color:#4f81bd; color:white; width:114px" %)**4bytes**|(% style="background-color:#4f81bd; color:white; width:142.778px" %)**1byte**
1244 +|(% style="width:58px" %)31|(% style="width:123px" %)Timestamp start|(% style="width:114px" %)Timestamp end|(% style="width:137px" %)(((
1245 +Uplink Interval(range 5~~255s)
1246 +)))
1247 +
1248 +Timestamp start and Timestamp end use Unix TimeStamp format as mentioned above. Devices will reply with all data log during this time period, use the uplink interval.
1249 +
1250 +For example, downlink command (% _mstmutation="1" %)**31 67E24660 67E26280 05**(%%)
1251 +
1252 +Is to check 2025/03/25 06:00:00 to 2025/03/25 08:00:00's data
1253 +
1254 +Uplink Internal =5s, means RS485-LB will send one packet every 5s.
1255 +
1256 +
1257 +=== 2.9.5 Datalog Uplink payload ===
1258 +
1259 +
1260 +The Datalog poll reply uplink will use below payload format.
1261 +
1262 +**Retrieval data payload:**
1263 +
1264 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:480px" %)
1265 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
1266 +**Size(bytes)**
1267 +)))|=(% style="width: 100px; background-color: rgb(79, 129, 189); color: white;" %)**4**|=(% style="width: 100px; background-color: rgb(79, 129, 189); color: white;" %)**1**|=(% style="width: 220px; background-color: rgb(79, 129, 189); color: white;" %)**Length depends on the return from the commands**
1268 +|(% style="width:97px" %)Value|(% style="width:104px" %)Unix Time Stamp|(% style="width:109px" %)Payload Length|(% style="width:165px" %)Data returned by the sensor
1269 +
1270 +**Example:**
1271 +
1272 +If SDI-12-LB has below data inside Flash:
1273 +
1274 +(Soil sensors using the SDI-12 protocol are used for testing.)
1275 +
1276 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1277 +|=(% style="width: 88px; background-color:#4F81BD;color:white" %)Flash Add|=(% style="width: 98px; background-color: rgb(79, 129, 189); color: white;" %)**Unix Time**|=(% style="width: 82px; background-color: rgb(79, 129, 189); color: white;" %)Payload Length|=(% style="width: 86px; background-color: rgb(79, 129, 189); color: white;" %)**BAT voltage**|=(% style="width: 92px; background-color: rgb(79, 129, 189); color: white;" %)Payload Version|=(% style="width: 64px; background-color:#4F81BD;color:white" %)**Value**
1278 +|(% style="width:89px" %)(((
1279 +0001
1280 +)))|(% style="width:98px" %)(((
1281 +2025/3/25 08:09:30
1282 +)))|(% style="width:82px" %)5|(% style="width:86px" %)(((
1283 +0c a8
1284 +)))|(% style="width:92px" %)01|(% style="width:131px" %)(((
1285 +08 21
1286 +)))
1287 +|(% style="width:89px" %)0002|(% style="width:98px" %)(((
1288 +2025/3/25 08:10:30
1289 +)))|(% style="width:82px" %)5|(% style="width:86px" %)(((
1290 +0c ae
1291 +)))|(% style="width:92px" %)01|(% style="width:131px" %)(((
1292 +08 22
1293 +)))
1294 +|(% style="width:89px" %)0003|(% style="width:98px" %)(((
1295 +2025/3/25 08:11:30
1296 +)))|(% style="width:82px" %)5|(% style="width:86px" %)0c ae|(% style="width:92px" %)01|(% style="width:131px" %)08 22
1297 +|(% style="width:89px" %)0004|(% style="width:98px" %)(((
1298 +2025/3/25 08:12:30
1299 +)))|(% style="width:82px" %)5|(% style="width:86px" %)0c ae|(% style="width:92px" %)01|(% style="width:131px" %)08 22
1300 +|(% style="width:89px" %)0005|(% style="width:98px" %)(((
1301 +2025/3/25 08:13:30
1302 +)))|(% style="width:82px" %)5|(% style="width:86px" %)(((
1303 +0c b4
1304 +)))|(% style="width:92px" %)01|(% style="width:131px" %)08 23
1305 +|(% style="width:89px" %)0006|(% style="width:98px" %)(((
1306 +2025/3/25 08:14:30
1307 +)))|(% style="width:82px" %)5|(% style="width:86px" %)0c ae|(% style="width:92px" %)01|(% style="width:131px" %)08 22
1308 +|(% style="width:89px" %)0007|(% style="width:98px" %)(((
1309 +2025/3/25 08:15:30
1310 +)))|(% style="width:82px" %)5|(% style="width:86px" %)0c b4|(% style="width:92px" %)01|(% style="width:131px" %)08 23
1311 +|(% style="width:89px" %)0008|(% style="width:98px" %)(((
1312 +2025/3/25 08:16:30
1313 +)))|(% style="width:82px" %)5|(% style="width:86px" %)0c ae|(% style="width:92px" %)01|(% style="width:131px" %)08 22
1314 +
1315 +If user sends below downlink command: (% style="background-color:yellow" %)3167E264BA67E2665E05
1316 +
1317 +Where : Start time: 67E264BA = time 2025/3/25 08:09:30
1318 +
1319 + Stop time: 67E2665E= time 2025/3/25 08:16:30
1320 +
1321 +
1322 +**SDI-12-LB will uplink this payload.**
1323 +
1324 +**67E264BA 05 0CA8 01 0821** 67E264F6050CAE01082267E26532050CAE01082267E2656E050CAE01082267E265AA050CB401082367E265E6050CAE01082267E26622050CB401082367E2665E050CAE010822
1325 +
1326 +
1327 +Where the first 10 bytes is for the first entry:
1328 +
1329 +67E264BA050CA8010821
1330 +
1331 +Unix Time Stamp: 67E264BA(H)=1742890170(D)  ~-~->  time=2025-03-25 8:09:30
1332 +
1333 +Payload Length: 0x05(H)=5 bytes
1334 +
1335 +Battery voltage: 0x0CA8(H)=3240 mV
1336 +
1337 +Payload Version:  01
1338 +
1339 +Value: For the distance sensor used for testing, this value is the mm distance value, 0x0821(H)=2081mm.
1340 +
1341 +
1342 +
1062 1062  = 3. Configure SDI-12-LB/LS via AT Command or LoRaWAN Downlink =
1063 1063  
1064 1064  
... ... @@ -1093,8 +1093,8 @@
1093 1093  
1094 1094  (% style="color:blue" %)**AT Command: AT+TDC**
1095 1095  
1096 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1097 -|=(% style="width: 160px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Command Example**|=(% style="width: 160px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Function**|=(% style="width: 190px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1377 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1378 +|=(% style="width: 160px; background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 160px; background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 190px;background-color:#4F81BD;color:white" %)**Response**
1098 1098  |(% style="background-color:#f2f2f2; width:157px" %)AT+TDC=?|(% style="background-color:#f2f2f2; width:166px" %)Show current transmit Interval|(% style="background-color:#f2f2f2" %)(((
1099 1099  30000
1100 1100  OK
... ... @@ -1121,8 +1121,8 @@
1121 1121  
1122 1122  (% style="color:blue" %)**AT Command: AT+INTMOD**
1123 1123  
1124 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1125 -|=(% style="width: 154px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 160px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1405 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1406 +|=(% style="width: 154px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 196px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 160px;background-color:#4F81BD;color:white" %)**Response**
1126 1126  |(% style="background-color:#f2f2f2; width:154px" %)AT+INTMOD=?|(% style="background-color:#f2f2f2; width:196px" %)Show current interrupt mode|(% style="background-color:#f2f2f2; width:157px" %)(((
1127 1127  0
1128 1128  OK
... ... @@ -1152,8 +1152,8 @@
1152 1152  
1153 1153  (% style="color:blue" %)**AT Command: AT+3V3T**
1154 1154  
1155 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:474px" %)
1156 -|=(% style="width: 154px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 201px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 120px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1436 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:474px" %)
1437 +|=(% style="width: 154px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 201px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 120px;background-color:#4F81BD;color:white" %)**Response**
1157 1157  |(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=?|(% style="background-color:#f2f2f2; width:201px" %)Show 3V3 open time.|(% style="background-color:#f2f2f2; width:116px" %)(((
1158 1158  0
1159 1159  OK
... ... @@ -1172,7 +1172,7 @@
1172 1172  (% style="color:blue" %)**AT Command: AT+5VT**
1173 1173  
1174 1174  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:470px" %)
1175 -|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 119px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1456 +|=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 196px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 119px;background-color:#4F81BD;color:white" %)**Response**
1176 1176  |(% style="background-color:#f2f2f2; width:155px" %)AT+5VT=?|(% style="background-color:#f2f2f2; width:196px" %)Show 5V open time.|(% style="background-color:#f2f2f2; width:114px" %)(((
1177 1177  0
1178 1178  OK
... ... @@ -1193,7 +1193,7 @@
1193 1193  (% style="color:blue" %)**(The v1.2 version is enabled for 1 second by default, and the version below v1.2 is disabled by default)**
1194 1194  
1195 1195  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:443px" %)
1196 -|=(% style="width: 156px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 199px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 89px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1477 +|=(% style="width: 156px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 199px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 89px;background-color:#4F81BD;color:white" %)**Response**
1197 1197  |(% style="background-color:#f2f2f2; width:156px" %)AT+12VT=?|(% style="background-color:#f2f2f2; width:199px" %)Show 12V open time.|(% style="background-color:#f2f2f2; width:83px" %)(((
1198 1198  0
1199 1199  OK
... ... @@ -1223,8 +1223,8 @@
1223 1223  
1224 1224  (% style="color:blue" %)**AT Command: AT+ALLDATAMOD**
1225 1225  
1226 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:437px" %)
1227 -|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**
1507 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:437px" %)
1508 +|=(% style="background-color:#4F81BD;color:white" %)**Command Example**|=(% style="background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color:#4F81BD;color:white" %)**Response**
1228 1228  |(% style="background-color:#f2f2f2" %)AT+ALLDATAMOD=?|(% style="background-color:#f2f2f2" %)Show current all data mode|(% style="background-color:#f2f2f2" %)(((
1229 1229  0
1230 1230  OK
... ... @@ -1245,8 +1245,8 @@
1245 1245  
1246 1246  (% style="color:blue" %)**AT Command: AT+DATAUP**
1247 1247  
1248 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1249 -|=(% style="width: 154px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 266px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**
1529 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1530 +|=(% style="width: 154px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 266px;background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color:#4F81BD;color:white" %)**Response**
1250 1250  |(% style="background-color:#f2f2f2; width:154px" %)AT+DATAUP =?|(% style="background-color:#f2f2f2; width:266px" %)Show current splicing payload for uplink mode|(% style="background-color:#f2f2f2" %)(((
1251 1251  0
1252 1252  OK
... ... @@ -1279,8 +1279,8 @@
1279 1279  
1280 1280  (% style="color:blue" %)**AT Command: AT+PAYVER**
1281 1281  
1282 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:437px" %)
1283 -|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 192px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**
1563 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:437px" %)
1564 +|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 192px;background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color:#4F81BD;color:white" %)**Response**
1284 1284  |(% style="background-color:#f2f2f2; width:158px" %)AT+PAYVER=?|(% style="background-color:#f2f2f2; width:192px" %)Show current payload version|(% style="background-color:#f2f2f2" %)(((
1285 1285  1
1286 1286  OK
... ... @@ -1343,11 +1343,35 @@
1343 1343  When downloading the images, choose the required image file for download. ​
1344 1344  
1345 1345  
1627 +== 7.4 Why is the data uploaded to the LoRaWAN platform node empty and fProt~=0? ==
1628 +
1629 +
1630 +This is due to The length of bytes sent by the node is limited by the lorawan protocol, and the fixed DR needs to be adjusted to improve this problem.
1631 +
1632 +Please refer to the following link for the number of bytes limited by different frequencies and different DRs in the lorawan protocol
1633 +
1634 +[[lora-alliance.org/wp-content/uploads/2021/05/RP002-1.0.3-FINAL-1.pdf>>url:https://lora-alliance.org/wp-content/uploads/2021/05/RP002-1.0.3-FINAL-1.pdf]]
1635 +
1636 +Example:
1637 +
1638 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/RS485-LN%20%E2%80%93%20RS485%20to%20LoRaWAN%20Converter/WebHome/image-20240620145456-1.png?rev=1.1||alt="image-20240620145456-1.png"]]
1639 +
1640 +Please refer to the following command to fix DR
1641 +
1642 +AT+ADR=0
1643 +
1644 +AT+DR=3
1645 +
1646 +Downlink command:
1647 +
1648 +[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H7.4DataRate>>url:http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H7.4DataRate]]
1649 +
1650 +
1346 1346  = 8. ​Order Info =
1347 1347  
1348 1348  
1349 1349  (((
1350 -(% style="color:blue" %)**Part Number: SDI-12-LB-XX-YY or SDI-12-LS-XX-YY**
1655 +**Part Number: (% style="color:blue" %)SDI-12-LB-XX-YY(%%) or (% style="color:blue" %)SDI-12-LS-XX-YY(%%)**
1351 1351  )))
1352 1352  
1353 1353  (((
... ... @@ -1384,7 +1384,6 @@
1384 1384  * Package Size / pcs : cm
1385 1385  * Weight / pcs : g
1386 1386  
1387 -
1388 1388  = 10. ​Support =
1389 1389  
1390 1390  
image-20240423143921-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.kai
Size
... ... @@ -1,0 +1,1 @@
1 +43.8 KB
Content
image-20240423145522-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.kai
Size
... ... @@ -1,0 +1,1 @@
1 +709.9 KB
Content
image-20240423151202-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.kai
Size
... ... @@ -1,0 +1,1 @@
1 +45.6 KB
Content
image-20240423162322-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.kai
Size
... ... @@ -1,0 +1,1 @@
1 +87.5 KB
Content
image-20240423162811-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.kai
Size
... ... @@ -1,0 +1,1 @@
1 +45.6 KB
Content
image-20240423162851-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.kai
Size
... ... @@ -1,0 +1,1 @@
1 +45.6 KB
Content
image-20240823165402-1.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +580.7 KB
Content
image-20240823165526-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +63.0 KB
Content
image-20240903152517-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +11.5 KB
Content
image-20240903152627-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +36.2 KB
Content
image-20240903152650-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +22.7 KB
Content
image-20240903152742-4.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +5.2 MB
Content
image-20240903153004-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +1.1 MB
Content
image-20240903153258-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +22.4 KB
Content
image-20240903153627-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +21.2 KB
Content
image-20240903153727-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +102.0 KB
Content
image-20240903153854-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +214.8 KB
Content
image-20240903154020-10.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +100.9 KB
Content
image-20241118164859-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +51.6 KB
Content
image-20241118165221-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +37.2 KB
Content
image-20241118165746-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +89.4 KB
Content
image-20241118165832-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +27.2 KB
Content
image-20250329133856-1.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +31.2 KB
Content
image-20250329133946-2.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +29.6 KB
Content
image-20250329134001-3.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +59.0 KB
Content
image-20250416150535-1.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +47.6 KB
Content
image-20250416151346-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +79.6 KB
Content
image-20250416151406-3.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +44.8 KB
Content
image-20250416151419-4.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +47.6 KB
Content
image-20250416154628-5.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +40.4 KB
Content
image-20250416154700-6.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +65.6 KB
Content
image-20250416154716-7.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +50.8 KB
Content