Mundarija:

Uyda bo'lish simulyatori va xavfsizlikni boshqarish qurilmasi: 6 qadam (rasmlar bilan)
Uyda bo'lish simulyatori va xavfsizlikni boshqarish qurilmasi: 6 qadam (rasmlar bilan)

Video: Uyda bo'lish simulyatori va xavfsizlikni boshqarish qurilmasi: 6 qadam (rasmlar bilan)

Video: Uyda bo'lish simulyatori va xavfsizlikni boshqarish qurilmasi: 6 qadam (rasmlar bilan)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Iyul
Anonim
Uyda bo'lish simulyatori va xavfsizlikni boshqarish moslamasi
Uyda bo'lish simulyatori va xavfsizlikni boshqarish moslamasi
Uyda bo'lish simulyatori va xavfsizlikni boshqarish moslamasi
Uyda bo'lish simulyatori va xavfsizlikni boshqarish moslamasi
Uyda bo'lish simulyatori va xavfsizlikni boshqarish moslamasi
Uyda bo'lish simulyatori va xavfsizlikni boshqarish moslamasi
Uyda bo'lish simulyatori va xavfsizlikni boshqarish moslamasi
Uyda bo'lish simulyatori va xavfsizlikni boshqarish moslamasi

Ushbu loyiha bizga uydagi mavjudlikni taqlid qilish va harakatlarni aniqlash imkonini beradi.

Biz uyimizning turli xonalarida o'rnatilgan qurilmalar tarmog'ini sozlashimiz mumkin, ularning hammasi asosiy qurilma tomonidan boshqariladi.

Ushbu loyiha bu xususiyatlarni bitta qurilmada birlashtiradi (1 -RASM):

  1. Bu mavjudlik simulyatori: qurilma bitta lampochkani yoqadi va o'chiradi (1 -rasm) va IQ uzatuvchi (2 -rasm) yordamida IQ boshqariladigan qurilmalarga (televizor, videomagnitafon, lampalar,…)
  2. Bu harakat detektori: qurilmada harakatlarni aniqlash uchun PIR sensori o'rnatilgan (3 -rasm)

Butun tizim tarmoqdagi chiroqlarni yoqish va o'chirish va boshqariladigan IQ qurilmalarini rejalashtirilgan simulyatsiyaga muvofiq ishga tushirish uchun signallarni uzatuvchi boshqalarga signal yuboradigan asosiy qurilma tomonidan boshqariladi.

Asosiy qurilmaning asosiy xususiyatlari quyidagilar:

  • U har bir qul qurilmani boshqarish uchun rejalashtirilgan buyruqlar xavfsizligidan foydalanadi. Masalan: 1 -bandli stantsiyadagi yorug'lik har kuni tasodifiy vaqt ichida yonadi yoki 2 -bandli televizor televizorni yoqadi va ma'lum vaqtdan keyin kanalni o'zgartiradi.
  • Harakat aniqlanganda, u qul stansiyalaridan signallarni qabul qiladi va bizga va elektron pochtaga yuboradi
  • U butun serverni bulutdan masofadan boshqarish va yangilash uchun veb -serverni sozlaydi

Umid qilamanki, sizga yoqadi va kimgadir foydali bo'ladi.

1 -qadam: qul qurilmasini yaratish

Qul qurilmasini qurish
Qul qurilmasini qurish
Qul qurilmasini qurish
Qul qurilmasini qurish
Qul qurilmasini qurish
Qul qurilmasini qurish

Qul qurilmasini yaratish uchun bizga quyidagilar kerak bo'ladi:

  • Elektr qutisi
  • ARDUINO NANO yoki mos keladigan ARDUINO NANO mikrokontroller
  • Protoboard 480
  • Estafeta
  • 38 kHz chastotali IQ uzatuvchi
  • PIR sensori
  • nRF24L01 moduli + antenna
  • NRF24L01 moduli uchun adapter
  • Quvvat manbai 5V, 0,6 A.
  • Chiroq ushlagichi
  • Lampochka
  • Kabellar
  • Terminal bloki

