Header Ads

Feather Huzzah ESP8266 sous MicroPython + AM2315 - Lecture de température et Humidité

Suite de notre journée détente du 28 octobre, nous avons troqué notre DHT11 avec un senseur d'humidité et température AM2315 pour faire une lecture de température et humidité sur le bus I2C de notre Feather ESP8266 Huzzah fonctionnant sous MicroPython.
Senseur Humidité - Température AM2315 disponible chez MCHobby
La raison d'un tel prototype
Nous envisageons de créer un petit réseau de capteur WiFi (en Python) + Solution d'affichage sur Raspberry-Pi (en Python aussi).
Feather-Huzzah-ESP8266

Plan de montage
Montage d'un AM2315 sur Feather ESP8266
Bien que l'AM2315 soit un senseur I2C, il n'a pas été monté sur le BUS I2C standard (GPIO4 et GPIO5) de la plateforme.
Pour une raison inconnue, l'utilisation de la broches SCL bloque le boot de l'ESP8266 lorsqu'il est alimenté via USB par un bloc d'alimentation (donc Alimentation sans USB-Serie). C'est incompréhensible mais c'est comme ça!
Le senseur est donc monté sur GPIO4 et GPIO2.

Bibliothèque AM2315 pour MicroPython
Pour lire les données du senseur, nous avons adapté le code Arduino d'Adafruit pour produire le fichier AM2315.py disponible sur notre GitHub

Le code de lecture du senseur
# Using AM2315 I2C temperature/humidity sensor (ADA2315) with ESP8266 under MicroPython
#
# Shop: http://shop.mchobby.be/product.php?id_product=932
# Wiki: https://wiki.mchobby.be/index.php?title=MicroPython-Accueil#ESP8266_en_MicroPython

from am2315 import *
from machine import I2C, Pin

# Do not use the standard pin 5 for SCL because it corrupt the boot sequence
# when using an external power supply
# 
i2c = I2C( sda=Pin(4), scl=Pin(2), freq=20000 )

a = AM2315( i2c = i2c )

def show_values():
    if a.measure():
       print( a.temperature() )
       print( a.humidity() )

# Two consecutives read are sometime needed to properly update
# the readed values.
show_values()
time.sleep( 1 )
show_values()

WebRepl
WebRepl est une page html (et code javascript) que vous pouvez charger dans votre navigateur internet favori. Grâce à cette page, vous pourrez établir une session REPL avec votre ESP8266 et tester vos senseurs et code MicroPython.

Voici un exemple avec notre senseur AM2315 (placé dans la cabane de jardin).
Résultat du senseur dans WebRepl

Où Acheter