Arquivos para IoT

When we are talking about physical variables, as temperature, pressure, etc., as a Data Scientist, usually we start working from a dataset that was created somewhere else. But have you thought about how to capture those data yourself?

On this tutorial we will get data from several different sensors, sending them to an IoT service, ThingSpeak.com and to a mobile App (Thingsview), where we can log and play with data. We will explore several different communication ways of connecting sensors to a Raspberry Pi, as:

  • DHT22 – Temperature & Humidity Sensor – Digital Comm
  • DS18B20 – Temperature Sensor – 1-Wire
  • BMP180 – Temperature & Pressure Sensor – I2C
  • UV – Ultra Violet Sensor – Analog Sensor via A/D and SPI bus

In short, all data will be captured, saved locally on a CSV file and send to an IoT service (ThingSpeak.com), via MQTT protocol, as you can see on below block diagram:

To complete a real Weather Station, on the final step, you will also learn how to measure wind speed and direction, following Mauricio Pinto‘s tutorial.
Continue lendo…

Anúncios

Com a ajuda do protocolo MQTT, enviaremos dados capturados de sensores, à um serviço de IoT, o ThingSpeak.com e a um aplicativo móvel, o Thingsview.

1. Introdução

Em meu post anterior, Programando MicroPython  no ESP8266 , aprendemos como instalar e executar MicroPython em um dispositivo ESP (tanto o ESP8266 quanto o ESP32). Utilizando o Jupyter Notebook como ambiente de desenvolvimento, também aprendemos a ler a partir de sensores (Temperatura, Umidade e Luminosidade), utilizando vários protocolos de comunicação e métodos como: Analógico, Digital, 1-Wire e I2C, este último para exibir os dados capturados em um display do tipo OLED.

Neste novo tutorial, utilizando-se do protocolo MQTT,  enviaremos os dados capturados, à um serviço the IoT, o ThingSpeak.com e para um aplicativo móvel, o Thingsview. 

Aqui, uma visão geral reavaliando nosso projeto:

Continue lendo…

Nosso objetivo neste tutorial será basicamente coletar informações de uma unidade local, enviando-as à internet. Um usuário em qualquer parte do planeta, olhando estas informações, tomará decisões enviando comandos remotos à atuadores, os quais também estarão nesta unidade local. Qualquer sensor ou atuador poderia ser utilizado.

IoT

Este tutorial foi escrito a partir do que desenvolvi previamente envolvendo o ArduFarmBot e de meu projeto final apresentado para o curso: “Objetos inteligentes conectados”, promovido pelo CodeIOT, um projeto da Samsung em parceria com o Laboratório de Sistemas Integráveis Tecnológico.

A maioria de meu trabalho no campo do IoT utiliza o NodeMCU (ESP826612-E) e mais recentemente, o ESP32. Mas, acredito importante não esquecer de meus primeiros passos, onde começei a aprender IoT, usando-se de um simples Arduino UNO e do velho e bom ESP8266-01.

Decidi então, retornar a essa dupla, agora com um pouquinho mais de experiência e explorar novamente esses ótimos dispositivos, conectando-os à nuvem, usando-se do  ThingSpeak.com como nosso “Web Service”.

Também exploraremos como controlar coisas remotamente desde qualquer lugar no mundo, utilizando-se de um aplicativo Android desenvolvido a partir do MIT AppInventor.

Project Concept

O “Centro do nosso projeto IoT” será o ThingSpeak.com. A unidade local (UNO / ESP-01) será a encarregada de capturar tanto os dados dos sensores quanto o status dos atuadores, enviando-os à Internet, ou seja, “escrevendo” em um canal específico do para o status da unidade local no ThingSpeak.com. A unidade local também receberá dados da internet, “lendo” canais específicos para os atuadores no ThingSpeak.com.

Um aplicativo Android também estará “lendo” esses dados de status guardados no ThingSpeak.com (Status Channel), exibindo-os para o usuário. Da mesma forma, o usuário, com base nesta informação de status, poderá enviar comandos para os atuadores, escrevendo commandos nos canais específicos para os atuadores no ThingSpeak.com (veja o diagrama de blocos acima para entender melhor o fluxo de dados).

O diagrama de blocos mostrado na próxima etapa nos dará uma visão geral do projeto final, onde como exemplo controlaremos a irrigação e o calor de uma plantação.

Continue lendo…

Neste tutorial, exploraremos  o ESP32, o mais novo dispositivo para uso no campo do IoT. Esta placa, desenvolvida pela Espressif, deverá ser a sucessora do ESP8266, devido ao seu baixo preço e excelentes recursos.

Mas é importante alertar que NEM TODAS as bibliotecas ou funções com que você está acostumado a trabalhar com ESP8266 e / ou Arduino estão funcionando nesta nova placa. Provavelmente isso ocorrerá em breve, mas neste momento ainda não estão todas. Confire regularmente o fórum do ESP para saber das atualizações: ESP 32 Forum WebPage.

Aqui, aprenderemos a como programar o ESP32 utilizando-se do Arduino IDE, explorando suas funções e bibliotecas mais comuns, apontar algumas das diferenças importantes com o ESP8266, bem como os novos recursos introduzidos neste grande chip.

Em suma, exploraremos:

  • Saída digital: piscar um LED
  • Entrada digital: leitura de um sensor de toque
  • Entrada analógica: leitura de uma tensão variável usando-se de um potenciômetro
  • Saída analógica: controlando o brilho de um LED
  • Saída Analógica: Controlando a posição de um Servo
  • Leitura de dados de temperatura / umidade utilizando-se de um sensor digital
  • Conectando-se à internet para obter o horário local
  • Receber dados de uma página web local simples, ligando / desligando um LED
  • Transmitir dados para uma simples webPage local
  • Incluir um OLED para apresentar localmente os dados capturados pelo sensor DHT (Temperatura e Umidade), bem como a hora local.

 

