https://github.com/raederdev/iot-display
Raspberry Pi dashboard
https://github.com/raederdev/iot-display
iot-device linux nextjs raspberry-pi react
Last synced: 9 months ago
JSON representation
Raspberry Pi dashboard
- Host: GitHub
- URL: https://github.com/raederdev/iot-display
- Owner: RaederDev
- License: mit
- Created: 2022-05-28T21:34:23.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-11T21:24:16.000Z (almost 2 years ago)
- Last Synced: 2025-04-02T16:01:45.596Z (10 months ago)
- Topics: iot-device, linux, nextjs, raspberry-pi, react
- Language: TypeScript
- Homepage:
- Size: 1.87 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Raspberry Pi dashboard

## Requirements
- Raspberry Pi or similar board
- Screen (1024x600)
- Internet connection
- Open Weather API key
## Recommended
- EP-0106 Sensor Hub Development board
## Setup server
If you have an EP-0106 Sensor Hub board attached make sure to enable I2C in the raspi-config
interface options before proceeding.
Make sure you have git, nodejs and systemd installed before starting the setup process.
Download and execute the setup script. This will create a new user, clone the project,
build the server and install a systemd startup task to launch the server on boot.
```bash
wget https://raw.githubusercontent.com/RaederDev/iot-display/main/bin/setup.sh && chmod +x setup.sh
sudo ./setup.sh
```
After setup was completed you need to edit the config file to add your own API keys and other config:
```bash
vi /opt/iot-display/config/config.json
```
Aftwards enable and start the server:
```bash
systemctl enable iot-display && systemctl start iot-display
```
## Setup Human monitoring service
If you have an EP-0106 Sensor Hub Development board connected you can automatically turn on your screen when human
activity is detected in the room.
Replace YOUR_USER_THAT_STARTS_X11 with the user you use to log-into your DE.
Please note that the user must be in the i2c group to access sensor data.
```bash
systemctl enable iot-human-monitoring@YOUR_USER_THAT_STARTS_X11
systemctl start iot-human-monitoring@YOUR_USER_THAT_STARTS_X11
```
## Setup client
The project contains a desktop file and script to launch chromium in kiosk mode.
Starting this script on boot is dependent on what DE you use so please refer to their documentation for that.
You can find the script and setup process in your installation path:
```bash
/opt/iot-display/bin/launch-browser.js
/opt/iot-display/bin/system/iot-display-kiosk.desktop
```
## Updating project
If you want to update the project to the newest version execute the update script and restart the service.
```bash
sudo -u display /opt/iot-display/bin/update-server.sh
sudo systemctl restart iot-display
```
## Finding stop and diva IDs
You can use this tool (not affiliated with the project), to easily find WL stop and diva IDs for your config file:
https://till.mabe.at/rbl/
## Credits
Wiener Linien real time data API:
Datenquelle: Stadt Wien - https://data.wien.gv.at