Obsah:

Meteostanica RPi s responzívnou webovou stránkou: 5 krokov
Meteostanica RPi s responzívnou webovou stránkou: 5 krokov

Video: Meteostanica RPi s responzívnou webovou stránkou: 5 krokov

Video: Meteostanica RPi s responzívnou webovou stránkou: 5 krokov
Video: Tepelné čerpadlo Mitsubishi (GEOSUN) - kecání 2 2024, Júl
Anonim
Meteostanica RPi s responzívnym webom
Meteostanica RPi s responzívnym webom
Meteostanica RPi s responzívnym webom
Meteostanica RPi s responzívnym webom

V prípade školského projektu sme museli vytvoriť zariadenie IoT s webovou stránkou na príjemnú vizualizáciu zhromaždených informácií. Rozhodol som sa vytvoriť meteorologickú stanicu poháňanú bankou Raspberry Pi 3 so spustenou bankou pre responzívny web MySQL (MariaDB) pre moju databázu. a skript pythonu na zhromažďovanie informácií všetkými mojimi senzormi. Trvalo mi asi 2 týždne od začiatku do konca.

Boli sme povzbudení, aby sme urobili inštrukciu na zdieľanie nášho pokroku so zvyškom komunity DIY, takže tu to je!

Krok 1: Výber dielu, nástroje a materiály

Najprv som musel zistiť, aké senzory sú nevyhnutné pre meteorologickú stanicu. Rozhodol som sa, že chcem zmerať všetky nasledujúce údaje:

  • Teplota
  • Tlak vzduchu
  • Vlhkosť
  • Rýchlosť vetra
  • UV index

Tu sú všetky nástroje, materiály a diely, ktoré som použil

Diely:

  • DHT22/AM2302 na meranie teploty a vlhkosti. (15 EUR)
  • Adafruit BMP280 pre barometrický tlak a teplotu. (12 EUR)
  • Adafruit SI1145 na meranie UV indexu. (10 EUR)
  • Analógový anemometer Adafruit na meranie rýchlosti vetra (50 EUR)
  • MCP3008 na prevod analógových signálov na digitálne.
  • Rezistor 10 kOhm ako výsuv pre môj AM2302.
  • 9V adaptér na „napájanie“anemometra
  • 5V adaptér pre Raspberry Pi
  • Raspberry Pi 3 (akékoľvek Pi by malo stačiť)

Materiály:

Plastová nádoba na uskladnenie všetkého, čo je odolné voči dažďu

Náradie:

  • Spájkovačka a cín
  • Multimetr
  • Silikón
  • Nejaká páska

Celkovo ma teda všetky senzory stáli asi 85 eur, čo je dosť strmé, ale naozaj som chcel zahrnúť riadny merač rýchlosti, takže si myslím, že to stojí za to.

Podrobnejší zoznam s obchodmi, v ktorých si môžete kúpiť všetko, nájdete v pdf nižšie:)

Krok 2: Pripojenie nášho hardvéru

Pripojenie nášho hardvéru
Pripojenie nášho hardvéru
Pripojenie nášho hardvéru
Pripojenie nášho hardvéru

Samozrejme, budeme musieť pripojiť naše senzory k nášmu Raspberry Pi. Vyššie vidíte schematickú schému, podľa ktorej môžete všetko správne pripojiť.

Na schéme môžete vidieť, že ako zdroj napájania nášho anemometra je použitá 9V batéria, ktorá sa správne najlepšie používa iba na testovanie, pretože nebude trvať príliš dlho, 9V batériu môžete vymeniť za akýkoľvek iný zdroj napájania 7-12 V vyber si.

Naše snímače SI1145 a BMP280 budú ovládané pomocou protokolu I2C, pretože s nimi je najľahšie pracovať a vyžaduje menej káblov.

Anemometer na schéme je tu zobrazený ako LDR, pretože má do značnej miery identické zapojenie ako anemometer a nenašiel som skutočný anemometer, ktorý by som mohol vložiť do svojej dráždivej schémy:)

Krok 3: Pripojenie všetkého: Nastavenie Pi

Pripojenie všetkého: Nastavenie Pi
Pripojenie všetkého: Nastavenie Pi

V prvom rade sa musíme uistiť, že sme pripojení k internetu.

Ak to chcete urobiť v termináli, môžete prejsť do svojho súboru wpa_supplicant spustením nasledujúceho príkazu: sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Do súboru môžete pridať toto:

network = {ssid = "Your_Wifi_SSID" psk = "Your_Wifi_Password" key_mgmt = WPA-PSK

}

Môžete sa tiež rozhodnúť nastaviť svoju IP adresu na statickú, aby bol v budúcnosti uľahčený prístup. Ak to chcete urobiť, musíte ísť do súboru dhcpcd.conf spustením tohto príkazu: sudo nano /etc/dhcpcd.conf

Pridajte do súboru toto:

rozhranie wlan0static ip_address = 192.168.0.100/24

Potom sa uistíme, že balíky, ktoré sú už nainštalované na našom Pi, sú úplne aktualizované:

sudo apt-get update && sudo apt-get upgrade

Môže to chvíľu trvať, takže sa nebojte

