Все истории

Я построил дорогу раньше датчиков

Первые данные, которые проходят весь путь, от поля до облака, и почему я начал с самой неэффектной части.

Я построил дорогу раньше датчиков

Есть соблазн, когда строишь подключённое устройство: начать с той части, которую видно. Датчик, цифра, график, вызывающий “вау”. Я сделал наоборот. Раньше датчиков я построил дорогу, по которой пойдут данные, и строил её, думая о том, как она ломается.

Потому что настоящая проблема улья посреди поля не в том, чтобы считать значение один раз. А в том, чтобы никогда не потерять эти данные, месяцами, пока связь то появляется, то пропадает, сигнал скачет, что-то перезагружается. Трудность не в первых данных: а в десятитысячных, снятых дождливым днём без сети.

Поэтому я начал с хребта. И на этих днях, впервые, одни данные прошли весь путь, от начала до конца.

Путь, шаг за шагом

В поле передатчик отправляет данные по радио, на большое расстояние. Рядом со зданием приёмник их улавливает и передаёт небольшому мосту: крошечному компьютеру, всегда включённому, который ничего не обрабатывает, а только переносит. На этом мосту работает лёгкая программа, которая делает одно дело, но делает его хорошо: берёт поступающие данные, проверяет их целостность (отбрасывает то, что приходит повреждённым) и ставит в очередь, сохраняя на диск. Только потом она пытается отправить их на сервер в облаке, по шифрованному каналу. Когда сервер подтверждает получение, данные помечаются как “доставлено”.

Деталь, которая важна, это очередь. Если сеть падает, данные не теряются: они остаются в очереди, по порядку, и снова отправляются, как только связь возвращается. Если мост перезагружается, очередь всё ещё на месте. Сам мост задуман как заменяемый: если он выходит из строя, его снова поднимают, и он перезапускается, а тем временем ничего не потеряно.

Проверено от начала до конца: поле, мост, очередь, облако, подтверждение, без единой потерянной записи.

Почему начинать со “скучной” части

Потому что именно эта часть решает, игрушка такой проект или инструмент. Записать гул улья на несколько минут, его голос, (относительно) легко. Гарантировать, что этот голос, и тысячи фрагментов, которые придут за месяцы, действительно дойдут до экрана пчеловода даже когда день не задался: вот настоящая работа. Я решил поставить её первой.

Честно о том, как обстоят дела

Данные, которые сегодня проходят этот путь, пока ненастоящие: их создаёт тестовый источник, а не реальный узел, прикреплённый к улью. Следующая часть как раз эта: настоящий датчик, который слушает, измеряет и передаёт с поля. Но дорога, по которой пойдут эти данные, уже жива, зашифрована и проверена. Когда первый настоящий голос улья тронется в путь, он найдёт полосу уже открытой.

Вот каким я представляю цифровой по своей природе улей: не датчики, приклеенные сверху, а прежде всего надёжная нервная система, а потом органы чувств.

Если вы следите за проектом уже какое-то время, это момент, когда он по-настоящему приходит в движение. А если вы профессионально создаёте подключённые устройства или работаете с пчёлами, мне было бы интересно узнать: с чего бы начали вы, с органов чувств или с нервной системы?