iButton, Tek Kablodan Haberleşmeli Sistemler

iButton , 16 mm kalınlığındaki hava koşullarına dayanıklı paslanmaz çelik bir kılıf içerisine yerleştirilmiş bir çip olarak söylenebilir. Küçük boyutları ve aşırı dayanıklılıkları nedeniyle iButtonlar  neredeyse her yere seyahat edebilir.

iButtonlar genellikle binalara ve bilgisayarlara erişim kontrolü gibi uygulamalar için anahtarlıklara, halkalara, saatlere veya diğer kişisel eşyalara eklenebilir. Ayrıca, iButtonlar, genellikle varlık kasaları, depolama kasalarına, kamyonlara ve diğer ekipmanlara monte edilebilir.

Bununla birlikte, iButtonlar, çeşitli veri kayıt işleri için soğutma ünitelerine, dış ortamlara ve hatta hayvanlara monte edilir.
İstanbullular bir ara AKBİL (akıllı bilet) olarak bu ürünleri kullanmışlardı. Hala ellerinde olan varsa, model numaralarına bakıp, yorum kısmına yazarlarsa bizlerde ne tip iButton kullanıldığını öğrenmiş oluruz. 

iButton çeşitleri :
Yalnızca Adres – Erişim kontrolü ve rota doğrulama uygulamaları için ideal olan garantili benzersiz 64 bit seri numaraları na sahiptir. (örneğin, adres ve ROM kimliği). Bu seri numarası okunarak kullanıcının hangi zamanda nerede olduğu ya da girişin onaylanıp onaylanmaması gibi uygulamalar yapılabilir.Modeller DS1990A ve DS1990R modellerini içerir

Bellek
– Bellek bulunan modellerde vardır. Veriler NVRAM, EPROM (pil gereksinimi olmayan) ve / veya EEPROM’da saklanabilir. Modeller 1K bit ile 64K bit arasında değişir.

Gerçek Zaman Saati – Takvim, kronometre, saat ölçer ve Saat / Tarih  gibi uygulamalarda zamanı korumak için benzersiz bir yol sağlar. Bu tip modeller seyahat halinde olan ürününüzün üzerine takılıp, zaman damgalı kayıtlar takip edilebilir.

Güvenli
– Veriler, gereken güvenlik düzeyine bağlı olarak SHA-1 (Güvenli Karma Algoritma) veya parola korumasıyla korunabilir.

Sıcaklık ve Veri Kayıt CihazlarıTermokronlar , ucuz ve sağlam bir hafif kayıt cihazı gerektiren uygulamalar için ideal bir kayıt cihazı sağlar. Bu modeller ise özellikle soğuk zincir taşımacılığında kullanılır. Şayet bir yerlerde istenmeden, soğuk zincir kırılmışsa bunu kayıtlardan öğrenebilirsiniz. Örnek aşıların taşınması, ya da belli derecede taşınması gereken bozulabilir ürünler olabilir.

İButton Cihazı ile Ne Yapabilirim?

Kapı kilidiiButton cihazı, bilgilerin bir kişi veya nesneyle birlikte seyahat etmesi gereken herhangi bir uygulama için idealdir. Bir anahtarlık, saat veya zil ünitesi üzerine yerleştirilmiş bir iButton cihazı, sahibine bir binaya, PC’ye, bir ekipmana veya bir araca erişim izni verebilir. Bir çalışma belgesine bağlı olarak, üretim, teslimat ve bakım gibi verimliliği artırmak için süreçleri ölçebilir. Bazı iButton cihazları, transit sistemler, otoparklar ve otomatlar gibi küçük işlemlerde elektronik para saklamak için kullanılabilir. iButton cihazı ayrıca, değerli sermaye ekipmanlarını takip etmek için gereken bilgileri saklamak için elektronik varlık etiketi olarak da kullanılabilir.

İButton Cihazlarının Diğer Teknolojilere Göre Avantajları Nelerdir?
Bir uygulama için bir iButton çözümü geliştirirken, birçok tamamlayıcı teknolojiyi düşünebilirsiniz. Barkodlar, RFID etiketleri, manyetik şerit, prox ve akıllı kartlar olasılıklardan bazılarıdır. Barkodlardan ve manyetik şeritli kartlardan farklı olarak, iButton cihazlarının çoğu okunabilir ve yazılabilir. Ek olarak, iButton cihazlarının iletişim hızı ve ürün genişliği, tipik olarak RFID ile kullanılabilen basit bellek ürünlerinin ötesine geçmektedir. Dayanıklılık gelince, akıllı kartların ince plastik paslanmaz çelik kaplı iButton cihazının gücü ile eşleşmiyor.
Elbette daha üstün kimlik doğrulama sistemleri var. Parmak izi gibi. Bunlar biraz daha pahalıdır. iButton 5 kullanıcılı bir sistemi 5$ civarına kurabilirsiniz. Bunun yarısı prob fiyatıdır. ibuttonlar ise 0.5$ civarındadır. Manyetik kart ya da barkod kullansanız bunları cüzdanda saklamanız gerek. Okuma hatası yapabilirler. iButtonlar bir çok yere monte edilebildiğinden daha uzun ömürlü, daha stabil olmaktadır.
Tabii ki bunlarında CDler gibi yeniden yazılanları çıktığı için kopyalama ile güvenlik açığı oluşturabilir. Çok güvenli olması gereken sistemlerde, şifre korumalı iButtonlar kullanılabilir.