V konfigurácii raspi config budete musieť povoliť protokol I2C a SPI. Môžete to urobiť spustením tohto príkazu:

sudo raspi-config

Potom prejdite na možnosti rozhrania a povoľte I2C aj SPI

Najprv musíte vytvoriť adresár, do ktorého chcete vložiť projekt (pomenujeme ho „meteorologická stanica“):

meteorologická stanica cd ~ mkdircd meteorologická stanica

Potom sme nastavili naše virtuálne prostredie python3:

python3 -m pip install --upgrade pip setuptools wheel virtualenvpython3 -m venv --system-site-packages envsource env/bin/activatepython -m pip install mysql-connector-python Flask flask-mysql mysql-connector-python passlib mysql-connector -python-rf

Potom budeme musieť nainštalovať niekoľko ďalších balíkov, ktoré sú potrebné na správnu funkciu všetkého:

sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

Teraz urobíme našu databázu:

Stále však musíme nastaviť našu databázu. Môžete to urobiť spustením súboru code/sql umiestneného v priečinku 'sql' takto:

sudo mariadb <sql/db_init.sql

Sql dotaz urobí potrebné tabuľky a tiež urobí niekoľko užívateľov, aby bola naša databáza o niečo bezpečnejšia.

To tiež vloží niekoľko vzorových údajov o histórii do našej databázy, aby sa ubezpečil, že náš web zobrazuje všetko správne, ak ešte nie sú zhromaždené žiadne skutočné údaje.

Ak chcete nainštalovať Adafruit_GPIO a MyPyDHT, budete musieť urobiť ešte niekoľko vecí. Najprv sa vráťte do priečinka, v ktorom používate, a potom:

git clone https://github.com/adafruit/Adafruit_Python_GPIO.gitcd Adafruit_Python_GPIO sudo python3 setup.py install

cd..git clone --recursive https://github.com/freedom27/MyPyDHTsudo python3 setup.py install

Krok 4: Softvér / kód

Softvér / Kód
Softvér / Kód
Softvér / kód
Softvér / kód
Softvér / Kód
Softvér / Kód

Musíme nastaviť back-end pre meteorologickú stanicu, ktorý zahŕňa:

- Databáza mariadb na ukladanie údajov zo senzorov a niektorých ďalších drobností.- Banková služba na spustenie webovej stránky.- Ďalšia služba, v ktorej je spustený súbor Python, ktorý číta všetky senzory. Vyššie vidíte moje veľmi jednoduché nastavenie databázy. Tabuľka používateľov je zbytočné, ale keďže som chcel prihlasovací systém, pretože som (aj keď sú všetky údaje pre všetkých používateľov rovnaké) rozhodol som sa zaradiť do svojej databázy.

Môžete pokračovať a klonovať kód môjho projektu z Githubu do priečinka projektu. Prejdite do priečinka používateľa a spustite: git clone https://github.com/BertVanhaeke/Weatherstation/ tempmv -v temp/* weatherstation/

Potom prejdite do priečinka conf v meteorologickej stanici a všetkých súborov v priečinku.

Zmeňte všetky výskyty „USERNAME“na svoje používateľské meno

Tiež budete musieť skopírovať oba súbory.service do systému a otestovať ich takto:

sudo cp conf/weatherstation-*. service/etc/systemd/system/sudo systemctl daemon-reloadsudo systemctl start weatherstation-flask.servicesudo systemctl start weatherstation-sensor.service

meteorologická stanica sudo systemctl status-*

Potom musíme upraviť konfiguráciu nginx.

sudo cp conf/nginx/etc/nginx/sites-available/weatherstationsudo rm/etc/nginx/sites-enabled/defaultsudo ln -s/etc/nginx/sites-available/weatherstation/etc/nginx/sites-enabled/weatherstationsudo systemctl reštartujte nginx.servicesudo systemctl status nginx.service

Ak všetko šlo dobre, mali by ste to spustiť a vytlačiť v termináli nejaký html:

wget -qO - localhost

Všetko by už malo fungovať dobre. Môžete surfovať na IP adresu vášho Raspberry Pi, ktorú sme nastavili na začiatku, a pozdraví vás prihlasovacia obrazovka.

Krok 5: Príloha

Príloha
Príloha
Príloha
Príloha
Príloha
Príloha

Teraz, keď všetko funguje, musíme celú vec do niečoho vložiť.

Vybral som si jednoduchú plastovú škatuľu s priehľadným vekom. Na ňu je pripevnený anemometer a tiež sekundárny malý kontajner, ktorý obsahuje snímače DHT22 a BMP280.

Tieto senzory sú namontované v samostatnom kontajneri, pretože musia byť na čerstvom vzduchu (bez toho, aby na nich pršalo), ale malinové pi nemusí.

Ako vidíte, pridal som silikón okolo okrajov, aby bol vodotesný. Do hornej nádoby som tiež vyvŕtal niekoľko otvorov, aby sa do nej dostal čerstvý vzduch.

Dúfam, že sa vám páčil môj návod, ako vybudovať meteorologickú stanicu, pretože okolo môže byť trochu drsný, pretože takto píšem sprievodcu prvýkrát, ale dúfam, že sa vám to napriek tomu páčilo:)

Odporúča: