Introdução ao Blynk: dispositivos DIY IoT simples

Introdução ao Blynk: dispositivos DIY IoT simples

Blynk [Broken URL Removed] é um serviço da Internet das Coisas (IoT) projetado para tornar o controle remoto e a leitura de dados do sensor de seus dispositivos o mais rápido e fácil possível. Neste artigo, cobriremos exatamente o que é Blynk, como funciona e forneceremos dois pequenos exemplos de projetos em diferentes usos do serviço com placas de desenvolvimento NodeMCU e Raspberry Pi.





Nunca foi tão fácil começar a desenvolver objetos inteligentes usando microcontroladores, e a popularidade dos dispositivos IoT cresceu rapidamente nos últimos anos. Placas de desenvolvimento como Arduino ou Raspberry Pi podem ser usadas para controlar tudo, desde as tomadas de energia em sua casa até decorações de Natal ativadas por movimento.





Uma área que pode representar um problema para os não iniciados é a codificação e a rede. O objetivo do Blynk é eliminar a necessidade de codificação extensiva e facilitar o acesso aos seus dispositivos de qualquer lugar no smartphone. É gratuito para entusiastas e desenvolvedores, embora também esteja disponível para uso comercial por uma taxa - as empresas podem usar o Blynk para criar seus próprios aplicativos e sistemas e, em seguida, vendê-los com sua própria marca.





Blynk usa seu próprio servidor e biblioteca para fazer o serviço funcionar, mas é o aplicativo Blynk que parece ser o seu principal ponto forte.

Entre no aplicativo Blynk

O aplicativo Blynk está disponível gratuitamente para Android e iOS. É o ponto de partida para seus projetos, apresentando um sistema simples de arrastar e soltar para construir controles personalizados para sua configuração de IoT. O fluxo de trabalho é rápido: ao iniciar um novo projeto, você é solicitado a escolher sua placa de desenvolvimento em uma lista extensa e também seu método de conexão. O aplicativo então envia um token de autorização por e-mail para se conectar ao seu dispositivo através do servidor Blynk.



eu não sei o que pesquisar

Os elementos de controle são chamados Widgets : vários tipos de métodos de entrada e exibições de saída, incluindo botões, controles deslizantes, um joystick, gráficos e feedback de texto. Existem também widgets específicos de componentes, com controles estilizados para LEDS, monitores LCD e até mesmo vídeo transmitido ao vivo. Também são notáveis ​​os widgets que adicionam recursos, como postagem automática no Twitter e notificações personalizadas.

Embora o aplicativo seja gratuito, ele limita quantos widgets você pode usar de uma vez, atribuindo a todos um custo de 'Energia'. O aplicativo oferece um saldo de 2.000 para jogar, com a opção de comprar mais, se necessário.





Descobri que o saldo inicial fornecido era mais do que suficiente para os projetos de exemplo listados aqui, embora se sua configuração for mais complicada, você pode acabar ficando sem energia rapidamente.

Cada widget possui um menu de edição que permite alterar o nome e a cor. Em seguida, você escolhe qual pino afetará (seja um pino em sua placa ou um dos pinos virtuais de Blynk) junto com a faixa de valores a enviar. Para exibições de saída, como gráficos e caixas de texto, você também pode escolher a frequência com que deseja que seja atualizado, potencialmente economizando uma largura de banda preciosa.





Blynk também possui a capacidade de atribuir instruções a pinos 'virtuais', que são conexões configuradas pelo usuário entre o aplicativo e o hardware. Um único botão no aplicativo pode, portanto, ser usado para acionar muitos eventos diferentes no dispositivo. Abordaremos como usá-los posteriormente neste artigo.

O aplicativo oferece a opção de compartilhar seu projeto com outras pessoas. É gerado um código QR que pode ser enviado por e-mail ou digitalizado diretamente e usado por qualquer pessoa que também tenha o aplicativo Blynk. As pessoas com quem você compartilha não podem fazer alterações no projeto, tornando-o uma maneira rápida e conveniente de compartilhar o controle de seus dispositivos. É importante notar, entretanto, que seu projeto no aplicativo deve estar em execução para que outras pessoas tenham acesso ao hardware.

Você também pode compartilhar o projeto sem permitir o acesso ao seu hardware, o que é uma ótima maneira de ensinar as pessoas a usar o aplicativo sem permitir que elas acendam e apaguem as luzes!

Achei a criação de um aplicativo muito rápida e intuitiva. Depois de criado, você pode começar a usá-lo imediatamente pressionando o símbolo de reprodução no canto superior direito. Se precisar fazer alterações posteriormente, basta pressionar o mesmo botão para voltar ao modo de edição.

O Servidor Blynk

Depois de criar um aplicativo para controlar seu dispositivo, você tem duas opções de como se comunicar com ele.

O servidor em nuvem Blynk é rápido, ágil e de uso gratuito. Conectar-se a um dispositivo Wi-Fi é tão fácil quanto copiar seu código de autorização gerado em seu esboço do Arduino e fornecer seus detalhes de Wi-Fi. Para Raspberry Pi, Blynk fornece um script de teste que você pode executar com seu código de autorização para o mesmo efeito. Posteriormente neste artigo, criaremos nosso próprio script usando a biblioteca Blynk para se conectar ao serviço.

A segunda opção é hospede o seu próprio Servidor Blynk. Blynk fornece um servidor Java baseado em Netty de código aberto que pode ser executado a partir do seu computador, ou mesmo um Raspberry Pi. Isso tem vários benefícios para alguns usuários em termos de funcionalidade e segurança, embora para nossos exemplos aqui vamos nos concentrar no uso do servidor de nuvem Blynk fornecido.

Biblioteca Blynk

O terceiro e último elemento de Blynk é o Biblioteca Blynk . Esta biblioteca trabalha com uma lista enorme de placas de desenvolvimento para permitir a comunicação entre o aplicativo e seu hardware.

Na sua forma mais simples, tudo o que é necessário é instalar a biblioteca e carregar um dos esboços de exemplo bem anotados fornecidos.

Blynk: Configuração inicial

Instale o aplicativo Blynk em seu smartphone e crie uma conta. Certifique-se de usar um endereço de e-mail que você possa realmente acessar, pois é para onde seus tokens de autorização serão enviados. Agora crie um projeto, selecionando qual placa você irá usar e como irá se conectar a ela. Ambos os exemplos aqui se conectam via Wi-Fi, embora conexões via Bluetooth, Ethernet e até GSM também sejam possíveis.

Crie seu projeto. Isso enviará automaticamente um token de autorização. Se você não receber, você pode reenviá-lo selecionando o ícone de configurações do projeto (a pequena porca), selecionando seu dispositivo e selecionando 'E-mail'.

Em seguida, instale as bibliotecas Blynk do site da Blynk. Para Arduino, instale a biblioteca copiando os arquivos em seu Arduino> bibliotecas pasta. Se você é novo no Arduino, aqui está um guia para você começar .

Para o Raspberry Pi, você precisa se certificar de que o Node.js está instalado primeiro. Há um guia para Node.js instalado neste artigo, caso você precise.

Em primeiro lugar, certifique-se de que seu Pi está atualizado e tem o pacote essencial para construção instalado.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential

Em seguida, instale o Node Package Manager , a Ligado desligado biblioteca, e o Piscar biblioteca digitando-o na janela do Terminal.

sudo npm install -g npm
sudo npm install -g onoff
sudo npm install -g blynk-library

Você pode verificar se tudo funcionou executando o script de teste Blynk:

blynk.js [YourAuthorizationTokenHere]

Desde que tudo esteja funcionando, deve ser assim:

Se você receber algum erro, certifique-se de que seu Pi esteja atualizado e de que você tenha a versão mais recente do Node.js instalada, antes de reinstalar as bibliotecas NPM, OnOff e Blynk.

Configuração rápida com NodeMCU

Este primeiro exemplo mostra como é rápido configurar sistemas simples usando o Blynk. Não requer codificação e, uma vez configurado, é totalmente autônomo. Contanto que a placa tenha acesso à sua conexão Wi-Fi, você pode acessá-la de qualquer lugar usando seu smartphone.

Para começar, configure um circuito simples em uma placa de ensaio. Pino de conexão D0 para a perna positiva de um LED e de volta para o pino GND através de um resistor de 220 Ohm.

Abra seu projeto NodeMCU no aplicativo Blynk. No lado direito, selecione o Botão widget no menu. Selecione o botão em seu projeto para abrir o menu de propriedades. Aqui você pode nomeá-lo e escolher qual pino da placa NodeMCU ele deve afetar. Selecione pino D0 da lista de saída e modo de alternância para torná-lo um botão liga e desliga, em vez de um botão de pressão momentâneo.

Pressione voltar (todas as alterações são salvas automaticamente) e pressione o ícone de reprodução no canto superior direito para iniciar seu aplicativo. Você pode pressionar esse mesmo botão a qualquer momento para voltar a editar seu projeto.

Em seguida, abra o IDE do Arduino e escolha sua placa NodeMCU e porta no menu de ferramentas. Se você não vir sua placa neste menu, pode ser necessário instalar as bibliotecas ESP8266 (este guia deve ajudar).

Agora abra o script autônomo ESP8266 fornecido por Blynk em sua biblioteca, navegando até Arquivo> Exemplos> Blynk> Boards_WiFi> ESP8266_Standalone . Substitua o placeholder do token de autorização pelo que você recebeu por e-mail e insira os detalhes do seu Wi-Fi.

char auth[] = 'YourAuthToken';
char ssid[] = 'YourNetworkName';
char pass[] = 'YourPassword';

Salve o esboço com um novo nome e carregue-o no seu quadro. Agora, quando você pressiona o botão no aplicativo, o LED deve ligar e desligar. Se não estiver funcionando, verifique se você pressionou o ícone de reprodução no aplicativo.

Em casos simples como esses, o Blynk é incrivelmente rápido de configurar.

Também é importante notar que como este usa o servidor Blynk, você pode controlar sua placa de qualquer lugar, desde que a placa tenha acesso à sua conexão Wi-Fi doméstica e seu smartphone tenha acesso a dados móveis.

Blynk no Raspberry Pi

Você pode usar o Blynk exatamente da mesma maneira que no exemplo acima no Raspberry Pi usando o script de teste Blynk, mas existem algumas funcionalidades mais profundas que os pinos virtuais de Blynk fornecem, que examinaremos agora.

Blynk trabalha usando Node.js, então o código que escreveremos hoje será em Javascript. Se você é um novato no idioma, este deve ser um ótimo guia para começar.

Usaremos a biblioteca Blynk para criar um aplicativo que informa se um sensor de porta está aberto ou fechado e envia um e-mail e uma notificação push para o seu celular quando a porta se abre.

Você vai precisar de:

  • Interruptor magnético da porta (também conhecido como interruptor reed)
  • 1x 1k? resistor
  • 1x 10k? resistor
  • 1x 220? resistor
  • 1x LED
  • Placa de ensaio e fios de conexão

Configure sua placa de ensaio desta forma:

como comparar dois arquivos no notepad ++

Observe que a biblioteca de Blynk usa os números GPIO dos pinos do Pi, portanto, os usaremos ao longo deste projeto. Conecte os pinos 5V e GND aos trilhos de alimentação na placa de ensaio. Conecte o pino 22 do GPIO no Raspberry Pi ao ânodo do LED e conecte o cátodo ao trilho de aterramento através do 220? resistor. Conecte o pino 17 do GPIO a um lado do 1k? resistor e conecte o 10? resistor para o outro lado e o lado de 5 V do barramento de alimentação. Finalmente, conecte sua chave de palheta ao lado GND do barramento de alimentação de um lado e na linha onde o 1k? e 10k? resistores se encontram no outro. Esta configuração do resistor pull-up fará com que a tensão no pino 17 seja alta quando a chave abrir.

Crie um novo projeto no aplicativo Blynk e selecione sua placa Raspberry Pi. No menu do widget, selecione um valor rotulado, e-mail e um widget de notificação

Selecione o valor rotulado, nomeie-o e escolha pino virtual V0 como é o pino de entrada. Você também pode alterar a forma como as informações são exibidas. Neste caso, adicione 'A porta está' antes de / pin / na guia Etiqueta. Podemos deixar o valor de Frequência de leitura em sua configuração padrão, embora você possa alterar isso para enviar dados para seu aplicativo em uma taxa diferente.

É importante notar que você não precisa realmente inserir um endereço de e-mail no widget de e-mail, pois iremos adicioná-lo ao código mais tarde, embora o widget deva estar presente para que funcione.

Quando estiver satisfeito com a aparência do seu aplicativo, pressione o botão Play no canto superior direito.

Agora crie um novo script chamado blynkdoor.js . O código completo está disponível com anotações completas aqui .

sudo nano blynkdoor.js

Precisamos começar importando a biblioteca Blynk, adicionando nossa chave de autorização e criando uma instância de Blynk para usar em nosso script.

var blynklib = require('/usr/local/lib/node_modules/blynk-library');
var AUTH ='PasteAuthorizationCodeHere'
var blynk = new blynklib.Blynk(AUTH);

Também precisamos importar a biblioteca OnOff e declarar as variáveis ​​que configuram nosso reed switch e LED. Também criaremos uma variável para o pino virtual que configuramos no aplicativo Blynk.

var Gpio = require('onoff').Gpio,
reed = new Gpio(17, 'in', 'both'), //register changes 'both' when switch is opened and closed
led = new Gpio(22, 'out');
var virtualPin = 0;

Agora vamos usar o Assistir função da biblioteca OnOff para observar as mudanças em nosso interruptor de palheta. O interruptor da porta está em 0 ou 1 , e sempre que esse valor muda, nós gravamos essa mudança no pino do LED.

reed.watch(function(err,value){
led.writeSync(value);

Também podemos usar o valor para enviar dados para o aplicativo Blynk. Se a porta estiver fechada, queremos ser capazes de ver isso em seu widget de valor etiquetado. Se a porta se abrir, queremos receber uma notificação e um e-mail informando-nos. Fazemos isso com uma instrução if, e usando virtualWrite , avisar , e o email funções da biblioteca Blynk. A documentação completa para Blynk pode ser encontrada aqui .

if(value==0){
blynk.virtualWrite(virtualPin,'Closed');
console.log('Door Closed');
};
if(value==1){
blynk.notify('The door just opened!');
blynk.email('email@address.here', 'Front Door', 'The front door just opened.');
blynk.virtualWrite(virtualPin,'Open');
console.log('Door Open');
};
});

Agora, sempre que a chave de palheta registra uma mudança de valor, os dados são enviados para o nosso pin virtual, e no caso da porta se abrir para o widget de notificação no aplicativo, bem como a escrita para o console. Observe que as chaves finais são de onde começamos o Assistir função acima.

Finalmente, precisamos redefinir o pino quando o programa terminar. Este é o mesmo que o GPIO.cleanup () você provavelmente já está familiarizado.

process.on('SIGINT', function () {
led.unexport();
reed.unexport();
});

Agora salve seu código e saia. Execute seu script usando o nó.

sudo node blynkdoor.js

Agora, quando você move o ímã para longe do sensor de palheta, deve receber uma notificação informando que a porta foi aberta e o visor rotulado deve mudar. Feche a chave novamente e você verá que a exibição rotulada muda novamente.

É importante notar que o aplicativo Blynk deve estar em execução no seu telefone para receber as notificações push, embora os e-mails funcionem estando o aplicativo em execução ou não.

No curto tempo gasto até agora com Blynk, parece um serviço muito fácil de usar. Em sua forma mais simples, permite que pessoas sem conhecimento de codificação construam sistemas de automação residencial DIY facilmente. Com um pouco de conhecimento de codificação extra, ele se torna ainda mais poderoso, permitindo sistemas muito mais complexos e vários gatilhos de evento ao pressionar um único botão no aplicativo.

Este projeto foi uma introdução básica ao Blynk, embora o que cobrimos aqui pudesse ser facilmente modificado para quase qualquer projeto de automação residencial ou microcontrolador.

Você já usou o Blynk? Você tem um sistema extremamente complexo usando o serviço que gostaria de compartilhar conosco? Deixe-nos saber nos comentários abaixo!

Crédito da imagem: Giuseppe Caccavale via YouTube.com

Compartilhado Compartilhado Tweet O email Canon vs. Nikon: Qual marca de câmera é melhor?

Canon e Nikon são os dois maiores nomes da indústria de câmeras. Mas qual marca oferece a melhor linha de câmeras e lentes?

Leia a seguir
Tópicos relacionados
  • faça você mesmo
  • Lar inteligente
  • Arduino
  • Raspberry Pi
  • Automação residencial
  • Internet das Coisas
  • Eletrônicos
Sobre o autor Ian Buckley(216 artigos publicados)

Ian Buckley é jornalista freelance, músico, performer e produtor de vídeo que mora em Berlim, Alemanha. Quando não está escrevendo ou no palco, ele está mexendo em eletrônicos ou códigos DIY na esperança de se tornar um cientista maluco.

Mais de Ian Buckley

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever