Мазмуну:

Колу бош Токендер: 15 кадам (Сүрөттөр менен)
Колу бош Токендер: 15 кадам (Сүрөттөр менен)

Video: Колу бош Токендер: 15 кадам (Сүрөттөр менен)

Video: Колу бош Токендер: 15 кадам (Сүрөттөр менен)
Video: Transform Your Selfie into a Stunning AI Avatar with Stable Diffusion - Better than Lensa for Free 2024, Ноябрь
Anonim
Колу бош Токендер
Колу бош Токендер

Эй, Geeks, Азыр мен +2де окуйм, бул 12 -класска барабар. Мен информатикага абдан кызыгам, ошондой эле менин негизги темам ушул. Мен камтылган долбоорлорду иштеп чыгууга көп убактымды жумшадым. Мен камтылган талаада 3 жылдык тажрыйбам бар. Мен ар дайым инновациялык жана түрдүү чечимдерге басым жасайм. Бул долбоорду ишке ашырууга ата -энем чоң колдоо көрсөтүштү.

Сынактын негизги темасы-колу бош чечимдерди түзүү.

Бул жерде мен QMN (Queue Management Node) деп аталган түзмөктү түзүп жатам, ал виртуалдык токенди түзө алат жана ошону менен виртуалдык кезекти сактай алат.

Белгилүү бир кезекте, биз эсептегичтен физикалык токендерди алышыбыз керек, бул сизге коркунуч алып келет. Ошентип, бул виртуалдык токендерди колдонуу менен сиз бул коркунучтан сактай аласыз. Сиз чындыгында смартфонуңузга виртуалдык токендерди алып жатасыз. Токен толугу менен колу бош.

Бул Arduino MKR WiFI 1010 тарабынан иштелген жөнөкөй колдонуучуга ыңгайлуу виртуалдык кезек жасоочу.

1 -кадам: Demo Video

Image
Image

Бул тууралуу билүү үчүн демо видеону көрүңүз.

2 -кадам: Бизге керектүү нерселер

Аппараттык компоненттер

  • Arduino MKR WiFi 1010 x 1
  • Push Button Module x 1
  • TM1637 4 бит Digital Tube LED Display Module x 1
  • Джамперлер x 1

Программалык компоненттер

  • Arduino IDE
  • Twilio SMS API
  • ThingSpeak API

Куралдар

  • Wire Stripper & Cutter x 1
  • Пластикалык темир x 1
  • Solder x 1

3 -кадам: Бул кантип иштейт?

Колдонуучу интерфейси
Колдонуучу интерфейси

Кезекти башкаруу түйүнү (QMN) - бул акылдуу токендерди түзүүчү түзмөк. Акылдуу токендерди түзүү үчүн, адам Arduino MKR 1010дун wifi диапазонунда болушу керек. Бул процессти бүтүрүү үчүн адамга смартфон да керек. Жумуш процесси төмөнкүдөй болот …

  • WI-FI кирүү чекити Arduino MKR 1010 тарабынан түзүлөт.
  • Токенди каалаган адам телефонду кирүү чекитине туташтырышы керек жана ал жергиликтүү хостко багытталат.
  • Ал баракка адам телефон номерин киргизиши керек. Ошол замат, OTP аны текшерүү үчүн тиешелүү номерге жөнөтүлөт. Телефон номери билдирүү үчүн атайылап алынган.
  • Телефон номерин текшергенден кийин, токен жергиликтүү хостто көрсөтүлөт.
  • Качан анын кезеги келгенде, түзмөк (QMN) өз кезегин алуу үчүн тиешелүү адамга билдирүү жөнөтөт.

Бул түзмөк чындыгында элдердин өтүнүчүн кабыл алып, аларга акылдуу токендерди берип жатат. Билдирүүнү жөнөтүү үчүн биз QMN түзмөгүндө Twilio SMS API колдонобуз. Turn билдирүүсү QMNдеги баскычты басуу аркылуу жөнөтүлүшү мүмкүн.

Бардык энбелгилер чакырылганда, Arduino MKR WiFi 1010 баштапкы абалга келтирүү баскычын басуу менен эс тутумду тазалай аласыз.

4 -кадам: Колдонуучу интерфейси

Колдонуучу интерфейси
Колдонуучу интерфейси
Колдонуучу интерфейси
Колдонуучу интерфейси

*) Кирүү чекитине туташканыңызда, сиз баракка биринчисиндей багытталасыз.

*) Телефон номерин тапшыргандан кийин, ошол номерге ОПТ аласыз. Андан кийин OTP номериңизди киргизүү үчүн OTP баракчасы көрсөтүлөт.

*) Туура OTP тапшырганда, сиз бул энбелгинин бетине токен аласыз.

*) Эгерде сиз туура эмес OTP киргизсеңиз, анда ал жараксыз OTP көрсөтөт.

*) Эгерде сиздин номериңиз токенди мурунтан эле алган болсо, анда сиз буга чейин катталган экениңизди билдирет.

Мунун баары Колдонуучу интерфейси жөнүндө.

Мен HTML жөнүндө көп нерсени билбейм. Менин атам CSSти колдонуу менен бул баракчаларды жагымдуу кылды.

5 -кадам: Колдонуу Cases & Артыкчылыктары

Аны ооруканалар, дүкөндөр жана мейманканалар сыяктуу каалаган жерде колдонсо болот.

Артыкчылыктары

  • Токендерди алуу үчүн интернет байланышы талап кылынбайт
  • Жөнөкөй колдонуучуга ыңгайлуу веб интерфейси.
  • Кезек келгенде, түпкү түзмөк эскертмеси.
  • Физикалык белгилер жок.
  • Ишке ашыруу оңой.
  • Кереги жок күтүү убактысы, кезегиңиз келгенде көрсөтүңүз.

6 -кадам: Arduino MKR WiFi 1010

Ардуино MKR WiFi 1010
Ардуино MKR WiFi 1010
Ардуино MKR WiFi 1010
Ардуино 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 байланышына таянат. Түзмөк Wi -Fi модулунун 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) түзүп жатабыз, бул APга каалаган түзмөк (мобилдик) туташтырылышы мүмкүн. Өткөндө веб -интерфейске кирүү үчүн, адам браузерге IP дарегин же хост атын териши керек. Бул дээрлик эч нерсе эмес, бирок колдонуучу браузерге IP же хост атын кол менен коюшу керек. Бул чындап эле кызык нерсе. Бирок, бул учурда, QMNге туташкан түзмөк автоматтык түрдө Captive Portal аркылуу веб -интерфейске багытталат. Бул жерде Captive Portal колдонуучунун аракетин азайтууда чоң роль ойнойт. Espressif түзмөктөрү менен туткундалган порталдын көптөгөн долбоорлору бар, тилекке каршы NINA китепканасы жок. Анткени MKR WiFi 1010 NINA китепканасын колдонот. Акыры, мен Arduino хабында JayV тарабынан Captive Portal'ды негизги нерселер катары колдонгон долбоорду таптым. Андан кийин мен долбоорду базалык код катары кабыл алуу менен баштадым. Бул дээрлик жакшы иштеп жатат.

Чындыгында, биз DNSти орнотуп жатабыз жана кирүү чекити (AP) - IP дареги жана UDP порту аркылуу биринчи (16) DNS сурамдарын текшерүү 53. Биринчи 16 сурамдарды текшергенден кийин биз DNS сурамдарына жооп жөнөтөбүз. кирүү чекитинин багытталган IP дареги менен. Андан кийин телефон веб -браузерлер аркылуу веб -интерфейсти автоматтык түрдө жүктөйт. Көрсөтүлгөн АРга туташкан түзмөк, телефон веб -интерфейсти автоматтык түрдө жүктөгөндө, акыркы эффект ушундай болот. UDP сервер жана Webserver экөө тең бир убакта иштейт. Веб -сервер - телефон номерин киргизүү үчүн форма баскычы бар жөнөкөй башкы баракча.

9 -кадам: Twilio & Things Speak

Twilio & Things Speak
Twilio & Things Speak
Twilio & Things Speak
Twilio & Things Speak

