sobota, 3 lutego 2018

MRAA - biblioteka od Intela dla inteligentnych zastosowań w kurniku.



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