Up-to-date instructions for installing are also be in the release notes of the latest release
If your platform supports sh
(and you have curl
installed), then you can install the appropriate prebuilt binary
using:
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/andrewdavidmackenzie/pigg/releases/download/0.3.4/pigg-installer.sh | sh
(example shown is for version 0.3.4. Check the latest release page for the line to be used for the latest release, after 0.3.4)
For platforms that use homebrew, you can install the appropriate prebuilt binary using:
brew install andrewdavidmackenzie/pigg-tap/pigg
If you have installed a rust toolchain, then you can install cargo-binstall
from crates.io
and then use it to install the pre-built binaries, without building from source:
cargo binstall pigg
See the Downloads section in the latest release where you can find a downloadable "msi" installer for Windows that will install the appropriate pre-built binary.
You can also download a "zip" file with the prebuilt binary for Windows and run or install that manually.
See the Downloads section in the latest release where you can find "tar.xz" downloads for x86 and Apple Silicon Macs.
Expand the downloaded file with tar -xvf
and then run or manually install the binary
See the Downloads section in the latest release where you can find "tar.xz" downloads for Linux x86 machines
Expand the downloaded file with tar -xvf
and then run or manually install the binary
If you installed piggui
on Linux using a provided installation script, it may well have installed these rules for you
already. Try piggui
. If it works without an error then you are done!
If piggui
reports a USB permissions error in the UI, then the cause is most likely a lack of these udev
rules.
The problem and the fix is covered by a section of HELP.md.
Check the version you have installed is the latest with
piggui --version
piglet --version
For this option you will need a working rust toolchain installed.
cargo install pigg
cargo
will build the binaries for the machine where you are running it, so:
- On a macOS/Windows/Linux host you will get a version of
piggui
andpiglet
with a fake hardware backend, not real Pi GPIO hardware, but you can play with the GUI. - On a Pi you will get a version of
piggui
andpiglet
with a real GPIO hardware backend enabling you to interact with real Pi GPIO hardware.
You can install piglet
as a system service that runs in the background and is restarted at boot, so it is always
available.
- Find where the
piglet
binary is. This could be intarget/debug
ortarget/release
- To install as a system service:
piglet --install
- To uninstall an existing service:
piglet --uninstall
Most OS require you to run this as admin/su using sudo
or equivalent.
This has caused me some problems as cargo
was not in su
user's path. This problem should be reduced when we
produce pre-built binaries for you to use.
As mentioned above, piglet
will output information to help connect to it, but when running as a background
system service this will be in logs, and not simple for users to find.
To facilitate getting these values you can run piglet
from the command line and it will
detect there is always another instance running, find the values associated with that instance and echo them to
the terminal. You can copy these and use them with piggui
on the same, or a remote, machine.