Bezprzewodowy sensor tinyBrd 2.0 czyli kolejny sposób na pozbycie się kabli

 

tinyBrd 2.0 bezprzewodowy sensor

Dzięki uprzejmości Nettigo – sklepu  internetowego specjalizującego się w elektronice DIY otrzymałem do przetestowania ich autorski produkt – płytkę tinyBrd. Jest to platforma do szybkiego budowania bezprzewodowych czujników.

Zgodnie z zapewnieniami producenta system cechuje się łatwością konfiguracji połączenia bezprzewodowego, niskim poborem energii ( w tym trybie pobór prądu całego modułu jest na poziomie 5 µA ) oraz monitorowaniem zasilania.

Zestaw który otrzymałem składa się z dwóch modułów  nRF24L01+, płytki NRF Raspberry Hat, programatora ICSP typu USBASP, Adaptera ISP z 10 na 6 pinów dla AVR oraz zestawu przewodów. Jest to komplet urządzeń umożliwiający programowanie płytki przy pomocy Arduino IDE. Wszystkie szczegóły są w bardzo jasny sposób opisane na stronie producenta. Bardzo udanym pomysłem jest Akademia Nettigo, gdzie można znaleźć kompletną dokumentacje do tinyBrd. http://akademia.nettigo.pl/tinybrd/. Oprócz tego znaleźć tam możemy również kursy podstaw programowania oraz zestaw artykułów z poradami jak podłączyć rożnego rodzaju czujniki do Arduino lub Raspberry  Pi.

Szczegółów programowania płytki nie będę szczegółowo opisywał. Wszystko jest na stronie projektu. Bardzo pomocne jest poniższe wideo.

W moim przypadku cały proces programowania przebiegł bardzo sprawnie. Jedyny  problem może pojawił się ze sterownikami USBasp w Windowsie. W systemie linux płytka programatora wykrywana jest automatycznie.

Na koniec chciałbym podzielić się ogólnymi wrażeniami odnośnie sensora tinyBrb. Zdecydowanie na plus można zaliczyć jakość wykonania. Sprawia wrażenie bardzo solidnie i profesjonalnie wykonanej. Programowanie przebiegło bezproblemowo ( dioda miga ). Zapowiada się bardzo obiecująco.

Teraz czas na podłączenie do Raspberry Pi oraz integracje z Domoticzem. Wszystko przede mną.

Monitoring zużycia energii elektrycznej pod linuxem.

Mój „smart dom” wzbogacił się ostatnio o bardzo ważną funkcjonalność. Od dawna zależało mi na tym aby mieć kontrolę nad rachunkami za prąd. Przejrzałem kilka rozwiązań ( np. różnego rodzaju podliczniki ), ale nie chciałem ingerować w instalacje elektryczną domu.

Na stronie iNode.pl znalazłem bardzo ciekawe rozwiązanie oparte o technologie Bluetooth Low Energy ®. iNode Energy Meter to bezprzewodowy monitor zużycia energii z wbudowaną pamięcią. Stan liczników: minutowego i całkowitego jest wysyłany on-line w ramce rozgłoszeniowej (monitorowanie zużycia na bieżąco) z okresem czasu od 0,32 sekundy do 10 sekund (do ustawienia przez użytkownika).

iNode Care Sensor PT

W praktyce polega to na umieszczeniu powyższego klipsu z fotorezystorem na liczniku elektrycznym, w taki sposób aby czujnik pokrywał się z migającą diodą licznika. Stała licznika wynosi zwykle 1000 impulsów na kWh ( warto sprawdzić na liczniku i ewentualnie zmienić w ustawieniach ). Miganie diody z lewej strony świadczy o pracy urządzenia natomiast z lewej strony o zliczaniu impulsów.

zrzut ekranu58

Następnie instalujemy najnowsze WINE ze strony https://www.winehq.org/ lub z repozytorium. U mnie wygląda to tak.

Mam 64 bitową architekturę procesora wiec muszę przełączyć się na 32 bity.

sudo dpkg –add-architecture i386

Dodajemy repozytorium:

sudo add-apt-repository ppa:wine/wine-builds

Instalujemy WINE.

sudo apt-get install –install-recommends winehq-devel

Następnie ze strony https://inode.pl/news/n/73/LINUX  pobieramy iNodeSetup służący do konfiguracji systemu oraz iNodeEnergy.

Łączność pomiędzy klipsem na liczniku a komputerem może być realizowana  przy użyciu adaptera USB BT 4.0, jednak wygodniej jest nabyć iNodeLAN. Umożliwia on zaistnienie urządzeń z BLE (Bluetooth Smart, IoT – Internet of Things) w sieciach z protokołem ethernet: LAN, Wi-Fi czy Internet.

iNode LAN

Po podłączeniu iNodeLAN do sieci możemy sprawdzić podstawowe odczyty.

zrzut ekranu61

Po zainstalowaniu iNodeSetup i ustawieniu iNodeLAN z prawej strony czerwonej lupki i po wyszukaniu urządzenia możemy odczytywać dane w aplikacji.  W iNodeEnergy możemy śledzić pobór prądu na wykresie. U mnie wygląda to tak.

zrzut ekranu62.png

Można także podejrzeć dane na smartfonie z Androidem.

zrzut ekranu64.png

Reasumując pierwszy krok został zrobiony. Teraz pozostało podłączyć system do Domoticza. Twórcy iNode.pl taką funkcjonalność opracowali. O moich sukcesach z iNode i Domoticzem będę informował na bierząco. Na razie zapowiada się obiecująco. Trzymam kciuki za iNode.

Dostęp do Raspberry Pi z zewnatrz – Hamachi

Cała idea inteligentnego domu zasadza się na tym aby mieć do niego dostęp z dowolnego miejsca na ziemi. Podczas urlopu dobrze jest mieć podgląd podstawowych parametrów lub nadzór nad bezpieczeństwem pozostawionego mienia.

hamachi

Oczywiście sposobów „wystawienia na zewnątrz” naszej maliny jest mnóstwo. Ja opisze sposób przez serwery HAMACHI. Moje próby z NO-IP okazały się porażką więc postanowiłem poszukać przyjaźniejszego rozwiązania. Hamachi pozwala na bezpośrednie udostępnianie plików, pracę aplikacji sieciowych, gier, a nawet udostępnianie drukarek – słowem korzystanie z wszelkich możliwości jakie daje praca w sieci lokalnej. Hamachi sprawia, że prywatny adres IP działa jak publiczny. Program jest bardzo prosty w obsłudze konfiguracji. Posiada dedykowane narzędzia konfiguracyjne a co najważniejsze umożliwia dostęp do sieci z telefonu. Ale po kolei.

Założenie konta w serwisie LogMeIn.

Na początku musimy założyć konto w serwisie LogMeIn – https://www.vpn.net/. Po założeniu konta musimy pobrać odpowiedni program na raspberry. Przechodzimy do sekcji https://secure.logmein.com/labs/#HamachiforLinux i pobieramy paczkę logmein-hamachi_X.X.X.XXX-X_armel.deb. Oczywiście możemy to zrobić z konsoli, pamiętając aby w miejsce X-ów podstawić aktualną wersję pakietu.

$ sudo wget http://www.vpn.net/installers/logmein-hamachi_2.1.0.174-1_armhf.deb

Instalacja zależności

Następnie instalujemy pakiet lsb-core

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install lsb-core

i instalujemy HAMACHI na naszej malinie

$ sudo dpkg -i logmein-hamachi_X.X.X.XXX-X_armhf.deb

Konfiguracja klienta

Logujemy się z raspberry do Hamachi:

$ sudo hamachi login

Podajemy login do serwisu:

$ sudo hamachi attach <tu podajemy maila, loginu do serwisu LogMiIn>

Ustalamy swój nick:

