Mam na działce trzy raspberry pi, każde wyposażone w standardową kamerę oraz czujnik BME 280 (temperatura/ciśnienie/wilgotność/.)
Ponieważ czujnik czasami szwankował co być może było spowodowane kiepskim montażem, a kamera robiła zdjęcia kiepskiej jakości, to sobie wymyśliłem upgrade. Konkretnie, że zmienię kamerę na OV5647/5MP z szerokokątnym obiektywem (175 stopni), a do BME 280 dodam niezawodny DS18B20, który wprawdzie mierzy tylko temperaturę ale za to dokładnie.
Połączenia wtyki czujników/GPIO są następujące:
- BME280: Vcc--01, SDA--03, SCL--05, Gnd---06.
- DS18B20: Vcc--17, SDA--07 oraz Gnd--09.
Podłączyłem wszystko tym razem porządniej (a przynajmniej tak mi się wydaje.) Nowa kamera wymagała większej dziury i innego sposobu umocowania na pokrywie obudowy.
Dla przypomnienia: BME 280 testuje się czy działa wydając polecenie:
i2cdetect -y 1
Co powinno skutkować wypisaniem kilkudziesięciu kresek i liczby 76. Jeżeli są same kreski coś nie działa.
Czujnik DS18B20 z kolei powinien być widoczny tutaj:
ls -l /sys/bus/w1/devices/w1_bus_master1/
Tam powinien być numer czujnika, moim przypadku jest to 28-4680e30264ff
. Temperaturę się czyta po prostu
#!/bin/bash # Odczyt temperatury z zapisem do loga LOG_DIR=/home/pi/Logs/Digitemp SENS="28-4680e30264ff" TIME="`date "+%Y%m%d%H%M%S"`" TEMP="`cat /sys/bus/w1/devices/${S1}/w1_slave | tr '\n' ' '`" echo "$TIME;$SENS;$TEMP" >> $LOG_DIR/digitemp.log
Przy okazji przetestowałem też AHT10 (temperatura/wilgotność), który działa ale z obsługą jest już słabo. Znalazłem mianowicie skrypt w Pythonie drukujący temperaturę z dokładnością do stopnia a innych skryptów, które by podawały dokładniej, nie udało mi się uruchomić. W google zresztą podejrzanie mało informacji na temat AHT10+raspberry
.
Przy okazji też przetestowałem patent na skonfigurowanie rpi z wieloma sieciami WiFi:
/etc/wpa_supplicant/wpa_supplicant.conf ##==== ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="network1" psk="password1" id_str="id-string1" } network={ ssid="network2" psk="password2" id_str="id-string2" }
Teraz mogę sobie przynieść pi z działki, włączyć i mi się połączy z WiFi w domu też:-)