Malinowo, php, python, zegarek

2016-08-08 17.18.152016-08-08 17.24.142016-08-08 17.24.26Czwarta płytka. Rzemieślniczo dolutowane goldpiny do pi zero, a do nich podpięty chiński czterocalowy wyświetlacz. O dziwo wszystko działa i pięknie prezentuje stronę wymodzoną w pehapie, prezentującą losowe zdjęcia z żoną i synem (a co!), godzinę, datę, aktualną i w miarę przyszłą (nie wiem co prawda jak bardzo poprawną) pogodę z openweather, dane z czujników i listę najbliżej domu przelatujących samolotów. Całość działa na kweb odpalanym przy starcie malinki w “kiosk mode”. Jeszcze tylko dorobić obudowę i można stawiać na komodzie.

 

ADS-B, Flightradar, Malinowo, php, python

2016-08-08 18.10.432016-08-08 17.20.462016-08-08 17.18.45Płytka numer 3. Najbardziej zapracowana ze wszystkich płytek! Oprócz rzeczy niezbędnych jak transmission, minidlna i udostępnianie sambą w sieci dysku z niezbędnymi serialami, na malince śmiga udostępnianie internetu (sieć wifi dla gości oddzielona masą reguł iptables), do 10m aktywnego usb podpięty jest tuner dvb-t (z druciarską piękną hand-made anteną!) zbierający dane dla dump1090 i flightradar dekodera – czyli działa prywatny radar samolotowy z zasięgiem do “nadmorza”. Tekstowy wyświetlacz natomiast prezentuje dane z czujników koleżanki numer dwa, oraz kilka innych pierdół (temperatura procesora, ilość wolnego miejsca na karcie). Jak coś mi się jeszcze przypomni – dopiszę!

BMP085, Malinowo, php, PIR HC-SR501, python

2016-08-08 17.22.24Untitled-2Malinka #2. Podpięte czujniki ruchu (SR501), ciśnienia, temperatury (BMP085) i wilgotności (DHT11). Dodatkowo dioda wskazująca czy pomiar ciśnienia zakończył się bez błędu. (DHT11 jest dość himeryczny i trzeba go kontrolować czy nie zgłupiał). Na malince dodatkowo śmiga lighttpd, mysql i phpmyadmin, więc dane z pomiarów zapisują się do plików tekstowych oraz bazy danych celem prowadzenia statystyk i późniejszej prezentacji wyników. :)

Oprócz danych pogodowych baza danych przechowuje listę wszystkich widzianych przez radar samolotów, wraz z alertem o sytuacjach awaryjnych odczytanych z transpondera samolotowego (sqawk).  Tym sposobem wiem, mimo iż wtedy mnie nie było w domu, że 27 lipca SP-
LNA miał kłopoty z radiem.

Malinowo, php, PIR HC-SR501, python

2016-03-13 12.10.02Sobota była pracująca, ale nie przeszkodziło to aby podłączyć i oprogramować czujnik ruchu PIR HC-SR501! :) Python w zależności od odczytów z czujnika generuje pliczek .json, który to jest zaciągany  przez jquerową komendę i steruje przeźroczystością warstwy mojego zegarka. W skrócie: wykryje ruch – rozjaśnia ekran, nie wykrywa ruchu przez zadany czas – ekranik się ściemnia. Poniżej trochę kodu:

ruch.py


(...)
try:
while True:
time.sleep(1)
val = GPIO.input(PIR)
if (val == True):
i = 0
f = open("/var/www/data/ruch.txt","w")
f.write("{ \"opacity\": \"1\" }")
f.close()
if (state == False):
state = True
else:
i = i + 1
if i == 10:
f = open("/var/www/data/ruch.txt","w")
f.write("{ \"opacity\": \"0.1\" }")
f.close()
if (state == True):
state = False

Część pliku “zegarka”

<script type = "text/javascript" language = "javascript">
function czytaj() {
$.getJSON('data/ruch.txt', function(jd) {
$('#opacity').fadeTo('2000', jd.opacity, function() {});
});
setTimeout('czytaj()', 500);
};
</script>