Índice:

Caneca conectada: 5 etapas (com imagens)
Caneca conectada: 5 etapas (com imagens)

Vídeo: Caneca conectada: 5 etapas (com imagens)

Vídeo: Caneca conectada: 5 etapas (com imagens)
Vídeo: How I Outline My Books | My 5-Stage Process 2024, Novembro
Anonim
Caneca conectada
Caneca conectada

Às vezes, de manhã, enquanto tomo meu café antes de ir para o escritório, gostaria de ter um vislumbre do que está me esperando na caixa de entrada de e-mail. ou seja, o número e o tom dos e-mails recebidos … se o projeto que acabei de terminar no dia anterior está funcionando ou não e se há comentários positivos ou negativos sobre ele. Por outro lado, não me importo de abrir o aplicativo cliente de e-mail com meu celular e começar a ler e-mails durante o café da manhã.

A partir dessas considerações surge a ideia deste projeto; ele usa uma caneca de café aprimorada com luzes LED que mudam suas cores com base no resultado da análise de sentimento realizada nos últimos e-mails não lidos recebidos em minha conta de e-mail. Basta conectar a caneca e as luzes LED ficarão verdes se os últimos e-mails recebidos tiverem mensagens positivas e vermelho para o oposto.

A análise de sentimento de emails não lidos é executada pelos serviços IBM Watson IoT. Uma placa Arduino MKR1000 é usada para controlar a faixa de LED e para se conectar com os serviços IBM Watson IoT por WiFi usando o protocolo MQTT.

Etapa 1: componentes de hardware

Componentes de hardware
Componentes de hardware
Componentes de hardware
Componentes de hardware

Placa de desenvolvimento de hardware:

Arduino MKR1000

Hardware BOM

  • 3 resistores de 100 ohms
  • 3 transistores NPN TIP122
  • 1 tomada de força
  • 1x RGB LED Light Strip (AglaiaLT-S2)
  • Cabos sobressalentes

A fiação para controlar a faixa de LED com Arduino MKR1000 é baseada neste tutorial:

Etapa 2: Crie uma conta no IBM Watson IoT e registre seu dispositivo

Para criar um aplicativo de nuvem capaz de realizar análise de sentimento de emails não lidos com o IBM Watson IoT, é necessário primeiro assinar uma conta de teste gratuita (https://www.ibm.com/internet-of-things/trial/) A segunda etapa é criar um aplicativo para a plataforma Watson IoT e registrar sua placa Arduino MKR1000; agora este é um procedimento padrão para conectar plataformas de hardware com o IBM Watson IoT e está bem documentado nos guias de início rápido da IBM:

console.ng.bluemix.net/docs/services/IoT/i…

A IBM também fornece modelos padronizados para IoT que aceleram essas etapas limitando os serviços e tempos de execução necessários para iniciar seu aplicativo IoT. IoT for Electronics Starter Boilerplate foi o usado para este projeto.

O guia passo a passo de registro do dispositivo é fornecido aqui:

console.ng.bluemix.net/docs/services/IoT/i…

Anote sua org-id, credencial, device-id e device-type, uma vez concluído o procedimento de registro do dispositivo, pois eles serão necessários para configurar o esboço do Arduino e o aplicativo NodeRED.

Etapa 3: Desenvolva o aplicativo Node-RED para análise de sentimento

Desenvolva o aplicativo Node-RED para análise de sentimento
Desenvolva o aplicativo Node-RED para análise de sentimento

NodeRED é uma ferramenta visual que pode ser usada na plataforma IBM Watson IoT para criar dispositivos de fiação de aplicativos e serviços em nuvem (nodered.org).

O aplicativo NodeRED desenvolvido é muito simples e composto por dois fluxos, um para análise de sentimento dos e-mails e outro para registro do status do Arduino MKR1000 (pontuação de sentimento recebida pelo dispositivo e combinação RGB para o LED em exibição).

O primeiro fluxo se conecta a uma conta de e-mail periodicamente e busca os últimos e-mails não lidos; a configuração depende da sua conta de e-mail. Cada e-mail recebido é enviado para a caixa de análise de sentimento, que retorna uma pontuação (menor ou acima de 0) com base no conteúdo negativo / positivo do texto analisado (ver informações https://github.com/thisandagain/sentiment/blob/mas… para mais detalhes). A pontuação de sentimento é enviada para uma caixa de função simples que calcula a média dos últimos dados recebidos e envia o resultado para o próximo nó. Finalmente, o último bloco envia uma mensagem contendo o valor da pontuação de sentimento para o dispositivo conectado usando o protocolo MQTT; este bloco precisa ser configurado com as credenciais geradas durante o processo de registro do dispositivo.

O segundo fluxo é usado para fins de teste para visualizar o status da placa Arduino; ele conecta um nó IoT de entrada para sua placa Arduino à página da web de início rápido da IBM para visualização de dados (https://quickstart.internetofthings.ibmcloud.com/). O nó IoT de entrada é configurado como acima para receber mensagens de status da placa Arduino usando os protocolos MQTT. As mensagens de status contêm a pontuação de sentimento e a combinação RGB para LED atualmente usado no Arduino.

O aplicativo Node-RED foi exportado para o Clipbord e anexado aqui como um arquivo.txt.

Etapa 4: esboço do Arduino

O esboço do Arduino é baseado na biblioteca cliente MQTT de Gilberto Conti (https://github.com/256dpi/arduino-mqtt), que foi modificada para se conectar ao IBM Watson IoT. O código é composto por três partes:

  • setup (): conectar com WiFi AP e IBM MQTT broker; registrar um retorno de chamada para mensagens recebidas do IBM Watson IoT
  • loop (): define o pino RGB para controlar as luzes LED; enviar ao IBM Watson IoT o status do dispositivo (RGB e pontuação de sentimento)
  • messageReceived (…): chamada de retorno na recepção de mensagens com pontuação de sentimento do aplicativo Watson IoT. A pontuação é mapeada para o valor RGB (negativo: vermelho; positivo: verde).

Configure o código da seguinte forma, com base nas credenciais geradas durante o procedimento de registro do dispositivo (org-id, device-type, device-id):

  • MQTT_MODE = IBM_API_KEY
  • char * client_id = "d: your-org-id: your-device-type: your-device-id";
  • char * user_id = "use-token-auth";
  • char * pwd = "seu-pwd";
  • char * ibm_hostname = "your-org-id.messaging.internetofthings.ibmcloud.com";

O aplicativo assina o tópico iot-2 / cmd / + / fmt / string e o retorno de chamada messageReceived analisa mensagens para sentimento do tipo de comando.

As mensagens de status são publicadas no tópico: iot-2 / evt / status / fmt / json

Nota: lembre-se de atualizar o certificado SSL para MKR1000; siga as instruções aqui: https://github.com/arduino-libraries/WiFi101-Firm… e insira seu ibm_hostname para baixar e instalar no MKR1000 os certificados raiz.

Esboço do Arduino anexado.

Etapa 5: Conecte sua caneca

Conecte sua caneca
Conecte sua caneca
Conecte sua caneca
Conecte sua caneca

Teria sido bom fazer mais integração de eletrônicos e LEDs na caneca, mas para este projeto eu simplesmente coloquei a faixa adesiva de LED ao redor da caneca, como mostrado na imagem.

Então eu conecto a faixa de LED ao circuito da placa de ensaio, ligo o LED e o Arduino MKR1000 e espero receber mensagens com pontuação de sentimento do aplicativo NodeRED. Na imagem, por exemplo, testei enviando para minha conta e-mails contendo textos como "Ótimo trabalho! Seu projeto é maravilhoso!" etc.

Também é possível verificar na página da web pública IBM Quickstart (https://quickstart.internetofthings.ibmcloud.com) o status em tempo real do aplicativo Arduino (código RGB sendo exibido e a pontuação de sentimento recebida); só precisa insira o id do dispositivo..

Agora posso finalmente desfrutar do meu café em uma caneca conectada.

Recomendado: