İçindekiler:

Sera Otomasyonu: 11 Adım
Sera Otomasyonu: 11 Adım

Video: Sera Otomasyonu: 11 Adım

Video: Sera Otomasyonu: 11 Adım
Video: İKLİM KONTROLÜ & VERİ KAYIT SİSTEMİ (İOT SERA OTOMASYONU) 2024, Temmuz
Anonim
Yeşil Ev Otomasyonu
Yeşil Ev Otomasyonu

Sera otomasyonu, bir seranın üç parametresinin yani Toprak Nemi, Sıcaklık ve Nem'in kullanıcı tarafından bir web tarayıcısı kullanılarak uzaktan izlendiği bir projedir.

Adım 1: Gerekli Bileşenler

Gerekli Bileşenler
Gerekli Bileşenler
Gerekli Bileşenler
Gerekli Bileşenler
Gerekli Bileşenler
Gerekli Bileşenler

Gerekli bazı temel bileşenler aşağıda listelenmiştir

1. Ahududu PI Model B

2. NodeMCU Geliştirme Kurulu

3. ESP8266 Wifi modülü

4. Nem Sensörü

5. DHT11 Sıcaklık ve Nem Sensörü

6. 5V Tek Kanallı Röle

7. 5V Dalgıç Su Pompası

8. Ekmek Tahtası

9. Ekmek Tahtası Güç Kaynağı Modülü

2. Adım: Dil ve Protokol

Dil ve Protokol
Dil ve Protokol
Dil ve Protokol
Dil ve Protokol
Dil ve Protokol
Dil ve Protokol
  • Mikro denetleyiciler için C Dili kullanılmaktadır.
  • MQTT Mesajlaşma: MQTT, MQ Telemetri Taşımacılığı anlamına gelir. Kısıtlı cihazlar ve düşük bant genişliği, yüksek gecikme süresi veya güvenilmez ağlar için tasarlanmış, yayınla/abone ol, son derece basit ve hafif bir mesajlaşma protokolüdür. Tasarım ilkeleri, ağ bant genişliğini ve cihaz kaynak gereksinimlerini en aza indirirken aynı zamanda güvenilirliği ve bir dereceye kadar teslimat güvencesini sağlamaya çalışmaktır. Bu ilkeler aynı zamanda protokolü, gelişmekte olan “makineden makineye” (M2M) veya bağlı cihazların “Nesnelerin İnterneti” dünyası ve bant genişliği ve pil gücünün yüksek olduğu mobil uygulamalar için ideal hale getiriyor.
  • Python programı, su akışını ve veritabanı bağlantısını otomatikleştirmek için kullanılır.

Adım 3: Eclipse Mosquitto MQTT Broker

Eclipse Mosquitto MQTT Broker
Eclipse Mosquitto MQTT Broker

Burada düğümler arasındaki kolay mesaj iletişimi için Mosquitto MQTT Broker'ı kullandım.

Eclipse Mosquitto, MQTT protokolünün 5.0, 3.1.1 ve 3.1 sürümlerini uygulayan açık kaynaklı (EPL/EDL lisanslı) bir mesaj aracısıdır. Sivrisinek hafiftir ve düşük güçlü tek kartlı bilgisayarlardan tam sunuculara kadar tüm cihazlarda kullanıma uygundur.

MQTT protokolü, bir yayınlama/abone olma modelini kullanarak mesajlaşmayı gerçekleştirmek için hafif bir yöntem sağlar. Bu, düşük güçlü sensörler veya telefonlar, gömülü bilgisayarlar veya mikro denetleyiciler gibi mobil cihazlar gibi Nesnelerin İnterneti mesajlaşması için uygun hale getirir.

Mosquitto projesi ayrıca MQTT istemcilerinin uygulanması için bir C kitaplığı ve çok popüler mosquitto_pub ve mosquitto_sub komut satırı MQTT istemcileri sağlar.

Adım 4: Tüm Projede Veri Akışı

Yukarıdaki resimde düğümler

  1. DüğümMCU
  2. ahududu PI
  3. ESP8266

NodeMCU, Green House'un algılama kısmıdır ve ESP8266, sensörlere göre zemin suya ihtiyaç duyduğunda suyu besleyen çalıştırma kısmıdır.

Raspberry PI, Mosquitto Broker'ı ve MQTT Broker'dan gelen mesajlara abone olan ve verileri bir SQL sunucusunda saklayan bir Python istemcisini içerir.

Adım 5: Sensörlerin NodeMCU ile Bağlantısı

NodeMCU ile Sensörlerin Bağlantısı
NodeMCU ile Sensörlerin Bağlantısı

DHT11 sıcaklık ve nem sensörü ve su nem sensörü 3,3 voltta çalışabilmektedir.

NodeMCU, 3,3 volttan fazlasını sağlayamaz. Böylece sensörler, NodeMCU mikrodenetleyici kartına doğrudan bağlanabilir.

Adım 6: Dalgıç Su Pompasının ESP8266 ile Bağlantısı

Dalgıç Su Pompasının ESP8266 ile Bağlantısı
Dalgıç Su Pompasının ESP8266 ile Bağlantısı
Dalgıç Su Pompasının ESP8266 ile Bağlantısı
Dalgıç Su Pompasının ESP8266 ile Bağlantısı

Gerektiğinde suyu sağlamak için bir dalgıç su pompası kullanılır.

