Mündəricat:

Alexa və Arduino istifadə edərək səslə idarə olunan keçid: 10 addım (şəkillərlə)
Alexa və Arduino istifadə edərək səslə idarə olunan keçid: 10 addım (şəkillərlə)

Video: Alexa və Arduino istifadə edərək səslə idarə olunan keçid: 10 addım (şəkillərlə)

Video: Alexa və Arduino istifadə edərək səslə idarə olunan keçid: 10 addım (şəkillərlə)
Video: Apple Homekit cihazları - kinetik açarlı rele, rozetkada rele, smart rozetka 2024, Iyul
Anonim
Alexa və Arduino istifadə edərək səslə idarə olunan keçid
Alexa və Arduino istifadə edərək səslə idarə olunan keçid

Bu layihənin əsas məqsədi cihazı açmaq və ya söndürmək üçün açarı (röleyi) idarə etmək üçün temperatur sensoru istifadə etməkdir.

Materialların siyahısı

  1. 12V Relay Modulu ==> $ 4.2
  2. Arduino uno ==> 8 dollar
  3. DHT11 temperatur sensoru ==> 3 dollar
  4. ESP8266 Modulu ==> $ 4.74
  5. N26 optocoupler ==> 0,60 dollar
  6. LM1117 gərginlik tənzimləyicisi ==> 0,60 dollar
  7. Çörək lövhəsi ==> 2.2 dollar
  8. Jumper telləri ==> 2,5 dollar
  9. Düyməni basın ==> 2,5 dollar

Layihənin ümumi dəyəri təxminən 30 dollardır. Bu layihə üç hissəyə bölünür. Birincisi, bir tətbiq yaratmaq üçün heroku istifadə edirik. İkincisi, işimizi həyata keçirmək üçün Amazon Alexa bacarığı qururuq (Ən vacib hissə). Üçüncüsü, avadanlıqlarımızı qururuq və Arduino IDE -dən istifadə edərək proqramlaşdırırıq.

Addım 1: Heroku GitHub ilə əlaqələndirin

Heroku GitHub ilə əlaqələndirmək
Heroku GitHub ilə əlaqələndirmək
Heroku GitHub ilə əlaqələndirmək
Heroku GitHub ilə əlaqələndirmək
Heroku GitHub ilə əlaqələndirmək
Heroku GitHub ilə əlaqələndirmək

Heroku, bir veb tətbiq yerləşdirmə modeli olaraq istifadə olunan bir neçə proqramlaşdırma dilini dəstəkləyən bir xidmət (PaaS) olaraq bir bulud platformasıdır. Əvvəlcə heroku saytına daxil olun, yeni bir hesab yaradın və ya daxil olun. Link aşağıda verilmişdir

Heroku Veb saytı

Yeni bir tətbiq yaratmağa başlayaq. Tətbiqi yerləşdirdiyiniz zaman tətbiq adıma "iottempswitch" verdim, link yaradılır.

Tətbiq edildikdən sonra GitHub -a gedin.

Oraya daxil olun və ya hesabınız yoxdursa qeydiyyatdan keçin. Daxil olduqdan sonra yeni bir depo yaradın. Seçmək istədiyiniz hər hansı bir ad verin və sonra depo yarat düyməsini basın. Növbəti səhifədə README düyməsini basın, bu səhifədə başqaları ilə bölüşmək istədiyiniz təsviri verin. Bundan sonra, yeni faylı təsdiq et düyməsini vurun. Sonra yükləmə düyməsini basın.

Qovluğu sürükləyib atmaq və ya fayl seçmək üçün iki seçim var. Lazımi faylları aşağıdan yükləyin. Faylları seçdikdən sonra dəyişiklikləri yerinə yetirin. Heroku -da yaratdığınız proqramı açın, sonra bölməni yerləşdirin. Bundan sonra GitHub tərəfində yaratdığınız GitHub. Give depo adını vurun. Mənim vəziyyətimdə Smart-Relay. Bunu kopyalayın və bura yapışdırın. Bağlantınız göründükdən sonra qoşulun. Sonra, filialı yerləşdirmə düyməsini vurun (təlimat). Yerləşdirdikdən sonra quruluş jurnalında bir bağlantı görə bilərsiniz və ya parametrlərdə bağlantıyı görə bilərsiniz. Amazon bacarıqlarını inkişaf etdirdiyimiz zaman bu bağlantıya ehtiyacımız var.

Addım 2: Amazon

Amazon
Amazon
Amazon
Amazon
Amazon
Amazon

Alexa bacarıqlarının son şəkilləri

Amazon Developer saytında, temperatur və rütubət təyin edərək açar tətikini idarə etmək üçün Amazon bacarıqlarından istifadə edirik.

Amazon Developer Saytına daxil olun. Link aşağıda verilmişdir.

Amazon Developer Veb saytı

  • Şəkil i4 -də göstərildiyi kimi sağ üstdəki Developer konsoluna gedin
  • Alexa'ya gedin, sonra Alexa Bacarıqlar Kitini seçin və sonra Yeni bacarıq əlavə et düyməsini basaraq yeni bir bacarıq yaradın.

Yeni bacarıq əlavə etdikdə bacarıq məlumatı səhifəsini görəcəksiniz.

1. Bacarıq məlumatları (şəkil i7 -də göstərildiyi kimi)

bacarıq növünü, dilini, adını, çağırış adını təqdim etməliyik.

Bacarıq növü ==> xüsusi seçin

  • Ad ==> hər hansı bir ad seçin.
  • Alexa ilə ünsiyyət qurarkən istifadə etdiyiniz çağırış adı ==> Məsələn;- Alexa, sensordan açarın tətikini açmasını və ya Alexa-nı istəyin, burada işığın istənməsini çağırın və adları sensordur.
  • Dil ==> İngilis dili (Hindistan). Ölkənizə görə seçin

saxla və sonra növbəti düyməsini basın

2. Qarşılıqlı Model

Burada bacarıq qurucusundan istifadə edəcəyik. Beləliklə, Bacarıq Oluşturucusunu işə salın. səhifəni şəkil i8 -də göstərildiyi kimi görəcəksiniz.

Əvvəlcə yeni niyyətlər yaradırıq. Əlavə et (sol tərəfdə) düyməsini basın və "smartswitch" istifadə etmək istədiyim hər hansı bir ad verin

  • İ9 şəkilində göstərildiyi kimi yuva tipinə "ölçü_tipi" və yuva dəyərlərinə "temperatur" və "rütubət" verin.
  • Bundan sonra yuva növü adı "sorğu" əlavə edin və yuva dəyərləri şəkil i10 -da göstərildiyi kimi "nə" və "nədir" dir.
  • Bundan sonra yuva tipinə "keçid dövləti" əlavə edin və yuva dəyərləri şəkil i11 -də göstərildiyi kimi "açıq" və "söndürüldü".
  • Başqa bir yuva tipi "tempscale" əlavə edin və yuva dəyərləri, şəkil i12 -də göstərildiyi kimi "fahrenheit" və "celcuis" dir.
  • Bundan sonra burada yeni slot növü əlavə edirik ki, bunun üçün mövcud slotdan istifadə etmə düyməsini basmalıyıq. Mövcud slotda amazon.number axtarın və bunu seçin və əlavə edin. Əlavə etdikdən sonra onu i13 şəkilində göstərildiyi kimi yuva tiplərində görəcəksiniz.

Beləliklə, istifadə etdiyimiz ümumi slot növü 5 -dir. Sağ tərəfdə, şəkil i14 -də göstərildiyi kimi niyyət yuvasını görəcəksiniz.

  • Yeni bir yuva yaradın, "Switch_State" adını verin və şəkil i15 -də göstərildiyi kimi açılan düyməni istifadə edərək onu "switchstate" ilə xəritəyə salın.
  • Yeni bir yuva yaradın, "Sensor_Values" adını verin və şəkil i16 -da göstərildiyi kimi "ölçü_tipi" ilə xəritəyə salın.
  • Yeni yuva yaradın, ona "sorğu" adı verin və şəkil i17 -də göstərildiyi kimi "sorğu" ilə eşleyin.
  • Bundan sonra yeni "tmp_scale" yuvası yaradın və şəkil i18 -də göstərildiyi kimi "tempscale" ilə eşleyin.
  • Yeni "Nömrələr" yuvası yaradın və şəkil i19 -da göstərildiyi kimi "Amazon. Numbers" ilə xəritəyə salın.

İndi Niyyət yuvaları ilə işimiz bitdi. 5 niyyət yuvasından istifadə edirik. Bundan sonra şəkil i20 -də göstərildiyi kimi Nümunə İfadələrə keçirik.

Bu nümunə ifadələr əlavə edin.

keçid tetikleyicisini {Nömrələr} faiz {tmp_scale} olaraq təyin edin

{query} keçid vəziyyətidir

{Switch_State} keçid tetikleyicisi

keçid tetikleyicisini {Numbers} dərəcə {tmp_scale} olaraq təyin edin

açarı çevir {Switch_State}

{query} keçid {Switch_State}

{query} cari {Sensor_Values}

Bundan sonra modeli saxla və qur. Modelin qurulmasını gözləyin, sonra konfiqurasiyanı vurun və tikildikdən sonra şəkil i21 və i22 -də göstərildiyi kimi bir mesaj görəcəksiniz.

3. Konfiqurasiya

HTTPS seçin və heroku tətbiqi yaradılarkən yaradılan bağlantı əlavə edin. Mənim vəziyyətimdə https://iottempswitch.herokuapp.com/. Bağlantı əlavə etdikdən sonra, şəkil i23 -də göstərildiyi kimi sonrakı düyməni basın.

4. SSL sertifikatıİkinci variantı seçin və i24 -də göstərildiyi kimi sonrakı düyməni basın.

bacarığımızı uğurla yaratdıq.

Addım 3: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Arduino IDE -ni açın, sonra Fayl ==> Tercihə keçin

Əlavə lövhələr menecerində, URL -ni kopyalayın və yapışdırın və i26 şəkilində göstərildiyi kimi OK düyməsini basın.

arduino.esp8266.com/versions/2.4.0/package_…

  • Tools ==> Board ==> Board Manager -ə gedərək Board Manager -i açın.
  • Kartlar Menecerini açın və i27 şəkilində göstərildiyi kimi nodemcu axtarın.
  • Bundan sonra ESP8266WiFi kitabxanasını yükləyin. Kitabxana Menecerini açın: Sketch ==> Kitabxanaya daxil et ==> Kitabxanaları İdarə et.
  • ESP8266WiFi kitabxanasını axtarın və quraşdırın.
  • Kartı seçin ==> Ümumi ESP8266 Modulu.
  • Kodu yükləməzdən əvvəl üç kitabxanaya ehtiyacımız var.

Lazımi kitabxanalar

Bu kitabxanaları Arduinonun kitabxana qovluğuna köçürün

Kod SSID, PWD və heroku tətbiq bağlantınızdakı üç şeyi dəyişdirməlisiniz. Bundan sonra kodu yükləyin. ESP Modulu üçün kodu yükləyərkən flash düyməsini basmalısınız, sonra sıfırlama düyməsini bir dəfə basmalı və sonra flash düyməsini buraxmalısınız. Kodu yüklədikdən sonra terminalı açın. çıxışını görəcəksiniz.

Addım 4: Komponentlərin Təsviri

Komponent Təsviri
Komponent Təsviri
Komponent Təsviri
Komponent Təsviri
Komponent Təsviri
Komponent Təsviri
Komponent Təsviri
Komponent Təsviri

1. Relay nədir

Röle, iki dövrəni elektriklə izolyasiya etmək və onları maqnitlə bağlamaq üçün istifadə olunan bir elektromaqnit cihazdır. Çox faydalı qurğulardır və bir dövrənin tamamilə ayrı ikən digərinə keçməsinə imkan verir. Çox vaxt bir elektron dövrəni (aşağı gərginlikdə işləyən) çox yüksək gərginlikdə işləyən bir elektrik dövrəsinə bağlamaq üçün istifadə olunur. Məsələn, bir röle 230V AC elektrik dövrəsini dəyişdirmək üçün 5V DC batareya dövrəsi edə bilər.

Bu necə işləyir

Bir röleyi iki hissəyə bölmək olar: giriş və çıxış. Giriş hissəsində bir elektron dövrədən kiçik bir gərginlik tətbiq edildikdə maqnit sahəsi yaradan bir bobin var. Bu gərginliyə işləmə gərginliyi deyilir. Ümumi istifadə olunan röleler 6V, 9V, 12V, 24V və s. Kimi müxtəlif işləmə gərginliklərində mövcuddur. Çıxış bölməsi mexaniki olaraq bağlanan və ya ayrılan kontaktorlardan ibarətdir. Əsas röledə üç kontaktor var: normal olaraq açıq (NO), normal olaraq qapalı (NC) və ümumi (COM). Heç bir giriş vəziyyətində, COM NC -yə bağlıdır. İşləmə gərginliyi tətbiq edildikdə, röle bobini enerji alır və COM əlaqəni NO olaraq dəyişir. Fərqli sayda keçid kontaktına malik olan SPST, SPDT, DPDT və s. Kimi fərqli röle konfiqurasiyaları mövcuddur. Kontaktorların düzgün birləşməsindən istifadə edərək elektrik dövrəsi açıla və söndürülə bilər. Röle açarının quruluşu haqqında daxili məlumat əldə edin.

COM terminalı ümumi bir terminaldır. COIL terminallarına nominal gərginlik verildikdə, COM və NO terminallarının davamlılığı var. COIL terminallarına enerji verilmirsə, COM və NO terminallarının davamlılığı yoxdur.

NC terminalı Normal Bağlı terminaldır. Rölin işləməsi üçün heç bir və ya kifayət qədər gərginlik almasa belə, işə salınan terminaldır.

NO terminalı Normalda Açıq Terminaldır. Röle nominal gərginliyini aldıqda istədiyiniz çıxışı yerləşdirdiyiniz terminaldır. COIL terminallarında gərginlik yoxdursa və ya kifayət deyilsə, çıxış açıqdır və heç bir gərginlik qəbul etmir. COIL terminalları nominal gərginliyi aldıqda və ya bir az aşağı düşdükdə, NO terminalı kifayət qədər gərginlik alır və cihazı çıxışda aça bilər.

2. DHT temperatur sensoru

DHT11, kalibrlənmiş rəqəmsal çıxış istehsal edən Nəmlik və Temperatur Sensorudur. DHT11, Arduino, Raspberry Pi və s. Kimi istənilən mikro nəzarətçi ilə interfeys ola bilər və dərhal nəticələr əldə edə bilər. DHT11, yüksək etibarlılıq və uzunmüddətli sabitlik təmin edən aşağı qiymətli rütubət və temperatur sensoru.

3. ESP8266 Tam Təsvir

ESP8266 WiFi Modulu, hər hansı bir mikro nəzarətçiyə WiFi şəbəkənizə girişi təmin edə bilən inteqrasiya olunmuş TCP/IP protokol yığını olan özünəməxsus bir SOC -dır. ESP8266 ya hər hansı bir ESP8266 modulu bir AT əmri ilə əvvəlcədən proqramlaşdırılmış olaraq gəlir.

ESP8266, VoIP tətbiqləri və Bluetooth ilə birlikdə mövcud olan interfeyslər üçün APSD-ni dəstəkləyir, bütün iş şəraitində işləməsinə imkan verən özünü tənzimləyən RF ehtiva edir və xarici RF hissələri tələb etmir.

Xüsusiyyətləri

  • 802.11 b/g/n
  • Wi-Fi Direct (P2P),
  • soft-AP İnteqrasiya edilmiş TCP/IP protokol yığını
  • İnteqrasiya edilmiş TR açarı, balun, LNA, güc gücləndiricisi və uyğun şəbəkə
  • İnteqrasiya edilmiş PLL -lər, tənzimləyicilər, DCXO və güc idarəetmə vahidləri
  • 802.11b rejimində +19.5dBm çıxış gücü
  • <10uA -dan aşağı sızma cərəyanı
  • 1MB Flash Yaddaş
  • Tətbiq prosessoru olaraq aşağı güclü 32 bitlik CPU istifadə edilə bilər
  • SDIO 1.1 / 2.0, SPI, UART
  • STBC, 1 × 1 MIMO, 2 × 1 MIMOA-MPDU & A-MSDU toplama və 0.4ms qoruyucu interval
  • Paketləri <2ms -də oyanın və ötürün
  • Gözləmə gücü <1.0 mW (DTIM3)

Pin Təsviri i34 şəkilində göstərildiyi kimi.

ESP Modulunu Arduino UNO ilə birləşdirmək üçün Lm1117 3.3 gərginlik tənzimləyicisinə və ya hər hansı bir tənzimləyiciyə ehtiyacımız var, çünki Arduino ESP8266 -ya 3.3 v təmin edə bilmir.

Qeyd:- Kodu yükləyərkən flaş düyməsini, sonra sıfırlama düyməsini bir dəfə basın və sonra şəkil i29-da göstərildiyi kimi flaş düyməsini buraxın.

DHT11 sensoru və röleyi birləşdirmək üçün ESP8266 Modulunun iki GPIO sancağından istifadə edirik. Kodu yüklədikdən sonra RX, TX, GPIO0 sancaqlarını ayıra bilərsiniz. DHT11 sensoru üçün GPIO0 və rölelər üçün GPIO2 istifadə etdim. DHT11 sensoru ESP8266 ilə yaxşı işləyir, lakin röleler üçün əlavə bir şeyə ehtiyacımız var, yəni opto izolyatoru və ya opto bağlayıcı. İ30, i31, i32 və i33 şəkillərinə baxın.

Addım 5: Bağlantılar

ESP8266 ===> DHT11GPIO0 ===> Çıxış pimi

ESP8266 ===> RelayGPIO2 ===> Giriş

ARDUINO ===> ESP8266

Gnd ===> GndTX ===> TX

RX ===> RX

Sıfırlama Düyməsi ===> RST

Flash düyməsi ===> GPIO0

Addım 6: Hər şeyi yoxlayın

Hər Şeyi Yoxlamaq
Hər Şeyi Yoxlamaq
Hər Şeyi Yoxlamaq
Hər Şeyi Yoxlamaq
Hər Şeyi Yoxlamaq
Hər Şeyi Yoxlamaq
Hər Şeyi Yoxlamaq
Hər Şeyi Yoxlamaq

Tətbiqimizi, bacarığımızı uğurla yaratdıq və avadanlıqlarımız hazırdır. Beləliklə, yoxlamağın vaxtı gəldi.

ESP8266 serveriniz ESP8266 ilə işlədiyi üçün işə salınır. Burada heç bir sensoru ESP8266 -ya bağlamamışam, onun işləyib -işləmədiyini yoxlayıram, ancaq sensoru, röleyi ESP8266 -ya qoşa bilərsiniz. Heroku -ya qoşulduqda əlaqəli olduğunu görəcəksiniz. Test etmək üçün yaratdığınız Amazon bacarığına gedin, sonra test səhifəsinə vurun. İşlədiyi təsdiqləndikdən sonra sensorumu ESP8266 -ya bağlayacağam. İ35, i36, 37, 38, 39, 40 şəkillərində göstərildiyi kimi nəticələri görə bilərsiniz.

ESP8266 -ya qoşulmadan istifadə edirsinizsə, i41 şəkilində göstərildiyi kimi bu xətanı alırsınız.

İstifadə edə biləcəyiniz söz

keçid tetikleyicisini {Nömrələr} faiz {tmp_scale} olaraq təyin edin

məsələn:- açar tətikini 50 faiz nəm səviyyəsinə qoyun

{query} keçid vəziyyətidir

açma/söndürmə keçid vəziyyətidir

{Switch_State} keçid tetikleyicisi

keçmiş açma/söndürmə açarı

keçid tetikleyicisini {Numbers} dərəcə {tmp_scale} olaraq təyin edin

ex - açar tətikini 76 dərəcə fahrenheit olaraq təyin edin

ex - açar tətikini 24 dərəcəyə qoyun

açarı çevir {Switch_State}

ex - açarı yandırın/söndürün

Nəticələr üçün i41 - i46 şəklinə baxın.

AlexaAlexa ilə danışarkən arduinodan açar tətikini açmağı/söndürməsini istəyin

Alexa, arduinodan açar tətikini 24 dərəcəyə qoymasını istəyin.

Alexa, arduinodan açar tətikini 50 faiz rütubətə qoymasını istəyin

Alexa, arduinodan açarı açmağı/söndürməsini xahiş et

Addım 7: VUI (Səsli İstifadəçi İnterfeysi) Diaqramı

VUI (Səsli İstifadəçi İnterfeysi) Diaqramı
VUI (Səsli İstifadəçi İnterfeysi) Diaqramı

Addım 8: Demo

Image
Image

1. Temperatur və rütubət üçün tətiyi təyin edin.

2. Tətiyi 20 dərəcəyə qoyun.

3. Tətiyi yüzdə 80 rütubətə qoyun.

Addım 9: Şematik

Tövsiyə: