График температур в интернете из Ардуино: Mosquitto MQTT narodmon.ru и тп, что проще?

Задача такая: посылать периодически (5…20минут) значение температуры чтобы потом видеть в интернете график по времени.
Хотелось бы это максимально просто сделать, из готового примера и тп.

Аппаратно: ESP32C3 supermini.

Слышал звон что есть это дело в интернете, что можно кидать свои цифры и они там потом на неком чужом сервере будут в виде графика и значений и тп. Нужен график, чтобы скажем с телефона посмотреть из любого места можно было.
Изучать подробно все эти варианты лень )) хотелось бы подсказки: где, что проще, какой сайт выбрать, примеры и тп. В идеале рабочий пример для Ардуины на ESP.

Желательно бы также иметь встроенный веб-сервер для настройки параметров типа там период минут, и настройки вайфая (когда ESP становится точкой доступа), ну это я делал, геморойно но известно как.

Заранее спасибо!

1 лайк

Я https://thingspeak.com использую уже несколько лет, во время работы ректификационной колонны туда данные шлю.

1 лайк

Еще можно купить vps самый минимальный, поднять там mqtt брокера (Например Mosquitto)
Способ платный, зато как раз для ленивых и без привязки к проприетарным сервисам

2 лайка

Спасибо, получилось! График тестовый есть, отлично.
Осталось подключить реальную цифру, ну это уже проще.

Наверное и narodmon.ru тоже подключу, вряд ли там сложнее.
Всем спасибо! всё супер.

Как там график по Х, по времени растянуть? и вообще как-то можно отрегулировать, типа побольше размером сделать и тп? Хелп длинный и мутный ))

Настройки данных и времени через значок карандаша. Графики через запрос, в фрэймах можно делать. Тут я сам не знаю тонкостей, я его использую для хранения больше, чем для визуализации. Grafana для красот всяких есть.
Вот, например, запрос на 100 последних значений, и там можно указать размеры окна.
https://thingspeak.com/channels/12397/charts/1?&results=100&height=auto&width=auto

1 лайк

Спасибо, пойдет! больших чудес не требуется в общем.
Позже поизучаю, главное что туда данные уже вливаются )) и самый гемор сайт берет на себя.

Вручную внутри в веб-сервере можно конечно тоже графики строить но оочень геморно, да и доступа потом в интернете не будет.

решил глянуть, что это такое, взял пример из библиотеки, ручками из браузера проходят споты а от ESP32

Problem updating channel. HTTP error code -301
Problem updating channel. HTTP error code -301
Problem updating channel. HTTP error code -301
Problem updating channel. HTTP error code -301
Problem updating channel. HTTP error code -301
Problem updating channel. HTTP error code -301
Problem updating channel. HTTP error code -301
Problem updating channel. HTTP error code -301
Problem updating channel. HTTP error code -301

Это твоя ESP не смогла плановую переадресацию выполнить. Возможно, с http на https или на новый адрес. Смотри внимательнее.

я отсюда брал пример: GitHub - mathworks/thingspeak-arduino: ThingSpeak Communication Library for Arduino, ESP8266 and ESP32
https://codeload.github.com/mathworks/thingspeak-arduino/zip/refs/heads/master

там надо зарегиться, взять номер канала и внутри код для него (он меняется там же и не совпадает с рег. паролем)

Так я же пример из библиотеки и беру, только вот этот - WriteSingleFieldSecure
Обычный (не секуритный) заработал, этот тоже, только одну строку в скетч из примеров добавил
Везде косяки с этими скетчами )))

ХЗ, может секьюрный за деньги?..
Мне с моей цифрой секьюрить нечего.

я не знаю, как загрузить сертификат через оболочку IDE, поэтому добавил не проверять цепочку сертификатов и всё заработало

у меня такая же байда периодически стала вылазить: HTTP error code -301
Причем иногда данные проходят на сайт при этой ошибке, в половине случаев или даже чаще. Пока не заморачивался, может вайфайку соседи забивают, в мск это обычное дело, тут вайваев на два листа список.

А где вы это добавили?..

перед записью

  client.setInsecure();
  // Write to ThingSpeak. There are up to 8 fields in a channel, allowing you to store up to 8 different
  // pieces of information in a channel.  Here, we write to field 1.
  int x = ThingSpeak.writeField(myChannelNumber, 1, number, myWriteAPIKey);
1 лайк

Докладываю: всё работает совершенно шыкарно! ещё раз спасибо, ИМХО намного удобнее НародМонитора, там что-то какая-то мутная возня, судя по их чату ))

Если интересно, делал проект с записью в один канал данных с нескольких девайсов.
Пользуюсь приложением https://play.google.com/store/apps/details?id=com.hengjun.thingspeak&hl=ru&gl=US&pli=1

1 лайк

Спасибо, изучу. Правда для меня непонятно где это применить…

К слову, в другом устройстве зачем-то добавил таймаут на установление связи по вайфаю, порядка 15сек и получилось что не каждый раз данные забрасывает - думаю что в таймауте дело. Убрал назад )) а то думал оно как-то зависать типа будет из-за этого.