:::: MENU ::::
Browsing posts in: IoT

Mirror nbtelecom não funcionando para Raspberry Pi

Olá pessoal

Desde que voltei a mexer com a “brincadeira” de automação no meu processo de produção caseira de cerveja, resolvi mudar a plataforma inicial (Arduino + NodeMCU ESP12-E) para a Raspberry Pi Zero (RPI).

Vou fazer um post só sobre essa decisão e também alguns tutoriais pra quem está começando a brincar com a RPI, porque alguns detalhezinhos bem chatos podem atrapalhar nesse processo. E como eu já gastei algum tempo em fóruns e pesquisando, resolvi juntar aqui as informações que solucionaram os problemas que eu tive.

E um problema desses foi que, logo ao começar usar, fui fazer o velho e bom update e upgrade da minha placa (calma, já já eu explico), porém o sistema de mirrors do Raspbian estava me direcionando para o servidor brasileiro nbtelecom.com.br que está fora do ar. Apesar de ser uma coisa bem simples e trivial, pode ser confuso pra quem está começando no mundo do Linux e/ou RPI.

Erro do mirror nbtelecom.com.br

Para os novatos, em geral, os softwares em algumas distribuições Linux (inclusive a para o RPI), utilizam um sistema de pacotes que nasceu lá com o Debian (o melhor Linux S2 hehehe) e se popularizou, principalmente, por conta do Ubuntu. E o comando para atualizar os pacotes (softwares) para versões mais novas ou para instalar novos pacotes é o apt. Não vou entrar em detalhes sobre esse sistema, era só pra dar um contexto para quem eventualmente estivesse perdido.

Pois bem, vamos parar de enrolar e ir para uma solução, que é não usar o sistema de mirros da Raspbian. Pra isso, será necessário editar o arquivo que indica o endereço para o apt:

Ps.: Se você não está familiarizado com o vi, use o editor de sua preferência.

E agora, mude o conteúdo para acessar diretamente o “archive” da Raspbian e se quiser, habilite o repositório de sources. Então, o arquivo fica assim:

Salve o arquivo, saia e pronto. Agora é só dar apt-get update e depois apt-get upgrade.

Abraços e bons códigos! 😉


Recomendação Podcast: IoT-Inc sobre plataformas IoT Open Source

Olá pessoal,

Como alguns já sabem, me tornei ávido consumidor de podcast recentemente.  E o que me fascina na podosfera é que é possível se escutar de tudo, tendo uma variedade imensa de podcasts dos mais diferentes estilos. E como é humanamente impossível se escutar tudo o que se gostaria (ainda não sou daqueles que ouve em velocidade 1.5x ou 2x), receber e dar boas dicas passa a ser algo bem valioso hoje em dia. Por isso, vou passar a usar o meu blog para compartilhar algum episódio que ache interessante, começando hoje! 😉

Bom, particularmente, tenho procurado ouvir coisas “não técnicas” para tentar não ficar tão bitolado e ao mesmo tempo, me informar mais sobre economia, política e ciência (ok… escuto uns 2 sobre desenvolvimento / TI), mas lado nerd falou mais alto e ontem procurei um podcast sobre IoT. É um assunto que venho me interessando muito e senti a necessidade de me informar melhor, de conhecer mais esse “mundo”. E principalmente sobre a parte de negócios de IoT, pois tenho a tendência natural em querer saber de placas, APIs, aplicações e etc. Mas pensei que seria legal entender como a indústria e as grandes empresas estão vendo e tratando IoT.

Pois bem, e fazendo uma busca rápida encontrei o IoT-Inc. Ele tem toda a cara de um podcast de marketing (institucional), com a intenção de promover o seu host, Bruce Sinclair, e ajudá-lo a vender consultorias, workshops e cursos. Mas, pela busca que fiz, me pareceu uma pessoa com experiência e credibilidade na área (desculpem se o cara é um Papa de IoT e eu não conhecia…), e por isso resolvi vasculhar o feed e escolher um episódio para testar. E eu acertei em cheio.

IoT-Inc Podcast Ep. 65: Open Source IoT Platforms - Ready for Primetime?

IoT-Inc Podcast Ep. 65: Open Source IoT Platforms – Ready for Primetime?

Ep. 65: Open Source IoT Platforms – Ready for Primetime?

O podcast é em inglês, mas é bem fácil de compreender mesmo para quem tem um nível intermediário. Eles falam devagar e com um vocabulário bem conhecido para a área de tecnologia. Mas, se você está com preguiça de ouvir ou quer um resumo, vamos lá ! 😉

Nesse episódio, Bruce Sinclair conversa com Hans Scharler, criador do ThingSpeak, uma plataforma Open Source para IoT. O principal assunto desse bate-papo é se as plataformas Open Source estão prontas para o mercado e quais seriam as vantagens em utilizar esse tipo de plataforma.

Uma das principais vantagens apontadas foi a facilidade de se ter algo “rodando” em pouco tempo, sem precisar conhecer de servidores, protocolos, bancos de dados e etc. Assim, permite que alguém que queira criar um protótipo, solução ou integrar com algo que já existe, consegue fazer isso rapidamente com o serviço da ThingSpeak. Mas, ao mesmo tempo, permite aqueles que queiram estudar, ir mais a fundo na plataforma, explorando o código no GitHub. Ou seja, pode ser uma boa idéia tanto para quem quer explorar a arquitetura de um servidor desse estilo ou para quem quer simplesmente criar uma conta e começar a mandar dados e visualizar esses dados de formas mais “didáticas”.

O que me chamou atenção no episódio foi a preocupação com a comunidade e com quem resolve adotar essa plataforma. Todo o código está no GitHub sob a licença GPL v3 e de acordo com Hans, eles criaram dessa maneira para garantir que, caso a empresa venha a acabar ou algo assim, os usuários não ficariam abandonados pois todo o código continua disponível. E ainda de acordo com Hans, já são 30 mil desenvolvedores colaborando / usando o projeto.

Ele destaca isso como uma grande força da plataforma, pois com a velocidade que novas placas, sensores e tecnologias são disponibilizadas, é impossível para a equipe do ThingSpeak desenvolver tudo. E aí que entra a comunidade, colaborando e criando código muito rapidamente. E para fomentar esse ecossistema, Hans aposta na disseminação do conhecimento, conversando com Hackerspaces, “thinkers” e produzindo conteúdo o mais rápido que podem. Exemplo disso é o suporte que eles criaram para o ESP-8266, que se tornou muito popular (principalmente pelo preço).

Além da parte da plataforma, eles também conversaram sobre tendências. Afinal, o ThingSpeak recebe dados de milhares de aplicações ao redor do mundo. Em termos de aplicação, a grande tendência mundial é a agricultura inteligente, pois cada vez mais as pessoas querem saber sobre os seus alimentos, como melhorar processos e etc. E sobre os países quem vem crescendo o investimento em IoT, seu diagnóstico é que a Europa ainda está bem a frente dos Estados Unidos, citando principalmente Alemanha, Inglaterra e Polônia. Mas, um país que há pouco tempo atrás não estava nem entre os “top 10” e hoje já representa 10% do fluxo de dados da plataforma é a Índia. Infelizmente o Brasil sequer foi citado. 🙁

Enfim, esse foi um resumão do episódio, mas definitivamente recomendo que você adicione no seu feed e ouça. Tem vários detalhes que não coloquei no post, até para não estragar a sua experiência.

Em breve retorno com novas sugestões de podcasts.

Abraços

 


Programando a ESP8266 NodeMCU no Mac OS X

Olá pessoal,

Recentemente comprei um módulo WiFi ESP8266 NodeMcu ESP-12E para utilizar no projeto do meu termostato inteligente. O projeto antes era baseado em um Arduino Uno, mas como eu queria colocar algumas funcionalidades a mais, o Arduino começou a não me parecer uma arquitetura tão boa. Então, acabei optando pelo módulo ESP12-E.

Algumas características que me influenciaram a pelo menos testar essa arquitetura:

  • WiFi embutido.
  • Suporte a MQTT nativo.
  • Melhor arquitetura para programação (divisão em vários arquivos, módulos, callbacks e etc).
  • Programação em Lua (isso pode ser bom ou ruim, depende de você) e também com Arduino IDE.
  • Tamanho compacto e baixo consumo de energia.

Atenção, já há diversos posts na comunidade, inclusive em português (no blog do Pedro Minatel e também no Embarcados), explicando os tipos de módulos que utilizam o chip ESP8266, como o ESP12-E (o que estou utilizando), ESP-01, ESP-07 e outros. Seguem alguns artigos que eu li e recomendo para ajudar a entender:

Por isso, não vou entrar em detalhes de programação, API ou referência para o módulo e nem sobre a linguagem Lua. Em breve irei postar artigos específicos da construção e desenvolvimento do termostato inteligente, inclusive compartilhando códigos, esquemáticos e etc.

Nessa postagem, meu objetivo é sobre programar a ESP12-E no Mac OS, pois enfrentei problemas nas duas vezes e como não achei nada em português explicando, resolvi fazer esse post. Se você ainda está procurando como fazer upload do firmware do NodeMCU para a placa, recomendo ler o artigo Flashing the NodeMCU firmware on the ESP8266 (Linux) – Guide. Se você usa Windows ou ficou com alguma dúvida, uma busca rápida no Google por “flash esp8266 esp12-e” vai te trazer ótimos resultados.

E não se esqueça de gerar o build com componentes que você deseja para a sua plataforma. No meu caso, usei 12 módulos que precisarei para o termostato (bit, cjson, file, gpio, http, i2c, mqtt, net, node, ow, tmr, uart, wifi). Esse build é gerado automaticamente pela ferramenta NodeMCU custom builds e depois de fazer o download, é só seguir as informações do tutorial que indiquei acima (ou outro que você encontre).

Preparação do ambiente

A ferramenta mais usada para subir códigos Lua para a placa é o ESPlorer. É uma mistura de “IDE” com software de comunicação. Ele é programado em Java e funciona em qualquer plataforma. Através dele, você será capaz de programar e enviar o código diretamente do ESPlorer, monitorar a saída serial e também, selecionar arquivos para envio. No meu caso, eu prefiro usar um editor externo (VIM e Sublime 2 são os que tenho utilizado) e usar o ESPlorer pra subir o código.

Mas, no Mac OS X é bem provável que você encontre problemas para que o SO detecte a placa. Para resolver isso, siga os passos:

  1. Faça o download do ch341ser_mac.zip que tem o driver CH34X USB-Serial.
  2. Descompacte e execute o CH34x_Install.pkg
  3. Reinicie o computador e o driver deve reconhecer a placa. Para verificar, clique vá em: About This Mac -> System Report -> No lado esquerdo (Hardware), procure por USB.
  4. Será possível ver a entrada para USB Serial
System Report Mac OS

System Report Mac OS

Pelo terminal também é possível entrar o dispositivo listado:

Terminal USB Serial

Terminal USB Serial

Depois que a placa for detectada pelo sistema operacional, será possível usar o ESPlorer e conectar a placa para enviar arquivos e trabalhar no seu projeto. Abaixo a tela do ESPlorer já conectado à placa ESP12-E:

ESPlorer contectado a ESP12-E

ESPlorer contectado a ESP12-E

E depois disso, é “correr para o abraço” e enviar seus códigos para a placa. Nos próximos posts vou compartilhar um pouco do que tenho feito para programar o termostato para controlar o processo de fermentação das minhas cervejas.

Qualquer dúvida, crítica, correção, sugestão ou detalhe que eu tenha deixado passar, fique a vontade para comentar e farei o máximo para responder o mais rápido possível.

Abraços!