Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
app-notes:set-up-modbus-tcp [2025/07/16 19:32] – [6. Additional information] grayapp-notes:set-up-modbus-tcp [2025/08/13 13:04] (current) – [Prerequisites] gray
Line 8: Line 8:
  
 Companies are increasingly being urged to become more digital and smarter in the workplace. However, data and information are usually generated locally in the work process (on trains, buses, or production machines). In addition, the components (sensors or controls) were not developed for a network. We already use a Netmodule router for this task of collecting local data from various components and sending it to a central server via a mobile connection. The second point that I see as an obstacle to digitization is that many components also have their own protocols. The access programs supplied are not very smart, and you end up with a whole bunch of programs that need to be maintained. I have implemented a solution for this using the open source tool Node-RED. Access to components is standardized, making it less complex. Protocols that are not widely used are also supported. Companies are increasingly being urged to become more digital and smarter in the workplace. However, data and information are usually generated locally in the work process (on trains, buses, or production machines). In addition, the components (sensors or controls) were not developed for a network. We already use a Netmodule router for this task of collecting local data from various components and sending it to a central server via a mobile connection. The second point that I see as an obstacle to digitization is that many components also have their own protocols. The access programs supplied are not very smart, and you end up with a whole bunch of programs that need to be maintained. I have implemented a solution for this using the open source tool Node-RED. Access to components is standardized, making it less complex. Protocols that are not widely used are also supported.
 +
 +----
  
 === Project setup === === Project setup ===
 {{:app-notes:modbus_aufbau.jpg?950|}} {{:app-notes:modbus_aufbau.jpg?950|}}
  
 +----
 +
 +=== Interaction ===
 +{{:app-notes:interaction.png?950|}}
 +
 +----
 ===== Prerequisites ===== ===== Prerequisites =====
  
     * NetModule Wireless Router with wireless connection     * NetModule Wireless Router with wireless connection
     * NetModule Software [[https://share.netmodule.com/public/system-software/5.0/|5.0.0.100]] or newer     * NetModule Software [[https://share.netmodule.com/public/system-software/5.0/|5.0.0.100]] or newer
-    * A license is required for the LXC container 
     * Not available for legacy products NB1600, NB2700, NB3700, NB3710     * Not available for legacy products NB1600, NB2700, NB3700, NB3710
  
Line 36: Line 43:
  
 Once the LXC container has been installed, we can install Node-RED. Once the LXC container has been installed, we can install Node-RED.
 +
 +----
 +Setting up an LXC container with Alpine Linux and a ready-to-run Node-RED implementation
 +    * Set up an Alpine container / [[app-notes:set-up-Alpine]]
 +
 +----
  
 For further installation, we need the ''curl'' program and the ''npm'' package on the container. We will then deploy Node-RED on the router using a script. For further installation, we need the ''curl'' program and the ''npm'' package on the container. We will then deploy Node-RED on the router using a script.
Line 272: Line 285:
 Under this item, you can download ''Modbus flow'' for Node-RED. Under this item, you can download ''Modbus flow'' for Node-RED.
  
- +++++show code| 
 <code – modbus_flow.json> <code – modbus_flow.json>
 [ [
Line 2574: Line 2586:
 ] ]
 </code> </code>
 +++++
  
 After execution, these objects are stored in the flow.  After execution, these objects are stored in the flow. 
Line 2727: Line 2740:
  
  
-<showhide> 
-<show>Code anzeigen</show> 
-<hide> 
-<syntaxhighlight lang="json"> 
-{ 
-  "dein": "Code hier" 
-} 
-</syntaxhighlight> 
-</hide> 
-</showhide>