Skip to content

Instantly share code, notes, and snippets.

@requeijaum
Created October 9, 2018 19:51
Show Gist options
  • Save requeijaum/b2f96b393e12444c2d0e7639d989dc10 to your computer and use it in GitHub Desktop.
Save requeijaum/b2f96b393e12444c2d0e7639d989dc10 to your computer and use it in GitHub Desktop.
Funcionamento do climate_controller para meu artigo de HUM103 no IFBA.

climate_controller

Fluxograma Geral

  • estado inicial: aparelho de ar-condicionado, dispositivo e celular desligados

1 - ligar dispositivo

2 - abrir o aplicativo

3 a) verificar se o aplicativo possui configuração existente no controlador > pareamento bluetooth, temperatura, horarios, sinais de IR > pula pra 4)

3 b) dispositivo já possui configuração válida pra uso > pula pra 5)

4 a) realizar pareamento Bluetooth entre celular e controlador b) configurar sinais de infra-vermelho, caso aplicável c) configurar faixa de temperatura e tempo de espera para o sensor de presença d) configurar horários para acionamento e) verificar se as configurações estão salvas

5 (esqueci)

6 ligar ar-condicionado usando o aplicativo > verificar se ligou >> se ligar: pula pra 7 >> se não ligou: repete o 6

7 monitorar o funcionamento do controlador em tempo real

8 alterar configuração > pula pra 4)

climate_controller

Fluxograma Funcionamento

à pedido de Ricardinho Gameplays

1 - alimentar dispositivo

2 - ligar dispositivo

3 - iniciar porta serial > bluetooth já está funcionando

4 - barramento i2C resetado > iniciar RTC > iniciar teste de EEPROM, caso aplicável > iniciar sensores

5 - configurar pinos de entrada e saída

6 - configurar lógica do LED RGB indicador

7 - verificar solicitacao de gravacao de sinal IR

> foi solicitado?
	>> então realizar as rotinas de gravação do sinal em memória não-volátil (EEPROM ou FLASH)
	>> retornar a esse ponto
	
	
> não foi solicitado?
	>> prosseguir como se nada houvesse acontecido

8 - realizar leitura dos dados armazenados na memória não-volátil para a RAM

9 - realizar medidas dos sensores disponíveis > presença > temperatura

10 - processar medidas e gravar valores em variáveis na RAM

11 - construir objeto JSON para comunicar ao aplicativo, através do Bluetooth > capturar variáveis da RAM > alocar memória RAM para realizar esse trabalho... > construir texto com o objeto JSON

12 - enviar o objeto JSON através do Bluetooth

13 - aguardar retorno de um novo JSON, enviado pelo celular, para o controlador

14 - desconstruir objeto JSON

15 - capturar as variáveis recebidas pelo último objeto JSON e jogar os valores na RAM do controlador

16 - repetir a partir do 9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment