Mündəricat:

IoT Simsiz Temperatur və Hərəkət Sensoru: 11 Addım (Şəkillərlə birlikdə)
IoT Simsiz Temperatur və Hərəkət Sensoru: 11 Addım (Şəkillərlə birlikdə)

Video: IoT Simsiz Temperatur və Hərəkət Sensoru: 11 Addım (Şəkillərlə birlikdə)

Video: IoT Simsiz Temperatur və Hərəkət Sensoru: 11 Addım (Şəkillərlə birlikdə)
Video: Aqara E1 ZHWG16LM - Wi-Fi təkrarlayıcı ilə Zigbee 3.0 USB stick şlüz 2024, Iyul
Anonim
IoT Simsiz Temperatur və Hərəkət Sensoru
IoT Simsiz Temperatur və Hərəkət Sensoru

Instructables -da olan bir çox IoT layihəsindən ilham aldım, buna görə də öyrənmə prosesində əlaqəli bəzi faydalı tətbiqləri birləşdirməyə çalışıram. IoT Temperatur sensoru ilə bağlı əvvəlki Təlimatlarımın uzantısı olaraq, indi alt sistemə daha çox imkanlar əlavə etdim. Əlavə edilmiş funksiyalar bunlardır:

- Vaxt almaq üçün NTP bağlantısı

- Uzaqdan idarə oluna bilən LED

- Hərəkəti aşkar etmək üçün PIR sensoru

- iPhone "Home" a qoşulmağa icazə vermək üçün homekit işləyən Raspberry PI bağlandı

Addım 1: Konsepsiya, Bağlantı və Komponentlər

Konsepsiya, Bağlantı və Komponentlər
Konsepsiya, Bağlantı və Komponentlər

Yuxarıda göstərildiyi kimi, evdə kiminsə hərəkətini aşkar etmək üçün əlavə qabiliyyət ilə temperaturun uzaqdan izlənməsinə icazə vermək və LED vasitəsilə bildirişə icazə verməkdir. Bölmə yerli olaraq LAN -da və ya veb -server vasitəsilə uzaqdan əldə edilə bilər. İPhone "Ev" Tətbiqinə qoşulmaq üçün Homekit aksessuarı quraşdırılmış Moruq pastasını da (isteğe bağlı) bağlaya bilərsiniz.

Əvvəlki versiya ilə eyni olaraq bu layihədə aşağıdakı komponentlər tələb olunur, unutmayın ki, aşağıdakı link ortaq linkdir, buna görə də töhfə vermək istəmirsinizsə, birbaşa gedin.

- NodeMcu Lua ESP8266 inkişaf lövhəsi. Banggood -dan özümdən alıram.

- LM35 temperatur sensoru

- PIR sensoru

- LED

- Prototip lövhəsi

- Arduino IDE

- Php server skriptləri ilə işləyən veb server

- Moruq pi (İsteğe bağlı)

Addım 2: Arduino IDE -ni işə salın

Arduino IDE -ni işə salın
Arduino IDE -ni işə salın

Bu addımın təfərrüatları üçün lütfən, ESP8266 ilə IoT Temperatur sensoru ilə bağlı əvvəlcədən göstərişlərim 2 -yə baxın.

Addım 3: Temperatur Sensorunu, LED və PIR -ı bağlayın

İstilik Sensorunun, LED və PIR -in bağlanması
İstilik Sensorunun, LED və PIR -in bağlanması
İstilik Sensorunun, LED və PIR -in bağlanması
İstilik Sensorunun, LED və PIR -in bağlanması
İstilik Sensorunun, LED və PIR -in bağlanması
İstilik Sensorunun, LED və PIR -in bağlanması