Continue lendo…

IoT Made Simple: Monitoring Multiple Sensors

Alguns meses atrás, publiquei aqui um tutorial sobre o monitoramento de temperatura usando o DS18B20, um sensor digital que se comunica através de um barramento de um único fio (bus do tipo “1-wire”), sendo os dados enviados pela à internet com a ajuda de um módulo NodeMCU e o aplicativo Blynk:

O IoT feito simples: Monitorando a temperatura desde qualquer lugar

Mas o que passamos por cima naquele tutorial, foi uma das grandes vantagens desse tipo de sensor que é a possibilidade de coletar dados múltiplos, provenientes de vários sensores conectados ao mesmo barramento de 1 fio (“1-wire”). E agora é hora de também explorá-lo.

Block Diagram.png

Vamos expandir o que foi desenvolvido no último tutorial, monitorando agora dois sensores DS18B20, configurados um em Celsius e outro em Fahrenheit (isto somente para explorar a biblioteca, poderiam ser os dois configurados para Celsius). Os dados serão enviados para uma aplicação Blynk, conforme mostra o diagrama de blocos acima.

Continue lendo…

“Computer, Fire All Weapons!”

30 30-03:00 agosto 30-03:00 2017 — 2 Comentários

Cover3

Este post é na verdade uma continuação de meu último tutorial: Alexa – NodeMCU: Emulando um dispositivo WeMo, onde apresentamos a grande biblioteca fauxmoESP, a qual simplifica muito o código necessário para desenvolver projetos de automação envolvendo a Alexa e a emulação de dispositivos inteligentes utilizando o NodeMCU.

Neste novo tutorial, partiremos desse conceito (emulação de dispositivos WeMo), mas em vez de usar relés para ligar / desligar aparelhos elétricos, “ativaremos” funções mais complexas, onde múltiplos dispositivos estarão envolvidos.

Somente por diversão, simularemos o disparo de algumas armas encontradas na Star Trek Enterprise, tais como Photon Torpedos e Phasers!

O NodeMCU controlará um LED RGB, que será o nosso “Torpedo fotônico” e um LED vermelho nosso “Phaser”. Para dar um efeito mais realista, também incluiremos um Buzzer que gerará algum som junto com o efeito visual.

O diagrama de blocos abaixo mostra o projeto:
No vídeo, voce terá uma idéia de como ficará o projeto final:

Continue lendo…

Neste tutorial, exploraremos como controlar um servo através da Internet. Para isso, lançaremos mão de uma importante dupla de dispositivos no mundo do IoT:

o NodeMCU ESP12-E e o Blynk.

Começaremos por aprender como conectar um servo com o NodeMCU, como controlá-lo localmente com um potenciômetro, como ver sua posição em um display e finalmente como controlá-lo através da internet usando um smartphone.

O diagrama de blocos abaixo nos dá uma visão geral do projeto final.

Servo Control Block Diagram

 

 

E o vídeo, mostrará o projeto funcionando:

Continue lendo…

Robô controlado por voz via WiFi

4 04-03:00 abril 04-03:00 2017 — 3 Comentários

Em meu último tutorial: Controle ativado por voz com Android e NodeMCU, exploramos como desenvolver nossa própria App em um smartphone Android para controlar localmente (usando botões ou voz) dispositivos domésticos inteligentes. Que tal agora, em vez de dispositivos domésticos controlarmos motores? E melhor ainda, que tal ter esses motores movendo um robô? Pois isso, é exatamente o que desenvolveremos aqui, um robô controlado por voz via WiFi e utilizando como microcontrolador nosso velho amigo, o NodeMCU!

O diagrama de blocos abaixo nos dá uma geral sobre o projeto que desenvolveremos aqui:

WiFi_Robot_Block_Diagram

e o filme nos mostra como ficará o projeto:

Por favor, considere que um de meus motores estava com muito pouco torque. Apesar de o resultado parecer estranho, o projeto funciona a contento. Assim que mudar o motor, atualizarei o vídeo. Obrigado.

Continue lendo…

Controle ativado por voz com Android e NodeMCU

29 29-03:00 março 29-03:00 2017 — 9 Comentários

Em meu último tutorial: Quando o IoT encontra a Inteligência Artificial: Automação residencial com Alexa e NodeMCU exploramos como equipamentos ativados por voz como o Amazon Echo-Dot utilizando-se de um serviço da web (como o “Alexa”) podem controlar “dispositivos inteligentes” em nossas casas. Neste novo tutorial faremos o mesmo,  porém  em vez de usar o Alexa desenvolveremos nossa própria App em um smartphone Android controlando, tanto com botões quanto por voz, nossos dispositivos domésticos.

O diagrama de blocos nos dá uma geral do que pretendemos desenvolver:

Block Diagram.jpg

e o filme nos mostra como ficará o projeto final:

Continue lendo…

Continuemos nossa exploração pelo mundo do IoT, nas asas do NodeMCU! Neste tutorial, desenvolveremos uma estação meteorológica doméstica, onde se exibirá informações tais como temperatura e condições climáticas, tanto para o dia corrente quanto para os próximos 3 dias. Nossa estação também exibirá informações internas da casa, como temperatura e umidade relativa do ar.

O diagrama em blocos abaixo, nos dá uma visão geral sobre o projeto:

No vídeo abaixo, você pode ver como ficará o projeto final:

Continue lendo…