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

IoT Moon Lamp: 5 алхам
IoT Moon Lamp: 5 алхам

Видео: IoT Moon Lamp: 5 алхам

Видео: IoT Moon Lamp: 5 алхам
Видео: Не покупай этот парфюм! #shorts 2024, Арваннэгдүгээр
Anonim
IoT Moon Lamp
IoT Moon Lamp

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

Энэхүү төсөл нь:

  • гагнах;
  • Arduino IDE ашиглан ESP8266 програмчлах;
  • MIT App Inventor ашиглан Android програм хийх.

Сонирхолтой зүйл бол миний gearbest -аас худалдаж авсан сар хэлбэртэй чийдэн юм. Гэхдээ энэ гарын авлага нь тогтмол гүйдлийн бага хүчдэлийн аливаа төхөөрөмжид тохируулж болно (хувьсах гүйдлийн төхөөрөмжүүд нэмэлт хэлхээ шаарддаг).

Хангамж

  1. Андройд ухаалаг гар утас (андройд хувилбар 7-9 туршсан).
  2. Гагнуурын хэрэгсэл.
  3. ПХБ -ийн прототип хийх (протобоард).
  4. ESP-12E самбар (эсвэл ESP8266 микроконтроллертой бусад devboard).
  5. Програмчлалын USB цуваа хөрвүүлэгч.
  6. Идэвхгүй бүрэлдэхүүн хэсгүүдийн хэд хэдэн өөр утга (резистор ба конденсатор).

(Нэмэлт. "Блок диаграм" хэсгийг үзнэ үү)

  1. 3.3V@500mA LDO IC.
  2. 3.3V-5V логик түвшний хөрвүүлэгч самбар.
  3. 5V тогтмол гүйдлийн цахилгаан хангамж.

Алхам 1: Санаа

Санаа
Санаа

Сарны гэрэл нь нэг Li-ION 18650 үүрээр ажилладаг бөгөөд 3 горимтой.

  • унтраасан;
  • гарын авлага;
  • авто.

Гарын авлагын горимд дэнлүүг товчлуураар удирддаг бөгөөд товчлуурыг дарж байх үед LED гэрэл тусдаг (цэнхэр, улбар шар, асаалттай, унтраасан), гэрлийн эрч хүч өөрчлөгддөг. Автомат горимд LED гэрэл нь лампыг өөрөө товших эсвэл сэгсрэх замаар өөрчлөгддөг.

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

Прототипийг хийж дуусаад ~ 80mA зайнаас байнга цэнэггүй байдалд байлгадаг (~ 400мА бүрэн гэрэлтүүлэгтэй). ESP8266 нь сервер болж ажилладаг бөгөөд үргэлж WiFi сүлжээнд холбогдсон бөгөөд хүсэлтийг сонсдог тул зогсолтын гүйдэл өндөр байна. Батерей нь зөвхөн хагас өдрийн дараа унтарсан байдалтай байсан тул хожим нь бүх цахилгаан хэрэгслийг 5V гадаад тэжээлээс тэжээж, батерейгаа салгахын тулд USB цэнэглэгч чийдэнг ашиглахаар шийдсэн (гэхдээ энэ нь заавал биш юм).

Алхам 2: Блок диаграм

Блок диаграм
Блок диаграм

Блок диаграмаас та ямар хэлхээг нэмж оруулах, одоо байгаа хэлхээг хэрхэн өөрчлөх талаар харж болно. Миний хувьд би батерейг бүрэн салгаж, зайны цэнэглэгч IC оролтыг гаралттай холбосон (дахин хэлэхэд энэ нь заавал биш юм). Диаграм дээрх тунгалаг блокууд нь тойрсон хэсгүүдийг харуулдаг (хэдийгээр товчлуур нь анх төлөвлөсний дагуу ажилладаг хэвээр байгаа ч гэсэн).

Баримт бичгийн дагуу ESP8266 нь зөвхөн 3.3V -ийг тэсвэрлэдэг боловч ESP8266 нь 5V -тэй ажиллахад маш олон жишээ байдаг тул логик түвшний хөрвүүлэгч болон 3.3V LDO -ийг орхиж болно, гэхдээ би хамгийн сайн туршлагаа хадгалж, эдгээр бүрэлдэхүүн хэсгүүдийг нэмж оруулсан болно.

Би 3 ESP8266 I/O зүү, ADC зүү ашигласан. Нэг дижитал гаралтын товчлуур нь товчлуурын даралтыг дуурайх зориулалттай, хоёр дижитал оролт нь ямар өнгийн LED асаалттай байгааг илрүүлэх зориулалттай (эндээс бид MCU аль төлөвт байгаа, товчлуур дарсны дараа ямар төлөвт байгааг олж мэдэх боломжтой). ADC зүү нь оролтын хүчдэлийг (хүчдэл хуваагчаар) хэмждэг бөгөөд ингэснээр бид батерейны үлдсэн цэнэгийн түвшинг хянах боломжтой болно.

Гадаад тэжээлийн хувьд би хуучин утасны 5V@1A цэнэглэгч ашигладаг (хурдан цэнэглэгч бүү ашиглаарай).

Алхам 3: Програмчлал

Програмчлал
Програмчлал
Програмчлал
Програмчлал

Товчхондоо, програм дараах байдлаар ажилладаг (дэлгэрэнгүй мэдээллийг кодоос үзнэ үү):

ESP8266 нь таны WiFi хандалтын цэг рүү холбогддог бөгөөд програмчлалын өмнөх кодын эхэнд та итгэмжлэл оруулах ёстой бөгөөд энэ нь таны чиглүүлэгчээс DHCP серверээс IP хаяг авдаг бөгөөд дараа нь танд хэрэгтэй IP хаягийг олж мэдэхийн тулд та чиглүүлэгчийн вэб интерфэйсийг шалгаж эсвэл тохируулж болно. 1 -р кодын тугийг дибаг хийснээр IP ESP нь цуваа монитор дээр юу байгааг харах болно (ESP -ийг ачаалах үед үргэлж ижил IP авахын тулд та чиглүүлэгчийнхээ тохиргоонд энэ IP хаягийг нөөцлөх ёстой).

MCU -ийг эхлүүлснээр үргэлж ижил горимыг үүрд гүйцэтгэдэг.

  1. AP -д холбогдсон эсэхээ шалгаарай, хэрэв амжилтанд хүрэх хүртэл дахин холбогдохыг оролдоорой.
  2. Үйлчлүүлэгч HTTP хүсэлт гаргахыг хүлээнэ үү. Хүсэлт гарсан тохиолдолд:

    1. Оролтын хүчдэлийг шалгана уу.
    2. LED аль мужид байгааг шалгана уу.
    3. Мэдэгдэж буй LED төлөвтэй (цэнхэр асаах, улбар шар асаах, асаах, унтраах) HTTP хүсэлтийг тааруулна уу.
    4. Хүссэн төлөвт хүрэхийн тулд шаардлагатай бол маш олон товчлуур дарахыг дуурай.

Хэрэв та ESP8266 MCU програмыг анх удаа програмчилж байгаа бол илүү нарийвчилсан зааврыг хайж олохын тулд би програмчлалын зааврыг товч тайлбарлах болно.

Танд Arduino IDE болон USB цуваа интерфэйс хөрвүүлэгч хэрэгтэй болно (жишээ нь FT232RL). IDE бэлтгэхийн тулд эдгээр зааврыг дагана уу.

Програмчлалын ESP-12E модулийг холбохын тулд схемийг дагана уу. Зарим зөвлөмж:

  • гадаад 3.3V@500mA цахилгаан хангамжийг ашиглах (ихэнх тохиолдолд USB цуваа тэжээлийн хангамж хангалтгүй байдаг);
  • таны USB цуваа хөрвүүлэгч 3.3V логик түвшинд нийцэж байгаа эсэхийг шалгах;
  • USB цуваа хөрвүүлэгч драйверууд амжилттай суулгасан эсэхийг шалгана уу (Windows төхөөрөмжийн менежерээс), хэрэв та IDE-ээс COM портыг сонговол IDE, богино RX ба TX зүүгээр зөв ажиллаж байгаа эсэхийг шалгаж, сериал дэлгэцийг нээж, хэрэв бүх зүйл сайн бол ямар нэгэн зүйл бичээрэй. консол дээр таны илгээсэн текст гарч ирэх ёстой;
  • яагаад ч юм би зөвхөн USB цуваа хөрвүүлэгчийг компьютерт холбож, дараа нь гадаад 3.3V эх үүсвэрээс ESP-ийг асаахад л ESP програмчлах боломжтой болсон;
  • амжилттай програмчилсны дараа дараагийн ачаалах үед GPIO0 -ийг дээш татахаа бүү мартаарай.

