Kablosuz Ev Otomasyonu Cihazları ve nRF24L01

WIRELESS HOME AUTOMATION MODULE

Şurada birkaç cevap var.

XBEE

XBEE’lerin kullanımı birkaç kitapta ve Sparkfun’daki şu linkte detaylıca bahsedilmiş. Ayrıca Openhomeautomation’daki şu yazıda da var. Robotistan ve F1Depo’daki fiyatları şöyle.

Seri1 olarak tavsiye edilen şu cihazdı. Örnek Relay’li kod olarak forum.arduino.cc’de bulmuştum. Bir de ayrı  nrf24l01 – Xbee’li bir röle var piyasada.

CC3000 WiFi chip

https://learn.adafruit.com/wireless-power-switch-with-arduino-and-the-cc3000-wifi-chip/introduction

nrf905se

Bu da birkaç yer tarafından tavsiye edildi ama hiç girişmedim.

http://www.yesilkoyelektronik.com/arduino-karakoy/2012-wireless-modul-nrf905se.html?search_query=433mhz&results=4

http://www.robotistan.com/arama?B=Arama&Kid=T%C3%9CM+KATEGOR%C4%B0LERDE&q=nrf905&St=1

nRF24L01

En çok tavsiye edilen kablosuz modül bu. 2006 civarında piyasaya çıkmış. Şurada basit bir tutorial’ı var. Ayrıca Playground.Arduino.CC’de bahsedilmiş. Fiyatları harika ucuz. Sayfasında detaylıca bahsedeceğim. Yesilköy elektronik ve Robotistan’da da var.

esp8266

https://learn.adafruit.com/home-automation-in-the-cloud-with-the-esp8266-and-adafruit-io/hardware-and-software-requirements

Diğer:

http://www.sahibinden.com/teknik-elektronik?query_text=arduino+433mhz

nRF24L01 & RF24 Library

http://playground.arduino.cc/InterfacingWithHardware/Nrf24L01

Bağlantısı çoğu yerde yanlış. Sağlıklı bağlantı değil. Kapasitör ihtiyacı olması oldukça baydı.

Leyimlemek zorunda kaldım…

https://maniacbug.wordpress.com/2011/11/02/getting-started-rf24/

https://rlogiacco.wordpress.com/2015/09/21/nrf24-walk-through-building-the-sensors/

A few issues:

EEPROM nRF24L01 node

nRF24L01 & pipes

// nRF24 address family: all addresses will be in the format 0xFACEC0DE## with the last two
// bytes determined by the node identifier.
#define ADDR_FAMILY 0xFACEC0DE00LL
#define MAX_ID_VALUE 26

// This node unique identifier: 0 is used for the hub, anything above MAX_ID_VALUE is considered
// not valid
byte nodeId = 255;

// Read the address from EEPROM
byte reading = EEPROM.read(EEPROM_ADDR);

// Initialize the transceiver
radio.begin();
radio.setAutoAck(true); // Enables auto ack: this is true by default, but better to be explicit
radio.enableAckPayload(); // Enables payload in ack packets
radio.setRetries(1, 15); // Sets 15 retries, each every 0.5ms, useful with ack payload
radio.setPayloadSize(2); // Sets the payload size to 2 bytes
radio.setDataRate(RF24_2MBPS); // Sets fastest data rate, useful with ack payload

// Opens the first input pipe on this node address
radio.openReadingPipe(1, ADDR_FAMILY + nodeId);

// Opens the first input pipe on this node address. 2 is pipe number. We can have up to 6 Transmitters talking to the same receiver. Telling this receiver that this transmitter is communicating on Pipe 2:
radio.openReadingPipe(2, ADDR_FAMILY + 254);
// Prints current configuration on serial
radio.printDetails();

// Sets the destination address for transmitted packets to the hub address
radio.openWritingPipe(ADDR_FAMILY);

// Put transceiver in transmit mode
radio.stopListening();

// Put transceiver in receive mode
radio.startListening();

nRF24L01 Genel Plan:

  1. Adres ve node tanımlama ve Eeprom’a kaydetme
    1. Adres tanımlama
    2. Adres öğrenme
  2. Pipe tanımlama
    1. Transmitter
      1. Write Data to Receiver (Reading pipe for receiver)
        1. radio.openWritingPipe(ADDR_FAMILY);
      2. Read Data from Receiver
        1. radio.openReadingPipe(1, ADDR_FAMILY + nodeId);
        2. radio.stopListening();
  3. Receiver ve Transmitter tanımlama stopListening , startListening ve arası iletişim

one common pipe address (autoacknowledge-disabled)
could be used for all nodes, one sending, all other listening.
It is also possible to disable the autoacknowledge for a single send, or even global

http://forum.arduino.cc/index.php?topic=261258.0

nRF24L01 ve Pipe’lar (hatlar) Hakkında Bilinmesi Gerekenler:

  1. Sensörlere, nodelara, alıcılara yazmak için tek bir yazma pipe’ı var. Ama bu pipe’ın değerini konuşmak istediğimiz adresin değerine değiştirebiliriz
  2. Okumak için 6 okuma pipe’ı var. 40bit Adresler (ie. 0xFACEC0DE00) ile sadece 2 okuma pipe'ı (0 ve 1) ilgileniyor. 0 otomatikman yazılan adres (ve bu adresten kabul almak için kullanılıyor. Bu demekki 1'den 5'e kadar olan Pipe'lar aynı upper 32bit'i paylaşıyor ama okuma pipe'larının adreslerini değiştirebiliyoruz. 
  3. 0x0000000000, 0xFFFFFFFFFF gibi adresler dışında hepsi ok.
  4. ack packet payload ile hub’dan receiver’lara veri gönderebiliyoruz.
  5. Okuma PIPE’ları sizin konuştuğunuz adrese göre değil. Dinlemek istediğiniz adrese göre. Posta kutunuz ya da kutularınız gibi….

Become the primary transmitter (ping out)

Node: 0xfacec0de00

Adresler: 0xfacec0de01  – 0xfacec0de02 – 0xfacec0de03 – 0xfacec0de04

Sensor: https://raw.githubusercontent.com/rlogiacco/nRF24-Walk-Through/master/sensor/sensor.ino

Hub: https://raw.githubusercontent.com/rlogiacco/nRF24-Walk-Through/master/hub/arduino/hub.ino

role = role_ping_out;

PUSH BUTTON

Send attempt from node C was successful
Hub response packet received with value 1
Got response from hub: total click count is 1

Send attempt from node C was successful

DEBUG(“Send attempt from node %c was %s”, nodeId + 64, write ? “successful” : “UNSUCCESSFUL”);
Hub response packet received with value 4

DEBUG(“Hub response packet received with value %u”, clickcount);
Got response from hub: total click count is 8

DEBUG(“Got response from hub: total click count is %u”, clickcount);

Reklamlar

One response

  1. […] BUTTON LIBRARY eklemiş bir örneği denerken şunu yapmam gerekti Kablosuz Ev Otomasyonu Cihazlarıradio.openReadingPipe(1, ADDR_FAMILY + nodeId); → Ekim 23, 2015 · 8:00 pm ↓ Jump to […]

    Beğen

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

w

Connecting to %s

%d blogcu bunu beğendi: