Агуулгын хүснэгт:

Гэрт байх симулятор ба аюулгүй байдлын хяналтын төхөөрөмж: 6 алхам (зурагтай)
Гэрт байх симулятор ба аюулгүй байдлын хяналтын төхөөрөмж: 6 алхам (зурагтай)

Видео: Гэрт байх симулятор ба аюулгүй байдлын хяналтын төхөөрөмж: 6 алхам (зурагтай)

Видео: Гэрт байх симулятор ба аюулгүй байдлын хяналтын төхөөрөмж: 6 алхам (зурагтай)
Видео: КАКИМ БУДЕТ PORTAL 3 2024, Долдугаар сарын
Anonim
Гэрийн бэлэн байдлын симулятор ба аюулгүй байдлын хяналтын төхөөрөмж
Гэрийн бэлэн байдлын симулятор ба аюулгүй байдлын хяналтын төхөөрөмж
Гэрийн бэлэн байдлын симулятор ба аюулгүй байдлын хяналтын төхөөрөмж
Гэрийн бэлэн байдлын симулятор ба аюулгүй байдлын хяналтын төхөөрөмж
Гэрийн бэлэн байдлын симулятор ба аюулгүй байдлын хяналтын төхөөрөмж
Гэрийн бэлэн байдлын симулятор ба аюулгүй байдлын хяналтын төхөөрөмж
Гэрийн бэлэн байдлын симулятор ба аюулгүй байдлын хяналтын төхөөрөмж
Гэрийн бэлэн байдлын симулятор ба аюулгүй байдлын хяналтын төхөөрөмж

Энэхүү төсөл нь бидний байгаа байдлыг дуурайж, гэрийнхээ хөдөлгөөнийг илрүүлэх боломжийг олгодог.

Бид гэрийнхээ өөр өөр өрөөнд суурилуулсан төхөөрөмжийн сүлжээг тохируулж болно, бүгд үндсэн төхөөрөмжөөр удирддаг.

Энэхүү төсөл нь эдгээр боломжуудыг нэг төхөөрөмж дээр нэгтгэсэн болно (ЗУРАГ 1):

  1. Энэ бол симулятор юм: төхөөрөмж нь нэг гэрлийн чийдэнг асааж (ЗУРАГ 1), IR дамжуулагчийг (PICTURE 2) ашиглан 38 КГц -ийн IR хяналтын кодыг IR хяналттай төхөөрөмжүүдэд (ТВ, VCR, чийдэн, …) илгээдэг.
  2. Энэ бол хөдөлгөөн мэдрэгч: төхөөрөмж нь хөдөлгөөнийг илрүүлэх PIR мэдрэгчтэй (ЗУРАГ 3)

Системийг бүхэлд нь сүлжээнд байгаа бусад боол төхөөрөмжүүдэд гэрлийг асаах, унтраах, хяналттай IR төхөөрөмжийг идэвхжүүлэхийн тулд дохиог илгээдэг мастер төхөөрөмж удирддаг.

Мастер төхөөрөмжийн гол шинж чанарууд нь дараах байдалтай байна.

  • Энэ нь боол төхөөрөмж бүрийг хянахын тулд товлосон командуудын найдвартай байдлыг ашигладаг. Жишээлбэл: 1 -р боолын станцын гэрэл өдөр бүр санамсаргүй байдлаар асах болно, эсвэл 2 -р боолтын станц телевизийг асааж хэсэг хугацааны дараа сувгаа солино.
  • Энэ нь хөдөлгөөн илрэх үед боолын станцуудаас дохио хүлээн авч, бидэнд болон имэйл илгээдэг
  • Энэ нь бүх системийг үүлнээс алсаас удирдах, шинэчлэх зорилгоор вэб серверийг тохируулдаг

Танд таалагдаж, хэн нэгэнд хэрэг болно гэж найдаж байна.

Алхам 1: Боолын төхөөрөмж бүтээх

Боолын төхөөрөмж бүтээх
Боолын төхөөрөмж бүтээх
Боолын төхөөрөмж бүтээх
Боолын төхөөрөмж бүтээх
Боолын төхөөрөмж бүтээх
Боолын төхөөрөмж бүтээх

Боол төхөөрөмж бүтээхийн тулд бидэнд дараахь зүйлс хэрэгтэй болно.

  • Цахилгаан хайрцаг
  • ARDUINO NANO эсвэл нийцтэй ARDUINO NANO микроконтроллер
  • Protoboard 480
  • Реле
  • 38 кГц давтамжтай IR дамжуулагч
  • PIR мэдрэгч
  • nRF24L01 модуль + антен
  • NRF24L01 модульд зориулсан адаптер
  • Цахилгаан хангамж 5V, 0.6 А.
  • Дэнлүүний тавиур
  • Гэрлийн чийдэн
  • Кабель
  • Терминал блок

Үүнийг холбох алхамууд нь дараах байдалтай байна (зүү холболт бүрийн Fritzing зургийг үзнэ үү):

  1. ЗУРАГ 1: цахилгаан хайрцагт дэнлүү эзэмшигчийн нүхийг нээ
  2. ЗУРАГ 2: протокол 480 -ийг NANO микроконтроллер, IR дамжуулагч, тэжээлийн эх үүсвэрээр суулгана
  3. ЗУРАГ 3: дэнлүү эзэмшигчийн фазын дамжуулагчийг релений NC терминал, тэг дамжуулагчийг терминалын блок дахь тэг оролтод холбоно. Үүний дараа релений нийтлэг терминалыг терминалын блок дахь оролтын фазын дамжуулагчтай холбоно
  4. ЗУРАГ 4: IR дамжуулагч ба PIR мэдрэгчийг NANO микроконтроллертой холбоно уу. Хяналт хийхийг хүсч буй төхөөрөмжийнхөө IR кодыг тохируулахын тулд 3 -р алхамыг үзнэ үү
  5. ЗУРАГ 5: nRF24L01 адаптерийг цахилгаан хайрцгийн гадна суулгаад NANO микроконтроллерт холбоно уу. Энэ зураг дээр харж байгаагаар кабелиуд нь цахилгаан хайрцагт нүхээр ордог бөгөөд энэ нь USB програмчлалын кабелийг NANO микроконтроллерт холбоход хэрэглэгддэг.

Алхам 2: Мастер төхөөрөмжийг бүтээх

Мастер төхөөрөмжийг бүтээх
Мастер төхөөрөмжийг бүтээх
Мастер төхөөрөмжийг бүтээх
Мастер төхөөрөмжийг бүтээх
Мастер төхөөрөмжийг бүтээх
Мастер төхөөрөмжийг бүтээх

Мастер төхөөрөмжийг бүтээхийн тулд бидэнд дараахь зүйлс хэрэгтэй болно.

  • Цахилгаан хайрцаг
  • ARDUINO MEGA 2560 R3 эсвэл нийцтэй ARDUINO MEGA 2560 R3 микроконтроллер
  • WiFi NodeMCU Lua Amica V2 ESP8266 модуль
  • RTC DS3231
  • Protoboard 170
  • Реле
  • 38 кГц давтамжтай IR дамжуулагч
  • PIR мэдрэгч
  • nRF24L01 модуль + антен
  • NRF24L01 модульд зориулсан адаптер
  • Цахилгаан хангамж 5V, 0.6 А.
  • Дэнлүүний тавиур
  • Гэрлийн чийдэн
  • Кабель
  • Терминал блок

Үүнийг холбох алхам нь өмнөхтэй маш төстэй юм, учир нь мастер төхөөрөмж нь үндсэндээ илүү онцлог шинж чанартай боол төхөөрөмж юм (зүү холболт бүрийн Fritzing зургийг үзнэ үү):

  • ЗУРАГ 1: цахилгаан хайрцагт дэнлүү эзэмшигчийн нүхийг нээ
  • ЗУРАГ 2, ЗУРАГ 3: ESP8266 модулийг 170 протобоард дээр суулгаад MEGA 2560 микроконтроллер дээр байрлуулна.
  • ЗУРАГ 4: Цахилгаан хайрцаг дотор модны хэсгийг наана. Модон дээр ESP8266 бүхий MEGA 2560 микроконтроллер, цагны модуль DS3231, nRF24L01 адаптерийг суулгана.
  • ЗУРАГ 5: Цахилгаан хангамжийг бодитоор суурилуулах. Дэнлүүний эзэмшигчийн фазын дамжуулагчийг релений NC терминал, тэг дамжуулагчийг терминал блок дахь тэг оролттой холбоно. Үүний дараа релений нийтлэг терминалыг терминалын блок дахь оролтын фазын дамжуулагчтай холбоно.

Алхам 3: Мастер ба боолын төхөөрөмжийг тохируулах

Мастер ба боолын төхөөрөмжийг тохируулах
Мастер ба боолын төхөөрөмжийг тохируулах

Төхөөрөмжүүдийг тохируулахын тулд та дараах алхмуудыг хийх ёстой.

Алхам 3.1 (хоёр төхөөрөмж)

IRremote, RF24Network, RF24, DS3231, Time номын санг ARDUINO IDE дээрээ суулгаарай.

Алхам 3.2 (зөвхөн боол төхөөрөмжид зориулагдсан)

Сүлжээнд байгаа хаягийг тохируулна уу. Дараах кодыг зөвхөн "mavjudligi_slave.ino" ноорогоос хайж, хаягаа наймтын форматаар өгөхөд л болно. 0 хаяг нь үндсэн төхөөрөмжид зориулагдсан тул зөвхөн 0 -ээс их хаягийг ашиглаарай

const uint16_t this_node = 01; // Octa форматаар манай боол төхөөрөмжийн хаяг

"Mavjudligi_slave.ino" эскизийг микроконтроллерт ачаална уу.

АЛХАМ 3.3 (зөвхөн мастер төхөөрөмжид зориулагдсан) (IR ХЯНАЛТЫН КОДУУДЫН ТАНИЛЦУУЛГА)

Хэрэв та 38 кГц давтамжтай IR хяналтын кодоор удирддаг төхөөрөмжийг оршихуйг дуурайх зорилгоор ашиглах гэж байгаа бол тэдгээрийн заримыг нь мэдэх хэрэгтэй.

Үгүй бол та IR хяналтын кодыг төхөөрөмжөөсөө авах ёстой.

Үүнийг хийхийн тулд танд 38 кГц давтамжтай IR хүлээн авагч хэрэгтэй бөгөөд нэг iranocodes.ino зургийн зургийг нэг НАНО микроконтроллерт ачаалж, ЗУРАГ 1 -д үзүүлсэн шиг бүх зүйлийг холбоно уу.

Дараа нь алсын удирдлагаа IR хүлээн авагч руу чиглүүлж, ямар ч товчлуурыг дарахад сериал дэлгэц дээр дараахтай төстэй зүйлийг харах болно.

(12 бит) декодчилсон SONY: A90 (HEX), 101010010000 (BIN) // POWER товч

(12 бит) декодчилсон SONY: C10 (HEX), 110000010000 (BIN) // 4 товчлуур (12 бит) декодчилсон SONY: 210 (HEX), 1000010000 (BIN) // 5 товчлуур

Энэ тохиолдолд алсын удирдлага нь SONY IR протоколыг ашигладаг бөгөөд алсын удирдлага дээрх асаах товчлуурыг дарахад бид 12 битийн "0xA90" IR кодыг, эсвэл алсын удирдлага дээрх 4 товчлуурыг дарахад IR -ийг олж авдаг. код "0xC10".

Би дор хаяж оршихуйг дуурайхын тулд хүч чадал, хэд хэдэн товчлуурын дугаарыг хянах IR кодыг хайж олохыг зөвлөж байна.

IR кодыг өмнө нь олж авсны дараа та тэдгээрийг дараах байдлаар танилцуулах ёстой.

ЭХНИЙ АРГА

Хэрэв та wifi сүлжээг тохируулсан бол үүнийг вэб хуудсыг ашиглан хийж болно (Алхамыг үзнэ үү: Вэб сервер)

ХОЁРДУГААР ЗАМ

Үгүй бол та "ir_codes.ino" файлаас дараагийн кодыг хайж, мэдээллийг шинэчлэх шаардлагатай болно. Доорх кодоос бид зөвхөн олж авсан мэдээллийг зөвхөн үндсэн төхөөрөмжид хэрхэн нэвтрүүлж болохыг харж болно (хаяг = 0)

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

/******* IR хяналтын код ***************** / /******************** **********************/ // протокол_ид, битийн тоо, мастер төхөөрөмжийн 10 IR хяналтын код (хаяг = 0) SONY, 12, 0xA90, 0xC10, 0x210, 0, 0, 0, 0, 0, 0, 0, // протокол_ид, битийн тоо_10, боол төхөөрөмжийн 10 IR хяналтын код (хаяг = 1) МЭДЭЭГҮЙ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, боол төхөөрөмжийн 10 IR хяналтын код (хаяг = 2) Мэдэгдээгүй, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, боол төхөөрөмжийн 10 IR хяналтын код (хаяг = 3) Мэдэгдээгүй, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //, Боол төхөөрөмжийн 10 IR хяналтын код (хаяг = 4) МЭДЭЭГҮЙ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /************ ******************************* / / ********* IR хяналтын кодыг дуусгах ** ************ / / ********************************** *********/

Ноорог нь дараах IR протоколуудтай ажиллахаар тохируулагдсан болно.

  • NEC
  • SONY
  • RC5
  • RC6
  • LG
  • JVC
  • ЯАГААД
  • SAMSUNG
  • ХУРЦ
  • САВ
  • ДЕНОН
  • LEGO_PF

"Ir_codes.ino" файлаас та SAMSUNG болон SONY протоколын зарим IR хяналтын кодыг олох боломжтой.

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

// ЗАРИМ ИР_ПРОТОКОЛ, КОД // (SAMSUNG, тоо_бит, товчлуур POWER, 1, 2, 3 товчлуур) // SAMSUNG, 32, 0xE0E010EF, 0xE0E020DF, 0xE0E0609F, 0xE0E0A05F_ товчлуур, 2, 3, 4, 5, 6, 7, 8, 9, 0) // SONY, 12, 0xA90, 0x010, 0x810, 0x410, 0xC10, 0x210, 0xA10, 0x610, 0xE10, 0x110, 0x910 /***** ************************************************ *******************/

ЧУХАЛ: Төхөөрөмжийг унтраахын тулд оруулсан анхны IR хяналтын код нь IR хяналтын код байх ёстой. Тухайн төхөөрөмжид ямар нэгэн арга хэмжээ төлөвлөөгүй байхад эзэн нь боолууд руу илгээнэ

Хэрэв зарим байгууллага дээр дурдсан зарим протоколын зарим IR хяналтын кодыг мэддэг эсвэл хэн нэгэн олж авсан бол энэхүү зааварт дараах мэдээллийг агуулсан коммент бичнэ үү: протоколын ID, протоколын урт, IR хяналтын код.

Алхам 3.4 (зөвхөн мастер төхөөрөмжид зориулагдсан)

Та симуляцийн төлөвлөлтийг дараах байдлаар танилцуулж болно.

ЭХНИЙ АРГА

Хэрэв та wifi сүлжээг тохируулсан бол үүнийг вэб хуудсыг ашиглан хийж болно (Алхамыг үзнэ үү: Вэб сервер)

ХОЁРДУГААР ЗАМ

Та "ir_codes.ino" файлаас дараагийн кодыг хайж, мэдээллээ шинэчлэх хэрэгтэй.

Симуляцийн төлөвлөлтийн формат дараах байдалтай байна.

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

/************ БАЙГУУЛЛАГЫН СИМУЛЯЦИЙН ТӨЛӨВЛӨЛӨГ

7, 8, 17, 3, 5, 60, 10, 40, // мастер төхөөрөмж (хаяг = 0) 0, 0, 17, 23, 3, 30, 5, 10, // боол төхөөрөмж (хаяг = 1) 0, 0, 0, 0, 0, 0, 0, 0, // боол төхөөрөмж (хаяг = 2) 0, 0, 0, 0, 0, 0, 0, 0, // боол төхөөрөмж (хаяг = 3) 0, 0, 0, 0, 0, 0, 0, 0 // боол төхөөрөмж (хаяг = 4) /************ ТӨГСГӨЛИЙН СИМуляторыг дуусгах ********** **********/

Дээрх жишээн дээр үндсэн төхөөрөмжийн симуляцийн төлөвлөлт дараах байдалтай байна.

  • (hour_init_interval1 = 7) Эхний интервалын симуляци өдөр бүр 7:00 цагт эхэлнэ
  • (hour_end_interval1 = 8) Эхний интервалын симуляци тухайн өдрийн өглөөний 8:00 цагт дуусна
  • (hour_init_interval2 = 17) Хоёр дахь интервалын симуляци 17:00 цагаас эхэлнэ. өдөр бүр
  • (hour_end_interval2 = 3) Хоёр дахь интервалын симуляци дараагийн өдрийн 03:00 цагт дуусна
  • (min_delay_ir = 5) (max_delay_ir = 60) IR хяналтын кодыг санамсаргүй илгээх хоорондох минутын хоцрогдол нь 5-60 хооронд байдаг санамсаргүй тоо юм.
  • (min_delay_light = 10) (max_delay_light = 40) Гэрлийг асаах, унтраах хоорондох минутын хоцрогдол нь 10-40 хооронд санамсаргүй тоо юм.

2 -р хаягтай боолын төхөөрөмжийн симуляцийн төлөвлөлт дараах байдалтай байна.

  • (hour_init_interval1

    = 0) Эхний интервалын симуляцийг тодорхойлоогүй байна

  • (hour_end_interval1 = 0) Эхний интервалын симуляцийг тодорхойлоогүй байна
  • (hour_init_interval2 = 17) Симуляцийг оройн 17:00 цагт эхлүүлнэ. өдөр бүр
  • (hour_end_interval2 = 23) Симуляци 23:00 цагт дуусна. тэр өдөр
  • (мин_хойш_ир = 3)

    (max_delay_ir

    = 30) IR хяналтын кодыг санамсаргүйгээр илгээх хоорондох минутын хоцрогдол нь 3 -аас 30 хүртэлх санамсаргүй тоо юм

    (мин_хойш_ гэрэл = 5)

    (хамгийн их_хойш_ гэрэл

    = 10) Гэрлийг унтраах ба унтраах хоорондох минутын хоцрогдол нь 5 -аас 10 хүртэлх санамсаргүй тоо юм

АЛХАМ 3.5 (зөвхөн үндсэн төхөөрөмжид зориулагдсан) (Бодит цагийн цагийг тохируулах)

Энэхүү хандлагын нэг түлхүүр бол цаг хугацаа юм. Ноорог ажиллаж эхлэх үед бид ARDUINO -ийн цагийг тохируулах хэрэгтэй. Үүнийг хийхийн тулд бидэнд бодит цагийн модуль хэрэгтэй болно. Нэг цагийн модуль нь I32C протоколыг ашиглан гурван өгөгдлийн кабелиар микроконтроллерт холбогдоогүй тохиолдолд ашиглах боломжтой батерейны батерейны цэнэглэгчийг дэмждэг DS3231 юм.

DS3231 -ийг ашиглахын өмнө та энэ модулийн цагийг тохируулах ёстой. Үүнийг хийхийн тулд та "DS3231_set.ino" тоймыг үндсэн төхөөрөмж дээр ажиллуулах ёстой.

АЛХАМ 3.6 (зөвхөн үндсэн төхөөрөмжид зориулагдсан) (ESP8266 МОДУЛИЙГ Тохируулах)

Энэ модуль дээр ажиллаж буй ноорог нь дотоод wifi сүлжээндээ холбогдож вэб сервер тохируулахыг оролддог.

Тиймээс бид танай орон нутгийн wifi сүлжээнд нэвтрэх, ESP8266 сүлжээн дэх бүх төхөөрөмжөөр илрүүлсэн хөдөлгөөнийг илгээх гэж буй Gmail имэйл хаягийг тохируулахын тулд "mavjudligi_web.ino" ноорог дээрх мэдээллийг шинэчлэх шаардлагатай байна. болон мэдэгдлийг хүлээн авахыг хүссэн имэйл хаяг (ESP8266 Gmail Sender-ийг зааж өгөх боломжтой)

const char* ssid = "таны дотоод wifi сүлжээний ssid";

const char* password = "таны дотоод wifi сүлжээний нууц үг"; const char* to_email = "хөдөлгөөнийг илрүүлэх тухай мэдэгдлийг хүлээн авахыг хүссэн имэйл"; WiFiServer сервер (80); // сонсоход ашигладаг порт

болон "Gsender.h" ноорог дээрх дараах мэдээллийг.

const char*EMAILBASE64_LOGIN = "*** таны Gmail нэвтрэх код BASE64 дээр ***";

const char*EMAILBASE64_PASSWORD = "*** таны Gmail нууц үгийг BASE64 -д кодчилсон ***"; const char*FROM = "*** таны gmail хаяг ***";

ЧУХАЛ: энэ код нь Arduino 2.5.0 хувилбарын ESP8266 цөмтэй ажилладаггүй. Түр шийдлийн хувьд үндсэн хувилбар болох 2.4.2 -ийг ашиглана уу

Алхам 3.7 (зөвхөн үндсэн төхөөрөмжийн хувьд)

Өмнөх алхам 3.3, 3.4, 3.5, 3.6 -ийг хийсний дараа NANO микроконтроллерт "mavjudligi_master.ino" эскизийг, ESP8266 модуль дээрх "mavjudligi_web.ino" эскизийг ачаална уу.

Алхам 4: Системийг турших

Бүх зүйл бидний хүссэнээр ажиллаж байгаа эсэхийг шалгахын тулд "mavjudligi_master.ino" эскизийг туршилтын горимд ажиллуулж болно.

Та тодорхой төхөөрөмжийг хоёр аргаар туршиж үзэх боломжтой.

НЭГДҮГДЭХ АРГА: Хэрэв та wifi сүлжээ ашиглаагүй бол та "mavjudligi_master.ino" файлаас дараагийн кодыг хайх хэрэгтэй бөгөөд "bool_test_activated" хувьсагчийн анхны утгыг "үнэн" болгож өөрчилж, хаягийг нь шинэчлэх хэрэгтэй. төхөөрөмжийг дараагийн кодын мөрөнд туршиж, ноорогыг үндсэн төхөөрөмж дээрх ARDUINO микроконтроллерт ачаална.

boolean bool_test_activated = худал; // анхны туршилтын горим руу үнэн болгож өөрчлөх

int device_to_test = 0; // турших боолын төхөөрөмжийн хаяг

Туршилтын горимоос гараад ноорогоо дахин ачаалахыг хүсч байвал утгыг худал болгож өөрчлөхөө бүү мартаарай

ХОЁРДУГААР ЗАМ: Хэрэв та wifi сүлжээ ашигладаг бол вэб хуудсыг ашиглан туршилтын горимыг идэвхжүүлж болно. "Вэб сервер" алхамыг үзнэ үү.

Хэрэв турших төхөөрөмж нь IR хяналтын кодыг илгээх гэж байгаа бол мастер эсвэл боол төхөөрөмжийг IR хяналттай төхөөрөмжийн өмнө байрлуулна уу (ТВ, радио …).

Энэ горим дараах байдлаар ажилладаг.

  • Гэрлийг турших. Тодорхой төхөөрөмжийн гэрэл 10 секунд тутамд асаж, унтрах ёстой.
  • IR кодыг турших. Ноорог нь өмнө нь танилцуулсан IR кодыг санамсаргүй байдлаар сонгож, 10 секунд тутамд IR хяналттай төхөөрөмж рүү илгээх болно. Тиймээс та тухайн төхөөрөмж хүлээн авсан IR кодтой тохирох үйлдлийг хийж байгаа эсэхийг шалгах хэрэгтэй
  • ХӨДӨЛГӨӨНИЙ ДЕТЕКТОРЫГ ТУРШИХ. Хэрэв төхөөрөмж PIR мэдрэгчийнхээ урд талын хөдөлгөөнийг илрүүлсэн бол энэ нь үндсэн төхөөрөмж рүү дохио илгээх бөгөөд түүний гэрэл хэд хэдэн удаа анивчиж эхлэх ёстой.

Энэхүү зааварчилгааны төгсгөлд байгаа видеон дээр та туршилтын горим ажиллаж байгааг харж болно.

Алхам 5: Вэб сервер

Вэб сервер
Вэб сервер
Вэб сервер
Вэб сервер
Вэб сервер
Вэб сервер

Системийг хянах, бүх зүйл зөв ажиллаж байгаа эсэхийг шалгахын тулд ESP8266 модулийг вэб сервер болгон тохируулсан болно. Сүлжээнд алсаас хандахын тулд танд өөр нэмэлт програм хангамж хэрэггүй, зөвхөн чиглүүлэгчийнхээ IP хаягийг вэб хөтөч дээр бичээрэй. Таны чиглүүлэгч дээр ESP8266 модульд нэвтрэх порт дамжуулалтыг өмнө нь тохируулсан статик локал IP ашиглан тохируулсан болно.

Энэ модуль нь I2C протоколыг ашиглан ARDUINO микроконтроллерт холбогдсон байна.

Та анхны вэб хуудсыг ЗУРАГ 1 -ээс харж болно.

  • СИСТЕМИЙН ТӨРИЙН хэсэг нь системийн талаархи мэдээллийг харуулна.

    • Системийн огноо, цаг. Огноо, цагийг цаг тухайд нь хийх нь маш чухал юм
    • Оршин суух симуляторын төлөв (идэвхжсэн эсвэл идэвхгүй болсон), хамгийн сүүлд байгаа үйлдлийн огноо, цаг, тухайн үйлдлийг гүйцэтгэсэн төхөөрөмжийн хаяг (ЗУРАГ 2)
    • Хөдөлгөөн мэдрэгчийн төлөв (идэвхжсэн эсвэл идэвхгүй болсон) ба төхөөрөмжөөр хийсэн хөдөлгөөнийг илрүүлсэн түүх: тоолуур, сүүлийн хөдөлгөөнийг илрүүлсэн огноо, цаг (ЗУРАГ 3) Энэ зураг дээр 1 хаягтай төхөөрөмжөөс 1 илрүүлсэн болохыг харж болно. хөдөлгөөн, сүүлчийнх нь 16:50:34 цагт байв
  • COMMANDS хэсэг нь бидэнд дараахь зүйлийг хийх боломжийг олгодог.

    • Оршин суух симуляторыг идэвхжүүлэхийн тулд
    • Хөдөлгөөн илрүүлэгчийг идэвхжүүлэхийн тулд
    • Туршилтыг эхлүүлэх, зогсоох төхөөрөмжийг сонгохын тулд (ЗУРАГ 4)
  • PRESENCE COMMAND хэсэг нь дараахь зүйлийг хийх боломжийг бидэнд олгодог.

    Тодорхой төхөөрөмжийн симуляцийн төлөвлөлтийг танилцуулах эсвэл шинэчлэх. ЗУРАГ 5 -аас та хаягийн төхөөрөмжийн оршихуй симуляцийн төлөвлөлтийг хэрхэн шинэчлэх талаар харж болно 1. Мөрийн формат нь дараах байдалтай байна: (addr_device), (hour_init1), (end_init1), (hour_init2), (end_init2), (min_delay_ir), (max_delay_ir), (min_delay_light), (max_delay_light). Бүх тоонууд нь бүхэл тоо юм. Хэрэв та хүчин төгөлдөр мөр оруулсан бол та "СҮҮЛ" гэсэн текстийн өмнө шинэ загварчлалын төлөвлөлтийг харах болно, эс тэгвээс "СҮҮЛ: ХҮЧИРГҮЙ" гэсэн мессежийг харах болно

  • IR CODE COMMAND хэсэг нь бидэнд дараахь зүйлийг хийх боломжийг олгодог.

    Тодорхой төхөөрөмжийн IR хяналтын кодыг танилцуулах эсвэл шинэчлэх. ЗУРАГ 6 -аас та хаягийн төхөөрөмжийн шинэ IR хяналтын кодыг хэрхэн шинэчлэх эсвэл нэвтрүүлэх талаар харж болно 1. Мөрийн формат нь дараах байдалтай байна: (addr_device), (IR_protocol), (protocol_bits_length), (index_IR_control_code), (IR_control_code). (IR_protocol) нь зөвхөн дараагийн утгыг (SONY, NEC, RC5, RC6, LG, JVC, WHYNTER, SAMSUNG, DISH, DENON, SHARP, LEGO_PF) хүлээн зөвшөөрдөг жижиг үсгийн мэдрэмтгий мөр бөгөөд (IR_control_code) нь арван зургаатын тоо юм. Систем нь 10 IR хяналтын кодыг хадгалахаар тохируулагдсан тул (index_IR_control_code) нь 1 -ээс 10 хүртэлх бүхэл тоо юм. Өмнөхийн адил, хэрэв та хүчин төгөлдөр мөрийн форматыг нэвтрүүлсэн бол "Сүүлийн" гэсэн текстийн өмнө шинэ IR хяналтын кодыг харах болно. эс бөгөөс та "СҮҮЛ: ХҮЧИРГҮЙ" гэсэн мессежийг харах болно

Энэ вэб хуудсанд өөрийн дотоод wifi сүлжээнээс нэвтрэхийн тулд вэб хөтөч дээр таны чиглүүлэгчийн ESP8266 -д өгсөн IP хаягийг оруулна уу. Бүх зургуудаас миний чиглүүлэгчийн өгсөн IP нь 192.168.43.120 гэдгийг харж болно.

Орон нутгийн Wi -Fi сүлжээнээс гадна алсаас хандахын тулд та оролтын өгөгдлийг сонсож, дотоод сүлжээндээ ESP8266 руу дахин чиглүүлэхийн тулд ашиглах гэж буй портоо чиглүүлэгч дээрээ тохируулах ёстой. Үүний дараа вэб хөтөч дээр чиглүүлэгчийнхээ IP хаягийг оруулна уу.

Алхам 6: Бүгдийг тодруулах жишээ

Image
Image
Бүгдийг тодруулах жишээ
Бүгдийг тодруулах жишээ

Би бүх зүйлийг тодруулахын тулд тодорхой жишээ боловсруулсан

Би дараах төхөөрөмжүүдийг бүтээсэн (ЗУРАГ 2)

  • NANO микроконтроллер, нэг ширээний теннисний бөмбөг, нэг IR хүлээн авагчийн модуль бүхий RGB ашигладаг нэг IR хяналттай төхөөрөмж (ЗУРАГ 1). Хяналтын товчлуурыг IR алсын удирдлагын 1-ээс 7 хүртэл дарахад ширээний теннисний бөмбөг өнгөө өөрчилдөг.
  • Үндсэн төхөөрөмж (хаяг 0)
  • Нэг боол төхөөрөмж (хаяг 1)

Дээр дурдсанчлан бид төслийн бүх онцлог шинж чанарыг туршиж үзэх болно. Оршин суух симуляцийн төлөвлөлт нь дараахь байж болно.

  1. Боолын төхөөрөмжийн удирддаг бөмбөг оройн 17:00 цагаас эхлэн өнгөө өөрчлөх болно. 23:00 цаг хүртэл өглөөний 7:00 цагаас өглөөний 8:00 цаг хүртэл санамсаргүй байдлаар 1 -ээс 1 хүртэл минут тутамд.
  2. Боолын төхөөрөмжийн удирддаг гэрэл оройн 17:00 цагаас эхлэн асаж, унтрах болно. 23:00 цаг хүртэл өглөөний 7:00 цагаас өглөөний 8:00 цаг хүртэл 1-2 минутын хооронд санамсаргүй байдлаар
  3. Мастер төхөөрөмжийн удирддаг гэрэл 16:00 цагаас эхлэн асаж, унтрах болно. 1 -ээс 2 -ны хоорондох санамсаргүй интервал бүрт маргааш өдрийн 1:00 цаг хүртэл

"Ir_codes.ino" тоймыг хийсний дараа бид IR алсын удирдлагад ашигладаг IR протокол нь "NEC", IR кодын урт нь 32 бит, 1 -ээс 7 хүртэлх товчлууруудын IR хяналтын кодууд нь арван зургаатын форматтай болохыг олж мэдсэн. нь:

Товч 1 = FF30CF

2 товчлуур = FF18E7

Товч 3 = FF7A85

Товч 4 = FF10EF

Товч 5 = FF38C7

Товч 6 = FF5AA5

Товч 7 = FF42BD

Та системийг хоёр аргаар тохируулж болно.

НЭГДҮГДЭХ АРГА: вэб хуудсыг ашиглах (энэ зааврын төгсгөлд байгаа видеог үзнэ үү)

ХОЁРДУГААР ЗАМ: "ir_codes.ino" файлыг шинэчилж, дараа нь байршуулах

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

/******* IR хяналтын код ***************** / /******************** **********************/ // протокол_ид, битийн тоо, мастер төхөөрөмжийн 10 IR хяналтын код (хаяг = 0) NEC, 32, 0xFF30CF, 0xFF18E7, 0xFF7A85, 0xFF10EF, 0xFF38C7, 0xFF5AA5, 0xFF42BD, 0, 0, 0, // protocol_id, number_of_bits, боол төхөөрөмжийн 10 IR хяналтын код (хаяг = 1) МЭДЭХГҮЙ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, боол төхөөрөмжийн 10 IR хяналтын код (хаяг = 2) Мэдэгдээгүй, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, боол төхөөрөмжийн 10 IR хяналтын код (хаяг = 3) Мэдэгдээгүй, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //, Боол төхөөрөмжийн 10 IR хяналтын код (хаяг = 4) МЭДЭЭГҮЙ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /************ ******************************* / / ********* IR хяналтын кодыг дуусгах ** ************ / / ********************************** *********/

/************ БАЙГУУЛЛАГЫН СИМУЛЯЦИЙН ТӨЛӨВЛӨЛӨГ

0, 0, 16, 1, 0, 0, 1, 2, // мастер төхөөрөмж (хаяг = 0) 7, 8, 17, 23, 1, 1, 1, 2, // боол төхөөрөмж (хаяг = 1) RGB бөмбөг 0, 0, 0, 0, 0, 0, 0, 0, // боол төхөөрөмж (хаяг = 2) 0, 0, 0, 0, 0, 0, 0, 0, // боол төхөөрөмж (хаяг = 3) 0, 0, 0, 0, 0, 0, 0, 0 // боол төхөөрөмж (хаяг = 4) /************ ТӨГСГӨЛИЙН СИМуляторыг дуусгах ******** ************/

Зөвлөмж болгож буй: