Arama


Keten Prenses - avatarı
Keten Prenses
Kayıtlı Üye
12 Nisan 2009       Mesaj #2
Keten Prenses - avatarı
Kayıtlı Üye
Akbil Dallas firmasının ürettiği IButton tipi bir modüldür. İETT tarafından kullanılan modüller genel olarak DS1991 ve DS1963S dir. Akbil ilk çıktığında şifreleme sistemide olmayan daha basit modelleri kullanılmaktaymış ama ben görmedim. Herneyse elinizde DS1963S var ise garanti veriyorum bunu kırmak mümkün değil, zira geliştirilme amacı sanal para olarak kullanılması, yani banknottan daha güvenli.

Bence arkadaşlarınızın akbillerininde üzerini okuyup DS1991 yazanından bulmaya çalışın, çünkü o kırılabilir.

Gerekli malzemeler:


1. Yeterli elektronik bilgisi ve pic16f84 entegrelerini programlayacak kadar programcılık deneyimi.
2. http://www.ibutton.com adresinden bulunacak seri porttan ibutton okuma devresi ve ds1991 dökümanları.devre kodu ds9097u ve özel diyot olarak geçen diyotların yerine uyduruk diyotlar koysanızdqa çalışıyor, inanmayın onlara, bitek zener e dikkat. tüm malzeme yaklaşık 1 milyon tl tutuyor.
3. PIC16C84 + lcd display ve birsürü ıvırzıvır elektronik malzeme. 2 adet akbil
4. Birkaç gün zaman.



Yapılacaklar:


1. Öncelikle seri porttan ibutton okuyucu ve yazıcı yapılır ve siteden indirilen yazılımı bilgisayara yüklenerek, akbili okuduğuna emin olunur.
2. Dökümanlar hatim edilerek pic ile akbil okuma kodu hazırlanır.
3. Sonra pic sanki bir hırsız gibi kullanılarak, seri portttan akbil okunup yazılırken geçen veriyi okuyacak hale getirilir. bu durumda pic sadece dinleme yapmaktadır.
4. PIC kodunda bir iki basit düzeltme yapılarak geçen veriden sadece şifrenin geçtiği bölümü okuması ve bunu lcd ekrana yazması sağlanırsa cihazımız hazır okur.


Kullanımı:


1. Madara edilip üzerinde oyanmış akbil artık iett de geçmeyeceği için bir köşeye ayrılır.
2. Temiz ve kullanılmamış olan akbile kontör yükletilir(mesela 5 milyon)
3. PIC ile yapılan lcdli devre pil ile çalıştırılarak ve akbile bantlanıp ucundan iki tel çıkartılarak, akbil doldurma gişesine gidilir, çevrede kimse yokken, cihaza değdirilir,
4. Bu sırada cihaz sizin akbilinizin ürün kodunu okuyarak şifreyi hesaplar ve bu şifreyi sizin akbile gönderir ki içinde nekadar kontör var okuyabilsin.
5. Aynı anda sizin pic boş durmaz ve bu şifreyi aradan kulak misafiri olarak lcd ekrana yazar.
6. Evin yolu tutulur, seri port okuyucuya akbil değdirilir, şifre sorduğu yere bu şifre yazılır. kontör bilgisi görülür, özenle değiştirilir ve istenilen meblağa ayarlanır. (Bu veride şifrelidir orada 100.000 yazmasını beklemeyin)



Nasıl kolay değil mi? Akbil güvenlidir iyidir hoştur ama tüm IButton(veya tom) entegreleri gibi onunda en büyük zaafı, son derece basit olan iletişim algoritmasının, araya sokulan şeyler ile dinlenebilmesidir.

Eğer yukarda yazanlardan bişey anladıysanız, bana soru sormayın, anlamadıysanız hiç sormayın.













opencan top


PIC devresi


Sch



VB DİNLEME KODU GELİŞTİRİLMEYE AÇIK.



Private Sub Form_Load()
Me.Winsock1.Listen 'Accept incomming requests
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Dim TemperatureC As String
Dim TemperatureF As String
Dim TemperatureK As String
Dim TemperatureR As String
Dim SplitArray As Variant
Dim tmpString As String

If Me.Winsock1.State <> sckClosed Then Me.Winsock1.Close
Me.Winsock1.Accept requestID 'Close connection before accepting a new one

TemperatureC = Me.TempLabel.Caption 'format: "xx C"
SplitArray = Split(TemperatureC, " C")

TemperatureC = Trim(Str(Val(SplitArray(0))))
TemperatureF = Trim(Str(Int(((Val(TemperatureC) * (9 / 5)) + 32) + 0.5)))
TemperatureK = Trim(Str(Round((TemperatureC + 273.15), 1)))
TemperatureR = Trim(Str(Round((TemperatureK * 1.8) + 0.5, 1)))
tmpString = "<html><body><center>Indoor temperature:<br>" & Date & " " & Time
tmpString = tmpString & "<font size='+10'><h1>" & TemperatureC & " °C<br>"
tmpString = tmpString & TemperatureF & " F<br>"
tmpString = tmpString & TemperatureK & " K<br>"
tmpString = tmpString & TemperatureR & " °R</h1></font></body></html>"
Me.Winsock1.SendData tmpString
End Sub

Private Sub Winsock1_SendComplete()
Me.Winsock1.Close ' Close connection
Me.Winsock1.Listen ' Get ready to accept a new one
End Sub
Quo vadis?