Acendendo um LED via Internet com Arduino e o Ethernet Shield

Com o Ethernet Shield, é possível conectar o Arduino a uma rede ethernet e montar projetos que envolvam o envio ou recebimento de informações via rede ou internet. O dispositivo, juntamente com a biblioteca de controle, permite o projeto de aplicações para rede de forma fácil. Não é necessário se preocupar com os esquemas complicados de sinalização em redes ethernet já que todo o controle e conexão são feitos por rotinas da biblioteca. Após estabelecida a conexão, basta ler ou escrever dados através dela, de forma semelhante à uma conexão serial convencional.

Segue um exemplo de um projeto para a disponibilização de uma página web que permite ligar ou desligar uma porta digital do Arduino através da rede local ou da internet. Em uma aplicação prática, o projeto poderia ser utilizado para controlar uma lâmpada, servindo como uma boa aplicação “Hello World” de automação residencial com Arduino. Aqui, a ideia é se concentrar no projeto de software necessário para tal aplicação. Por isso, vamos considerar a ligação de um led à porta do Arduino e mostrar uma das formas mais caras de acender um led que podem ser propostas.

Read More

Backup de e-mails com o NoPriv.py

Através do podcast Linux Action Show, fiquei sabendo de um script em Python para backup de e-mails de contas IMAP que faz o download das mensagens e anexos e disponibiliza tudo em uma página HTML local.

O script se chama NoPriv.py e pode ser encontrado nesta página e neste repositório Github. A partir de uma conta de e-mail IMAP e uma lista de pastas a serem copiadas, ele cria uma estrutura de arquivos HTML para acesso às pastas como a deste exemplo. As cópias podem ser feitas de forma incremental, de modo que sejam transferidas apenas as novas mensagens em cada vez que o script for executado.

Read More

O direito de ler

O “direito de ler” é um artigo do Richard Stallman, publicado originalmente em uma edição da revista Communications of the ACM e posteriormente no livro “Free Software, Free Society: Selected Essays of Richard M. Stallman“. No artigo, ele discute sobre as mudanças relativas à liberdade dos leitores devido à adoção de e-books no lugar de livros tradicionais. Segue uma tradução livre da versão atualizada do artigo, que pode ser encontrada neste endereço:

O Direito de Ler

philosophical-gnu-sm[Este artigo foi publicado na edição de fevereiro de 1997 de Communications of the ACM (Volume 40, Number 2)].

de “The Road to Tycho” , uma coleção de artigos sobre os antecedentes da Revolução Lunar, publicado em Luna City, em 2096.

Para Dan Halbert, o caminho para Tycho começou na faculdade, quando Lissa Lenz pediu seu computador emprestado. O dela havia quebrado, e, a não ser que ela conseguisse um outro emprestado, ela não conseguiria terminar seu projeto bimestral. E não havia ninguém a quem ela ousasse pedir isso, exceto Dan.

Read More

Strings com várias linhas em Python

Recentemente, tive que preparar uma string com várias linhas, contendo o cabeçalho de um e-mail em um programa escrito em Python. Até aí, nenhuma novidade: bastava usar as três aspas para indicar o início e mais três para indicar o fim da string. No entanto, a string estava localizada em um bloco com indentação, o que fez com que a indentação ficasse incluída no conteúdo da string. Para entender melhor o que aconteceu, segue um exemplo:

Read More

Apresentando o Pinpoint

Fazer uma apresentação interessante não é muito fácil. Com a grande variedade de recursos audiovisuais disponíveis hoje em dia, grande parte das apresentações são preparadas sem levar em conta a principal atração, que é o apresentador.

Read More

E surgem cada vez mais cursos na web

Já faz algum tempo que surgiu a ideia de disponibilizar cursos universitários para acesso através da internet. Atualmente, quase todas as grandes universidades mantêm projetos desse tipo como o Open Course Ware, mantido pelo MIT e o Open Yale Courses, mantido pela universidade de Yale.

No início desses projetos, era disponibilizado apenas material escrito como notas de aula e exercícios. Entretanto, com a popularização da distribuição de vídeos pela internet, não demorou muito para que fossem utilizadas câmeras durante as aulas e também fosse disponibilizado material em vídeo.

Read More

Hello World com Arduino

Em 2005, fiquei sabendo de um projeto chamado Arduino, que chamou muito minha atenção pois se tratava de um projeto de hardware livre. No mesmo ano, tentei montar um mas não tive muito sucesso e acabei deixando o projeto parado por causa das atividades da faculdade. Hoje me arrependo de não ter dedicado mais tempo para o projeto na época, dado o crescimento do universo do Arduino.

Para quem não sabe o que é, o Arduino é um projeto composto por hardware e software para desenvolvimento de aplicações que interajam com o mundo real usando sensores e atuadores. Ele foi desenvolvido para permitir a criação de projetos por pessoas que não tenham muito conhecimento em hardware ou eletrônica como hobistas, artistas e designers.

Read More

Python para aplicações científicas – Básico do básico

Ultimamente, estive estudando algumas coisas sobre Python e tenho me interessado muito pela linguagem. Foi a primeira vez que tive contato com uma linguagem de tipagem dinâmica e logo de início, tive a impressão que ela seria uma ótima opção para substituir o Matlab. Gosto do Matlab, mas o fato de ser uma solução proprietária e não ser uma linguagem de propósito geral fazem com o Python tenha uns pontos a mais na minha classificação.

Read More

Organização com o Org-Mode

Um outro modo muito interessante do Emacs é o Org-Mode. Ele foi desenvolvido para fazer anotações e gerenciar listas de tarefas e projetos através de arquivos de texto com marcações.

As marcações são interpretadas pelo Emacs, o que agiliza a manipulação das informações. No Org-Mode, é possível organizar uma agenda, com compromissos marcados em dias e horários específicos e também tarefas sem horários específicos. Aos itens da agenda, é possível associar tags, que podem ser usadas para filtrar resultados de busca. Isso o torna uma ferramenta muito boa para quem usa o método GTD. Para quem não conhece esse método de organização, vale a pena dar uma olhada. Ele foi proposto por David Allen e é descrito no livro “A arte de fazer acontecer” (“Getting things done”). Um breve resumo do método pode ser visto nessa apresentação que ele fez no Google e nesse cartão de referência do método.

Read More

Emacs e AUCTEX para edição de documentos Latex

Há alguns anos atrás, um dos problemas que encontrei durante a minha mudança para o Linux foi encontrar um ambiente de desenvolvimento para o Latex. Para quem não conhece o Latex, vale a pena dar uma pesquisada. Ele é um sistema de edição de documentos muito utilizado para a produção de textos matemáticos e científicos devido à sua alta qualidade tipográfica.

Na época em que eu usava o Windows, eu usava o TeXnicCenter para editar os projetos Latex. Apesar de suas limitações, ele cumpria bem seu papel. No Linux, tentei inicialmente usar o Kile. Apesar dele ser um ótimo editor, senti falta de um recurso muito básico: a verificação ortográfica automática (aqueles sublinhados vermelhos que aparecem sob as palavras que estão grafadas incorretamente). Acho que tive esse problema porque estava tentando usar o Kile dentro do GNOME, sendo que ele foi desenvolvido originalmente para ser usado no KDE.

Read More