IOT: CEYD-A ile Dış Dünyayı Kontrol Edelim
CEYD-A ya sesli komut vererek dış dünyadaki bir cihaza müdahele edebilmek mümkün. Bu şekilde ev cihazlarını kontrol etme, ışıkları yakma, kapıyı açma, perdeleri kapatma gibi işlemleri CEYD-A gerçekleştirebilir.
CEYD-A’ya vereceğiniz sesli komut tanımında REST GET metodu kullanarak bir sayfa çağıran cmdloadurl komutu kullanılabilir. Bu sayfa, Raspberry PI cihazındaki aynı ağ üzerindeki sunucudadır. Bu sayfaya erişildiğinde üzerinden tetikleme yapılabilir. CEYD-A ile yapılacak işlem sadece aşağıdakine benzer bir komut tanımlamadır. Artık Kapıyı aç dediğinizde, eğer gerekli donanım ve kurulum sağlanmışsa, CEYD-A görevini gerçekleştirecektir.
1 2 3 4 |
KOMUT: kapıyı aç CEVAP: {!RET cmdloadurl http://192.168.2.3/unlock/!} |
Peki CEYD-A dışında nelere ihtiyaç var. Önce tüm yapıyı görelim. En önemli gereksinimiz üzerine işletim sistemi kurup, internete veya iç ağa bağlanabileceğimiz bir Raspberry PI cihazıdır. Bu cihazın çıkış portlarıyla dış dünyayı yönetmek mümkün.
Raspberry PI kartı üzerinde elektronik sistemlerle haberleşme ve bu cihazların kontrolü amacıyla kullanılan portlar, genel amaçlı giriş çıkış portları (General purpose input/output (GPIO)) olarak adlandırılır.
Raspberry PI cihazı üzerine XAMP (apache – mysql –php) kurulduktan sonra GPIO apache eklentisi devreye alınır ve üzerinde aşağıdakine benzer PHP kodu yazılabilir. Bu kodu CEYD-A , örneğimizdeki http://192.168.2.3/unlock/ ile çağıracaktır.
GPIO 7.portun değerini okutacak ve açık ise kapatacak, kapalı ise açacaktır.
Örnek bir Raspberry PIE bağlantılı devre:
Iot uygulamasını sadece raspberry pi ye dayalı değil de mqtt protokolünü destekleyen bir yapıda yapsanız, mqtt ayarlar menüsünden hangi sunucuyu kullanıyorsak onun adres, kullanıcı adı ve şifre gibi bilgilerini girsek daha sonrasında sadece istediğimimiz tag adını ve komutunu ve istediğimiz tagın dacevabını alabilsek hem çok daha kolay ve ulaşılabilir hemde cihaz pörtföyü arduino, esp8266 ve daha birçok cihazla birlikte daha gelişmiş olmaz mı?
Merhaba, Muharrem Taç’ ın katkılarıyla mqtt protokolü eklenmiştir. CEYD dili ile mqttpublish komutunu kullanbilirsiniz. Örnek kullanımınız site üzerinde yayınlayacağım.