Notificador de presença

De Garoa Hacker Clube
Revisão de 14h59min de 17 de abril de 2012 por Luis.leao (discussão | contribs)
Ir para navegação Ir para pesquisar

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

  • Luis.leao
  • Gutomaia
  • Lechuga
  • Oda
  • Leandro Pereira "AcidX" (do LHC - Laboratório Hacker de Campinas)

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