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.

 

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>

ADS-B, Flightradar, Malinowo, php

Na szybko, bo ostatnio jestem w domu zbyt nieobecny. :) Rozdzielczość “plansz” dopasowana do rozdzielczości planowanego ekranu do malinki (320×240 px), jest animacja plansz w jquery, jest wyświetlanie godziny, daty oraz aktulanej pogody z Yahoo (wraz z ikonkami!), jest też wyświetlanie samolotów z radaru. Tutaj trochę pokombinowałem i nie wystarczyło mi przerobienie wizualne wyników pracy programu “DUMP1090” tak aby zmieścić się na malutkim ekraniku. Zamiast kolumny “hex” – czyli sześcioznakowego symbolu samolotu postanowiłem że zegarek będzie wyświetlał przynajmniej znaki rejestracyjne samolotu. :) Zadanie w sumie łatwe. Wystarczyło postawić bazę danych mysql, zaimportować kilka kolumn z bazy danych “Virtual Radar”, zaprzęgnąć php do pracy i zmodyfikować “jsona” na podstawie którego DUMP1090 wyświetla dane. :) Tyle zrobione. Teraz trzeba dorobić plansze z pogodą na następny dzień i… zamówić wreszcie ekranik!

Plansze pi-zegarka
Plansze pi-zegarka

 

Malinowo

Zegarek - wersja alpha
Zegarek – wersja alpha

Docelowo – ma być lustro interaktywne w łazience zbudowane na pizero (wczoraj przyszło!), wyświetlające aktualną pogodę i newsy. Z czujnikiem ruchu i takie tam… Ale aby zdobyć pierwsze szlify, postanowiłem wykonać coś prostszego –  “zegarek na szafkę” ze stacją pogodową, ze starego raspberry B, ekranu LCD i paru czujników. Malinka i czujniki (BMP180) już są. Czekam nie jeszcze zakup wyświetlacza (chcę coś w okolicy 5″), oraz oprogramowanie tego. :) Na chwilę obecną na mailnce hula lightpdd (zainstalowany zgodnie z instrukcją z http://malinowepi.pl/post/40685427538/serwer-www-i-php), a całość ma być deczko przerobionym kioskiem multimedialnym (http://krzysztofjelonek.net/raspberry-pi-2-jako-ekran-infokiosku/). Ekran, ma prezentować w kilkusekundowych interwałach aktualny czas, datę, temperaturę wewnętrzną (czujnik), ciśnienie oraz jego gradient (czy spada, czy rośnie), oraz pogodę za oknem z accuweather yahoo. Jak na razie “malinka” prezentuje na wirtualnym ekranie czas i datę… :)