Алхам 4: Схем ба гагнуур

Схем ба гагнуур
Схем ба гагнуур
Схем ба гагнуур
Схем ба гагнуур
Схем ба гагнуур
Схем ба гагнуур

Схемийн дагуу бүх бүрэлдэхүүн хэсгүүдийг протобоард руу гагнах болно. Өмнө дурьдсанчлан зарим бүрэлдэхүүн хэсгүүд заавал байх албагүй. Би KA78M33 3.3V LDO IC болон энэхүү логик түвшний хөрвүүлэгч самбарыг sparkfun-ээс ашигласан, өөрөөр хэлбэл схемд үзүүлсэн шиг өөрөө хөрвүүлэгч хийж болно (та BSS138-ийн оронд ямар ч N сувагтай мосфет ашиглаж болно). Хэрэв та Li-ION батерейг ашиглавал +5V цахилгаан сүлжээ нь батерейны эерэг терминал болно. ESP8266 ADC лавлах хүчдэл нь 1V, миний сонгосон эсэргүүцэл хуваагч утга нь оролтын хүчдэлийг 5.7V хүртэл хэмжих боломжийг олгодог.

Анхны чийдэнгийн ПХБ -тай 5 холболт байх ёстой: +5V (эсвэл +Батерей), GND, түлхэх товч, цэнхэр, улбар шар өнгийн LED -ийг хянах MCU чийдэнгээс ХОУХД -ийн дохио. Хэрэв та дэнлүүг 5V эх үүсвэрээс асааж байгаа бол миний хийсэн шиг та IC VCC зүүг OUTPUT зүүгээр богиносгохыг хүсэх болно, ингэснээр бүх цахилгаан хэрэгслийг зайны цэнэглэгч OUTPUT -ээс биш +5V -ээс шууд тэжээх болно.

ПХБ -ийн чийдэн дээр хийх шаардлагатай бүх гагнуурын цэгүүдийн хоёр дахь зургийг дагана уу.

ТАЙЛБАР:

  1. Хэрэв та цэнэглэгч IC гаралттай +5V -ийг богино болгохоор шийдсэн бол үүнийг хийхээсээ өмнө батерейгаа бүрэн салга, +5V -ийг батерей руу шууд холбохыг хүсэхгүй байна.
  2. ESP гаралтыг ямар товчлуураар гагнах вэ гэдгийг анхаарч үзээрэй, учир нь 2 товчлуур нь газардуулгатай холбогдсон бөгөөд ESP гаралт өндөр байх үед богино холболт хийхийг хүсэхгүй байгаа тул мультиметрээр дахин шалгах нь дээр.

Алхам 5: Андройд апп

Андройд апп
Андройд апп
Андройд апп
Андройд апп
Андройд апп
Андройд апп

Андройд аппыг MIT програм зохион бүтээгчийн тусламжтайгаар бүтээсэн бөгөөд өөртөө апп татаж авах, эсвэл клон хийх төслийг энэ линкээр орж үзээрэй (танд хандахын тулд танд google данс хэрэгтэй болно).

Эхний удаа эхлэхэд та тохиргоог нээж ESP8266 IP хаягаа оруулах шаардлагатай болно. Энэ IP хадгалагдах тул програмыг дахин эхлүүлсний дараа дахин оруулах шаардлагагүй болно.

Аппликейшнийг хэд хэдэн Android 9 болон Android 7 төхөөрөмжөөр туршсан.

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