ATtiny85 USB Şifre Üretici

| Haziran 14, 2023 Tarihinde güncellendi
ATtiny85 USB Şifre Üretici

ATtiny85 üzerinde USB modülü bulunmuyor ama yazılımsal olarak çalışmaya uygun hale getirilmiş devre bilgisayara bağlandığında USB hid mause olarak tanınıyor devre üzerinde çok az malzeme var pull up dirençleri ve zener diyotlar. Yazar kutulama içinde kullanmadığı 512mb flash diskin kasasını kullanmış. Atmel AVR Mikrodenetleyiciler için geliştirilen V-USB ( http://www.obdev.at/products/vusb/ Sanal USB) ve USB Hid için güzel bir örnek…

v-usb-software-implementation-low-speed-usb-device-atmel-avr-microcontrollers

DIY USB şifre üreteci

Yarım düzine V-USB öğreticisi yaptıktan sonra havalı bir şeyler hazırlamanın zamanının geldiğine karar verdim. USB klavyeler el değmemiş bir alan olduğu için, her takıldığında EEPROM’da saklanan bir şifreyi yazan küçük bir USB HID klavye cihazı yapmaya karar verdim. CAPS LOCK’a birkaç kez basılarak yeni bir parola oluşturulabilir (parola yenilemeyi başlatmak için 4 kez ve oluşturulan her parola karakteri için bir sekme, varsayılan parola uzunluğu 10’dur). Aşağıda cihazı çalışırken görebilirsiniz:

Çalıştığım yer, parolamı birkaç ayda bir değiştirmemi gerektiriyor, bu nedenle bu, yeni bir parolayı hatırlamayı tamamen atlamanın bir yolu olabilir (yeni bir parola oluşturmadan önce yazmayı hatırladığım sürece, böylece parola değiştirilebilir :).
İçerideki ne?

Cihaz , ATtiny85 USB eğitimimde kullandığım donanımın basitleştirilmiş bir versiyonuyla çalışıyor – LCD’yi, sıfırlamayı ve her iki kapasitörü çıkardım. Muhafazaların içindeki bileşenleri sıkıştırma konusunda daha iyiyseniz, VCC ile GND arasına en az 0,1 uF’lik bir kapasitör eklemenizi öneririm, ancak onsuz bile iyi çalışıyor gibi görünüyor:

Muhafaza, eski bir 512 MB flash sürücü tarafından nezaketle bağışlanmıştır. USB konektörünü içerideki devre kartından ayırmaya kendimi ikna edemedim, bu yüzden bunun yerine kısa bir USB kablosunu çıkardım (solda gösteriliyor):

Biraz düşündükten ve yinelemeli lehimlemeden sonra, aşağıdaki ilk kurulumla her şeyi 2 × 8 pedli bir tripad veroboard’a sıkıştırmayı başardım:

Önce konektörü, ardından zener diyotlarını, ardından dirençleri ve atlama tellerini ve son olarak VCC, GND ve ATtiny’nin kendisini lehimledim. Her şeyin bir araya gelmesi için aşağıdaki hileleri kullandım:

D+ zener diyodu, GND pinine bağlı olan ATtiny altındaki pede gider.

D-zener diyottan sonra 2k2 çekme ve 68 ohm direnç için sadece 1 ped kaldı, bu yüzden bir sonraki pede bir atlama teli kullandım

2k2 çekme, ATtiny VCC’ye bağlı bir pede gider

VCC, siyah bir jumper kablosu kullanarak ATtiny’nin altındaki pede gider
D+ 68 ohm rezistörü yanlış bir tripata lehimledim, bu yüzden GND için sol üstteki siyah atlama telinin arkasında zar zor görülebilen başka bir atlama teli kullandım

Sonuçtan ve gerçekten işe yaramasından oldukça memnun kaldım! Tahta başlangıçta plastik mahfazadaki çok rahat alana sığmadı, bu yüzden iç kısımlarını biraz düzeltmek için bir Dremel kullanmak zorunda kaldım, ancak ondan sonra her şey hemen eski haline döndü (daha büyük versiyonlar için tıklayın):

Yazılım

Cihaz kendisini bilgisayara bir USB HID klavye olarak sunar . Cihazla iletişimi sağlamak için, bilgisayardan LED durum değişikliklerini alabilen, önyükleme uyumlu bir klavyedir. HID tanımlayıcı, Frank Zhao’nun USB kartvizit örneğinden alınmıştır ve LED durumunun cihaza nasıl gönderildiğini anlamak için Frank’in koduna da baktım (kısacası, PC, LED durumu bit maskesi olan 1 bayt veri içeren bir kontrol mesajı gönderir).

Kod , bir önyükleme klavyesi uygulamak için gereken ve HID tanımlayıcı değişiklikleri dışında çoğunlukla USB HID fare örneğime dayanmaktadır . Güncelleme: Daha fazla bilgi edinmek istiyorsanız USB HID klavyeusbsconfig.h yazımı da okumak isteyebilirsiniz . Kodu belgeledim ancak daha iyi anlamak istiyorsanız işte bazı önemli noktalar:

PASS_LENGTHbaşlangıçta tanımlanan, oluşturulan şifrelerin uzunluğunu kontrol eder

SEND_ENTERcihazın klavyeyi yazdıktan sonra ENTER göndermesini istiyorsanız 1 olarak tanımlanabilir.

measuring_messageve finish_messageyeni bir şifre oluştururken / kaydederken görüntülenen mesajları içerir

buildReport()messageBuffertuş basımlarını PC’ye tek tek göndermek için program ana döngüsü tarafından çağrılır – karakterleri anında USB anahtar kodlarına çevirir

usbFunctionWrite()PC’den 1 bayt LED durumunu almak için uygulanır – caps_toggle()LED durumu her değiştiğinde işlevi çağırır

generate_character()rasgele tuş basımlarını döndürmek için kullanılır – şu anda alfanümerik, kısa çizgi ve alt çizgi döndürmek için yazılmıştır (64 sembol, birini seçmeyi kolaylaştırır, böylece her birinin ek mantık olmadan eşit seçilme şansı vardır)

caps_toggle()büyük harf kilidi sayımı ve parola oluşturma/kaydetme

Kaynak dosyaları şematik, kritik resimler ve bir Makefile ile paketledim . “Make flash”a ek olarak tabii ki PLL saat kaynağını kullanmak için sigorta bitlerini güncellemeniz gerekir – bunun için önceki öğreticimdeki ayrıntılara bakın. Ayrıca cihazı lehimlemeden önce bir breadboard kullanarak test etmenizi şiddetle tavsiye ederim, çünkü aksi takdirde yeniden flaş yapmak büyük bir acı olacaktır.

Ve tabii ki, onu oluşturursanız, riski size ait olacak şekilde deneyin ve parolayı yeniden programladıktan sonra hiçbir şeyin onu geri getiremeyeceğini unutmayın. Emin olmak için cihazla oluşturulan şifreleri güvenli bir yerde saklamanızı öneririm.
Güncelleme: SparkFun’dan Alma

Dün SparkFun’un neredeyse aynı donanım olan AVR Stick’i taşıdığını öğrendim . Bu nedenle, bir tane sipariş edip bu ürün yazılımı ile yeniden programlarsanız (bu durumda usbconfig.h’deki pin yapılandırmasının güncellenmesi gerekir), bir miktar lehimlemeden kaçınabilirsiniz (hepsi olmasa da, muhtemelen programlama başlığında lehimlemeniz gerekecektir).

usb-password-generator-eeprom-attiny85-usb-muse-hid

Kaynak: codeandlife.com/2012/03/03/diy-usb-password-generator

attiny85-usb-sifre-uretici

Şifre-Pass: 320volt.com

Yayım tarihi: 2012/06/12 Etiketler: , , , , ,



19 Yorum “ATtiny85 USB Şifre Üretici

  1. serdarserdar

    ATtiny85 entegresi perpa ve karaköy pasajında yok hocam ben nerden bulabilirim olabilir demeyin varsa söyleyin!!

  2. çağrıçağrı

    bu devrede attiny85 e program vs atılması lazım mı yoksa devreyi direk kurduktan sonra çalışıyo mu ?

  3. serdarserdar

    internetten sipariş etmek hariç bildiginiz bir yer diyorum …

    1. gevvgevv Yazar

      direnc.net in yeri kadıköyde yazıcıoğlu handa kat 4 gitmeden önce ararsınız ürünü ayırırlar ya da yoksa temin ederler

  4. berkcanberkcan

    Bu Şifre üretici hangi mantıkla çalışıyor ? 🙂 rastgele şifreler mi deniyor?

  5. serdarserdar

    hocam entegreyi buldum teşekürler alacağım ama ATtiny85- ? kaç olacak bir sürü kodu var

    ATTINY85V-10MU
    ATTINY85V-10SU
    ATTINY85V-10PU
    ATTINY85V-15MT ??

  6. BerkcanBerkcan

    bizim verdiğimiz şifreyimi giriyor direk ?

  7. serdarserdar

    ATTINY85V-10MU
    ATTINY85V-10SU
    ATTINY85V-10PU
    ATTINY85V-15MT ??

  8. Sercan TEKSercan TEK

    usb olayını yazılımsal olarak nasıl çözmüşler.. PIC ilede çözülmesi mümkün mü acaba ? bu konuda kaynak mevcutmu ?

    1. gevvgevv Yazar

      Evet hocam PIC ile yapılanlarda var hatta pic16f84 ile yapılan örnek var http://www.telefonica.net/web2/hidlcd/

      birde f628 ile yapılan örnek vardı ama pek detay yoktu sitesinide hatırlamıyorum

      pic için fazla örnek yok

      ama atmel camiasında durum çok farklı bu VUSB dedikleri olay atmel serisi bir çok mikrodenetleyicide kullanılabiliyor zaten VUSB sitesinde de bir sürü örnek var sanırım atmelde sanal, yazılımsal usb daha kolay ve kararlı

  9. Sercan TEKSercan TEK

    Teşekkürler Gevv. verdiğin linki inceleyeceğim. iyi çalışmalar..

  10. çağrıçağrı

    ATTINY85V-10PU
    ATTINY85V-20PU

    hangisi fark ediyor mu ??

  11. aliali

    tam olarak bu devredeki malzemeleri yazarmısınız…bilgisayarın şifresini unuttum bunu yapmam lazım maliyeti nakadardır söylerseniz sevinirim…

  12. aliali

    ATTINY85V-10MU
    ATTINY85V-10SU
    ATTINY85V-10PU
    ATTINY85V-15MT
    hangisi söylerseniz seviniriz

  13. aliali

    teşekkür ederim gevv ama diyer parçaların adını yazarsan sevinirim ben elektronikten pek anlamıyomda…

  14. aliali

    ATTINY85V-20PU nereden sipariş ederim

Yoruma kapalı.