SlideShare a Scribd company logo
© Hitachi, Ltd. 2021. All rights reserved.
Node-RED Installer,
Standalone Installer using Electron
Hitachi, Ltd.
OSS Solution Center
10/23/2021
Kazuhito Yokoi
1
© Hitachi, Ltd. 2021. All rights reserved.
• Kazuhito Yokoi
• Software Engineer in Hitachi, Ltd.
• Member of Node-RED project
• Organizer of Node-RED user group
• My accomplishments
• 4th ranked contributor
• Maintainer of sub-projects
• Speaker in global conferences
Self-introduction
https://www.hitachi.com/rd/sc/story/nodered
https://www.youtube.com/watch?v=3_7BikDCXk8
© Hitachi, Ltd. 2021. All rights reserved.
1. Our use cases
2. Node-RED Installer
3. Offline use
Contents
2
4. Developing environment
3
© Hitachi, Ltd. 2021. All rights reserved.
Our use cases
4
© Hitachi, Ltd. 2021. All rights reserved.
Hitachi has used Node-RED in various products and services.
• Lumada Solution Hub
(Environment for IoT solutions)
• Hitachi Data Hub
(Platform to collect, refine and store data)
• HA8000E (Edge computer)
• Hitachi Digital Supply Chain/IoT
• Solution using human pose and
behavior recognition
• Planning system for manufacturing
Our products and services
https://www.hitachi.com/rev/archive/2020/r2020_05/05a02/index.html https://www.hitachi.co.jp/products/it/IoTM2M/list/datahub/
https://www.hitachi.co.jp/products/it/ha8000e/ https://www.hitachi.co.jp/products/it/industry/solution/dsc/dsc_iot.html
https://info.hitachi-ics.co.jp/product/activity_evaluation/ https://www.hitachi-solutions.co.jp/ppdss/
5
© Hitachi, Ltd. 2021. All rights reserved.
Node-RED connect OT/IT engineers and customers
who have different backgrounds.
• Suitable for discussions
• Visual programming
• Explanations using tablet and PC
• Citizen development
• Feasibility studies
• Utilizing of IoT and AI technologies
• Rapid development
• Reducing time to develop solutions
• High-quality solutions
Why we use Node-RED
6
© Hitachi, Ltd. 2021. All rights reserved.
Node-RED has abilities to apply state-of-the-art technologies to legacy fields.
Platform to apply modern technologies
Modern
technologies
Mission-critical
IoT fields
Existing products
Apply technologies
Low code IoT AI
Cloud
native
Micro
service
Version
control
CI/CD
7
© Hitachi, Ltd. 2021. All rights reserved.
19 contributors have added new features to the Node-RED project since 2016.
• Japanese translations
• Changing node icon
• Message sequence nodes
• Context Store
• Subflow UI
• Flow linter
• Node generator
• Node-RED Installer
Our contributions to Node-RED project
Contribution statistics
Pull requests
from our team
https://bit.ly/3dqGwRz
8
© Hitachi, Ltd. 2021. All rights reserved.
Node-RED Installer
9
© Hitachi, Ltd. 2021. All rights reserved.
Standalone installer including Node.js, Node-RED nodes, and Node-RED
• Installers for Windows, macOS, and Linux
• Server behaviors which are the same as original Node-RED
Node-RED Installer
Browser
engine
External browsers
Node-RED
installer
Electron
modules
modules
Node-RED
nodes
Local PC or server
Node-RED installer package
Build Install
10
© Hitachi, Ltd. 2021. All rights reserved.
• Building methods
- electron-builder to generate native installers
- Packaging connectors as dependencies
- Downloading other components before building
• Built installers
- Windows (msi)
- macOS (dmg)
- Linux (deb and rpm)
How to build Node-RED Installer
Native installers
electron-builder
Build
Download
11
© Hitachi, Ltd. 2021. All rights reserved.
12
© Hitachi, Ltd. 2021. All rights reserved.
Offline use
13
© Hitachi, Ltd. 2021. All rights reserved.
Low code development is essential for Non-IT engineers to create solutions.
[ Examples of factory modernization ]
• Dashboard to visualize production line
• Defect detection based on image analysis
• Safety measure by human detection
Factory modernization by low code tool
Dashboard
Collect data
Control
Visualize
Analyze
Edge computer
Non-IT engineers
Develop solutions
LCD
14
© Hitachi, Ltd. 2021. All rights reserved.
The conflicting backgrounds between
JavaScript technologies and industrial IoT fields
• JavaScript technologies that require
internet connections to download components
• Closed network for mission-critical
IoT system inside factories
-> We encountered the problem
to install Node-RED.
Problems to install Node-RED in offline environment
Closed network
15
© Hitachi, Ltd. 2021. All rights reserved.
We solved the problems using the Node-RED installer.
[ Cases to use installer ]
• Setting up the Node-RED environment initially
• Upgrading installed Node-RED and nodes
Solution by Node-RED installer
Node-RED
installer
Closed network
Install/
upgrade
16
© Hitachi, Ltd. 2021. All rights reserved.
Demonstration: Image recognition using TensorFlow.js
[ Object detection in automated lines ]
(1) Capture image in the production line
(2) Analyze the image data using the TensorFlow.js model
(3) Move the object by the robot arm
(1) Capture
(3) Control
(2) Analyze
Lines inside factory
Object detection
17
© Hitachi, Ltd. 2021. All rights reserved.
18
© Hitachi, Ltd. 2021. All rights reserved.
Developing environment
19
© Hitachi, Ltd. 2021. All rights reserved.
Problem 1:
Command-line operations
to install Node-RED
Problems in developing environment of Node-RED
Node-RED
Developers
Fragile
flow
> npm install
Error !
Warning !
Difficult for
beginners
Production
environment
Problem 2:
Single environment to develop flow
Developers
20
© Hitachi, Ltd. 2021. All rights reserved.
We often use the following tools in other languages like Java and Python.
• Individual developing environments
• Source code repository
• CI/CD pipelines
General development style in other languages
Git
repository
Application
Production
environment
Deploy
Add code
Add code
Developers
Test
21
© Hitachi, Ltd. 2021. All rights reserved.
• The installer makes it easy to prepare individual developing environments.
• Because project feature is the default in the environment,
developers can connect to source code repository and CI/CD pipelines.
Node-RED environment to apply general development
Git
repository
Application
Production
environment
Deploy
Add code
Add code
Test
Developers
22
© Hitachi, Ltd. 2021. All rights reserved.
23
© Hitachi, Ltd. 2021. All rights reserved.
24
© Hitachi, Ltd. 2021. All rights reserved.
We suggested and contributed to tools to improve the flow quality.
• Flow linter
Command-line tool
to detect flow errors
• Flow test
Command-line tool to test flow
Both functionalities are available
on Node-RED flow editor
Command line tools for CI/CD pipelines
Unconnected pair nodes
Overlapping nodes
No name specified
No name specified
25
© Hitachi, Ltd. 2021. All rights reserved.
Node-RED User Group Japan
User group to share knowledge about Node-RED
• Meetups
• Online articles
• Publishing books
• Translation of the website
We’re going to hold meetup for enterprise.
• Day and time: December 16th 12:00-13:00 (JST)
• Location: YouTube Live
• Speakers: Panasonic and Hitachi
https://www.amazon.co.jp/dp/4777521508 https://www.amazon.co.jp/dp/B08SJGQPNL https://twitter.com/taiponrock/status/799563109920706561
© Hitachi, Ltd. 2021. All rights reserved. 26
END
Node-RED Installer,
Standalone Installer using Electron
Kazuhito Yokoi
10/23/2021
Hitachi, Ltd.
OSS Solution Center
27
© Hitachi, Ltd. 2021. All rights reserved.
• Node-RED, Electron and Node.js are trademarks of OpenJS Foundation.
• Google Chrome is a trademark of Google LLC.
• The Firefox is a trademark of the Mozilla Foundation.
• Microsoft Edge and Windows are trademarks of Microsoft Corporation.
• npm is a trademark of npm, Inc.
• macOS is a trademark of Apple Incorporated.
• Ubuntu is a trademark of Canonical Limited.
• Red Hat is a registered trademark of Red Hat, Inc.
in the United States and other countries.
• Raspberry Pi is a registered trademark of the Raspberry Pi Foundation.
• Linux is a registered trademark of Linus Torvalds
in the U.S. and other countries.
• GitHub is a trademark of GitHub, Inc.
• Gitlab is a trademark of GitLab, Inc.
• Other company, product or service names may be trademark or
registered trademark of others.
Trademarks

More Related Content

Node-RED Installer, Standalone Installer using Electron

  • 1. © Hitachi, Ltd. 2021. All rights reserved. Node-RED Installer, Standalone Installer using Electron Hitachi, Ltd. OSS Solution Center 10/23/2021 Kazuhito Yokoi
  • 2. 1 © Hitachi, Ltd. 2021. All rights reserved. • Kazuhito Yokoi • Software Engineer in Hitachi, Ltd. • Member of Node-RED project • Organizer of Node-RED user group • My accomplishments • 4th ranked contributor • Maintainer of sub-projects • Speaker in global conferences Self-introduction https://www.hitachi.com/rd/sc/story/nodered https://www.youtube.com/watch?v=3_7BikDCXk8
  • 3. © Hitachi, Ltd. 2021. All rights reserved. 1. Our use cases 2. Node-RED Installer 3. Offline use Contents 2 4. Developing environment
  • 4. 3 © Hitachi, Ltd. 2021. All rights reserved. Our use cases
  • 5. 4 © Hitachi, Ltd. 2021. All rights reserved. Hitachi has used Node-RED in various products and services. • Lumada Solution Hub (Environment for IoT solutions) • Hitachi Data Hub (Platform to collect, refine and store data) • HA8000E (Edge computer) • Hitachi Digital Supply Chain/IoT • Solution using human pose and behavior recognition • Planning system for manufacturing Our products and services https://www.hitachi.com/rev/archive/2020/r2020_05/05a02/index.html https://www.hitachi.co.jp/products/it/IoTM2M/list/datahub/ https://www.hitachi.co.jp/products/it/ha8000e/ https://www.hitachi.co.jp/products/it/industry/solution/dsc/dsc_iot.html https://info.hitachi-ics.co.jp/product/activity_evaluation/ https://www.hitachi-solutions.co.jp/ppdss/
  • 6. 5 © Hitachi, Ltd. 2021. All rights reserved. Node-RED connect OT/IT engineers and customers who have different backgrounds. • Suitable for discussions • Visual programming • Explanations using tablet and PC • Citizen development • Feasibility studies • Utilizing of IoT and AI technologies • Rapid development • Reducing time to develop solutions • High-quality solutions Why we use Node-RED
  • 7. 6 © Hitachi, Ltd. 2021. All rights reserved. Node-RED has abilities to apply state-of-the-art technologies to legacy fields. Platform to apply modern technologies Modern technologies Mission-critical IoT fields Existing products Apply technologies Low code IoT AI Cloud native Micro service Version control CI/CD
  • 8. 7 © Hitachi, Ltd. 2021. All rights reserved. 19 contributors have added new features to the Node-RED project since 2016. • Japanese translations • Changing node icon • Message sequence nodes • Context Store • Subflow UI • Flow linter • Node generator • Node-RED Installer Our contributions to Node-RED project Contribution statistics Pull requests from our team https://bit.ly/3dqGwRz
  • 9. 8 © Hitachi, Ltd. 2021. All rights reserved. Node-RED Installer
  • 10. 9 © Hitachi, Ltd. 2021. All rights reserved. Standalone installer including Node.js, Node-RED nodes, and Node-RED • Installers for Windows, macOS, and Linux • Server behaviors which are the same as original Node-RED Node-RED Installer Browser engine External browsers Node-RED installer Electron modules modules Node-RED nodes Local PC or server Node-RED installer package Build Install
  • 11. 10 © Hitachi, Ltd. 2021. All rights reserved. • Building methods - electron-builder to generate native installers - Packaging connectors as dependencies - Downloading other components before building • Built installers - Windows (msi) - macOS (dmg) - Linux (deb and rpm) How to build Node-RED Installer Native installers electron-builder Build Download
  • 12. 11 © Hitachi, Ltd. 2021. All rights reserved.
  • 13. 12 © Hitachi, Ltd. 2021. All rights reserved. Offline use
  • 14. 13 © Hitachi, Ltd. 2021. All rights reserved. Low code development is essential for Non-IT engineers to create solutions. [ Examples of factory modernization ] • Dashboard to visualize production line • Defect detection based on image analysis • Safety measure by human detection Factory modernization by low code tool Dashboard Collect data Control Visualize Analyze Edge computer Non-IT engineers Develop solutions LCD
  • 15. 14 © Hitachi, Ltd. 2021. All rights reserved. The conflicting backgrounds between JavaScript technologies and industrial IoT fields • JavaScript technologies that require internet connections to download components • Closed network for mission-critical IoT system inside factories -> We encountered the problem to install Node-RED. Problems to install Node-RED in offline environment Closed network
  • 16. 15 © Hitachi, Ltd. 2021. All rights reserved. We solved the problems using the Node-RED installer. [ Cases to use installer ] • Setting up the Node-RED environment initially • Upgrading installed Node-RED and nodes Solution by Node-RED installer Node-RED installer Closed network Install/ upgrade
  • 17. 16 © Hitachi, Ltd. 2021. All rights reserved. Demonstration: Image recognition using TensorFlow.js [ Object detection in automated lines ] (1) Capture image in the production line (2) Analyze the image data using the TensorFlow.js model (3) Move the object by the robot arm (1) Capture (3) Control (2) Analyze Lines inside factory Object detection
  • 18. 17 © Hitachi, Ltd. 2021. All rights reserved.
  • 19. 18 © Hitachi, Ltd. 2021. All rights reserved. Developing environment
  • 20. 19 © Hitachi, Ltd. 2021. All rights reserved. Problem 1: Command-line operations to install Node-RED Problems in developing environment of Node-RED Node-RED Developers Fragile flow > npm install Error ! Warning ! Difficult for beginners Production environment Problem 2: Single environment to develop flow Developers
  • 21. 20 © Hitachi, Ltd. 2021. All rights reserved. We often use the following tools in other languages like Java and Python. • Individual developing environments • Source code repository • CI/CD pipelines General development style in other languages Git repository Application Production environment Deploy Add code Add code Developers Test
  • 22. 21 © Hitachi, Ltd. 2021. All rights reserved. • The installer makes it easy to prepare individual developing environments. • Because project feature is the default in the environment, developers can connect to source code repository and CI/CD pipelines. Node-RED environment to apply general development Git repository Application Production environment Deploy Add code Add code Test Developers
  • 23. 22 © Hitachi, Ltd. 2021. All rights reserved.
  • 24. 23 © Hitachi, Ltd. 2021. All rights reserved.
  • 25. 24 © Hitachi, Ltd. 2021. All rights reserved. We suggested and contributed to tools to improve the flow quality. • Flow linter Command-line tool to detect flow errors • Flow test Command-line tool to test flow Both functionalities are available on Node-RED flow editor Command line tools for CI/CD pipelines Unconnected pair nodes Overlapping nodes No name specified No name specified
  • 26. 25 © Hitachi, Ltd. 2021. All rights reserved. Node-RED User Group Japan User group to share knowledge about Node-RED • Meetups • Online articles • Publishing books • Translation of the website We’re going to hold meetup for enterprise. • Day and time: December 16th 12:00-13:00 (JST) • Location: YouTube Live • Speakers: Panasonic and Hitachi https://www.amazon.co.jp/dp/4777521508 https://www.amazon.co.jp/dp/B08SJGQPNL https://twitter.com/taiponrock/status/799563109920706561
  • 27. © Hitachi, Ltd. 2021. All rights reserved. 26 END Node-RED Installer, Standalone Installer using Electron Kazuhito Yokoi 10/23/2021 Hitachi, Ltd. OSS Solution Center
  • 28. 27 © Hitachi, Ltd. 2021. All rights reserved. • Node-RED, Electron and Node.js are trademarks of OpenJS Foundation. • Google Chrome is a trademark of Google LLC. • The Firefox is a trademark of the Mozilla Foundation. • Microsoft Edge and Windows are trademarks of Microsoft Corporation. • npm is a trademark of npm, Inc. • macOS is a trademark of Apple Incorporated. • Ubuntu is a trademark of Canonical Limited. • Red Hat is a registered trademark of Red Hat, Inc. in the United States and other countries. • Raspberry Pi is a registered trademark of the Raspberry Pi Foundation. • Linux is a registered trademark of Linus Torvalds in the U.S. and other countries. • GitHub is a trademark of GitHub, Inc. • Gitlab is a trademark of GitLab, Inc. • Other company, product or service names may be trademark or registered trademark of others. Trademarks