Uni o'rnatish bosqichlari quyidagicha (har bir pinli ulanish uchun Fritzing chizmasini ko'ring):

  1. 1 -rasm: chiroq ushlagichi uchun elektr qutidagi teshikni oching
  2. 2 -Rasm: 480 protobardini NANO mikrokontroller, IQ uzatuvchi va quvvat manbai bilan o'rnating
  3. 3 -RASM: chiroq ushlagichining fazali o'tkazgichini o'rni NC terminaliga va nol o'tkazgichni terminal blokidagi neytral kirishga ulang. Shundan so'ng, o'rni umumiy terminalini terminal blokining kirish fazali o'tkazgichiga ulang
  4. Rasm 4: IQ uzatuvchi va PIR sensorini NANO mikrokontrolleriga ulang. Siz boshqarmoqchi bo'lgan qurilmaning IQ kodlarini sozlash uchun 3 -qadamga qarang
  5. 5 -Rasm: nRF24L01 adapterini elektr qutisidan tashqariga o'rnating va uni NANO mikrokontrolleriga ulang. Rasmda ko'rib turganingizdek, kabellar elektr qutiga teshik orqali kiradi va u USB dasturlash kabelini NANO mikrokontrolleriga ulash uchun ishlatiladi.

2 -qadam: Asosiy qurilmani yaratish

Asosiy qurilmani yaratish
Asosiy qurilmani yaratish
Asosiy qurilmani yaratish
Asosiy qurilmani yaratish
Asosiy qurilmani yaratish
Asosiy qurilmani yaratish

Asosiy qurilmani yaratish uchun bizga quyidagilar kerak bo'ladi:

  • Elektr qutisi
  • ARDUINO MEGA 2560 R3 yoki mos keladigan ARDUINO MEGA 2560 R3 mikrokontroller
  • WiFi NodeMCU Lua Amica V2 ESP8266 moduli
  • RTC DS3231
  • Protoboard 170
  • Estafeta
  • 38 kHz chastotali IQ uzatuvchi
  • PIR sensori
  • nRF24L01 moduli + antenna
  • NRF24L01 moduli uchun adapter
  • Quvvat manbai 5V, 0,6 A.
  • Chiroq ushlagichi
  • Lampochka
  • Kabellar
  • Terminal bloki

