Crates.io | pixy-server |
lib.rs | pixy-server |
version | 0.2.2 |
source | src |
created_at | 2023-07-28 13:20:23.596265 |
updated_at | 2024-04-29 16:24:59.863685 |
description | A web server implementation of the Pixy service |
homepage | |
repository | https://github.com/cryptaliagy/pixy |
max_upload_size | |
id | 928512 |
size | 63,697 |
Pixy is a web server designed to be used with IoT devices for secure-by-default sensor data relay. It was originally built for use with the Pimoroni Enviro Pico, so you could say it is a Raspberry Pi Pico proxy.
Pixy is a Rust-based proxy for relaying sensor messages to multiple targets defined within a simple YAML configuration file. It acts as a single write-only entrypoint for IoT devices, reducing configuration overhead and making it easier to distribute data to many independent systems.
Got suggestions for Pixy? Open an issue for a feature request, or start a discussion!
After setting up an Enviro Pico and connecting it to my Home Assistant instance with MQTT, I started thinking of some other uses for it. I've been thinking on how I could connect it up to other automation platforms (like IFTTT), how I might transmit data to citizen science initiatives, or how I might wire up more robust alerting systems, improve fault tolerance, etc., which did not feel possible to do when trying to extend battery life on the Pico as much as possible.
Scouring through some forums and github repositories, I found that other people who use this board also had similar thoughts regarding uploads to multiple targets, as well as increasing the list of available targets. However, multiple upload targets = more time spent uploading = more battery used, so doing this from the Pico itself did not seem like a good idea. I decided that I would write some kind of sensor proxy that could handle the multi-target upload, so the Pico would only ever need to upload to one target.
My goals with this proxy were:
Pixy can be installed in a number of different ways depending on your preferences and platform. See the installation docs for more info.
If you are hoping to run Pixy in a Raspberry Pi or a Pi Zero, you should prefer using the Debian/Ubuntu/Raspian instructions that set up the systemd service to run in the background.
At this time, Windows & Mac OS support are only available through the Docker installation.
After running through the relevant install steps, read the configuration
This project is primarily licensed under the MIT License. For all terms, please see the LICENSE file.
Some scripts in the pkg/debian
directory are based off of code licensed under the MPL 2.0, and as such these are also licensed under the MPL 2.0. Any such scripts under the license will:
For a snapshot of the current plans for Pixy, see the milestones page on GitHub.