Inhoudsopgave:
- Stap 1: Verzamel uw materialen
- Stap 2: Sluit alle componenten aan
- Stap 3: Stel Raspberry Pi in
- Stap 4: Installeer SPI en I2C
- Stap 5: Installeer MySQL
- Stap 6: Het databasescript uitvoeren
- Stap 7: De MySQL-connector voor Python3 installeren
- Stap 8: Installeer Flask
- Stap 9: Kopieer de webserver op uw Raspberry Pi
- Stap 10: Bewerk de databaseklasse
- Stap 11: Testen
- Stap 12: De website
- Stap 13: zet alles in de behuizing
- Stap 14: Uw weerstation werkt
Video: Compleet Raspberry Pi-weerstation: 14 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Dag iedereen, Dit is mijn allereerste Instructable! In deze tutorial zal ik je begeleiden om een Raspberry Pi weerstation te maken met een eigen database en website. Ik heb dit weerstation gemaakt in het kader van een schoolopdracht, ik heb mijn inspiratie opgedaan op Instructables. Het weerstation kan in procenten temperatuur, vochtigheid, luchtdruk, windsnelheid en lichtniveau meten. Alle samples die de Raspberry Pi verzamelt, worden opgeslagen in een MySQL-server op de Pi zelf en worden weergegeven op een webserver!
Stap 1: Verzamel uw materialen
De materialen van dit station zijn heel eenvoudig. Je hebt alle benodigde materialen, een sensor en een behuizing nodig.
Materialen
Raspberry Pi
Het type maakt niet veel uit, je kunt zelfs de Raspberry Pi Zero W gebruiken, maar zorg ervoor dat je niet de eerste revisie neemt omdat je een netwerkverbinding voor de webserver nodig hebt. In deze Instructable zal ik de Raspberry Pi 3 gebruiken.
www.amazon.com/Raspberry-Model-A1-2GHz-64-…
Sommige startkabels
Je hebt wat kabels nodig om alle sensoren en chip met je Raspberry Pi te verbinden. Er zijn drie soorten startkabels: mannelijk naar vrouwelijk, mannelijk naar mannelijk en vrouwelijk naar vrouwelijk. Je hebt er ongeveer 15 nodig van het mannelijke tot vrouwelijke type en het mannelijke tot mannelijke type. Hoe dan ook, het zou geen kwaad kunnen om ze alle drie te krijgen.
www.amazon.com/Elegoo-120pcs-Multicolored-…
Breadboard
Elektronica maken zonder een breadboard is onpraktisch. Als je van plan bent meer doe-het-zelf-elektronica te doen, komt dit altijd van pas.
www.amazon.com/dp/B072FC35GT/ref=sxr_pa_cl…
Sensoren
Temperatuur en vochtigheid: Grove Temp&Hum v1.0
www.seeedstudio.com/Grove-Temperature%26Hu..
Luchtdruk: Grove – Barometersensor BMP280 (deze sensor registreert ook de temperatuur)
www.seeedstudio.com/Grove-Barometer-Sensor…
Windsnelheid: Infrarood Sensor Module (FC-03) LM393
www.amazon.com/LM393-Measuring-Sensor-Phot…
Licht: Grove lichtsensor (let op: dit is een analoge sensor, een analoog naar digitaal converter zoals een MCP3008 is noodzakelijk)
www.seeedstudio.com/Grove-Light-Sensor-v1….
huisvesting
De huisvesting is een zeer belangrijk onderdeel van uw project. Hier plaats je al je elektronica en sensoren. De behuizing hoeft niet mooi te zijn, maar dat kan het zeker zijn. In deze Instructable zal ik een vogelhuisje maken met een compartiment in de bodem waar ik mijn Raspberry Pi kan opbergen.
Je kunt altijd kiezen voor een minder bewerkelijke behuizing zoals een witte elektronicabox. De enige voorwaarde is dat er ventilatiegaten moeten zijn zodat wind en lucht langs de sensoren kunnen waaien, anders krijg je geen nauwkeurige monsters.
Stap 2: Sluit alle componenten aan
Als je al je componenten hebt, kun je beginnen met het maken van een testopstelling. Hier sluit je al je elektronica aan op je Raspberry Pi. U vindt het Fritzing-schema in de bestanden. Wanneer alle verbindingen zijn gemaakt, kunt u beginnen met het instellen van uw Raspberry Pi.
Stap 3: Stel Raspberry Pi in
Als dit de eerste keer is dat je met een Raspberry Pi werkt, raad ik je ten zeerste aan om de website raspberrypi.org te bezoeken, deze heeft een aantal geweldige documentatie en tutorials voor beginners.
www.raspberrypi.org
Zorg ervoor dat u de nieuwste versie van Debian gebruikt. U kunt upgraden door de terminal in Raspberry Pi of in een SSH-sessie in te typen:
sudo apt-get update && sudo apt-get upgrade
Stap 4: Installeer SPI en I2C
Zodra je volledig bent geüpgraded, zullen we enkele configuraties op onze Raspberry Pi moeten bewerken. Alle verschillende sensoren behalve de lichtsensor en de infrarood snelheidssensor gebruiken het I2C-protocol. Als je dit protocol samen met de SPI-interface wilt gebruiken, moet je dit inschakelen in de instellingen van de Raspberry Pi. U kunt de SPI- en I2C-interface instellen door deze opdrachten te volgen.
sudo raspi-config
Schakel zowel SPI als I2C in. Start vervolgens opnieuw op met:
sudo reboot
Eenmaal opnieuw opgestart, gaan we controleren of “dtparam=spi=on” en “dtsparam=i2C_arm=on” zich in het /boot/config-bestand bevinden. Als u deze regels hebt gevonden, moet u deze verwijderen.
sudo nano /boot/config.txt
Verlaat de editor met ctrl + x en sla op.
Nu gaan we de verschillende bibliotheken installeren voor het aansturen van de sensoren.
sudo apt-get install python3-spidev
sudo apt-get install python-smbus sudo apt-get install i2c-tools
Stap 5: Installeer MySQL
Nadat u de basis van de Raspberry Pi hebt ingesteld, zoals verbinding maken met internet en de software bijwerken. We kunnen beginnen met het opzetten van ons databasesysteem waarin we al onze weergegevens opslaan. We zullen MySQL gebruiken. Dit is een eenvoudig te gebruiken databasesysteem waarbij we meerdere tabellen met elkaar kunnen verbinden door middel van relaties. Om MySQL-type in de terminal te installeren:
sudo apt-get install mysql-server
sudo apt-get install mysql-client
Tijdens de installatie wordt u gevraagd een wachtwoord in te vullen voor de rootgebruiker. Dit wachtwoord heeft u later nodig. Zodra deze pakketten zijn geïnstalleerd, kunt u de status van uw MySQL-server controleren door te typen:
mysql -uroot -p
toestand
Stap 6: Het databasescript uitvoeren
Zodra de MySQL-server werkt, kunnen we het databasescript uitvoeren. Dit script maakt een model met verschillende tabellen erin. Hier slaan we alle datums op die de sensor vastlegt en alle verschillende instellingen die de website gebruikt.
Om een MySQL-script vanaf de Pi uit te voeren, moeten we het script eerst naar de Raspberry Pi kopiëren. FileZilla is een geweldige manier om bestanden tussen uw pc en uw Pi te kopiëren. Hier is een geweldige handleiding hoe u dit kunt doen.
www.raspberrypi.org/documentation/remote-a…
Zodra het script op je Pi staat, kun je het uitvoeren door in de terminal te typen:
mysql -uroot -p
bron /pad/naar/script.sql
Stap 7: De MySQL-connector voor Python3 installeren
We willen onze database verbinden met de webserver die op Python3 draait. Om deze connector te installeren voer je deze opdracht uit.
sudo apt-get install python3-mysql.connector
Stap 8: Installeer Flask
De webserver maakt gebruik van Flask. Dit microframework is in hoge mate aanpasbaar en gebruiksvriendelijk. Perfect voor ons weerstation. Typ deze opdracht in een terminalvenster om flask te installeren.
sudo apt-get install python3-flask
Stap 9: Kopieer de webserver op uw Raspberry Pi
Elk pakket is nu geïnstalleerd en alles is ingesteld. Nu kunnen we de code van GitHub kopiëren. Er zijn twee manieren om de code op je Raspberry Pi te krijgen: je kunt het master-zipbestand downloaden en met FileZilla naar je Pi kopiëren of je kunt de repository rechtstreeks op je Raspberry Pi klonen. Om de repository te klonen typ je deze commando's op je Pi.
cd /pad/jij/vind ik leuk/
git kloon
Nu zou u een nieuwe map moeten hebben met de naam WeatherStation. U kunt dit controleren met de volgende instructie:
ls
Stap 10: Bewerk de databaseklasse
Alle code staat nu op je Raspberry Pi. Voordat we kunnen testen, moeten we de MySQL-connector configureren. De instellingen van de connector worden opgeslagen in de nieuw gemaakte directory. Om naar het bestand te gaan, moeten we onze huidige map wijzigen. Zodra we het bestand hebben gevonden, gaan we ons root-wachtwoord van onze MySQL-server in het bestand invoegen. U kunt dit doen door deze commando's te volgen.
cd WeatherStation/Flask/Database/
nano pswd.py
U kunt het bestand nu bewerken. Vervang "your_password" door uw root MySQL-wachtwoord. Nu zijn we klaar om de code te testen.
Stap 11: Testen
Nu alles eindelijk is geïnstalleerd en aangesloten, kunnen we beginnen met testen. Ga naar de Flask-map en typ de opdracht:
python3 Flask.py
Alles zou moeten beginnen. Nu kunt u naar uw website gaan door in uw adresbalk te typen:
Stap 12: De website
Wanneer u de site voor de eerste keer opent, ziet u een inlogscherm. U kunt de site betreden als u als gebruikersnaam ‘Lander’ en wachtwoord ‘Test12’ gebruikt. De website is in het Nederlands geschreven, je kunt de website vertalen als je enige kennis van webontwikkeling hebt.
Stap 13: zet alles in de behuizing
Pak je behuizing en plaats de elektronica zo dat ze gelijkmatig verdeeld zijn. Ik zal mijn nieuw gemaakte vogelhuisje gebruiken, ik heb het ontwerp hieronder opgenomen. Het is een eenvoudig doosje met een valse bodem om de Raspberry Pi in op te bergen.
Let op: er moet altijd een luchtstroom zijn om de vochtigheidssensor goed te laten werken. Als je tevreden bent met het resultaat kun je alles sluiten en is het weerstation klaar. U kunt het nu ergens plaatsen waar u maar wilt en de weergegevens verzamelen.
Stap 14: Uw weerstation werkt
Gefeliciteerd, je Raspberry Pi is nu volledig functioneel. Plaats het ergens in de open lucht en verzamel de gegevens!
Aanbevolen:
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Printplaten - Compleet proces - Ajarnpa
Printed Circuit Boards - Compleet proces: Hieronder wordt het proces beschreven waarmee ik pc-printplaten maak voor eenmalig gebruik en als prototype. Het is geschreven voor iemand die in het verleden zijn eigen borden heeft gemaakt en bekend is met het algemene proces. Al mijn stappen zijn mogelijk niet op
Een computer demonteren met eenvoudige stappen en afbeeldingen: 13 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Een computer demonteren met eenvoudige stappen en afbeeldingen: dit is een instructie over het demonteren van een pc. De meeste basiscomponenten zijn modulair en gemakkelijk te verwijderen. Wel is het belangrijk dat je er goed over georganiseerd bent. Dit zal helpen voorkomen dat u onderdelen kwijtraakt, en ook bij het maken van de hermontage e
Compleet op Arduino gebaseerd voertuig GPS + GPRS antidiefstalsysteem - Ajarnpa
Compleet Arduino-gebaseerd voertuig-GPS+GPRS-antidiefstalsysteem: Hallo allemaal! Ik wilde een complete oplossing bouwen voor een GPS-voertuigantidiefstalapparaat, dat zou zijn: zo goedkoop mogelijk zo compleet mogelijk als het-gewoon-werkt -er-is-niets-anders-te-doen mogelijkDus ik heb uiteindelijk een op Arduino gebaseerde oplossing gebouwd
Opdrachtprompt starten (compleet): 6 stappen
Opdrachtprompt starten (compleet): Ik weet dat Instructables over hoe dit te doen al beschikbaar zijn. Vertel me dat niet, alsjeblieft. Ik heb mijn redenen om dit te maken. Alle Instructables die ik daar heb gezien over het openen van de opdrachtprompt, laten je in feite maar één manier zien om het te doen. L