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

Гүн нойртой ESP-01 хөдөлгөөн мэдрэгч: 5 алхам
Гүн нойртой ESP-01 хөдөлгөөн мэдрэгч: 5 алхам

Видео: Гүн нойртой ESP-01 хөдөлгөөн мэдрэгч: 5 алхам

Видео: Гүн нойртой ESP-01 хөдөлгөөн мэдрэгч: 5 алхам
Видео: ВПАДИТЕ В ГЛУБОКИЙ СОН - Устраните бессонницу навсегда - Исцеление стресса, тревоги и депрессивны... 2024, Арваннэгдүгээр
Anonim
Image
Image

Би идэвхжсэн үед имэйл мессеж илгээдэг гар хийцийн хөдөлгөөн мэдрэгч хийхээр ажиллаж байна. Үүнийг хийх олон жишээ зааварчилгаа болон бусад жишээ бий. Саяхан би үүнийг батерейгаар ажилладаг PIR хөдөлгөөн мэдрэгч, ESP-01 ашиглан хийх хэрэгтэй болсон. ESP-01 нь маш ажиллагаатай бөгөөд шаардлагатай бүх чадвартай тул шаардлагатай хамгийн бага, хамгийн бага зардлыг яагаад ашиглаж болохгүй гэж? Хөдөлгөөн мэдрэгчийг асаахад дуут дохио өгдөг өөр нэг тусдаа болон алслагдсан ESP-01 модулийг хольцонд нэмсэн.

Код болон эцсийн хэлхээний схемийг вэб дээрх олон эх сурвалжаас цуглуулсан бөгөөд би тэдгээрийг тусгайлан тодорхойлж чадахгүй гэж бодож байна. Gmail -ээр имэйл илгээх санаа нь зааварчилгаа болон бусад эх сурвалжаас ирсэн бөгөөд эцсийн код нь эдгээр эх сурвалжаас авсан нэгдэл юм. Гүн нойртой ажиллах нь намайг үр дүнгүй байсан олон замаар хөтөлсөн. Хөгжилтэй зүйл бол зам үр дүнтэй болоход та өөр зам хайхаа болино. Тиймээс амжилтанд хүрэхэд минь хувь нэмэр оруулсан, хараахан танигдаагүй байгаа бүх хүмүүст баярлалаа гэж хэлье.

Би ESP-01 гүн нойрыг идэвхжүүлэхийн тулд PIR мэдрэгчийг ажиллуулахтай ижил асуудалтай байсан. Ажилласан нэг нь хүртэл олон зам.

Надад шаардлагатай электроникийн талаар илүү сайн ойлголттой болохын тулд сонирхолтой саад бэрхшээлүүд тулгарч байсан гэж хэлэх нь илүүц биз. Та ямар нэгэн зүйл ажиллах хүртэл үргэлжлүүлэн сурч, дараа нь цаашид сурах шаардлагагүй болно.

ESP-01 нь удаан унтах шаардлагагүй бөгөөд бусад ESP8266 модулийн нэгэн адил гүн унтдаг. Хэрэв та тодорхой хугацааны дараа модулийг сэрээхийг хүсч байвал ESP-01 нь ашиглах модуль биш юм. Гэхдээ энэ миний хүссэн зүйл биш байсан. PIR ашиглахад өнгөрсөн хугацаа нь утгагүй болно. Би ESP-01-ийг PIR-ийн мэдрэх хөдөлгөөнөөр өдөөгдсөн үед л сэрээхийг хүссэн. Хэрэв хэдэн цаг, хэдэн өдрийн турш хөдөлгөөн мэдрэгдэхгүй бол ESP-01 нь хамгийн бага батерейны хүчээр унтдаг.

GPIO16 нь ESP8266 Reset -т холбогдсон GPIO16 ашигладаг олон хэлхээг харах болно, учир нь GPIO16 бол сэрэх дохио юм. Энэ бол үнэн, гэхдээ энэ нь цаг хугацааны нойрноос сэрэх дохио юм. Бид энэхүү ПИН кодыг үл тоомсорлож болно, энэ нь ESP-01 дээр байхгүй тул сайн хэрэг.

