Changes for page LTS5 LoRa HMI Touch Screen
Last modified by BoYang Xie on 2025/07/17 15:54
From version 80.1
edited by BoYang Xie
on 2024/11/22 09:42
on 2024/11/22 09:42
Change comment:
Uploaded new attachment "image-20241122094200-23.png", version {1}
To version 4.12
edited by Edwin Chen
on 2024/09/16 09:37
on 2024/09/16 09:37
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 68 removed)
- 1727229396732-319.png
- 1727229550717-684.png
- 1727229582471-566.png
- 1727229618724-758.png
- 1727229653254-680.png
- 1727229682537-381.png
- 1727229715361-392.png
- 1727229740592-843.png
- 1727229760857-521.png
- 1727229798126-306.png
- 1727229821582-258.png
- 1727229845835-509.png
- 1727229892636-154.png
- 1727229926561-300.png
- 1727229955611-607.png
- 1727229990795-405.png
- 1727230012478-930.png
- 1727231038705-173.png
- 1727233636007-933.png
- 1727484665746-713.png
- 1727485118799-984.png
- 1727485251053-655.png
- 1727485480434-713.png
- 1727485933579-550.png
- 1727485953726-175.png
- 1727486567182-334.png
- 1727486578489-774.png
- 1727487368023-281.png
- 1727488067077-684.png
- 1727488099947-341.png
- 1727488108117-780.png
- 1727488157579-949.png
- image-20240916101737-1.png
- image-20240925110638-1.png
- image-20240928090825-1.png
- image-20240928103357-2.png
- image-20240928103506-3.png
- image-20240928105309-4.png
- image-20240928110211-5.png
- image-20240928111412-6.png
- image-20240928111654-7.png
- image-20240928112001-8.png
- image-20240928113424-9.png
- image-20240928114139-10.png
- image-20240928144830-11.png
- image-20241121113445-1.png
- image-20241121120222-2.png
- image-20241121120830-3.png
- image-20241121141120-4.png
- image-20241121141315-5.png
- image-20241121141329-6.png
- image-20241121142925-7.png
- image-20241121145915-8.png
- image-20241121150911-9.png
- image-20241121151934-10.png
- image-20241121171629-11.png
- image-20241121171901-12.png
- image-20241121172714-13.png
- image-20241121172908-14.png
- image-20241121180030-15.png
- image-20241121180517-16.png
- image-20241121181957-17.png
- image-20241121182239-18.png
- image-20241122092239-19.png
- image-20241122092655-20.png
- image-20241122093445-21.png
- image-20241122093601-22.png
- image-20241122094200-23.png
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. xieby1 +XWiki.Edwin - Content
-
... ... @@ -1,14 +1,9 @@ 1 - (%style="text-align:center"%)1 + 2 2 [[image:image-20240915231842-1.png]] 3 3 4 4 5 - 6 - 7 - 8 - 9 - 10 10 (% _mstvisible="1" %) 11 -(% _msthash="315238" _msttexthash="18964465" _mstvisible="3" %)**Table of Contents :**6 +(% _msthash="315238" _msttexthash="18964465" _mstvisible="3" %)**Table of Contents:** 12 12 13 13 {{toc/}} 14 14 ... ... @@ -23,7 +23,6 @@ 23 23 24 24 == 1.1 What is LTS5 LoRa HMI touch screen == 25 25 26 - 27 27 LTS5 is a (% style="color:blue" %)LoRa / LoRaWAN HMI Touch Screen(%%) designed for display purpose of IoT project. It have a 5.0" HMI touch screen, and support WiFi, Bluetooch, LoRa wireless protocol. 28 28 29 29 LTS5 is an Open Source software project. The MCU is ESP32 and Dragino LA66 LoRa module. There are lots of development source for ESP32 which can greatly reduce the development time. ... ... @@ -35,8 +35,7 @@ 35 35 36 36 == 1.2 Features == 37 37 38 -* ESP32-WROOM MCU: 8MB RAM & 16MB ROM 39 -* Dragino LA66 LoRa Module 32 +* ESP32-WROOM MCU + Dragino LA66 LoRa Module 40 40 * Support Private LoRa protocol or LoRaWAN protocol 41 41 * Support WiFi & BLE wireless protocol 42 42 * 5.0" HMI touch screen ... ... @@ -47,17 +47,11 @@ 47 47 * 5V DC power 48 48 * IP Rating: IP52 49 49 43 + 50 50 == 1.3 Specification == 51 51 52 - 53 53 **LoRa**: 54 54 55 -* Frequency Range: 870 MHz ~~ 960 MHz 56 -* TCXO crystal to ensure RF performance on low temperature 57 -* Maximum Power +22 dBm constant RF output 58 -* High sensitivity: -148 dBm 59 -* LoRa Tx Current: <90 mA at +17 dBm, 108 mA at +22 dBm 60 -* LoRa Rx current: <9 mA 61 61 62 62 **WiFi:** 63 63 ... ... @@ -81,20 +81,21 @@ 81 81 * RGB color. 82 82 * Display Area: 120.7*75.80 mm 83 83 71 + 72 + 84 84 == 1.4 Power Consumption == 85 85 86 - 87 87 * External 5V DC power adapter 88 88 77 + 89 89 == 1.5 Storage & Operation Temperature == 90 90 91 - 92 92 * Operation Temperature: -20 ~~ 70°C (No Dew) 93 93 * Storage Temperature: -30 ~~ 70°C (No Dew) 94 94 83 + 95 95 == 1.6 Applications == 96 96 97 - 98 98 * Smart Buildings & Home Automation 99 99 * Logistics and Supply Chain Management 100 100 * Smart Metering ... ... @@ -102,283 +102,722 @@ 102 102 * Smart Cities 103 103 * Smart Factory 104 104 105 -= 2. Getting Started with Hello World = 106 106 107 -= =2.1Aboutthisdemo==94 += 2. Operation Mode = 108 108 96 +== 2.1 How it work? == 109 109 110 -In this Getting Started Example, we will show how to design a simple Display UI and upload it to LTS5. This UI has a button , when user click the button. The Web UI will jump to a new page. 111 111 99 +Each PB01 is shipped with a worldwide unique set of LoRaWAN OTAA keys. To use PB01 in a LoRaWAN network, user needs to input the OTAA keys in LoRaWAN network server. After this, if PB01 is under this LoRaWAN network coverage, PB01 can join the LoRaWAN network and start to transmit sensor data. The default period for each uplink is** 20 minutes**. 112 112 113 -== 2.2 Install Software Running Environment == 114 114 115 - TheESP MCU can bedevelopedusing ESP-IDF, Arduino, or MicroPython. For this project,weutilize ESP-IDF forcompilationand Visual Studio Code(VSCode)for editing.102 +== 2.2 How to Activate PB01? == 116 116 117 -=== 2.2.1 Install VSCode and ESP-IDF extension === 118 118 105 +(% style="color:red" %)** 1. Open enclosure from below position.** 119 119 120 - Firstly, download and install VSCode for your computer's operatingsystem from the official website:[[Download Visual Studio CodeMac, Linux, Windows>>url:https://code.visualstudio.com/download]].107 +[[image:image-20220621093835-1.png]] 121 121 122 -Next, you need to install the ESP-IDF extension within VSCode. The detailed operation steps are illustrated in image 1. 123 123 124 - [[image:image-20240928110211-5.png||height="508"width="866"]]110 +(% style="color:red" %)** 2. Insert 2 x AAA LR03 batteries and the node is activated.** 125 125 126 - ESP-IDF extension install112 +[[image:image-20220621093835-2.png]] 127 127 128 -Links for reference: [[Install ESP32 ESP-IDF on Windows and Integrate with VS code (esp32tutorials.com)>>url:https://esp32tutorials.com/install-esp32-esp-idf-windows-integrate-vs-code/#:~~:text=In%20this%20tutorial,%20we%20will%20show%20you%20how%20to%20install]] 129 129 115 +(% style="color:red" %)** 3. Under the above conditions, users can also reactivate the node by long pressing the ACT button.** 130 130 131 - ===2.2.2InstallSquareLineStudio ===117 +[[image:image-20220621093835-3.png]] 132 132 133 133 134 - The version weareutilizing for this software is 1.4.2. Youcandownload it from theofficial link:[[SquareLine Studio- Downloadthecurrent version of SquareLineStudio>>url:https://squareline.io/downloads#lastRelease]].120 +User can check [[LED Status>>||anchor="H2.8LEDIndicator"]] to know the working state of PB01. 135 135 136 -Please note that this software necessitates the registration of a license prior to usage, and various licenses come with distinct limitations. For instance, the free version imposes restrictions such as a limit of 1 component, 150 widgets, and 10 screens. However, for first-time downloads, you are granted unrestricted access for a period of 30 days without the need for immediate registration. 137 137 123 +== 2.3 Example to join LoRaWAN network == 138 138 139 -== 2.3 Simple usage of SquareLine Studio and export UI code == 140 140 126 +This section shows an example for how to join the [[TheThingsNetwork>>url:https://www.thethingsnetwork.org/]] LoRaWAN IoT server. Usages with other LoRaWAN IoT servers are of similar procedure. 141 141 142 -After launching and logging in to this software, create a project as shown in the following image 2. The version of LVGL is 8.3.11. 128 +(% _mstvisible="1" class="wikigeneratedid" %) 129 +Assume the LPS8v2 is already set to connect to [[TTN V3 network >>url:https://eu1.cloud.thethings.network/]]. We need to add the PB01 device in TTN V3 portal. 143 143 144 -[[image:image-20240 928103357-2.png||height="680" width="708"]]131 +[[image:image-20240705094824-4.png]] 145 145 146 - image2create aSquareLineproject133 +(% style="color:blue" %)**Step 1**(%%): Create a device in TTN V3 with the OTAA keys from PB01. 147 147 148 - Next, we need to makesomesettingsfor thisproject.Byclickinginthespecifiedorder on image3,wecanseethepage as shown in image 4.135 +Each PB01 is shipped with a sticker with the default DEV EUI as below: 149 149 150 -[[image: 1727229582471-566.png]]137 +[[image:image-20230426083617-1.png||height="294" width="633"]] 151 151 152 - image 3 project settings 153 153 154 - [[image:image-20240928105309-4.png||height="526"width="556"]]140 +Enter these keys in the LoRaWAN Server portal. Below is TTN V3 screen shot: 155 155 156 - image4 modifyprojectsettings142 +Create application. 157 157 158 - Now wecan start touse this software.Hereresomeusagenformationfor this software.144 +choose to create the device manually. 159 159 160 - **~1. addwidget**146 +Add JoinEUI(AppEUI), DevEUI, AppKey.(% style="display:none" %) 161 161 162 -To add a widget, you should click a widget you want to add at the area entitled “Widgets”. In image , demonstrate a add process of label, button, and image 5. 148 +[[image:image-20240507142116-1.png||height="410" width="1138"]](% style="display:none" %) (%%) 149 + 163 163 164 -[[image:image-20240 928111412-6.png||height="526" width="864"]]151 +[[image:image-20240507142157-2.png||height="559" width="1147"]] 165 165 166 - addwidgets153 +[[image:image-20240507142401-3.png||height="693" width="1202"]] 167 167 168 - **2.modifywidget**155 +[[image:image-20240507142651-4.png||height="760" width="1190"]] 169 169 170 - Theareafor modifying widgets is called "Inspector".There are four parts in the "Inspector" tab. We use three of themmorefrequently, excluding "COMPONENT".Thesecond partis aimed at adjusting the layout, size, position, alignment, flags, andstates, etc. of widgets. The name of the secondpart indicates the typeof widget it is representing, and in image6,it is "BUTTON".157 +**Default mode OTAA**(% style="display:none" %) 171 171 172 -[[image:1727485118799-984.png]] 173 173 174 - image6the buttonwidget's"Inspector"tab160 +(% style="color:blue" %)**Step 2**(%%): Use ACT button to activate PB01 and it will auto join to the TTN V3 network. After join success, it will start to upload sensor data to TTN V3 and user can see in the panel. 175 175 176 - Second part: "Layout" means a auto position-management for widgets contained in theparent widget."Transform" includes size, position and align modification.162 +[[image:image-20240507143104-5.png||height="434" width="1398"]] 177 177 178 -[[image:1727485251053-655.png]] 179 179 180 - image7the buttonwidget's"BUTTON" tab165 +== 2.4 Uplink Payload == 181 181 182 -Third part: It is an area of style setting. 183 183 184 - Fourthpart: Itis an area foradding events.Inimage 8, it is adding aclickeventtoa button. If thebutton isclickedafter the click event isadded as shownin image 8, the currentscreen will fadeintoanother specified screen,andtheswitching process willlast 500ms.168 +Uplink payloads include two types: Valid Sensor Value and other status / control command. 185 185 186 -[[image:1727485480434-713.png||height="395" width="290"]] 170 +* Valid Sensor Value: Use FPORT=2 171 +* Other control command: Use FPORT other than 2. 187 187 188 - mage8addeventfor button173 +=== 2.4.1 Uplink FPORT~=5, Device Status === 189 189 190 -**3. change label widget content** 191 191 192 - Modify the contentintextasshowninimage9,thetext content oflabel widget will be changedaccordingly.176 +Users can get the Device Status uplink through the downlink command: 193 193 194 - [[image:image-20240928090825-1.png||height="327"width="391"]]178 +(% style="color:#4472c4" %)**Downlink: **(%%)**0x2601** 195 195 196 - mage9 modify textcontent oflabelwidget180 +Uplink the device configures with FPORT=5. 197 197 198 -**4. Add image into project** 182 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:370px" %) 183 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**Size(bytes)(% style="display:none" %) (%%)**|=(% 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: 30px;background-color:#4F81BD;color:white" %)**2** 184 +|(% style="width:99px" %)Value|(% style="width:62px" %)Sensor Model|(% style="width:80px" %)Firmware Version|(% style="width:82px" %)Frequency Band|(% style="width:85px" %)Sub-band|(% style="width:46px" %)BAT 199 199 200 - To use theimagewidget, you should first add an imageto your project. The image format must be PNG, and its resolution should not exceed 800x480pixels.There are two ways to add animagefile. One way is to move your image into the folder "…/squareline project/assets/",as shownin image 10. The other way is to click the"ADD FILE INTO ASSETS"button, thenselectan image fromyour computer toimport. Afteradding,you cansee the image in the"assets"areain SquareLine Studio, as demonstrated in image 11.186 +[[image:image-20240507152130-12.png||height="469" width="1366"]](% style="display:none" %) 201 201 202 -[[image:image-20240 928113424-9.png||height="355" width="505"]]188 +Example Payload (FPort=5): [[image:image-20240507152254-13.png||height="26" width="130"]] 203 203 204 - image 10 add image file into SquareLine Studio project 205 205 206 - [[image:image-20240928114139-10.png||height="559"width="810"]]191 +(% style="color:#4472c4" %)**Sensor Model**(%%): For PB01, this value is 0x35. 207 207 208 - image 11 use imagewidgetinSquareLineStudio193 +(% style="color:#4472c4" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version. 209 209 210 - **5.Therelationshipbetweenwidgets**195 +(% style="color:#4472c4" %)**Frequency Band**: 211 211 212 - There are two common relationships between widgets:one is parallel, the other is parent-child. The parallel relationship means that widgets' relative position is based on a collective object of reference. In parent-child relationship, the parts of the child object that are outside the boundaries of the parent object are not visible by default. Therefore, we need to adjust the position of the child object so that it falls within the range of the parent object, allowing it to be seen as illustrated in image 13.197 +*0x01: EU868 213 213 214 - [[image:1727486567182-334.png||height="318" width="278"]]199 +*0x02: US915 215 215 216 - image12 move label1 to make label1 widget be a child of button1 widget(1)201 +*0x03: IN865 217 217 218 - [[image:image-20240928112001-8.png||height="431"width="796"]]203 +*0x04: AU915 219 219 220 - image 13 move label1 to make label1 widget be a child of button1 widget(2)205 +*0x05: KZ865 221 221 222 -* *6.Preview the final effect**207 +*0x06: RU864 223 223 224 - Anadvantage of this kind of software is that you can edit the UI with quick previews. In other words, it provides a way of combining graphical programming with simulation immediately.209 +*0x07: AS923 225 225 226 - [[image:1727487368023-281.png]]211 +*0x08: AS923-1 227 227 228 - image 14 click on the triangle icon to start or end the simulation213 +*0x09: AS923-2 229 229 230 - For more detailed usage, please visit the official link:[[SquareLine Studio 1.4.2Documentation ~| SquareLine Studio>>url:https://docs.squareline.io/docs/squareline/]].215 +*0x0a: AS923-3 231 231 232 232 233 - ==2.4IntegrateUICodetoESP-IDFProject==218 +(% style="color:#4472c4" %)**Sub-Band**(%%): value 0x00 ~~ 0x08(only for CN470, AU915,US915. Others are0x00) 234 234 220 +(% style="color:#4472c4" %)**BAT**(%%): shows the battery voltage for PB01. 235 235 236 - Toachieve the integrating, we firstneed to export the UI code, then make some modifications, and finallyrelocatethe UIcode toa specificpositionwithintheproject.222 +(% style="color:#4472c4" %)**Ex1**(%%): 0x0C DE = 3294mV 237 237 238 -[[image:1727229798126-306.png]] 239 239 240 - age15exportUI file225 +=== 2.4.2 Uplink FPORT~=2, Real time sensor value === 241 241 242 -[[image:1727229821582-258.png||height="333" width="662"]] 243 243 244 - image16 exported UI file228 +PB01 will send this uplink after Device Status uplink once join LoRaWAN network successfully. And it will periodically send this uplink. Default interval is 20 minutes and [[can be changed>>||anchor="H3.1A0DownlinkCommandSet"]]. 245 245 246 - Create a empty directory entitled "ui" inpath "basic_prj/app_components/ui/",andthen copyallUI code exportedtothisdirectory.230 +Uplink uses FPORT=2 and every 20 minutes send one uplink by default. 247 247 248 -[[image:image-20240928144830-11.png]] 232 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:460px" %) 233 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( 234 +**Size(bytes)** 235 +)))|=(% style="width: 60px;background-color:#4F81BD;color:white" %)2|=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( 236 +**1** 237 +)))|=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( 238 +**1** 239 +)))|=(% style="width: 90px;background-color:#4F81BD;color:white" %)((( 240 +**2** 241 +)))|=(% style="width: 40px;background-color:#4F81BD;color:white" %)((( 242 +**2** 243 +))) 244 +|(% style="width:97px" %)((( 245 +Value 246 +)))|(% style="width:39px" %)Battery|(% style="width:39px" %)((( 247 +Sound_ACK 249 249 250 - image 17 open CMakeLists.txt 249 +&Sound_key 250 +)))|(% style="width:100px" %)((( 251 +((( 252 +Alarm 253 +))) 254 +)))|(% style="width:77px" %)((( 255 +((( 256 +Temperature 257 +))) 258 +)))|(% style="width:47px" %)((( 259 +Humidity 260 +))) 251 251 252 - [[image:1727229892636-154.png||height="521"width="407"]]262 +Example in TTN. 253 253 254 - 18 modify CMakeLists.txt264 +[[image:image-20240507150155-11.png||height="549" width="1261"]] 255 255 256 - The laststepofintegrating is adding twoinesofcodeinmain.cfile.266 +Example Payload (FPort=2): (% style="background-color:yellow" %)**0C EA 03 01 01 11 02 A8** 257 257 258 - [[image:1727229926561-300.png]]268 +==== (% style="color:blue" %)**Battery:**(%%) ==== 259 259 260 - image19add "ui.h"270 +Check the battery voltage. 261 261 262 -[[image:1727229955611-607.png]] 272 +* Ex1: 0x0CEA = 3306mV 273 +* Ex2: 0x0D08 = 3336mV 263 263 264 - image20 add"ui_init()"275 +==== (% style="color:blue" %)**Sound_ACK & Sound_key:**(%%) ==== 265 265 277 +Key sound and ACK sound are enabled by default. 266 266 267 - ==2.5 Brief introduction of hello worldproject==279 +* Example1: 0x03 268 268 281 + Sound_ACK: (03>>1) & 0x01=1, OPEN. 269 269 270 - Theprojectconsistsoftwoscreens.Thefirstscreendisplaysthe company's logo, the project name, and a buttonto navigatetothenextscreen.The second screen presents some information about this HMI screen product through an image and includes a button to return to the previous screen.283 +**~ ** Sound_key: 03 & 0x01=1, OPEN. 271 271 285 +* Example2: 0x01 272 272 273 - ==2.6TestResult==287 + Sound_ACK: (01>>1) & 0x01=0, CLOSE. 274 274 289 +**~ ** Sound_key: 01 & 0x01=1, OPEN. 275 275 276 -By pressing the button lying bottom right, the screen can switch to another as expected. This indicates that the UI file has been successfully integrated into the project and is now effective. 277 277 278 - [[image:1727488067077-684.png||height="402"width="574"]]292 +==== (% style="color:blue" %)**Alarm:**(%%) ==== 279 279 280 - image21 screen1294 +Key alarm. 281 281 282 -[[image:1727488157579-949.png||height="397" width="572"]] 296 +* Ex1: 0x01 & 0x01=1, TRUE. 297 +* Ex2: 0x00 & 0x01=0, FALSE. 283 283 284 - image 22screen2299 +==== (% style="color:blue" %)**Temperature:**(%%) ==== 285 285 301 +* Example1: 0x0111/10=27.3℃ 302 +* Example2: (0xFF0D-65536)/10=-24.3℃ 286 286 287 - =3. Example Project1:LoRaCentralDisplay=304 +If payload is: FF0D : (FF0D & 8000 == 1) , temp = (FF0D - 65536)/100 =-24.3℃ 288 288 289 - [[image:image-20240916101737-1.png||height="468"width="683"]]306 +(FF0D & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative) 290 290 291 291 292 -= 4.ExampleProject 2: LoRaWAN RS485 Alarm =309 +==== (% style="color:blue" %)**Humidity:**(%%) ==== 293 293 294 -(% class="wikigeneratedid" %) 295 -= 5. The way to add a new panel to project = 311 +* Humidity: 0x02A8/10=68.0% 296 296 297 - ~1.Design apanelSquareLineStudio, usingimage5.1 belowas a reference.313 +=== 2.4.3 Uplink FPORT~=3, Datalog sensor value === 298 298 299 -[[image:image-20241121113445-1.png||height="584" width="934"]] 300 300 301 - ge 5.1apanelaboutwater_leak316 +PB01 stores sensor value and user can retrieve these history value via downlink command. The Datalog sensor value are sent via FPORT=3. 302 302 303 -2. Export theuifile. You needo adjust theexport path first, then click "Export->Export UI Files". Thisstephad been introduced before. Thenyou canget the ui files as shownin image5.2.318 +[[image:image-20240510144912-1.png||height="471" width="1178"]](% style="display:none" %) 304 304 305 -[[image:image-20241121141120-4.png||height="383" width="795"]] 306 306 307 - image5.2ui filesexported321 +* Each data entry is 11 bytes, to save airtime and battery, PB01 will send max bytes according to the current DR and Frequency bands.(% style="display:none" %) 308 308 309 - 3.Deleteor renamesomefile.Herearehesteps:323 +For example, in US915 band, the max payload for different DR is: 310 310 311 - 3.1 Delete the 'components' directory. 312 - 3.2 Delete 'filelist.txt'. 313 - 3.3 Delete 'ui_helpers.c' and 'ui_helpers.h'. 314 - 3.4 Rename 'ui_ScreenMain.c' in the 'screens' directory to 'ui_water_leak_style.c'. 315 - 3.5 Rename the 'screens' directory to 'styles'. 325 +1. **DR0**: max is 11 bytes so one entry of data 326 +1. **DR1**: max is 53 bytes so devices will upload 4 entries of data (total 44 bytes) 327 +1. **DR2**: total payload includes 11 entries of data 328 +1. **DR3**: total payload includes 22 entries of data. 316 316 317 - [[image:image-20241121151934-10.png||height="303"width="792"]]330 +(% style="color:red" %)**Notice: PB01 will save 178 set of history data, If device doesn't have any data in the polling time. Device will uplink 11 bytes of 0.** 318 318 319 - image5.3restfile1332 +See more info about the [[Datalog feature>>||anchor="H2.6A0DatalogFeature"]]. 320 320 321 - [[image:image-20241121142925-7.png||height="141"width="793"]]334 +(% style="display:none" %) (%%) 322 322 323 - image 5.4restfile2336 +=== 2.4.4 Decoder in TTN V3 === 324 324 325 -4. Open this project in vscode. 326 326 327 - 5.Addfile includepathabout water_leakinextra_lib/CMakeLists.txtasshown in image 5.5,5.6,anditsformat issimilar totheem_humoroor.339 +In LoRaWAN protocol, the uplink payload is HEX format, user need to add a payload formatter/decoder in LoRaWAN Server to get human friendly string. 328 328 329 - [[image:image-20241121181957-17.png||height="438"width="516"]]341 +In TTN , add formatter as below: 330 330 331 - 5 beforeadd343 +[[image:image-20240507162814-16.png||height="778" width="1135"]] 332 332 333 -[[image:image-20241121182239-18.png||height="520" width="518"]] 345 +((( 346 +Please check the decoder from this link: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]] 347 +))) 334 334 335 - image 5.6 after add 349 +((( 350 + 351 +))) 336 336 337 - 6.Modify header file include in fonts and images directory. Open the fonts/ui_font_Font12.cfile, as shownin image 5.7,thenmodify the '#include"../ui.h"' to '#include "../ui_water_leak.h"', theimage 5.8 is the modified image. Other font file need to be modified in same way.353 +== 2.5 Show data on Datacake == 338 338 339 -[[image:image-20241121171629-11.png]] 340 340 341 - image 5.7 before-modified font file 356 +((( 357 +Datacake IoT platform provides a human friendly interface to show the sensor data in charts, 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: 358 +))) 342 342 343 -[[image:image-20241121171901-12.png]] 360 +((( 361 + 362 +))) 344 344 345 - image 5.8 modified font file 364 +((( 365 +(% style="color:blue" %)**Step 1**(%%): Be sure that your device is programmed and properly connected to the LoRaWAN network. 366 +))) 346 346 347 -Open the images/ui_img_battery_empty_png.c file, as shown in image 5.9, then modify the '#include "../ui.h"' to '#include "../ui_water_leak.h"', the image 5.10 is the modified image. Other image file need to be modified in same way. 368 +((( 369 +(% 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. 370 +))) 348 348 349 -[[image:image-20241121172714-13.png]] 372 +((( 373 +~1. Add Datacake: 374 +))) 350 350 351 - image 5.9 before-modified image file 376 +((( 377 +2. Select default key as Access Key: 378 +))) 352 352 353 -[[image:image-20241121172908-14.png]] 380 +((( 381 +3. In Datacake console ([[https:~~/~~/datacake.co/>>url:https://datacake.co/]]) , add PB01: 382 +))) 354 354 355 - image 5.10 modified image file 384 +((( 385 + Please refer to the figure below. 386 +))) 356 356 357 - 7. Modify the ui_water_leak/CMakeLists.txt. Open this file, andmodify it from image.11to image5.12.388 +[[image:image-20240510150924-2.png||height="612" width="1186"]] 358 358 359 -[[image:image-20241121180030-15.png]] 360 360 361 - image5.11beforemodification391 +Log in to DATACAKE, copy the API under the account. 362 362 363 -[[image:image-20241 121180517-16.png]]393 +[[image:image-20240510151944-3.png||height="581" width="1191"]] 364 364 365 - image 5.12 after modification 366 366 367 -8. 368 368 397 +[[image:image-20240510152150-4.png||height="697" width="1188"]] 369 369 370 370 400 +[[image:image-20240510152300-5.png||height="298" width="1191"]] 371 371 372 372 403 +[[image:image-20240510152355-6.png||height="782" width="1193"]] 373 373 405 +[[image:image-20240510152542-8.png||height="545" width="739"]] 374 374 407 +[[image:image-20240510152634-9.png||height="748" width="740"]] 375 375 376 376 410 +[[image:image-20240510152809-10.png||height="607" width="732"]] 377 377 412 +[[image:image-20240510153934-14.png||height="460" width="1199"]] 378 378 414 + 415 +[[image:image-20240510153435-12.png||height="428" width="1197"]] 416 + 417 + 418 +Copy and paste the [[TTN decoder>>https://github.com/dragino/dragino-end-node-decoder]] here and save. 419 + 420 +[[image:image-20240510153624-13.png||height="468" width="1195"]] 421 + 422 + 423 +Visual widgets please read the DATACAKE documentation. 424 + 425 +(% style="display:none" %) (%%) 426 + 427 +== 2.6 Datalog Feature == 428 + 429 + 430 +(% _msthash="315262" _msttexthash="32283004" _mstvisible="1" %) 431 +When user want to retrieve sensor value, he can send a poll command from the IoT platform to ask sensor to send value in the required time slot. 432 + 433 + 434 +=== 2.6.1 Unix TimeStamp === 435 + 436 + 437 +Unix TimeStamp shows the sampling time of uplink payload. format base on 438 + 439 +[[image:image-20220523001219-11.png||_mstalt="450450" _mstvisible="3" height="97" width="627"]] 440 + 441 +User can get this time from link: [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/||_mstvisible="3"]] : 442 + 443 +For example: if the Unix Timestamp we got is hex 0x60137afd, we can convert it to Decimal: 1611889405. and then convert to the time: 2021 – Jan ~-~- 29 Friday 03:03:25 (GMT) 444 + 445 + 446 +[[image:1655782409139-256.png]] 447 + 448 + 449 +=== 2.6.2 Poll sensor value === 450 + 451 + 452 +((( 453 +User can poll sensor value based on timestamps from the server. Below is the downlink command. 454 +))) 455 + 456 +((( 457 +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. 458 +))) 459 + 460 +((( 461 +For example, downlink command [[image:image-20220621113526-13.png]] (% _mstvisible="3" style="display:none" %) 462 +))) 463 + 464 +((( 465 +Is to check 2020/12/1 07:40:00 to 2020/12/1 08:40:00's data 466 +))) 467 + 468 +((( 469 +Uplink Internal =5s,means PB01 will send one packet every 5s. range 5~~255s. 470 +))) 471 + 472 + 473 +=== 2.6.3 Datalog Uplink payload === 474 + 475 + 476 +See [[Uplink FPORT=3, Datalog sensor value>>||anchor="H2.4.3A0UplinkFPORT3D32CDatalogsensorvalue"]] 477 + 478 +(% style="display:none" %) (%%) (% style="display:none" %) 479 + 480 +== 2.7 Button == 481 + 482 + 483 +* ACT button 484 + 485 +Long press this button PB01 will reset and join network again. 486 + 487 +[[image:image-20240510161626-17.png||height="192" width="224"]] 488 + 489 +* Alarm button 490 + 491 +Press the button PB01 will immediately uplink data, and alarm is "TRUE". 492 + 493 +[[image:image-20240705095149-5.png||height="164" width="162"]](% style="display:none" %) 494 + 495 + 496 +== 2.8 LED Indicator == 497 + 498 + 499 +((( 500 +The PB01 has a triple color LED which for easy showing different stage. 501 +))) 502 + 503 +Hold the ACT green light to rest, then the green flashing node restarts, the blue flashing once upon request for network access, and the green constant light for 5 seconds after successful network access 504 + 505 +((( 506 +(% style="color:#037691" %)**In a normal working state**: 507 +))) 508 + 509 +* When the node is restarted, hold the ACT (% style="color:green" %)**GREEN**(%%) lights up , then the (% style="color:green" %)**GREEN**(%%) flashing node restarts.The (% style="color:blue" %)**BLUE**(%%) flashing once upon request for network access, and the (% style="color:green" %)**GREEN**(%%) constant light for 5 seconds after successful network access(% style="color:#0000ff" %)**.** 510 +* During OTAA Join: 511 +** **For each Join Request uplink:** the (% style="color:green" %)**GREEN LED** (%%)will blink once. 512 +** **Once Join Successful:** the (% style="color:green" %)**GREEN LED**(%%) will be solid on for 5 seconds. 513 +* After joined, for each uplink, the (% style="color:blue" %)**BLUE LED**(%%) or (% style="color:green" %)**GREEN LED** (%%)will blink once. 514 +* Press the alarm button,The (% style="color:red" %)**RED**(%%) flashes until the node receives the ACK from the platform and the (% style="color:blue" %)**BLUE**(%%) light stays 5s. 515 + 516 +((( 517 + 518 +))) 519 + 520 +== 2.9 Buzzer == 521 + 522 + 523 +The PB01 has** button sound** and** ACK sound** and users can turn on or off both sounds by using [[AT+SOUND>>||anchor="H3.3A0Setbuttonsoundandbuttonalarm"]]. 524 + 525 +* (% style="color:#4f81bd" %)**Button sound**(%%)** **is the music produced by the node after the alarm button is pressed. 526 + 527 + Users can use[[ AT+OPTION>>||anchor="H3.4A0Setbuzzermusic2807E429"]] to set different button sounds. 528 + 529 +* (% style="color:#4f81bd" %)**ACK sound **(%%)is the notification tone that the node receives ACK. 530 + 531 += 3. Configure PB01 via AT command or LoRaWAN downlink = 532 + 533 + 534 +Users can configure PB01 via AT Command or LoRaWAN Downlink. 535 + 536 +* AT Command Connection: See [[FAQ>>||anchor="H6.FAQ"]]. 537 + 538 +* LoRaWAN Downlink instruction for different platforms: [[IoT LoRaWAN Server>>doc:Main.WebHome]] 539 + 540 +There are two kinds of commands to configure PB01, they are: 541 + 542 +* (% style="color:#4f81bd" %)**General Commands:** 543 + 544 +These commands are to configure: 545 + 546 +* General system settings like: uplink interval. 547 + 548 +* LoRaWAN protocol & radio-related commands. 549 + 550 +They are the same for all Dragino Devices which supports DLWS-005 LoRaWAN Stack(Note~*~*). These commands can be found on the wiki: [[End Device Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]] 551 + 552 + 553 +* (% style="color:#4f81bd" %)**Commands special design for PB01** 554 + 555 +These commands are only valid for PB01, as below: 556 + 557 +(% style="display:none" %) (%%) 558 + 559 +== 3.1 Downlink Command Set == 560 + 561 + 562 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:500px" %) 563 +|=(% style="width: 130px; background-color: rgb(79, 129, 189); color: white;" %)**Command Example**|=(% style="width: 151px; background-color: rgb(79, 129, 189); color: white;" %)**Function**|=(% style="width: 92px; background-color: rgb(79, 129, 189); color: white;" %)**Response**|=(% style="width: 206px; background-color: rgb(79, 129, 189); color: white;" %)**Downlink** 564 +|(% style="width:130px" %)AT+TDC=?|(% style="width:151px" %)((( 565 + 566 + 567 +View current TDC time 568 +)))|(% style="width:92px" %)((( 569 +1200000 570 +OK 571 +)))|(% style="width:206px" %)Default 1200000(ms) 572 +|(% style="width:130px" %)AT+TDC=300000|(% style="width:151px" %)Set TDC time|(% style="width:92px" %)OK|(% style="width:206px" %)((( 573 +((( 574 +0X0100012C: 575 +01: fixed command 576 +00012C: 0X00012C= 577 + 578 +300(seconds) 579 +))) 580 + 581 +((( 582 + 583 +))) 584 +))) 585 +|(% style="width:130px" %)ATZ|(% style="width:151px" %)Reset node|(% style="width:92px" %) |(% style="width:206px" %)0x04FF 586 +|(% style="width:130px" %)AT+FDR|(% style="width:151px" %)Restore factory settings|(% style="width:92px" %) |(% style="width:206px" %)0X04FE 587 +|(% style="width:130px" %)AT+CFM=?|(% style="width:151px" %)View the current confirmation mode status|(% style="width:92px" %)((( 588 +0,7,0 589 + 590 +OK 591 +)))|(% style="width:206px" %)Default 0,7,0 592 +|(% style="width:130px" %)AT+CFM=1,7,1|(% style="width:151px" %)((( 593 +Confirmed uplink mode, the maximum number of retries is seven, and uplink fcnt increase by 1 for each retry 594 +)))|(% style="width:92px" %)((( 595 +OK 596 +)))|(% style="width:206px" %)((( 597 +05010701 598 + 599 +05: fixed command 600 + 601 +01:confirmed uplink 602 + 603 +07: retry 7 times 604 + 605 +01: fcnt count plus 1 606 +))) 607 +|(% style="width:130px" %)AT+NJM=?|(% style="width:151px" %)((( 608 +Check the current network connection method 609 +)))|(% style="width:92px" %)((( 610 +1 611 +OK 612 +)))|(% style="width:206px" %)Default 1 613 +|(% style="width:130px" %)AT+NJM=0|(% style="width:151px" %)Change the network connection method to ABP|(% style="width:92px" %)((( 614 +Attention:Take effect after ATZ 615 +OK 616 +)))|(% style="width:206px" %)((( 617 +0X2000: ABP 618 +0x2001: OTAA 619 +20: fixed command 620 +))) 621 +|(% style="width:130px" %)AT+RPL=?|(% style="width:151px" %)View current RPL settings|(% style="width:92px" %)((( 622 +0 623 +OK 624 +)))|(% style="width:206px" %)Default 0 625 +|(% style="width:130px" %)AT+RPL=1|(% style="width:151px" %)set RPL=1 |(% style="width:92px" %)OK|(% style="width:206px" %)((( 626 +0x2101: 627 +21: fixed command 628 +01: for details, check wiki 629 +))) 630 +|(% style="width:130px" %)AT+ADR=?|(% style="width:151px" %)View current ADR status|(% style="width:92px" %)((( 631 +1 632 +OK 633 +)))|(% style="width:206px" %)Default 0 634 +|(% style="width:130px" %)AT+ADR=0|(% style="width:151px" %)Set the ADR state to off|(% style="width:92px" %)OK|(% style="width:206px" %)((( 635 +0x2200: close 636 +0x2201: open 637 +22: fixed command 638 +))) 639 +|(% style="width:130px" %)AT+DR=?|(% style="width:151px" %)View the current DR settings|(% style="width:92px" %)OK|(% style="width:206px" %) 640 +|(% style="width:130px" %)AT+DR=1|(% style="width:151px" %)((( 641 +set DR to 1 642 +It takes effect only when ADR=0 643 +)))|(% style="width:92px" %)OK|(% style="width:206px" %)((( 644 +0X22000101: 645 +00: ADR=0 646 +01: DR=1 647 +01: TXP=1 648 +22: fixed command 649 +))) 650 +|(% style="width:130px" %)AT+TXP=?|(% style="width:151px" %)View the current TXP|(% style="width:92px" %)OK|(% style="width:206px" %) 651 +|(% style="width:130px" %)AT+TXP=1|(% style="width:151px" %)((( 652 +set TXP to 1 653 +It takes effect only when ADR=0 654 +)))|(% style="width:92px" %)OK|(% style="width:206px" %)((( 655 +0X22000101: 656 +00: ADR=0 657 +01: DR=1 658 +01: TXP=1 659 +22: fixed command 660 +))) 661 +|(% style="width:130px" %)AT+RJTDC=10|(% style="width:151px" %)Set RJTDC time interval|(% style="width:92px" %)OK|(% style="width:206px" %)((( 662 +0X26000A: 663 +26: fixed command 664 +000A: 0X000A=10(min) 665 +for details, check wiki 666 +))) 667 +|(% style="width:130px" %) |(% style="width:151px" %)((( 668 +((( 669 +~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_ 670 + 671 +Retrieve stored data for a specified period of time 672 +))) 673 + 674 +((( 675 + 676 +))) 677 +)))|(% style="width:92px" %) |(% style="width:206px" %)((( 678 +0X3161DE7C7061DE8A800A: 679 +31: fixed command 680 +61DE7C70:0X61DE7C70=2022/1/12 15:00:00 681 +61DE8A80:0X61DE8A80=2022/1/12 16:00:00 682 +0A: 0X0A=10(second) 683 +View details 2.6.2 684 +))) 685 +|(% style="width:130px" %)AT+DDETECT=?|(% style="width:151px" %)View the current DDETECT setting status and time|(% style="width:92px" %)((( 686 +1,1440,2880 687 +OK 688 +)))|(% style="width:206px" %)Default 1,1440,2880(min) 689 +|(% style="width:130px" %)AT+DDETECT=((( 690 +1,1440,2880 691 +)))|(% style="width:151px" %)((( 692 +Set DDETECT setting status and time 693 +((% style="color:red" %)When the node does not receive the downlink packet within the set time, it will re-enter the network(%%)) 694 +)))|(% style="width:92px" %)OK|(% style="width:206px" %)((( 695 +0X320005A0: close 696 +0X320105A0: open 697 +32: fixed command 698 +05A0: 0X05A0=1440(min) 699 +))) 700 + 701 +== 3.2 Set Password == 702 + 703 + 704 +Feature: Set device password, max 9 digits. 705 + 706 +(% style="color:#4f81bd" %)**AT Command: AT+PWORD** 707 + 708 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:372px" %) 709 +|(% style="background-color:#4f81bd; color:white; width:155px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:128px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:89px" %)**Response** 710 +|(% style="width:155px" %)AT+PWORD=?|(% style="width:124px" %)Show password|(% style="width:86px" %)((( 711 +123456 712 +OK 713 +))) 714 +|(% style="width:155px" %)AT+PWORD=999999|(% style="width:124px" %)Set password|(% style="width:86px" %)OK 715 + 716 +(% style="color:#4f81bd" %)**Downlink Command:** 717 + 718 +No downlink command for this feature. 719 + 720 + 721 +== 3.3 Set button sound and ACK sound == 722 + 723 + 724 +Feature: Turn on/off button sound and ACK alarm. 725 + 726 +(% style="color:#4f81bd" %)**AT Command: AT+SOUND** 727 + 728 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:372px" %) 729 +|(% style="background-color:#4f81bd; color:white; width:155px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:128px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:89px" %)**Response** 730 +|(% style="width:155px" %)((( 731 +AT+SOUND=? 732 +)))|(% style="width:124px" %)Get the current status of button sound and ACK sound|(% style="width:86px" %)((( 733 +1,1 734 +OK 735 +))) 736 +|(% style="width:155px" %)((( 737 +AT+SOUND=0,1 738 +)))|(% style="width:124px" %)Turn off the button sound and turn on ACK sound|(% style="width:86px" %)OK 739 + 740 +(% style="color:#4f81bd" %)**Downlink Command: 0xA1 ** 741 + 742 +Format: Command Code (0xA1) followed by 2 bytes mode value. 743 + 744 +The first byte after 0XA1 sets the button sound, and the second byte after 0XA1 sets the ACK sound.** (0: off, 1: on)** 745 + 746 +* **Example: **Downlink Payload: A10001 ~/~/ Set AT+SOUND=0,1 Turn off the button sound and turn on ACK sound. 747 + 748 +== 3.4 Set buzzer music type(0~~4) == 749 + 750 + 751 +Feature: Set different alarm key response sounds.There are five different types of button music. 752 + 753 +(% style="color:#4f81bd" %)**AT Command: AT+OPTION** 754 + 755 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:372px" %) 756 +|(% style="background-color:#4f81bd; color:white; width:155px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:128px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:89px" %)**Response** 757 +|(% style="width:155px" %)((( 758 +AT+OPTION=? 759 +)))|(% style="width:124px" %)((( 760 +Get the buzzer music type 761 +)))|(% style="width:86px" %)((( 762 +3 763 + 764 +OK 765 +))) 766 +|(% style="width:155px" %)AT+OPTION=1|(% style="width:124px" %)Set the buzzer music to type 1|(% style="width:86px" %)OK 767 + 768 +(% style="color:#4f81bd" %)**Downlink Command: 0xA3** 769 + 770 +Format: Command Code (0xA3) followed by 1 byte mode value. 771 + 772 +* **Example: **Downlink Payload: A300 ~/~/ Set AT+OPTION=0 Set the buzzer music to type 0. 773 + 774 +== 3.5 Set Valid Push Time == 775 + 776 + 777 +Feature: Set the holding time for pressing the alarm button to avoid miscontact. Values range from** 0 ~~1000ms**. 778 + 779 +(% style="color:#4f81bd" %)**AT Command: AT+STIME** 780 + 781 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:372px" %) 782 +|(% style="background-color:#4f81bd; color:white; width:155px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:128px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:89px" %)**Response** 783 +|(% style="width:155px" %)((( 784 +AT+STIME=? 785 +)))|(% style="width:124px" %)((( 786 +Get the button sound time 787 +)))|(% style="width:86px" %)((( 788 +0 789 +OK 790 +))) 791 +|(% style="width:155px" %)((( 792 +AT+STIME=1000 793 +)))|(% style="width:124px" %)Set the button sound time to 1000**ms**|(% style="width:86px" %)OK 794 + 795 +(% style="color:#4f81bd" %)**Downlink Command: 0xA2** 796 + 797 +Format: Command Code (0xA2) followed by 2 bytes mode value. 798 + 799 +* **Example: **Downlink Payload: A203E8 ~/~/ Set AT+STIME=1000 800 + 801 +**~ Explain: **Hold the alarm button for 10 seconds before the node will send the alarm packet. 802 + 803 + 804 + 805 + 379 379 = 6. FAQ = 380 380 381 -== 6.1 == 808 +== 6.1 == 382 382 383 383 384 384 = 7. Order Info = ... ... @@ -385,13 +385,12 @@ 385 385 386 386 == 7.1 Part Number == 387 387 388 - 389 389 Part Number: (% style="color:#4472c4" %)LTS5 390 390 817 + 391 391 392 392 == 7.2 Packing Info == 393 393 394 - 395 395 **Package Includes**: 396 396 397 397 * LTS5 HMI Touch Screen ... ... @@ -398,19 +398,20 @@ 398 398 * 5V,2A DC Power Adapter. 399 399 * USB Type C Program Cable 400 400 827 + 401 401 = 8. Support = 402 402 403 - 404 404 * 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. 405 405 * 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]]. 406 406 833 + 407 407 = 9. Reference material = 408 408 409 - 410 410 * Datasheet 411 411 * Source Code 412 412 * Mechinical 413 413 840 + 414 414 = 10. FCC Warning = 415 415 416 416
- 1727229396732-319.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -197.2 KB - Content
- 1727229550717-684.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -113.9 KB - Content
- 1727229582471-566.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -73.6 KB - Content
- 1727229618724-758.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -118.7 KB - Content
- 1727229653254-680.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -116.2 KB - Content
- 1727229682537-381.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -51.5 KB - Content
- 1727229715361-392.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -75.2 KB - Content
- 1727229740592-843.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -87.3 KB - Content
- 1727229760857-521.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -24.7 KB - Content
- 1727229798126-306.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -53.6 KB - Content
- 1727229821582-258.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -76.1 KB - Content
- 1727229845835-509.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -68.3 KB - Content
- 1727229892636-154.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -192.0 KB - Content
- 1727229926561-300.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -178.0 KB - Content
- 1727229955611-607.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -100.4 KB - Content
- 1727229990795-405.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -383.6 KB - Content
- 1727230012478-930.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -477.1 KB - Content
- 1727231038705-173.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -94.6 KB - Content
- 1727233636007-933.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -114.8 KB - Content
- 1727484665746-713.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -94.9 KB - Content
- 1727485118799-984.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -11.8 KB - Content
- 1727485251053-655.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -20.4 KB - Content
- 1727485480434-713.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -24.7 KB - Content
- 1727485933579-550.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -55.6 KB - Content
- 1727485953726-175.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -91.6 KB - Content
- 1727486567182-334.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -42.6 KB - Content
- 1727486578489-774.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -66.0 KB - Content
- 1727487368023-281.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -28.5 KB - Content
- 1727488067077-684.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -604.7 KB - Content
- 1727488099947-341.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -877.7 KB - Content
- 1727488108117-780.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -877.7 KB - Content
- 1727488157579-949.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -877.7 KB - Content
- image-20240916101737-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -156.7 KB - Content
- image-20240925110638-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -262.7 KB - Content
- image-20240928090825-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -30.2 KB - Content
- image-20240928103357-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -153.7 KB - Content
- image-20240928103506-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -197.7 KB - Content
- image-20240928105309-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -80.2 KB - Content
- image-20240928110211-5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -228.0 KB - Content
- image-20240928111412-6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -150.9 KB - Content
- image-20240928111654-7.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -105.4 KB - Content
- image-20240928112001-8.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -75.6 KB - Content
- image-20240928113424-9.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -50.8 KB - Content
- image-20240928114139-10.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -114.3 KB - Content
- image-20240928144830-11.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -25.5 KB - Content
- image-20241121113445-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -250.0 KB - Content
- image-20241121120222-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -44.8 KB - Content
- image-20241121120830-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -42.6 KB - Content
- image-20241121141120-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -41.7 KB - Content
- image-20241121141315-5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -29.4 KB - Content
- image-20241121141329-6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -29.4 KB - Content
- image-20241121142925-7.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -14.8 KB - Content
- image-20241121145915-8.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -61.0 KB - Content
- image-20241121150911-9.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -73.0 KB - Content
- image-20241121151934-10.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -32.9 KB - Content
- image-20241121171629-11.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -16.9 KB - Content
- image-20241121171901-12.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -17.2 KB - Content
- image-20241121172714-13.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -26.4 KB - Content
- image-20241121172908-14.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -27.1 KB - Content
- image-20241121180030-15.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -27.7 KB - Content
- image-20241121180517-16.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -26.5 KB - Content
- image-20241121181957-17.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -59.3 KB - Content
- image-20241121182239-18.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -71.3 KB - Content
- image-20241122092239-19.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -270.9 KB - Content
- image-20241122092655-20.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -251.6 KB - Content
- image-20241122093445-21.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -128.9 KB - Content
- image-20241122093601-22.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -120.0 KB - Content
- image-20241122094200-23.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.xieby - Size
-
... ... @@ -1,1 +1,0 @@ 1 -289.2 KB - Content