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

Гар чөлөөтэй жетон: 15 алхам (зурагтай)
Гар чөлөөтэй жетон: 15 алхам (зурагтай)

Видео: Гар чөлөөтэй жетон: 15 алхам (зурагтай)

Видео: Гар чөлөөтэй жетон: 15 алхам (зурагтай)
Видео: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, Арваннэгдүгээр
Anonim
Гар чөлөөтэй жетонууд
Гар чөлөөтэй жетонууд

Хөөе Geeks, Одоо би 12 -р ангитай тэнцэх +2 ангид сурч байна. Би компьютерийн шинжлэх ухааныг маш их сонирхдог бөгөөд миний гол сэдэв бол энэ юм. Би Embedded төслийг боловсруулахад маш их цаг зарцуулсан. Би суулгагдсан чиглэлээр 3 орчим жил ажилласан туршлагатай. Би үргэлж шинэлэг, олон талт шийдлүүдэд анхаарлаа хандуулдаг. Энэ төслийг хийхэд эцэг эх маань надад маш их дэмжлэг үзүүлсэн.

Уралдааны гол сэдэв нь гар чөлөөтэй шийдлийг бий болгох явдал юм.

Энд би QMN (Queue Management Node) нэртэй төхөөрөмжийг бүтээж байгаа бөгөөд энэ нь виртуал токен үүсгэж, улмаар виртуал дарааллыг хадгалах боломжтой юм.

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

Энэ бол Arduino MKR WiFI 1010-ээр ажилладаг энгийн хэрэглэгчид ээлтэй виртуал дараалал үүсгэгч юм.

Алхам 1: Демо видео

Image
Image

Энэ талаар мэдэхийн тулд демо видеог үзээрэй.

Алхам 2: Бидэнд хэрэгтэй зүйлс

Тоног төхөөрөмжийн бүрэлдэхүүн хэсгүүд

  • Arduino MKR WiFi 1010 x 1
  • Push Button Module x 1
  • TM1637 4 битийн дижитал хоолой LED дэлгэцийн модуль x 1
  • Үсрэгч х 1

Програм хангамжийн бүрэлдэхүүн хэсгүүд

  • Arduino IDE
  • Twilio SMS API
  • ThingSpeak API

Багаж хэрэгсэл

  • Утас хуулагч ба таслагч x 1
  • Гагнуурын төмөр x 1
  • Гагнуур x 1

Алхам 3: Энэ нь хэрхэн ажилладаг вэ?

Хэрэглэгчийн интерфэйс
Хэрэглэгчийн интерфэйс

Queue Management Node (QMN) бол ухаалаг жетон үүсгэж буй төхөөрөмж юм. Ухаалаг жетон үүсгэхийн тулд тухайн хүн Arduino MKR 1010 wifi сүлжээнд байх ёстой. Уг процессыг гүйцэтгэхийн тулд ухаалаг гар утас хэрэгтэй болно. Ажлын явц дараах байдлаар явагдах болно …

  • WI-FI хандалтын цэгийг Arduino MKR 1010 бүтээнэ.
  • Токен хүсэж буй хүн утсаа хандалтын цэг рүү холбох шаардлагатай бөгөөд үүнийг localhost руу дахин чиглүүлэх болно.
  • Тэр хуудсан дээр тухайн хүн утасны дугаараа оруулах шаардлагатай. Энэ үед OTP -ийг холбогдох дугаар руу илгээж баталгаажуулна. Мэдээлэл өгөхийн тулд утасны дугаарыг санаатайгаар авсан болно.
  • Утасны дугаарыг баталгаажуулсны дараа токеныг localhost дээр харуулах болно.
  • Түүний ээлж ирэх үед төхөөрөмж (QMN) нь холбогдох хүмүүст мэдэгдэл илгээж, ээлжээ авах болно.

Энэ төхөөрөмж нь үнэн хэрэгтээ хүмүүсийн хүсэлтийг хүлээн авч, тэдэнд ухаалаг жетон өгч байна. Зурвас илгээхдээ бид QMN төхөөрөмж дээр Twilio SMS API ашиглаж байна. Эргэх тухай мэдэгдлийг QMN дээрх товчлуурыг дарж илгээж болно.

Бүх жетонуудыг дуудах үед та Arduino MKR WiFi 1010 дээрх дахин тохируулах товчийг дарж санах ойг цэвэрлэж болно.

Алхам 4: Хэрэглэгчийн интерфэйс

Хэрэглэгчийн интерфэйс
Хэрэглэгчийн интерфэйс
Хэрэглэгчийн интерфэйс
Хэрэглэгчийн интерфэйс

*) Хандалтын цэг рүү холбогдсон үед та эхнийх шиг хуудас руу чиглүүлэх болно.

*) Утасны дугаараа оруулсны дараа та энэ дугаар дээр OTP авах болно. Дараа нь таны OTP дугаарыг оруулах OTP хуудсыг харуулна.

*) Та зөв OTP -г оруулахдаа энэхүү токен хуудсан дээрх жетоныг авах болно.

*) Хэрэв та буруу OTP оруулсан бол энэ нь буруу OTP харуулах болно.

*) Хэрэв таны дугаар жетоныг аль хэдийн авсан байсан бол энэ нь таныг аль хэдийн бүртгүүлсэн гэдгээ хэлэх болно.

Энэ бол Хэрэглэгчийн интерфэйсийн тухай юм.

Би HTML -ийн талаар сайн мэдэхгүй байна. Аав маань эдгээр хуудсыг CSS ашиглан илүү сэтгэл татам болгосон.

Алхам 5: Кейс ба давуу талыг ашиглах

Үүнийг эмнэлэг, дэлгүүр, зочид буудал гэх мэт хаана ч ашиглаж болно.

Давуу тал

  • Токен авахын тулд интернет холболт шаардлагагүй
  • Хэрэглэгчдэд ээлтэй энгийн интерфэйс.
  • Төхөөрөмжийн мэдэгдэл, ээлж ирэхэд.
  • Физик жетон байхгүй.
  • Хэрэгжүүлэхэд хялбар.
  • Шаардлагагүй хүлээх хугацаа байхгүй, таны ээлж ирэх үед гарч ирээрэй.

Алхам 6: Arduino MKR WiFi 1010

Arduino MKR WiFi 1010
Arduino MKR WiFi 1010
Arduino MKR WiFi 1010
Arduino MKR WiFi 1010

Төхөөрөмжийн тархи нь Arduino MKR WiFi 1010 юм. Энэ нь IoT болон пико сүлжээний үндсэн хэрэглээний дизайн руу орох хамгийн хялбар цэг юм. Удирдах зөвлөлийн гол процессор нь Arduino MKR гэр бүлийн бусад самбаруудын нэгэн адил бага хүч чадалтай Arm® Cortex®-M0 32 битийн SAMD21 юм. WiFi болон Bluetooth® холболтыг u-blox, NINA-W10 модуль ашиглан гүйцэтгэдэг.

Энэ төхөөрөмж нь Arduino MKR WiFi 1010 -ийн WiFi холболтод бүрэн тулгуурладаг. Төхөөрөмж нь wifi модулийн AP (Acces Point) болон STA (Station) горимыг хоёуланг нь ашигладаг. Төхөөрөмж энэ төхөөрөмжийг зөв ажиллуулахын тулд эдгээр горимуудын хооронд ухаалаг шилжих болно.

Алхам 7: Arduino IDE

Arduino IDE
Arduino IDE

Arduino IDE нь Arduino MKR WiFI 1010 програмчлахад ашиглагддаг. Төхөөрөмжийг эхлүүлэх талаар эндээс үзнэ үү. Arduino MKR wifi 1010 програмчлахад хамгийн сүүлийн үеийн Arduino IDE -ийг ашиглаарай. Програмчлахаасаа өмнө төхөөрөмжийн хамгийн сүүлийн үеийн програм хангамжийн шинэчлэлт байгаа эсэхийг шалгаарай. Програм хангамжийг хэрхэн шинэчлэх талаар эндээс үзнэ үү.

Алхам 8: Олзлогдсон портал

Бид үнэндээ Arduino MKR WiFI 1010 -ээр нэвтрэх цэг (AP) үүсгэж байгаа бөгөөд ямар ч төхөөрөмжийг (гар утсыг) энэ холболтод холбох боломжтой. Өмнө нь вэб интерфэйс рүү нэвтрэхийн тулд хүн хөтөч дээрээ IP хаяг эсвэл хостын нэрийг оруулах шаардлагатай байдаг. Энэ нь бараг зүгээр юм, гэхдээ хэрэглэгч хөтөч дээр IP эсвэл хостын нэрийг гараар оруулах шаардлагатай болно. Энэ бол үнэхээр хачирхалтай зүйл юм. Гэхдээ энэ тохиолдолд QMN -тэй холбогдож буй төхөөрөмжийг Captive Portal -ээр дамжуулан вэб интерфэйс рүү автоматаар дахин чиглүүлэх болно. Энд Captive Portal нь хэрэглэгчийн хүчин чармайлтыг бууруулахад чухал үүрэг гүйцэтгэдэг. Espressif төхөөрөмжтэй Captive Portal -ийн олон төслүүд байдаг боловч харамсалтай нь NINA номын санд байдаггүй. Учир нь MKR WiFi 1010 нь NINA номын санг ашигладаг. Эцэст нь би Arduino hub -аас JayV -ийн Captive Portal -ийг гол зүйл болгон ашигладаг төслийг олсон бөгөөд дараа нь үүнийг үндсэн код болгон авч эхлэв. Бараг л хэвийн ажиллаж байна.

Бидний хийж байгаа зүйл бол бид DNS -ийг тохируулж, Access Point (AP) - IP хаягийг эзэмшиж, UDP порт 53 -аар дамжуулан эхлээд (16) DNS хүсэлтийг шалгаж байна. Эхний 16 хүсэлтийг шалгасны дараа бид DNS хүсэлтийн хариуг илгээх болно. өөрийн хандалтын цэгийн дахин чиглүүлсэн IP хаягаар. Дараа нь утас вэб хөтөчөөр дамжуулан вэб интерфэйсийг автоматаар ачаална. Эцсийн эффект нь тогтоосон AP -д холбогдсон төхөөрөмж вэб интерфэйсийг автоматаар ачаалах үед ийм байх болно. UDP сервер ба вэб сервер хоёулаа зэрэг ажилладаг. Вэб сервер бол утасны дугаар оруулах маягтын товчлуур бүхий энгийн үндсэн хуудас юм.

Алхам 9: Twilio & Things Speak

Twilio & Things ярьдаг
Twilio & Things ярьдаг
Twilio & Things ярьдаг
Twilio & Things ярьдаг

Харамсалтай нь надад мессеж илгээх GSM модуль байхгүй байна. OTP болон төхөөрөмжийн мэдэгдэл илгээхийн тулд бид ямар ч SMS API ашиглах шаардлагатай болно. Тиймээс энэ төсөлд би даалгаврыг биелүүлэхийн тулд Twilio -ийн SMS API -ийг ашигласан. Бидний мэдэж байгаагаар API ажиллахын тулд бид серверийн HTTP хүсэлтийг өгөх ёстой. Эхлээд би ердийн HTTP хүсэлтийг Twilio -д ямар ч шифрлэлтгүйгээр өгсөн боловч Twilio миний хүсэлтийг авч үзээгүй. Аюулгүй байдлыг хангахын тулд тэдэнд SSL хурууны хээ хэрэгтэй. NINA номын санд эдгээр SSL -ийг дэмждэг ямар ч функц харагдаагүй. Тиймээс би Twilio -г ажиллуулахын тулд Thingsspeak -ийг ашигласан. Эдгээр үйлчилгээг ашиглахын тулд та хоёр платформ дээр бүртгүүлэх шаардлагатай.

Twilio дээр шинэ дугаар үүсгэнэ үү, энэ нь таны өгөгдлийг илгээсэн тоо байх болно. Та Twilio -д мессеж бичих үнэгүй кредит авах болно. Туршилтын дансны хувьд та өгөгдлийг илгээхийг хүссэн дугаараа баталгаажуулах шаардлагатай.

Thingspeak.com руу ороод апп, дараа нь ThingHTTP, дараа нь New ThingHTTP дээр дарна уу. Энэ нь таныг тохиргооны хуудас руу хөтлөх болно. Та Twilio дансныхаа SID болон баталгаажуулалтын жетоныг Twilio хяналтын самбар дээрх хуудаснаас олох хэрэгтэй болно.

  • Үүнийг Twilio SMS илгээх гэж нэрлэнэ үү
  • URL нь https://api.twilio.com/2010-04-01/Accounts/YOUR TWILIO ACCOUNT SID/SMS/Messages
  • HTTP Auth хэрэглэгчийн нэр бол таны TWILIO дансны SID юм
  • HTTP баталгаажуулалтын нууц үг бол таны TWILIO AUTH TOKEN юм
  • Энэ аргыг POST болгож тохируулна уу
  • Агуулгын төрөл нь application/x-www-form-urlencoded юм
  • Толгойг устгах товчийг дараад хостыг хоосон орхино уу
  • Body = From = YOUR TWILIO NUMBER & To = %% number %% & Body = %% message %%

Save ThingHTTP дээр дарна уу. ThingHTTp -ийн API түлхүүрийг Arduino Sketch -т оруулах ёстой.

Алхам 10: AP OR STA горим

Нина модультай бүх Arduino самбарууд нэг дор нэг үүргийг гүйцэтгэдэг, өөрөөр хэлбэл Станцын горим эсвэл Хандалтын цэгийн горим. Ажлаа дуусгахын тулд бид эдгээр горимуудын хооронд байнга шилжих хэрэгтэй. Нэгдүгээрт, QMN нь дугаарыг авсны дараа AP горимд байх бөгөөд OTP илгээх STA горимд шилжих болно. OTP илгээсэний дараа QMN нь AP горим руу буцна. Хэрэв хүн товчлуурыг дарсан бол QMN нь SMS мэдэгдэл өгөх STA горимд шилжих болно. Үүний дараа энэ нь AP горим руу буцах болно. Интернет холболт өгөхийн тулд бид QMN -ийг STA горимд шилжүүлж байна. SMS API нь интернет холболт шаарддаг.

Алхам 11: TM1637 4 битийн дижитал хоолойн LED дэлгэц ба товчлуур

TM1637 4 битийн дижитал хоолой LED дэлгэц ба товчлуур
TM1637 4 битийн дижитал хоолой LED дэлгэц ба товчлуур
TM1637 4 битийн дижитал хоолой LED дэлгэц ба товчлуур
TM1637 4 битийн дижитал хоолой LED дэлгэц ба товчлуур

TM1637 4 битийн дижитал хоолой LED дэлгэцийн модуль нь таны оруулсан төслийн гаралтын өгөгдлийг харуулах боломжийн шийдэл юм. Үзүүлсэн өгөгдлүүд тоогоор хязгаарлагддаг боловч энэ нь хэрэглэгчдэд A, B, C гэх мэт зарим тэмдэгтүүдийг харуулах боломжийг олгодог. Энэхүү 7 сегментийн LED Dsiplay нь 4 оронтой бөгөөд TM1637 драйверын чипээр хянагддаг. Энэхүү TM1637 4 битийн дижитал хоолой LED дэлгэцийн модулийг хянахын тулд зөвхөн хоёр холболт шаардлагатай. Энэ дэлгэцийг хараад хэн ч Token дугаарыг амархан ойлгох боломжтой. Энэ бол энэ төхөөрөмжийн жинхэнэ хэрэглээ юм.

Энэ модультай ажиллахын тулд танд TM1637Display.h нэртэй номын сан хэрэгтэй. Номын санг эндээс татаж авахад л болно.

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

Алхам 12: Хэлхээ

Хэлхээ
Хэлхээ
Хэлхээ
Хэлхээ

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

Алхам 13: Кейс

Кейс
Кейс
Кейс
Кейс
Кейс
Кейс

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

Алхам 14: Arduino Sketch

Интерфэйс дээр үзүүлсэн бүх HTML хуудсууд Arduino MKR WiFi 1010 флаш санах ойд хадгалагддаг. Үүнийг хадгалахын тулд би PROGMEM хэрэгслийг ашигласан.

PROGMEM нь pgmspace.h номын сангийн нэг хэсэг юм. Энэ нь IDE -ийн орчин үеийн хувилбаруудад автоматаар ордог. Гэсэн хэдий ч, хэрэв та IDE хувилбарыг 1.0 (2011) доор ашиглаж байгаа бол эхлээд ноорогныхоо дээд хэсэгт номын санг оруулах хэрэгтэй болно.

#оруулах.

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

Бүх HTML файлууд "source.h" таб дээр хадгалагддаг. Энэ төслийн бүх кодыг эндээс олж болно. Энэ кодыг Arduino төхөөрөмж рүү оруулна уу.

Алхам 15: QMN

QMN
QMN

Төхөөрөмжийн эцсийн төлөв байдал. Төхөөрөмжийг ашиглахад бэлэн болсон байна. Үүнийг USB кабелиар асаагаад таашаал аваарай!

Зураг
Зураг
Зураг
Зураг

"Үүнд хүрч чадахгүй байна" гэр бүлийн уралдаанд дэд байр эзэлсэн

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