LM35 temperatur sensoru 3 ayağa malikdir, ilk ayağı VCC -dir, bunu 3.3V -ə qoşa bilərsiniz (ESP8266 lövhəsinin çıxışı 3.3V). Orta ayaq Voutdur (temperaturun oxunduğu yerdə, bunu ESP8266 pin AD0 -un analoq girişinə qoşa bilərsiniz, bu şəkildə göstərildiyi kimi lövhənin sağ üst tərəfində yerləşir. Və sağ ayaq olmalıdır. yerə bağlıdır.

PIR sensoru 3 ayaqdan ibarətdir, ayağın yanındakı PCB -də kiçik + +0 işarəsini görə bilərsiniz. ESP8266-nın D6 pininə "+" işarəsini 3.3V, "-" ilə yerə və "0" orta pininə bağlayın.

LED-in yalnız 2 ayağı vardı, "+" (Anod), daha uzun ayağı bunu ESP8266-nın D5 pininə bağlayır və "-" (Katod) qısa ayaqları yerə (GND) bağlanmalıdır.

Addım 4: Bulud Web Serverini qurun

Bu addım üçün müəyyən bir fərziyyə var:

Artıq müvafiq bir sahədə yerləşdirilmiş işləyən bir veb serveriniz var. Filezilla və ya başqa bir FTP proqramı istifadə edərək faylları FTP vasitəsilə veb serverinizə köçürməyi bilirsiniz.

Əlavə edilmiş zip faylını veb saytınızın kökünə yükləyin. Bu məşq üçün veb saytınızın "https://arduinotestbed.com" olduğunu düşünək

Bütün faylların veb serverin kökündə yerləşdiyi güman edilir, əgər onu başqa bir qovluqda saxlayırsınızsa, həm ArduinoData3.php faylında, həm də Arduino eskizində faylın yerini müvafiq olaraq tənzimləyin. Əmin deyilsinizsə, mənə bildirin və əlimdən gələni edəcəyəm ki, kömək edim.

Addım 5: Temperatur Verilərini Tutmaq üçün Verilənlər Bazasını Qurmaq

Verilənlər Bazasını İstilik Məlumatlarını Saxlamaq üçün Qurmaq
Verilənlər Bazasını İstilik Məlumatlarını Saxlamaq üçün Qurmaq
Verilənlər Bazasını İstilik Məlumatlarını Saxlamaq üçün Qurmaq
Verilənlər Bazasını İstilik Məlumatlarını Saxlamaq üçün Qurmaq
Verilənlər Bazasını İstilik Məlumatlarını Saxlamaq üçün Qurmaq
Verilənlər Bazasını İstilik Məlumatlarını Saxlamaq üçün Qurmaq

Bu məşq üçün sqllite verilənlər bazasından istifadə edirik. Sqllite, server tələb etməyən yüngül fayl əsaslı bir verilənlər bazasıdır. Verilənlər bazası yerli olaraq veb serverinizdə yerləşir. Təhlükəsizlikdən narahat olsanız, mysql və ya MSSQL kimi uyğun bir verilənlər bazası serverindən istifadə etmək üçün kodu dəyişdirməlisiniz.

Başlamadan əvvəl phpliteadmin.php faylında olan verilənlər bazası parolunu dəyişdirməlisiniz. Bu faylı veb -serverinizdə açın və 91 -ci sətirdəki parol məlumatlarını istədiyiniz şifrə ilə redaktə edin.

Sonra veb serverinizdə phpliteadmin.php -ə işarə edin. Http://arduinotestbed.com/phpliteadmin.php ünvanına işarə etməzdən əvvəl nümunəmizi istifadə edin

Serverdə heç bir verilənlər bazası olmadığı üçün verilənlər bazası yaratmaq üçün ekran sizə təqdim ediləcək. Yeni verilənlər bazası giriş qutusuna "temperatur.db" daxil edin və "Yarat" düyməsini basın. Verilənlər bazası uğurla yaradılacaq. Bu anda verilənlər bazası hələ də boşdur, buna görə məlumatları yerləşdirmək üçün verilənlər bazası cədvəli qurmaq üçün sql skriptinə ehtiyacınız olacaq.

Addım 6: "Temperatur" Cədvəli yaradın

Yarat
Yarat
Yarat
Yarat

Cədvəl yaratmaq üçün "SQL" sekmesini vurun və aşağıdakı sql sorğusuna yapışdırın.

ƏMƏLİYYƏTƏ BAŞLAYIN;

-----Temperatur üçün cədvəl quruluşu ---- CREAB TABLE 'temperatur' ('ID' BÜTÜN İLK KEY NULL DEYİL, rütubət INT NULL deyil, temperatur REAL, zaman damgası DATETIME DEFAULT CURRENT_TIMESTAMP, 'qızdırıcı' BOOLEAN, 'goaltemp' REAL); KOMİT;

Sonra altdakı "Get" düyməsini basın. Cədvəl uğurla yaradılmalıdır.

Səhifəni yeniləyirsinizsə, indi sol tərəfdəki temperatur.db verilənlər bazası altında "temperatur" cədvəlini görməlisiniz. Hələ heç bir məlumat yoxdursa, temperatur cədvəlini tıklayırsınızsa.

Verilənlər bazası yaradıldıqdan sonra aşağıdakı url -ə işarə edə bilərsiniz

arduinotestbed.com/ArduinoData3.php

LED -i yandırmaq üçün saxta məlumatları, hərəkət sensoru və idarəetmə panelini göstərən temperatur düyməsini görürsünüz. Hələ heç bir məlumat olmadığı üçün qrafikin alt hissəsi hələ də boş qalacaq.

Addım 7: Temperatur Sensor Eskizini ESP8266 -ya yükləyin

İstilik Sensoru Eskizini ESP8266 -ya yükləyin
İstilik Sensoru Eskizini ESP8266 -ya yükləyin
İstilik Sensoru Eskizini ESP8266 -ya yükləyin
İstilik Sensoru Eskizini ESP8266 -ya yükləyin
İstilik Sensoru Eskizini ESP8266 -ya yükləyin
İstilik Sensoru Eskizini ESP8266 -ya yükləyin

İndi bütün əlavə edilmiş faylı kopyalayın və "ESP8266TempPIRSensor.ino" nu açın, Arduino interfeysi sizin üçün qovluq yaradacaq. Qalan faylları Arduino interfeysi tərəfindən yaradılan yeni qovluğa köçürün.

Lazım gələrsə, göstərilən veb serverini və data_store3.php faylının yerini dəyişdirin. Sonra eskizi ESP8266 -ya yükləyin.

Hər şey yaxşı olarsa, uğurla yüklənməlidir və ESP ilk dəfə AP rejiminə keçəcəkdir. Noutbukdan və ya mobil telefondan istifadə edərək ona qoşula bilərsiniz. AP-ni "ESP-TEMP" adı ilə tapa bilməlisiniz.- Mobil telefon dizüstü kompüterinizdən istifadə edərək ESP-TEMP-ə qoşulmağa çalışın. Windows -da "ipconfig" əmri və ya linux və ya mac -da "ifconfig" əmri. -Əgər iphone istifadə edirsinizsə, bağlı olduğunuz ESP-TEMP-in yanındakı i düyməsini basın-Brauzerinizi açın və 192.168.4.10-un ip olaraq təyin edildiyiniz halda ESP-TEMP-ə işarə edin. 192.168.4.1 IP -yə sahibdir, buna görə sadəcə https://192.168.4.1 ünvanına daxil ola bilərsiniz və wifi router ssid və psk düyməsini daxil edə biləcəyiniz parametrlər səhifəsi təqdim edilməlidir. hər ikisini daxil etdikdən və "Wifi Konfiqurasiyasını Yeniləyin" onay qutusunu işarələdikdən sonra, ayarı ESP8266 -ya yeniləmək üçün "yeniləmə" düyməsini basın.

Hata ayıklamasını Serial Monitorda yandırmaq istəyirsinizsə, şərh etməməlisiniz

#DEBUG təyin edin

saatdakı xətt.h və şərh etdi

//#undef DEBUG

xətt sonra Alətlər-> Serial Monitor düyməsini basın. Serial monitor pəncərəsi sizə wifi bağlantısının gedişatını və ESP8266 -nın yerli IP ünvanını göstərəcək. Temperaturun oxunması zamanı daxili mavi LED bir dəfə yanıb -sönəcək. Bir hərəkət aşkar edildikdə də açılacaq.

Addım 8: Temperatur və Hərəkət Sensorunuza daxil olun

İstilik və Hərəkət Sensorunuza daxil olmaq
İstilik və Hərəkət Sensorunuza daxil olmaq
İstilik və Hərəkət Sensorunuza daxil olun
İstilik və Hərəkət Sensorunuza daxil olun

İndi ESP8266 -nın yerli veb serverinə bir daha işarə edə bilməlisiniz. Və bu zaman, temperatur və hərəkət sensoru göstərəcək.

İndi xarici veb serverinizə də işarə edə bilərsiniz, bu nümunədə

LED -i dəyişdirmək üçün idarəetmə panelinin altındakı düyməni sürüşdürə bilərsiniz. İşdən evə qayıdanda uşaqlarımı xəbərdar etmək üçün bundan istifadə edirəm.

Hərəkət sensoru hər saniyədə bir yenilənir, buna görə də bir hərəkətin aşkar olub olmadığını görmək üçün səhifəni daha tez -tez yeniləməlisiniz. Hal -hazırda avtomatik yeniləmə 60 saniyəyə təyin edilmişdir. İstilik hər iki dəqiqədən bir oxunacaq, ancaq bunu da sizə uyğun olan vaxta uyğunlaşdıra bilərsiniz.

Bu günə qədər uğur qazanmısınızsa təbrik edirəm !!, arxanıza vurun və yaradıcılığınızdan zövq alın. Növbəti addım isteğe bağlıdır, yalnız LED cihazlarını idarə etmək və temperaturu, eləcə də Apple cihazlarından hərəkət sensoru izləmək istəsəniz.

Addım 9: Raspberry Pi -də HomeKit üçün HomeBridge quraşdırın (İstəyə görə)

Raspberry Pi -də HomeKit üçün HomeBridge quraşdırın (İsteğe bağlı)
Raspberry Pi -də HomeKit üçün HomeBridge quraşdırın (İsteğe bağlı)

HomeBridge haqqında çox şey öyrənməyimə imkan verən GalenW1 təlimatlarından ilham aldım.

Raspberry Pi üzərində HomeKit üçün HomeBridge qurmaq üçün aşağıdakı təlimatları istifadə edə bilərsiniz

github.com/nfarina/homebridge

HomeBridge, Iphone'dakı Ev Tətbiqini əvvəlki addımlarda qurduğunuz sensorlara bağlamağa imkan verir.

HomeBridge qurduqdan sonra bir neçə plagin quraşdırmalısınız:

- Temperatur sensoru

- Hərəkət sensoru

- Keçid

sudo npm install -g homebridge-http-temperatur

sudo npm install -g homebridge -MotionSensor

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

Plugin quraşdırıldıqdan sonra aşağıda yerləşən config.json faylını konfiqurasiya etməlisiniz

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

config.json faylının məzmununu aşağıda göstərildiyi kimi tənzimləyə bilərsiniz, zəhmət olmasa url -in düzgün yeri göstərdiyinə əmin olun.

Addım 10: Homebridge'i iPhone -a bağlayın

Homebridge -i iPhone -a bağlayın
Homebridge -i iPhone -a bağlayın
Homebridge -i iPhone -a bağlayın
Homebridge -i iPhone -a bağlayın
Homebridge -i iPhone -a bağlayın
Homebridge -i iPhone -a bağlayın

İndi bütün aksesuarlar konfiqurasiya edildikdən sonra, aşağıdakı əmri istifadə edərək homebridge -i işə sala bilərsiniz

homebridge

Ekranı yuxarıdakı kimi görməlisiniz. Homebridge -i ev kitabınıza əlavə etmək üçün aşağıdakı addımı izləyə bilərsiniz.

- İndi "Ev" tətbiqini iPhone -da başladın

- "Aksesuar əlavə et" düyməsini basın

- kodu skan etmək üçün sizə ekran təqdim olunacaq, telefonunuzun kamerasından istifadə edərək kodu Raspberry Pi ekranından skan edə və ya kodu əl ilə əlavə edə bilərsiniz.

Nəzərə alın ki, həm Iphone, həm də Raspberry Pi işləmək üçün eyni simsiz routerdə olmalıdır.

- Bağlandıqdan sonra, aksesuarlarınızın təsdiqlənmədiyini bildirən ekran istənəcək, davam etmək üçün "Hər halda əlavə et" düyməsini basın.

- Daha sonra hər bir aksesuarı konfiqurasiya etmək imkanınız olacaq, bu halda işıq açarı, hərəkət sensoru və temperatur sensoru var.

- Son ekran sizə bağlı olan bütün aksesuarları göstərəcək.

Bağlandıqdan sonra hərəkət sensörünü, temperaturu yoxlamaq və işığı yandırıb söndürmək üçün Siri -dən istifadə edə bilərsiniz.

Addım 11: Ev Köprünüzü Arxa planda Çalışdırın

Ev Köprünüzü Arxa planda Çalışdırın
Ev Köprünüzü Arxa planda Çalışdırın
Ev Köprünüzü Arxa planda Çalışdırın
Ev Köprünüzü Arxa planda Çalışdırın
Ev Köprünüzü Arxa planda Çalışdırın
Ev Köprünüzü Arxa planda Çalışdırın

Təbrik edirəm !! sən bunu etdin. Bonus olaraq, aşağıdakı əmri istifadə edərək homebridge'i arxa planda işlədə bilərsiniz:

homebridge &

İndi Siri ilə əylənə və zəhmətinizdən zövq ala bilərsiniz.

Bunu sona qədər izlədiyiniz üçün təşəkkür edirəm. Bunu bəyənirsinizsə, zəhmət olmasa bəzi şərhlər yazın və ya mənə səs verin.

Tövsiyə: