Skip to content

(PL) Instalacja

Bartek L edited this page Sep 15, 2023 · 1 revision

Potrzebny sprzęt

  • 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Ω

Instalacja

  1. Podłącz BME280 i DS18B20 do Raspberry Pi.

  2. Wgraj system na kartę micro SD i włóż ją do Raspberry Pi.

  3. Włącz Raspberry Pi i połącz się za pomocą SSH lub podłącz monitor i klawiaturę.

  4. Włącz interfejs 1-Wire i I2C.

    1. sudo raspi-config
    2. Interface options > 1-Wire > Yes > OK
    3. Interface options > I2C > Yes > OK
    4. Finish
  5. Zainstaluj MySQL. Opcjonalnie możesz zainstalować Apache, PHP i phpMyAdmin do zarządzania MySQL.
    Zobacz ten poradnik, aby dowiedzieć się jak to zrobić.

  6. 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
  7. Zainstaluj wymagane pakiety PIP.

    sudo pip install -r requirements.txt
  8. Stwórz bazę danych MySQL meteo i zaimportuj tabelę z pliku meteo.sql

  9. 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 i DATABASE_PASSWORD swoimi danymi logowania do MySQL. Możesz dodać flask.port, aby zmienić port strony, domyślny port to 5000.

  10. Utwórz usługę i aktywuj automatyczne uruchamianie.

    1. Stwórz plik /etc/systemd/system/meteo.service

      sudo touch /etc/systemd/system/meteo.service
    2. 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.

    3. Uruchom usługę

      sudo systemctl start meteo
    4. Aktywuj automatyczne uruchamianie

      sudo systemctl enable meteo
  11. Ustaw cron, aby zapisywał odczyty do bazy danych.

    1. Otwórz tabelę cron

      crontab -e
    2. 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.

    3. Możesz zmienić częstotliwość

Clone this wiki locally