Homeware é uma biblioteca para a criação de aplicativos de automação em Arduino. Ele permite controlar vários dispositivos, como lâmpadas, termostatos, através de uma API RESTful [http://ip:porta/cmd?q=commando].
Na primeira carga do dispositivo um ponto de acesso (AP) para se conectar [nnnnnn.local], ao fazer uma conexão estará disponível em [http://192.168.4.1:80] o serviço que permitirá indicar o roteador WiFi a ser utilizado na rede local como estação.
Os comandos são enviados por TELNET na porta 23. Para ajudar nos principais itens de HELP é possivel pedir um "help" no terminal que irá mostrar os principais itens a serem utilizados; Utilizar os comandos TELNET para fazer as configurações inciais do dispositivo:
- gpio 4 mode in [diz que o pino 4 é um pino de aquisição]
- gpio 15 mode out [indica que o pino 15 é um acionamento (saída)]
- gpio 4 trigger 15 monostable [indica que ao acionar o 4 é para disparar um evento para o pino 15 com mesmo valor de acionamento]
- gpio 4 trigger 15 bistable [indica que dispara um evento somente quando o valor do pino 4 for HIGH, ignora os LOW]
- gpio 15 device onoff [fazer um registro de integração externa padrão "onoff" - usado na alexa]
- save [guarda as configurações]
* show config * gpio [pin] mode [in,out,pwm,adc,lc,ldr,led,dht,rst,srn] * gpio [pin] default [n](usado no setup inicial) * gpio [pin] mode gus (opcional groove ultrasonic) * gpio [pin] trigger [pinTrigger] [monostable,bistable] -> indica que [pin] ira acionar [pinTrigger] sempre que houver uma mudança de estado de [pin] * gpio [pin] device [onoff,dimmable,motion, dht, ldr] (usado na alexa) * set app_key [x] (SINRIC) * set app_secret [x] (SINRIC) * gpio [pin] sensor [deviceId] (SINRIC) * gpio [pin] get * gpio [pin] set [n] * pwm [pin] set [value] timeout [x] // gera um pulso pwm por um tempo>0 (timeout=0, deixa ligado). Value=0: desliga e maior liga/timeout * set interval 500 * set sleep 60 (estabele 60s para deepsleep - depende de conectar RST ao D0) * gpio [pin] timer 60000 // duração para a ação antes de desligar de 60000s ( valor==0 - modo não temporizado) * gpio [pin] interval 1000 // entre "timer" para uma ação (ex: led piscando); [scene] // depende do mqtt ativo * scene [nome] set 1/0; scene [nome] none; * scene [nome] trigger [pin] //config: acao quando recebe um evento scene [nome] executa o [pin] * gpio [pin] scene [noite] //config: gera um evento de scene - quando o pin for alterado enviar scene [nome]
Uma trigger "bistable" indica que é para funcionar como um switch (troca o estado quando seu acionador estiver ligado-HIGH ). Uma trigger monostable aciona com o mesmo valor do seu acionador, se ligado - liga, se desligado - deliga;
O driver ultrasonic detect distância de um objeto. O Groover Ultrasonic detecta até 4 metros de distância como informa a documentação.
- gpio mode gus - ativa o Goover Ultrosonic para o pin
- set gus_interval - indicar o intervalo de tempo de varredura (1000)
- set gus - indicar o valor de corte para gerar o evento ( valor < n>)? HIGH : LOW;
O DHT11 é um sensor de leitura de temperatura e umidade. É possivel gera gatilhos com base na temperatura.
- gpio mode dht -> ativa o sensor
- set dht_interval -> indica o intervalo de leitura (1000)
- set dht_min - indica faixa interior para gerar evento HIGN
- set dht_max - indica faixa superior para gerar evento HIGH
- para fora da faixa o gatilho será LOW
O LDR mede a intensidade de luz do ambiente.
- gpio mode ldr -> ativa o LDR para leitura em uma pino ADC;
- set ldr_interval -> indica o intervalo de varredura (60000)
- set ldr_min -> menor taxa de luminosidade para disparar o gatilho HIGH
- set ldr_max -> limite superior para disparar o gatilho HIGH
- nas faixa intermediarias o gatilho será em LOW
O SRN é um driver de acionamento de sirene com liga e desliga intermitente
- gpio mode srn -> ativa modo sirene
- set srn_interval -> indica o intervalo entre liga e desliga (1000)
- set srn_duration -> indica o tempo que ira desligar automatico, "0" indica desligamento manual (60000)
Uma sirene pode ser combinado com outro evento que dispara ou desliga a sirene ex: detecta o nivel de agua e dispara a sirene [gpio 2 trigger 4 bistable]
Se você gostaria de contribuir para o Homeware para Arduino, por favor, crie uma nova issue descrevendo o que você gostaria de adicionar ou consertar. Em seguida, crie um fork do repositório e faça suas alterações em um branch separado. Quando terminar, abra um pull request para revisão.
Homeware é licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.