Подтверждение от железки о принятом значении

Например:

  • есть слайдер в проекте blynk. Он привязан к v1 и например задает температуру.
  • есть BLYNK_WRITE_DEFAULT в скетче, который читает температуру из v1 и делает некое действие.

Все хорошо работает, но есть вопрос: как получить подтверждение от железки?
Например, мы двигаем слайдер в blynk. Было значение 20, стало 40. Как узнать, что железка получила и обработала новое значение? Железка могла уйти в оффлайн или повиснуть или просто вызов BLYNK_WRITE не прошел из за какого то сбоя. В результате слайдер blynk установлен на 40, а в железке по прежнему установлено 20.

То есть речь о механизме подтверждения от железки “новое значение получено, все хорошо”.

p.s. Сделал индикатор на пине v2. Двигаем слайдер v1 -> Железка получает значение, пишет ответ в v2 -> мы видим на индикаторе, что значение получено. Такая схема работает, но как то это… костыльно что ли.

Да, этого сейчас нет без костыля. Мы работаем над подобным кейсом.

Можно сразу тогда предложение?
добавить в скетч что то вроде BLYNK_WRITE_WITH_CONFIRM:

  • Чтобы он вызывался при изменении значения vPin на всех железках (как сейчас это сделано в BLYNK_WRITE)
  • Чтобы все железки, где есть BLYNK_WRITE_WITH_CONFIRM - ответили например “true”
  • Если хотя бы одна железка не подтвердила изменение - возвращается старое значение. И об этом также уведомляются все железки.

Для пользователя - это будет выглядеть как будто он двигает слайдер, и через секунду слайдер возвращается обратно. Можно еще какое то сообщение выдать при этом.

Интересно конечно, тока смысла нет, если это устройство управляет чем то что может навредить или устроить другой ущерб то наверное нафиг не надо туда ардуину или есп ставить. Второе устройств много и если каждое будет посылать ACK на каждый чих то сто пудов пакеты будут теряться по вайфаю а если сервер будет опять посылать значение и ждать ACK то это вообще жесть ад можно на земле устроить. Так что в устройства всегда надо программировать ватчдок и делать пассивные элементы защиты. И запрашивать ACK только когда настройки первый раз отправляешь, которые не меняются руками на слайдерах. ИМХО

2 Likes