O'rnatish bosqichlari oldingisiga juda o'xshaydi, chunki asosiy qurilma asosan qo'shimcha funktsiyalarga ega bo'lgan qul qurilmadir (har bir pinli ulanish uchun Fritzing chizmasini ko'ring):

  • 1 -rasm: chiroq ushlagichi uchun elektr qutidagi teshikni oching
  • Rasm 2, Rasm 3: ESP8266 modulini protobard 170 ga o'rnating va rasmda ko'rib turganingizdek MEGA 2560 mikrokontrolleriga joylashtiring.
  • 4 -RASM: yog'och bo'lagini elektron qutiga joylashtiring. Yog'ochdan yasalgan qismga ESP8266 bilan MEGA 2560 mikrokontroller, DS3231 soat moduli va nRF24L01 adapteri o'rnatilgan.
  • 5 -Rasm: elektr ta'minoti va haqiqatni o'rnatish. Chiroq ushlagichining fazali o'tkazgichini o'rni NC terminaliga va nol o'tkazgichni terminal blokidagi neytral kirishga ulang. Shundan so'ng, o'rni umumiy terminalini terminal blokining kirish fazali o'tkazgichiga ulang.

3 -qadam: Asosiy va qul qurilmalarini sozlash

Asosiy va qul qurilmalarini sozlash
Asosiy va qul qurilmalarini sozlash

Qurilmalarni sozlash uchun siz quyidagi amallarni bajarishingiz kerak:

3.1 -QADAM (ikkala qurilma)

IRremote, RF24Network, RF24, DS3231 va Vaqt kutubxonalarini ARDUINO IDE -ga o'rnating.

3.2 -QADAM (faqat qul qurilmasi uchun)

Tarmoqdagi manzilni sozlang. Faqat "mavjudlik_slave.ino" eskizida quyidagi kodni qidiring va sakkizlik formatdagi manzilni bering. Faqat 0 dan katta manzillardan foydalaning, chunki 0 manzili asosiy qurilma uchun ajratilgan

const uint16_t this_node = 01; // Sakkizlik formatidagi qul qurilmamiz manzili

"Mavjudligi_slave.ino" eskizini mikrokontrollerga yuklang.

3.3 -QADAM (faqat asosiy qurilma uchun) (IR nazorat kodlari bilan tanishish)

Agar siz 38 KGts chastotali IQ kodlari bilan boshqariladigan qurilmadan foydalanishni rejalashtirmoqchi bo'lsangiz, ulardan ba'zilarini bilishingiz kerak.

Aks holda, siz qurilmangizdan IR nazorat kodlarini olishingiz kerak bo'ladi.

Buning uchun sizga 38 kHz chastotali IR qabul qilgich kerak bo'ladi, bitta NANO mikrokontrolleriga "ir_codes.ino" eskizini yuklang va 1 -rasmda ko'rib turganingizdek hamma narsani ulang.

Keyin masofadan boshqarish pultini IQ qabul qilgichga yo'naltiring, tugmani bosing va ketma -ket monitorda shunga o'xshash narsani ko'rasiz.

(12 bit) dekodlangan SONY: A90 (HEX), 101010010000 (BIN) // POWER tugmasi

(12 bit) SONY kodi: C10 (HEX), 110000010000 (BIN) // 4 tugma (12 bit) SONY: 210 (HEX), 1000010000 (BIN) // 5 tugmasi

Bu holda masofadan boshqarish pulti SONY IR protokolidan foydalanadi va biz masofadan boshqarish pultidagi quvvat tugmachasini bosganimizda 12 bit uzunlikdagi "0xA90" IR kodini olamiz yoki masofadan boshqarish pultidagi 4 tugmachasini bosganimizda biz IR ni olamiz. "0xC10" kodi.

Men hech bo'lmaganda mavjudlikni taqlid qilish uchun quvvatni va bir nechta tugmachali IR nazorat kodini qidirishni tavsiya qilaman.

Siz ilgari IR kodlarini olganingizdan so'ng, ularni quyidagicha kiritishingiz kerak:

BIRINCHI YOL

Agar siz Wi -Fi tarmog'ini sozlagan bo'lsangiz, uni veb -sahifa yordamida qilishingiz mumkin (Qarang: Veb -server)

Ikkinchi yo'l

Aks holda, "ir_codes.ino" faylidan keyingi kodni qidirish va ma'lumotlarni yangilash kerak bo'ladi. Quyidagi kodda biz yuqorida keltirilgan ma'lumotlarni faqat asosiy qurilma uchun qanday kiritishimiz mumkinligini ko'rishingiz mumkin (manzil = 0)

/******************************************/

/******* IR nazorat kodlari ***************** / /******************** **********************/ // protokol_id, bitlar soni, bosh qurilma uchun 10 ta IR nazorat kodlari (manzil = 0) SONY, 12, 0xA90, 0xC10, 0x210, 0, 0, 0, 0, 0, 0, 0, // protokol_id, bitlar soni, qul qurilmasi uchun 10 ta IR boshqaruv kodlari (manzil = 1) Bilmagan, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protokol_id, bitlar soni, qul qurilmasi uchun 10 ta IR nazorat kodlari (manzil = 2) Bilmagan, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protokol_id, raqamlar_bitslari, qul qurilmasi uchun 10 ta IR nazorat kodlari (manzil = 3) BILMAS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protokol_id, raqamlar_bitslari, Qul qurilmasi uchun 10 ta IR nazorat kodi (manzil = 4) BILMAYDI, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /************ ********************************* / / ********* IR nazorat kodlarini tugatish ** ************ / / ********************************** *********/

Eskiz quyidagi IR protokollari bilan ishlash uchun tuzilgan:

  • NEC
  • SONY
  • RC5
  • RC6
  • LG
  • JVC
  • NEGA
  • SAMSUNG
  • O'tkir
  • TOSHQA
  • DENON
  • LEGO_PF

"Ir_codes.ino" faylida siz SAMSUNG va SONY protokollari uchun IR nazorat kodlarini topishingiz mumkin.

/***************************************************************************/

// Ba'zi IR_PROTOKOLLAR VA KODLAR // (SAMSUNG, bitlar soni, tugma POWER, tugma 1, 2, 3) // SAMSUNG, 32, 0xE0E010EF, 0xE0E020DF, 0xE0E0609F, 0xE0E0A05F_ tugmasi, (SON 2), 3, 4, 5, 6, 7, 8, 9, 0) // SONY, 12, 0xA90, 0x010, 0x810, 0x410, 0xC10, 0x210, 0xA10, 0x610, 0xE10, 0x110, 0x910 /***** ************************************************ *******************/

MUHIM: qurilmani o'chirish uchun birinchi IR nazorat kodi kiritilishi kerak. Agar uskuna uchun hech qanday harakat rejalashtirilmagan bo'lsa, uni xo'jayin qullarga yuboradi

Agar kimdir bilsa yoki kimdir yuqorida sanab o'tilgan protokollarning ba'zi IR nazorat kodlarini olgan bo'lsa, iltimos, ushbu ko'rsatmaga quyidagi ma'lumotlarni kiriting: protokol identifikatori, protokol uzunligi va IR nazorat kodlari.

3.4 -QADAM (faqat asosiy qurilma uchun) (mavjud modellashtirishni rejalashtirish bilan tanishish)

Siz simulyatsiya rejasini quyidagicha joriy qilishingiz mumkin:

BIRINCHI YOL

Agar siz Wi -Fi tarmog'ini sozlagan bo'lsangiz, uni veb -sahifa yordamida qilishingiz mumkin (Qarang: Veb -server)

Ikkinchi yo'l

Siz "ir_codes.ino" faylidan keyingi kodni qidirishingiz va ma'lumotlarni yangilashingiz kerak.

Simulyatsiyani rejalashtirish formati quyidagicha:

(hour_init_interval1), (hour_end_interval1), (hour_init_interval2), (hour_end_interval2), (min_delay_ir), (max_delay_ir), (min_delay_light), (max_delay_light)

/************ mavjud modellashtirish rejasi ************/

7, 8, 17, 3, 5, 60, 10, 40, // asosiy qurilma (manzil = 0) 0, 0, 17, 23, 3, 30, 5, 10, // qul qurilmasi (manzil = 1) 0, 0, 0, 0, 0, 0, 0, 0, // qul qurilmasi (manzil = 2) 0, 0, 0, 0, 0, 0, 0, 0, // qul qurilmasi (manzil = 3) 0, 0, 0, 0, 0, 0, 0, 0 // qul qurilmasi (manzil = 4) /************ TUZISH MAVZU SIMULATORI ********** **********/

Yuqoridagi misolda asosiy qurilma uchun simulyatsiyani rejalashtirish quyidagicha:

  • (hour_init_interval1 = 7) Birinchi intervalli simulyatsiya har kuni ertalab soat 7:00 da boshlanadi
  • (hour_end_interval1 = 8) Birinchi intervalli simulyatsiya o'sha kuni ertalab soat 8:00 da tugaydi
  • (hour_init_interval2 = 17) Ikkinchi intervalli simulyatsiya 17:00 da boshlanadi. har kuni
  • (hour_end_interval2 = 3) Ikkinchi intervalli simulyatsiya ertasi kuni soat 03:00 da tugaydi
  • (min_delay_ir = 5) (max_delay_ir = 60) IQ nazorat kodlarining tasodifiy yuborilishi orasidagi daqiqalardagi kechikish vaqti 5 dan 60 gacha bo'lgan tasodifiy son
  • (min_delay_light = 10) (max_delay_light = 40) Chiroqni yoqish va o'chirish orasidagi daqiqalardagi kechikish vaqti 10 dan 40 gacha bo'lgan tasodifiy son.

va 2 -manzilga ega bo'lgan qo'shimcha qurilmaning simulyatsiyasini rejalashtirish quyidagicha:

  • (hour_init_interval1

    = 0) Birinchi intervalli simulyatsiya aniqlanmagan

  • (hour_end_interval1 = 0) Birinchi intervalli simulyatsiya aniqlanmagan
  • (hour_init_interval2 = 17) Simulyatsiya soat 17:00 da boshlanadi. har kuni
  • (hour_end_interval2 = 23) Simulyatsiya 23:00 da tugaydi. o'sha kuni
  • (min_delay_ir = 3)

    (max_delay_ir

    = 30) IR nazorat kodlarini tasodifiy yuborish orasidagi daqiqalardagi kechikish vaqti 3 dan 30 gacha bo'lgan tasodifiy son

    (min_delay_light = 5)

    (maksimal_kechki_ yorug'lik

    = 10) Chiroqni yoqish va o'chirish o'rtasidagi daqiqalardagi kechikish vaqti 5 dan 10 gacha bo'lgan tasodifiy son

3.5 -QADAM (faqat asosiy qurilma uchun) (Haqiqiy vaqtni sozlash)

Bu imkoniyatning kalitlaridan biri bu vaqt. Biz eskiz ishlay boshlaganda ARDUINO vaqtini belgilashimiz kerak. Buning uchun bizga real vaqtda soat moduli kerak. Bir soatlik modul - bu zaryadlanuvchi batareya zaryadlovchi qurilmasi bo'lgan DS3231, uni I2C protokoli yordamida uchta ma'lumot kabeli bilan mikrokontrolderga ulanmaguncha ishlatish mumkin.

DS3231 -dan foydalanish uchun avval siz ushbu moduldagi vaqtni belgilashingiz kerak. Buning uchun siz asosiy qurilmada "DS3231_set.ino" eskizini ishga tushirishingiz kerak.

3.6 -QADAM (faqat asosiy qurilma uchun) (ESP8266 modulini sozlash)

Ushbu modulda ishlaydigan eskiz mahalliy Wi -Fi tarmog'iga ulanishga va veb -serverni sozlashga harakat qiladi.

Mahalliy Wi-Fi tarmog'iga kirish va ESP8266 tarmoqdagi barcha qurilmalar tomonidan aniqlangan harakatlarni yuboradigan Gmail elektron pochta manzilini sozlash uchun "mavjudlik_web.ino" eskizidagi quyidagi ma'lumotlarni yangilashimiz kerak. va bildirishnomalarni olishni istagan elektron pochta manzili (ESP8266 Gmail yuboruvchisiga ko'rsatma)

const char* ssid = "mahalliy Wi -Fi tarmog'ingizning ssid";

const char* password = "mahalliy Wi -Fi tarmog'ingizning paroli"; const char* to_email = "harakatni aniqlash to'g'risida bildirishnoma olishni istagan elektron pochta"; WiFiServer serveri (80); // tinglash uchun ishlatiladigan port

va "Gsender.h" eskizidagi quyidagi ma'lumotlar.

const char*EMAILBASE64_LOGIN = "*** sizning Gmail kirish kodingiz BASE64da ***";

const char*EMAILBASE64_PASSWORD = "*** Gmail parolingiz BASE64 *** da kodlangan"; const char*FROM = "*** sizning gmail manzilingiz ***";

MUHIM: bu kod Arduino 2.5.0 versiyasi uchun ESP8266 yadrosi bilan ishlamaydi. Vaqtinchalik echim uchun asosiy versiya 2.4.2 dan foydalaning

3.7 -QADAM (faqat asosiy qurilma uchun)

Oldingi 3.3, 3.4, 3.5 va 3.6 -bosqichlarni bajargandan so'ng, "mavjudlik_master.ino" eskizini NANO mikrokontrolleriga va "mavjudlik_web.ino" eskizini ESP8266 moduliga yuklang.

4 -qadam: tizimni sinovdan o'tkazish

Hamma narsa biz xohlagandek ishlashini tekshirish uchun "mavjudlik_master.ino" eskizlari test rejimida ishlashi mumkin.

Siz ma'lum bir qurilmani ikki usulda sinab ko'rishingiz mumkin:

BIRINCHI YO'L: agar siz Wi -Fi tarmog'idan foydalanmasangiz, "mavjudlik_master.ino" faylidan keyingi kodni qidirishingiz, "bool_test_activated" o'zgaruvchining boshlang'ich qiymatini "rost" ga o'zgartirishingiz va birining manzilini yangilashingiz kerak. keyingi kod satrida sinab ko'rish va eskizni asosiy qurilmadagi ARDUINO mikrokontrolleriga yuklash uchun qurilma.

boolean bool_test_activated = noto'g'ri; // boshlang'ich sinov rejimiga haqiqiy holatga o'tish

int qurilma_to_test = 0; // sinov uchun qul qurilmasi manzili

Sinov rejimidan chiqib, eskizni qayta yuklamoqchi bo'lganingizda, qiymatni noto'g'ri deb o'zgartirishni unutmang

Ikkinchi usul: Agar siz Wi -Fi tarmog'idan foydalansangiz, test rejimini faollashtirish uchun veb -sahifadan foydalanishingiz mumkin. "Veb -server" qadamini ko'ring.

Agar sinovdan o'tkaziladigan qurilma IR nazorat kodlarini yubormoqchi bo'lsa, master yoki slave qurilmasini IR boshqariladigan qurilmaning oldiga qo'ying (TV, radio…).

Ushbu rejim quyidagi tarzda ishlaydi:

  • Chiroqni sinovdan o'tkazish. Muayyan qurilmaning nuri har 10 soniyada yoqilishi va o'chishi kerak.
  • IR kodlarini sinovdan o'tkazish. Eskiz tasodifan ilgari taqdim qilingan IQ kodini tanlaydi va u har 10 soniyada IQ boshqariladigan qurilmaga yuboriladi. Shunday qilib, siz ushbu qurilma qabul qilingan IR kodiga mos keladigan harakatni bajarayotganini tekshirishingiz kerak
  • Harakat detektorini sinovdan o'tkazish. Agar qurilma PIR sensori oldidagi harakatni aniqlasa, u signalni asosiy qurilmaga yuboradi va uning nuri bir necha marta miltillay boshlaydi.

Bu ko'rsatma oxiridagi videoda siz ishlayotgan test rejimini ko'rishingiz mumkin.

5 -qadam: Veb -server

Veb -server
Veb -server
Veb -server
Veb -server
Veb -server
Veb -server

Tizimni boshqarish va hamma narsa to'g'ri ishlashini tekshirish uchun ESP8266 moduli veb -server sifatida tuzilgan. Tarmoqqa masofadan kirish uchun sizga boshqa qo'shimcha dasturiy ta'minot kerak emas, faqat veb -brauzerda yo'riqnoma IP -manzilini kiriting. Siz marshrutizatorda ESP8266 moduliga kirish uchun siz ilgari sozlagan statik mahalliy IP yordamida portni uzatishni sozlagansiz.

Bu modul I2C protokoli yordamida ARDUINO mikrokontrolleriga ulangan.

Dastlabki veb -sahifani 1 -rasmda ko'rishingiz mumkin:

  • SYSTEM STATE bo'limi bizga tizim haqidagi ma'lumotlarni ko'rsatadi:

    • Tizimning sanasi va vaqti. Sana va vaqt o'z vaqtida bo'lishi juda muhimdir
    • Simulyatorning holati (yoqilgan yoki o'chirilgan), oxirgi harakatning sanasi va vaqti va harakatni bajargan qurilmaning manzili (2 -Rasm)
    • Harakat detektori holati (yoqilgan yoki o'chirilgan) va qurilma yordamida harakatni aniqlash tarixi: hisoblagich va oxirgi harakatni aniqlash sanasi va vaqti (3 -rasm) Bu rasmda biz 1 -manzili bo'lgan qurilmada 1 aniqlanganini ko'rishimiz mumkin. harakat va oxirgi 16:50:34 da
  • Buyruqlar bo'limi bizga quyidagilarni bajarishga imkon beradi:

    • Simulyatorni faollashtirish uchun
    • Harakat detektorini faollashtirish uchun
    • Sinovni boshlash va to'xtatish uchun qurilmani tanlash uchun (4 -rasm)
  • PRESENCE COMMAND bo'limi bizga quyidagilarni bajarishga imkon beradi:

    Muayyan qurilma uchun simulyatsiya rejasini joriy etish yoki yangilash. 5 -RASMda siz manzil qurilmasi uchun simulyatsiyani rejalashtirishni qanday yangilashni ko'rishingiz mumkin 1. String formati quyidagicha: (addr_device), (hour_init1), (end_init1), (hour_init2), (end_init2), (min_delay_ir), (max_delay_ir), (min_kechki_sor), (maksimal_kechik_sor). Barcha raqamlar butun sonlardir. Agar siz joriy satrni kiritgan bo'lsangiz, siz "LAST" matnidan oldin yangi simulyatsiya rejasini ko'rasiz, aks holda siz "LAST: YO'Q" degan xabarni ko'rasiz

  • IR CODE COMMAND bo'limi bizga quyidagilarni bajarishga imkon beradi:

    Muayyan qurilma uchun IR nazorat kodini kiritish yoki yangilash. 6 -RASMda siz manzil qurilmasi uchun yangi IQ nazorat kodini qanday yangilash yoki joriy qilishni ko'rishingiz mumkin 1. String formati quyidagicha: (addr_device), (IR_protocol), (protocol_bits_length), (index_IR_control_code), (IR_control_code). (IR_protocol) faqat keyingi qiymatlarni (SONY, NEC, RC5, RC6, LG, JVC, WHYNTER, SAMSUNG, DISH, DENON, SHARP, LEGO_PF) qabul qiladigan katta -kichik harflar qatori va (IR_control_code) - o'n oltilik raqam. Tizim 10 ta IR nazorat kodini saqlash uchun tuzilganligi sababli, (index_IR_control_code) 1 dan 10 gacha bo'lgan tamsayı sonidir. Agar oldingi satr formatini joriy qilgan bo'lsangiz, siz "LAST" matnidan oldin yangi IR nazorat kodini ko'rasiz. aks holda siz "OXIRGI: YO'Q emas" degan xabarni ko'rasiz

Ushbu veb -sahifaga mahalliy Wi -Fi tarmog'idan kirish uchun yo'riqnoma veb -brauzerda ESP8266 ga tayinlagan IP -ni kirgizishi kifoya. Barcha rasmlarda siz yo'riqnoma tomonidan tayinlangan IP 192.168.43.120 ekanligini ko'rishingiz mumkin.

Mahalliy Wi -Fi tarmog'idan tashqarida masofadan turib kirish uchun siz marshrutizatorda kiruvchi ma'lumotni tinglash uchun foydalanadigan portni sozlashingiz va uni mahalliy tarmog'ingizdagi ESP8266 ga yo'naltirishingiz kerak. Shundan so'ng, veb -brauzerda yo'riqnoma IP -manzilini kiriting.

6 -qadam: Hammasini tushuntirishga misol

Image
Image
Barchaga aniqlik kiritish uchun namuna
Barchaga aniqlik kiritish uchun namuna

Men hamma narsani aniqlashtirish uchun aniq bir misol yaratdim

Men quyidagi qurilmalarni qurdim (2 -rasm)

  • Nano mikrokontrolderi, stol tennisi to'pi ichidagi RGB va IQ qabul qilish moduli yordamida IQ boshqariladigan bitta qurilma (1-rasm). IQ masofadan boshqarish pultining 1 dan 7 gacha boshqaruv tugmachasini bosganimizda, stol tennisi to'pi rangini o'zgartiradi.
  • Asosiy qurilma (manzil 0)
  • Bitta qul qurilmasi (manzil 1)

Yuqorida aytilganlarning barchasi bilan biz loyihaning barcha xususiyatlarini sinab ko'ramiz. Simulyatsiyani rejalashtirish quyidagicha bo'lishi mumkin.

  1. Qul qurilmasi boshqaradigan to'p soat 17:00 dan o'z ranglarini o'zgartiradi. 23:00 gacha va ertalab soat 7:00 dan 8:00 gacha har daqiqada tasodifiy 1 dan 1 gacha.
  2. Qul qurilmasi boshqaradigan yorug'lik soat 17:00 dan boshlab yonadi va o'chadi. 23:00 gacha va ertalab soat 7:00 dan 8:00 gacha har 1-2 daqiqada tasodifiy daqiqalar oralig'ida
  3. Asosiy qurilma boshqaradigan yorug'lik soat 16:00 dan boshlab yonadi va o'chadi. ertasi kuni ertalab soat 1:00 gacha har 1 va 2 o'rtasidagi tasodifiy daqiqalar oralig'ida

"Ir_codes.ino" eskizini bajarganimizdan so'ng, biz IR masofadan boshqarish pulti ishlatadigan IR protokoli "NEC" ekanligini, IK kodlarining uzunligi 32 bitni va 1 dan 7 gacha bo'lgan tugmalar uchun IQni boshqarish kodlarini o'n oltilik formatda ekanligini bilib oldik. quyidagilar:

TUGMA 1 = FF30CF

2 tugmachasi = FF18E7

3 tugmachasi = FF7A85

4 tugmachasi = FF10EF

5 tugmachasi = FF38C7

6 tugmachasi = FF5AA5

7 tugmachasi = FF42BD

Siz tizimni ikkita usulda sozlashingiz mumkin:

BIRINCHI YO'L: veb -sahifadan foydalanish (ushbu ko'rsatma oxiridagi videoni ko'ring)

Ikkinchi usul: "ir_codes.ino" faylini yangilash va keyin yuklash:

/******************************************/

/******* IR nazorat kodlari ***************** / /******************** **********************/ // protokol_id, bitlar soni, asosiy qurilma uchun 10 ta IR nazorat kodlari (manzil = 0) NEC, 32, 0xFF30CF, 0xFF18E7, 0xFF7A85, 0xFF10EF, 0xFF38C7, 0xFF5AA5, 0xFF42BD, 0, 0, 0, // protocol_id, number_of_bits, qul qurilmasi uchun 10 ta IR nazorat kodi (manzil = 1) Bilmagan, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protokol_id, bitlar soni, qul qurilmasi uchun 10 ta IR nazorat kodlari (manzil = 2) Bilmagan, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protokol_id, bitlar soni, qul qurilmasi uchun 10 ta IR nazorat kodi (manzil = 3) BILMAYDI, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protokol_id, son_fitslari, Qul qurilmasi uchun 10 ta IR nazorat kodi (manzil = 4) BILMAYDI, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /************ ********************************* / / ********* IR nazorat kodlarini tugatish ** ************ / / ********************************** *********/

/************ mavjud modellashtirish rejasi ************/

0, 0, 16, 1, 0, 0, 1, 2, // asosiy qurilma (manzil = 0) 7, 8, 17, 23, 1, 1, 1, 2, // qul qurilmasi (manzil = 1) RGB to'pi 0, 0, 0, 0, 0, 0, 0, 0, // qul qurilmasi (manzil = 2) 0, 0, 0, 0, 0, 0, 0, 0, // qul qurilmasi (manzil = 3) 0, 0, 0, 0, 0, 0 0 ************/

Tavsiya: