Construya una API robusta de temperatura y sensores en Raspberry Pi usando el módulo GY‑91
Aprenda a crear una API Flask fiable en una Raspberry Pi que lea temperatura, presión, humedad y más desde un módulo multi-sensor GY‑91. La guía recorre el cableado, configuración de software y código de ejemplo que puede adaptar para sus propios proyectos.
Conectar el sensor vía GPIO
La placa GY‑91 usa una interfaz I²C de 4 pines. Conecte los pines como sigue:
- 3,3 V → Pin 1 (3V3POWER)
- GND → Pin 6 (GROUND)
- SCL → Pin 5 (I²C Clock)
- SDA → Pin 3 (I²C Data)
Consulte el esquema del GY‑91 para colores exactos de pines y disposición.
Preparar dependencias de Python
Instale Python 3 en su Raspberry Pi. Los siguientes comandos instalan la última versión 3.6.x desde fuente, asegurando que tenga todas las librerías requeridas para las librerías de sensores que siguen.
$ 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
Luego, instale la pila web ligera que usará para exponer datos de sensores:
$ pip3 install flask flask-cors flask-restful
Código de ejemplo
Clone el repositorio listo para usar que contiene un esqueleto mínimo de API Flask y el wrapper del sensor.
$ git clone https://gist.github.com/wdelenclos/4f0c4b8d564aa5c58f47653fd184eaa7
El núcleo del programa obtiene datos del controlador bme280, que a su vez se comunica con los chips MPU9250 y BMP280 en la placa GY‑91. Una sola línea obtiene todas las lecturas relevantes:
temperature, pressure, humidity = bme280.readBME280All()
Todas las demás rutas son manejadores estándar de Flask que devuelven los últimos valores de sensores como JSON.
Ejecutar la API
Inicie el servidor localmente:
$ python3 app.py
Para mantener el servicio corriendo en segundo plano, puede usar:
$ sudo nohup python3 app.py &
Demostración
Tras lanzar, visite https://your‑pi‑ip:5000/status para ver una carga JSON en vivo de lecturas de sensores. El ejemplo en la página original muestra cómo obtener este endpoint con Ajax y mostrarlo en un panel web.
No dude en pedir explicaciones adicionales o personalizaciones en los comentarios.
Fuente: Environmental sensor API with a RPi
Proceso de manufactura
- Integración de datos de sensores en Raspberry Pi: Guía práctica
- Sensor de seguimiento de línea con Raspberry Pi – Detector simple KY‑033 para puerta/línea
- Construye un sistema aeropónico automatizado con Raspberry Pi y sensor de humedad
- Domina GPIO de Raspberry Pi: interfaz sensor PIR movimiento en B+/Model 2
- Integrar radar pulsado Acconeer A111 con Raspberry Pi: guía práctica
- Logger de Sensores Python/MicroPython: Almacena Datos de Sensores en Google Sheets Fácilmente
- Instalación de Cámara Raspberry Pi en una Caseta de Pájaros – Guía Paso a Paso
- Integración de sensor termopar con Arduino Portenta H7 usando MAX6675
- Captura Gotas de Agua en Acción con Arduino Nano: Fotografía de Alta Velocidad DIY
- Sensor K30 CO₂: Monitorización en tiempo real de la calidad del aire interior
- Importación de Módulos en Python: Guía Práctica con Ejemplos