GraniteFang & ProBlema
ProBlema ProBlema
Привет, Гранитный Клык, я уже несколько недель вожусь с метеостанцией на солнечных батареях, которая работает от одной батарейки. Ты наверняка собрал там кучу надёжного оборудования – какие-нибудь советы, как сделать код таким же энергоэффективным и отказоустойчивым, как твоё убежище?
GraniteFang GraniteFang
Слушай, первое – делай всё просто. Используй микроконтроллер с режимом глубокого сна и буди его только для самого необходимого, например, для одного измерения с датчика. Отключай всю радиосвязь, если не передаешь данные. Второе – разделяй код на крошечные задачи. Если одна часть упала, остальное должно продолжать работать. Используй сторожевые таймеры, чтобы всё перезагружалось, если что-то зависло. Третье – сохраняй состояние в энергонезависимую память перед тем, как засыпать. Чтобы, если с батарейкой что-то случится, ты мог продолжить с того места, где остановился. И не забудь про сторожевой таймер на самой батарейке. Если напряжение падает ниже безопасного уровня, отключай всё, чтобы не разрядить ее до нуля. Делай прошивку компактной; меньше инструкций – меньше энергопотребление. И, наконец, протестируй её в реальном цикле работы от батареи несколько раз, прежде чем запускать в полевые условия. Просто, тяжело, но зато переживёт многое.