Емулируємо таксофонну картку
Даремний перець! Уяви собі ситуацію: тобі потрібно терміново зателефонувати подрузі, щоб сказати їй, яка вона мега крута, і в такому дусі акуратно натякнути, що родичі кудись поїхали на кілька днів, і ти не проти навчити її навичкам роботи з комп'ютером наодинці ;-)) Соткою ти через фінансову нестачу ще не встиг зателефонувати, а грошей на телефонну карту немає ;-( Не розстраюйся - адже у тебе ж є Х! Зараз ти дізнаєшся про те, як не платити нашій рідній МГТС і телефонувати безкоштовно через таксофони.
Трохи теорії:
Існує 2 найбільш поширених види карток. Це Afnor і ISO. Перший тип карток використовується за кордоном (насправді це той же ISO, перевернутий для хитрості :), а в Росії відповідно використовується ISO. На всякий випадок наводжу схеми обох типів карт (мало ли!).
Схема телефонних карт
PINOUT (Позначення виводів):
1: Vcc = 5V
2: R/W
3: Clock 7: I/O
4: RAS 8: Fus
5: Gnd
6: Vpp = 21V
З теорією ми трохи ознайомилися, тепер пора переходити до дій! Для всієї цієї операції нам знадобляться: Мозки, руки, комп'ютер у робочому стані, пристрій для зчитування карток.
Отже, почнемо розглядати все по порядку.
Пристрій для зчитування карток.
Схема цього пристрою - reader.bmp.
На всякий випадок приведу тут розкладку порту принтера.
Pin In/Out Signal Name
--- ------ ------------
1 I/O -STROBE
2 I/O Data Bit 0
3 I/O Data Bit 1
4 I/O Data Bit 2
5 I/O Data Bit 3
6 I/O Data Bit 4
7 I/O Data Bit 5
8 I/O Data Bit 6
9 I/O Data Bit 7
10 I -ACK
11 I BUSY
12 I PE
13 I SLCT
14 O -AUTO FEED XT
15 I -ERROR
16 O -INIT
17 O -SLCT IN
18 N/A Ground
19 N/A Ground
20 N/A Ground
21 N/A Ground
22 N/A Ground
23 N/A Ground
24 N/A Ground
25 N/A Ground
Щоб інформація з картки зчитувалася тобі на комп'ютер, тобі необхідно буде скомпілити в сішнику програму reader.c. Ця програма зчитує картки і створює за ними базу даних (у кожної картки є термін придатності - 1 рік. Тому потрібно періодично оновлювати базу даних!)
Для емуляції картки необхідний чіп PIC16F84 або PIC16F83. Російські аналоги, через їх глючність використовувати не рекомендується! Схема чіпа - pic16c84.bmp, а підключати його необхідно за схемою emulator.bmp.
Для тих, кому мало цих відомостей, дивіться додатковий опис pic16c84.txt (DOS ака KOИ-8 кодування).
Зробив? можеш піти попити кефіру (пиво ще рано!) Тепер будемо займатися програматором картки. В принципі його можна знайти на Mitino BaZaR за 300 рублів (якщо, звичайно, знайдеш), або зібрати самому (це тобі обійдеться рублів 100). Якщо ти сам в електроніці не розбираєшся, пошукай друга, який розуміється на цьому. Ну і відповідно опис по програматору:
Роз'єм COM-порту 25 штифтовий або 9-штифтовий, обидва варіанти наведені на схемі. Усі діоди малогабаритні кремнієві, наприклад КД522. З транзисторами також можна погратися... Світлодіод двоколірний або два звичайних, зелений індикує наявність живлення (і створює потрібну вольтодобавку для живлення Upp), а червоний - наявність напруги Udd (подачу сигналів на програматор). Можна взагалі відмовитися від червоного світлодіода і прибрати відповідний резистор, правда, тоді можна не помітити, що програматор не підключений до комп'ютера ;) Крайня рекомендація - не використовувати "звичайні" стабілізатори напруги 7805, 7812, 142ЕH5А, 142ЕH8Б: вони споживають занадто великий ток...
Допускається зміна в номіналах резисторів і конденсаторів до 30%. Тільки робоча напруга електролітів повинна бути не менше вказаного. Довжина кабелю не надто критична. "Земля" вказана умовно, тільки для спрощення схеми! "Справжня" лінія GND комп'ютера знаходиться на виводі SG роз'єму COM порту.
Ну от, здається, і все, що я хотів тобі розповісти. Тепер ти крутий перець, який похакував систему МГТС і можеш тепер телефонувати безкоштовно.
P.S. Звичайно, це все класно, але є одне НО. У кожному таксофоні встановлений модем, який кожну ніч телефонує на станцію і повідомляє, хто і куди телефонував, номер картки і скільки на ній було одиниць. Людина, яка дуже допомогла мені в написанні цієї статті, ще не знала цього, за що йому дали 3 роки умовно.
Тож будь обережним!