Obsah:
- Krok 1: Výber dielu, nástroje a materiály
- Krok 2: Pripojenie nášho hardvéru
- Krok 3: Pripojenie všetkého: Nastavenie Pi
- Krok 4: Softvér / kód
- Krok 5: Príloha
Video: Meteostanica RPi s responzívnou webovou stránkou: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
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
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
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
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
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:
Meteostanica NaTaLia: Meteostanica Arduino poháňaná solárnou energiou urobila správnu cestu: 8 krokov (s obrázkami)
Meteostanica NaTaLia: Meteostanica poháňaná solárnou energiou Arduino urobila správnu cestu: Po 1 roku úspešnej prevádzky na 2 rôznych miestach zdieľam svoje plány projektov solárnej elektrárne a vysvetľujem, ako sa vyvinul do systému, ktorý môže skutočne prežiť dlhý čas. obdobia zo slnečnej energie. Ak budete postupovať
Automatická opona s domovskou stránkou Google: 3 kroky
Automatická opona s domovskou stránkou Google: Po rokoch automatizácie domácnosti so svetlami a ventilátorom sa teraz chcem pokúsiť zautomatizovať svoju domácu oponu. Náklady na hotovú automobilovú oponu sú veľmi drahé, preto som sa rozhodol pre domácich majstrov. Tento automatický záves je reléový spínač WiFi podobný Sonoff. Je to super
Dog Bot: Lego Robot Rover s webovou kamerou: 17 krokov (s obrázkami)
Dog Bot: Lego Robot Rover s webovou kamerou: Takto si vyrobíte lego robota, ktorého môžete ovládať z akejkoľvek obrazovky cez wifi. Má tiež webovú kameru, aby ste videli, kam idete, a LED svetlá pre oči! Je to skvelý projekt, ktorý môžete robiť s vašimi deťmi, pretože môžu vytvárať budovy loga a môžete do nich zapojiť
Uzel MCU so 4 -portovým reléovým modulom, aplikáciou Blynk, IFTTT a domovskou stránkou Google. Zisk ?: 5 krokov
Uzel MCU so 4 -portovým reléovým modulom, aplikáciou Blynk, IFTTT a domovskou stránkou Google. Zisk ?: Tento príspevok je o tom, ako prepojiť doménu Google s NodeMCU a aplikáciou blynk. Svoje spotrebiče môžete ovládať jednoduchým prepínačom NodeMCU ovládaným pomocou blynk a pomocníkom Google. Takže poďme, ok Google .. Zapnúť veci
Meteostanica RPi a digitálne hodiny: 4 kroky (s obrázkami)
Meteostanica RPi a digitálne hodiny: Jedná sa o rýchly a ľahký projekt, ktorý je možné urobiť, a pekný displej na predvádzanie. Zobrazuje čas, poveternostné podmienky a teplotu. A ak sa vám páči to, čo vidíte, sledujte ma na Instagrame a Twitteri (@Anders644PI), aby ste držali krok s tým, čo robím. C