| RFID | 
|  | 
| 
 
 
 
 | mikhail09p | Дата: Сб, 28.01.2017, 10:42  |                                                                                                                Сообщение # 1 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Помогаю всем
 
  
 Сообщений: 
 
 
 481
 
 
 Замечания: ± На сайте с 04.05.2010
 
 
 Статус: 
 Offline
 
 | Здравствуйте. Помогите прочитать ключ RFID 125кГц.
 Пробую делать с помощью компаратора на 628 пике.
 Может, кто поделится примером расшифровки кода? В смысле протокола RFID. Буду очень благодарен.
 
 Сообщение отредактировал 
 
 mikhail09p - Сб, 28.01.2017, 12:16
 
  |  
 |  |  |  | 
| 
 
 
 
 | Matrix252005 | Дата: Пн, 30.01.2017, 10:02  |                                                                                                                Сообщение # 2 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Разобрался
 
  
 Сообщений: 
 
 
 636
 
 
 Замечания: ± На сайте с 12.10.2007
 
 
 Статус: 
 Offline
 
 | Приятного времени суток!!! 
 Михаил, гляньте тут, может что и пойдет:
 
 http://www.protonbasic.co.uk/showthread.php/57744-Rfid
 
 THE TRUTH IS OUT THERE.
 
 С уважением, Николай.
 |  
 |  |  |  | 
| 
 
 
 
 | mikhail09p | Дата: Пн, 30.01.2017, 18:55  |                                                                                                                Сообщение # 3 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Помогаю всем
 
  
 Сообщений: 
 
 
 481
 
 
 Замечания: ± На сайте с 04.05.2010
 
 
 Статус: 
 Offline
 
 | Спасибо, Николай, но там немного... Наверное, из местных никто этим не занимался...
 |  
 |  |  |  | 
| 
 
 
 
 | anatol | Дата: Пн, 30.01.2017, 19:12  |                                                                                                                Сообщение # 4 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Помогаю всем
 
  
 Сообщений: 
 
 
 471
 
 
 Замечания: ± На сайте с 10.02.2010
 
 
 Статус: 
 Offline
 
 | там же http://www.protonbasic.co.uk/showthread.php/57682-Rfid-with-EM4095 Device 18F8520 XTAL = 10
 Declare PLL_REQ = On
 Symbol CLK = PORTB.1
 Symbol DTA = PORTB.0
 Dim NB_CLK As Byte
 Dim VAR1[64] As Byte
 Dim INDEX As Byte
 Dim CNT As Byte
 Dim I As Byte
 Dim RESULT As Byte
 Dim row_count, row_bit, column_count As Byte
 Dim row_sum, column_sum As Byte
 Dim row_check[5] As Byte
 Dim column_check[11] As Byte
 TRISB = %00000011
 TRISD = 0
 PORTD = 0
 PORTB = 0
 INDEX = 0
 ;================================================================
 SERIAL_BAUD = 19200
 RSOUT_PIN = PORTC.6
 RSOUT_MODE = TRUE
 RSOUT_PACE = 1
 RSIN_PIN = PORTC.7
 RSIN_MODE = TRUE
 TRISC.6 = 0
 TRISC.7 = 1
 PORTC.6 = 1
 DelayMS 100
 RSOut "Initializing......",13
 PORTB.2 = 1
 DelayMS 1000
 PORTB.2 = 0
 RSOut "Ready......",13
 ;================================================================
 AGAIN:
 PORTB.2 = 1
 DelayUS 100
 PORTB.2 = 0
 INDEX = 0
 While DTA = 0 : Wend
 While DTA = 1 : Wend ; WAIT FOR FALLING EDGE ON DATA PIN
 
 PORTB.2 = 1
 DelayUS 100
 PORTB.2 = 0
 
 ;---- Detecting the 9 consecutive logic one----------------------
 INDEX = 0
 For I = 0 To 63
 NB_CLK = 64 : GoSub CLK_WAIT ; WAIT FOR 64 CLOCK PULSE
 RESULT = DTA ; GET A BIT EVERY 64 CLOCK PULSE
 If RESULT = 1 Then
 Inc INDEX
 Else
 INDEX = 0
 EndIf
 If INDEX = 9 Then GoTo AAA
 Next
 AAA:
 If INDEX = 9 Then ; If Index = 9 then there is a valid data
 For I = 9 To 63
 NB_CLK = 64 : GoSub CLK_WAIT ; WAIT FOR 64 CLOCK PULSE
 VAR1 = DTA ; GET A BIT EVERY 64 CLOCK PULSE
 Next
 For I = 0 To 8
 VAR1 = 1
 Next
 Else ; else : no card or just placed two card in reader
 GoTo AGAIN
 EndIf
 
 ;--- CRC Checking ---------------------------------------------
 GoSub CRC_Check
 If RESULT = 0 Then
 GoTo AGAIN
 Else
 RSOut "CRC Check ok",13
 EndIf
 
 ;--- Display the result of data -------------------------------
 For I = 0 To 63
 RSOut Dec VAR1
 Next
 RSOut 13
 PORTB.4 = 1
 DelayMS 5000
 PORTB.4 = 0
 GoTo AGAIN
 ;================================================================
 CLK_WAIT:
 For CNT = 1 To NB_CLK
 While CLK = 0 : Wend
 While CLK = 1 : Wend
 Next
 Return
 ;================================================================
 CRC_Check:
 ' row parity check:
 row_count = 9 ' count rows
 While row_count < 59
 column_count = 0 ' count columns
 While column_count < 5
 row_check[column_count] = VAR1[row_count+column_count]
 Inc column_count
 Wend
 row_bit = 0 ' count row bits
 row_sum = 0
 While row_bit < 4
 row_sum = row_sum + row_check[row_bit]
 Inc row_bit
 Wend
 I = row_check[4]
 If row_sum.0 <> I.0 Then
 RESULT = 0
 Return
 End If
 row_count = row_count + 5
 Wend
 ' end row parity check
 ' column parity check:
 column_count = 9 ' count columns
 While column_count < 13
 row_bit = 0 ' count column bits
 row_count = 0 ' count rows
 While row_bit < 11
 column_check[row_bit] = VAR1[column_count+row_count]
 Inc row_bit
 row_count = row_count + 5
 Wend
 row_bit = 0 ' count column bits
 column_sum = 0
 While row_bit < 10
 column_sum = column_sum + column_check[row_bit]
 Inc row_bit
 Wend
 I = column_check[10]
 If column_sum.0 <> I.0 Then
 RESULT = 0
 Return
 End If
 Inc column_count
 Wend
 ' end column parity check
 If VAR1[63] = 1 Then
 RESULT = 0
 Return
 End If
 RESULT = 1
 Return
 ;================================================================
 End
 
 Сообщение отредактировал 
 
 anatol - Пн, 30.01.2017, 19:13
 
  |  
 |  |  |  | 
| 
 
 
 
 | mikhail09p | Дата: Вт, 31.01.2017, 09:10  |                                                                                                                Сообщение # 5 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Помогаю всем
 
  
 Сообщений: 
 
 
 481
 
 
 Замечания: ± На сайте с 04.05.2010
 
 
 Статус: 
 Offline
 
 | Что-то никак не пойму без схемы. Тут, похоже, принимается с какого-то модуля... |  
 |  |  |  | 
| 
 
 
 
 | anatol | Дата: Вт, 31.01.2017, 11:38  |                                                                                                                Сообщение # 6 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Помогаю всем
 
  
 Сообщений: 
 
 
 471
 
 
 Замечания: ± На сайте с 10.02.2010
 
 
 Статус: 
 Offline
 
 | mikhail09p, я ссылку исходную приводил. Похоже чел использует (или конвертировал под протон программу) с этой отладочной платы http://download.mikroe.com/documen....100.pdf а сам приемник отсюда http://www.advanide.com/wp-cont....095.pdf
 К сожалению не могу понять что используешь - RFID (безконтактный радио) или простой кодовый.
 Знаний по этой теме немного совсем. Одно знаю что для ответа метки сначала надо "зарядить" в ней конденсатор непрерывным излучением, а потом посылать код опроса.
 |  
 |  |  |  | 
| 
 
 
 
 | MiXaS | Дата: Вт, 31.01.2017, 16:22  |                                                                                                                Сообщение # 7 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Разобрался
 
  
 Сообщений: 
 
 
 545
 
 
 Замечания: ± На сайте с 02.10.2010
 
 
 Статус: 
 Offline
 
 | mikhail09p, скажите, а готовый модуль не подходит? с выходом uart? Добавлено (31.01.2017, 16:22)---------------------------------------------
 Я вот этот использовал. Скорость чтения так себе, но работает
 |  
 |  |  |  | 
| 
 
 
 
 | mikhail09p | Дата: Вт, 31.01.2017, 17:53  |                                                                                                                Сообщение # 8 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Помогаю всем
 
  
 Сообщений: 
 
 
 481
 
 
 Замечания: ± На сайте с 04.05.2010
 
 
 Статус: 
 Offline
 
 | Ого! На каком расстоянии считывает? И что значит - скорость считывания? 1 сек? 
 Хотя хотелось бы обойтись просто контроллером. У людей ведь работает.
 |  
 |  |  |  | 
| 
 
 
 
 | anatol | Дата: Вт, 31.01.2017, 21:05  |                                                                                                                Сообщение # 9 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Помогаю всем
 
  
 Сообщений: 
 
 
 471
 
 
 Замечания: ± На сайте с 10.02.2010
 
 
 Статус: 
 Offline
 
 | mikhail09p, нарисуй схему твоего девайса. Можно не все. Нужна схема приемопередатчика (или готовый) и подключение к пику. |  
 |  |  |  | 
| 
 
 
 
 | mikhail09p | Дата: Вт, 31.01.2017, 21:46  |                                                                                                                Сообщение # 10 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Помогаю всем
 
  
 Сообщений: 
 
 
 481
 
 
 Замечания: ± На сайте с 04.05.2010
 
 
 Статус: 
 Offline
 
 | Схема вот. Не моя, но такая же. В железе работает. Сигнал смотрю на PORTA.3. Программу тоже прикрепляю.
 Аппаратный шим генерит на 125 кГц. Ключ отзывается.
 |  
 |  |  |  | 
| 
 
 
 
 | anatol | Дата: Ср, 01.02.2017, 23:19  |                                                                                                                Сообщение # 11 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Помогаю всем
 
  
 Сообщений: 
 
 
 471
 
 
 Замечания: ± На сайте с 10.02.2010
 
 
 Статус: 
 Offline
 
 | Смотрел вкользь - домашние заботы. Не понял чем вы раскачиваете усилитель Порт B в программе не просматривается. Также вопрос по контуру L1-C1 - настроен он на 125 кГц? От его качества сильно зависит чувствительность приемного тракта. При наличии осциллографа запрос и ответ можно посмотреть  на порте А1 (ваша схема).Принимаемый сигнал будет значительно отличаться по амплитуде. |  
 |  |  |  | 
| 
 
 
 
 | mikhail09p | Дата: Пт, 03.02.2017, 21:46  |                                                                                                                Сообщение # 12 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Помогаю всем
 
  
 Сообщений: 
 
 
 481
 
 
 Замечания: ± На сайте с 04.05.2010
 
 
 Статус: 
 Offline
 
 | PortB.3 - это выход ШИМ. Про контур знаю. Осциллографом смотрю, сигнал есть. Вопрос по расшифровке. |  
 |  |  |  | 
| 
 
 
 
 | Max_Ostin | Дата: Вс, 07.10.2018, 17:17  |                                                                                                                Сообщение # 13 |  
 | ![Max_Ostin]()  
 
 
 
 
  Группа:
  Пользователи
 
  Ранг: 
 
 Новенький
 
  
 Сообщений: 
 
 
 12
 
 
 Замечания: ± На сайте с 29.10.2017
 
 
 Статус: 
 Offline
 
 | Здравствуйте уважаемые форумчане, подскажите в чём проблема. Заинтерисовала так называемая "открывашка", "таблетка" i-button, которая открывает почти все двери
 с домофоном всем известных фирм (Цифрал, Метаком и другие).
 Проштудировал ин-нет и узнал, что она эта "таблетка" (она же DS1990A, а может и нет?) осуществляет обмен по 1-проводной линии (протокола 1-Wire), изобретённой фирмой DALLAS.К этому же типу относится датчик температуры DS18S20 (есть ещё часы реального времени).
 Написал прогу, используя старую от датчика температуры, нарисовал в Протеусе схемку,
 немного поколдовал и в Протеусе заработала. Спаял в "железе" на монтажной плате, она должна считывать помежуточное ПЗУ (Read ROM [33h]) и сохранить его в EEPROM. Затем, я EEPROM считываю через программатор узнаю его. Но прога в "железе" работает не правильно, чип видит подключение "таблетки" к слоту, гаснет красный и загорается зелёный диод.
 Но при считывании EEPROM из чипа вижу восемь нулевых байтов. Про бывал изменять задержки в подпрограммах, в большую и в меньшую сторону - ничего не меняется. Из статьи о DS18S20, размерность задержек колеблется в два раза(!) и указанны только минимальные величины. А ведь помню, что кода-то давно собирал такой считыватель на базе 628А, и там в схеме присутствовал полевой транзистор (КП304А), и она нормально работала.
 Правда в EEPROM сохранялось (могу и ошибаться), вроде четыре байта (может и шесть) и среди них не было байта 01h. И не помню в каких дебрях ин-нета я её нашёл.
 Кто делал в "железе", такой считыватель может подскажет, где ошибка?
 И если чисто логически поразмыслить прочитав статью в дополнениях, домофон не использует для
 идентификации это самый серийный номер "таблетки".Потому, что он является уникальным и при потери его нельзя восстановить. А "таблетку" дубликат могут сделать в компании которая обслуживает домофоны.
 Значить в "таблетке" есть какое-то одноразовое ПЗУ или електрически стираемое ПЗУ (как в DS18S20) которое есть в списке домофона для ключей которые открывают дверь?
 Кто знает больше, скажите!
 И ещё маленький вопрос, а как эту CRC вычислять? Из материала про датчики DS1820 - ни чего не понял!
 
 
 |  
 |  |  |  | 
