For my bachelor project in mechatronics I had to remotely control a toy candy grabber via network. For this purpose I connected the hardware of the candy grabber to a Raspberry Pi3 Modell B+ and modified it slightly so I could access all necessary parameters. The hardware is controlled and monitored with a Python Script and accessible through a Python OPC UA server running on the Raspberry Pi. To view the device, I used the RPi Cam Web Interface, which works really great.
To control the candy grabber, I used the Node-RED dashboard as user interface. That may be an unusual way of using the dashboard but it worked really well.
For communicating with the Python OPC UA server I used node-red-contrib-opcua client nodes*. There is a stoptimer node set in the Node-RED flow when a game starts. So the players have 5 minutes to grab a candy, otherwise they loose. Important informations are shown as Pop Up dialogs in the dashboard.
A big Thank You! to all the developers contributing to the great packages and APIs that are used in this project. For more information and the full Node-RED flow visit the project repository.
*For reasons yet unknown I was unable to establish communication with the newer version node-red-contrib-iiot-opcua. I got a port error every time I tried. Maybe it expects a certain, predefined port-number?. I will follow up on this problem and would appreciate any insights on this topic.