Trabalhando com IoT usando JavaScript
Olá, pessoal nesse artigo vamos falar sobre o uso de IoT usando o NodeJS, ou seja escrever aplicações para IoT usando o poderoso JavaScript em nossas aplicações.
Para isso ser possível, temos a opção de duas bibliotecas, uma delas é o Johnny-Five(J5) e a outra é o CylonJS embora eu goste de usar o J5 a Cylon é muito boa e tem uma interação interessante com o hardware, usando o Gort que é um CLI Toolkit para RobotOps para facilitar um pouco nosso trabalho.
johnny-Five(J5)
Essa biblioteca tem como potencial a interação com seu hardware usando JS facilitando o desenvolvimento de aplicações escalaveis e até mesmo o desenvolvimento de outras aplicações pelo uso do NodeJS como servidor, podemos também criar dashboards para controlar a aplicação usando HTM e WebAPI’s como em qualquer outra aplicação.
para a instalação e uso precisamos ter em nossa maquina:
NodeJS (de preferência a ultima LTS)
Executar
npm install johnny-five
Os Microcontroladores e plataformas SoC (System on a Chip) gostam de dizer “Hello World” com um simples LED piscando, para isso em nosso editor de notas preferido, vamos escrever o seguinte código:
Em seguida vamos até a pasta do arquivo e executamos em nosso terminal:
$ node app
Após executar esse comando o seu led da porta 13 vai começar a piscar!
CylonJS
É um framework javascript, que suporta 43 plataformas diferentes como Arduíno, Intel Edson,etc…
Para trabalharmos usando o CylonJs precisamos instalar ele usando o camando:
$ npm install cylon cylon-firmata cylon-gpio cylon-i2c
Para colocar o Cylon.JS em funcionamento, você precisará dos módulos necessários para o seu hardware.
Por exemplo, se você estiver trabalhando com um Arduino, provavelmente desejará o módulo cylon-firmata. Além disso, você precisará dos módulos cylon-gpio e cylon-i2c para se comunicar com os sensores ligados ao Arduino.
Ao executar em nosso terminal o comando node cylon teremos essa saída:
gort.io
É um CLI Toolkit para RobotOps (uma ferramentas que nos permite procurar dispositivos conectados, fazer upload de firmware e muito mais.)
Nesse comando acima o que fazemos é simplesmente verificar se a Serial-Port está “Ok” e ele nos retorna também a informação de qual porta se encontra conectado o hardware.
$ sudo gort arduino upload firmata /dev/ttyACM0 -b nano
Mas tambem temos o upload da Firmata do seu Arduino (no caso desse exemplo acima) onde no ttyACM0
setamos a porta do nosso arduino, mas também temos a possibilidade de usar o gort com outros hardwares:
- Bluetooth
- Arduino
- Particle
- Digispark
$ sudo gort arduino upload firmata /dev/ttyACM0 -b nano
Bom galera espero que tenha esclarecido algumas duvidas e esse só é o ponta pé inicial para o desenvolvimento IoT, lembrando quem sabe controlar um Led, controla qualquer sensor haha
Até mais, fique agora com o Lado Nerd++
Lado Nerd++
Johnny 5 é o Robô e tambem o personagem principal dos filmes Short Circuit: O Incrível Robô, lançado em 1986 e o segundo filme em 1988;
Cylon são uma civilização cibernética em guerra com as Doze Colônias da humanidade na franquia de ficção científica Battlestar Galactica, na série original de 1978 e 1980, bem como a releitura de 2003. Na série de 1978, os Cylons também são a raça que criou o robô Cylons;
Gort é um robô humanóide fictício, personagem do filme de ficção científica de 1951 O dia em que a Terra parou e também do remake de 2008.
Referências:
http://gort.io/documentation/getting_started/
https://www.safaribooksonline.com/blog/2013/07/16/javascript-powered-arduino-with-johnny-five/