Su pompasının çalışması için 5 voltluk bir güç kaynağına ihtiyacı vardır.

Motoru bağlamak için tek kanallı bir röle gereklidir. ESP8266'nın GPIO2 pimi etkinleştirildiğinde röle açılır ve dalgıç su pompasını kullanarak suyu otomatik olarak sağlar.

Burada ESP8266 kartına, Röleye ve dalgıç su pompasına harici güç kaynağı sağlanır.

Tam donanım bağlantım yukarıdaki resimde.

7. Adım: Mosquitto Broker Kurulumu ve Raspberry Pi'de Python Programını Çalıştırma

Raspberry PI'de Mosquitto aracısını kurma adımları aşağıdadır.

Terminali açın ve aşağıdaki komutları yazın

sudo apt-add-deposu ppa:mosquitto-dev/mosquitto-ppa

sudo apt-get güncellemesi

sudo apt-get kurulum sivrisinek

sudo apt-get install sivrisinek istemcileri

Sivrisinek otomatik olarak başlamalıdır.

Kullanmam gereken hizmeti durdurmak ve başlatmak için

sudo hizmeti durdurma sivrisinek

sudo hizmeti sivrisinek başlat

Çoğu sitenin nerede kullanıldığını keşfettim.

sudo /etc/init.d/sivrisinek durdurma

Adım 8: MQTT Nasıl Çalışır?

MQTT Nasıl Çalışır?
MQTT Nasıl Çalışır?

MQTT, IoT projelerinde en yaygın kullanılan protokollerden biridir. Message Queuing Telemetri Aktarımı anlamına gelir.

Ayrıca, istemciler ve sunucu arasında veri alışverişi yapmak için yayınlama/abone olma işlemlerini kullanan hafif bir mesajlaşma protokolü olarak tasarlanmıştır. Ayrıca, küçük boyutu, düşük güç kullanımı, en aza indirilmiş veri paketleri ve uygulama kolaylığı, protokolü “makineden makineye” veya “Nesnelerin İnterneti” dünyası için ideal kılar.

Diğer herhangi bir internet protokolü gibi, MQTT de istemcilere ve bir sunucuya dayanmaktadır. Aynı şekilde, sunucu, müşterinin birbirleri arasında veri alma veya gönderme isteklerini yerine getirmekten sorumlu olan kişidir. MQTT sunucusuna aracı denir ve istemciler sadece bağlı cihazlardır. Yani:

* Bir aygıt (istemci) aracıya veri göndermek istediğinde, bu işleme “yayınla” diyoruz.

* Bir aygıt (bir istemci) aracıdan veri almak istediğinde, bu işleme "abone ol" diyoruz.

Adım 9: NodeMCU ve ESP8266'nın Programlanması

NodeMCU ve ESP8266 Mikrodenetleyici kartı için kaynak kodu aşağıdadır

Adım 10: Bir Web Sayfası Tasarlama ve SQL Veritabanına Bağlanma

Web Sayfası HTML, CSS ve PHP dili kullanılarak tasarlanmıştır.

PHP, sensör okumalarını veritabanından çıkarmak ve HTML sayfasında göstermek için kullanılır.

Bu projenin kalbi olarak bir python programı kullanılmıştır.

Python programının yaptığı işler aşağıdaki gibidir.

  1. Sensörün sensör okumalarını gönderdiği bir konuya abone olur.
  2. MQTT komisyoncusuna su pompası açma/kapama komutunu yayınlar.
  3. Sensör okumasını bir SQL veritabanında saklar.

Burada benim durumumda python programı ve SQL veritabanı bir Dizüstü Bilgisayarda mevcut. Bir Yerel Ana Bilgisayar aracılığıyla çalışan web sayfası.

Python programımın Kaynak kodu aşağıdadır.

Adım 11: Çalışmayı Tamamlayın

Komple Çalışma
Komple Çalışma

İşlemin devam ettiği adımlar aşağıdadır.

  1. NodeMCU, algılama parçası olarak çalışır ve Sıcaklık, Nem ve toprak nem seviyesini okur.
  2. Okumaları "Konu 1" konusuyla MQTT aracısına gönderir
  3. Bir dizüstü bilgisayarda python programı çalışıyor ve MQTT komisyoncusu ile "Konu 1" konusuna abone oluyor.
  4. NodeMCU okumaları gönderdiğinde, Mosquitto MQTT Broker verileri hemen python programına gönderir.
  5. Python programı daha sonra Green House'da su ihtiyacı olup olmadığını hesaplar. Daha sonra okumaları SQL Veritabanında saklar.
  6. Green House'da suya ihtiyaç duyulursa, python programı Mosquitto MQTT komisyoncusuna "Konu 2" başlığıyla su pompası açma/kapama mesajı yayınlar.
  7. ESP8266 bir aktüatör olarak çalışır. Python programının mesajı hangi konuda yayınladığı "Konu 2" konusuna abone olur. Python programı herhangi bir mesaj yayınladığında, mesaj hemen ESP8266'ya aktarılır. Açma/kapama mesajına göre dalgıç su pompasını açar/kapatır.
  8. Web sayfasındaki canlı okumaları görüntülemek için son aşama. Web sayfası, python programının verileri doğrudan depoladığı SQL veritabanından verileri alır ve okumaları sayfada görüntüler.

Önerilen: