See http://repo.munts.com/muntsos/thinservers. These are self-contained embedded Linux distribution zip files. The GPIO servers include support for controlling GPIO pins via HTTP, ONC/RPC, XML-RPC, and the Remote I/O Protocol (http://git.munts.com/libsimpleio/doc/Re ... otocol.pdf) over UDP or raw HID.
The Remote I/O Protocol is my answer to the question "How the heck to I connect a modern PC with nothing but USB ports to data acquisition systems and test fixtures and other off the wall hardware subsystems?"
The Remote I/O Protocol server program (which happens to be written in Ada) included in the GPIO Thin Server zip files supports more than just GPIO pins; it also supports A/D and D/A converters, I2C buses, PWM outputs, and SPI slave devices. There are example client programs for many different programming languages, including C++ and Python, available at: https://github.com/pmunts/libsimpleio. I know you specifically mentioned C++, but it is exceptionally easy to develop Remote I/O Protocol client programs for .Net and the Ada programming language, using libraries published on https://nuget.org and https://alire.ada.dev respectively.
The Remote I/O Protocol is my answer to the question "How the heck to I connect a modern PC with nothing but USB ports to data acquisition systems and test fixtures and other off the wall hardware subsystems?"
The Remote I/O Protocol server program (which happens to be written in Ada) included in the GPIO Thin Server zip files supports more than just GPIO pins; it also supports A/D and D/A converters, I2C buses, PWM outputs, and SPI slave devices. There are example client programs for many different programming languages, including C++ and Python, available at: https://github.com/pmunts/libsimpleio. I know you specifically mentioned C++, but it is exceptionally easy to develop Remote I/O Protocol client programs for .Net and the Ada programming language, using libraries published on https://nuget.org and https://alire.ada.dev respectively.
Statistics: Posted by pmunts — Wed Jun 12, 2024 1:53 am