Pł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ę!
Raspberry pi
Malinka #2 – Czujniki, czujniki, czujniki….
Malinka #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.
Nadrabianie zaległości czas zacząć: Malinka numer #1 – OSMC
Notoryczny niedobór czasu dał się ostatnio we znaki. Na kodowanie i “mieszanie” w kablach jeszcze trochę czasu się znalazło, ale na pisanie o tym – już nie. Dziś nadszedł czas nadrabiania zaległości. I tak – po kolei – opiszę każdą z moich płytek.
Raspberry pi #1 – najmniej obciążona, najmniej również przy niej było “pracy”. Choć nie wiem czy można stwierdzeniem “praca” określić wrzucenie na kartę i konfigurację OSMC. Przed Państwem płytka numer #1 – smart TV w pokoju Staszka.
Czujnik działa! :) (PIR HC-SR501)
Sobota 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>
Projekt #0,5 – Prywatny flightradar

Zapomniałem wspomnieć o pierwszej malince, która od ponad roku dzielnie dekoduje dane z transponderów samolotowych i prezentuje na ekranie, oraz wysyła na serwery flightradar (stacja T-EPWA85). Dodatkowo stoi tam transmission i kilka innych pierdół. Podstawą projektu jest własnej roboty antena na 1090 MHz, tuner DVB-T RTL2832U oraz 10 metrowy przewód aktywny usb (aby dekoder był “za oknem” i kabel pomiędzy anteną a dekoderem był jak najkrótszy). Całość śmiga na dump1090 i fr24feed i pozwala na odbiór sygnału z samolotów oddalonych o około 400km od anteny w kierunkach bez przeszkód terenowych.

Projekt #1 – Są już dane pogodowe.
Na szybko. Dodałem kod czytający z yahoo pogodę i wyświetlający ją na moim wirtualnym ekranie.
<?php
$result = file_get_contents('http://weather.yahooapis.com/forecastrss?w=523920&u=c');
$xml = simplexml_load_string($result);
$xml->registerXPathNamespace('yweather', 'http://xml.weather.yahoo.com/ns/rss/1.0');
$location = $xml->channel->xpath('yweather:location');
foreach($xml->channel->item as $item){
$current = $item->xpath('yweather:condition');
$forecast = $item->xpath('yweather:forecast');
$current = $current[0];
$output = <<<END
<span>{$current['text']}, {$current['temp']}°C</span>
END;
}
echo $output;
?>
Oczywiście plik zaciąga dane pogodowe dla Warszawy, a odpowiada za to parametr w=523920
w pierwszej linii. Dla innego miasta trzeba to zmienić!
Projekt #1 – kilka słów wstępu

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ę…
Czas start

Malinowy blog, czas start!