LINUX.ORG.RU

На чём реализовать датчик температуры, постящий её через HTTP по Wi-Fi и жрущий поменьше батарейки?

 


0

1

Задача: лежать на полке, мерять температуру, раз в 10 минут сливать её по HTTP по самописному протоколу. Желательно в железке линукс какой-то (роутинг, dhcp) и возможность скомпилить в неё что-то писанное на C++. Поменьше жрать батарейку, скажем до месяца аптайма без зарядки. Ясно, что батарейки бывают разные, ага. Скажем комплект из нескольких 1.2 аккумов.

ESP8266 или ESP32 - там не линукс, я так понял, но всё реализуемо.

Ответ на: комментарий от Partisan

А что если хочется информацию получать в компьютере не в виде сообщения (файла), а видеть в browser-е?

Если график с изменениями, то есть куча готовых решений от всяких Графан до HomeAssistant'ов.

Но для меня всё это тяжёлый оверкил, как выше писал с примерами, я предпочитаю Munin. Плагин собирает раз в 5 минут значения с MQTT, пишет в Munin-RRD и Munin же выводит графики.

Правда, если тупо дёргать MQTT для получения последнего retain-значения, то задержка в секунду получается. Когда источников много, получаются большие тормоза плагина-сборщика. Я сделал проще — повесил на mosquito_sub скрипт, который получает отправленное значение и записывает его в kv-bash. А уже munin снимает это значение плагином, типа:

#!/bin/bash

case $1 in
    config)
        cat <<'EOT'
graph_title Hall luminosity
graph_vlabel Hall luminosity value inverted
graph_category IoT
luminosity.label Luminosity
EOT
        exit 0;;
esac

source /var/sync/Linux-Tools/bin/kv-bash
echo luminosity.value $(kvget mqtt.neron.sensors.luminosity)


В варианте с прямым запросом MQTT вместо последних двух строк будет:
echo luminosity.value $(mosquitto_sub -h 192.168.1.3 -V mqttv311 -t /neron/sensors/luminosity -C 1 2>/dev/null)

KRoN73 ★★★★★ ()