Turinys:

Buvimo namuose simuliatorius ir saugos valdymo įrenginys: 6 žingsniai (su paveikslėliais)
Buvimo namuose simuliatorius ir saugos valdymo įrenginys: 6 žingsniai (su paveikslėliais)

Video: Buvimo namuose simuliatorius ir saugos valdymo įrenginys: 6 žingsniai (su paveikslėliais)

Video: Buvimo namuose simuliatorius ir saugos valdymo įrenginys: 6 žingsniai (su paveikslėliais)
Video: Высокая плотность 2022 2024, Lapkritis
Anonim
Dalyvavimo namuose simuliatorius ir saugos valdymo įrenginys
Dalyvavimo namuose simuliatorius ir saugos valdymo įrenginys
Dalyvavimo namuose simuliatorius ir saugos valdymo įrenginys
Dalyvavimo namuose simuliatorius ir saugos valdymo įrenginys
Dalyvavimo namuose simuliatorius ir saugos valdymo įrenginys
Dalyvavimo namuose simuliatorius ir saugos valdymo įrenginys
Dalyvavimo namuose simuliatorius ir saugos valdymo įrenginys
Dalyvavimo namuose simuliatorius ir saugos valdymo įrenginys

Šis projektas leidžia mums imituoti buvimą ir aptikti judesius mūsų namuose.

Mes galime sukonfigūruoti įrenginių, įdiegtų skirtinguose mūsų namų kambariuose, tinklą, kuriuos visus valdo pagrindinis įrenginys.

Šis projektas sujungia šias funkcijas viename įrenginyje (1 PAVEIKSLAS):

  1. Tai buvimo simuliatorius: prietaisas įjungia ir išjungia vieną lemputę (1 PAVEIKSLAS) ir naudoja IR siųstuvą (2 PAVEIKSLAS), kad nusiųstų 38 KHz IR valdymo kodus į IR valdomus įrenginius (televizorių, vaizdo grotuvą, lempas ir kt.)
  2. Tai judesio detektorius: prietaisas turi PIR jutiklį judesiams aptikti (3 PAVEIKSLAS)

Visa sistema valdoma pagrindiniu įtaisu, kuris siunčia signalus kitiems tinkle esantiems vergams, kad įjungtų ir išjungtų šviesas ir suaktyvintų valdomus IR įrenginius pagal suplanuotą buvimo modeliavimą.

Pagrindinės pagrindinio įrenginio savybės yra šios:

  • Jis naudoja suplanuotą komandų seką kiekvienam pavaldžiajam įrenginiui valdyti. Pvz.: Šviesa 1 verginėje stotyje užsidegs kiekvieną dieną per atsitiktinį laikotarpį arba 2 vergų stotis įjungs televizorių ir po kurio laiko pakeis kanalą.
  • Jis gauna signalus iš vergų stočių, kai aptinkamas judesys, ir siunčia mums bei el
  • Jis sukonfigūruoja žiniatinklio serverį valdyti ir atnaujinti visą sistemą nuotoliniu būdu iš debesies

Tikiuosi, kad kam nors patiksite ir būsite naudingas.

1 žingsnis: sukurkite vergų įrenginį

Verginio prietaiso kūrimas
Verginio prietaiso kūrimas
Verginio prietaiso kūrimas
Verginio prietaiso kūrimas
Verginio prietaiso kūrimas
Verginio prietaiso kūrimas

Norėdami sukurti verginį įrenginį, mums reikės:

  • Elektrinė dėžutė
  • ARDUINO NANO arba suderinamas ARDUINO NANO mikrovaldiklis
  • Protoboard 480
  • Estafetė
  • 38 KHz IR siųstuvas
  • PIR jutiklis
  • nRF24L01 modulis + antena
  • Adapteris moduliui nRF24L01
  • Maitinimas 5V, 0,6 A
  • Lempos laikiklis
  • Lemputė
  • Kabeliai
  • Terminalo blokas

Jį pritvirtinkite taip (žr. Kiekvieno kaiščio jungties brėžinį Fritzing):

  1. 1 PAVEIKSLAS: atidarykite skylę lempos laikiklio elektros dėžutėje
  2. 2 PAVEIKSLAS: įdėkite protoboard 480 su NANO mikrovaldikliu, IR siųstuvu ir maitinimo šaltiniu
  3. 3 PAVEIKSLAS: prijunkite lempos laikiklio fazinį laidininką prie relės NC gnybto ir nulinį laidą prie neutralaus įėjimo gnybtų bloke. Po to prijunkite bendrą relės gnybtą prie gnybtų bloko įvesties fazinio laidininko
  4. 4 PAVEIKSLAS: prijunkite IR siųstuvą ir PIR jutiklį prie NANO mikrovaldiklio. Žr. 3 veiksmą, kad sukonfigūruotumėte prietaiso, kurį norite valdyti, IR kodus
  5. 5 PAVEIKSLAS: įdiekite nRF24L01 adapterį už elektros dėžutės ir prijunkite jį prie NANO mikrovaldiklio. Kaip matote šiame paveikslėlyje, kabeliai į elektros dėžę patenka per skylę, kuri taip pat naudojama USB programavimo kabeliui prijungti prie NANO mikrovaldiklio

2 žingsnis: pagrindinio įrenginio kūrimas

Pagrindinio įrenginio kūrimas
Pagrindinio įrenginio kūrimas
Pagrindinio įrenginio kūrimas
Pagrindinio įrenginio kūrimas
Pagrindinio įrenginio kūrimas
Pagrindinio įrenginio kūrimas

Norėdami sukurti pagrindinį įrenginį, mums reikės:

  • Elektrinė dėžutė
  • ARDUINO MEGA 2560 R3 arba suderinamas ARDUINO MEGA 2560 R3 mikrovaldiklis
  • „WiFi NodeMCU Lua Amica V2 ESP8266“modulis
  • RTC DS3231
  • „Protoboard 170“
  • Estafetė
  • 38 KHz IR siųstuvas
  • PIR jutiklis
  • nRF24L01 modulis + antena
  • Adapteris moduliui nRF24L01
  • Maitinimas 5V, 0,6 A
  • Lempos laikiklis
  • Lemputė
  • Kabeliai
  • Terminalo blokas

Jo montavimo veiksmai yra labai panašūs į ankstesnį, nes pagrindinis įrenginys iš esmės yra verginis įrenginys, turintis daugiau funkcijų (žr. Kiekvieno kaiščio jungties brėžinį):

  • 1 PAVEIKSLAS: atidarykite skylę lempos laikiklio elektros dėžutėje
  • 2 PAVEIKSLAS, 3 PAVEIKSLAS: įdiekite ESP8266 modulį į prototipą 170 ir padėkite jį virš MEGA 2560 mikrovaldiklio, kaip matote paveikslėliuose
  • 4 PAVEIKSLAS: įklijuokite medžio gabalėlį į elektros dėžutę. Virš medžio gabalo sumontuokite MEGA 2560 mikrovaldiklį su ESP8266, laikrodžio moduliu DS3231 ir nRF24L01 adapteriu
  • 5 PAVEIKSLAS: įdiekite maitinimo šaltinį ir tikrai. Prijunkite lempos laikiklio fazinį laidininką prie relės NC gnybto ir nulinį laidą prie neutralaus įėjimo gnybtų bloke. Po to prijunkite bendrą relės gnybtą prie gnybtų bloko įvesties fazinio laidininko.

3 veiksmas: pagrindinio ir pavaldžių įrenginių konfigūravimas

Pagrindinio ir pavaldžių įrenginių konfigūravimas
Pagrindinio ir pavaldžių įrenginių konfigūravimas

Norėdami sukonfigūruoti įrenginius, turite atlikti šiuos veiksmus:

3.1 ŽINGSNIS (abu įrenginiai)

Įdiekite IRremote, RF24Network, RF24, DS3231 ir Time bibliotekas savo ARDUINO IDE

3.2 ŽINGSNIS (tik pavaldžiam įrenginiui)

Konfigūruokite adresą tinkle. Tiesiog ieškokite šio kodo eskize „klātbūtne_slave.ino“ir nurodykite adresą aštuonių formatu. Naudokite tik didesnius nei 0 adresus, nes adresas 0 yra rezervuotas pagrindiniam įrenginiui

const uint16_t this_node = 01; // Mūsų vergo įrenginio adresas oktalo formatu

Įdėkite eskizą „klātbūtne_slave.ino“į mikrovaldiklį.

3.3 ŽINGSNIS (tik pagrindiniam įrenginiui) (ĮVEIKIAMI IR KONTROLĖS KODAI)

Jei ketinate naudoti prietaisą, valdomą 38KHz IR valdiklių kodais, kad imituotumėte buvimą, turite žinoti kai kuriuos iš jų.

Priešingu atveju infraraudonųjų spindulių valdymo kodus turite gauti iš savo prietaiso.

Norėdami tai padaryti, jums reikės 38KHz IR imtuvo, į vieną NANO mikrovaldiklį įdėkite eskizą „ir_codes.ino“ir prijunkite viską, kaip matote 1 paveiksle.

Tada nukreipkite nuotolinio valdymo pultą į IR imtuvą, paspauskite bet kurį mygtuką ir serijiniame monitoriuje pamatysite kažką panašaus į:

(12 bitų) SONY dekoduotas: A90 (HEX), 101010010000 (BIN) // POWER mygtukas

(12 bitų) dekoduojamas SONY: C10 (HEX), 110000010000 (BIN) // 4 mygtukas (12 bitų) Dekoduotas SONY: 210 (HEX), 1000010000 (BIN) // 5 mygtukas

Šiuo atveju nuotolinio valdymo pulte naudojamas SONY IR protokolas, o kai paspaudžiame nuotolinio valdymo pulto maitinimo mygtuką, gauname 12 bitų ilgio IR kodą „0xA90“arba kai paspaudžiame 4 mygtuką nuotolinio valdymo pulte, gauname IR kodas "0xC10".

Rekomenduoju bent jau ieškoti maitinimo ir kelių mygtukų skaičių IR valdymo kodo, kad imituotų buvimą.

Prieš tai gavę IR kodus, turite juos įvesti taip:

PIRMASIS BŪDAS

Jei sukonfigūravote „Wi -Fi“tinklą, galite tai padaryti naudodami tinklalapį (žr. Veiksmą: Žiniatinklio serveris)

ANTRAS BŪDAS

Priešingu atveju turite ieškoti kito kodo faile „ir_codes.ino“ir atnaujinti informaciją. Žemiau esančiame kode galite pamatyti, kaip galime pateikti aukščiau gautą informaciją tik apie pagrindinį įrenginį (adresas = 0)

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

/******* IR valdymo kodai ***************** / /******************** *********************** 0x210, 0, 0, 0, 0, 0, 0, 0, // protocol_id,_b_bit, 10 pavaldinio įrenginio IR valdymo kodai (adresas = 1) NEPRASTA, 0, 0, 0, 0, 0, 0, 0, 1 0, // protokolo_id, skaičius_didž., 10 pavaldinio įrenginio IR valdymo kodų (adresas = 3) NEMOKAMAS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protokolo_id, skaičius_, 10 pavaldinio įrenginio IR valdymo kodų (adresas = 4) NEMOKAMAS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /************ ******************************** / / ********* Pabaigos IR valdymo kodai ** ************ / / *********************************** *********/

Eskizas sukonfigūruotas taip, kad veiktų su šiais IR protokolais:

  • NEC
  • SONY
  • RC5
  • RC6
  • LG
  • JVC
  • WHYNTER
  • SAMSUNG
  • SHARP
  • Indas
  • DENONAS
  • LEGO_PF

Faile „ir_codes.ino“galite rasti SAMSUNG ir SONY protokolų IR valdymo kodus.

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

// KAI KIEK IR_PROTOKOLIAI IR KODAI // (SAMSUNG, skaičius_fiksų, mygtukas POWER, 1, 2, 3 mygtukas) // SAMSUNG, 32, 0xE0E010EF, 0xE0E020DF, 0xE0E0609F, 0xE0E0A05F // (SONY, mygtuko skaičius, 2 mygtukas, mygtukas 1, 3, 4, 5, 6, 7, 8, 9, 0) // SONY, 12, 0xA90, 0x010, 0x810, 0x410, 0xC10, 0x210, 0xA10, 0x610, 0xE10, 0x110, 0x910 /***** ************************************************* *******************/

SVARBU: pirmasis įvestas IR valdymo kodas turi būti IR valdymo kodas, norint išjungti prietaisą. Meistras jį išsiųs vergams, kai tam įrenginiui nebus numatyta jokių veiksmų

Jei kas nors žino arba kas nors gavo kai kurių aukščiau išvardytų protokolų IR valdymo kodus, parašykite komentarą šioje instrukcijoje su tokia informacija: protokolo ID, protokolo ilgis ir IR valdymo kodai.

3.4 ŽINGSNIS (tik pagrindiniam įrenginiui) (ĮVEDAMAS BŪTINIO SIMULIAVIMO PLANAVIMAS)

Galite pristatyti buvimo modeliavimo planavimą taip:

PIRMASIS BŪDAS

Jei sukonfigūravote „Wi -Fi“tinklą, tai galite padaryti naudodami tinklalapį (žr. Veiksmą: Žiniatinklio serveris)

ANTRAS BŪDAS

Turite ieškoti kito kodo faile „ir_codes.ino“ir atnaujinti informaciją.

Dalyvavimo modeliavimo planavimo formatas yra toks:

[hour_init_interval1], [hour_end_interval1], [hour_init_interval2], [hour_end_interval2], [min_delay_ir], [max_delay_ir], [min_delay_light], [max_delay_light]

/************ BŪTINO SIMULIAVIMO PLANAVIMAS ************/

7, 8, 17, 3, 5, 60, 10, 40, // pagrindinis įrenginys (adresas = 0) 0, 0, 17, 23, 3, 30, 5, 10, // pavaldusis įrenginys (adresas = 1) 0, 0, 0, 0, 0, 0, 0, 0, // vergas (adresas = 2) 0, 0, 0, 0, 0, 0, 0, 0, // vergas (adresas = 3) 1 **********/

Aukščiau pateiktame pavyzdyje pagrindinio įrenginio buvimo modeliavimo planavimas yra toks:

  • (hour_init_interval1 = 7) Pirmasis intervalo modeliavimas prasidės kasdien 7:00 val
  • (hour_end_interval1 = 8) Pirmasis intervalo modeliavimas baigsis tos pačios dienos 8.00 val
  • (hour_init_interval2 = 17) Antrasis intervalo modeliavimas prasidės 17:00 val. kiekvieną dieną
  • (hour_end_interval2 = 3) Antrasis intervalo modeliavimas baigsis kitos dienos 3:00 val
  • (min_delay_ir = 5) (max_delay_ir = 60) Delsos laikas minutėmis tarp atsitiktinių IR valdymo kodų siuntimų yra atsitiktinis skaičius nuo 5 iki 60
  • (min_delay_light = 10) (max_delay_light = 40) Vėlavimo laikas minutėmis tarp šviesos įjungimo ir išjungimo yra atsitiktinis skaičius nuo 10 iki 40

ir pavaldinio įrenginio, kurio adresas yra 2, buvimo modeliavimo planavimas yra toks:

  • (valandos_init_intervalas1

    = 0) Nėra apibrėžtas pirmasis intervalo modeliavimas

  • (hour_end_interval1 = 0) Nėra apibrėžtas pirmasis intervalo modeliavimas
  • (hour_init_interval2 = 17) Modeliavimas prasidės 17:00 val. kiekvieną dieną
  • (hour_end_interval2 = 23) Modeliavimas baigsis 23:00 val. tos pačios dienos
  • (min_delay_ir = 3)

    (max_delay_ir

    = 30) Delsos laikas minutėmis tarp atsitiktinių IR valdymo kodų siuntimų yra atsitiktinis skaičius nuo 3 iki 30

    (min_delay_light = 5)

    (max_delay_light

    = 10) Delsos laikas minutėmis tarp šviesos įjungimo ir išjungimo yra atsitiktinis skaičius nuo 5 iki 10

3.5 ŽINGSNIS (tik pagrindiniam įrenginiui) (KONFIGURUOJAMAS REALIO LAIKO LAIKRODIS)

Vienas iš pagrindinių šio projekto elementų yra laikas. Turime nustatyti ARDUINO laiką, kai eskizas pradeda veikti. Tam mums reikia realaus laiko laikrodžio modulio. Vienas laikrodžio modulis yra DS3231, kuris palaiko atsarginį akumuliatoriaus įkroviklį, kurį galima naudoti nebent prijungus prie mikrovaldiklio trimis duomenų kabeliais naudojant I2C protokolą.

Prieš naudodamiesi DS3231, šiame modulyje turite nustatyti laiką. Norėdami tai padaryti, pagrindiniame įrenginyje turite paleisti eskizą „DS3231_set.ino“.

3.6 ŽINGSNIS (tik pagrindiniam įrenginiui) (ESP8266 MODULIO KONFIGURAVIMAS)

Šiame modulyje rodomas eskizas bando prisijungti prie vietinio „Wi -Fi“tinklo ir sukonfigūruoti žiniatinklio serverį.

Taigi mes turime atnaujinti šią informaciją eskize „klātbūtne_web.ino“, kad galėtume pasiekti jūsų vietinį „Wi-Fi“tinklą ir sukonfigūruoti „Gmail“el. Pašto adresą, iš kurio ESP8266 siunčia visų tinklo įrenginių aptiktus judesius ir el. pašto adresą, kuriuo norite gauti pranešimus (ESP8266 „Gmail Sender“nurodymas)

const char* ssid = "jūsų vietinio" Wi -Fi "tinklo ssid";

const char* password = "vietinio" Wi -Fi "tinklo slaptažodis"; const char* to_email = "el. paštas, kuriame norite gauti pranešimus apie judėjimo aptikimą"; „WiFiServer“serveris (80); // uostas anksčiau klausydavosi

ir šią informaciją eskize „Gsender.h“.

const char*EMAILBASE64_LOGIN = "*** jūsų" Gmail "prisijungimo kodas BASE64 ***";

const char*EMAILBASE64_PASSWORD = "*** jūsų" Gmail "slaptažodžio kodavimas BASE64 ***"; const char*FROM = "*** jūsų gmail adresas ***";

SVARBU: šis kodas neveikia su ESP8266 branduoliu, skirtu „Arduino“2.5.0 versijai. Laikinam sprendimui naudokite pagrindinę 2.4.2 versiją

3.7 ŽINGSNIS (tik pagrindiniam įrenginiui)

Atlikę ankstesnį 3.3, 3.4, 3.5 ir 3.6 veiksmą, įkelkite eskizą „present_master.ino“į NANO mikrovaldiklį ir eskizą „present_web.ino“į modulį ESP8266

4 žingsnis: sistemos testavimas

Norėdami patikrinti, ar viskas veikia taip, kaip mes norime, eskizas „seal_master.ino“gali veikti bandymo režimu.

Galite išbandyti konkretų įrenginį dviem būdais:

PIRMAS BŪDAS: jei nenaudojate „Wi -Fi“tinklo, turite ieškoti kito kodo faile „seal_master.ino“, pakeisti į „true“pradinę kintamojo „bool_test_activated“vertę ir atnaujinti vieno adresą įrenginį, kad būtų galima išbandyti kitoje kodo eilutėje ir įkelti eskizą į pagrindinio įrenginio ARDUINO mikrovaldiklį.

loginis bool_test_activated = false; // pakeisti į true į init test mode

int device_to_test = 0; // vergo įrenginio adresas, kurį reikia išbandyti

Nepamirškite pakeisti vertės į klaidingą, kai norite išeiti iš bandymo režimo ir iš naujo įkelti eskizą

ANTRAS BŪDAS: Jei naudojate „Wi -Fi“tinklą, galite naudoti tinklalapį, kad suaktyvintumėte bandymo režimą. Žiūrėkite žingsnį „Žiniatinklio serveris“

Jei bandomasis prietaisas siunčia IR valdymo kodus, padėkite pagrindinį arba pavaldinį įrenginį prieš IR valdomą įrenginį (televizorių, radiją …).

Šis režimas veikia taip:

  • ŠVIESOS TESTAVIMAS. Konkretaus prietaiso lemputė turi įsijungti ir išsijungti kas 10 sekundžių.
  • IR KODŲ BANDYMAS. Eskizas atsitiktine tvarka parinks anksčiau įvestą IR kodą ir kas 10 sekundžių nusiųs jį į IR valdomą įrenginį. Taigi jūs turite patikrinti, ar tas įrenginys atlieka veiksmą, atitinkantį gautą IR kodą
  • JUDĖJIMŲ JUTIKLIO BANDYMAS. Jei prietaisas aptinka judėjimą prieš savo PIR jutiklį, jis siunčia signalą pagrindiniam įrenginiui ir jo lemputė turi pradėti mirksėti kelis kartus

Vaizdo įraše šios instrukcijos pabaigoje galite pamatyti veikiantį bandymo režimą.

5 veiksmas: žiniatinklio serveris

Žiniatinklio serveris
Žiniatinklio serveris
Žiniatinklio serveris
Žiniatinklio serveris
Žiniatinklio serveris
Žiniatinklio serveris

