// the find
srrobicheaux/RaspberryPi-GPIO-OPCUA
I am exploring building an OPCUA Client and Server with a simple PHP page tied to the client to control GPIO on the server. Publishing here just in case some can use and/or is interested to collaborate. This is a hobby for me, but obviously I have industry experience. Currently, I am just tracking in the ReadMe how I setup the devlopment environement.
A hobby project wiring an OPC UA server (built on the open62541 C library) to Raspberry Pi GPIO pins, with a PHP page acting as the OPC UA client to flip pins remotely. It's for someone curious about bridging industrial protocols to cheap hardware, not for anyone who needs a maintained library.
Built on open62541, a real and actively maintained OPC UA stack, so the protocol layer itself is solid rather than reinvented. The README doubles as a full lab notebook — OS flash, library build, systemd service, Apache/PHP setup, Let's Encrypt — which is more reproducible detail than most hobby repos bother with. The codebase is tiny (one server .c, one client .c, two PHP pages), so there's nothing hidden and it reads in minutes.
The README is a raw terminal transcript, not documentation — commands reference the author's own domain and personal cert paths, and at least one step (chmod -R 400 on /var/www/html) would break Apache's ability to serve the directory at all, meaning it likely wasn't re-verified end to end. No Makefile or CMakeLists; the gcc build commands are hardcoded invocations, so getting this compiling against a newer open62541 means redoing the trial-and-error yourself. No mapping anywhere between OPC UA node IDs and physical GPIO pins beyond the raw source, so understanding what toggle.c's -node_str 85 actually controls requires reading the C directly. Dead since 2020, 3 stars, 0 forks, no tests, no issues — nobody has adopted or validated this beyond the author.