В продолжение темы рассмотрим температурный 1-Wire датчик — DS18S20 :) DS18S20 – высокоточный цифровой термометр с интерфейсом (High Precision 1-Wire Digital Thermometer) от DALLAS Semiconductor (Maxim).
Для подключения датчика достаточно двух проводов – линии данных и заземления;
Если после прочтения , Вам в голову пришла мысль, что можно сделать и обратную комбинацию – значит мы мыслим в одинаковом направлении :)
Сразу хочу сказать, что эта идея далеко не новая, и воспользовавшись поиском можно найти различные решения – примеры можно найти в конце статьи в ссылках.
Итак, что же нам нужно?
А нужно нам всего-навсего произвести симуляцию 1-Ware slave-устройства, выдавая себя за iButton :)
Для этого нужно вспомнить, что происходит в линии 1-Wire:
Сегодня мы познакомимся с интересным протоколом и даже сразу попробуем поработать с устройством, использующим этот протокол. «Как?» — спросите Вы – «мне не нужно будет покупать детали в радиомагазине?»
«Нет» — отвечу я :) С большой долей вероятности, Вы пользуетесь устройством 1-Wire и, возможно, даже не догадываетесь об этом :) Это всего-навсего – ключ-таблетка от домофона ()!
1-Wire – разработан фирмой Dallas Semiconductor (ныне MAXIM) в конце 90-х годов.
Фирменная документация .
Этот интерфейс интересен тем, что для двустороннего обмена требуется всего одна линия! (отсюда и название :)
Правда, ещё требуется общий провод (земля), но это вроде как в расчёт не принимается :)
Причём, на эту одну линию можно повесить несколько устройств, а ассортимент таких устройств очень широк (от датчиков температуры до широко распространённых ключей-таблеток iButton).
Кроме того – протокол очень прост и легко реализуется на МК программно.