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

[15мин] Уизли Цаг / Гэрийн индикатор гэж хэн бэ - TR -064 дээр үндэслэсэн (бета): 4 алхам (зурагтай)
[15мин] Уизли Цаг / Гэрийн индикатор гэж хэн бэ - TR -064 дээр үндэслэсэн (бета): 4 алхам (зурагтай)

Видео: [15мин] Уизли Цаг / Гэрийн индикатор гэж хэн бэ - TR -064 дээр үндэслэсэн (бета): 4 алхам (зурагтай)

Видео: [15мин] Уизли Цаг / Гэрийн индикатор гэж хэн бэ - TR -064 дээр үндэслэсэн (бета): 4 алхам (зурагтай)
Видео: Все 15 дисциплин Хогвартса |ГАРРИ ПОТТЕР| 2024, Арваннэгдүгээр
Anonim
Image
Image
[15мин] Уизли Цаг / Гэрийн үзүүлэлт гэж хэн бэ - TR -064 дээр үндэслэсэн (бета)
[15мин] Уизли Цаг / Гэрийн үзүүлэлт гэж хэн бэ - TR -064 дээр үндэслэсэн (бета)

ШИНЭЧЛЭХ: 3 -р алхамыг үзнэ үү.

Урт түүх (TL; Доор DR): Хэсэг хугацааны өмнө би компьютер дээрээ жижиг bash скрипт бичсэн бөгөөд энэ нь бүртгэгдсэн төхөөрөмжүүдийг сүлжээгээр сканнердаж, хостуудын нэрийг холбогдох нэртэй жагсаалттай харьцуулах болно. Төхөөрөмж сүлжээнд нэвтрэх эсвэл гарах бүрт би мэдэгдэл хүлээн авдаг. Үүнтэй адилаар би гэртээ хэн байгаа тухай ойлголттой болох болно (хэн гэртээ байгаа эсэхийг мэдэх нь заримдаа тэд хоол идэхийг хүсч байгаа эсэхийг асуух нь сайхан байдаг, гэхдээ энэ нь эвгүй нөхцөл байдлаас зайлсхийхэд тусалдаг). Асуудал нь энэ арга нь тийм ч найдвартай биш юм. Харамсалтай нь зарим төхөөрөмжүүд пинг (жишээлбэл ухаалаг гар утас) -д хариу өгөхгүй бөгөөд эрчим хүч хэмнэх горимд ордог бололтой, тиймээс nmap гэх мэт тушаалуудыг найдвартай илрүүлэх боломжгүй байдаг. Төхөөрөмжийг сүлжээнээс гарсныг зарлахаас өмнө дор хаяж 10 сөрөг зүйл шаардах замаар би үүнийг даван туулахыг хичээсэн. Ерөнхийдөө энэ нь ажилласан боловч аажмаар, найдваргүй, тийм ч сайхан биш байсан. Мөн би компьютерээ нээхгүйгээр гэртээ байгаа хэн болохыг шалгаж үзэхийг хүсч байсан бөгөөд эдгээр ESP8266 -ийг би хэвтэж, тэдэнтэй тоглохыг хүссэн юм. Гэхдээ би 10.120.124.812-р ESP дээр суурилсан цаг уурын станц барихыг хүсээгүй (ямар ч байсан ямар нэгэн вэбсайтад зочлох боломжтой байхад яагаад цаг агаарын хэмийг ± 2 ° C хэмжигчээр хэмжихийг хүсч байна вэ?). Тиймээс төлөвлөгөө гаргасан. Харамсалтай нь ESP нь бүрэн хэмжээний сүлжээний скан хийхээс гадна зөв ping хийх боломжгүй байсан бололтой (үүнийг эхлүүлэхэд муу байсан, санаж байна уу?). Би үүнд зориулж номын сан бичих гэж бодож байсан боловч миний C ++ маш хязгаарлагдмал тул энэ бол миний анхны ESP төсөл бөгөөд би сүлжээний хувьд суут ухаантан биш, би энэ санааг үгүй хийсэн. чиглүүлэгч (брэнд Fritz! Box) нь үнэндээ API -тай! ЗА !!!! Протоколыг TR-064 гэж нэрлэдэг. Ийм урам зориг өгсөн нэр, тийм үү? Энэ талаар судалгаа хийж байхдаа би онлайнаар (нэлээд муухай) баримт бичгийг олсон. Үүнийг шийдэхийн тулд хэсэг хугацаа зарцуулсан. Дараагийн өдрүүдэд би илүү практик зааварчилгаа оруулах боломжтой (мөн хөтөчийн нэмэлт хэрэгслийг ашиглан энэ API-тай хэрхэн холбогдох/турших). API -г ойлгосны дараа би үүнийг ESP -ээсээ ашиглаж эхэлсэн. Урт богино өгүүлбэр: Нугас соронзон хальсны болон wd40-ийн шийдлийг ажиллуулж хүссэн зүйлээ хийж чадлаа (холбогдсон төхөөрөмжүүдийн API-г асууж, тэдгээрийг MAC хаягийн жагсаалттай харьцуулж, LED-г солих). Гэхдээ би илүү бат бөх байхыг хүсч байна. уян хатан шийдэл ба энэ API нь танд илүү их зүйлийг санал болгож чадна (та тохиргоог өөрчлөх (wifi -ийг асаах/унтраах, нууц үгээ өөрчлөх, зочин wifi -ийг нээх/хаах, дохионы хүчийг өөрчлөх), чиглүүлэгчийг дахин эхлүүлэх, холболтын хурдыг асуух, …) - Тиймээс би бүх нийтийн TR -064 номын санг бий болгохоор шийдсэн! TL; DR; Одоогоор гэртээ байгаа LED -ээр дамжуулдаг төхөөрөмж. Маш сайн ажилладаг, одоохондоо ямар ч орон сууцгүй байна (хөөе - гарчгийн бета хувилбарыг анзаарсан уу?). Чиглүүлэгчтэй холбогдохын тулд SOAP протоколыг ашигладаг. Үүнийг хийхийн тулд Arduino номын сан бичсэн. Шаардлагатай мэдлэг • Arduino/ESP -ийн анхан шатны мэдлэг • Хэрэв та ESP -ээр Blink -ийн жишээг цуглуулсан бол зүгээр байх болно! • Үгүй бол та энэ зааврын эхний хоёр алхамыг дагаж болно. Хэрэв та талхны тавцангийн үе шатыг орхихыг хүсч байвал хэрэгтэй болно • Орон сууцны Github төслийн холбоос хийхэд модон эдлэл хийх 3D дизайн хийх боломжтой. [https://github.com/Aypac/Arduino-TR-064-SOAP-Library] хурдан лавлахын тулд.

Хангамж

  • Хөгжлийн самбар дээрх ESP8266 эсвэл ESP32 эсвэл бусад програмисттай (2 ~ 6 €)
  • Программистад тохирсон USB кабель
  • Цахилгаан адаптер (жишээ нь USB эсвэл зай ~ 2 €)
  • Хэд хэдэн LED ба резистор (~ 1 €)
  • (Суултын яндан)

=> Хамгийн бага дизайны хувьд ойролцоогоор 4-6 евро. Энэ нь миний хувьд байшингийнхаа эргэн тойронд хэд хэдэн зүйлийг хялбархан өлгөх боломжтой гэсэн үг юм. Хэрэв та залхуу бол LED-тэй хөгжлийн самбар ашиглаж болно (дэлгэрэнгүйг 4-р алхамаас үзнэ үү).

Алхам 1: Чиглүүлэгчээ тохируулна уу (заавал биш, гэхдээ зөвлөж байна)

Чиглүүлэгчээ тохируулна уу (заавал биш, гэхдээ зөвлөж байна)
Чиглүүлэгчээ тохируулна уу (заавал биш, гэхдээ зөвлөж байна)
Чиглүүлэгчээ тохируулна уу (заавал биш, гэхдээ зөвлөж байна)
Чиглүүлэгчээ тохируулна уу (заавал биш, гэхдээ зөвлөж байна)

Энэхүү протоколыг чиглүүлэгчийн ерөнхий протокол болгон бүтээсэн боловч Fritz! Box чиглүүлэгчид (Европт маш түгээмэл байдаг) үүнийг ашигладаг гэдгийг би л мэднэ. Бусад брэндийн талаар мэдэхгүй байна. Тиймээс та Fritz! Box ашиглаж байна гэж бодъё. Хэрэв та энэ ажлыг өөр чиглүүлэгч дээр хийж чадвал (эсвэл үүнийг хийж чадахгүй бол) үүнийг зааварчилгаа өгөхөд баяртай байх болно (магадгүй нийцтэй байдлын богино жагсаалтыг эхлүүлж магадгүй юм уу?).

Энэ алхам шаардлагагүй, та зүгээр л администраторын дансаа ашиглаж болно, гэхдээ тодорхой шалтгааны улмаас үүнийг хийхийг зөвлөдөггүй (таны ESP -ээс таслагдах эсвэл хасагдсан байж магадгүй, та хүсээгүй зүйлээ санамсаргүйгээр өөрчилж магадгүй юм …) - тиймээс би хийхийг зөвлөж байна.

Ямар ч байсан бид эндээс явна.

  1. Өөрийн дуртай браузерын url-мөрөнд fritz.box гэж бичээд Fritz! Box руу нэвтэрнэ үү.
  2. FRITZ! Box шинэ хэрэглэгч үүсгэх хуудсыг олоорой (та үүнийг дэвшилтэт системтэй байх ёстой, хэрэв олж чадахгүй бол төхөөрөмжөө шинэчилж үзээрэй).
  3. Зураг дээр харагдаж байгаа шиг шинэ акаунт үүсгэнэ үү (өөр хэрэглэгчийн нэр/нууц үг ашиглан!).
  4. Гарах.

Алхам 2: Код

Image
Image
Техник хангамж (бета хувилбар)
Техник хангамж (бета хувилбар)
  1. Та номын сангаа Github -аас авах боломжтой.

  2. Жишээнүүдээс та энэ төслийн код болох home-indicator.ino нэртэй файлыг олох болно. Жишээнүүдийн хавтсыг arduino IDE төслийн үндсэн хавтсанд, нөгөө хавтсыг ижил төслийн гэрийн хавтсан дахь номын сангийн хавтсанд байрлуул.
  3. (Дахин) IDE эхлүүлнэ үү.
  4. IDE дээр home-indicator.ino -г нээгээд тохиргоогоо оруулна уу. Юу хаашаа явах нь тодорхой байх ёстой. Хэрэв танд асуулт байвал надад мэдэгдээрэй!
  5. Одоо та үүнийг эмхэтгэж ESP рүүгээ шилжүүлж болно!

Алхам 3: Тоног төхөөрөмж (бета)

Техник хангамж (бета хувилбар)
Техник хангамж (бета хувилбар)
Техник хангамж (бета хувилбар)
Техник хангамж (бета хувилбар)
Техник хангамж (бета хувилбар)
Техник хангамж (бета хувилбар)

Тиймээ … Энэ бол би дахиад л ажиллах шаардлагатай байгаа алхам юм. Гэхдээ вэб дээр ямар нэгэн зүйлийг ойлгоход хангалттай материал байгаа гэж бодож байна:) Зураг дээрх шиг тохиргоо нь D1, GPIO {5, 4, 0, 2} -д холбогдсон ~ 100Ohm эсэргүүцэлтэй диод юм. Миний MCU ESP8266 хавтангийн D2, D3, D4 (дарааллаар) зүү, катодуудыг GND руу аваачдаг улбар шар өнгийн жижиг кабель (миний самбар дээр G гэж тэмдэглэсэн). Хэрэв та залхуу байвал хоёр дахь зураг дээр харсан зүйлээ хийж болно. LED-тэй хөгжүүлэлтийн самбарыг ашиглаарай ("ESP-202" гэх мэт, зургийг үзнэ үү-тээвэрлэлтийг оруулаад ойролцоогоор 3.50-5.00 евро). Та үүнийг USB тэжээлд холбож эсвэл батерейны багцыг ашиглаж, цаасан дээр интерфэйс зурж, хананд наалдуулж болно. Энэ тусгай самбарын хувьд портууд нь:

int userPins [numUser] = {5, 4, 2, 14, 16};

дээрээс доош.

Алхам 4: Outlook/лавлах

Энэ бол миний төлөвлөсөн зүйл: 1. Сайхан орон сууц барих (мэдээжийн хэрэг) 2. Хэрэглэгч/LED/MAC/мэдэгдэж буй төхөөрөмжийг удирдахад тохиромжтой GUI нэмэх 3. Номын санг сайжруулах (Github -ийг үзнэ үү) 4. Засах: заримдаа LED ямар ч тодорхой шалтгаангүйгээр хойрго хариу үйлдэл үзүүлэх (төхөөрөмж унтрах хүртэл бага зэрэг хугацаа шаардагдана) 5. Юмыг хонгилд залгаарай, магадгүй байшингийн эргэн тойронд хэд хэдэн хүн байгаарай. Урьдын адил бусад хүмүүс таны бодож олсон новшийг хараад үнэхээр баяртай байна, тиймээс хэдэн минут ч гэсэн сэтгэгдэл үлдээж, зураг оруулна уу!:):) Нэмэлт лавлагаанууд Би танд туслах зарим зүйлийг энд холбож өгөх болно: • TR-064 лавлагаа • Бүрхүүл болон TR-064-тэй зууралдаж байгаа зарим залуу (API-ийг ойлгоход тохиромжтой) • Харри Поттер Википедиа: Уизли Цагийн оруулга • Зарим залуус гоёмсог, гэхдээ нарийн төвөгтэй Зэвүүн цаг бүтээдэг*_*Энэ нь таны утасны байршлыг тодорхойлдог апп дээр суурилсан болно. Хэрэв та урьдчилан тодорхойлсон тодорхой хэсэгт байгаа бол цагийн гэрлийн гэрэл асах болно. Миний хувьд энэ нь хэтэрхий төвөгтэй байсан бөгөөд эвдэрч гэмтэх магадлалтай олон газарт байсан: • Аппликешнүүдийг байнга шинэчилж байх ёстой • Хүн бүр эдгээр апп -уудыг ашиглах ёстой • Хувийн нууцлалд нөлөөлөх асуудал сайн байх ёстой • Апп нь зөвхөн интернетэд ажилладаг холболт • Та харилцаа холбоог холбохын тулд завсрын сервер ашиглах ёстой (хэрэв та esp -ийг сервер болгон тохируулж, гэрийн сүлжээгээ гадны урсгалд нээхийг хүсэхгүй бол - за, интернетэд шууд холбогдсон бас нэг аюултай IOT төхөөрөмж!) • завсрын үйлчилгээ нэг л өдөр офлайн байж магадгүй/API -г нь өөрчилж болно, •… Танд илүү их програм хангамж хэрэгтэй. Илүү их програм хангамж гэдэг нь алдаа гаргах илүү олон газар гэсэн үг юм;) Гэхдээ тэд гайхалтай ажил хийсэн бөгөөд хэрэв та ийм зүйл хийхийг хүсч байвал сайт руугаа ороорой, энэ үнэхээр гайхалтай!

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