İçindekiler:

IoT Kablosuz Sıcaklık ve Hareket Sensörü: 11 Adım (Resimlerle)
IoT Kablosuz Sıcaklık ve Hareket Sensörü: 11 Adım (Resimlerle)

Video: IoT Kablosuz Sıcaklık ve Hareket Sensörü: 11 Adım (Resimlerle)

Video: IoT Kablosuz Sıcaklık ve Hareket Sensörü: 11 Adım (Resimlerle)
Video: iPhone'da kesinlikle yapmanız gereken ayarlar! #shorts 2024, Temmuz
Anonim
IoT Kablosuz Sıcaklık ve Hareket Sensörü
IoT Kablosuz Sıcaklık ve Hareket Sensörü

Instructables'taki birçok IoT projesinden ilham aldım, bu yüzden öğrenme sürecinde alakalı bazı faydalı uygulamaları birleştirmeye çalışıyorum. IoT Sıcaklık sensörüyle ilgili önceki Talimatlarımın uzantısı olarak, artık alt sisteme daha fazla yetenek ekledim. Eklenen işlevler şunlardır:

- Zamanı almak için NTP bağlantısı

- Uzaktan kontrol edilebilen LED

- Hareketi algılamak için PIR sensörü

- iPhone "Home" ile bağlantıya izin vermek için bağlı Raspberry PI çalışan ev seti

Adım 1: Konsept, Bağlantı ve Bileşenler

Konsept, Bağlantı ve Bileşenler
Konsept, Bağlantı ve Bileşenler

Yukarıda gösterilen konsept, evde biri varsa hareketi algılamak ve LED aracılığıyla bildirime izin vermek için ek yetenekle birlikte sıcaklığın uzaktan izlenmesine izin vermektir. Üniteye LAN üzerinden yerel olarak veya web sunucusu aracılığıyla uzaktan erişilebilir. Ahududulu turtayı (isteğe bağlı), iPhone "Home" Uygulamasına bağlantı sağlamak için takılı Homekit aksesuarı ile de bağlayabilirsiniz.

Önceki sürümde olduğu gibi, bu projede aşağıdaki bileşenler gereklidir, lütfen aşağıdaki bağlantının bir bağlı kuruluş bağlantısı olduğunu unutmayın, bu nedenle katkıda bulunmak istemiyorsanız doğrudan gidin.

- NodeMcu Lua ESP8266 geliştirme kartı. Ben benimkini banggood'dan alıyorum.

- LM35 sıcaklık sensörü

- PIR sensörü

- LED

- Prototip panosu

-Arduino IDE'si

- php sunucusu komut dosyası etkinleştirilmiş çalışan web sunucusu

- Ahududu pi (Opsiyonel)

Adım 2: Arduino IDE'nin Çalışmasını Sağlayın

Arduino IDE'yi Çalıştırın
Arduino IDE'yi Çalıştırın

Bu adımla ilgili ayrıntılar için lütfen ESP8266 ile IoT Sıcaklık sensörüyle ilgili önceki Adım 2. talimatlarıma bakın.

Adım 3: Sıcaklık Sensörünün, LED'in ve PIR'nin Bağlanması

Sıcaklık Sensörünün, LED'in ve PIR'nin Bağlanması
Sıcaklık Sensörünün, LED'in ve PIR'nin Bağlanması
Sıcaklık Sensörünün, LED'in ve PIR'nin Bağlanması
Sıcaklık Sensörünün, LED'in ve PIR'nin Bağlanması
Sıcaklık Sensörünün, LED'in ve PIR'nin Bağlanması
Sıcaklık Sensörünün, LED'in ve PIR'nin Bağlanması

Sıcaklık sensörü LM35'in 3 bacağı vardır, ilk bacak VCC'dir, bunu 3.3V'a bağlayabilirsiniz (ESP8266 kartının çıkışı 3.3V'dir). Ortadaki bacak Vout'tur (sıcaklığın okunduğu yer, bunu ESP8266 pin AD0'ın analog girişine bağlayabilirsiniz, bu resimde gösterildiği gibi kartın sağ üst tarafında bulunur. Sağ bacak olmalıdır. yere bağlı.

PIR sensörü de 3 ayaktan oluşuyor, ayağın yanındaki PCB üzerinde +, 0, - şeklinde minik bir işaret görebilirsiniz. Bu yüzden "+"yı 3.3V'a, "-"yi toprağa ve orta pini "0"ı ESP8266'nın D6 pinine bağlayın.

LED'in sadece 2 bacağı vardı, "+"(Anot), daha uzun bacak bunu ESP8266'nın D5 pinine bağlar ve "-" (Katot) daha kısa bacaklar toprağa (GND) bağlanmalıdır.

4. Adım: Bulut Web Sunucusunu Kurma

Bu adım için belirli bir varsayım vardır:

Uygun bir etki alanında barındırılan, çalışan bir web sunucunuz zaten var. Ve Filezilla veya başka bir FTP programı kullanarak FTP aracılığıyla web sunucunuza dosya aktarmaya aşinasınız.

Ekli zip dosyasını web sitenizin kök dizinine yükleyin. Bu alıştırma için web sitenizin "https://arduinotestbed.com" olduğunu varsayalım.

Tüm dosyanın web sunucusunun kökünde bulunduğu varsayılır, eğer başka bir klasörde sakladıysanız, lütfen dosya konumunu hem ArduinoData3.php dosyasında hem de Arduino taslağında buna göre ayarlayın. Emin değilseniz lütfen bana bildirin, yardımcı olmak için elimden gelenin en iyisini yapacağım.

Adım 5: Sıcaklık Verilerini Tutmak için Veritabanını Ayarlama

Sıcaklık Verilerini Tutmak için Veritabanını Ayarlama
Sıcaklık Verilerini Tutmak için Veritabanını Ayarlama
Sıcaklık Verilerini Tutmak için Veritabanını Ayarlama
Sıcaklık Verilerini Tutmak için Veritabanını Ayarlama
Sıcaklık Verilerini Tutmak için Veritabanını Ayarlama
Sıcaklık Verilerini Tutmak için Veritabanını Ayarlama

Bu alıştırma için sqllite veritabanı kullanıyoruz. Sqllite, sunucu gerektirmeyen hafif dosya tabanlı veritabanıdır. Veritabanı, web sunucunuzda yerel olarak bulunur. Güvenlik konusunda endişeleriniz varsa, kodu mysql veya MSSQL gibi uygun bir veritabanı sunucusu kullanacak şekilde değiştirmelisiniz.

Başlamadan önce phpliteadmin.php dosyasında bulunan veritabanı şifresini değiştirmeniz gerekir. Bu dosyayı web sunucunuzda açın ve 91. satırdaki şifre bilgilerini istediğiniz şifreye göre düzenleyin.

Ardından web sunucunuzda phpliteadmin.php'ye gelin. Örneğimizi kullanarak önce https://arduinotestbed.com/phpliteadmin.php adresine işaret etmelisiniz.

Sunucuda veritabanı olmadığı için veritabanı oluşturma ekranı ile karşılaşacaksınız. Yeni veritabanı giriş kutusuna "temperature.db" yazın ve "Oluştur" düğmesine tıklayın. Ardından veritabanı başarıyla oluşturulacaktır. Bu noktada veritabanı hala boştur, bu nedenle verileri barındırmak için veritabanı tablosu yapısını oluşturmak için sql betiğine ihtiyacınız olacaktır.

Adım 6: "Sıcaklık" Tablosunu Oluşturun

oluştur
oluştur
oluştur
oluştur

Tabloyu oluşturmak için "SQL" sekmesine tıklayın ve aşağıdaki sql sorgusuna yapıştırın.

İŞLEM BAŞLAYIN;

---- -- Sıcaklık için tablo yapısı ---- CREATE TABLE 'sıcaklık' ('ID' INTEGER PRIMARY KEY NULL DEĞİL, nem INT NULL DEĞİL, sıcaklık GERÇEK, zaman damgası DATETIME DEFAULT CURRENT_TIMESTAMP, 'heater' BOOLEAN, 'healtemp' GERÇEK); İŞLEMEK;

Ardından alttaki "Git" düğmesine tıklayın. Tablo başarıyla oluşturulmalıdır.

Sayfayı yenilerseniz, şimdi sol taraftaki sıcaklık.db veritabanının altında "sıcaklık" tablosunu görmelisiniz. Eğer hala veri içermiyorsa sıcaklık tablosuna tıklarsanız.

Artık veritabanını oluşturduğumuza göre, aşağıdaki url'yi işaret edebilirsiniz.

arduinotestbed.com/ArduinoData3.php

Sahte verileri gösteren sıcaklık kadranını, hareket sensörünü ve LED'i döndürmek için kontrol panelini görürsünüz. Henüz veri olmadığı için grafiğin alt kısmı yine boş olacaktır.

7. Adım: Sıcaklık Sensörü Çizimini ESP8266'nıza Yükleyin

Sıcaklık Sensörü Çizimini ESP8266'nıza Yükleyin
Sıcaklık Sensörü Çizimini ESP8266'nıza Yükleyin
Sıcaklık Sensörü Çizimini ESP8266'nıza Yükleyin
Sıcaklık Sensörü Çizimini ESP8266'nıza Yükleyin
Sıcaklık Sensörü Çizimini ESP8266'nıza Yükleyin
Sıcaklık Sensörü Çizimini ESP8266'nıza Yükleyin

Şimdi ekli tüm dosyaları kopyalayın ve "ESP8266TempPIRSensor.ino" dosyasını açın, Arduino arayüzü sizin için klasörü oluşturacaktır. Kalan dosyaları Arduino arayüzü tarafından oluşturulan yeni klasöre taşıyın.

Belirtilen web sunucusunu ve gerekirse data_store3.php dosyasının konumunu değiştirin. Ardından çizimi ESP8266'ya yükleyin.

Her şey yolunda giderse, başarıyla yüklenmelidir ve ESP ilk kez AP moduna geçecektir. Bağlanmak için dizüstü bilgisayarınızı veya cep telefonunuzu kullanabilirsiniz. AP'yi "ESP-TEMP" adıyla bulabilmeniz gerekir.- Cep telefonunuzun dizüstü bilgisayarınızı kullanarak ESP-TEMP'e bağlanmayı deneyin. Windows'ta "ipconfig" komutu veya linux veya mac'te "ifconfig" komutu. - iphone kullanıyorsanız bağlı olduğunuz ESP-TEMP'in yanındaki i düğmesine tıklayın - Tarayıcınızı açın ve ip olarak 192.168.4.10 ile atanmışsa ESP-TEMP'i işaretleyin 192.168.4.1 ipine sahip olduğu için https://192.168.4.1 adresine gidebilirsiniz ve wifi router ssid ve psk anahtarını girebileceğiniz ayar sayfası karşınıza gelecektir. her ikisini de girdikten ve "Wifi Yapılandırmasını Güncelle" onay kutusunu işaretledikten sonra, ayarı ESP8266'nıza güncellemek için "güncelle"ye tıklayın.

Seri Monitörde hata ayıklamayı açmak istiyorsanız, yorumdan kaldırmanız gerekir.

#define HATA AYIKLAMA

saat.h satırında ve yorumladı

//#undef HATA AYIKLAMA

hat. ardından Araçlar->Seri Monitör'e tıklayın. Seri monitör penceresi size wifi bağlantısının ilerlemesini gösterecek ve ESP8266'nın yerel IP adresini gösterecektir. Sıcaklık okuması gerçekleştiğinde dahili mavi LED bir kez yanıp sönecektir. Ayrıca bir hareket algılandığında da açılır.

8. Adım: Sıcaklık ve Hareket Sensörünüze Erişme

Sıcaklık ve Hareket Sensörünüze Erişim
Sıcaklık ve Hareket Sensörünüze Erişim
Sıcaklık ve Hareket Sensörünüze Erişim
Sıcaklık ve Hareket Sensörünüze Erişim

Artık ESP8266'nın yerel web sunucusuna bir kez daha işaret edebilmelisiniz. Bu da zamanı, sıcaklığı ve hareket sensörünü gösterecektir.

Artık harici web sunucunuzu da işaret edebilirsiniz, bu örnekte

LED'i değiştirmek için kontrol panelinin altındaki düğmeyi kaydırabilirsiniz. Bunu, işten eve dönerken çocuklarıma haber vermek için kullanıyorum.

Hareket sensörü her saniyede bir güncellenir, bu nedenle bir hareket algılanıp algılanmadığını görmek için sayfayı daha sık yenilemeniz gerekir. Şu anda otomatik yenileme 60 saniyeye ayarlanmıştır. Sıcaklık birkaç dakikada bir okunacaktır, ancak bunu da size uygun zamana göre ayarlayabilirsiniz.

Buraya kadar geldiyseniz tebrikler!!, arkanıza yaslanın ve yaratıcılığınızın tadını çıkarın. Bir sonraki adım, yalnızca LED'i kontrol edebilmek ve sıcaklığın yanı sıra Apple cihazlarından hareket sensörünü izleyebilmek istiyorsanız isteğe bağlıdır.

9. Adım: Raspberry Pi'de HomeBridge for HomeKit'i yükleyin (İsteğe bağlı)

Raspberry Pi'de HomeBridge for HomeKit'i yükleyin (İsteğe bağlı)
Raspberry Pi'de HomeBridge for HomeKit'i yükleyin (İsteğe bağlı)

HomeBridge hakkında çok şey öğrenmeme izin veren GalenW1'deki talimatlardan ilham aldım.

HomeBridge for HomeKit'i bir Raspberry Pi'ye kurmak için aşağıdaki talimatları kullanabilirsiniz.

