| Crates.io | pignet |
| lib.rs | pignet |
| version | 0.7.2 |
| created_at | 2025-05-29 14:45:29.61115+00 |
| updated_at | 2025-06-17 14:40:16.830672+00 |
| description | Netwok crate for use by other crates in the pigg project |
| homepage | https://github.com/andrewdavidmackenzie/pigg/ |
| repository | https://github.com/andrewdavidmackenzie/pigg/ |
| max_upload_size | |
| id | 1693840 |
| size | 152,731 |
An app for Raspberry Pi GPIO Output control and Input visualization, with GUI and CLI Support for macOS, Linux (including Raspberry Pi) and Windows; GPIO CLI agent for Raspberry Pi and embedded applications for Pi Pico (USB) and Pi Pico W (USB, TCP).
The GUI (Pi Gpio GUI - PIGGUI) is affectionately known as "piggy".
|
|
|
|
Website (just README.md content for now...)
piggui is connected
to as Pi and Pi Pico pin outs are different.pigglets and porkys, or USB for direct connected porkys.piggui) can connect to a Pi (running pigglet) over the network, or to a Pi Pico/Pi Pico W (over the
network or USB direct connect) to control and view the GPIO hardware from a distance.nodeid. pigglet prints this out for you
if it is started in the foreground. When pigglet has been started as a system service, start another instance in the
foreground and this will detect the background instance and display its nodeid for you then exit.nodeid and either supply it as a command line option to piggui (--nodeid $nodeid, prefixed with --
if using cargo run) or enter it into the GUI. To connect to a remote instance from the GUI, click on the
"hardware menu" in the left of the info bar at the bottom of the screen and select the "Connect to remote Pi..."
menu item. Then enter the nodeid into the field provided and hit "Connect"You can see more gifs and videos of features here
piggui is a GUI for configuring pins, observing input levels and controlling output levels.
On Raspberry Pi it has a real GPIO hardware backend (via rppal).
On macOS, Linux and Windows it uses a fake hardware backend (mainly for development) or can connect to a remote
hardware backend that is running pigglet.
pigglet is a "headless" command line utility that interacts with the GPIO hardware, and can either apply a
config supplied from file and stop, or can listen for config changes from a remote piggui and report input
level changes to the GUI.
If built on the Pi (with the "pi_hw" feature), then it has a real GPIO hardware backend.
It can be built on macOS/Linux/Windows/Pi with the "fake_hw" feature for a fake hardware backend, mainly used for development.
It takes an optional config file as a command line option. It will load the GPIO configuration from the file
(like piggui can) and it will apply it to the hardware then stop.
It offers the ability to interact with the hardware from a remote pigguiinstance.
It will print out connection info at startup and start listing for Iroh network connections from piggui instances,
then the user can interact with it and visualize inputs level changes from the piggui GUI.
porky is an embedded application developer for the Raspberry Pi Pico and Pi Pico W for remote interaction with the
Pico's GPIO hardware. It can be connected to over TCP or USB.
For more details see porky's README.md
pigg has a number of binaries as part of the project (see descriptions above) and they are tested in CI, or
manually or are known to work as follows:
| Application | Arch Supported | Device | OS Supported | Asset |
|---|---|---|---|---|
| piggui | Apple Silicon | macOS 15 | pigg-aarch64-apple-darwin.tar.xz | |
| x86_64 | macOS 15 | pigg-x86_64-apple-darwin.tar.xz | ||
| x86_64 | Ubuntu 24.04 | pigg-x86_64-unknown-linux-gnu.tar.xz | ||
| x86_64 | Windows 10 | pigg-x86_64-pc-windows-msvc.msi | ||
| aarch64 | Pi400 | Pi OS | pigg-aarch64-unknown-linux-gnu.tar.xz | |
| aarch64 | Pi4 | Pi OS | pigg-aarch64-unknown-linux-gnu.tar.xz | |
| aarch64 | Pi5 | Pi OS | pigg-aarch64-unknown-linux-gnu.tar.xz | |
| arm | Pi Zero | Pi OS (32bit) | pigg-arm-unknown-linux-gnu.tar.xz | |
| aarch64 | Pi Zero 2 | Pi OS (64bit) | pigg-aarch64-unknown-linux-gnu.tar.xz | |
| armv7 musl | Pi3B | Ubuntu 18.04.6 LTS | pigg-armv7-unknown-linux-musleabihf.tar.xz | |
| armv7 gnu | Pi3B | Ubuntu 18.04.6 LTS | pigg-armv7-unknown-linux-gnueabihf.tar.xz | |
| pigglet | Apple Silicon | macOS 15 | pigg-aarch64-apple-darwin.tar.xz | |
| x86_64 | macOS 15 | pigg-x86_64-apple-darwin.tar.xz | ||
| x86_64 | Ubuntu 24.04 | pigg-x86_64-unknown-linux-gnu.tar.xz | ||
| x86_64 | Windows 10 | pigg-x86_64-pc-windows-msvc.msi | ||
| aarch64 | Pi400 | Pi OS | pigg-aarch64-unknown-linux-gnu.tar.xz | |
| aarch64 | Pi4 | Pi OS | pigg-aarch64-unknown-linux-gnu.tar.xz | |
| aarch64 | Pi5 | Pi OS | pigg-aarch64-unknown-linux-gnu.tar.xz | |
| arm | Pi Zero | Pi OS (32bit) | pigg-arm-unknown-linux-gnu.tar.xz | |
| aarch64 | Pi Zero 2 | Pi OS (64bit) | pigg-aarch64-unknown-linux-gnu.tar.xz | |
| armv7 musl | Pi3B | Ubuntu 18.04.6 LTS | pigg-armv7-unknown-linux-musleabihf.tar.xz | |
| porky_w | armv7 | Pi Pico W | N/A | porky_pico_w.uf2 |
| porky | armv7 | Pi Pico | N/A | porky_pico.uf2 |
| porky_w2 | armv7 | Pi Pico 2 W | N/A | porky_pico_w2.uf2 |
| porky2 | armv7 | Pi Pico 2 | N/A | porky_pico2.uf2 |
We would like input from Raspberry Pi users to help us decide the order of things to work on in the future, and input on how integrate new functionalities (e.g. I2C buses, SPI, UART, etc.).
Please let us know what you think, and suggestions, via Discussions or GH issues.
We have identified a number of areas to work on in future releases, but we would really appreciate your input on what could be most useful or just the coolest, many have GH issues.
See issues in milestone 0.7.0 for the up-to-date list and progress.
piggui with small displaysSee INSTALLING.md
See HELP.md for help with known issues. We hope to grow this and maybe link with the GUI and reported errors.
See BUILDING.md
For details on running pigglet and piggui in the foreground or as a system service, on the same machine or with a
remote GUI to Pi hardware, see RUNNING.md
See CONTRIBUTING.md
See LICENSE
See SECURITY.md