Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tijy/alert-panel
FreeRTOS-Based MQTT App for Raspberry Pi Pico W and RGB Keypad Base
https://github.com/tijy/alert-panel
freertos home-assistant home-automation mqtt mqtt-client pimoroni-rgb-keypad raspberry-pi-pico
Last synced: about 2 months ago
JSON representation
FreeRTOS-Based MQTT App for Raspberry Pi Pico W and RGB Keypad Base
- Host: GitHub
- URL: https://github.com/tijy/alert-panel
- Owner: tijy
- License: mit
- Created: 2024-10-24T00:03:55.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-11-12T10:55:35.000Z (2 months ago)
- Last Synced: 2024-11-12T11:37:51.258Z (2 months ago)
- Topics: freertos, home-assistant, home-automation, mqtt, mqtt-client, pimoroni-rgb-keypad, raspberry-pi-pico
- Language: C
- Homepage:
- Size: 52.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Alert Panel
A FreeRTOS-Based App for the Raspberry Pi Pico W exposing the Pimoroni Pico RGB Keypad Base via MQTT over WiFI
## Prerequisites
1. Install: `sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib astyle`
## Build
1. Get the repo: `git clone https://github.com/tijy/alert-panel.git && cd alert-panel`
2. Get submodules: `git submodule update --init`
3. Get pico-sdk submodules: `cd lib/pico-sdk && git submodule update --init`
4. Configure credentials in: `include/alert_panel_config.h`
5. Prevent commiting credentials: `git update-index --assume-unchanged include/alert_panel_config.h`
6. Configure: `cd ../../build && cmake ..`
7. Make: `make alert-panel-app`
8. Upload to pico using BOOTSEL: `build/alert_panel_app.uf2`## Styling
1. Use astyle: `astyle --options=./.astylerc ./src/*.c ./src/*.h ./include/*.h`
## Home Assistant
The MQTT messaging (payloads and topics) has been build to support easy integration into Home Assistant.
Each LED can be set up as a light entity and each Button can be configured to raise events.
See `example/alert_panel_1.yaml` for an example configuration of how to integrate into Home Assistant.