Raspberry-Server İletişimi
Oyunun oynanabilmesi için temin edilen iki gözlüğün birbiri ile haberleşmesindeki en temel iletişim Raspberry-Server iletişimidir. Raspberry’nin üzerinde bulunan Wifi modülü sayesinde Server ile iletişim sağlanır. Burada serverın sağlamış olduğu port numarası özeldir ve Raspberry tarafından bilinmektedir. Bu sayede farklı cihazların Server a bağlanması engellenmiştir. Wifi modüllerinin portlarının bağlanabilir(accessible) duruma gelmesi ile birlikte Raspberry-Wifi Modülü-Server iletişim üçgeni aktif hale gelir ve etkileşim başlar. Uygun yapıdaki veriler bu iletişim üçgeninde işlenerek sistemin sürdürülebilirliği sağlanır. Server her iki data glass içinde bir köprü görevi görecek ve aldığı verileri gerekli şekilde işleyip data glasslara aktaracaktır.
Data Glass’ların eşleştirilmesi gerçekleştirildikten sonra Raspberry’lerin Gyro’lardan toplattığı eğim bilgileri Servera istek atılarak iletilecek, server aldığı bu istekler ile oyundaki çubukların hareketlerini gerçekleştirecek ve topu gerekli açılarla sabit hızla hareket ettirecektir. Bu aşamada elde edilen görüntü bitleri ise sürekli olarak oyunu oynayan Raspberry’lere kurulan OLed ekranlara iletilecek, böylece Data Glass da oyun gösterilecektir.
Raspberry-Gyro İletişimi
Gyro sensörü yön belirleme amacı ile kullanılan sensörlerden biridir. Açısal hızı algılayabilen bu sistem sabit duran bir cismi, üç dikey eksende açısal olarak karşılaştırarak cismin dönüş yönünü ve hızını belirler. Proje için geliştirilecek olan "Pong" ve “Arkanoid” oyunlarında, oyuncunun kafasını sağa veya sola hareket ettirmesiyle Gyro sensörü tarafından elde edilen veriler Raspberry’ye aktarılacaktır. Bu iletişim için Standart İletişim Protokollerinden birisi olan I2C protokolü kullanılacaktır.
I2C protokolü Bir Raspberry bir diğer Raspberry veya sensörlerle iletişime geçebilmesini sağlamaktadır. I2C (Inter-Integrated Circuit) senkron haberleşme yapan seri haberleşme türlerinden biridir. Dijital sistemlerde kablolu seri haberleşme ile ilgili birçok standart vardır, bu standartlar arasında I2C protokolü oldukça hızlı veri aktarımı olanağı sağlamaktadır. Basit, düşük bant genişliğine sahip, kısa-mesafe protokolüdür. Buna ek olarak I2C ile birden fazla cihazı haberleştirmek kolaydır çünkü içerisinde adresleme planı da bulunmaktadır. Oled ekran ve Gyro donanımları I2C bus’ını aynı anda kullanmaktadır. Aralarındaki farkı ifade edebilmek için gerekli büyüklüklerde dirençler kullanılmaktadır.
Bunun yanı sıra Raspberry ve Gyro’nun iletişimi 9600 baud rate’i ile gerçekleştiriliyor. Gyro üzerinden alınan eğim ve ivme verileri Raspberry’ye aktarılıyor.
Raspberry-Ekran İletişimi
Tasarlanan ve modellenen oyunların kullanıcıya gösterilmesi gözlük üzerine yerleştirilecek olan Oled ekran yardımıyla gerçekleştirilecektir. Oled ekran ve Raspberry iletişim halinde olacak ve veri akışı sağlanacaktır. Bu iletişim için SPI (Serial Peripheral Interface) protokolü kullanılacaktır. SPI, Rasberry’nin desteklediği senkron seri haberleşme türlerinden biridir. Özellik ve kullanım olarak Gyro-Raspberry arasında kullandığımız I2C protokolü ile benzerlik göstermektedir. Gyro sensörünün Server’a sağladığı bilgileri kullanarak raketlerin ve topun konumu ekrana yansıtılıyor.
Oled ekran ve Gyro donanımları I2C bus’ını aynı anda kullanmaktadır. Aralarındaki farklı ifade edebilmek için gerekli büyüklüklerde dirençler kullanılmaktadır. Bunun yanı sıra Raspberry ve ekranın iletişimi 9600 baud rate’i ile gerçekleştiriliyor. Server’dan gelen veriler ekranda gösterilmektedir.