Uncategorized
Toskania, ach Toskania…
Brak postów ze względu na długi urlop w pięknych klimatach…
Czasem po prostu trzeba.
Setka mi stuknęła…
Dzień dobry. Podsumowanie małe…
Nawet nie zorientowałem się kiedy, nawet nie myślałem, że do tego dojdzie. A tu proszę – setny post jest już przeszłością.
Ruszyłem w sumie w lutym 2017, czyli już prawie dwa lata. Temu kto czyta, muszę powiedzieć (no, napisać), że jest to świetna przygoda. Czasowo czasem 'nie wyrabiam na zakrętach’ (żona, dwójka dzieci, sport (bieganie, pływanie, narty), koncerty (jestem diehard fanem Black/Death metalu, muzyki EBM), gry), ale jako że podejście mam czysto hobbystyczne – napinki nie ma. Jednocześnie blog jest katalizatorem do działania. Staram się nie pozwalać sobie na lenistwo, ciągle dopisywać nowe tematy do przeanalizowania, skonfigurowania/zrobienia/zakupienia oraz późniejszego opisania. Na ten moment mam 20 tematów 'na blog’ oraz prawie 40 'do Smart home’. To w sumie ponad 50 pomysłów na teksty. Jest co robić, a rozwiązań, urządzeń, ludzi z pomysłami wokół ciągle przybywa.
M5stack, Odroid, Magic Mirror, Home Assistant, OpenSprinkler, cały sklep Pimoroni, LEDy WS2811 to tylko kilka tematów którymi świetnie by było się zająć.
Bardzo miło mi zobaczyć, ile osób przeczytało dane posty, wychodzi na to, że są przydatne.
Wszystko to robię poniekąd dla siebie, żeby poukładać w głowie poszczególne kroki i odpowiednio przelać na formę pisaną, ale jest mi niezmiernie miło, że to czytacie.
Na koniec 'finansowa statystyka zarobków z bloga’, dla ciekawych jak to się przedstawia od strony Google AdSense. Jak tak dalej pójdzie, to za 100 lat osiągnę pułap wypłaty środków 😉 Ale prawda jest też taka, że na 'marketingu strony’ nie skupiam się wcale, zarobki nie są celem, a reklamy i Google AdSense skonfigurowałem wyłącznie po to, aby się nauczyć 'z czym się to je’. Tak samo jak Google Analytics, bo naprawdę warto zobaczyć na własne oczy jak bardzo nas Google śledzi. I nawet nie to, że śledzi jest przerażające, ale świadomość tego, że dane są zapisywane 'na wieki’ i używane do profilowania nas i reklam dla nas.
Kolejnym plusem są fantastyczni ludzie, których udało się poznać dzięki blogowaniu. Ludzie z pasją, nie znoszący mentalnej nudy i gnający non stop w nowe miejsca i szukający ciekawych rozwiązań.
Niniejszym, kończąc wpis, serdecznie Wam dziękuję.
Dzisiaj śledzimy niebo i to co nad nami lata… A do tego nawet to wyświetlimy!
Chcemy połączyć się z ekranem OLED, a do tego będą nam potrzebne dodatkowe biblioteki. Przechodzimy do Sketch -> Include Library -> Manage Libraries.
Wyszukujemy dwie z pakietu Adafruit:
– Adafruit GFX
– Adafruit SSD1306
wybieramy je i instalujemy. Opcja będzie dostępna po ich zaznaczeniu.
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 0 // GPIO0
Adafruit_SSD1306 OLED(OLED_RESET);
void setup() {
OLED.begin();
OLED.clearDisplay();
//Dodajemy elementy do 'display listy’
OLED.setTextWrap(false);
OLED.setTextSize(1);
OLED.setTextColor(WHITE);
OLED.setCursor(0,0);
OLED.println(„Cezarowy blogspot”);
OLED.display(); //wyświetl zawartość pamięci ekranu na ekran
OLED.startscrollleft(0x00, 0x0F); //make display scroll
}
void loop() {
}
Można wybrać Verify/Compile, co wyłącznie skompiluje nasz program, można od razu Upload, co wymusi kompilację i załaduje skompilowany sketch do D1 Mini.
Skoro proste tematy mamy za sobą, ruszamy od razu z czymś trudniejszym. A co! Do odważnych świat należy!
Po pierwsze, kolejne dwie biblioteki do pobrania. WiFiManager i biblioteka do parsowania (czyli czytania i przetwarzania) plików JSON.
Od razu piszę, że pomysł i kod nie jest mój, dostosowałem znaleziony przez Macieja kod do swoich potrzeb.
Zacznijmy od tego, że skorzystaliśmy z biblioteki Weather Station opracowanej przez zespół ThingPulse. W ramach dostępnych w niej przykładów znajduje się kod PlaneSpotterDemo, który przerobimy na nasze potrzeby.
Ze strony https://github.com/ThingPulse/esp8266-weather-station pobieramy ZIP z biblioteką, którą trzeba rozpakować do folderu jak poniżej.
Restart Arduino IDE i już mamy w Examples dostępny kod PlaneSpotterDemo.
U mnie potrzebny był 'delikatny’ tuning.
W parametrach wywołania strony, która pokazuje JSON trzeba podać promień okręgu jaki mamy sprawdzać, oraz jeżeli chcecie – wysokość graniczną samolotów Od/Do.
Przy okazji dowiecie się jak wyglądają pliki JSON, które można później obrabiać, czytać i zapisywać na przykład w Domoticz.
Na przykład:
https://public-api.adsbexchange.com/VirtualRadar/AircraftList.json?lat=LATZDomoticz&lng=LongZDomoticz&fDstL=0&fDstU=12, gdzie fDstL i fDstU oznacza odległość Od/Do jaka nas interesuje.
Kolejny: fDstL=0&fDstU=12&fAltL=5000&fAltU=45000 interesują nas samoloty, które są w odległości od zera do 12 kilometrów, na wysokości od 5 do 45 tysięcy stóp.
Aby zobaczyć co lata obok lotniska na Balicach, wystarczy sprawdzić adres: https://public-api.adsbexchange.com/VirtualRadar/AircraftList.json?lat=50.0769780&lng=19.7881190&fDstL=0&fDstU=100
W ogóle – nazwy parametrów to jak widać fDst, L oraz U oznacza limit dolny oraz górny, S – zaczynający się od – jeżeli szukacie konkretnych modeli samolotów. Itd., itp. Dokładna dokumentacja wszystkich parametrów znajduje się pod adresem: http://www.virtualradarserver.co.uk/Documentation/Formats/AircraftList.aspx
Aplikacja o której tutaj mówimy pobiera właśnie dane z tej strony, przetwarza je, zapisuje w odpowiednich zmiennych i wyświetla na ekranie OLED.
Aby być pewnym, że moje parametry są poprawne, uruchamiam na jednym ekranie https://global.adsbexchange.com/VirtualRadar/desktop.html z moją okolicą, na drugim odświeżam wyniki https://public-api.adsbexchange.com/VirtualRadar/AircraftList.json?lat=50.0769780&lng=19.7881190&fDstL=0&fDstU=100 (podajecie oczywiście swoje współrzędne). Wtedy wiem, że to co mam na mapie pokrywa się z tym, co zawierają dane w formacie JSON.
Aby program zadziałał musimy prowadzić kilka zmian.
Po pierwsze, mam ekran SSD1306, także usuwam komentarz (czyli //) z jednej linii i komentuję tą z SH1106.
#include „SSD1306Wire.h”
//#include „SH1106Wire.h”
const String QUERY_STRING = „lat=LatZDomoticz&lng=19.562571&fDstL=0&fDstU=12”;
// Setup OTA
// Serial.println(„Hostname: ” + hostname);
// ArduinoOTA.setHostname((const char *)hostname.c_str());
// ArduinoOTA.onProgress(drawOtaProgress);
// ArduinoOTA.begin();
TADAM! Mamy, działa, pokazuje!
Tak w sumie posiadając ekran otwierają się przed nami nowe możliwości eksperymentowania – z samych przykładów można się mnóstwo nauczyć i robić swoje małe (albo i duże) projekty.
Postaram się rozszerzyć ten wpis o kolejny, w którym dane wylądują w Domoticz, ale tak prawdę mówiąc, to muszę się tego najpierw sam nauczyć 😀
Sonoff POW – zmieniamy oprogramowanie na alternatywne i przy okazji przekonujemy się, że warto być upartym…
BARDZO WAŻNA ZASADA! Zmiana oprogramowania (flashowanie) MUSI odbywać się przy WYŁĄCZONYM wysokim napięciu na Sonoff POW. Inaczej możemy (i zapewne tak będzie) w najlepszym przypadku spalić port USB w komputerze.
Konwerter podłączamy identycznie jak w przypadku Sonoff Basic i gniazdka S20.
Dalej już poszło gładko. Termite, podanie danych WiFi dla pewności i Voila!
Wybieramy Module type jako Sonoff Pow.
PONOWNIE OSTRZEŻENIE. Po podłączeniu Sonoff POW do napięcia pracujemy już na 230 Volt. Czyli żartów nie ma, nieodpowiednia ostrożność może się skończyć śmiercią.
I wyniki na zakładce Utility:
Oraz Switches:
Wspaniały, rewelacyjny, profesjonalnie osiągnięty efekt na zdjęciu poniżej 😀
UWAGA! Z niewiadomych jak na razie przyczyn Domoticz pokazuje mi dane z 5-minutowym opóźnieniem. Kolega z zaprzyjaźnionego bloga zasugerował kalibrację (jak poniżej), ale niestety nie pomogło. Muszę sprawdzić konfigurację Mosquitto.
PowerSet 7 – ja akurat podłączyłem żarówkę 7 Watt, kolega 60.
VoltageSet 240
CurrentSet 250
Pozdrawiam, powodzenia!
Wakacje… Przekonałem się po co był cały wysiłek włożony w Smart home :)
Byliśmy sobie na wakacjach. Nie jest ważne gdzie, nie jest ważne jak długo. Ważne jest to, że miałem zapewniony 'spokój ducha’.
Byłem pewien, że w domu spokój, niczego nie zapomniałem wyłączyć, okna i drzwi bezpieczne, przed domem nic się złego nie dzieje. Do tego – stały podgląd, monitorowanie. Nie żebym jakoś maniakalnie się obawiał czy sprawdzał. Ale po prostu mogłem.
A było tak, gdyż:
1. Codziennie rano, o wschodzie słońca Domoticz wysyła mi status temperatury i innych czujników w domu.
Czyli pierwsze wnioski:
– system działa
– czujniki działają
– internet działa
2. W każdym momencie mam dostęp do dwóch kamer w domu – jednej skierowanej na bramę wjazdową, drugiej skierowanej na cały dół domu. Druga w wersji z podczerwienią, także w nocy również widać co się dzieje.
Dodatkowo – obie wysyłają zrzuty z kamery co 10 minut na FTP, a ta z widokiem na bramę również e-mail z załącznikiem.
3. Owl – miernik energii. Jaki jest, taki jest, na pewno nie mierzy dokładnie co do Watt, ale ważny jest trend – jeżeli utrzymuje się na stałym poziomie – super. Nie zapomniałem wyłączyć żelazka, lodówka się nie zepsuła, nic przez 'przypadek’ się nie włączyło lub wyłączyło.
4. Jeżeli zapomniałem zamknąć drzwi – system mnie o tym poinformuje. Działa przez 1.5 godziny, żeby nie spamować, ale to raczej wystarczy na reakcję 😉
5. Czujniki dymu, czujniki zalania
Zawsze to jakiś komunikat w razie problemu.
6. ’Sprzęty’ wyłączone – cokolwiek jest podłączone do sieci – podaje mi status. Drukarka, konsole, laptopy.
7. Tryb 'Wakacje’. Jeżeli jest włączony – o losowej porze w nocy włączają i wyłączają się w przedziale czasowym światła w domu. Dla mnie wystarczające, zawsze można rozbudować o dodatkowe elementy – na przykład bogatsze e-maile komunikacyjne gdy tryb jest włączony.
8. Założony w czasie budowy alarm z powiadamianiem na GSM – obowiązkowy wręcz element, moim zdaniem.
Oprócz alarmu wszystko budowane samemu, powoli dokładając kolejne klocki do układanki. Koszty nie są jakoś specjalnie duże, w większości kupowałem produkty na promocjach, wyczekując okazji. Zresztą – pełen spis elementów wraz z cenami dostępny jest zawsze tutaj: http://cezarowy.blogspot.com/p/co-na-stanie-ma-cezar.html
Oczywiście nic nie zastąpi zdrowego rozsądku, sprawdzenia i pamięci, ale taki status domu jest dla mnie naprawdę ważny i mnie uspokaja. Reasumując – naprawdę jestem zadowolony z czasu który poświęciłem na naukę, konfigurowanie, instalację, testowanie, programowanie. Było warto!
Xiaomi Mi Box – aktualizacja systemu do wersji 8.0 Oreo
Jego świetna (moim zdaniem) przystawka do TV – Xiaomi Mi Box dostała właśnie nową wersję oprogramowania. Poprzednią wersję Android TV w wersji 6.0 zastępuje teraz wersja 8.0 Oreo.
Opinie są dość ciekawe i (niestety) nie wszystkie pozytywne. O ile aktualizację samego interface ludzie chwalą, o tyle zgłaszają problemy z odtwarzaniem dźwięku gdy przystawka jest podłączona do wzmacniacza kina domowego.
Więcej informacji wkrótce…
Nowa wersja Raspbery Pi. Tym razem 3B+
W Dniu Liczby Pi (no jakże by inaczej 😉 ) ogłoszono odświeżoną wersję modelu Raspberry Pi 3. Mamy już 3B+, która będzie się różnić kilkoma ulepszonymi elementami.
Procesor dostanie dodatkowe 200MHz, poprawiona zostanie przepustowość WiFi oraz Ethernet! Ciągle będzie to poprzez USB 2.0 (szkoda wielka…), ale będzie maksymalnie nawet do trzech razy szybciej. To już coś.
Do tego zostanie ulepszone zarządzanie cieplne.
Dokładnie:
A 1.4GHz 64-bit quad-core ARM Cortex-A53 CPU
Dual-band 802.11ac wireless LAN and Bluetooth 4.2
Faster Ethernet (Gigabit Ethernet over USB 2.0)
Power-over-Ethernet support (with separate PoE HAT)
Improved PXE network and USB mass-storage booting
Improved thermal management
Więcej tutaj:
https://www.raspberrypi.org/blog/raspberry-pi-3-model-bplus-sale-now-35/
Wszystko to za 35 USD. Ja biorę:D Mimo USB 2.0 i braku mSATA.
Podłączamy Sonoff Basic. Do prądu i Domoticz!
Do tego okazało się, że kupiłem jakiś dziwny (no, przynajmniej dla mnie) konwerter USB-TTL, w którym nie byłem pewien gdzie jest 3.3V a gdzie 5V.
Nic to, w końcu się zabrałem zaryzykowałem, podłączyłem i okazało się, że wszystko zadziałało 'od strzału’. Miło, że niczego nie spaliłem…
Taki oto programator przyszło mi zastosować.
Podłączyłem go następująco (piny Sonoff liczę od czarnego przycisku):
RXI -> 3
TX0 -> 2
VCC -> 1
GND -> 4
Świetny opis znalazłem na stronie https://randomnerdtutorials.com/how-to-flash-a-custom-firmware-to-sonoff/
Po chwili było po wszystkim.
I teraz mały problem. Znaczy – problem, nie problem. Sieć WiFi o nazwie ESP_0 nie pokazywała mi się przez dłuższą chwilę. Ja rozumiem startowanie, uruchomienie, itp., ale w pewnym momencie myślałem już, że coś się źle wgrało i miałem się zabierać znowu do wgrania ESPEasy. Jednak, finalnie – ruszyło.
Poniżej opis wszystkich formatek wraz z kodem w Rules.
Tutaj ważny jest w sumie WiFi status LED – jeżeli dioda jest dla Was ważna. Co ciekawe, wszystkie opisy sugerowały GPIO-14, u mnie zadziałał GPIO-13…
Tutaj definiujemy jak nasz Sonoff ma się kontaktować z Domoticz. Czyli, jak we wszystkich poprzednich przykładach – najpierw hardware (albo użyjcie któregoś, który macie), później na nim Dummy sensor i zapisujecie jego wartość IDX. Dzięki temu po włączeniu przyciskiem Sonoff, stan zaktualizuje się również w Domoticz.
Tutaj definiujemy na którym GPIO znajduje się połączenie przycisku (tego czarnego, długiego). No, w końcu ESP Easy nie wie do czego go wgraliśmy, musimy mu napisać.