-
Notifications
You must be signed in to change notification settings - Fork 0
(PL) Instalacja
- Raspberry Pi z dostępem do sieci (użyłem Raspberry Pi Zero W)
- Karta micro SD (do Raspberry Pi)
- BME280 - czujnik temperatury, wilgotności i ciśnienia
- DS18B20 - czujnik temperatury
- Rezystor 4,7 kΩ
-
Podłącz BME280 i DS18B20 do Raspberry Pi.
-
Wgraj system na kartę micro SD i włóż ją do Raspberry Pi.
-
Włącz Raspberry Pi i połącz się za pomocą SSH lub podłącz monitor i klawiaturę.
-
Włącz interfejs 1-Wire i I2C.
sudo raspi-config
- Interface options > 1-Wire > Yes > OK
- Interface options > I2C > Yes > OK
- Finish
-
Zainstaluj MySQL. Opcjonalnie możesz zainstalować Apache, PHP i phpMyAdmin do zarządzania MySQL.
Zobacz ten poradnik, aby dowiedzieć się jak to zrobić. -
Sklonuj repozytorium i przejdź do jego folderu.
git clone https://github.com/bartekl1/meteo.git cd meteo
lub
gh repo clone bartekl1/meteo cd meteo
-
Zainstaluj wymagane pakiety PIP.
sudo pip install -r requirements.txt
-
Stwórz bazę danych MySQL
meteo
i zaimportuj tabelę z plikumeteo.sql
-
Stwórz konfigurację w pliku
configs.json
.{ "flask": { "host": "0.0.0.0" }, "mysql": { "host": "127.0.0.1", "username": "DATABASE_USERNAME", "password": "DATABASE_PASSWORD", "database": "meteo" } }
Zastąp
DATABASE_USERNAME
iDATABASE_PASSWORD
swoimi danymi logowania do MySQL. Możesz dodaćflask.port
, aby zmienić port strony, domyślny port to 5000. -
Utwórz usługę i aktywuj automatyczne uruchamianie.
-
Stwórz plik
/etc/systemd/system/meteo.service
sudo touch /etc/systemd/system/meteo.service
-
Wklej poniższą zawartość do pliku
[Unit] Description=Meteo station After=network.target [Service] WorkingDirectory=/path/to/repo ExecStart=/usr/bin/python3 /path/to/repo/app.py Restart=always [Install] WantedBy=multi-user.target
Zastęp
/path/to/repo
prawdziwą ścieżką do repozytorium. -
Uruchom usługę
sudo systemctl start meteo
-
Aktywuj automatyczne uruchamianie
sudo systemctl enable meteo
-
-
Ustaw cron, aby zapisywał odczyty do bazy danych.
-
Otwórz tabelę cron
crontab -e
-
Dodaj poniższą linijkę do tabeli cron
*/10 * * * * cd /path/to/repo && python3 upload_to_database.py
Zastęp
/path/to/repo
prawdziwą ścieżką do repozytorium. -
Możesz zmienić częstotliwość
-