Welcome, Guest
You have to register before you can post on our site.



Search Forums

(Advanced Search)

Forum Statistics
» Members: 400
» Latest member: aemb2084
» Forum threads: 373
» Forum posts: 1,898

Full Statistics

Latest Threads
Forum: Software
Last Post: Armin@netPI
August-6th-2020, 11:01 AM
» Replies: 10
» Views: 68
Converter from TCP/IP to ...
Forum: Projects
Last Post: WalterSchaefer
August-5th-2020, 08:31 PM
» Replies: 8
» Views: 30
Send Data to Specific Por...
Forum: Projects
Last Post: Hoeber
July-29th-2020, 09:10 AM
» Replies: 2
» Views: 10
Network issues after upgr...
Forum: Software
Last Post: Armin@netPI
July-28th-2020, 03:04 PM
» Replies: 2
» Views: 13
Siemens PLC -Uploading an...
Forum: Software
Last Post: Armin@netPI
July-20th-2020, 02:08 PM
» Replies: 22
» Views: 157
docker.service start fail...
Forum: Software
Last Post: Armin@netPI
July-20th-2020, 10:01 AM
» Replies: 9
» Views: 34
TOSIBOX enables netPI rem...
Forum: Projects
Last Post: Armin@netPI
July-18th-2020, 06:35 AM
» Replies: 3
» Views: 35
Read/write data from S7 w...
Forum: Projects
Last Post: Armin@netPI
July-17th-2020, 04:48 PM
» Replies: 9
» Views: 51
connecting a microphone v...
Forum: Software
Last Post: tad
July-14th-2020, 12:13 PM
» Replies: 16
» Views: 60
PROFINET to OPC UA data c...
Forum: Projects
Last Post: Armin@netPI
July-7th-2020, 12:20 PM
» Replies: 0
» Views: 13

  Converter from TCP/IP to ProfiNet
Posted by: WalterSchaefer - August-4th-2020, 10:22 PM - Forum: Projects - Replies (8)

We are beginners and need  help to start.

  1. We have a measurement card which sends the processed data over TCP\IP to RPI3 with Win 10 IoT Core. We would like to connect the measurement card over ProfiNet to an external controller. In our case, it is a robotic arm.
  2. We are planning to use NIOT-E-TIB 100-GB-RE or NIOT-E-NPI3-51-EN-RE. We want to run an application on NIOT-E-TIB 100-GB-RE or NIOT-E-NPI3-51-EN-RE. The application must receive requests from the controller over ProfiNet and send it over TCP/IP to the measurement card. The measurement card sends the data to  NIOT-E-TIB 100-GB-RE or NIOT-E-NPI3-51-EN-RE over TCP/IP and the data will be forward to the controller over Profinet.
Is it possible? 
What is better NIOT-E-TIB 100-GB-RE or NIOT-E-NPI3-51-EN-RE?
Is there any adapter for that?
Do you have a simulation software, to simulate the controller?

  Network issues after upgrading to Stretch + kernel to 5.4
Posted by: carmel85 - July-28th-2020, 12:38 PM - Forum: Software - Replies (2)

Recently we purchased NetPi3 (model: NIOT-E-NPI3-51-EN-RE) for evaluation.
we have our project working on RPI3 with Jessie image. (our Jessie image seems to work fine on NetPi.)
today I tried to use our new upgraded image ( Stretch + Kernel 5.4) on NetPi
but network interfaces failed
here are steps for upgrade:

  1. Update
  2. Upgrade
  3. Dist-upgrade
  4. Rpi-updtae (updates Kernel)
  5. Switch to Stretch
  6. Update
  7. Upgrade
  8. Dist-upgrade (or full-upgrade) – this is not working well, it removes our internal "SA" service and more. this mechanism is also removing packeges/services as opposed to “upgrade”
    1. So I did not performed it
  9. Rpi-updtae (for Kernel)
  10. Kernel version now is 5.4.51
Unfortunately After I inserted SD with Stretch (+new Kernel) into NetPi
It had network issue: LAN + Wifi interfaces could not be up.
attached screenshots.

Any idea why network stopped working on NetPi? (on RPI 3 it works fine with same image)


Attached Files Thumbnail(s)

  Send Data to Specific Port via UDP
Posted by: Hoeber - July-28th-2020, 09:58 AM - Forum: Projects - Replies (2)


I connected the netPi RTE 3 to a Raspberry Pi 3 B+ via LAN. I switched off DHCP and assigned a fixed IP address.
In order to send data to the netPI, I want to use UDP with Node-RED. I noticed, that Armin already posted the default UDP-Ports that the netPI listens to (see below), but I want the Port to be 9323. For this, I built up a Flow addressing the local IP of the netPI on Port 9323.
The "Listening"-Flow is running on the netPI and the "Sending"-Flow is running on the Raspberry Pi (See attachment).

The connection between them seems to be woking since I am able to Ping the netPi-IP-Address. But when I try to send messages to the mentioned Port 9323 nothing happens. Do I have to change some settings in the netPI's UI to allow listening to other Ports as well or is there another mistake I made?

Many thanks in advance,


(February-9th-2018, 01:36 PM)Armin@netPI Wrote: By default netPI listens to the following ports:

  • Port 80,nginx -> web server / reverse proxy
  • Port 443,nginx -> web server / reverse proxy
  • Port 49152, upnpd -> UPnP daemon
  • 123,ntpd -> Network Time Protocol daemon
  • 137,nbnsd -> Netbios Name Service
  • 1900, upnpd -> UPnP daemon
  • 5353, avahi-daemon -> Zeroconf
  • 60843, avahi-daemon -> Zeroconf temporary port
  • 36517, avahi-daemon -> Zeroconf temporary port
  • 41429, dnsmasq -> DNS proxy temporary port

Attached Files
.txt   Flow_netPI.txt (Size: 427 bytes / Downloads: 0)
.txt   Flow_RaspPi.txt (Size: 1.18 KB / Downloads: 0)

  PROFINET to OPC UA data conversion with Node-RED
Posted by: Armin@netPI - July-7th-2020, 12:20 PM - Forum: Projects - No Replies

I personally checked a data conversion from PROFINET to OPC UA and vice versa using Node-RED on netPI RTE 3 successfully.

First I was loading a Node-RED container onto my netPI from here https://hub.docker.com/r/hilschernetpi/netpi-nodered. At least the version tag 1.5.6 is needed.

This Node-RED versions contains on one hand a fieldbus node that turns netPI's netX network controller into a PROFINET device. On the other hand it contains an OPC UA server node that can be addressed across port 53880 via any client.

I developed a simple Node-RED flow that creates two OPC UA objects "Inputs" and Outputs" of data type "string" and size of 2 bytes for each the data from/to PROFINET shall get exchange across on OPC UA side.

[{"id":"4489596a.516928","type":"OpcUa-Server","z":"bf08491e.4ddf1","port":"53880","name":"OPC-UA Server","endpoint":"UA/SimpleNodeRedServer","x":1120,"y":260,"wires":[["10d54ef6.e0f8a9"]]},{"id":"8123b078.34d418","type":"inject","z":"bf08491e.4ddf1","name":"Data string","topic":"","payload":"Hello World","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":"","x":220,"y":420,"wires":[["c2559406.92e0b"]]},{"id":"8aba729c.24dae","type":"status","z":"bf08491e.4ddf1","name":"Get OPC UA server status","scope":["4489596a.516928"],"x":270,"y":120,"wires":[["cfbd0cca.68f4c8"]]},{"id":"cfbd0cca.68f4c8","type":"switch","z":"bf08491e.4ddf1","name":"If running -> continue","property":"status.fill","propertyType":"msg","rules":[{"t":"eq","v":"green","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":660,"y":120,"wires":[["a292296a.862468","dabbc6c8.72862"]]},{"id":"f6c11eb7.173e38","type":"change","z":"bf08491e.4ddf1","name":"Command \"addVariable\"","rules":[{"t":"set","p":"payload","pt":"msg","to":"{ \"opcuaCommand\": \"addVariable\" }","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":670,"y":260,"wires":[["4489596a.516928"]]},{"id":"a292296a.862468","type":"change","z":"bf08491e.4ddf1","name":"Add \"Inputs\" variable","rules":[{"t":"set","p":"topic","pt":"msg","to":"ns=1;s=Inputs;datatype=String","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":260,"y":240,"wires":[["f6c11eb7.173e38"]]},{"id":"933612fe.e2fb58","type":"comment","z":"bf08491e.4ddf1","name":"Check OPC UA server status","info":"","x":200,"y":60,"wires":[]},{"id":"9ba5bd0d.da3648","type":"comment","z":"bf08491e.4ddf1","name":"Add input and output buffer to OPC UA server","info":"","x":250,"y":180,"wires":[]},{"id":"88b215a0.e3cda8","type":"comment","z":"bf08491e.4ddf1","name":"Inject Inputs manually","info":"","x":180,"y":360,"wires":[]},{"id":"3676aa42.e7c55e","type":"comment","z":"bf08491e.4ddf1","name":"PROFIBUS inputs to OPC UA server","info":"","x":220,"y":480,"wires":[]},{"id":"dabbc6c8.72862","type":"change","z":"bf08491e.4ddf1","name":"Add \"Outputs\" variable","rules":[{"t":"set","p":"topic","pt":"msg","to":"ns=1;s=Outputs;datatype=String","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":260,"y":300,"wires":[["f6c11eb7.173e38"]]},{"id":"c2559406.92e0b","type":"change","z":"bf08491e.4ddf1","name":"Add variable name \"Inputs\"","rules":[{"t":"set","p":"topic","pt":"msg","to":"Inputs","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":660,"y":420,"wires":[["b9696001.48685"]]},{"id":"6a96c8f3.ddc1c8","type":"change","z":"bf08491e.4ddf1","name":"Add variable name \"Inputs\"","rules":[{"t":"set","p":"topic","pt":"msg","to":"Inputs","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":660,"y":540,"wires":[["d52aa695.c840a8"]]},{"id":"b9696001.48685","type":"change","z":"bf08491e.4ddf1","name":"To JSON","rules":[{"t":"set","p":"payload","pt":"msg","to":"{ \"messageType\" : \"Variable\", \"variableName\": msg.topic, \"variableValue\": msg.payload }","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":420,"wires":[["4489596a.516928"]]},{"id":"d52aa695.c840a8","type":"change","z":"bf08491e.4ddf1","name":"To JSON","rules":[{"t":"set","p":"payload","pt":"msg","to":"{ \"messageType\" : \"Variable\", \"variableName\": msg.topic, \"variableValue\": msg.payload }","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":540,"wires":[["4489596a.516928"]]},{"id":"1b409600.aa19f2","type":"comment","z":"bf08491e.4ddf1","name":"OPC UA server to PROFIBUS outputs","info":"","x":230,"y":620,"wires":[]},{"id":"10d54ef6.e0f8a9","type":"switch","z":"bf08491e.4ddf1","name":"\"Outputs\"?","property":"payload.variableName","propertyType":"msg","rules":[{"t":"eq","v":"Outputs","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":210,"y":700,"wires":[["f3cc4f4a.30ef08"]]},{"id":"f3cc4f4a.30ef08","type":"function","z":"bf08491e.4ddf1","name":"string to array","func":"msg.payload.value = [];\n\nfor (let i=0; i < msg.payload.variableValue.length; i++) {\n    msg.payload.value[i] = msg.payload.variableValue.charCodeAt(i);\n}\n\ndelete msg.payload.variableValue;\ndelete msg.payload.variableName;\ndelete msg.payload.messageType;\n\nreturn msg;","outputs":1,"noerr":0,"x":420,"y":700,"wires":[["6943568d.333558"]]},{"id":"e6483c51.702b58","type":"fieldbus in","z":"bf08491e.4ddf1","name":"PROFINET IO","FieldbusNodeVersion":"1.2.7","WrapperVersion":"1.2.8","WrapperCompileDate":"Feb 18 2020/14:33:18","MinExpectedNodeJSVersion":"12.13.1","ActNodeJSVersion":"12.18.1","ActNodeREDVersion":"1.0.6","selectedSignalPath":"input~receive_001~Sig_1","fieldbusObj":"b5082b22.f82568","x":210,"y":540,"wires":[["c2fd56f0.52b8f"]]},{"id":"6943568d.333558","type":"fieldbus out","z":"bf08491e.4ddf1","name":"PROFINET IO","FieldbusNodeVersion":"1.2.7","WrapperVersion":"1.2.8","WrapperCompileDate":"Feb 18 2020/14:33:18","MinExpectedNodeJSVersion":"12.13.1","ActNodeJSVersion":"12.18.1","ActNodeREDVersion":"1.0.6","selectedSignalPath":"output~send_001~Sig_1","fieldbusObj":"b5082b22.f82568","x":620,"y":700,"wires":[]},{"id":"c2fd56f0.52b8f","type":"function","z":"bf08491e.4ddf1","name":"array to string","func":"msg.payload = Buffer.from(msg.payload.value);\nmsg.payload = msg.payload.toString();\nreturn msg;","outputs":1,"noerr":0,"x":420,"y":540,"wires":[["6a96c8f3.ddc1c8"]]},{"id":"b5082b22.f82568","type":"fieldbus interface","z":"","availableStackName":"PROFINET IO Device (version 3.12, build 0 revision 2): cifX0","interfaceComponents":"{\"fwName\":\"PROFINET IO Device\",\"boardName\":\"cifX0\",\"fwVersionMajor\":3,\"fwVersionMinor\":12,\"fwVersionBuild\":0,\"fwVersionRev\":2,\"prtName\":\"PROFINET IO\",\"className\":\"Device\",\"prtClassNumber\":21,\"commClassNumber\":10,\"channelNumber\":2,\"deviceNumber\":7660120,\"serialNumber\":21947}","clearOutputsOnDeploy":false,"traceFilePath":"/root/.node-red/node-fieldbus.log","traceLevelWrapper":"wrapper","traceLevelNode":"node"}]

Import this flow for own tests with copy and paste across your clipboard and insert it via the Node-RED embedded "import" function. Before it runs fine you need to double click one of the PROFINET nodes and select "open" to open the Fieldbus configuration web page and configure "2 send bytes" and "2 receive bytes" in exactly that order and click Project "save". Then you can deploy the flow.

Please to not forget to give the new netPI PROFINET device a name over Ethernet using tools supporting the DCP protocol that is explained here what it is: https://profinetuniversity.com/naming-ad...finet-dcp/. The default name is "niotenpi351gbenre" and stated in the GSDML file that can be download in the fieldbus configrator as well.

As counterpart on OPC UA side I was using a free OPC UA client from company Unified Automation that everybody can download from here after registration: https://www.unified-automation.com/downl...ients.html

Since the OPC UA server node does not send the user a message when it is finished initializing, I am using a "status" node as a trick to get triggered when the status of the OPC UA node changes to "green" in order to have an indication when the objects "Inputs" and "Outputs" can be created. If you are not wating creating such objects will fail!

Because the OPC UA server node just supports the data type "string" as only object that is of type array I am using that one to exchange data from/to PROFINET.

Have fun.

  connecting a microphone via USB
Posted by: tad - July-6th-2020, 06:53 AM - Forum: Software - Replies (16)

Dear Armin,

To run a container application which is developed on commercial raspberry pi, I need to map a microphone via USB port.
I think a directory '/dev/snd' must be mounted when creating a new container on netPI.

But,  the attached failure message appears when deployed.
Is there any solution to activate the microphone device?

Thank you very much for your support.
Best regards,

Attached Files Thumbnail(s)

  DHCP server not working
Posted by: m-yoshikawa - June-22nd-2020, 01:59 AM - Forum: Software - Replies (19)

Dear all experts,

I am using netpi with firmware virsion V1.2.0.0.
I want to use netpi as a access point with a dhcp server.
Since, I changed netpi's wifi settings as the attached picture.
For a short time, it works well.

However, after a particular reboot, the dhcp server does not works.
A client(Windows machine) can connect to netpi through wifi, but no ip adresses are assigned.

It can recover by resetting netpi's wifi configuration by pushing "Save changes" button.
However, after a while, the problem occurs again after a reboot.

For your information, the followings are dnsmasq error messages in syslog. 

<30>1 2020-06-19T02:46:40+00:00 NTB827EBE916A2 NetworkManager 953 - - dnsmasq: failed to create listening socket for Cannot assign requested address
<26>1 2020-06-19T02:46:40+00:00 NTB827EBE916A2 dnsmasq 1745 - - failed to create listening socket for Cannot assign requested address
<26>1 2020-06-19T02:46:40+00:00 NTB827EBE916A2 dnsmasq 1745 - - FAILED to start up
<4>1 2020-06-19T02:46:40+00:00 NTB827EBE916A2 NetworkManager 953 - - <warn>  [1592534800.5257] dnsmasq[0x22ebcd8]: dnsmasq exited with error: Network access problem (address in use, permissions) (2)

I want to know the cause of this problem and how can I avoid it.

Best regards.

  Admin web UI login for Node Red container
Posted by: luciana.mendes - June-18th-2020, 06:42 PM - Forum: Software - Replies (1)

I installed the hilschernetpi / netpi-nodered and now Node Red is asking for a username and password. In documentation of this container talks about admin web UI login. Where do  I find this user and password?

  Node-Red "http in"-Node not working
Posted by: DWxPro - June-18th-2020, 12:45 PM - Forum: Software - Replies (8)

Dear Armin,

i am trying to build a little webservice witch can recive XML data from clients using the "http in"-Node and the POST methode. On my normal Raspberry Pi the flow is doing its job but when it transfer it on my netPi i can not recive any messages. 

[{"id":"8a45d1e1.5db92","type":"http response","z":"e69b5c9f.49237","name":"","statusCode":"200","headers":{},"x":560,"y":120,"wires":[]},{"id":"85a4eae3.9ec5a8","type":"debug","z":"e69b5c9f.49237","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":550,"y":80,"wires":[]},{"id":"94321f38.1215a","type":"xml","z":"e69b5c9f.49237","name":"xml to obj","property":"payload","attr":"","chr":"","x":280,"y":80,"wires":[["85a4eae3.9ec5a8","7655a6d0.106238"]]},{"id":"7655a6d0.106238","type":"change","z":"e69b5c9f.49237","name":"empty","rules":[{"t":"set","p":"payload","pt":"msg","to":"\"\"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":430,"y":120,"wires":[["8a45d1e1.5db92"]]},{"id":"1e25b534.f6a0cb","type":"http in","z":"e69b5c9f.49237","name":"","url":"/test","method":"post","upload":false,"swaggerDoc":"","x":120,"y":80,"wires":[["94321f38.1215a"]]}]

Dose that maybe have something to do with a missing certificate?

kind regards,

  NetHAT SPI configuration
Posted by: thp9 - June-10th-2020, 01:46 PM - Forum: Software - Replies (1)


I want to use the NetHAT via a non linux embedded environment. I'm using the M4 processor of the STM32MP157C-DK2 board.
I didn't think it would be too difficult knowing that the netShield which uses the same netX52 works with stm32 nucleo boards
The netHAT has EtherCAT firmware already loaded from linux
For the SPI configuration I used the exact same code from one of the samples along with cifxToolkit taken from "STM32CubeExpansion_netX_F7_F4_V1.3.0.1" file on your website for the netShield

SpiHandle.Instance               = SPIx;
SpiHandle.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16;
SpiHandle.Init.Direction         = SPI_DIRECTION_2LINES;
SpiHandle.Init.CLKPhase          = SPI_PHASE_2EDGE;
SpiHandle.Init.CLKPolarity       = SPI_POLARITY_HIGH;
SpiHandle.Init.DataSize          = SPI_DATASIZE_8BIT;
SpiHandle.Init.FirstBit          = SPI_FIRSTBIT_MSB;
SpiHandle.Init.TIMode            = SPI_TIMODE_DISABLE;
SpiHandle.Init.CRCCalculation    = SPI_CRCCALCULATION_DISABLE;
SpiHandle.Init.CRCPolynomial     = 7;
SpiHandle.Init.NSS               = SPI_NSS_SOFT;
SpiHandle.Init.Mode              = SPI_MODE_MASTER;

With this configuration I'm receiving bytes backward, and shifted one bit and with 0xFF between each byte.
When I set CLKPhase to SPI_PHASE_1EDGE, I'm receiving the bytes, shifted one bit to left and 0xFF between each byte
Here is a picture that illustrates the problem:
[Image: 9YfCYNH.png]
The spi is configured to 50mhz.
I have tried all combinations of CLKPhase and CLKPolarity and none works as it should.
Does the netHat have a different configuration for SPI than the netShield ? Because the configuration from the sample you provided for the netShield doesn't seem to work on the netHat
Can I get more information about how the netHat spi is configured and how should I configure my master spi correctly ?

Thank you

  Application developed with commercial Raspberry Pi
Posted by: tad - June-10th-2020, 07:10 AM - Forum: Software - Replies (4)

Dear Armin,

I think this information likely explained somewhere but could you please let me know again?

Can I run an application developed with commercial (standard) Raspberry Pi, on netPI without changing it at all?
If so, I would like to know its procedure, please.

If my application is made in Python, I guess that I should install Docker on the Rapsberry Pi, create a container where the Python program runs, and load this image onto netPI.
But, I am not 100% sure, which procedure is a normal way.
I guess it may be a normal procedure to use a bare metal model of netPI and copy all Raspberry's environment to netPI.

Moreover, if I want to use the DI/DO extension (NIOT-E-NPIX-4DI4DO) for my own container, I can't imagine how to develop it.

Thank you very much for your information.
Best regards,