Manual

do

Maker

.

com

Twitter no Onion Omega2

Twitter no Onion Omega2

Que tal ler suas mensagens do twitter no Onion Omega2 usando um display OLED de expansão? Não é só divertido, mas é útil, se considerar a possibilidade de fazer acionamentos remotos a partir de qualquer ponto que você tenha internet, sem precisar abrir uma conexão entrante em sua rede doméstica.

Faça um factory reset

Antes de começar, sugiro um factory, porque o espaço é limitado e a instalação dos pacotes consumirá um bocado de espaço.

Após fazer o factory, você precisará novamente fazer a conexão de setup. Se não sabe como fazê-lo, sugiro que leia os artigos anteriores relacionados, clicando alí em cima no menu MIPS. Serve também para o caso de você não saber como fazer o factory, que pode ser feito de trẽs maneiras diferentes, à sua escolha.

Uma dica é não instalar a interface HTTP, assim haverá muito mais espaço para fazer seus projetos.  Sem essa interface, o Omega fica com 29.6M de espaço livre para as aplicações!

 

Materiais

Para esse projeto, você precisará de 3 componentes. Se não tiver o módulo display, pode ser que consiga utilizar um display OLED via I2C no slot de expansão, mas eu não testei. De qualquer modo, o display do Omega2 é I2C, de modo que é muito provável que outro sirva. Qualquer hora eu faço um teste.

Instalação de pacotes

Quando você digitar o comando para a instalação de pacotes, não se assuste com a quantidade de dependências da urllib.

opkg update
opkg install python-light python-urllib3 pyOledExp

Quando finalizar a instalação, baixe o código de projeto no github do Onion em seu desktop/notebook. É melhor do que instalar o git no Omega2, porque isso consumirá muito mais espaço do que o projeto em sí. Depois, transfira o diretório de download para o Omega2 por ssh.

git clone https://github.com/OnionIoT/oled-twitter-display.git
scp -r oled-twitter-display root@192.168.1.3:~/

Não se esqueça de trocar o IP para o endereço correto do seu Omega. No Omega2 você terá um diretório com o tamanho de apenas 89.5K, uma maravilha.

Após o factory, remova a entrada do known_hosts

Se você fez o primeiro acesso por ssh ao seu Omega2, uma chave já foi criada no arquivo .ssh/knwon_hosts. Nesse caso, você pode simplesmente remover o arquivo e tudo voltará a funcionar. Isso acontece porque quando é feito o factory reset, a chave de assinatura muda. Não é um bug, isso é característico do ssh.

Criar uma app no Twitter

Para conseguir a comunicação com o twitter, temos que criar um app que nos fornecerá a chave da API e um autenticador. Isso é simples de fazer, basta ir ao site http://apps.twitter.com, então preencher o formulário de sua aplicação. A parte mais importante é fornecer um bom nome e uma boa descrição.

twitter_api.webp

Na tela seguinte você terá as informações necessárias para adicionar ao seu código.

Configurando os parâmetros no config.json

O config.json é um arquivo bem simples, contendo apenas uma estrutura básica com os parâmetros de comunicação, onde devemos mudar o user, o consumerKey e o consumerSecret.pelos valores obtidos através do app criado previamente.

config_json.webp

consumerKey está na aba Key and Access Tokens.

consumer_key-tab.webp

Lembre-se que esse é um código de exemplo, por isso a única coisa que ele faz é ler e imprimir o resultado no display. Se quiser acionar relés, abrir portas ou acender luzes, basta criar um script python à parte com as respectivas funções, então importá-lo no código principal do script oledTwitterDisplay.py. Agora vamos ver sua execução:

python oledTwitterDisplay.py

E o resultado é esse da imagem de destaque.

Executar periodicamente

Podemos fazer isso de diversas maneiras, como por exemplo, um script Python principal temporizando a execução, ou um script shell cumprindo essa tarefa. Uma terceira possibilidade é agendar a tarefa no cron do sistema, assim mesmo após o reboot o script será executado. Para editar o agendador de tarefas do sistema utilize o comando crontab -e, então adicione a seguinte linha:

*/5 * * * * $(which python) /root/oled-twitter-display/oledTwitterDisplay.py

Quando tiver tempo, escrevo uma implementação pra cotrolar o módulo de expansão com relés, espero que isso já lhe empolgue.

Inscreva-se no nosso canal Manual do Maker no YouTube.

Também estamos no Instagram.

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.