Show last authors
1
2 [[image:image-20240915231842-1.png]]
3
4
5 (% _mstvisible="1" %)
6 (% _msthash="315238" _msttexthash="18964465" _mstvisible="3" %)**Table of Contents:**
7
8 {{toc/}}
9
10
11
12
13
14
15
16
17 = 1.  Introduction =
18
19 == 1.1  What is LTS5 LoRa HMI touch screen ==
20
21 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.
22
23 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.
24
25 The HMI touch screen of LTS5 supports drap & drop design. Developer can use SquareLine to easily customize the display UI for different application.
26
27 LTS5 use LA66 LoRa module, this module can be program to support private LoRa protocol or LoRaWAN protocol.
28
29
30 == 1.2  Features ==
31
32 * ESP32-WROOM MCU: 8MB RAM & 16MB ROM
33 * Dragino LA66 LoRa Module
34 * Support Private LoRa protocol or LoRaWAN protocol
35 * Support WiFi & BLE wireless protocol
36 * 5.0" HMI touch screen
37 * Support LVGL case. SquareLine program.
38 * Support RS485 Interface
39 * Open Source Project
40 * Wall Attachable.
41 * 5V DC power
42 * IP Rating: IP52
43
44 == 1.3  Specification ==
45
46 **LoRa**:
47
48 * Frequency Range: 870 MHz ~~ 960 MHz
49 * TCXO crystal to ensure RF performance on low temperature
50 * Maximum Power +22 dBm constant RF output
51 * High sensitivity: -148 dBm
52 * LoRa Tx Current: <90 mA at +17 dBm, 108 mA at +22 dBm
53 * LoRa Rx current: <9 mA
54
55 **WiFi:**
56
57 * 802.11b/g/n
58 * Up to 150 Mbps data rate in 802.11n mode
59 * Support A-MPDU and A-MSDU aggregation
60 * zero point four μ S protection interval
61 * Working channel center frequency range: 2412~~2484 MHz
62
63 **Bluetooth:**
64
65 * Bluetooth V4.2 BR/EDR and Bluetooth LE standard
66 * Class-1, Class-2, and Class-3 transmitters.
67 * AFH
68 * CVSD and SBC
69
70 **Display:**
71
72 * 5.0 Inch , 800 x 480
73 * IPS Capacitive Touch SCreen
74 * RGB color.
75 * Display Area: 120.7*75.80 mm
76
77 == 1.4  Power Consumption ==
78
79 * External 5V DC power adapter
80
81 == 1.5  Storage & Operation Temperature ==
82
83 * Operation Temperature: -20 ~~ 70°C  (No Dew)
84 * Storage Temperature: -30 ~~ 70°C  (No Dew)
85
86 == 1.6  Applications ==
87
88 * Smart Buildings & Home Automation
89 * Logistics and Supply Chain Management
90 * Smart Metering
91 * Smart Agriculture
92 * Smart Cities
93 * Smart Factory
94
95 = 2.  Getting Started with Hello World =
96
97 == 2.1  About this demo ==
98
99 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.
100
101 == 2.2  Install Software Running Environment ==
102
103 The ESP MCU can be developed using ESP-IDF, Arduino, or MicroPython. For this project, we utilize ESP-IDF for compilation and Visual Studio Code (VSCode) for editing.
104
105 === 2.2.1 Install VSCode and ESP-IDF extension ===
106
107 Firstly, download and install VSCode for your computer's operating system from the official website: [[Download Visual Studio Code - Mac, Linux, Windows>>url:https://code.visualstudio.com/download]].
108
109 Next, you need to install the ESP-IDF extension within VSCode. The detailed operation steps are illustrated in image 1.
110
111 [[image:image-20240928110211-5.png||height="508" width="866"]]
112
113 image 1 ESP-IDF extension install
114
115 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]]
116
117 === 2.2.2 Install SquareLine Studio ===
118
119 The version we are utilizing for this software is 1.4.2. You can download it from the official link: [[SquareLine Studio - Download the current version of SquareLine Studio>>url:https://squareline.io/downloads#lastRelease]].
120
121 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.
122
123 == 2.3 Simple usage of SquareLine Studio and export UI code ==
124
125 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.
126
127
128 [[image:image-20240928103357-2.png||height="680" width="708"]]
129
130 image 2 create a SquareLine project
131
132 Next, we need to make some settings for this project. By clicking in the specified order on image 3, we can see the page as shown in image 4.
133
134 [[image:1727229582471-566.png]]
135
136 image 3 project settings
137
138 [[image:image-20240928105309-4.png||height="526" width="556"]]
139
140 image 4 modify project settings
141
142 Now we can start to use this software. Here are some usage information for this software.
143
144 **1.add widget**
145
146 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.
147
148 [[image:image-20240928111412-6.png||height="526" width="864"]]
149
150 image 5 add widgets
151
152 **2.modify widget**
153
154 The area for modifying widgets is called "Inspector". There are four parts in the "Inspector" tab. We use three of them more frequently, excluding "COMPONENT". The second part is aimed at adjusting the layout, size, position, alignment, flags, and states, etc. of widgets. The name of the second part indicates the type of widget it is representing, and in image 6, it is "BUTTON".
155
156 [[image:1727485118799-984.png]]
157
158 image 6 the button widget's "Inspector" tab
159
160 Second part: "Layout" means a auto position-management for widgets contained in the parent widget. "Transform" includes size, position and align modification.
161
162 [[image:1727485251053-655.png]]
163
164 image 7 the button widget's "BUTTON" tab
165
166 Third part: It is an area of style setting.
167
168 Fourth part: It is an area for adding events. In image 8, it is adding a click event to a button. If the button is clicked after the click event is added as shown in image 8, the current screen will fade into another specified screen, and the switching process will last 500ms.
169
170 [[image:1727485480434-713.png||height="395" width="290"]]
171
172 image 8 add event for button
173
174 **3.change label widget content**
175
176 Modify the content in text as shown in image 9, the text content of label widget will be changed accordingly.
177
178 [[image:image-20240928090825-1.png||height="327" width="391"]]
179
180 image 9 modify text content of label widget
181
182 **4.Add image into project**
183
184 To use the image widget, you should first add an image to your project. The image format must be PNG, and its resolution should not exceed 800x480 pixels. There are two ways to add an image file. One way is to move your image into the folder "…/squareline project/assets/", as shown in image 10. The other way is to click the "ADD FILE INTO ASSETS" button, then select an image from your computer to import. After adding, you can see the image in the "assets" area in SquareLine Studio, as demonstrated in image 11.
185
186 [[image:image-20240928113424-9.png||height="355" width="505"]]
187
188 image 10 add image file into SquareLine Studio project
189
190 [[image:image-20240928114139-10.png||height="559" width="810"]]
191
192 image 11 use image widget in SquareLine Studio
193
194 **5.The relationship between widgets**
195
196 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
198 [[image:1727486567182-334.png||height="318" width="278"]]
199
200 image 12 move label1 to make label1 widget be a child of button1 widget(1)
201
202 [[image:image-20240928112001-8.png||height="431" width="796"]]
203
204 image 13 move label1 to make label1 widget be a child of button1 widget(2)
205
206 **6.Preview the final effect**
207
208 An advantage 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
210 [[image:1727487368023-281.png]]
211
212 image 14 click on the triangle icon to start or end the simulation
213
214 For more detailed usage, please visit the official link: [[SquareLine Studio 1.4.2 Documentation ~| SquareLine Studio>>url:https://docs.squareline.io/docs/squareline/]].
215
216
217 == 2.4 Integrate UI Code to ESP-IDF Project ==
218
219 To achieve the integrating, we first need to export the UI code, then make some modifications, and finally relocate the UI code to a specific position within the project.
220
221 [[image:1727229798126-306.png]]
222
223 image 15 export UI file
224
225 [[image:1727229821582-258.png||height="333" width="662"]]
226
227 image 16 exported UI file
228
229 Create a empty directory entitled "ui" in path "basic_prj/app_components/ui/", and then copy all UI code exported to this directory.
230
231 [[image:image-20240928144830-11.png]]
232
233 image 17 open CMakeLists.txt
234
235 [[image:1727229892636-154.png||height="521" width="407"]]
236
237 image 18 modify CMakeLists.txt
238
239 The last step of integrating is adding two lines of code in main.c file.
240
241 [[image:1727229926561-300.png]]
242
243 image 19 add "ui.h"
244
245 [[image:1727229955611-607.png]]
246
247 image 20 add "ui_init()"
248
249 == 2.5 Brief introduction of hello world project ==
250
251 The project consists of two screens. The first screen displays the company's logo, the project name, and a button to navigate to the next screen. The second screen presents some information about this HMI screen product through an image and includes a button to return to the previous screen.
252
253 == 2.6 Test Result ==
254
255 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.
256
257 [[image:1727488067077-684.png||height="402" width="574"]]
258
259 image 21 screen1
260
261 [[image:1727488157579-949.png||height="397" width="572"]]
262
263 image 22 screen2
264
265 = 3. Example Project 1: LoRa Central Display =
266
267 [[image:image-20240916101737-1.png||height="468" width="683"]]
268
269
270
271 = 4. Example Project 2: LoRaWAN RS485 Alarm =
272
273
274 = 6. FAQ =
275
276 == 6.1 ==
277
278
279 = 7. Order Info =
280
281 == 7.1  Part Number ==
282
283 Part Number: (% style="color:#4472c4" %)LTS5
284
285
286 == 7.2  Packing Info ==
287
288 **Package Includes**:
289
290 * LTS5 HMI Touch Screen
291 * 5V,2A DC Power Adapter.
292 * USB Type C Program Cable
293
294 = 8. Support =
295
296 * 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.
297 * 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]].
298
299 = 9.  Reference material =
300
301 * Datasheet
302 * Source Code
303 * Mechinical
304
305 = 10. FCC Warning =
306
307
308 This device complies with part 15 of the FCC Rules.Operation is subject to the following two conditions:
309
310 (1) This device may not cause harmful interference;
311
312 (2) this device must accept any interference received,including interference that may cause undesired operation.
313
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0