Тилекке каршы, билдирүүлөрдү жөнөтө турган GSM модулум жок. OTP жана түзмөк эскертмесин жөнөтүү үчүн биз каалаган SMS API колдонушубуз керек. Ошентип, бул долбоордо мен тапшырманы аткаруу үчүн Twilio SMS API колдондум. Белгилүү болгондой, API иштеши үчүн серверге HTTP сурамын беришибиз керек. Биринчиден, мен кадимки HTTP сурамын Twilioго эч кандай шифрлөөсүз бердим, бирок Twilio менин өтүнүчүмдү эске алган жок. Алар коопсуздукту камсыз кылуу үчүн SSL манжа издерине муктаж. Бул SSLди колдогон NINA китепканаларында мен эч кандай функцияларды көргөн жокмун. Ошентип, 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 тастыктоочу колдонуучу ысымы - бул сиздин TWILIO ACCOUNT SID
  • HTTP тастыктоочу сырсөз - бул сиздин TWILIO AUTH TOKEN
  • POST ыкмасын коюңуз
  • Мазмундун түрү-бул application/x-www-form-urlencoded
  • Аталыштарды алып салууну чыкылдатыңыз жана хостту бош калтырыңыз
  • Body = From = YOUR TWILIO NUMBER & To = %% number %% & Body = %% билдирүү %%

Save ThingHTTP чыкылдатыңыз. ThingHTTpдин API ачкычы Arduino Sketchке киргизилиши керек.

10 -кадам: AP же STA режими

Nina модулу бар бардык Arduino такталары бир убакта бир ролду аткарышат, башкача айтканда Станция режими же Кирүү чекити режими. Биз жумушту бүтүрүү үчүн дайыма ушул режимдердин ортосунда алмашып турушубуз керек. Биринчиден, QMN номерди алгандан кийин AP режиминде болот, ал OTP жөнөтүү үчүн STA режимине өтөт. OTP жөнөткөндөн кийин QMN кайра AP режимине которулат. Эгерде адам баскычты иштетсе, QMN SMS билдирүү үчүн STA режимине которулат. Андан кийин, ал AP режимине кайтып келет. Интернетке туташуу үчүн биз QMNди СТА режимине которобуз. SMS API интернет байланышын талап кылат.

11 -кадам: TM1637 4 бит Digital Tube LED Display & Push Button

TM1637 4 бит Digital Tube LED Display & Push Button
TM1637 4 бит Digital Tube LED Display & Push Button
TM1637 4 бит Digital Tube LED Display & Push Button
TM1637 4 бит Digital Tube LED Display & Push Button

TM1637 4 Bits Digital Tube LED дисплей модулу сиздин камтылган долбооруңуздун чыгуу маалыматын көрсөтүү үчүн жеткиликтүү чечим. Көрсөтүлгөн маалыматтар сандар менен чектелгенине карабастан, бул колдонуучуларга A, B, C сыяктуу кээ бир белгилерди көрсөтүүгө мүмкүнчүлүк берет. Учурдагы токендин номери ушул 4 биттик жети сегменттүү LEDде көрсөтүлөт. Бул 7 сегменттүү LED Dsiplay TM1637 драйвер чипи тарабынан башкарылган 4 цифрадан турат. Бул TM1637 4 бит Digital Tube LED дисплей модулун башкаруу үчүн эки гана байланышты талап кылат. Бул дисплейге карап, кимдир бирөө Токендин номерин оңой түшүнө алат. Бул аппараттын чыныгы колдонулушу.

Бул модуль менен иштөө үчүн TM1637Display.h аттуу китепкана керек. Бул жерден китепкананы жүктөп алыңыз.

Бул жерде баскыч баскычтар токендерди чакыруу үчүн колдонулат. Мен баскыч баскыч модулун колдондум, ошондуктан аны интеграциялоо абдан оңой. Бул жерде баскыч баскыч тартылуу режиминде. Сиз ошондой эле резистор жана баскыч менен модулду оңой жасай аласыз.

12 -кадам: Район

Circuit
Circuit
Circuit
Circuit

Район өтө жөнөкөй, эч кандай татаал жабдуулардан турбайт. Жөн гана схемаларга ылайык туташыңыз. Алгач мен нан тактасында схеманы жасадым. Анан мен секиргичтер менен зым тарттым.

13 -кадам: Case

Case
Case
Case
Case
Case
Case

Мен бул ишти жергиликтүү дүкөндөн алдым. Мен жөн эле жетону көрсөтүү үчүн жети сегментти көрсөтүү үчүн алдыңкы кичинекей бир бөлүгүн кесип. Мен дагы капталдан эки бөлүктү айрып алдым, бири баскыч үчүн, экинчиси 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 кабели менен күйгүзүңүз жана ырахат алыңыз!

Сүрөт
Сүрөт
Сүрөт
Сүрөт

"Тийбейм" үй -бүлөлүк сынагында экинчи орунду ээледи

Сунушталууда: