Нет, нет. Тут не будет сложных технических формул. Этот пост будет вполне доступен для понимания каждого. Написать я собирался его достаточно давно, но таки написал с подачи товарища
mlen.
Собственно говоря, вторая моя статья в Хакер, которая и принесла мне славу, называлась "Ключ от всех дверей", ознакомится с версией без картинок можно тут:
http://www.xakep.ru/magazine/xa/093/020/1.asp . В дальнейшем я обязуюсь выложить доредакционную версию данной статьи, с иллюстрациями и некоторыми картинками, которые не вошли в статью (либо те, которые я отсниму отдельно). На пальцах, конецепт этой статьи был в том, как на коленке собрать эмулятор ключей от домофона. Немного вдаваясь в технические тонкости, эмулятор был реализован на микроконтроллере AT89С2051 (пользуясь случаем передаю пламенный привет
di_halt). Тогда у меня был доступ к программатору этих микроконтроллеров, и т.п. Проблемы программирования меня мало интересовали.
Идея эмулятора ключей от домофона зажгла многих! Я получил море писем, и на удивление, не смотря, что статья вышла аш в 2006 году(!) я продолжаю получать письма от читателей! (боже, я работаю в Хакере почти 4 года!). И вот однажды я получил письмо от некоторого товарища, которого зовут Роман. Он учился тогда в институте МИЭМ. И была у него курсовая работа, в качестве изучения шины one-wire - разработка аналогичного эмулятора, как раз на контроллере C51 архитектуры. При чём не просто абстрактного эмулятора, а чтобы можно было сделать конкретное действия.
Я познакомился лично с Романом, и даже поехал к нему в институт и познакомился с преподавателем, который дал это задание. В институте существует преподавательский лифт. Чтобы студенты на нём не катались, он защищён таблетками DS1990A, или говоря простым языком - ключами, аналогичными домофонным. И задача его была создать эмулятор, чтобы можно было прокатится на преподавательском лифте
Домофонный ключ
Я договорился с Романом, что я ему сделаю этот эмулятор. Но на микроконтроллере AT89S2051. Буковка S - говорит нам о том, что он программируется последовательным интерфейсом, яки AVR, а мой программатор для AVR как раз может шить такие ключи. К тому же, как оказалось, распиновка, даже разъёма программирования полностью соответствует ATTINY2313 в DIP корпусе. А у меня как раз были готовые платки для этих целей!
Приеъал Роман, с контроллерами и панельками. Я запаял платку, и установил компилятор. Проверить работоспособность устройства решили на моём домофоне. Следовательно я забил туда ключ от своего домофона. Кстати, для любопытствующих, в дальнейшем я подробно об этом расскажу, но если кратко - ключ написан на каждой далласовской таблетке к домофону:
Один из вариантов написания ключа. Слева две шестнадцатиричные цифра - это контрольная сумма, а справа 01 - это код семейства 1990А
После того, как я всё запаял и прошил, получилось вот такое вот устройство:
Готовый эмулятор
Жаль у меня не было тогда видеокамеры, которая бы позволила записать как мы открывали мой домофон этой железякой, и лицо Романа в тот момент, когда он увидел, что эта железка работает.
Кульминация байки Я отдал Роману данное устройство, с компилятором и исходным кодом. Рассказал ему в каком месте менять ключ, чтобы вбить ключ от лифта. И он отправился на следующий день в институт, тестировать данное устройство. Получив ключик от научрука, и прошив институтским программатором это устройство, он приступил к натурному тестированию лифта. Представьте себе: стоит студент, на первом этаже и каким-то самопальным устройством хачит преподский лифт! В момент пробного, и удачного пуска, мимо шёл ректор. Увидев сие безобразие, отобрал студенческий билет у Романа, а когда узнал что это курсовая работа, то ещё залепил хороший выговор преподу.
Результатом стало безоговорочный зачёт этой курсовой работы, без лишней бумажной волокиты :).