Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:44
Kouluprojektia varten meidän piti tehdä IoT -laite, jossa oli verkkosivusto, jolla visualisoitiin kerätyt tiedot kauniilla tavalla. ja python -skripti tietojen keräämiseen kaikkien antureideni kanssa. Kesti noin 2 viikkoa alusta loppuun.
Meitä kannustettiin tekemään opettavainen tapa jakaa edistymisemme muun DIY -yhteisön kanssa, joten tässä se on!
Vaihe 1: Osien valinta, työkalut ja materiaalit
Ensin minun oli selvitettävä, millaiset anturit ovat välttämättömiä sääasemalle, ja päätin haluta mitata kaikki seuraavat tiedot:
- Lämpötila
- Ilmanpaine
- Kosteus
- Tuulen nopeus
- UV-indeksi
Tässä ovat kaikki käyttämäni työkalut, materiaalit ja osat
Osat:
- DHT22/AM2302 lämpötila- ja kosteuslukemille. (15 EUR)
- Adafruit BMP280 barometriseen paineeseen ja lämpötilaan. (12 EUR)
- Adafruit SI1145 UV -indeksin mittaamiseen. (10 EUR)
- Adafruitin analoginen tuulimittari tuulen nopeuden mittaamiseen (50 EUR)
- MCP3008 analogisten signaalien muuntamiseen digitaaliseksi.
- 10 kOhm vastus vetonaulana AM2302: lle.
- 9V -sovitin tuulimittarin "virransyöttöön"
- 5V -sovitin Raspberry Pi: lle
- Raspberry Pi 3 (mikä tahansa Pi riittää)
Materiaalit:
Muovisäiliö kaiken säilytykseen ja sateen kestävyyteen
Työkalut:
- Juotin ja tina
- Yleismittari
- Silikoni
- Jotain nauhaa
Joten yhteensä kaikki anturit maksoivat minulle noin 85 euroa, mikä on melko jyrkkä, mutta halusin todella sisällyttää oikean tuulen nopeusmittarin, joten mielestäni se on sen arvoista.
Löydät tarkemman luettelon kaupoista, joista voit ostaa kaiken, alla olevasta pdf -tiedostosta:)
Vaihe 2: Laitteistomme yhdistäminen
Tietenkin meidän on kytkettävä anturit Raspberry Pi -laitteeseemme. Yllä näet fritzing -kaavion, jonka avulla voit liittää kaiken oikein.
Kaaviossa voit nähdä, että 9V-paristoa käytetään tuulimittarimme virtalähteenä. valita.
SI1145- ja BMP280 -antureitamme ohjataan I2C -protokollalla, koska tämä on helpoin työskennellä ja vaatii vähemmän johtoja.
Kaavion tuulimittari näytetään tässä LDR: nä, koska sillä on melko samanlaiset johdot kuin tuulimittarilla, enkä löytänyt todellista tuulimittaria, jonka päälle laittaisin fritzing -kaavioni:)
Vaihe 3: Kaikkien yhdistäminen: Pi: n asettaminen
Ensinnäkin meidän on varmistettava, että olemme yhteydessä Internetiin.
Voit tehdä tämän päätelaitteessa siirtymällä wpa_supplicant -tiedostoon suorittamalla seuraavan komennon: sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Tiedostoon voit lisätä tämän:
network = {ssid = "Your_Wifi_SSID" psk = "Your_Wifi_Password" key_mgmt = WPA-PSK
}
Voit myös halutessasi asettaa IP-osoitteesi staattiseksi helpottaaksesi käyttöä tulevaisuudessa. Tätä varten sinun on siirryttävä dhcpcd.conf-tiedostoon suorittamalla tämä komento: sudo nano /etc/dhcpcd.conf
Lisää tämä tiedostoon:
käyttöliittymä wlan0static ip_address = 192.168.0.100/24
Sitten aiomme varmistaa, että Pi: hen jo asennetut paketit on päivitetty täysin:
sudo apt-get update && sudo apt-get update
Tämä voi kestää jonkin aikaa, joten älä huoli
Sinun on otettava I2C- ja SPI -protokolla käyttöön raspi -asetuksissa. Voit tehdä tämän suorittamalla tämän komennon:
sudo raspi-config
Siirry sitten liitäntävaihtoehtoihin ja ota käyttöön sekä I2C että SPI
Ensin sinun on tehtävä hakemisto, johon haluat sijoittaa projektisi (nimeämme sen "säätilaksi"):
cd ~ mkdir sääasema cd säätila
Sitten perustimme python3 -virtuaalisen ympäristön:
python3 -m pip install-päivitä pip setuptools -pyörä virtualenvpython3 -m venv --järjestelmä-sivusto-paketit envsource env/bin/activepython -m pip install mysql-connector-python Pullo-pullo-mysql mysql-liitin-python passlib mysql-liitin -python-rf
Sitten meidän on asennettava joitain muita paketteja, joita tarvitaan, jotta kaikki toimivat oikein:
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
Teemme nyt tietokantamme:
Meidän on kuitenkin vielä luotava tietokanta, mutta voit tehdä tämän suorittamalla koodin/sql -tiedoston, joka sijaitsee 'sql' -kansiossa seuraavasti:
sudo mariadb <sql/db_init.sql
SQL -kysely tekee tarvitsemamme taulukot ja myös muutamia käyttäjiä, jotka tekevät tietokannastamme hieman turvallisemman.
Tämä tuo myös joitakin näytteen historiatietoja tietokantaamme varmistaaksemme, että verkkosivustomme näyttää kaiken oikein, kun todellisia tietoja ei ole vielä kerätty.
Asentaaksesi Adafruit_GPIO: n ja MyPyDHT: n sinun on tehtävä muutamia asioita. Palaa ensin käyttökansioon ja sitten:
git klooni https://github.com/adafruit/Adafruit_Python_GPIO.gitcd Adafruit_Python_GPIO sudo python3 setup.py install
cd..git -klooni -toistuva https://github.com/freedom27/MyPyDHTsudo python3 setup.py install
Vaihe 4: Ohjelmisto / koodi
Meidän on määritettävä sääaseman tausta, joka sisältää:
- Mariadb-tietokanta anturilukemieni ja joidenkin muiden vähäisten asioiden tallentamiseen- Pullo-palvelu verkkosivuston ajamiseen.- Toinen palvelu, joka käyttää Python-tiedostoa, joka lukee kaikki anturit. Yllä näet hyvin yksinkertaisen tietokanta-asennuksen. tarpeetonta, mutta koska halusin kirjautumisjärjestelmän, koska minä (vaikka kaikki tiedot ovat samat kaikille käyttäjille) päätin sisällyttää tietokantaani.
Voit kloonata projektini koodin Githubista projektikansioosi. Mene käyttäjäkansioon ja suorita: git clone https://github.com/BertVanhaeke/Weatherstation/ tempmv -v temp/* weatherstation/
Siirry sitten sääaseman conf -kansioon ja kaikkiin kansion tiedostoihin.
Vaihda kaikki USERNAME -esiintymät käyttäjänimeksi
Sinun on myös kopioitava molemmat.service -tiedostot systemd -järjestelmään ja testattava ne seuraavasti:
sudo cp conf/weatherstation-*. service/etc/systemd/system/sudo systemctl daemon-reloadsudo systemctl start weatherstation-flask.servicesudo systemctl käynnistä weatherstation-sensor.service
sudo systemctl status sääasema-*
Sitten meidän on muokattava nginx -asetuksia.
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 {100} {101} Käynnistä nginx.servicesudo systemctl tila nginx.service
Jos kaikki meni hyvin, sinun pitäisi pystyä suorittamaan tämä ja tulostamaan html -tiedosto päätelaitteeseen:
wget -qO - paikallinen isäntä
Kaikkien pitäisi toimia nyt hyvin, voit surffata vadelma Pi: n IP-osoitteeseen, jonka asetimme alussa, ja sinut tervehditään kirjautumisnäytöllä.
Vaihe 5: Kotelo
Nyt kun kaikki toimii, meidän täytyy laittaa koko asia johonkin.
Valitsin yksinkertaisen muovilaatikon, jossa oli läpinäkyvä kansi. Tuulimittari on asennettu sen päälle, samoin kuin pieni toissijainen säiliö, joka sisältää DHT22- ja BMP280 -anturit.
Nämä anturit on asennettu erilliseen säiliöön, koska niiden on oltava ulkona (ilman sadetta), mutta vadelmapi ei tarvitse olla.
Kuten näet, lisäsin reunojen ympärille silikonia vedenpitäväksi ja porasin myös joitakin reikiä yläastiaan raikkaan ilman saamiseksi.
Toivottavasti pidit oppaastani sääaseman rakentamisesta, se saattaa olla hieman karkea reunojen ympärillä, koska olen ensimmäistä kertaa kirjoittamassa tällaista opasta, mutta toivon, että pidit siitä silti:)
Suositeltava:
Ohjeet: Raspberry PI 4 Headless (VNC) -asennus Rpi-imagerilla ja kuvilla: 7 vaihetta (kuvien kanssa)
Ohjeet: Raspberry PI 4 Headless (VNC) -asennuksen asentaminen Rpi-imagerilla ja kuvilla: Aion käyttää tätä Rapsberry PI: tä joukossa hauskoja projekteja blogissani. Voit vapaasti tarkistaa sen. Halusin palata käyttämään Raspberry PI: tä, mutta minulla ei ollut näppäimistöä tai hiirtä uudessa paikassa. Siitä on aikaa, kun asetin Vadelman
Helppo asennus IR -kaukosäädin LIRC: n avulla Vadelma PI: lle (RPi) - heinäkuu 2019 [Osa 1]: 7 vaihetta
Helppo asennus IR -kaukosäädin LIRC: n avulla Raspberry PI: lle (RPi) - heinäkuu 2019 [Osa 1]: Pitkän etsinnän jälkeen olin yllättynyt ja hämmentynyt ristiriitaisista tiedoista, jotka koskevat IR -kaukosäätimen asentamista RPi -projektilleni. Luulin sen olevan helppoa, mutta Linux InfraRed Controlin (LIRC) asentaminen on ollut ongelmallista jo pitkään
Rakenna tallelokero käyttämällä RPI: 12 vaihetta
Rakenna tallelokero RPI: n avulla: Haluatko oppia muuttamaan Raspberry pi -laitteesi täysin toimivaksi kassakaapiksi? Noudata sitten tätä 12 opetusvaihetta oppiaksesi kuinka. Tallelokerossa on täysin toimiva näppäimistö ja lukitusjärjestelmä, joten voit pitää tavarat turvassa
Ultimate Headless RPi Zero Setup aloittelijoille: 8 vaihetta
Ultimate Headless RPi Zero Setup aloittelijoille: Tässä Instructable -ohjelmassa tarkastellaan perusasetuksiani kaikille Raspberry Pi Zero -projekteille. Teemme kaiken Windows -koneella, et tarvitse ylimääräistä näppäimistöä tai näyttöä! Kun olemme valmiit, se on Internetissä, jakaa tiedostoja verkon kautta, voi
RPI kotitekoinen hattu: 5 vaihetta (kuvilla)
RPI Kotitekoinen hattu: Hei, Nimeni on Boris ja tämä on ensimmäinen Instructables Minulla on Raspberry Pi 3B+ ja käytän sitä yksinkertaiseen kodin automaatioon, kuten television, AC: n ja joidenkin valojen hallintaan. ja aloin tehdä yksinkertaisia piirilevyjä (minä