Цитата(toweroff @ Jun 15 2009, 01:06)

Но у меня немного иная цель - каждый девайс будет жестко закреплен за неким участком и вся статистика привязывается именно к участку...
Теперь, если представить ситуацию, что все не-энумерованные девайсы включились сразу, а это возможно и их может быть порядка 200, то определиться кто где будет крайне затруднительно
Но тут еще обдумывал это все дело много раз... ведь можно в девайс вкрутить какой-нибудь 1-Wire Dallas с 64-битным ID и пользовать его. Просто лепить на девайс стикер с его номером (ID), пусть в базу хоста вносят и привязывают куда и к чему хотят, а тот будет опрашивать по этому ID
Тогда без сожалений забудьте про энумерацию. Разделите адресное пространство на служебные адреса 0x00 и рабочие адреса - 0x1-0xFF.
Пусть все устройства всегда стартуют в служебном режиме (режим конфигурирования) со служебным адресом и миганием светодиода, или другим способом показывают пользователю, что они в служебном режиме. Пусть сконфигурированные устройства переходят в рабочий режим по заданному таймауту, а несконфигурированные устройства так и остаются в служебном режиме и никогда не переходят в рабочий режим.
Host, управляющий системой, пусть никогда не опрашивает служебные адреса.
Тогда все становится просто. Включаете систему - видите какие девайсы "не в теме", поочереди конфигурируете их специальной программой которая работает со служебным адресом "0x00". Для перекофигурации системы, отлючаете от системы Host, подключаетесь вместо него той же специальной программой и поочереди - передергиваете устройства, которые надо переконфигурировать.
Будет просто и достаточно удобно.
Кстати этот подход позволит Вам в будущем добавить и автоматическую энумерацию. Т.к. известен адрес несконфигурированных устройств.