Wiki source code of Node-RED_Install and Use

Version 134.1 by Mengting Qiu on 2024/11/29 10:14

Show last authors
1 (% class="wikigeneratedid" id="HEndDeviceFrequencyBand" %)
2 **Table of** **Contents:**
3
4 {{toc/}}
5
6
7
8
9 = 1. Installation =
10
11
12 Check installation instruction for different OS from this link: [[https:~~/~~/nodered.org/docs/getting-started/>>https://nodered.org/docs/getting-started/]]
13
14
15 == 1.1 Install Example for CENTOS ==
16
17 === 1.1.1 Installation ===
18
19
20 (% class="box infomessage" %)
21 (((
22 Reference Instruction from this link:  [[https:~~/~~/github.com/node-red/linux-installers>>https://github.com/node-red/linux-installers]]
23 Run below commands and wait for installation complete.
24 )))
25
26 [[image:image-20220526161040-1.png]]
27
28
29 (% style="color:blue" %)**Verify if the installation was successful**
30
31 Type in the command line interface ** (% style="color:red" %)node-red(%%)**(% style="color:red" %)  
32
33 The following information appears to prove that the installation has been successful
34
35 [[image:image-20220526161103-2.png]]
36
37
38 === 1.1.2 If you want to start Node-RED as a background process ===
39
40
41 Type in the command line interface  (% style="color:red" %)**nohup node-red &**
42
43 It will prompt after startup
44
45 [[image:image-20220519104601-5.png]]
46
47 After seeing the above information, press **enter.**
48
49 Type in the command line  exit.
50
51 The above is the installation and startup process of nodered. If you don't understand anything, you can go to the nodered official website. There are installation instructions for various systems. The address has a link at the top.
52
53
54 == 1.2 Install in Dragino Gataway ==
55
56
57 The below models from Dragino already have Node-Red installed by default. Users no need to install it by themselves.
58
59 * [[LPS8v2 Indoor LoRaWAN Gateway. >>https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]]
60
61 Other gateway model doesn't support built-in Node-Red server.
62
63
64 = 2. General Use of  Node-RED =
65
66
67 This section describes some basic features of Node-RED. For more info please check the [[Node-RED official document>>https://nodered.org/]].
68
69
70 == 2.1 Login to Node-RED interface ==
71
72
73 Enter your public IP address followed by the port number 1880
74
75 example:[[http:~~/~~/xxx.xx.xx.xx:1880/>>http://119.91.62.30:1880/]]
76
77 [[image:image-20220519104115-4.png||height="280" width="768"]]
78
79
80 == 2.2 Add flow ==
81
82
83 Take NBSN95 mod1 UDP protocol as an example
84
85 After logging into the interface click** (% style="color:red" %)"+" (%%)**to create a flow
86
87 [[image:image-20241119101328-1.png||height="460" width="970"]]
88
89 Rename the stream
90
91
92
93 [[image:image-20241119101551-2.png||height="465" width="979"]]
94
95
96 Drag UDP into the editing area
97
98 [[image:image-20241119101952-3.png||height="466" width="983"]]
99
100
101 The same method as above, drag and drop functions and debug into the editing area
102
103 [[image:image-20241119102218-4.png||height="468" width="986"]]
104
105 configure UDP in
106
107 [[image:image-20241119103312-7.png||height="470" width="991"]]
108
109
110 Write to the UDP port that the device node sends to the server
111
112 Example My UDP device node sends to server port 8585
113 just write 8585
114
115
116 (% style="color:red" %)**Note: that the port that is already in use cannot be used. If the receiving fails, you need to check whether the port of the server is occupied. The sending port of the device node should not use the default port used by the server, such as a common port such as 8080.**
117
118
119 In order to avoid data confusion, different types of nodes do not use the same UDP port, because different nodes have different data formats and different functions.
120
121 [[image:image-20241119105123-9.png||height="557" width="995"]]
122
123
124 When the node successfully sends data, the effect shown in the following figure will appear
125
126 [[image:image-20241119104939-8.png||height="473" width="996"]]
127
128
129 === 2.2.1 About function ===
130
131
132 If you are familiar with JS code, you can write it yourself
133 If you are not familiar, we have the JS code for each type of node, you just need to copy and paste it into it.([[dragino-end-node-red-Flow>>https://github.com/dragino/dragino-end-node-decoder/blob/main/Node-RED/NBSN95.json]])
134
135 [[image:image-20241119112519-14.png||height="483" width="1018"]]
136
137
138 == 2.3 Plot Chart for sensors ==
139
140
141 If you need data visualization, please refer to the following
142
143 [[image:image-20241119112928-15.png||height="484" width="1020"]]
144
145
146 (% style="color:blue" %)**1. Click Install**
147
148 (% style="color:blue" %)**2. Search the dashboard**
149
150 (% style="color:blue" %)**3. Click Install**
151
152
153 [[image:image-20241119110335-11.png||height="483" width="1018"]]
154
155
156 After the installation is successful, nodered will show the following node icon
157
158 [[image:image-20241119110539-12.png||height="484" width="1020"]]
159
160
161 === 2.3.1 the line chart as an example ===
162
163
164 Drag the line chart to the editing area
165
166 Just drag and drop as many as you need, or you can copy
167
168 The demo uses 3 kinds. Voltage, temperature, humidity
169
170 [[image:image-20241119114103-18.png||height="422" width="889"]]
171
172
173 double click function
174
175 [[image:image-20241119113522-16.png||height="425" width="896"]]
176
177
178 Adjusted to 3, because we need to display 3 charts
179
180 [[image:image-20241119113742-17.png||height="427" width="899"]]
181
182
183 === 2.3.2 the chart settings ===
184
185
186 Double-click while setting up the node as above
187
188
189 [[image:image-20241129100546-9.png||height="507" width="1068"]]
190
191
192 [[image:image-20241129100654-10.png||height="507" width="1067"]]
193
194
195 [[image:image-20241129100821-11.png||height="511" width="1076"]]
196
197
198
199 [[image:image-20220525185746-2.png||height="509" width="873"]]
200
201
202 [[image:http://8.211.40.43:8080/xwiki/bin/download/Main/Node-RED/node_red%20usage%20example/WebHome/image-20220519161650-32.png?rev=1.1||alt="image-20220519161650-32.png" height="722" width="726"]]
203
204
205 After the display interface is defined for the first time, subsequent charts can directly select the display interface
206
207 [[image:http://8.211.40.43:8080/xwiki/bin/download/Main/Node-RED/node_red%20usage%20example/WebHome/image-20220519162039-34.png?rev=1.1||alt="image-20220519162039-34.png" height="644" width="724"]]
208
209 ​​​​​​
210
211 [[image:image-20220525190106-3.png||height="575" width="724"]]
212
213
214 Connect graph nodes to functions with lines
215
216 Click to deploy
217
218 [[image:image-20241120090012-1.png||height="416" width="877"]]
219
220 Enter the server public IP + port 1880/ui
221
222 example:[[http:~~/~~/xxx.xx.xx.xx:1880/ui>>url:http://119.91.62.30:1880/ui/#!/18?socketid=WY1MCE0RFEKHey8KAADj]]
223
224 [[image:image-20241119134533-19.png||height="455" width="880"]]
225
226
227 At this point, the basic demonstration of nodered is completed. If you need to beautify the chart and various visualizations, you can go to the official documentation of nodered for further understanding.
228
229
230 == 2.4 Store Value ==
231
232
233 Regarding storage, we recommend two ways.
234
235
236 === 2.4.1 (% style="display:none" %) (%%)Method 1: Generate txt document directly ===
237
238
239 Sample JSON file: [[https:~~/~~/www.dropbox.com/sh/mduw85jcuwsua22/AAAvwPhg9z6dLjJhmZjqBf_ma?dl=0>>https://www.dropbox.com/sh/mduw85jcuwsua22/AAAvwPhg9z6dLjJhmZjqBf_ma?dl=0]]
240
241 [[image:image-20220713102658-1.png||height="346" width="728"]]
242
243
244 === 2.4.2 Method 2: Use sqlite database ===
245
246
247 ==== (% style="color:blue" %)**1.  Install SQLite**(%%) ====
248
249
250 [[image:image-20220713111030-2.png||height="438" width="739"]]
251
252
253
254 ==== (% style="color:blue" %)**2.  After the installation is successful, the nodes in the picture will appear**(%%) ====
255
256
257 [[image:image-20220713111200-3.png]]
258
259
260
261 ==== (% style="color:blue" %)**3.  Import sample flow**(%%) ====
262
263
264 Refer to the import example below to import the sqlite example flow
265
266 Download sample JSON file link: [[https:~~/~~/www.dropbox.com/sh/mduw85jcuwsua22/AAAvwPhg9z6dLjJhmZjqBf_ma?dl=0>>https://www.dropbox.com/sh/mduw85jcuwsua22/AAAvwPhg9z6dLjJhmZjqBf_ma?dl=0]]
267
268
269 = 3. Import Input Flow for Dragino Sensors =
270
271
272 Dragino provides input flow examples for the sensors.
273
274 User can download the required JSON file through [[Dragino Node-RED input flow template>>https://github.com/dragino/dragino-end-node-decoder/tree/main/Node-RED]].
275
276 Take LHT65N as an example  (Assume this node is already registered with TTN, MQTT protocol to connect)
277
278 [[image:image-20241129094455-1.png||height="537" width="1062"]]
279
280 [[image:image-20241129094558-2.png||height="538" width="1063"]]
281
282 [[image:image-20241129094724-3.png||height="513" width="1080"]]
283
284 [[image:image-20241129094850-4.png||height="513" width="1081"]]
285
286 After the import is successful, change the MQTT in node to your TTN information
287
288 [[image:image-20241129095458-6.png||height="511" width="1076"]]
289
290 [[image:image-20241129095351-5.png||height="515" width="1085"]]
291
292
293
294 Configure information consistent with your TTN
295
296
297 [[image:image-20241129095817-7.png||height="516" width="1087"]]
298
299 [[image:image-20241129095931-8.png||height="515" width="1085"]]
300
301
302
303 API keys generated by the password for you
304
305 [[image:image-20241119135338-21.png||height="515" width="1085"]]
306
307
308 Topic modify it to the following format
309
310 v3/(% style="color:red" %)Application ID(%%)@ttn/devices/(% style="color:red" %)End device ID(%%)/up
311
312 [[image:image-20241119135151-20.png||height="515" width="1085"]]
313
314 After the modification is completed, click Deploy
315
316
317 = 4. Add Dragino node =
318
319
320 Please do not modify the code anywhere to avoid any exceptions
321
322 The prerequisite is to install the Dragino node and the sqlite node dashboard node
323
324 The echarts library is placed in the static file of node red
325
326 Reference link: [[https:~~/~~/nodered.org/docs/user-guide/runtime/configuration>>]]
327
328 Please download the general flow and echarts files from this link:[[https:~~/~~/www.dropbox.com/scl/fo/677l8f3u3evpojcdcj3j7/h?rlkey=0iqbwf27dbyi75egmrp0p0yjx&dl=0>>https://www.dropbox.com/scl/fo/677l8f3u3evpojcdcj3j7/h?rlkey=0iqbwf27dbyi75egmrp0p0yjx&dl=0]]
329
330
331 == 4.1 Installing Dragino nodes ==
332
333
334 [[image:image-20240104095739-1.png||height="662" width="662"]]
335
336 [[image:image-20240104100026-2.png]]
337
338 [[image:image-20240104100109-3.png]]
339
340
341 == 4.2 Import General Flow ==
342
343
344 [[image:image-20240104100340-4.png]]
345
346 [[image:image-20240104100446-5.png||height="407" width="885"]]
347
348 Please refer to the previous chapters for MQTT settings and sqlite installation settings
349
350
351 == 4.3 Using flow ==
352
353
354 Just double-click on the drag ino decoder node and select it from the dropdown menu
355
356 Corresponding nodes are sufficient
357
358 [[image:image-20240104100928-6.png||height="439" width="755"]]
359
360 Setting the template node
361
362 [[image:image-20240104101446-8.png]]
363
364 When multiple nodes are needed in the same process
365
366 [[image:image-20240104103636-1.png]]
367
368 If using the NodeRed that comes with the Dragino gateway
369
370 Change to the following path
371
372 "/static/echarts.min.js"
373
374 [[image:image-20240110153029-1.png]]
375
376
377 After setting up, select deployment
378
379 [[image:image-20240104101346-7.png||height="242" width="724"]]
380
381 Enter the server public IP + port 1880/ui
382
383 example:[[http:~~/~~/xxx.xx.xx.xx:1880/ui>>url:http://119.91.62.30:1880/ui/#!/18?socketid=WY1MCE0RFEKHey8KAADj]]
384
385 You can see the UI display effect in the following picture
386
387 [[image:image-20240104104931-2.png||height="737" width="1131"]]
388
389
390 = 5. FAQ =
391
392 == 5.1 How to use Node-Red to schedule downlink to ChirpStack LoRaWAN Server? ==
393
394 === 5.1.1 Install node-red-node-base64 ===
395
396
397 [[image:image-20240222154204-1.png||height="456" width="983"]]
398
399 [[image:image-20240222154819-3.png||height="469" width="990"]]
400
401
402 === 5.1.2 Import Example Flow ===
403
404
405 The Json file for the example flow can be downloaded at this link:[[https:~~/~~/github.com/dragino/dragino-end-node-decoder/blob/main/Node-RED/chirpstack-MQTT-down.json.>>https://github.com/dragino/dragino-end-node-decoder/blob/main/Node-RED/chirpstack-MQTT-down.json]]
406
407 [[image:image-20240222155121-4.png||height="495" width="1017"]]
408
409 [[image:image-20240222155239-5.png||height="497" width="1020"]]
410
411
412 === 5.1.3 Establish connection ===
413
414
415 Setting up the server:
416
417 [[image:image-20240222160019-7.png||height="413" width="955"]]
418
419 [[image:image-20240222160223-8.png||height="416" width="956"]]
420
421 [[image:image-20240222160347-9.png||height="426" width="963"]]
422
423 Change the theme to Application lD and DevEUl for ChirpStack:
424
425 [[image:image-20240222160712-10.png||height="429" width="988"]]
426
427 [[image:image-20240222160735-11.png||height="417" width="984"]]
428
429 [[image:image-20240222160842-12.png||height="387" width="992"]]
430
431 And then,
432
433 [[image:image-20240222161010-13.png||height="454" width="997"]]
434
435 [[image:image-20240222161147-14.png||height="478" width="1002"]]
436
437 Connection established successfully:
438
439 [[image:image-20240222161252-15.png||height="412" width="1001"]]
440
441
442 === 5.1.4 Input downlink command ===
443
444
445 [[image:image-20240222161614-16.png||height="465" width="997"]]
446
447 [[image:image-20240222161937-17.png||height="472" width="997"]]
448
449
450 Example action video:[[https:~~/~~/youtu.be/Lqm-k5nQ5eU>>https://youtu.be/Lqm-k5nQ5eU]]
451
452
453 == 5.2 How to use Node-Red to schedule downlink to TTN-V3 LoRaWAN Server? ==
454
455 === 5.2.1 Reference 5.1.1 Installing base64 nodes ===
456
457 === 5.2.2 Import Example Flow ===
458
459
460 Reference 5.1.2
461
462 Taking LT-222222-L as an example
463
464 The Json file for the example flow can be downloaded at this link:[[https:~~/~~/github.com/dragino/dragino-end-node-decoder/blob/main/Node-RED/TTN-V3-MQTT-down.json>>https://github.com/dragino/dragino-end-node-decoder/blob/main/Node-RED/TTN-V3-MQTT-down.json]]
465
466 Please refer to this video for specific operation steps: [[https:~~/~~/youtu.be/kms679e4m_Y>>https://youtu.be/kms679e4m_Y]]