Windows 10 IoT Üzerinden Raspery Pi ve Ardunio Birlikte Etkileşimli Kullanım – Sensör Uygulaması
Bu makale içerisinde sizlerle Windows 10 IoT Core işletim sistemi üzerinde Visual Studio 2015 ,C# dil yapısını kullanarak, Ardunio ve Rasperry Pi ile Isı ve Nem sensörü uygulaması geliştireceğiz. Burdaki asıl amaç farklı donanım platformlarına sahip olan iki farklı IoT ağ geçit kartlarının birbirine çift yönlü bağlı olarak etkileşimde olmasıdır.
Öncelikle hazır kaynak kod kütüphaneleri kullandığımızı bilmenizde fayda var. IoT geliştirme ve vizyon platformlarında, elektronik, yazılımı, network ve IoT gibi bir çok meslek uzmanlığı gerektiren alanlarda tüm alt bileşenlere hakim olmanız biraz zaman alacak bir durum.
Hazır kütüphane ve çizimlerden faydalanma metodlarını ve bu çizimler üzerindeki dikkat edilmesi gereken noktalara ayrıca adım adım değineceğiz.
IoT elektronik devre dizaynı ve elektronik komponent arşivlerini tek tek taramak yerine, aşağıdaki linkten “fritzing” aracını indirip, özelleştirilmiş dizaynlar yapabilirsiniz veya mevzut kullanılan hazır çalışan çizimler üstünden veriler elde edebilirsiniz.
http://fritzing.org/download/?donation=0 Çizimleri oluşturmak, görüntülemek ve dizayn şablonları için indirmenizde fayda var. Baskı devre, breadboard, pcb aktarımı ve kaynak kod gibi tüm detaylar üstünde çalışabileceğiniz çok faydalı bir araç.
Genel çizim araçları hakkında bilgi aktardıktan sonra, ardunio ve rasperry pi kartlarımızın pinout çıkışlarını tanıyalım. Pinout çıkışlarını bilmek çok önemli kartların ve kartların kontrol edeceği elektronik devrelerin bağlantı şemaları için kritik bir konu.
Aşağıdaki Pinout ve Kart Resmi Rasperry Pi2 kartına aittir.
Kart üzerindeki pinout şemasının detaylarına ve temel elektronik bilgisine haiz olmanız gerekmektedir.
Aşağıdaki görsel Ardunio Uno kartına aittir.
Devre içerisinde kullanacağımız DHT 11 sensörüne ait pinout çıktısı aşağıdaki gibidir.
http://playground.arduino.cc//Main/DHTLib DHT sensörüne ait kaynak kod kütüphane detaylarına erişebilirsiniz.
Ardunio ve Rasperry Pi kablo bağlantı şeması ve Sensörle birlikte devrenin fiziksel şeması aşağıdaki gibidir.
Windows 10 IoT Core üstünden Visual Studio veya Ardunio IDE derleyicisi ile aşağıdaki kaynak kodu uygulayarak Ardunio üzerinden sensör verilerini okumaya başlayabilirsiniz.
Kaynak kod aşağıdaki gibidir.
#include < Wire.h>
#define SLAVE_ADDRESS 0x40 // Define the i2c address
#include < dht.h>
dht DHT;
#define DHT11_PIN 4
char tempera[5];
void setup()
{
Serial.begin(9600);
Wire.begin(SLAVE_ADDRESS);
}
void loop()
{
// READ DATA
Serial.print(“DHT11, \t”);
int chk = DHT.read11(DHT11_PIN);
switch (chk)
{
case DHTLIB_OK:
Serial.print(“OK,\t”);
break;
case DHTLIB_ERROR_CHECKSUM:
Serial.print(“Checksum error,\t”);
break;
case DHTLIB_ERROR_TIMEOUT:
Serial.print(“Time out error,\t”);
break;
case DHTLIB_ERROR_CONNECT:
Serial.print(“Connect error,\t”);
break;
case DHTLIB_ERROR_ACK_L:
Serial.print(“Ack Low error,\t”);
break;
case DHTLIB_ERROR_ACK_H:
Serial.print(“Ack High error,\t”);
break;
default:
Serial.print(“Unknown error,\t”);
break;
}
dtostrf(DHT.temperature, 4, 2, tempera);
Wire.onRequest(sendData);
delay(2000);
}
void sendData()
{
Wire.write(tempera);
}
Kaynak kodu kopyaladıktan sonra, Visual Studio 2015 üzerinde “Solution Explorer” –“Build” projeye isim verip ardından , “Tools” –“Options” – “Project and Solutions” – “Build and Run” – “Only Build startup projects” ve son olarak “Menu” sekmesinden – “Debug , Start” seçeneklerini takip ederek kodu çalıştırıp , kod çıktısını ve ısı çıktılarını okuyabilirsiniz.
VEYA
Aşağıdaki aşamaları takip ederek Ardunio IDE derleyicisi üstünde çalışınız.
Son olarak kod çıktılarının değerlerini okuyabilirsiniz.
Keyifli uygulamalar.