Про Watchdog можно написать собственную статью. Если в кратце, то примерно так:
Watchdog — это аппаратное устройство в микроконтроллере. (ENC28J60 тут ни при чем.) В общем-то это просто таймер. Если он запущен, то при достижении заданного времени будет подан сигнал Reset и микроконтроллер перезапустится. Чтобы этого не происходило, нужно периодически (из программы) сбрасывать тимер. Если программа повиснет, то сброс не состоится, все перезапустится и заработает снова.
Оригинальный bootloader в Pro Mini при запуске к сожалению не деактивирует Watchdog, зато ставит время на минимальное значение. В результате сброс происходит еще до выхода из bootloader в программу. Ардуино при этом естественно зависает (характеристично быстрое мигание LED).
Optiboot такой проблемы не создает. Для записи Optiboot понадобится ISP-программер (можно в этом качестве использовать второй ардуино).
Хороший проект. Понравился. Я вот хочу собрать похожее, только хочу обеспечить для датчиков больше автономности, данные гонять по BLE на центральные девайсы (распределенная система со смартфонами).
SerialGateway:
Ардуино ~2$
Трансивер с антеной: ~5$
USB<->UART ~2$
Гетинакс, светодиоды, провода, кнопка, регулятор — мелочь, не знаю даже, пусть будет ~1$
Итого: 10$
Если брать трансивер без антены, тогда он не стоит и доллара, но может немного ухудшится радиус приема.
Motion+Temp+Hum+Lux-Sensor:
Ардуино ~2$
Трансивер без внешней антены: ~0.8$
DHT22 (температура+влажность) ~3$
BH1750 (освещение) ~1.5$
Датчик движения: ~1$
PCB + мелочь: ~1.5$
Итого: примерно 10$
MySensors отличный проект во всех смыслах! Кстати, на mysensors описан вариант ethernet-шлюза с протоколом MQTT. Такой шлюз позволяет использовать сеть MySensors в системе MajorDoMo прямо «из коробки», чем многие и пользуются.
«Умный Дом» и система MySensors: Часть 0