Tapasztalatok BME280 és Banana Pi BPI-M1+ használatával
Először is adott volt egy Banán Pi M1+ alapú web és file szerver.
Beszereztem az aliexpress oldalról egy „1PCS BME280 Digital Sensor Temperature Humidity Barometric Pressure Sensor New” terméket.
Ez az eszköz I2C buszon keresztül kommunikál a Pi-kkel, sajnos leírást csak és kizárólag Raspberry Pi -hez találtam a neten.
Ebbe bele tartozott az a leírás is amely alapján python-ban lekérdezhető egyszerűen a hőfok, légnyomás és páratartalom adat ebből a szerkezetből.
Nem is inkább leírás, hanem maga a python script az amit át kell nézni, át kell a készüléknek megfelelően konfigurálni.
A legegyszerűbb megoldásnak ez tűnt: Using the BME280 I2C Temperature and Pressure Sensor in Python.
Lényeges lépések: - sudo raspi-config : Advanced Options - I2C engedélyezése - sudo apt-get update; sudo apt-get install -y python-smbus i2c-tools - sudo vi /boot/config.txt dtparam=i2c_arm=on dtparam=spi=on dtparam=i2s=on - sudo halt - a BME280 felkötése a megadott pin-ekre - a Banana Pi újraindítása - sudo i2cdetect -y 2 A Raspberry Pi-nél 0 és 1-est írnak verzótól függően, ennek megfelelően nekem kicsit sok időbe telt mire leesett, hogy probálkozzam feljebb is... BananaPi esetében ezt fogod látni: # sudo i2cdetect -y 2 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- 76 -- # - a kimenetnek megfelelően a bme280.py script elején ez legyen: DEVICE = 0x76 # Default device I2C address bus = smbus.SMBus(2) # Rev 2 Pi, Pi 2 & Pi 3 uses bus 1 # Rev 1 Pi uses bus 0 - innentől a script kimenete: # python bme280.py Chip ID : 96 Version : 0 Temperature : -1.83 C Pressure : 1019.91649067 hPa Humidity : 73.2157356091 % # - ami még ez után következett: MySQL install, új felhasználó, új DB és tábla generálás - a python script átalakítása, hogy az adatbázist tölthesse cron-ból 15 percenként - ami még vissza van: görbe készítés a DB alapján
A weather.html oldal ugyancsak ezen python script módosított kimenete 30 percenként futtatva…
Az egy napra készült hőfok görbe (96db negyedórás minta)