Szperając w śmietniku natchnąłem się na kawałek ciekawego softu. Autorem softu jest nie byle kto tylko firma Intel a w szczególności pewnie jakiś zapaleniec pracujący dla Intela.
Mowa o bibliotece MRAA, która może nam się przydać w kombinacjach z inteligentnymi technologiami w domu i zagrodzie.
Moja szalona teściowa zaplanowała zbudowanie kurnika w centrum bardzo dużego miasta . Ten odważny pomysł zainspirował mnie do zagęszczenia ruchów w poszukiwaniu inteligentnych technologii. W tym przypadku inteligencję chciałem zaprząc do kurnika teściowej :) Szukam zatem technologii, które dałoby się jakoś zaimplementować w inteligentnym domu kur.
Technologia to nie tylko sprzęt ale również soft.
Przyjrzyjmy się zatem co to za zwierz ta biblioteka MRAA i jakie to może mieć zastosowanie.
Biblioteka MRAA napisana w języku C/C++ dla platformy LINUX , przenosi fizyczną warstwą sprzętową opisaną w języku C/C++ na wyższą warstwą abstrakcji , która umożliwia łatwy dostęp do zasobów sprzętowych za pomocą języków JavaScript, Java, Python.
Warstwa sprzętowa , którą biblioteka m.in implementuje to : I/O, SPI, I2C, PWM, UART.
Celem jest ułatwienie programistom i producentom czujników mapowania ich czujników i elementów wykonawczych na obsługiwanym sprzęcie oraz umożliwienie kontroli niskiego poziomu protokołu komunikacyjnego przez języki i konstrukcje wysokiego poziomu.
Biblioteka jest kompatybilna z większością popularnych platform typu embedded dla Linuxa. Spis platform w linku poniżej artykułu. Na liście znajduje się m.in Raspberry PI.
Szczególną właściwością , która mnie w tej bibliotece zainteresowała to możliwość programowania/dostępu do zasobów sprzętowych w języku JavaScript. Za pomocą tego języka możemy działać w ekosystemie Node.JS.
Czyli innymi słowy, możemy sobie w prosty sposób stworzyć swój własny serwer np na Raspberry PI, który łączy nam warstwę sprzętową i działania na tej warstwie z typowymi działaniami serwera czyli wypluwaniem strony HTML , obsługą zapytań HTTP etc. A stąd do inteligentnego budynku/kurnika , stworzenia np. sieci czujników i sterowania tym za pomocą strony HTML, jest bardzo blisko.
Nadmienię, że język JavaScript nie ma nic wspólnego z Javą. Jest pięknym w pełni obiektowym ale wymagającym w poznaniu językiem. Jego szczególną właściwością jest brak typowych klas, tu wszystko jest obiektem. Można się w tym języku naprawdę zakochać. Bez niego nie byłoby m.in interaktywnych stron internetowych. Każda przeglądarka ma ten język zaimplementowany w pakiecie.
Zapisuje na stertę rzeczy do poznania tę bibliotekę ale poczekam z tym jak pojawi się Raspberry PI 4, obecnie ceny wersji 3 poszły ostro w dół a to zwiastuje pewnie nadejście nowego :)
Przykładowy kod napisany w JavaScript (z wykorzystaniem biblioteki MRAA), sterujący diodą LED podłączoną do pinu nr 12 na Raspberry PI
var m = require('mraa'); //require mraa var myDigitalPin = new m.Gpio(12); //setup digital read on pin 12 myDigitalPin.dir(m.DIR_OUT); //set the gpio direction to output myDigitalPin.write(1); //set the digital pin to high (1) setTimeout(function() { myDigitalPin.write(0); //set the digital pin to low (0) process.exit(0); }, 1000);
Pozdrawiam
picmajster.blog@gmail.com
Linki :
MRAA
biblioteka w zasobach npm
Brak komentarzy:
Prześlij komentarz