Үндсэндээ бидэнд хэрэгтэй зүйл бол ESP-01 дахин тохируулах зүүг идэвхжүүлэхийн тулд PIR-ээс дохио авах явдал юм. Таны таамаглаж буй хамгийн эхний бэрхшээл бол ДАХИН тохиргоог LOW дохиогоор идэвхжүүлж, PIR -ийг ажиллуулахад HIGH дохиог илгээдэг явдал юм. Дахин тохируулах нь өндөр эсвэл ачаалах үед хөвөх ёстой. Үүнийг богино байлгахын тулд янз бүрийн хэлхээг туршиж үзсэний дараа ачаалах үед RESET зүүг өндөр байлгахын тулд татах эсэргүүцэлтэй NPN транзисторыг ашиглахаар шийдсэн. PIR -ийн гаралт хамгийн бага боловч энэ нь транзисторыг асаахад хангалттай үндсэн гүйдлийг өгдөг.

Доорх хэлхээний диаграмаас харахад ESP-01 нь PIR-ийн хөдөлгөөнийг мэдрэх бүртээ гүн нойрноос сэрдэг байв.

Гэхдээ өөр нэг асуудал байсан. ESP-01-ийг дахин тохируулах нь зөвхөн PIR хөдөлгөөнийг мэдрэхээ больж, бага дохио руу буцаж орсны дараа транзисторыг унтрааж, татах эсэргүүцэлээс болж дахин тохируулах зүүг HIGH болгож буцааж өгсөн юм. Энэ нь PIR хөдөлгөөнийг мэдрэхээ болих хүртэл и -мэйл илгээхгүй, дуут дохиог идэвхжүүлэхгүй гэсэн үг юм. Хөдөлгөөн мэдрэгдсэн даруйд би гохыг хийхийг хүссэн.

Энэ зан авираас олж мэдсэн зүйл бол ESP-01 нь дохионы өсөн нэмэгдэж буй ирмэг дээр ажилладаг. Дахин тохируулах зүүг барьж байх нь ESP-01-ийг гүн нойрноос идэвхжүүлдэггүй, харин хүчдэл нь өндөр дохио хүрэх хүртэл дахин тохируулах болно.

Миний энэ зан үйлд өгсөн маш энгийн хариулт бол PIR гаралт ба транзисторын суурийн хоорондох шугаманд конденсатор нэмэх явдал байв. Энэ нь транзисторыг зөвхөн конденсатор цэнэглэж байх үед асаахад хүргэсэн. Цэнэглэгдсэний дараа цаашид гүйдэл байхгүй болж транзистор унтарсан байна. 5к резистор нь гүйдлийг газарт буулгах боломжийг олгодог. Би үүнийг ESP-01-ийн оронд LED-ээр туршиж үзсэн бөгөөд унтрахаасаа өмнө LED флэшийг хэдхэн секундын турш асааж байгааг харж байсан. Энэхүү бяцхан импульс нь дахин тохируулах товчлуурыг хэсэг хугацаанд, урт хугацаанд унтрааж, гүн нойрноос гаргахад хангалттай байв.

Алхам 1: ESP-01 Deep Sleep Module

ESP-01 гүн унтах модуль
ESP-01 гүн унтах модуль
ESP-01 гүн унтах модуль
ESP-01 гүн унтах модуль

Гүн нойрны модуль нь хоёр ажлын хүчдэлийг ашигладаг. PIR-ийн батерейны санамсаргүй 5v+ ба ESP-01-ийн 3.3 вольтын зохицуулагч самбар. Би мөн эвдэрсэн хэсгүүдийг урвуу хүчдэлээс урьдчилан сэргийлэхийн тулд диодыг хэлхээнд оруулдаг. Энэ нь бага зэрэг нэмэлт хүч зарцуулдаг бөгөөд батерейны хүчдэлийг 0.7 вольтоор бууруулдаг. Хэрэв та батерейны залгуурыг хэзээ ч эргүүлэхгүй гэдэгт итгэлтэй байгаа бол диодыг хэлхээний гадна үлдээж болно. Тохиромжтой байдлын үүднээс унтраалга нэмж оруулсан болно.

Энэ модуль нь миний анхны гүн гүнзгий унтлагын зохион байгуулалтын жижиг шинэчлэлт юм. Гүн нойргүй үед PIR нь ESP-01-ийн RX зүүтэй шууд холбогддог. Би ESP-01-ийн RX зүүг хэд хэдэн шалтгааны улмаас PIR-ийн оролтын зүү болгон ашиглаж байна. Ачаалах үед PIR гаралтын PIN нь бага байх тул ESP-01-ийг флаш горимд оруулах тул GPIO0 ажиллахгүй байсан. Би GPIO2-ийг ашиглаагүй, учир нь дараа нь харуулах тэжээлд зориулагдсан LED-ийг ашиглаж чадаагүй. RX ба TX тээглүүрийг ихэвчлэн нэмэлт IO зүү гэж тодорхойлдог боловч миний туршлага бол RX бол нэмэлт INPUT зүү, TX бол нэмэлт OUTPUT зүү юм.

Гүн нойрны тохиргоонд RX холболт хийх шаардлагагүй юм. Би үүнийг оролт нь өндөр байхад LED -ийг асаах замаар PIR хэр удаан идэвхждэгийг хянахад л ашигладаг. Өмнө дурьдсанчлан, хэрэв та давталтын функцийг арилгаж, зөвхөн тохируулгын горимыг ашигладаг бол RX холболт шаардлагагүй болно.

ESP-01 гүн нойрны модулийн хэсгүүдийн жагсаалтыг энд оруулав.

1 - 5 х 7 см хэмжээтэй ПХБ -ийн прототипийн самбар

1-2 зүү холбогч

2 - 1 x 3 эмэгтэй толгой

1 - AMS1117 - 3.3 хүчдэлийн зохицуулагчийн хэлхээний самбар

1 - 1 x 3 Баруун өнцөгт эрэгтэй толгойн зүү

1 - 1 х 3 эмэгтэй залгуурын толгойн зүү

1 - 1 x 4 эмэгтэй залгуурын толгойн зүү

1-2 х 4 эмэгтэй толгой

1 - 1UF конденсатор

1 - HC -SR501 PIR хөдөлгөөн мэдрэгч

1 - 2N2222 транзистор

1 - 10к эсэргүүцэл

1 - 4.7k эсэргүүцэл

1-1k эсэргүүцэл

1 - 1N4148 диод

1 - SS12D00G4 SPDT -ийг солих

1 - ESP -01

1 - 4АА батерейны багц

Видео бичлэгийн хэлхээний самбар нь 2х4 толгойны оронд ESP-01 талхны хавтангийн адаптер ашигладаг болохыг анхаарна уу. Энэхүү адаптер нь 2х4 хэмжээтэй толгойг гагнахад илүү хялбар байдаг боловч илүү сайн ажилладаг.

Алхам 2: ESP-01 Deep Sleep Code

Гүн нойрны код нь хоёр үүргийг гүйцэтгэдэг. Имэйл мессеж илгээх (анхдагчаар gmail-ээр) болон холбогдох ESP-01 дуугаралтын модульд http вэб хүсэлт илгээж дуугаралтыг идэвхжүүлнэ үү.

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

Ноорогыг ажиллуулахын тулд та өөрийн тусгай утгатай зургаан мөр кодыг шинэчлэх шаардлагатай болно.

const char* ssid = "xxxxx"; // Таны WiFi SSIDconst char* password = "xxxxx"; // Таны WiFi нууц үгийн мөр илгээгчид_Login = "xxxxx"; // таны имэйл үйлчилгээ үзүүлэгчийн нэвтрэх String Senders_Password = "xxxxx"; // таны имэйл үйлчилгээ үзүүлэгчийн нууц үг

To = "xxxxxx"; = "Xxxxxx" -ээс; // Gmail ерөнхийдөө үүнийг Senders_Login -тэй адилхан байхыг илүүд үздэг бөгөөд үүнийг орлуулж болно

PIR мэдрэгчийг гох үйл явдлын үргэлжлэх хугацааг 10 сек -ээс доош байлгахад гүн нойрны модулийг урьдчилан таамаглах аргагүй ажиллаж байгааг олж мэдэв. Би 20 секундын турш тохируулсан байна. Энэ нь маш найдвартай болох нь батлагдсан боловч энэ давтамжтайгаар үйл явдлыг өдөөж болно гэсэн үг юм.

Би мөн PIR хөдөлгөөнийг мэдэрч байх үед ESP-01-ийг асаахын тулд давталтын функцэд код нэмсэн. Циклийн функц дэх бүх кодыг арилгаж, гүн нойр авах дуудлагыг тохиргооны төгсгөлд шилжүүлж болно.

Би анивчих функцийг ESP-01 модулийн үйл ажиллагааны харааны үзүүлэлт болгон ашигладаг.

Би gmail ашиглан холболтыг ашиглаж, туршиж үзсэн боловч бусад имэйл үйлчилгээ үзүүлэгчид бас ажилладаг. Би нэг хосыг туршиж үзсэн. Үнэндээ надад gmail илүү төвөгтэй санагдсан. Gmail нь таны акаунтыг хамгаалалт багатай аппаар хандах тохиргоог хийхийг шаарддаг. Энэ дансны тохиргоо нь анхдагчаар унтраалттай байдаг тул үүнийг олж, хамгаалалт багатай болгож өөрчилсөн эсэхээ шалгаарай. Gmail өөрөөр ажиллахгүй.

Хэрэв та хэд хэдэн дуугарагч модулийг ашиглахаар шийдсэн бол http клиентийн нэмэлт дуудлагыг нэмж оруулаарай (гурван мөрийн кодыг давт, гэхдээ ашигласан ip хаягийг өөрчил, мөн зөвхөн http кодын хувьсагчийг int гэж нэг удаа тодорхойл!

Энэ модульд дуугарагчийн IP хаяг хатуу кодлогдсон болохыг анхаарна уу. Та миний сонгосон IP хаягийг ашиглах шаардлагагүй, гэхдээ энэ модульд байгаа вэб дуудлагын IP хаягийг дараагийн модульд байгаа вэб серверийн тохиргооны IP хаягтай тааруулах ёстой.

Алхам 3: ESP-01 дуугаралтын модуль

ESP-01 дуугаралтын модуль
ESP-01 дуугаралтын модуль
ESP-01 дуугаралтын модуль
ESP-01 дуугаралтын модуль
ESP-01 дуугаралтын модуль
ESP-01 дуугаралтын модуль

Дуугаруулагч модуль нь маш энгийн тохируулгатай байдаг. Энэ модулийг батерейны багцад тохирохгүй гэж бодож байгаа тул батерейны оронд USB холбогч ашигладаг. Энэ нь вэб хүсэлт хэзээ хийгдэхийг хэзээ ч мэдэхгүй тул үргэлж асаалттай байх ёстой бөгөөд nework/wifi -ийг үргэлж холбож байх ёстой. Энэ нь батерейны багцаас илүү тасралтгүй эрчим хүч шаарддаг.

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

Дуугаруулагч нь USB холбогчийн 5v-тэй холбогдсон бөгөөд ESP-01-ийг тэжээдэг өөр 3.3v зохицуулагч самбар байдаг.

Дуугаруулагч модуль нь гаралтын хувьд TX, GPIO0 эсвэл GPIO2 ашиглан ажиллах болно. Миний тохиргоонд би GPIO0 ашиглаж байна. (Модулийн зураг дээр утас нь GPIO2 -тэй холбогдсон боловч би үүнийг зөөсөн.) GPIO0 нь гүн нойрны модульд (INPUT гэх мэт) ажиллахгүй байсан ч энэ зохион байгуулалттай OUTPUT байдлаар сайн ажилладаг. Энэ нь ачаалах үед газарт татагдаагүй бөгөөд энэ нь асуудал үүсгэдэг. Би GPIO2 -ийг ашигласан боловч дараа нь би ямар ч санал хүсэлт өгөхөд самбар дээрх LED -ийг ашиглаж чадаагүй боловч OUTPUT -ийн хувьд GPIO0 -ийг ашиглан самбар дээрх LED -ийг ашиглаж болно.

ESP-01 нь GPIO0 зүү дээр өндөр дохио өгөхөд би хэлхээний дохиог асаахын тулд NPN транзисторыг ашиглахыг оролдсон боловч үр дүн нь хоорондоо зөрчилдсөн байв. Дуу чимээ нь маш бага хүч чадалтай байсан ч гэсэн бүх цаг үед дуугарахыг хүсч байсан бололтой. Үүний оронд би N суваг MOSFET (2n7000) ашигласан бөгөөд үр дүн нь гайхалтай байсан. IO зүү нь шаардлагатай бол Хаалгыг жолооддог.

Бидэнд USB холбогчоос Vcc (+) ба Gnd (-) хоёр зүү хэрэгтэй байхад би 5 зүү бүхий толгой ашиглан ПХБ-ийн хавтанг холбож, тогтвортой байдлыг хангаж, USB-ийг зохицуулагчтай холбохоос өмнө гагнах ажлыг гүйцэтгэдэг. Миний 3.3v зохицуулагчийн хавтанг зүүг урьдчилан суулгасан бөгөөд миний толгойд дээрээс нь доош нь харуулсан. Зохицуулагчийг толгойн зүү рүү оруулахын тулд та хэлхээний самбар нуугдаж байгааг харж болно, гэхдээ үүнээс дор зүйл бол зохицуулагч дээрх vcc ба gnd нь USB холбогч дээрх vcc ба gnd -ээс урвуу байна. Тиймээс утаснууд хөндлөн гардаг.

Идэвхтэй дуугаруулагчийн + хүч нь USB 5V -ээс ирдэг гэдгийг анхаарна уу. Түүнчлэн, 4 зүү бүхий эмэгтэй залгуурын толгой нь дуугаралтын зүү байрлуулахад сайн ажилладаг.

ESP-01 дуугаралтын модулийн эд ангиудын жагсаалт:

1 - 5 x 7 ПХБ -ийн самбар

1 - Зүү толгойтой USB мини холбогч (7 зүү)

2 - 1 x 3 эмэгтэй толгой

1 - AMS1117-3.3 в хүчдэлийн зохицуулагч самбар

1-2 х 4 эмэгтэй толгой

2 - 1 x 4 эмэгтэй залгуурын толгой

1 - 2N7000 N сувагтай MOSFET

1 - 10 Ом эсэргүүцэл

1 - 5в идэвхтэй дуугаралт

Алхам 4: ESP-01 Buzzer модулийн код

Дуугаруулагч модуль нь энгийн ESP-01 вэб серверийн үүргийг гүйцэтгэдэг. Энэ нь root хүсэлтэд энгийн мессежээр хариулдаг бөгөөд дуугарах хүсэлтийг хүлээн авмагц дуугаралтыг идэвхжүүлдэг. GPIO0 нь дуут дохиог GPIO зүү болгон ашигладаг.

ESP-01 нь хатуу кодлогдсон ip хаягаар тохируулагдсан болохыг анхаарна уу. Гүн нойрны модулийг дуут дохионы хаягтай холбохын тулд үүнийг хийх шаардлагатай.

Өмнөх модулийн нэгэн адил та өөрийн гэсэн утгатай кодын хоёр мөрийг шинэчлэх шаардлагатай болно.

// Таны WiFi чиглүүлэгчийн SSID ба нууц үг char* ssid = "xxxxxxx";

const char* нууц үг = "xxxxxxxx";

Хэрэв танд олон дохионы модуль бий болсон бол тус бүр өөрийн гэсэн өвөрмөц IP хаягийг ачаалах ёстой.

Та мөн өөр өөр дуугаралтын аялгуу гаргах янз бүрийн дуугаралтын аргыг нэмж болно. Жишээлбэл, хэрэв та урд хаалган дээр арын хаалган дээр PIR мэдрэгчтэй бол тэд таны дохионы модуль бүрт вэб хүсэлт гаргах боломжтой боловч нэг мэдрэгч нь buzz, нөгөө ноорог buzz2 дуудаж болох ноорогтой байж магадгүй юм. Ингэснээр та ямар мэдрэгчийг асаасан болохыг дуунаас олж мэдэх боломжтой болно. Гэх мэт. Buzz2 функц байхгүй боловч зөвхөн buzz функцийг хуулж, саатлын утгыг өөрчилнө үү.

Вэб серверийн хувьд та ийм кодын мөрийг нэмэх хэрэгтэй болно.

server.on ("/buzz2", buzz2);

Алхам 5: Эцсийн бодол

Энэ бол миний анхны зааварчилгаа тул би оруулах ёстой практик зүйлээ алдсан байж магадгүй юм. Миний ашигласан AMS1117-3.3 зохицуулагчийн самбар нь асаахад асдаг жижигхэн ледийг агуулдаг. Гүн нойрны модулийн хувьд би үүнийг асааж, хүчийг зайлуулахыг хүсээгүй. Тиймээс би самбар дээрх хөтлүүрийн нэг талд байгаа зүйлийг зарж, дараа нь хутганы тусламжтайгаар ул мөрийг таслав. Энэ нь миний бодож байснаас хамаагүй хялбар байсан бөгөөд LED асахаас сэргийлсэн юм. ESP-01 нь гүн нойрсох үед цахилгаан татах хүч гэж юу болохыг би тодорхойлж чадаагүй ч хэдэн долоо хоногийн дараа хариулт өгөх байх. Миний нэг хамтрагч мэдрэгчийг ажиллуулж байсан (гүн нойронд ороогүй), ойролцоогоор долоо хоногийн дотор батерейнууд нь цэнэггүй болсон (5AA) байгааг олж мэдэв. Энэ тохиргоо нь нэг сар эсвэл түүнээс дээш хугацаа өгөх ёстой гэж би бодож байна. Бид харах болно.

Гүн нойрны модуль нь ойролцоогоор 8 долларын үнэтэй CDN (батерейг оруулаагүй болно!), Дуугаруулагч модуль нь 5 долларын үнэтэй.

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