[MUSICA] Oi. Sou Patrick, sou de Sydney e sou desenvolvedor web. Estive pesquisando sobre como usar JavaScript para controlar dispositivos Como Arduinos, Elite Emotion, Ninja Blocks e espero ver isso em breve, Pebble Watch. Hoje eu irei mostrar sobre o básico controlador Arduino usando Node. Nós iremos cobrir a conexão com o computador, realizando a comunicação com o Arduino, e esperando, bem no final, fazer uma lâmpada de LED piscar. Eu irei aderir ao básico absoluto aqui, então nós não iremos fazer nada avançado, eu espero. nos próximos tutoriais, falarei sobre isso e será um pouco complicado. Mas, para este, nós iremos mostrar como dar o pontapé inicial. Então, vamos lá. O que é Arduino? muitas pessoas leram ou já ouviram esta palavra pela internet, mencionada, mas nem todos viram um em ação, então é isto. Ela é uma placa micro controlada que é open source e que basicamente você pode controlar eletrônicos em uma plataforma que você um pode construir ou consertar. As pessoas no Arduino estão loucas para ter seu código aberto, o que significa que vocêpode fazer sua própria Placa Arduino que realmente querem. Este aqui, em particular, é a Arduino Uno. É uma uma variedade, de diferentes modelos que pessoas loucas por Arduino tem realizado. Você pode ter muitos componentes conectado a ele, também, como a luz LED lâmpadas, sensores, e até mesmo shields, que são tipos de coisas que você coloca no Arduinos para adicionar mais funcionalidade. Este em particular é um MIDI, shield que tem a capacidade de reproduzir sons, como um Teclado MIDI. O que é Node.js? Node.js é uma plataforma que usa JavaScripts, uma linguagem de script mais comumente usado em páginas da web, desde que você não faça aplicações de rede, como servidores. Hoje o usaremos, para executar um servidor web que vou falar com nosso Aduino. Se você nunca tiver usado Node.js antes, comece indo para Node.js.org, que eu estou mostrando aqui na tela. Clique no botão Instalar e o tenha instalado depois execute-o no seu computador, de modo que você vai seja capaz de continuar e seguir junto com o código de exemplo que estarei colocando. [AUDIO EM BRANCO] Então, por que Node.js e Arduinos? Por que ligar as duas tecnologias juntas? Bem, um dos pontos fortes do JavaScript é que existem muito poucas APIs Além do que, você pode juntar diferentes formas de fazer as idéias ganharem vida. Quer desenvolver um robô que leva instruções de seus seguidores no Twitter, ou uma máquina de café que faz um tipo diferente de café, dependendo do clima lá fora? Se você quiser adicionar uma ação como um dispositivo de entrada ou alimentação em dados de seu Jawbone ou produtos de fitness FitBit. As possibilidades estarão sempre. E JavaScript está se tornando uma ponte fácil de usar entre as tecnologias, porque nós temos um monte de APIs para acessar. E o que é Johnny-Five? Johnny-Five, é uma dessas APIs abertas que faz com que tais JavaScript seja uma linguagem valiosa para desenvolver esse tipo de coisa. Ela permite que você controle seu Arduino utilizando funções muito semelhantes às que você gostaria de usar se você tivesse programando-a apenas usando a Plataforma Arduino que vem com o próprio Arduino. Estaremos fazendo várias dessas coisas no tutorial que ele está explicando aqui, portanto não se preocupe muito. Mas você pode ver, há muitas coisas legais que as pessoas já fazem com isso. Nodebot Kinnect sem fio, controlado por braço de Robô e Running Man LCD. Então, você sabe, as possibilidades ficarão emocionante. Ok, para começar vamos precisar conectar nosso Arduino ao computador. Então, vamos fazer isso conectando o nosso Arduino em uma porta USB. Ele serve como a fonte para o Arduino, e a maneira de fazer upload de software para o nosso Arduino. Como você pode ver, uma vez que você o liga, você vai ver que as luzes piscam, o que é um bom sinal. Nesta demostração de hoje, vou estar fazendo um exemplo básico de como ligar e desligar a luz LED. Eu já coloquei o jumper onde deveriam estar. Então, se precisa fazer uma pausa, que este seja capaz de acompanhar, sinta-se livre para pause-o agora, e coloque o jumper, da maneira que eu tenho feito. Conectar-se o Arduino é muito simples. Conecte o verde aqui, ao pino 13 no seu Arduino. Em seguida, conecte o vermelho no pino 5 volts E, finalmente, conecte o preto, no pino terra. Realmente não se preocupe com as cores, você pode usar fio da cor que você preferir. Agora que está tudo feito, estamos prontos para ir para a parte de software do tutorial com o código que tenho que executar e onde se comunicar com o Arduino. O Aplicativo Node é extremamente simples. Nós só temos dois arquivos, um arquivo índice JavaScript e um arquivo pacote JSON. Se para você o pacote de arquivos Jason é novo, o usaremos para dar mais detalhes sobre o aplicativo, e outros módulos Node que são necessários para o aplicativo. Pra começar, eu vou passar por cima deste pacote de arquivos JSON, e mostrar-lhe o que está acontecendo. Então, aqui nós temos que o nome de nosso aplicativo é, neste caso, Node em Johnny-Five. Pode dar um nome que você preferir, mas mantenha-o todo com uma só palavra. Ele parecem não gostar espaços. Vai começar a reclamar de você, assim fique com apenas uma palavra. Nós temos o número de uma versão. Mais uma vez, você pode usar qualquer número de versão que você preferir, realmente, para simples aplicações básicas de teste. Vou chamá-lo de 0.0.1, porque este aplicativo é muito, de estágios iniciais e não vai ter muito o que fazer. Então, estou deixando-o em uma versão mais recente. Então a coisa mais importante, que vai definitivamente evitar nossa aplicação trabalhar com Arduinos é nossa seção de dependência aqui. Este é o lugar onde nós dizemos o que outros módulos precisam de, executar em nosso aplicativo para que Node funcione. Então, a gente só precisa de Johnny-Five, que é o módulo eu estava mostrando antes. E esta aqui é a versão. Então, neste caso, queremos a versão mais recente Johnny-Five desse módulo. Basicamente, estamos fazendo coisas simples, tornarem-se apenas o básico uma luz LED acesa e apagada, não é provável que altere. Então, vamos supor que, em todas as versões futura do Johnny-Five, vai ser compatível com o que nós vamos estar fazendo aqui. Assim, não precisa ser especificamente, de qual versão estamos esperando. Agora vamos para o índice do arquivo JavaScript Nossos índices do arquivo JavaScript tém todas as funcionalidades, apesar do aplicativo node Então, essa é praticamente a nossa nota do aplicativo em 19 linhas, das quais duas são Console toras. Assim, muito, pequeno aplicativo aqui. Eu vou passar isso passo a passo e explicar o que tudo é e porque é lá. Primeiramente, temos nossa variável cinco. Nossa variável cinco exige apenas o Módulo Johnny-Five. Mais uma vez, a razão de temos isso aqui, bem como no arquivo do pacote Jason, é que está atribuindo a todos objetos diferentes e funcionalidade. Isso é o que ganhamos com o módulo Johnny-Five para esta variável cinco, para que possamos acessá-lo durante todo a aplicativo node. Um exemplo disso é a nossa próxima linha aqui, qual é placa. Nossa variável a bordo, está criando uma nova placa de objeto que faz parte do módulo Johnny-Five Então, nós estamos olhando para o Johnny-Five o objeto que temos aqui é necessário, e nós estamos pegando o objeto da placa. O que é toda a parte do módulo Johnny-Five. Nós não temos que nos preocuparmos com nada disso. Não temos que criar nada disso. Tudo está lá Agradecemos aos gênios que vieram antes de nós. Em seguida, presentaremos um pouco mais de variáveis que usaremos mais tarde, por isso estamos dizendo a variável LED, e a variável de estado de alternância. Explicarei isso um pouco mais tarde. [ÁUDIO EM BRANCO] Para começar, olha isso aqui, na verdade. Este é um passo importante, porque este é o que virá em primeiro lugar, quando executamos nosso aplicativo. É só um registro do console dizendo que está esperando o dispositivo para conectar. O que isso significa é que, que aparecerá primeiro, assim que o aplicativo conhecido é iniciado apenas para nos informar que o novo aplicativo está, em execução. Mas nós não sabemos ainda se o nosso Arduino conectou-se, e se podemos nos comunicar com ele. O que acontece, é, usando esta transmissão variável aqui que criamos. O que é uma placa-objeto Johnny Five. Afirmamos, estar pronto, o que significa que, quando temos o caso pronto excluído do diretório, significa que. A placa é muito rápida, envia qualquer tipo de comandos e pedidos para ele. Nós ativamos esta função aqui, e isso começa com uma placa de registo do console dizendo estar pronto. Isso só vamos saber, se formos acompanhando o console enquanto nosso aplicativo node está executando, e que a placa está pronta para receber. Nosso pedido. É também uma boa maneira de saber, ou não se o console está conectado corretamente. Você está fazendo uma placa. Em seguida, usamos essa variável LED que nós declarado anteriormente, e criamos um novo LED, mais uma vez parte do módulo Johnny-Five. Nós estamos, apenas deixando-o saber que temos um LED No pino 13, que é o que havíamos plugados anteriormente. Então chegamos ao bit JavaScript que é, estamos definindo um intervalo usando a função JavaScript que muitos de vocês podem ter usado se vocês são gurus de JavaScript. O intervalo definido significa que estamos utilizando esta função aqui, alternar LED. A cada 200 milissegundos, e você pode jogar por aí com esse número se você preferir mais tarde, apenas por experiência, e mudar a forma como muitas vezes o LED vai alternar ligado e desligado, mas vamos dizer, para executar esta função a cada 200 milissegundos. O que não é bem essa função, a função aqui tem. Três linhas e uma linha de vida que é apenas para a leitura do usuário. Basicamente, usar essa variável aqui, no estado de alternância, que montamos primeiramente para ser falso. E em cada alternância de tempo que é executado, o LED vai mudar o valor do estado de alternância de verdadeiro para falso ou de falso para verdadeiro. Então, apenas mudamos o oposto do que se tratava. Se o estado total é verdade, ligamos nosso LED emissor de luz, se não, o desligamos. Então, basicamente, mantemos a alternância estado liga e desliga, liga e desliga, por sua vez, transformando o LED liga e desliga e ligado e desligado. [AUDIO EM BRANCO] Você tem Você está seguindo agora este tipo e, visualizando a execução da sunção em sua cabeça. Se você vai perceber que não há nada que desligue o LED, por isso vai continuar teoricamente sempre girando continuamente ligando e desligando, ligando e desligando, até que enfim desconecte o Arduino ou que desative esse aplicativo node. E eu vou mostrar-lhe como fazer isso. Teoricamente, você poderia incluir algumas outras funcionalidades, no erro para desligar o, Intel, limpando o Intel se você preferir, mas neste tutorial mantem as coisas simples, nós apenas vamos dar o básico que eu estou mostrando pra vocês. Isto é como você pode controlar o Arduino do node, e você pode adicionar tanta funcionalidade quanto você preferir. Além de tudo isso e ter um pouco de diversão. Agora que temos esses dois ficheiros e pronto para rodar o aplicativo Node, nós temos que ter certeza que essas dependências que falamos, estão lá e prontos para ser executado. Então, o que eu tenho feito é abrir um túnel, e eu tenho ido para a mesma pasta que nós colocamos os dois arquivos para provar isso para você. Eu só vou te mostrar lá. Então, você tem o arquivo JavaScript índice, e seu arquivo de pacote JSON. Então Como você costuma executar um aplicativo node é apenas index.js node. E nós vamos tentar executá-lo. E o que vemos aqui é o que diz, não consegue encontrar Módulo Johnny-Five. O que é justo. Temos dito que no arquivo Índice do JavaScript Que não vai ter um módulo node chamado Johnny-Five e ele foi e procurou por ele e não pode encontrar e agora está muito chateado por nós termos mentido para ele. Então, precisamos tê-lo instalado. Para instalá-lo, você pode usar um incrível gerenciador de pacotes chamado MPM. MPM apenas executa seu package.json através do arquivo e instala todas as dependências que você tem listado. Se você não tem MPM em sua máquina apenas fazer uma pesquisa rápida no Google para MPM, e instale-o no seu computador. É um processo muito simples, por isso não vou citá-lo aqui. Então, uma vez que tem o MPM instalado, você digita no espaço instalar do MPM. E, ele vai procurar o arquivo através de nosso pacote JSON. Também tem um bom punhado de avisos, dizendo que não temos alguns daqueles que pudéssemos ter. Descrição eu acho e alguns outros. Então, basicamente, é passado e instalado nossos módulos aqui, então temos todos os módulos Johnny-cinco, e todas essas outras coisas que considera necessário para executar o aplicativo. Então, agora eu vou limpar isto, mas antes de executar o nosso atual. O Aplicativo que vamos precisar para montar Arduino, de modo que seja capaz de receber a comunicação do nosso aplicaivo Arduino. Para obter essa comunicação de trabalho entre nosso Arduino e o computador, só precisa carregar um pequeno código para nosso Arduino. Arduino chama essas partes de esboços de código. Que você carrega e, em seguida, instala no Arduino e, em seguida, o Arduino sabe o que precisa fazer, no nosso caso nós não precisamos do Arduino para fazer muito. A maioria da funcionalidade está no Node, tudo o que precisamos fazer é instalar um código para garantir que ele possa entender como se comunicar com o computador. Em primeiro lugar, antes de instalá-lo, se você não usou o software Arduino antes, verifique que a porta serial está apontando para a porta USB correta. Você pode precisar fazer uma tentativa e errar com isto se você não tiver certeza qual porta USB é a correta. Mas no meu caso, foi este modem USB TTY. Faça uma tentativa de erro para verificar quais vão funcionar se você está tendo problemas com o carregamento do código do seu Arduino. Definitivamente verifique a configuração. Eu também tenho o console criado para ser configurado para qualquer placa Arduino [Inaudível]. Em seguida carregue o sketch. Nós estamos indo para o arquivo, exemplos. E então você vai ter isso também em sua Fermata, queremos que o padrão Fermata, esboce aqui, e isso como se diz aqui é um protocolo genérico para se comunicar com os micro-controladores, do software no computador. Isso é conveniente, porque é exatamente isso o que queremos fazer. Queremos comunicar a partir de suas anotações do software para o nosso micro-controlador, que é o Arduino. Assim, para carregar o nosso Arduino, Certifique-se que você de que ainda esteja conectado ao computador, e clique em upload. Ele irá compilar o sketch. Vai enviá-lo para o Arduino. E, em poucos segundos deve ser concluído. Aí vamos nós. Então, é feito o upload, o que significa agora você que tem o software padrão Fermata ou um esboço do padrão Fermata. No Arduino, o que significa que estamos prontos agora, para passar para o próximo e excitante forma de executar o código Note e se comunicar com o Arduino. Temos a nossa configuração dois arquivos. Nosso índice de JavaScript que tem todo o código para o nosso aplicativo Node. Nós instalamos todas as suas dependências, utilizando MPM. Nós também temos nosso Arduino conectado e executando o padrão Fermata, código do esboço; que significa que agora está pronto para aceitar todos os comandos que virá a ele do nosso computador. Então, tudo o que resta estar no nosso terminal e digite no Node index.js, e quando executamos isto, nós temos o nosso, à espera do dispositivo para conectar mensagem, juntamente com algumas mensagens que vêm do Módulo Johnny-Five. Encontrado nossa porta serial, que é a porta USB que temos o Arduino conectado. O seu um pode ser muito diferente disso. Mas realmente não importa. A coisa mais importante, é que o nosso registo de console que montamos, que diz, placa pronta, apareceu. E se você ligar a sua luz LED de sua face, você vai ver que ele não está piscando. Que maravilha. Isso significa que o código está funcionando. Estamos enviando comandos para o 13º pino, dizendo-lhe para que uma luz LED seja ligado e desligado. E por isso está ligando e desligando, e assim por ligar e desligar. Assim como nós pedimos pra ele. A única questão importante é como você consegue desligar? Como é que você o pára executando constantemente? Esta anotação do aplicativo. Se voltar para o terminal aqui, o que você tem que fazer é apenas pressione Ctrl C e depois Ctrl C novamente e isso vai fechar a placa e ele vai parar de piscar a luz. Se você temporizar corretamente, a luz será apagada. Se o temporizar de forma um pouco diferente, a luz vai ficar acesa. E isso é realmente bom. Não é grande coisa. Se você quiser desligá-lo completamente, você pode simplesmente desconectar o USB do computador, e ele vai desligar toda a força do seu Arduino. Isso não vai prejudicá-lo de forma alguma. É apenas uma maneira rápida de fazê-lo. Pare de fazer o que estava fazendo que você realmente não quer que ele faça. E isso, meus amigos, é como você virar um Diodo emissor de luz ligando e desligando, ligando e desligando em um loop infinito usando Node Johnny-Five e Arduino. Se você seguiu junto, agora você deve ter uma luz LED, inclinando-se para o aplicativo node como correto. Bom trabalho Isto é o básico Há muito mais a fazer a partir daqui. Se você tiver alguma dúvida, ou se há tudo o que eu esqueci, não hesite em entrar em contato comigo. Mais uma vez, meu nome é Patrick Catanzariti. Estou no Twitter como thatpatrickguy e tenho também um site Patcat.me. Então, não hesite em entrar em contato, se você fizer algo muito legal com Arduinos acompanhado deste tutorial, definitivamente entre em contato, nós adoraríamos vê-lo. Obrigado por tomar seu tempo, e eu espero que você tenha aprendido algo novo. Até logo.