1Bu yazımda daha öncedende bahsettiğimiz TMP102 Sıcaklık sensöründen alınan bilgilerin bir FTP sunucundaki dosyaya yazılması ve bir Android uygulaması ile bu sıcaklık verilerinin okunmasını anlatmayı hedeflenmekteyiz.

Bu ortamın sağlanabilmesi için öncelikli olarak ;

1 – Tmp102 dijital sıcaklık sensörü

2 – Beaglebone yada benzeri işletim sistemine sahip evolotion kit

3 – Android destekli bir cihaz ( simülasyon ortamıda desteklenmektedir. )

1      Proje Amacı

Bu proje global teknolojinin en önemli unsurlarından olan sıcaklık konusunu ele almıştır. Proje öncelikli olarak uzaktan sıcaklık kontrolünü hedef almıştır. Projede 3 ortam bulunmaktadır. Bu yerlerden biri sıcaklık alınacak yer , diğeri ise gezgin cihazın sıcaklığı herhangi bir yerde dijital şekilde görebilmesidir. Üçüncü ortam sunucunun bulunduğu ortamdır 1. ve 2. ortamlar birbirlerinden zamanda bağımsızdırlar.

2      Proje Şeması

1

 

2.1    Beaglebone Black

Beaglebone FTP Server’a USB Wifi dönüştürücü ile bağlıdır. Ayrıca TMP102 sıcaklık sensörüne I2C hattı ile bağlı bulunmaktadır. Bu hattı belirli aralıklarla izlemekte ve sıcaklığı almaktadır.  Alınan verisi FTP Server’a yine aynı periyotta FTP Server’daki sıcaklık dosyasına yazmaktadır.

2.2    Android

Android , Beaglebone ile zamandan ve bağlantıdan bağımsız şekilde bağlıdır. FTP Server’a herhangi bir zamanda bağlanır. Sıcaklık dosyasındaki verileri okuyup grafiksel kullanıcı arayüzüne basmaktadır.

2.3    FTP Server

Belirli bir hedef dosya üzerinde FTP Portu üzerinden paylaşım yapmaktadır. FTP bağlantı bilgileriyle gelen uygulamalar bu dosyaya ulaşabilmektedir. Bu uygulamada hedef Android destekleyen cihazlardır.

3     Proje Algoritması

2

3.1    Beaglebone Black

Beaglebone tarafında bir Timer kurulmaktadır. Bu timerın hangi periyotlarda çalışacağı set edil edildikten sonra tempRead() fonksiyonu çağırılmaktadır. Bu tempRead() fonksiyonu öncelikli olarak I2C üzerinden TMP102 ‘nin adres bloğundan sıcaklık verisini hex olarak alıp ardından stringe çevirmektedir. Bununla beraber cihaz zaman bilgisi alınmaktadır. Zaman bilgisi ve sıcaklık bilgisi belirli bir formatta bir text dosyasına yazılmaktadır. Aynı zamanda tempRead fonksiyonu içerisinden setFTPConnection() çağırılmaktadır. Bu fonksiyon FTP ’ye bağlanıp bu dosyadaki verileri aktarmaktadır.

3.2    Android

Uygulama her bağlanmada setFTPConnection() fonksiyonu üzerinden FTP’ye bağlanır ve hosttaki verileri okumaktadır. Devamında setListviewAdapter() fonksiyonu ile okunan verileri GUI ‘de tasarlanan listview ‘e aktarılmaktadır. Bu işlemde fonksiyonu içerisinde internet bağlantısı bulunmak zorundadır.

4    Proje Şemaları

4.1   Ares Şeması

3

Beaglebone ‘un 2.pin GND , 4.pin +5V , 19 ve 20. Pinler I2C pinleridir.

4.2         Text Dosyası Şeması

4

Sonuç olarak sıcaklık verisi yazıldıktan sonra Android telefon üzerinden okunabilmektedir. Görsellere göz atacak olursak.

Proje dökümanları :  BeagleboneTempSystem

______

Gökhan TARIM
tarim.gokhan@gmail.com