Arquivos para Tecnologia

Aprenda a instalar o Jupyter Notebook em um Raspberry Pi e, diretamente ler e controlar sensores e atuadores.

Todos sabemos que o Jupyter Notebook é uma ferramenta fantástica, ou melhor, um aplicativo Web de código aberto que permite criar e compartilhar documentos que contenham códigos ativos, equações, visualizações e texto.

O Jupyter Notebook é amplamente utilizado no campo do Data Science, limpando e transformando dados, fazendo simulações numéricas, modelagem estatística, visualização de dados, aprendizado de máquina e muito mais!

Mas, que tal usar os Jupyter Notebooks para controlar os GPIOs de um Raspberry Pi?

É exatamente  isso que faremos neste tutorial. Aprenderemos como instalar o Jupyter Notebook em um Raspberry Pi, e diretamente nele, ler sensores e atuar em atuadores.

Continue lendo…

Anúncios

Este é um dos meus quatro tutoriais com foco em Scratch e “Physical Computing”. Em relação a esse tópico, já publiquei aqui em meu blog:

Aprendendo eletrônica com o Arduino e a linguagem Scratch 2.0

Existem mais dois tutoriais em ingles, (um para o Arduino e outro para o Raspberry), onde exploro a versão 1 do Scratch:

Aqui, exploraremos projetos usando a versão mais recente do Scratch disponível para o Raspberry Pi, a 2.0.

Em resumo,

Aprenderemos:

  • O que é o Scratch 2.0 e suas diferenças com o Scratch 1.4
  • Como interagir com LEDs, botões de pressão e campainha
  • Como criar blocos especiais
  • Como lidar com variáveis
  • Como integrar animações com o mundo físico.

Vamos lá!

Continue lendo…

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…

Programando MicroPython no ESP8266

6 06UTC junho 06UTC 2018 — 1 Comentário

Vamos brincar com o MicroPython em um ESP8266 (ou ESP32) utilizando o um Jupyter Notebook. A idéia é obter dados de sensores, agindo em um mundo físico diretamente do Jupyter.

portada 3

1. Introdução

Em um artigo anterior publicado no Medium, explorei como controlar um Raspberry Pi usando-se do Jupyter Notebook: Computação Física Usando o Jupyter Notebook.

Foi uma ótima experiência, e uma vez que o projeto funcionou muito bem, pensei:

“Que tal testar também o Jupyter Notebook em um ESP8266 (ou mesmo no ESP32) usando como linguagem o MicroPython?”

Como sabemos, o Jupyter Notebook é um aplicativo Web de código aberto que permite criar e compartilhar documentos que contêm código ativo, equações, visualizações e texto narrativo. Os usos incluem limpeza e transformação de dados, simulação numérica, modelagem estatística, visualização de dados, aprendizado de máquina e muito mais. Para o “muito mais”, exploraremos  a “Computação Física”.

Até agora em meus projetos, explorei IoT e computação física utilizando o ESP8266–01, ESP8266–12E (NodeMCU) e o ESP32, programados pelo IDE do Arduino, utilizando-se de sua linguagem C / C ++. Mas outra ótima linguagem que pode ser usada na programação desses dispositivos é o MicroPython:

O MicroPython é uma implementação enxuta e eficiente da linguagem de programação Python 3 que inclui um pequeno subconjunto da biblioteca padrão do Python e é otimizada para rodar em microcontroladores e em ambientes restritos. O objetivo é ser tão compatível com o Python normal quanto possível para permitir que você transfira código com facilidade do desktop para um microcontrolador ou sistema embarcado.

Além disso, acho que usar o Jupyter Notebook para programar um dispositivo ESP usando o MicroPython pode ser uma ótima ferramenta para ensinar Computação Física para crianças e também ajudar os cientistas a acessar rapidamente o mundo real utilizando-se de sensores na aquisição de dados.

Isso é o que tentaremos realizar neste tutorial:

  • Saída de um sinal digital para ligar / desligar um LED
  • Ler uma entrada digital (através de um botão)
  • Saída de um sinal PWM para o controle do brilho de um LED
  • Controlar a posição de um servomotor utilizando-se de uma saída PWM
  • Leitura de sinal analógico (luminosidade) usando um LDR
  • Leitura de temperatura via bus 1-Wire (DS18B20)
  • Leitura de temperatura e umidade (DHT22)
  • Exibir dados usando um OLED via barramento I2C.

Continue lendo…

Neste tutorial, capturaremos dados remotos como UV (radiação ultravioleta), temperatura e umidade do ar. Esses dados serão muito importantes e serão usados em uma futura Estação Meteorológica completa.

O diagrama de blocos mostra o que obteremos no final.

Continue lendo…

MJRoBot termina em 3o. lugar no concurso: Remote Control Contest 2017 promovido pelo Instructables.com, o maior site Maker do mundo!

O tutorial ganhador, foi sobre os sambas, quero dizer, sobre minhas experiencias com o pequeno robô Cozmo (é que sambei um pouquinho para entender como programar o rapaz ;-)!

Cozmo é muito mais que um brinquedo, é uma grande ferramenta didática tanto para crianças como adultos. Cozmo pode ser programado tanto por uma linguagem parecida ao Scratch quanto por Python. Daí, minha idéia de interagir o robozinho com o Raspberry Pi.

O tutorial completo pode ser encontrado aqui no site:

When COZMO, the Robot meets the RASPBERRY PI

portada

O site oficial do Raspberry Pi na Inglaterra também escreveu sobre o tutorial:

WHEN TINY ROBOT COZMO MET OUR TINY RASPBERRY PI

Isso aí! Espero no futuro publicar novos tutoriais com o Cozmo! E por falar em samba…..

mjrobot_samba.gif

Abracão!!!!!

 

 

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…

Meu tutorial publicado no site do Instructables.com: Alexa – NodeMCU: WeMo Emulation Made Simple, foi um dos vencedores na competição “Automation Contest 2017”.

winner at Automation Contest.png

Muito obrigado por todos os votos que o tutorial recebeu. É sempre uma grande honra saber que meu trabalho está sendo reconhecido e acima de tudo sendo executado em varias cantos do mundo! 😉

mundo2

Fico muito feliz com este tipo de reconhecimento, pois mostra que estou no caminho certo com a decisão de escrever e compartilhar com a garotada e os velhos dinos, descobertas oriundas de minhas novas andanças pelos facinantes caminhos da eletrônica. A ideia era devolver ao mundo um pouquinho do muito que recebi, mas a cada vez que um garoto seja do Brasil, de Portugal, Índia, África, …. me escreve com uma dúvida ou agradecendo por um projeto meu, vejo que quem está recebendo algo mesmo, sou eu! 😉

Valeu moçada! Ah! O tutorial também pode ser visto em portugues aqui em meu blog:

Alexa – NodeMCU: Emulando um dispositivo WeMo

WeMo Emulation

Outros premios recebidos por projetos publicados no site do Instructables:

premios

Saludos desde el sur del mundo!

Até o próximo tutorial!

Obrigado

Marcelo

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…