| 
 
 
 
 | Aleksey_174 | Дата: Пн, 08.10.2018, 05:44  |                                                                                                                Сообщение # 14 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Новенький
 
  
 Сообщений: 
 
 
 16
 
 
 Замечания: ± На сайте с 22.01.2017
 
 
 Статус: 
 Offline
 
 | Max_Ostin, Не понял ничего толком в вашем коде, вы пытаетесь прочитать ключ в побитовом режиме не подав на него команду чтения.
 Обычный ключ ibutton содержит 8 байт информации, где 1 байт содержит идентификатор ключа обычно используется (01), 6 байт код ключа и один 1 CRC код.
 CRC код используется для проверки целостности кода ключа.
 Для того чтоб прочитать ключ с начала на него необходимо подать команду для чтения $33 или старые ключи $F0.
 Для чтения и опроса ключа используй операторы QWrite и QRead
 DS1990:
 OWrite Key, 1, [$33]'      'Процедура чтения кода ключа
 ORead Key, 0, [Str ID\8] 'в переменную ID
 Return
 А для  вычисления CRC
 '--Процедура определения правильности кода ключа
 Calculating_crc:
 crc = 0
 I = 0
 TestBit = 0
 Crcdata = ID[0]
 GoSub CRC8
 Crcdata = ID[1]
 GoSub CRC8
 Crcdata = ID[2]
 GoSub CRC8
 Crcdata = ID[3]
 GoSub CRC8
 Crcdata = ID[4]
 GoSub CRC8
 Crcdata = ID[5]
 GoSub CRC8
 Crcdata = ID[6]
 GoSub CRC8
 Return
 CRC8:
 For I = 0 To 7 ' для всех 8ми битов
 TestBit = crc.0 ^ Crcdata.0
 Crcdata = Crcdata >> 1
 If TestBit = 0 Then Shift
 crc = crc ^ $18
 Shift:
 crc = crc >> 1
 crc.7 = TestBit
 Next
 Переменные для них
 Dim crc As Byte        'CRC
 Dim Crcdata As Byte    'CRC
 Dim TestBit As Bit     'CRC
 Dim ID[8] As Byte      'буфер записи ключей
 программа
 gosub DS1990           'проверяем сунул ли кто нить ключ
 'проверяем идентификатор ключа I-Button
 If ID[0] = $1 Or ID[0] = $2 Then ')
 GoSub Calculating_crc  'ключ есть проверяем на ошибки
 If crc=ID[7] Then      'ошибок нет \\\\\\\\\\\\\\\\\\\\\\\\\\\
 Сам раньше баловался пока у нас домофоны не поменяли.
 |  
 |  |  |  | 
| 
 
 
 
 | Anatoliy1000 | Дата: Чт, 28.12.2023, 12:55  |                                                                                                                Сообщение # 15 |  
 | ![Anatoliy1000]()  
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Начал соображать
 
  
 Сообщений: 
 
 
 31
 
 
 Замечания: ± На сайте с 02.03.2016
 
 
 Статус: 
 Offline
 
 | Здравствуйте всем! Подскажите есть ли готовая программка или готовые бюджетные решения открывашки электромеханического замка RFID ключем.
 Ключ есть перезаписываемый 13,5 МГц (если на него нет прог, то 125КГц куплю).
 Читалка ключей наверное самое бюджетное на алике 110р (ТУТ).
 Замок есть на калитку электромагнитный бюджетник за 1,5к.
 
 Я новичок. За помощь стараюсь плюсовать репутацию (пока других способов сказать спасибо не знаю).
 |  
 |  |  |  |