github.com/nfarina/homebridge

HomeBridge, Iphone'daki Home Uygulamasını önceki adımlarda oluşturduğunuz sensörlere bağlamanıza olanak tanır.

HomeBridge'i yüklediğinizde, birkaç eklenti yüklemeniz gerekir:

- Sıcaklık sensörü

- Hareket sensörü

- Değiştirmek

sudo npm install -g homebridge-http-sıcaklık

sudo npm install -g homebridge-MotionSensor

sudo npm install -g homebridge-http-simple-switch

Eklenti yüklendikten sonra, aşağıda bulunan config.json dosyasını yapılandırmanız gerekecektir.

sudo vi /home/pi/.homebridge/config.json

config.json dosyasının içeriğini aşağıdaki gibi ayarlayabilirsiniz, lütfen url'nin doğru konumu gösterdiğinden emin olun.

{ "köprü": { "ad": "Ana Köprü", "kullanıcı adı": "CC:22:3D:E3:CE:30", "bağlantı noktası": 51886, "pin": "031-45-154" }, "description": "Bu HomeBridge Config dosyasıdır, daha fazla aksesuar ve platform ekleyin.", "aksesuarlar": [{ "aksesuar": "HttpTemperature", "name": "Oturma Odası Sıcaklığı", "url": "https://arduinotestbed.com/temp.txt", "http_method": "GET", "field_name": "" }, { "aksesuar": "Hareket", "ad": "Masumdaki Hareket Sensörü", " url": "https://arduinotestbed.com/motion_data.php?json=true", "http_method": "GET", "json_response": "motion" }, { "aksesuar": "SimpleHttpSwitch", "name": "Light Switch", "url": "https://arduinotestbed.como/setlight.php", "http_method": "POST", "default_state_off": true, "sendimmediately": "" }] }

Adım 10: Homebridge'i Iphone'unuza Bağlama

Homebridge'i Iphone'unuza Bağlama
Homebridge'i Iphone'unuza Bağlama
Homebridge'i Iphone'unuza Bağlama
Homebridge'i Iphone'unuza Bağlama
Homebridge'i Iphone'unuza Bağlama
Homebridge'i Iphone'unuza Bağlama

Artık tüm aksesuarlar yapılandırıldığına göre, aşağıdaki komutu kullanarak ana köprüyü çalıştırabilirsiniz.

ana köprü

Ekranı yukarıdaki gibi görmelisiniz. Homebridge'i ev setinize eklemek için aşağıdaki adımı takip edebilirsiniz.

- Şimdi Iphone'unuzda "Ev" uygulamanızı başlatın

- "Aksesuar Ekle" düğmesine tıklayın

- Karşınıza kodu taramak için bir ekran gelecek, Raspberry Pi ekranından kodu taramak veya kodu manuel olarak eklemek için telefonunuzun kamerasını kullanabilirsiniz.

Lütfen hem Iphone hem de Raspberry Pi'nin çalışması için aynı kablosuz yönlendiricide olması gerektiğini unutmayın.

- Bağlandıktan sonra, aksesuarlarınızın sertifikalı olmadığını belirten ekranla karşılaşacaksınız, devam etmek için "Yine de ekle" düğmesine tıklayın.

- Daha sonra aksesuarların her birini yapılandırma seçeneğine sahip olacaksınız, bu durumda ışık anahtarı, hareket sensörü ve sıcaklık sensörü var.

- Son ekran size bağlı olan tüm aksesuarları gösterecektir.

Bağlandıktan sonra hareket sensörünü, sıcaklığı kontrol etmek ve ışığı açıp kapatmak için Siri'yi kullanabilirsiniz.

Adım 11: Ana Köprünüzü Arka Planda Çalıştırın

Ana Köprünüzü Arka Planda Çalıştırın
Ana Köprünüzü Arka Planda Çalıştırın
Ana Köprünüzü Arka Planda Çalıştırın
Ana Köprünüzü Arka Planda Çalıştırın
Ana Köprünüzü Arka Planda Çalıştırın
Ana Köprünüzü Arka Planda Çalıştırın

Tebrikler!! sen yaptın. Bir bonus olarak, aşağıdaki komutu kullanarak arka planda ana köprüyü çalıştırabilirsiniz:

ana köprü &

Artık Siri ile biraz eğlenebilir ve sıkı çalışmanızın tadını çıkarabilirsiniz.

Bunu sonuna kadar takip ettiğiniz için teşekkür ederiz. Bunu beğendiyseniz, lütfen biraz yorum bırakın veya bana oy verin.

Önerilen: