Een robuuste temperatuur- en sensor-API bouwen op Raspberry Pi met de GY-91-module
Leer hoe u een betrouwbare Flask-API op een Raspberry Pi maakt die temperatuur, druk, vochtigheid en meer uitleest van een GY-91 multi-sensormodule. De gids loopt door bedrading, software-setup en voorbeeldcode die u kunt aanpassen voor uw eigen projecten.
De sensor via GPIO aansluiten
Het GY-91-bord gebruikt een 4-pins I²C-interface. Sluit de pinnen als volgt aan:
- 3,3 V → Pin 1 (3V3POWER)
- GND → Pin 6 (GROUND)
- SCL → Pin 5 (I²C Clock)
- SDA → Pin 3 (I²C Data)
Raadpleeg het GY-91-schema voor exacte pinnkleuren en layout.
Python-afhankelijkheden voorbereiden
Installeer Python 3 op uw Raspberry Pi. De volgende commando's installeren de meest recente 3.6.x-release vanuit bron, wat zorgt dat u alle benodigde bibliotheken heeft voor de sensorbibliotheken die volgen.
$ sudo apt-get update
$ sudo apt-get install build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev
$ wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
$ tar xf Python-3.6.5.tar.xz
$ cd Python-3.6.5
$ ./configure
$ make
$ sudo make altinstall
Installeer daarna de lichte webstack die u gebruikt om sensordata beschikbaar te maken:
$ pip3 install flask flask-cors flask-restful
Voorbeeldcode
Kloon de kant-en-klaar repository die een minimaal Flask-API-skelet en de sensor-wrapper bevat.
$ git clone https://gist.github.com/wdelenclos/4f0c4b8d564aa5c58f47653fd184eaa7
De kern van het programma haalt data op van de bme280-driver, die op zijn beurt communiceert met de MPU9250- en BMP280-chips op het GY-91-bord. Een enkele regel haalt alle relevante metingen op:
temperature, pressure, humidity = bme280.readBME280All()
Alle overige routes zijn standaard Flask-handlers die de laatste sensorwaarden als JSON retourneren.
De API draaien
Start de server lokaal:
$ python3 app.py
Om de service op de achtergrond draaiend te houden, kunt u gebruiken:
$ sudo nohup python3 app.py &
Demo
Na het starten, bezoek https://uw-pi-ip:5000/status om een live JSON-payload van sensormetingen te zien. Het voorbeeld op de oorspronkelijke pagina laat zien hoe u dit eindpunt met Ajax ophaalt en op een webdashboard weergeeft.
Vraag gerust om aanvullende uitleg of aanpassingen in de reacties.
Bron: Environmental sensor API with a RPi
Productieproces
- Sensordata integreren in een Raspberry Pi: Een praktische gids
- Lijnvolgsensor met Raspberry Pi – Simpele KY-033 deur/lijndetector
- Een geautomatiseerd aeroponisch systeem bouwen met Raspberry Pi en vochtigheidssensor
- Raspberry Pi GPIO onder de knie: Een PIR-bewegingsensor interfacen op B+/Model 2
- De Acconeer A111 gepulste radar integreren met een Raspberry Pi: Een praktische gids
- Python/MicroPython Sensor Logger: Naadloos Sensordata Opslaan in Google Sheets
- Een Raspberry Pi Camera in een Vogelhuisje Installeren – Stap-voor-stap Handleiding
- Integreren van een thermocouple-sensor met de Arduino Portenta H7 via de MAX6675 IC
- Waterdruppels vastleggen met Arduino Nano – DIY High-Speed Fotografie
- K30 CO2-sensor: Real-time binnenluchtkwaliteitmonitoring met Arduino
- Python Module Importeren – Praktische Gids met Voorbeelden