Índice:
- Etapa 1: componentes de hardware
- Etapa 2: Crie uma conta no IBM Watson IoT e registre seu dispositivo
- Etapa 3: Desenvolva o aplicativo Node-RED para análise de sentimento
- Etapa 4: esboço do Arduino
- Etapa 5: Conecte sua caneca
Vídeo: Caneca conectada: 5 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
À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
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
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
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:
Smart B.A.L (caixa de correio conectada): 4 etapas
Smart B.A.L (caixa de correio conectada): Você está cansado de verificar sempre sua caixa de correio enquanto não há nada dentro dela. Você quer saber se recebe sua correspondência ou um pacote durante uma viagem. Portanto, a caixa de correio conectada é para você. Irá notificá-lo se o carteiro depositou uma correspondência ou um par
Sistema Ambilight para cada entrada conectada à sua TV. WS2812B Arduino UNO Raspberry Pi HDMI (atualizado em 12,2019): 12 etapas (com imagens)
Sistema Ambilight para cada entrada conectada à sua TV. WS2812B Arduino UNO Raspberry Pi HDMI (Atualizado em 12,2019): Sempre quis adicionar o ambilight à minha TV. Parece tão legal! Finalmente consegui e não fiquei desapontado! Já vi muitos vídeos e muitos tutoriais sobre como criar um sistema Ambilight para sua TV, mas nunca encontrei um tutorial completo para o meu exato nee
Tornando uma loja conectada à Internet estéreo: 6 etapas (com imagens)
Tornando uma loja conectada à Internet estéreo: Quando ligo o rádio enquanto dirijo, ligo para a estação de rádio 90.7 KALX da minha faculdade. Ao longo dos anos e em diferentes lugares em que morei, sempre ouvi rádios universitárias. Graças ao poder da Internet, agora posso escutar
Caneca de exibição E-Ink: 8 etapas (com fotos)
Caneca E-Ink Display: Esta é uma daquelas ideias malucas que se alojam espontaneamente no meu cérebro. Pensei: não seria incrível se houvesse uma caneca de café que você pudesse personalizar na hora? Uma que se parecia muito com uma xícara de café comum. Eu fiz uma pesquisa e
Faça uma caneca inteligente por LED e Arduino: 6 etapas
Faça uma Smart Mug por LED e Arduino: Neste projeto, usaremos LEDs RGB, um sensor de ambiente e um Arduino Nano para enviar uma mensagem ou fazer um alarme com luzes coloridas. Ao final deste projeto, você pode: Ler a temperatura ambiente do sensor DS18B20 do Arduino. Controle R