Skip to main content

Sensor de Temperatura

 O presente documento tem como objetivo detalhar o sensor de temperatura utilizado no projeto Cannabot. O sensor de temperatura é um componente essencial para o monitoramento e controle do ambiente de cultivo, permitindo que o sistema possa realizar ajustes e tomar decisões com base nas informações coletadas.

 O sensor de temperatura utilizado é o modelo BME/BMP280, um sensor que mede a temperatura, pressão e umidade do ambiente. O sensor é conectado ao Raspberry Pi 4 por 4 jumpers, e realizamos a interface com ele usando a biblioteca de python RPi.bme280 v0.2.4.

Nó de ROS

 Para a integração do sensor de temperatura com o ROS, foi criado um nó que publica a temperatura lida pelo sensor ao tópico ROS /sensor_data. O nó foi desenvolvido em Python e utiliza a biblioteca RPi.bme280 v0.2.4 para realizar a leitura da temperatura (como mencionado anteriormente) além da biblioteca smbus v0.3.4 para a interface com a pinagem do RPi.

 O nó é responsável por realizar a leitura da temperatura, umidade e pressão a cada 2 segundos e publicar o valor lido no tópico /sensor_data. O valor é publicado em um objeto do tipo String, porem nada mais e do que um JSON "stringified".

Estrutura do JSON

{
"temperature_celsius": <float>,
"temperature_fahrenheit": <float>,
"pressure": <float>,
"humidity": <float>
}

 Onde:

  • temperature_celsius: Temperatura em graus Celsius.
  • temperature_fahrenheit: Temperatura em graus Fahrenheit.
  • pressure: Pressão atmosférica.
  • humidity: Umidade relativa do ar.

Conexão ao Backend

 Para a conexão do sensor de temperatura ao backend, o programa de websocket principal do robô, que expõe uma rota de websocket para controle e monitoramento foi ampliado, integrando mais um "subscriber" para assim publicar as informações extraídas a uma interface acessível de fora do robô.