Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/znitche/crowsnest
lightberryAPI + Raspberry Pi Pico W = LAN services hub
https://github.com/znitche/crowsnest
api async microcontroller micropython network-monitoring raspberry-pi-pico services-hub
Last synced: 28 days ago
JSON representation
lightberryAPI + Raspberry Pi Pico W = LAN services hub
- Host: GitHub
- URL: https://github.com/znitche/crowsnest
- Owner: zNitche
- License: mit
- Created: 2024-04-19T21:12:42.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2024-06-28T15:26:39.000Z (6 months ago)
- Last Synced: 2024-06-28T20:11:10.572Z (6 months ago)
- Topics: api, async, microcontroller, micropython, network-monitoring, raspberry-pi-pico, services-hub
- Language: Python
- Homepage:
- Size: 1.53 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CrowsNest
lightberryAPI + Raspberry Pi Pico W = LAN services hub![case_1](media/1.jpg)
![case_2](media/2.jpg)### Requirements (Microcontroller)
- [lightberryAPI v1.2.7](https://github.com/zNitche/lightberryAPI/releases/tag/v1.2.7) - frozen module
- [aht20.py](https://github.com/zNitche/pico-aht20/blob/master/aht20.py) - frozen module
- [microHTTP v1.0.0](https://github.com/zNitche/microHTTP/releases/tag/v1.0.0) - frozen module### Features:
- Providing API + serving services data for [web ui](https://github.com/zNitche/CrowsNestUI).
- Logging environment temperature and humidity.
- Serving React based frontend.
- Build in database supporting data sorting and querying.
- Database models serialization.
- Simple cache implementation.
- Checking services accessibility.### How to use it:
1. Build (and flash rpi pico with) MicroPython firmware with modules described in `Requirements` section.
2. Build and prepare (described in README) [web ui](https://github.com/zNitche/CrowsNestUI).
3. Copy content of web ui `dist` to `/files` directory.
4. Create and fill `lightberryAPI` config.
```
cp lightberry_config.template.json lightberry_config.json
```
5. Create and fill database.
```
cp db.template.json db.json
```
6. Flash Raspberry Pi Pico with this project files.### Project Goals:
The main goals of the project was to:
- Use lightberryAPI in real case scenario.
- Build low power consumption device I can use to track LAN services.
- Design and 3D print case for device.### Extra
#### Database tools
- minify `db.json`
```
python3 tools/convert_db.py --db_path ./db.json --minify
```
- de-minify `db.json`
```
python3 tools/convert_db.py --db_path ./db.json
```### Development
packages in `requirements.txt` are used for development```
pip3 install -r requirements.txt
```#### Remote Shell
for flashing pico you can use `rshell`
```
pip3 install rshell==0.0.32
```enter REPL
```
rshell
repl
```flash
```
rshell -f commands/flash
```clear all files
```
rshell -f commands/wipe
```