Доброго времени суток, Хаброжители. Стал вопрос о возможности синхронизации часов разбросанных по нескольких зданиях заведения. На данный момент там уже стоят часы и проложенная магистраль с 1 пары. Часы старые, еще советские. Хотят их поменять на новые, по принципу бегущей строки. То есть у них будет какой-то микроконтроллер, что будет управлять светодиодами и считать время. Сервер для синхронизации часов думал сделать на rasberry pi. Подскажите, какие МК лучше выбрать для реализации часов с поддержкой 1-wire и, собственно, где можно рыть, чтобы подружить rasberry pi с этими микроконтроллерами?
Спасибо.
Я не специалист, так на досуге занимаюсь. Выскажу мое IMHO, если еще актуально.
Для начала нужно уточнить качество линии. Для реализации 1-wire можно взять практически любой МК в который влезет код для обработки + код часов.
Что касается дружбы Raspberry, то вам нужно реализовать единый протокол. Если это 1-wire, то возможно стоит посмотреть на 1-wire мастер с интерфейсом i2c.
P.S. Возможно стоит подумать о гальванической развязке от 1-wire
Для начала нужно разобраться с моделью OSI (да, она тут тоже работает).
На физическом уровне у вас провода и передатчики/премники. Нужно обеспечить на этом уровне качественное распознавание нулей и единиц.
Дальше, когда нули и единицы передаются и принимаются, на канальном уровне нужно разобраться с адресацией. Впрочем у вас и широковещательной рассылки может хватить, но адресация может решить некоторые проблемы. (например подчиненные устройства могут сообщать об ошибках или что-то еще полезное).
Дальше нужно прикинуть протокол. На самом деле нужно четко знать где у нас начало и где конец и что вот это данные. И как-то интерпретировать то, что мы приняли. Обязательна проверка целостности пакета (обычно CRC).
А на этом этапе уже можно интерпретировать полученные данные и выполнять команды :)
Вообще я считаю, что лучше поискать среди готовых протоколов. Если 1-wire подходит, используйте его - тут все готовое и не нужно заморачиваться с разработкой чего-то своего. К тому же он дешев, но обратной стороной является его простота и низкая помехозащищенность по сравнению с RS-485 и CAN.
Если не подходит, то прежде чем придумывать что-то свое посмотрите протокол wake (caxapa.ru/lib/wake/).
По 1-wire стоит заглянуть на сайт www.elin.ru/1-Wire/. Можно поспрашивать на профильных ресурсах вроде того же радиокота :)