$ sudo hamachi set-nick „np. domoticz lub malina itp.”

Dodanie raspberry do wirtualnej sieci

Teraz przechodzimy do www Hamachi i dodajemy nasz komputer do sieci. W sekcji MyNetworks widzimy naszą utworzoną sieć (tunel). Wciskamy Edit i otwieramy zakładkę Members. Pod zakładką Members widzimy ID naszej sieci : XXX-XXX-XXX. Dodajemy więc nasz sprzęt do sieci:

sudo hamachi do-join XXX-XXX-XXX

Jeżeli przy zakładaniu sieci podaliśmy hasło to je wpisujemy. Potwierdzamy żądanie dołączenia maliny do sieci Hamachi na stronie www ( pojawi się prośba o zaakceptowanie ) i już.

Dodajemy wpis  do etc/rc.local aby serwis uruchamiał sie przy starcie systemu.

sudo update-rc.d logmein-hamachi defaults

Zarządzanie siecią.

Pod linuxem możemy zainstalować Haguichi.

zrzut ekranu53

Aby zalogować się do DOMOTICZA wpisujemy w przeglądarce adres ip nadany przez serwis HAMACHI i port 8080. W telefonie jest to trochę bardziej skomplikowane. Musimy pobrać odpowiednie certyfikaty i uruchomić VPN-a. Jest to oczywiscie do przejścia o czym napisze za jakiś czas. W wersji bezpłatnej możemy dodać do sieci do 5 komputerów.

Komenda dd – informacja o statusie kopiowania

28993794624_82a2dc64f0

W związku z tym, iż nie mogę się zmusić do regularnych kopi systemu  postanowiłem wypracować sobie jakiś sprytny sposób. Mój wybór padł na „dd” – potężne linuxowe narzędzie do kopiowania danych. Jest to program do niskopoziomowego kopiowania i konwersji surowych danych. Cechuje się bardzo dużą dokładnością i stabilnością działania co odbija sie na prędkości kopiowania. O podstawowej składni komendy pisałem już w poście dotyczącym instalacji DOMOTICZa. Podstawowa dla mnie niedogodność tej komendy to brak paska postępu kopiowanego pliku lub partycji. Z uwagi na to często nie wiem czy program poprawnie się uruchomił i ile czasu pozostało do zakończenia operacji. Jest na to oczywiście sposób.

Na początku instalujemy pakiet „pv”

sudo apt-get install pv

Po zakończonej instalacji składnia komendy powinna wyglądać jak poniżej.

sudo dd if=/dev/dane wejściowe | pv | sudo dd of=/dev/dane wyjściowe

Tak to działa:

zrzut ekranu13

W systemach opartych na Ubuntu 16.04 i nowszych możemy użyć komendy:

sudo dd if=/dev/dane wejściowe of=/dev/dane wyjściowe status=progress

Poniżej efekt pracy programu i jego efekt ( klonowanie partycji 16GB ).

zrzut ekranu11

zrzut ekranu12

Uwaga. program dd jest bardzo niebezpieczny przy braku należytej ostrożności. Nie analizuje on danych tylko „bezmyślnie” nadpisuje całe partycje. Można przez nieuwagę nadpisać sobie partycje systemową kopią pendriva. Zawsze dokładnie sprawdzaj nazwy napędów w systemie np. komendą sudo fdisk -l. Pozwala to jednak dzięki temu kopiować zamontowane partycje, czyli na backup uruchomionego systemu

I bardzo ważne. Po zrobieniu kopi systemu na innym pendrivie koniecznie zmieniamy GUID ( post o instalacji Domoticza na USB ) aby system startujący z karty SD prawidłowo rozpoznał pendriva.

W kolejnych postach napiszę jak zautomatyzować tworzenie kopi zapasowych ( uruchamianie systematycznie o określonych porach dnia ). Niezbędny bedzie prosty skrypy i wpis w cronie. Ale o tym za jakiś czas.