Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

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

  1. Sensordata integreren in een Raspberry Pi: Een praktische gids
  2. Lijnvolgsensor met Raspberry Pi – Simpele KY-033 deur/lijndetector
  3. Een geautomatiseerd aeroponisch systeem bouwen met Raspberry Pi en vochtigheidssensor
  4. Raspberry Pi GPIO onder de knie: Een PIR-bewegingsensor interfacen op B+/Model 2
  5. De Acconeer A111 gepulste radar integreren met een Raspberry Pi: Een praktische gids
  6. Python/MicroPython Sensor Logger: Naadloos Sensordata Opslaan in Google Sheets
  7. Een Raspberry Pi Camera in een Vogelhuisje Installeren – Stap-voor-stap Handleiding
  8. Integreren van een thermocouple-sensor met de Arduino Portenta H7 via de MAX6675 IC
  9. Waterdruppels vastleggen met Arduino Nano – DIY High-Speed Fotografie
  10. K30 CO2-sensor: Real-time binnenluchtkwaliteitmonitoring met Arduino
  11. Python Module Importeren – Praktische Gids met Voorbeelden