iButton devresi için neler lazım: 
Öncelikle bir temas algılayıcı prop gerekir. Bu proplar çeşitli şekillerde olur. Dikkat etmeniz gereken nokta ise alacağınız iButton için uygun olması gerekir. iButtonlar çeşitli kalınlıklarda oluyor. Bundan dolayı çap farkı olmasa da derinlik farkı olabilir. 
Tabii ki bir de kullanıcılar için iButton almanız gerekir. Bu da, yukarıdaki çeşitlere göre seçim yapmanızı gerektirecektir.
Son olarak aşağıda anlatılan okuyucu devrelerinin, olması yeterlidir.

iButton haberleşmesi :
iButton ların haberleşmesi tek kablodan (onewire) sağlanır. Bu haberleşmeyi kullanan DS18B20 gibi sıcaklık sensörleri de vardır. Bu sensör anlatılırken onewire haberleşmesi ayrıntılı anlatılmıştı.

Bu linkten tek kablo haberleşmesi ile ilgili bilgileri okuyabilirsiniz. 

Bu linkten iButton firmasının sayfasına ulaşabilirsiniz. 

Buraya kadar iButton’u tanıtmaya çalıştım. İButton hakkında ayrıntılı bilgileri yukarıdaki linkten okuyabilirsiniz.
Devremizi anlatamaya başlayalım. Her ne kadar basit bir devre ise de mantığı algılayıp kendiniz daha farklı devreler kurabilirsiniz.
Devremizde bir adet iButton probe, bir adet servo motor, 1 adet LCD ya da seri port monitör kullanılmıştır.
Mantığı ise Mikrodenetleyicinin eepromuna elimizdeki iButtonları kaydettikten sonra, kayıtlı olan ibutton algılandığında servo motoru (kapı otomatı gibi düşünebilirsiniz) çalıştırır. Kayıtlı olmayan algılandığında ROM kodu okunur fakat servo motora komut gitmez.
Arduino ve PIC 12F683 olarak 2 şekilde devre gerçekleştirilmiştir. Gerçek devrelerin çalışması ve proteus üzerinde çalışması videolarda anlatılmıştır.

Bu sistemde Servo kütüphanesi kullanılmamıştır. Nasıl yapılacağını ise bir önceki yazım dan okuyabilirsiniz.

LCD kullanımı: PIC12F683 entegresinin (8 bacaklı entegredir), donanımsal seri portu olmadığından, yazılımsal seri port kullanılarak, 9600baud hızında TEK KABLO kullanılarak, EASYLCD modülü ile birlikte 4 satır LCD kullanılmıştır. EASYLCD için ayrıntılı bilgi.
Ayrıca PIC12F683 yerine PIC12F1840 entegresi kullanılabilir. Bu tip entegrede donanımsal seri port kullanılabildiğinden, çok daha hızlı ve stabil bir haberleşme olacaktır. Ayrıca hafızası daha büyük olduğundan yapacağınız programın detaylı olmasına izin verecektir.
Arduino devresi ise Atmega168 işlemcili Arduino Nano modeli kullanılmıştır. Burada da istenirse EASYLCD kullanılarak, LCD kullanabilirsiniz.

Servo konusunda PIC entegresiyle gerçek devre denemesi yapmadığımdan, onu da burada programa ekledim.

Arduino devre şeması :

PIC12F683 devresi:

Devrede 3 adet iButton bulunmaktadır. Birer anahtar ile temas ettirilmiş gibi veri yoluna bağlanır. 1 buton eeproma kayıt için kullanılmıştır. Bu butona basılmadan önce iButtonu temas ettirip Rom kodunu ekranda gördüğünüze emin olun. Butona bastığınızda sizi uyaracaktır. Buton basılı olduğu sürece kayıta girmez. Bu şekilde yapmasaydık defalarca kayıt yapabilirdi. Butona bastıktan ve elimizi butondan çektiğimizde, eeprom kayıta bir kez gidecek ve okuduğu Rom kodunu kayıt edecektir.
Bu şekilde kaç buton kaydedildiyse bunu da eeprom içerisinde belirlenmiş bir noktaya yazacaktır. Bunun sebebi ise eepromda kayıtlı olmayan veriler FF kaydına sahip olabilir. iButton da okunmadığında FF kaydına sahiptir. Bu şekilde birbirini eşleştirip devamlı onaylı bir iButton varmış gibi davranabilirdi.
Program eepromda sadece kayıtlı olanları karşılaştırmak için kaç adet kayıtlı buton olduğunu bir yerden okuması gerekmektedir. Ya da ROM kodu ile birlikte family kod denilen grup kodunu da kaydedip. Grup kodunu gördükten sonra karşılaştırma yapar,FF olarak görürse karşılaştırmayı sona erdirir. Fakat bu da her kayıt için fazladan bir byte kullanmaktır. Bu da sınırlı olan eepromu efektif kullanmadığımız anlamına gelir.
Programa ekleme yapmak isteyebilirsiniz. Mesela iButton kayboldu. Bunu birisinin bulup kullanmaması için eepromdan silmeniz gerekir. Ayrıca iButton zarar gördü. Onun yerine verilen iButton için eski kaydı değiştirmeniz gerekebilir.
Burada sadece Mikrodenetleyicinin eepromunu kullandık. Kullanıcı sayısı çok olursa ve eeprom yetmezse I2C ya da SPI bağlantılarınızı kullanabiliyorsanız, Harici eeprom da kullanabilirsiniz.

Başka bir uygulama alanı PC ler için dongle denilen USB koruma kutusu. PIC12F683 ya da 12F1840 devresini yapıp, ek olarak CH340 entegresine seri bağlantı yaparsanız, Bilgisayarınızın USB portuna takarak, iButton ile bilgisayarınızı koruyabilirsiniz.
Hepimiz biliyoruz ki bu tip bir okuyucu devre bir kaç doları geçmez. Aşağıdaki resimde görünen fiyat bu devre ve birlikte gelen program içindir. Sizler Visual studio, ya da Python gibi programlar ile seri porttan gelen bilgiyi işleyebiliyorsanız, Bu tip programı oluşturmanız çok kolaydır. PC de çeşitli güvenlik kontrol yazılımlarını, iButton ile kullanılacak şekilde yapabilirsiniz. Arduino zaten USB ye bağlı oluyor. Fakat bu tip bir bağlantı mümkün müdür. Yani visual studio ya da Python gibi programlardan direkt arduinoya bağlı cihaz kontrol edilebiliyor mu? Bilemiyorum. Bu konuda bilgisi olan kişiler bilgi verirse memnun olurum.

iButton USB Okuyucu çizim.

Ayrıca Search ROM denilen programdan bahsetmek istiyorum. One wire dediğimiz tek kablodan haberleşmenin avantajlarından biri, birden fazla sensör yada cihazın birlikte tek kablo üzerinden kontrol edilmesini sağlamasıdır. Mesela DS18B20 sıcaklık sensöründen 5 adet kullanmanız gerekiyor. Tek bir portunuzdan 5 tanesini de kontrol edebilirsiniz. Kontrol etmek için ROM kodunu bildirip bilgi isterseniz sadece o ROM koda sahip sensör bilgi yollayacaktır. Bu şekilde çalışırken 1 sensör daha ilave ettiniz tekrar programa eklemeniz gerekmiyor. Çünkü tek kablodan çalışan cihazlar otomatik olarak listelenebilirler. Bu konuyu zaten DS18B20 konusunda incelemiştik. Araştırma kodunu vererek port’a bağlı olan sensörlerin listesi alınır. O listedeki ROM kodlarına bilgi sorulur. Bu sensörlerde, ekleme ya da çıkarma söz konusu olduğunda otomatik olarak program tarafından algılanır ve program değişikliğine gerek kalmaz. Videolardan birisi de bu konuyu anlatmaktadır.
Programları indirdiğinizde, PICBASIC dizini PIC işlemciler için programları, Arduino dizini, arduino programlarını, searchrom dizini ise sadece proteus üzerinde gösterilen SEARCH ROM programını içerir.

Burada bahsedilen ve videoda gördüğünüz programları buradan indirebilirsiniz.

iButton çeşitleri 

Gerçek devrede kullanılan DS1990A-F5 model iButtonlarınalındığı site.
iButton probun alındığı site

Arduino Gerçek devre ve proteus Video.

PIC12F683 gerçek devre ve proteus Video.

Search ROM Proteus Video.

Bu konu hakkında olumlu ya da olumsuz görüşlerinizi, yorum kısmına bırakmanızı rica ediyorum.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.