Bu çalışma , http://www.akademikport.com adresinden alınmıştır.
Xbee Nedir?
XBee modüller Digi tarafından geliştirilmiş 868 MHz frekansında çalışan 802.15.4, ZigBee Mesh ve Multi-Point haberleşme protokolüne uygun kablosuz haberleşme modülleridir. Üstün tasarımı ve kolay kullanımı sayesinde bilgisayar ve mikroişlemcili sistemlerle güvenilir ve de kolay bir şekilde seri haberleşme yapmaktadır. Point to Point ve Multi-Point gibi noktadan noktaya veya çok noktalı ağlar içerisinde haberleşmeyi desteklemektedir.
Modülün çıkış gücü 1mW'tan 315mW'a kadar ayarlanabilmekte olup, üzerindeki SMA anten konnektörüne yönlü dipol anten bağlanarak 40 Km'ye (40000 metre) kadar haberleşmesi sağlanabilmektedir.
Modülleri kullanabilmeniz için en 2 adet XBee modüle ihtiyaç vardır.
Özellikleri:
X-CTU Kullanımı
X-CTU programı xbee konfigurasyonlarını yapabileceğiniz ve bilgisayar üzerinde haberleştirmeye gerçekleştirebileceğiniz bir programdır.
Bu programı kullanarak modül adreslemesini yapacak ve modüllerimizin birbirleriyle haberleşmesi sağlanacaktır.
Modülü bilgisayara bağlamak için hem Xbee Usbmodüllerini hem de Arduino üzerinden Xbee shield kullanabiliriz. Bu uygulamada Arduino üzerinden kullanacağız.
Öncelikle Serial haberleşmenin aktif olmadığı boş bir arduino kodu karta yüklenmelidir. Daha sonra shield üzerindeki anahtarı USB konumuna çekmeliyiz.
Burada ID Modem VID değeri haberleşeceğiniz modülle aynı olmalıdır. Bu aşamada diğer değişkenlerin varsayılan ayarında olması bir problem teşkil etmeyecektir.
ba304f3809ed31d0ad97b5a2b5df2a39.jpg
4eab60e55fe4c7dd567a0be28016bff3.jpg
077b83af57538aa183971a2fe0971ec1.png
Kırmızı: Alınan veri, Mavi: Gönderilen veri
Daha sonra Arduino'ya DHT11 takılarak sıcaklık verileri gönderilmesi sağlanmıştır.
6dd4e10e3296fa63738371ec0d5df818.jpg
b8599b9343f82e3bc30984ca4f3fea3f.jpg
Verici Modül Bağlantı Şekli
Alıcı Modül
Uygulama Sonucu
1c67df9e0a5cfefa030b853983324004.jpg
Alıcı modül Seri Port'a veri yazdığı için verici modüle aynı verileri tekrar göndermektedir. Seri Port ekranını kullanmayacaksanız seri porta veri yazma işlemini yapmamanız tavsiye edilir.
Xbee Nedir?
XBee modüller Digi tarafından geliştirilmiş 868 MHz frekansında çalışan 802.15.4, ZigBee Mesh ve Multi-Point haberleşme protokolüne uygun kablosuz haberleşme modülleridir. Üstün tasarımı ve kolay kullanımı sayesinde bilgisayar ve mikroişlemcili sistemlerle güvenilir ve de kolay bir şekilde seri haberleşme yapmaktadır. Point to Point ve Multi-Point gibi noktadan noktaya veya çok noktalı ağlar içerisinde haberleşmeyi desteklemektedir.
Modülün çıkış gücü 1mW'tan 315mW'a kadar ayarlanabilmekte olup, üzerindeki SMA anten konnektörüne yönlü dipol anten bağlanarak 40 Km'ye (40000 metre) kadar haberleşmesi sağlanabilmektedir.
Modülleri kullanabilmeniz için en 2 adet XBee modüle ihtiyaç vardır.
Özellikleri:
- 3.3V @ 500mA
- Veri Hızı: 1.2 kbps ile 230.4 kbps arasında ayarlanabilir.
- 1mW ile 315mW arasında ayarlanabilir.
- Dahili kablo anten
- ISM 868 MHz Çalışma Frekansı
- FCC sertifikası
- 6 adet 10-bit ADC giriş pini
- 13 adet dijital I/O pini
- 128-bit Şifreleme
- Kapalı veya açık alan konfigürasyonu
- AT ve API ayar komutları
X-CTU Kullanımı
X-CTU programı xbee konfigurasyonlarını yapabileceğiniz ve bilgisayar üzerinde haberleştirmeye gerçekleştirebileceğiniz bir programdır.
Bu programı kullanarak modül adreslemesini yapacak ve modüllerimizin birbirleriyle haberleşmesi sağlanacaktır.
Modülü bilgisayara bağlamak için hem Xbee Usbmodüllerini hem de Arduino üzerinden Xbee shield kullanabiliriz. Bu uygulamada Arduino üzerinden kullanacağız.
Öncelikle Serial haberleşmenin aktif olmadığı boş bir arduino kodu karta yüklenmelidir. Daha sonra shield üzerindeki anahtarı USB konumuna çekmeliyiz.
Burada ID Modem VID değeri haberleşeceğiniz modülle aynı olmalıdır. Bu aşamada diğer değişkenlerin varsayılan ayarında olması bir problem teşkil etmeyecektir.
ba304f3809ed31d0ad97b5a2b5df2a39.jpg
4eab60e55fe4c7dd567a0be28016bff3.jpg
077b83af57538aa183971a2fe0971ec1.png
Kırmızı: Alınan veri, Mavi: Gönderilen veri
Daha sonra Arduino'ya DHT11 takılarak sıcaklık verileri gönderilmesi sağlanmıştır.
6dd4e10e3296fa63738371ec0d5df818.jpg
b8599b9343f82e3bc30984ca4f3fea3f.jpg
Verici Modül Bağlantı Şekli
#include // dht11 kütüphanesini ekliyoruz.
#define DHT11PIN 2 // DHT11PIN olarak Dijital 2"yi belirliyoruz.
dht11 DHT11;
unsigned long int zaman = 0;
void setup() { Serial.begin(9600);
zaman = millis(); // Arduino çalışma süresini zaman değişkenine atıyor
}
void loop() { if (millis() > zaman + 1000) { // Bu şart sayesinde veri gönderimi saniyede bir gerçekleşiyor
// Bu işlem delay(1000); fonksiyonu ile gerçekleşirse program veri okuma işlemini saniyede bir yapar
int kontrol = DHT11.read(DHT11PIN);
Serial.print("Nem: ");
Serial.println((float)DHT11.humidity, 2);
Serial.print("Sicaklik:");
Serial.println((float)DHT11.temperature, 2);
zaman = millis(); } }
#define DHT11PIN 2 // DHT11PIN olarak Dijital 2"yi belirliyoruz.
dht11 DHT11;
unsigned long int zaman = 0;
void setup() { Serial.begin(9600);
zaman = millis(); // Arduino çalışma süresini zaman değişkenine atıyor
}
void loop() { if (millis() > zaman + 1000) { // Bu şart sayesinde veri gönderimi saniyede bir gerçekleşiyor
// Bu işlem delay(1000); fonksiyonu ile gerçekleşirse program veri okuma işlemini saniyede bir yapar
int kontrol = DHT11.read(DHT11PIN);
Serial.print("Nem: ");
Serial.println((float)DHT11.humidity, 2);
Serial.print("Sicaklik:");
Serial.println((float)DHT11.temperature, 2);
zaman = millis(); } }
Alıcı Modül
void setup() {
Serial.begin(9600);
}
void loop() {
while (Serial.available() > 0) {
Serial.print(Serial.read());
}
}
Serial.begin(9600);
}
void loop() {
while (Serial.available() > 0) {
Serial.print(Serial.read());
}
}
Uygulama Sonucu
1c67df9e0a5cfefa030b853983324004.jpg
Alıcı modül Seri Port'a veri yazdığı için verici modüle aynı verileri tekrar göndermektedir. Seri Port ekranını kullanmayacaksanız seri porta veri yazma işlemini yapmamanız tavsiye edilir.