Norėdami valdyti sistemą ir patikrinti, ar viskas veikia tinkamai, ESP8266 modulis yra sukonfigūruotas kaip žiniatinklio serveris. Nereikia jokios papildomos programinės įrangos, kad galėtumėte nuotoliniu būdu pasiekti tinklą, tiesiog įveskite savo naršyklės IP adresą. Savo maršrutizatoriuje anksčiau sukonfigūravote prievadų peradresavimą, kad galėtumėte pasiekti ESP8266 modulį naudodami statinį jūsų sukonfigūruotą vietinį IP.

Šis modulis prijungtas prie ARDUINO mikrovaldiklio naudojant I2C protokolą.

Pradinį tinklalapį galite pamatyti 1 paveiksle:

  • SISTEMOS BŪKLĖS skiltyje pateikiama informacija apie sistemą:

    • Sistemos data ir laikas. Labai svarbu, kad data ir laikas būtų laiku
    • Buvimo simuliatoriaus būsena (įjungta arba išjungta), paskutinio dalyvavimo veiksmo data ir laikas bei veiksmą atlikusio įrenginio adresas (2 PAVEIKSLAS)
    • Judėjimo jutiklio būsena (įjungta arba išjungta) ir judesio aptikimo pagal prietaisą istorija: skaitiklis ir paskutinio judesio aptikimo data bei laikas (3 PAVEIKSLAS) Šiame paveikslėlyje matome, kad įrenginyje, kurio adresas yra 1, buvo aptikta 1 judėjimas, o paskutinis - 16:50:34
  • Skyrius KOMANDOS leidžia mums atlikti šiuos veiksmus:

    • Norėdami įjungti buvimo simuliatorių
    • Norėdami įjungti judesio jutiklį
    • Norėdami pasirinkti įrenginį, kuris pradės ir sustabdys bandymą (4 PAVEIKSLAS)
  • Skyriuje „BŪTINĖS KOMANDOS“galime atlikti šiuos veiksmus:

    Norėdami pristatyti ar atnaujinti konkretaus įrenginio buvimo modeliavimo planavimą. 5 paveiksle galite pamatyti, kaip atnaujinti 1 adreso įrenginio buvimo modeliavimo planavimą. Eilutės formatas yra toks: (addr_device), (hour_init1), (end_init1), (hour_init2), (end_init2), (min_delay_ir), (max_delay_ir), (min_delay_light), (max_delay_light). Visi skaičiai yra sveikieji skaičiai. Jei įvedėte galiojančią eilutę, prieš tekstą „PASKUTINIS“matysite naują buvimo modeliavimo planavimą, priešingu atveju pamatysite pranešimą „PASKUTINIS: NEGALIOJAMAS“

  • Skyriuje IR KODO KOMANDA galime atlikti šiuos veiksmus:

    Norėdami įvesti arba atnaujinti IR valdymo kodą konkrečiam įrenginiui. 6 PAVEIKSLYJE galite pamatyti, kaip atnaujinti arba įvesti naują adreso įrenginio 1 IR valdymo kodą. Eilutės formatas yra toks: (addr_device), (IR_protokolis), (protocol_bits_length), (index_IR_control_code), (IR_control_code). (IR_protokolas) yra didžiųjų ir mažųjų raidžių eilutė, kuri priima tik kitas reikšmes (SONY, NEC, RC5, RC6, LG, JVC, WHYNTER, SAMSUNG, DISH, DENON, SHARP, LEGO_PF), o (IR_control_code) yra šešioliktainis skaičius. Kadangi sistema sukonfigūruota saugoti 10 IR valdymo kodų, (index_IR_control_code) yra sveikas skaičius nuo 1 iki 10. Kaip ir anksčiau, jei įvedėte tinkamą eilutės formatą, prieš tekstą „LAST“matysite naują IR valdymo kodą, priešingu atveju pamatysite pranešimą „PASKUTINIS: NEGALIOJAMAS“

Norėdami patekti į šį tinklalapį iš vietinio „Wi -Fi“tinklo, tiesiog įveskite IP, kurį maršrutizatorius priskyrė ESP8266 žiniatinklio naršyklėje. Visose nuotraukose matote, kad mano maršrutizatoriaus priskirtas IP yra 192.168.43.120.

