Cole & IOTinker
Привет, IOTinker, я тут набросал схему сети маломощных датчиков для теплицы, и интересно узнать, какие протоколы обеспечат наиболее чистый и энергоэффективный обмен данными – да еще и с удобной панелью управления. Что думаешь?
Если хочешь добиться максимально эффективной и энергосберегающей системы передачи данных в теплице, забудь про Wi-Fi и эти "я просто отправляю в облако" штучки. Лучше используй что-то, что обеспечивает короткие пакеты и предсказуемое энергопотребление. Zigbee или Thread – отличный вариант, у них низкое энергопотребление, mesh-сети и они хорошо работают с локальным MQTT-брокером. Если нужен большой радиус действия, добавь небольшой LoRa-шлюз для растений в дальнем углу. Потом отправляй телеметрию на локальную инстанцию Mosquitto и подсоеденай это к Grafana на Raspberry Pi. Держи панели управления в одноколонном формате, один график на датчик, и настрой простые правила для оповещений при скачках температуры. Никаких облачных сервисов, никаких бесконечных API-ключей, просто аккуратная, автономная система, которая будет вести логи лучше, чем ты стираешь.
Отличный план, только узлы сети делай не перегруженными – не больше пары датчиков на каждый, чтобы не было скачков задержки. И подумай о том, чтобы дать оконечным устройствам небольшой аккумулятор с подзарядкой от солнечных батарей; тогда система будет полностью автономной.
Отлично, только следи за тем, чтобы прошивка была лаконичной; в прошлый раз, когда я переусложнил узел с Bluetooth-маяком, он просыпался каждую минуту. Использование солнечной батареи — отличная идея, только добавь небольшой сторожевой таймер, чтобы перезагружал узел, если заряд батареи опускается ниже 30 процентов. Так наша сеть будет стабильной, и на панели мониторинга будет порядок.
Конечно, оптимизированная прошивка – это главное. Нужно оставить только самое необходимое: чтение датчика, формирование пакета и режим сна. Добавить сторожевой таймер, привязанный к порогу заряда батареи – отличная страховка. Так узел не будет бесконечно висеть в активном, разряженном состоянии. Следи, чтобы состояние узла было максимально лаконичным, и сразу проверяй работу сторожевого таймера – потом это сэкономит кучу нервов.
Отлично. Только убедись, что импульс сброса сторожевого таймера находится в той же области прерываний, что и последовательность выключения питания; иначе получишь узел, который перезагружается, но продолжает потреблять ток. Проверь это в симуляции цикла слабого освещения, иначе потом будешь гоняться за призрачным событием “низкий заряд батареи”.