Wiki source code of Node-RED_Install and Use

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

Hide last authors
Edwin Chen 14.1 1 (% class="wikigeneratedid" id="HEndDeviceFrequencyBand" %)
Xiaoling 37.2 2 **Table of** **Contents:**
Edwin Chen 13.1 3
Edwin Chen 14.1 4 {{toc/}}
5
Herong Lu 2.1 6
Xiaoling 37.2 7
8
Xiaoling 59.3 9 = 1. Installation =
Xiaoling 37.2 10
11
Herong Lu 21.1 12 Check installation instruction for different OS from this link: [[https:~~/~~/nodered.org/docs/getting-started/>>https://nodered.org/docs/getting-started/]]
Herong Lu 2.1 13
14
Xiaoling 59.3 15 == 1.1 Install Example for CENTOS ==
Xiaoling 37.2 16
Xiaoling 59.3 17 === 1.1.1 Installation ===
Xiaoling 37.2 18
19
Edwin Chen 11.1 20 (% class="box infomessage" %)
21 (((
Herong Lu 21.1 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.
Edwin Chen 11.1 24 )))
Herong Lu 9.1 25
Xiaoling 32.2 26 [[image:image-20220526161040-1.png]]
Herong Lu 9.1 27
28
Xiaoling 37.4 29 (% style="color:blue" %)**Verify if the installation was successful**
Herong Lu 9.1 30
Xiaoling 37.4 31 Type in the command line interface ** (% style="color:red" %)node-red(%%)**(% style="color:red" %)  
32
Herong Lu 21.1 33 The following information appears to prove that the installation has been successful
Herong Lu 9.1 34
Xiaoling 32.2 35 [[image:image-20220526161103-2.png]]
Herong Lu 9.1 36
37
Xiaoling 59.3 38 === 1.1.2 If you want to start Node-RED as a background process ===
Herong Lu 9.1 39
Xiaoling 37.2 40
Xiaoling 37.4 41 Type in the command line interface  (% style="color:red" %)**nohup node-red &**
Herong Lu 9.1 42
Herong Lu 21.1 43 It will prompt after startup
Herong Lu 9.1 44
45 [[image:image-20220519104601-5.png]]
46
Xiaoling 41.2 47 After seeing the above information, press **enter.**
Herong Lu 9.1 48
Xiaoling 41.2 49 Type in the command line  exit.
Herong Lu 9.1 50
Xiaoling 41.2 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.
Edwin Chen 12.1 52
53
Xiaoling 59.3 54 == 1.2 Install in Dragino Gataway ==
Edwin Chen 15.1 55
Xiaoling 39.2 56
Edwin Chen 41.1 57 The below models from Dragino already have Node-Red installed by default. Users no need to install it by themselves.
Edwin Chen 12.1 58
Edwin Chen 41.1 59 * [[LPS8v2 Indoor LoRaWAN Gateway. >>https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]]
Xiaoling 37.2 60
Edwin Chen 41.1 61 Other gateway model doesn't support built-in Node-Red server.
Xiaoling 39.2 62
Edwin Chen 41.1 63
Xiaoling 59.3 64 = 2. General Use of  Node-RED =
Xiaoling 37.2 65
66
Edwin Chen 40.1 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
Xiaoling 59.3 70 == 2.1 Login to Node-RED interface ==
Xiaoling 37.2 71
72
Herong Lu 21.1 73 Enter your public IP address followed by the port number 1880
Edwin Chen 12.1 74
Herong Lu 21.1 75 example:[[http:~~/~~/xxx.xx.xx.xx:1880/>>http://119.91.62.30:1880/]]
Edwin Chen 12.1 76
Herong Lu 38.1 77 [[image:image-20220519104115-4.png||height="280" width="768"]]
Edwin Chen 12.1 78
79
Xiaoling 59.3 80 == 2.2 Add flow ==
Xiaoling 37.2 81
82
Herong Lu 21.1 83 Take NBSN95 mod1 UDP protocol as an example
Edwin Chen 16.1 84
Xiaoling 37.5 85 After logging into the interface click** (% style="color:red" %)"+" (%%)**to create a flow
Edwin Chen 16.1 86
Mengting Qiu 104.2 87 [[image:image-20241119101328-1.png||height="460" width="970"]]
Edwin Chen 16.1 88
Herong Lu 21.1 89 Rename the stream
Edwin Chen 16.1 90
91
Xiaoling 39.2 92
Mengting Qiu 104.2 93 [[image:image-20241119101551-2.png||height="465" width="979"]]
Edwin Chen 17.1 94
Xiaoling 39.2 95
Herong Lu 21.1 96 Drag UDP into the editing area
Edwin Chen 17.1 97
Mengting Qiu 104.2 98 [[image:image-20241119101952-3.png||height="466" width="983"]]
Xiaoling 37.5 99
Herong Lu 20.2 100
Herong Lu 21.1 101 The same method as above, drag and drop functions and debug into the editing area
Herong Lu 20.2 102
Mengting Qiu 104.2 103 [[image:image-20241119102218-4.png||height="468" width="986"]]
Herong Lu 20.2 104
Herong Lu 21.1 105 configure UDP in
Herong Lu 20.2 106
Mengting Qiu 104.2 107 [[image:image-20241119103312-7.png||height="470" width="991"]]
Herong Lu 20.2 108
Xiaoling 37.5 109
Herong Lu 21.1 110 Write to the UDP port that the device node sends to the server
Herong Lu 20.2 111
Herong Lu 21.1 112 Example My UDP device node sends to server port 8585
113 just write 8585
Herong Lu 20.2 114
115
Xiaoling 37.5 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
Herong Lu 21.1 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.
Herong Lu 20.2 120
Mengting Qiu 104.2 121 [[image:image-20241119105123-9.png||height="557" width="995"]]
Herong Lu 20.2 122
Xiaoling 37.5 123
Herong Lu 21.1 124 When the node successfully sends data, the effect shown in the following figure will appear
Herong Lu 20.2 125
Mengting Qiu 104.2 126 [[image:image-20241119104939-8.png||height="473" width="996"]]
Herong Lu 20.2 127
128
Xiaoling 59.3 129 === 2.2.1 About function ===
Xiaoling 37.2 130
131
Herong Lu 21.1 132 If you are familiar with JS code, you can write it yourself
Mengting Qiu 109.2 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]])
Herong Lu 20.2 134
Mengting Qiu 109.2 135 [[image:image-20241119112519-14.png||height="483" width="1018"]]
Herong Lu 20.2 136
137
Xiaoling 59.3 138 == 2.3 Plot Chart for sensors ==
Xiaoling 37.2 139
140
Herong Lu 25.1 141 If you need data visualization, please refer to the following
Herong Lu 20.2 142
Mengting Qiu 109.2 143 [[image:image-20241119112928-15.png||height="484" width="1020"]]
Herong Lu 25.1 144
Xiaoling 37.6 145
Xiaoling 41.2 146 (% style="color:blue" %)**1. Click Install**
Herong Lu 25.1 147
Xiaoling 41.2 148 (% style="color:blue" %)**2. Search the dashboard**
Xiaoling 37.6 149
Xiaoling 41.2 150 (% style="color:blue" %)**3. Click Install**
Xiaoling 37.6 151
Xiaoling 41.2 152
Mengting Qiu 104.2 153 [[image:image-20241119110335-11.png||height="483" width="1018"]]
Herong Lu 25.1 154
Xiaoling 37.7 155
Herong Lu 25.1 156 After the installation is successful, nodered will show the following node icon
157
Mengting Qiu 104.2 158 [[image:image-20241119110539-12.png||height="484" width="1020"]]
Herong Lu 25.1 159
160
Xiaoling 59.3 161 === 2.3.1 the line chart as an example ===
Xiaoling 37.2 162
163
Herong Lu 25.1 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
Mengting Qiu 109.2 170 [[image:image-20241119114103-18.png||height="422" width="889"]]
Herong Lu 25.1 171
Xiaoling 37.7 172
Herong Lu 25.1 173 double click function
174
Mengting Qiu 109.2 175 [[image:image-20241119113522-16.png||height="425" width="896"]]
Herong Lu 25.1 176
Xiaoling 37.7 177
Herong Lu 25.1 178 Adjusted to 3, because we need to display 3 charts
179
Mengting Qiu 109.2 180 [[image:image-20241119113742-17.png||height="427" width="899"]]
Herong Lu 25.1 181
182
Xiaoling 59.3 183 === 2.3.2 the chart settings ===
Xiaoling 37.2 184
185
Herong Lu 25.1 186 Double-click while setting up the node as above
187
Xiaoling 37.7 188
Mengting Qiu 133.2 189 [[image:image-20241129100546-9.png||height="507" width="1068"]]
Herong Lu 25.1 190
Xiaoling 37.7 191
Mengting Qiu 133.2 192 [[image:image-20241129100654-10.png||height="507" width="1067"]]
Herong Lu 25.1 193
Xiaoling 37.7 194
Mengting Qiu 133.2 195 [[image:image-20241129100821-11.png||height="511" width="1076"]]
Herong Lu 25.1 196
Xiaoling 37.7 197
Herong Lu 25.1 198
Mengting Qiu 133.2 199 [[image:image-20220525185746-2.png||height="509" width="873"]]
Xiaoling 37.7 200
Herong Lu 25.1 201
Herong Lu 38.1 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"]]
Herong Lu 25.1 203
Xiaoling 37.7 204
Herong Lu 25.1 205 After the display interface is defined for the first time, subsequent charts can directly select the display interface
206
Herong Lu 38.1 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"]]
Xiaoling 37.7 208
209 ​​​​​​
210
Herong Lu 38.1 211 [[image:image-20220525190106-3.png||height="575" width="724"]]
Herong Lu 25.1 212
Xiaoling 37.7 213
Herong Lu 25.1 214 Connect graph nodes to functions with lines
215
216 Click to deploy
217
Mengting Qiu 118.2 218 [[image:image-20241120090012-1.png||height="416" width="877"]]
Herong Lu 25.1 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
Mengting Qiu 113.2 224 [[image:image-20241119134533-19.png||height="455" width="880"]]
Herong Lu 25.1 225
Xiaoling 39.2 226
Herong Lu 25.1 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
Herong Lu 20.2 229
Xiaoling 59.3 230 == 2.4 Store Value ==
Xiaoling 37.2 231
232
Xiaoling 37.8 233 Regarding storage, we recommend two ways.
Herong Lu 20.2 234
Herong Lu 36.1 235
Xiaoling 59.3 236 === 2.4.1 (% style="display:none" %) (%%)Method 1: Generate txt document directly ===
Xiaoling 37.2 237
Xiaoling 39.2 238
Xiaoling 41.3 239 Sample JSON file: [[https:~~/~~/www.dropbox.com/sh/mduw85jcuwsua22/AAAvwPhg9z6dLjJhmZjqBf_ma?dl=0>>https://www.dropbox.com/sh/mduw85jcuwsua22/AAAvwPhg9z6dLjJhmZjqBf_ma?dl=0]]
Xiaoling 37.8 240
Herong Lu 38.1 241 [[image:image-20220713102658-1.png||height="346" width="728"]]
Herong Lu 36.1 242
243
Xiaoling 59.3 244 === 2.4.2 Method 2: Use sqlite database ===
Xiaoling 37.2 245
246
Xiaoling 37.8 247 ==== (% style="color:blue" %)**1.  Install SQLite**(%%) ====
Xiaoling 37.2 248
249
Herong Lu 38.1 250 [[image:image-20220713111030-2.png||height="438" width="739"]]
Herong Lu 36.1 251
252
Xiaoling 37.2 253
Xiaoling 37.8 254 ==== (% style="color:blue" %)**2.  After the installation is successful, the nodes in the picture will appear**(%%) ====
Xiaoling 37.2 255
256
Herong Lu 36.1 257 [[image:image-20220713111200-3.png]]
258
259
260
Xiaoling 37.8 261 ==== (% style="color:blue" %)**3.  Import sample flow**(%%) ====
Herong Lu 20.2 262
Xiaoling 39.2 263
Herong Lu 39.1 264 Refer to the import example below to import the sqlite example flow
Herong Lu 20.2 265
Xiaoling 41.3 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]]
Xiaoling 37.8 267
Xiaoling 39.2 268
Xiaoling 59.3 269 = 3. Import Input Flow for Dragino Sensors =
Xiaoling 37.2 270
271
Edwin Chen 40.1 272 Dragino provides input flow examples for the sensors.
Herong Lu 27.1 273
Mengting Qiu 130.2 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]].
Herong Lu 27.1 275
Mengting Qiu 130.2 276 Take LHT65N as an example  (Assume this node is already registered with TTN, MQTT protocol to connect)
Herong Lu 28.1 277
Mengting Qiu 130.2 278 [[image:image-20241129094455-1.png||height="537" width="1062"]]
Herong Lu 27.1 279
Mengting Qiu 130.2 280 [[image:image-20241129094558-2.png||height="538" width="1063"]]
Herong Lu 27.1 281
Mengting Qiu 130.2 282 [[image:image-20241129094724-3.png||height="513" width="1080"]]
Herong Lu 27.1 283
Mengting Qiu 130.2 284 [[image:image-20241129094850-4.png||height="513" width="1081"]]
Herong Lu 27.1 285
Herong Lu 28.1 286 After the import is successful, change the MQTT in node to your TTN information
287
Mengting Qiu 130.2 288 [[image:image-20241129095458-6.png||height="511" width="1076"]]
Herong Lu 28.1 289
Mengting Qiu 130.2 290 [[image:image-20241129095351-5.png||height="515" width="1085"]]
Herong Lu 28.1 291
Xiaoling 39.2 292
293
Herong Lu 28.1 294 Configure information consistent with your TTN
295
296
Mengting Qiu 130.2 297 [[image:image-20241129095817-7.png||height="516" width="1087"]]
Herong Lu 28.1 298
Mengting Qiu 130.2 299 [[image:image-20241129095931-8.png||height="515" width="1085"]]
Xiaoling 39.2 300
301
Mengting Qiu 130.2 302
Herong Lu 28.1 303 API keys generated by the password for you
304
Mengting Qiu 113.2 305 [[image:image-20241119135338-21.png||height="515" width="1085"]]
Herong Lu 28.1 306
Xiaoling 39.2 307
Herong Lu 28.1 308 Topic modify it to the following format
309
Herong Lu 30.1 310 v3/(% style="color:red" %)Application ID(%%)@ttn/devices/(% style="color:red" %)End device ID(%%)/up
Herong Lu 28.1 311
Mengting Qiu 113.2 312 [[image:image-20241119135151-20.png||height="515" width="1085"]]
Herong Lu 28.1 313
314 After the modification is completed, click Deploy
Herong Lu 48.1 315
316
Xiaoling 59.2 317 = 4. Add Dragino node =
318
319
Herong Lu 53.1 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
Herong Lu 56.1 326 Reference link: [[https:~~/~~/nodered.org/docs/user-guide/runtime/configuration>>]]
Herong Lu 53.1 327
Xiaoling 59.2 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]]
Herong Lu 56.1 329
Herong Lu 48.1 330
Xiaoling 59.2 331 == 4.1 Installing Dragino nodes ==
332
333
Herong Lu 48.1 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
Xiaoling 59.3 341 == 4.2 Import General Flow ==
342
343
Herong Lu 48.1 344 [[image:image-20240104100340-4.png]]
345
346 [[image:image-20240104100446-5.png||height="407" width="885"]]
347
Herong Lu 53.1 348 Please refer to the previous chapters for MQTT settings and sqlite installation settings
349
350
Xiaoling 59.3 351 == 4.3 Using flow ==
352
353
Herong Lu 53.1 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
Herong Lu 55.1 366 [[image:image-20240104103636-1.png]]
Herong Lu 53.1 367
Herong Lu 61.1 368 If using the NodeRed that comes with the Dragino gateway
Herong Lu 55.1 369
Herong Lu 61.1 370 Change to the following path
371
372 "/static/echarts.min.js"
373
374 [[image:image-20240110153029-1.png]]
375
376
Herong Lu 53.1 377 After setting up, select deployment
378
379 [[image:image-20240104101346-7.png||height="242" width="724"]]
Herong Lu 59.1 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
Xiaoling 59.3 387 [[image:image-20240104104931-2.png||height="737" width="1131"]]
388
Edwin Chen 62.1 389
390 = 5. FAQ =
391
392 == 5.1 How to use Node-Red to schedule downlink to ChirpStack LoRaWAN Server? ==
393
Mengting Qiu 80.1 394 === 5.1.1 Install node-red-node-base64 ===
395
Xiaoling 84.2 396
Mengting Qiu 80.1 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
Xiaoling 84.2 404
Mengting Qiu 80.1 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
Xiaoling 84.2 414
Mengting Qiu 80.1 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
Xiaoling 84.2 444
Mengting Qiu 80.1 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
Xiaoling 84.2 452
Herong Lu 81.1 453 == 5.2 How to use Node-Red to schedule downlink to TTN-V3 LoRaWAN Server? ==
Mengting Qiu 80.1 454
Herong Lu 81.1 455 === 5.2.1 Reference 5.1.1 Installing base64 nodes ===
456
Herong Lu 84.1 457 === 5.2.2 Import Example Flow ===
Herong Lu 81.1 458
Xiaoling 84.2 459
Herong Lu 86.1 460 Reference 5.1.2
Herong Lu 81.1 461
Herong Lu 83.1 462 Taking LT-222222-L as an example
463
Herong Lu 84.1 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]]
Herong Lu 82.1 465
Edwin Chen 85.1 466 Please refer to this video for specific operation steps: [[https:~~/~~/youtu.be/kms679e4m_Y>>https://youtu.be/kms679e4m_Y]]