Norėdami nuotoliniu būdu pasiekti ne vietinį „Wi -Fi“tinklą, turite maršrutizatoriuje sukonfigūruoti prievadą, kurį ketinate naudoti, kad galėtumėte klausytis gaunamų duomenų ir nukreipti jį į ESP8266 savo vietiniame tinkle. Po to tiesiog įveskite savo maršrutizatoriaus IP žiniatinklio naršyklėje.

6 žingsnis: pavyzdys, kaip viską išsiaiškinti

Image
Image
Pavyzdys viską išsiaiškinti
Pavyzdys viską išsiaiškinti

Sukūriau konkretų pavyzdį, kad viskas būtų aišku

Aš sukūriau šiuos įrenginius (2 NUOTRAUKA)

  • Vienas IR valdomas prietaisas, naudojant NANO mikrovaldiklį, RGB, įvestas stalo teniso kamuoliuko viduje ir vienas IR imtuvo modulis (1 PAVEIKSLAS). Kai paspaudžiame valdymo mygtuką nuo 1 iki 7 IR nuotolinio valdymo pulto, stalo teniso kamuolys keičia spalvą.
  • Pagrindinis įrenginys (adresas 0)
  • Vienas vergas (1 adresas)

Atsižvelgdami į visa tai, mes išbandysime visas projekto savybes. Buvimo modeliavimo planavimas gali būti toks:

  1. Vergas, valdomas rutulio, pakeis spalvas nuo 17:00 val. iki 23:00 val. ir ryte nuo 7:00 iki 8:00 ryto kas atsitiktinis minučių intervalas tarp 1 ir 1.
  2. Vergas, valdomas pagalbinio prietaiso, įsijungs ir išsijungs nuo 17:00 val. iki 23:00 val. ir ryte nuo 7:00 iki 8:00 kiekvieną atsitiktinį minučių intervalą nuo 1 iki 2
  3. Pagrindinio prietaiso valdoma šviesa įsijungs ir išsijungs nuo 16:00 val. iki kitos dienos 1 val., kiekvieną atsitiktinį minučių intervalą nuo 1 iki 2

Atlikę eskizą „ir_codes.ino“, sužinojome, kad IR nuotolinio valdymo pulte naudojamas IR protokolas yra „NEC“, IR kodų ilgis yra 32 bitai, o mygtukų nuo 1 iki 7 šešioliktainiai skaitmeniniai valdymo kodai. yra:

1 MYGTUKAS = FF30CF

2 MYGTUKAS = FF18E7

3 MYGTUKAS = FF7A85

4 MYGTUKAS = FF10EF

5 MYGTUKAS = FF38C7

6 MYGTUKAS = FF5AA5

7 MYGTUKAS = FF42BD

Sistemą galite konfigūruoti dviem būdais:

PIRMAS BŪDAS: tinklalapio naudojimas (žiūrėkite vaizdo įrašą šios instrukcijos pabaigoje)

ANTRAS BŪDAS: failo „ir_codes.ino“atnaujinimas ir įkėlimas po:

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

/******* IR valdymo kodai ***************** / /******************** *********************** 0xFF7A85, 0xFF10EF, 0xFF38C7, 0xFF5AA5, 0xFF42BD, 0, 0, 0, // protokolo_id, bų skaičius, 10 pavaldinio įrenginio IR valdymo kodų (adresas = 1) NEMOKAMAS, 0, 0, 0, 0, 0, 0, 0, 1 0, // protokolo_id, skaičius_didž., 10 pavaldinio įrenginio IR valdymo kodų (adresas = 3) NEMOKAMAS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protokolo_id, skaičius_, 10 pavaldinio įrenginio IR valdymo kodų (adresas = 4) NEMOKAMAS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /************ ******************************** / / ********* Pabaigos IR valdymo kodai ** ************ / / *********************************** *********/

/************ BŪTINO SIMULIAVIMO PLANAVIMAS ************/

0, 0, 16, 1, 0, 0, 1, 2, // pagrindinis įrenginys (adresas = 0) 7, 8, 17, 23, 1, 1, 1, 2, // pavaldusis įrenginys (adresas = 1) RGB kamuolys 0, 0, 0, 0, 0, 0, 0, 0, // vergas (adresas = 2) 0, 0, 0, 0, 0, 0, 0, 0, // vergas (adresas = 3) 0, 0, 0, 0, 0, 0, 0 0 ************/

Rekomenduojamas: