Propaganda

O Blynk [URL quebrado removido] é 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, abordaremos exatamente o que é o Blynk, como ele funciona e forneceremos dois exemplos de projetos curtos sobre diferentes usos do serviço com as placas de desenvolvimento NodeMCU e Raspberry Pi.

Nunca foi tão fácil começar a desenvolver objetos inteligentes usando microcontroladores, e os dispositivos de IoT cresceram rapidamente em popularidade nos últimos anos. Placas de desenvolvimento como Arduino ou Raspberry Pi podem ser usadas para controlar tudo, desde o tomadas de energia Como controlar os soquetes de energia de RF baratos do OpenHABVocê tem alguns soquetes de energia baseados em RF baratos, mas descobriu que nenhum hub doméstico inteligente funciona com eles? Você pode vinculá-los ao seu sistema doméstico inteligente DIY com apenas cerca de US $ 10 em partes. consulte Mais informação

em sua casa para ativado por movimento decorações de Natal Atualize sua guirlanda de Natal com uma matriz LED ativada por movimentoEsta guirlanda de Natal DIY usa uma matriz de Arduino e LED para produzir uma incrível iluminação que impressionará seus amigos e familiares. consulte Mais informação .

Uma área que pode representar um problema para os não iniciados é a codificação e a criação de redes. O Blynk tem como objetivo remover a necessidade de codificação extensiva e facilitar o acesso aos seus dispositivos de qualquer lugar do seu smartphone. É gratuito para amadores e desenvolvedores, embora também esteja disponível para uso comercial por um taxa - as empresas podem usar o Blynk para criar seus próprios aplicativos e sistemas e vendê-los com seus próprios branding.

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

Entre no aplicativo Blynk

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

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. Também existem widgets específicos para componentes, com controles estilizados para LEDS, monitores LCD e até vídeo 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 o número de widgets que você pode usar ao mesmo tempo, oferecendo 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 ficar sem suco bastante rapidamente.

widgets e botão blynk

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

O Blynk também possui a capacidade de atribuir instruções aos 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 email ou digitalizado diretamente e usado por qualquer pessoa que também tenha o aplicativo Blynk. Quem você compartilha não pode fazer alterações no projeto, tornando-o uma maneira rápida e conveniente de compartilhar o controle de seus dispositivos. Vale ressaltar, no entanto, 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 acendam e desliguem as luzes!

Achei a criação de um aplicativo muito rápido e intuitivo. Uma vez 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 mais tarde, 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, responsivo e gratuito. Conectar-se a um dispositivo Wi-Fi é tão fácil quanto copiar o código de autorização gerado no esboço do Arduino e fornecer os detalhes do Wi-Fi. Para o Raspberry Pi, o Blynk fornece um script de teste que você pode executar com o seu código de autorização para o mesmo efeito. Posteriormente neste artigo, criaremos nosso próprio script usando a biblioteca Blynk para conectar-se ao serviço.

A segunda opção é hospede seu próprio Servidor Blynk. O Blynk fornece um servidor Java de código aberto baseado em Netty que pode ser executado no seu computador ou até 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 nos concentremos no uso do servidor em nuvem Blynk forneceu.

site da blynk

The Blynk Library

O terceiro e último elemento de Blynk é o Biblioteca Blynk. Essa biblioteca trabalha com uma enorme lista 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 no seu smartphone e crie uma conta. Certifique-se de usar um endereço de e-mail que você possa acessar, pois é para onde seus tokens de autorização serão enviados. Agora crie um projeto, selecionando qual placa você usará e como se conectará a ela. Os dois exemplos aqui se conectam via Wi-Fi, embora também sejam possíveis conexões via Bluetooth, Ethernet e até GSM.

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

Em seguida, instale as bibliotecas Blynk no site da Blynk. Para o Arduino, instale a biblioteca, copiando os arquivos para o seu Arduino> bibliotecas pasta. Se você é novo no Arduino, aqui está uma guia para você começar Introdução ao Arduino: Guia para iniciantesO Arduino é uma plataforma de prototipagem eletrônica de código aberto baseada em hardware e software flexível e fácil de usar. Destina-se a artistas, designers, entusiastas e qualquer pessoa interessada em criar objetos ou ambientes interativos. consulte Mais informação .

Para o Raspberry Pi, você precisa primeiro instalar o Node.js. Há um guia para o Node.js instalado no Este artigo Como fazer uma luz Wi-Fi controlada por Siri DIYNeste guia, você aprenderá como criar uma luz controlável por Wi-Fi e controlá-la com a Siri. consulte Mais informação você precisa.

Primeiro, verifique se o seu Pi está atualizado e se o pacote essencial para a instalação está instalado.

sudo apt-get update. sudo apt-get upgrade. sudo apt-get install essencial para compilação. 

Em seguida, instale o Gerenciador de pacotes de nós, a Ligado desligado biblioteca e o Blynk biblioteca digitando isso 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 ficar assim:

script de teste blynk pi blynk

Se houver algum erro, verifique se o Pi está atualizado e se você possui 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 configurada, fica completamente independente. Desde que a placa tenha acesso à sua conexão Wi-Fi, você poderá acessá-la de qualquer lugar usando seu smartphone.

Para começar, configure um circuito simples em uma tábua de pão. Pino de conexão D0 na perna positiva de um LED e de volta ao pino GND através de um resistor de 220 Ohm.

nodemcu fritzing

Abra seu projeto NodeMCU no aplicativo Blynk. No lado direito, selecione o Botão widget do menu. Selecione seu botão no seu projeto para abrir o menu de propriedades. Aqui você pode nomear e escolher qual pino na placa NodeMCU deve afetar. Selecione pino D0 na lista de saída e alterne o modo para transformá-lo em um interruptor de ligar e desligar, em vez de um interruptor momentâneo.

Pressione para trás (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 e porta NodeMCU no menu Ferramentas. Se você não vê sua placa neste menu, pode ser necessário instalar as bibliotecas ESP8266 (este guia deve ajudar Conheça o assassino do Arduino: ESP8266E se eu disser a você que existe uma placa de desenvolvimento compatível com Arduino com Wi-Fi embutido por menos de US $ 10? Bem, existe. consulte Mais informação ).

Agora abra o script autônomo do ESP8266 que o Blynk forneceu em sua biblioteca, navegando para Arquivo> Exemplos> Blynk> Boards_WiFi> ESP8266_Standalone. Substitua o espaço reservado para o token de autorização pelo que você recebeu por email e insira seus detalhes de Wi-Fi.

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

Salve o esboço com um novo nome e faça o upload para o 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.

blynk nodemcu terminado

Também é importante notar que, como ele 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 dados móveis Acesso.

Blynk no Raspberry Pi

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

O Blynk trabalha usando o Node.js, portanto, o código que escreveremos hoje estará em Javascript. Se você é novo no idioma, essa deve ser uma ótima cartilha para começar Comece a codificar JavaScript agora mesmo com esses 5 excelentes recursos gratuitos consulte Mais informação .

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

Você precisará de:

  • Interruptor do ímã da porta (também conhecido como interruptor reed)
  • 1x 1k? resistor
  • 1x 10k? resistor
  • 1x 220? resistor
  • 1x LED
  • Fios de tábua de pão e conexão

Configure sua tábua de pão como esta:

pi fritzing

Observe que a biblioteca de Blynk usa os números GPIO dos pinos do Pi, portanto, nós os usaremos ao longo deste projeto. Conecte os pinos de 5V e GND aos trilhos de força na placa de ensaio. Conecte o pino GPIO 22 do Raspberry Pi ao ânodo do LED e conecte o cátodo ao trilho de terra através do 220? resistor. Conecte o pino GPIO 17 a um lado do 1k? resistor e conecte o 10? resistor para o outro lado e o lado de 5V do trilho de força. Por fim, conecte sua chave reed ao lado GND do trilho de poder de um lado e na linha onde está o 1k? e 10k? resistores se encontram por outro. Essa configuração do resistor de pull-up fará com que a tensão no pino 17 fique alta quando a chave for aberta.

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

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

Vale ressaltar que você não precisa realmente inserir um endereço de email no widget de email, pois o adicionaremos posteriormente ao código, embora o widget deva estar presente para que ele funcione.

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

valor rotulado do projeto

Agora crie um novo script chamado blynkdoor.js. O código completo está disponível totalmente anotado aqui.

sudo nano blynkdoor.js. 

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

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

Também precisamos importar a biblioteca OnOff e declarar variáveis ​​que configuram nossa chave de reed 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'), // registra as alterações 'both' quando a chave é aberta e fechada. led = novo Gpio (22, 'fora'); var virtualPin = 0; 

Agora vamos usar o ver função da biblioteca OnOff para observar as alterações em nosso interruptor de palheta. O interruptor da porta está no 0 ou 1, e sempre que esse valor mudar, escrevemos essa alteração no pino do LED.

reed.watch (função (err, valor) {led.writeSync (valor); 

Podemos usar o valor para também enviar dados para o aplicativo Blynk. Se a porta estiver fechada, queremos poder ver isso no seu widget Valor rotulado. Se a porta se abrir, queremos receber uma notificação e um e-mail informando. Fazemos isso com uma declaração if e usando virtualWrite, notificare o email funções da biblioteca Blynk. A documentação completa para Blynk pode ser encontrada aqui.

 if (valor == 0) {blynk.virtualWrite (virtualPin, "Closed"); console.log ('porta fechada'); }; if (value == 1) {blynk.notify ("A porta acabou de abrir!"); blynk.email ("[email protected]", "Porta da frente", "A porta da frente acabou de abrir."); blynk.virtualWrite (virtualPin, "Open"); console.log ('porta aberta'); }; }); 

Agora, sempre que o comutador reed registra uma alteração de valor, os dados são enviados para o nosso pino virtual e, em o caso da porta se abrindo para o widget de notificação no aplicativo, além de gravar no console. Observe que as chaves finais são de onde começamos o ver função acima.

Finalmente, precisamos redefinir o pino quando o programa terminar. É 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ó.

nó sudo blynkdoor.js. 

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

pi trabalhando gif

Vale ressaltar que o aplicativo Blynk deve estar em execução no telefone para receber as notificações por push, embora os emails funcionem independentemente de o aplicativo estar em execução ou não.

No curto período de tempo gasto até agora com o Blynk, parece um serviço muito fácil de usar. No mais simples, permite que pessoas sem conhecimento de codificação criem 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 acionadores de eventos múltiplos com o pressionar de um botão no aplicativo.

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

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

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

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