Notificador de presença
Este projeto tem como objetivo notificar interessados em frequentar o hackerspace da abertura (ou fechamento) do espaço. Assim, frequentadores que não tem a chave poderiam simplesmente checar o site/irc/identi.ca/twitter antes de sair de casa, evitando (ou ao menos diminuindo as chances de) dar com a cara na porta.
Participantes
Requisitos
O dispositivo deve avisar através de algum meio de notificação sempre que houver uma mudança de estado do espaço (aberto ou fechado), e permitir também que o estado atual seja consultado.
Meios de notificação
- o mecanismo deve ser extensível para suportar diferentes meios de publicação notificação
- meios desejáveis: IRC (tópico do canal), identi.ca (já repassa para o twitter), página principal do wiki
- outros meios: e-mail, SMS
- os meios desejáveis são complementares. Estudar qual atende melhor às nossas necessidades. Eu diria o wiki.
Meios de detecção
- a detecção de presença deve funcionar de maneira que não seja necessária uma intervenção direta e consciente de quem abrir a porta
- como detectar presença?
- o meio mais simples é usar o interruptor/switch conectado à iluminação (da escada, por exemplo). No entanto, as pessoas podem simplesmente deixar de acender a luz por ser dia ou por não querer luz.
Variáveis
- estado do espaço: aberto/fechado
- desejável: número de horas que o espaço provavelmente ficará aberto
- ideia: número de pessoas no espaço (conectar com refcount)
Inspiração
Desenvolvimento
Hardware
Arduino + Ethernet Shield + Switch na Porta
Firmware
Sempre que muda o estado o arduino faz um get para o servidor informando o estado. A cada hora é feita uma requisição informando o estado atual, permitindo que falhas de comunicação sejam detectadas.
Fontes aqui: https://github.com/luisleao/Hackerspace-Status-API/tree/master/Firmware
Servidor
Utiliza o Google appengine e implementa a hackerspace api (https://hackerspaces.nl/spaceapi/). Recebe as infos do firmware através de gets em URLS. Esta integrado com o FourSquare para listar os ultimos que fizeram checkin. Disponibiliza o resultado em formato legivel (http://status.garoa.net.br/) ou JSon (http://status.garoa.net.br/status)
Fontes aqui: https://github.com/luisleao/Hackerspace-Status-API/tree/master/AppEngine
Chrome Plugin
Plugin para o Google Chrome que verifica o status periodicamente e atualiza um icone no browser.
Instale aqui: https://chrome.google.com/webstore/detail/hjhcfjghgnbdbgiadgljefhonpjcalpg Fontes aqui: https://github.com/gutomaia/garoa-chrome
Firefox Plugin
Plugin para o Firefox que verifica o status periodicamente e atualiza um icone no browser.
Instale aqui: https://addons.mozilla.org/pt-BR/firefox/addon/garoa-status/ Fontes aqui: https://github.com/thiagoalz/garoa-firefox
Scriptlet
Scriptlet que verifica o status e a data do mesmo, emitindo um alert.
Link: https://gist.github.com/2157934
Próximos Passos
Alteração do Hardware
- incluir o capacitor entre o GND e reset para resolver o problema do ethernet quando é energizado pela primeira vez;
- incluir um botão e display lcd para que seja selecionado o tempo em que o espaço ficará aberto e um relé (ligando a iluminação no NC) para "piscar" a luz em intervalos a serem definidos.
Software e API de status dos hackerspaces
- incluir campo "open_until" indicando o tempo limite que o espaço continuará aberto;
- ajustar o banco de dados para considerar estas alterações