Мазмұны:
- 1 -қадам: Құру
- 2 -қадам: код
- 3 -қадам: HTTPS веб -сайтына қосылыңыз
- 4 -қадам: POST / GET сұрауларын жасаңыз
- 5 -қадам: JSON & NOKIA LCD
Бейне: Қосылған секундомер: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Сәлеметсіз бе! Бұл оқулықта сіз WiFi -мен жабдықталған кез келген Arduino үйлесімді құрылғыны REST API -ге қалай қосуға болатынын білесіз! Бұл заттарды реттеуге арналған тақталар, бағандар мен карталар жасау үшін GitKraken Glo Board веб -қосымшасын пайдаланыңыз!
Жалпыға ортақ API қалай жұмыс істейтіні туралы кейбір білім қажет. Бұл жоба сіздің тапсырмалар тізіміндегі тапсырмаларға жұмсалған уақытты бақылау үшін GitKraken Glo API қолдану үшін арналған.
Мысалы, сіз мына тапсырмаларды орындауыңыз керек:
- Кофе ішіңіз
Сіз бастаған кезде бастау түймесін, аяқтаған кезде Дайын түймесін және voilà түймесін басыңыз, сіз өткізген уақыт түсіндіріледі.
1 -қадам: Құру
Құру үшін сіз кез келген нәрсені ойлай аласыз. Кішкентай секундомер жақсы болар еді, бірақ мен ұсақ -түйек ештеңе жасамадым.
Сонымен, картон мен аркадалық түймелерді басу керек болды!
Мен қолданған тақта - бұл ESP8266 WeMos D1 Mini. Бұл Arduino -ға қарағанда арзан және бортында WiFi бар!
Экран - Nokia 5110 СКД.
n
AliExpress -те бөлшектер тізімі:
- Nokia 5110
- 2 аркада түймелері
- ESP8266
- Өткізгіш сымдар
- Картон қорап
Бірақ сіз оны кез келген жерден немесе Amazon немесе eBay сияқты басқа веб -сайттардан таба аласыз.
Жалпы есеп: 5 € 86
Пинк байланыстары:
ESP8266 WeMos D1 Mini, Nokia 5110 LCD
- D2 (GPIO4) ↔ 0 RST
- D1 (GPIO5) ↔ 1 б
- D6 (GPIO12) ↔ 2 тұрақты ток
- D7 (GPIO13) ↔ 3 DIN
- D5 (GPIO14) ↔ 4 CLK
- 3V3 ~ 5 VCC
- D0 (GPIO16) ↔ 6 BL
- G (GND) ↔ 7 GND
ESP8266 WeMos D1 шағын, аркадалық түймелер
D3 (GPI18) ↔ Сол жақ түймешік
D4 (GPI17) ↔ Оң жақ түймешік
Түйменің басқа түйреуі жерге қосылған (GND).
2 -қадам: код
Маған кодты беріңіз
Толық бастапқы кодты мына жерден таба аласыз:
github.com/antoinech/glo-stopwatch
Сізге жұмыс істеу үшін сізге келесі айнымалыларды өзгерту қажет:
// WiFi есептік жазбаңызды hereconst char* ssid = «--your-ssid--» қойыңыз; const char* password = «-сіздің-құпия сөзіңіз-»; // Жеке кіру белгісін қойыңыз (https://support.gitkraken.com/developers/pats/) const char *bearer = «Тасымалдаушы XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX»;
Сізге Adafruit 2 кітапханасы қажет:
github.com/adafruit/Adafruit-GFX-Library
github.com/adafruit/Adafruit-PCD8544-Nokia…
Және бұл керемет Ардуино Джсон:
arduinojson.org/
Түсіндірмелер
Бастапқы кодта сіз білесіз:
- HTTPS соңғы нүктесіне қалай қосылуға болады
- POST немесе GET сұранысын қалай жасауға болады
- объектілер мен массивтерді алу үшін JSON жауабын қалай сериялау керек
- Nokia 5110 LCD экранында мәтін мен суреттерді қалай көрсету керек
Егер сіз осы API туралы көбірек білгіңіз келсе:
support.gitkraken.com/developers/overview/
Бұл сұрау POST және GET сұрауларын қолданатын кез келген API -мен қашықтан жұмыс істей алады:)
3 -қадам: HTTPS веб -сайтына қосылыңыз
Бұл жалған код HTTPS веб-сайтына қалай қосылуға болатынын түсіндіреді. Оның алғашқы қадамдары a -мен бірдей
WiFiClient клиенті
бірақ тексеру қадамымен. Сіз тексергіңіз келетін API соңғы нүктесіне өтіп, сертификаттың SHA1 саусақ ізін тексеруіңіз керек. Оны кодқа жол ретінде қоюды көшіріп, client.verify (саусақ ізі, hosturl) қоңырау шалыңыз.
WiFiClientSecure клиенті;
// WiFi WiFi.mode (WIFI_STA) желісіне қосылу; WiFi.begin (ssid, құпия сөз); while (WiFi.status ()! = WL_CONNECTED) {кешіктіру (500); Serial.print («.»); } if (! client.connect (хост, httpsPort)) {Serial.println («байланыс үзілді»); қайтару; } if (client.verify (саусақ ізі, хост))) {Serial.println («сертификат сәйкес келеді»); } else {Serial.println («сертификат сәйкес келмейді»); }
4 -қадам: POST / GET сұрауларын жасаңыз
ПОСТ
Бұл POST сұрауын жасаудың синтаксисі:
PostData жолы = «{»; PostData += «\» мәтін / «: \» менің хабарым / «»; PostData += «}»; Serial.print (PostData); client.print (Жол («POST») + url + «HTTP/1.1 / r / n» + «Хост:» + хост + «\ r / n» + «Авторизация:» + тасымалдаушы + «\ r / n» + «User-Agent: BuildFailureDetectorESP8266 / r / n» + «cache-control: no-cache / r / n» + «Content-Type: application/json / r / n» + «Content-Length:» + PostData. ұзындық () + «\ r / n» + «\ r / n» + PostData + «\ n»); Serial.println («сұрау жіберілді»);
PostData - бұл JSON ретінде жіберетін деректер, бұл жағдайда:
{
«мәтін»: «менің хабарым»}
Url айнымалысы - бұл соңғы нүктенің url, хост, веб -сайт url, тасымалдаушы - API кіру белгісі.
АЛУ
Бұл GET сұранысының жалған коды:
client.print (Жол («GET») + url + «HTTP/1.1 / r / n» + «Хост:» + хост + «\ r / n» + «Авторизация:» + тасымалдаушы + «\ r / n» + «User-Agent: BuildFailureDetectorESP8266 / r / n» + «Қосылым: тірі қалу / r / n / r / n»); Serial.println («сұрау жіберілді»); while (client.connected ()) {String line = client.readStringUntil ('\ n'); if (жол == «\ r») {Serial.println («тақырыптар алынды»); үзіліс; }} Жол жолы = client.readStringUntil ('\ n');
Бұл команданың нәтижесі жол айнымалысында сақталады.
5 -қадам: JSON & NOKIA LCD
Ұқсас жобаға қол жеткізу үшін Nokia 5110 LCD -де суреттер, мәтіндер мен символдарды көрсету қажет болады. Бұл тереңдіктегі оқулықты соңғы минуттық инженерлерден қарауға болады.
JSON -ды Arduino C ++ - те өңдеу үшін сізге бұл туралы айтатын ArduinoJson веб -сайтын пайдаланыңыз!
Егер сізде сұрақтар туындаса немесе осы бастапқы кодпен / оқулықпен жасағаныңызды жариялаудан тартынбаңыз.
Ұсынылған:
Автоматты секундомер: 9 қадам
Автоматты секундомер: Бұл нұсқаулық сізге автоматты секундомерді қалай жасау керектігін көрсетеді. Өйткені жүгіру көңілді, бірақ кейде сенімен бірге уақыт бөле алатын адам жоқ. Мен оны мүмкіндігінше қарапайым, арзан және дәл сақтауға тырыстым. Сізге пульт қажет емес
4 цифрлық 7 сегменттің дисплейі секундомер: 3 қадам
4 цифрлық 7 сегментті дисплей секундомері: Бұл нұсқаулық сізге 4 цифрлы жеті сегментті дисплейден нақты уақыттағы толық жұмыс істейтін секундомерді қалай жасау керектігін көрсетеді
VHDL мен Basys3 тақтасын қолданатын негізгі секундомер: 9 қадам
VHDL және Basys3 тақтасын қолданатын негізгі секундомер: Негізгі VHDL және Basys 3 тақтасын пайдаланып секундомерді құру туралы нұсқаулыққа қош келдіңіз. Біз сіздермен өз жобамызбен бөлісуге қуаныштымыз! Бұл 2016 жылы күзде SL Poly, SLO -да CPE 133 (цифрлық дизайн) курсының соңғы жобасы болды. Біз құрастырған жоба
Pic18f4520 протоколында 7 сегменті бар секундомер: 6 қадам
7 сегменті бар Proteus -та Pic18f4520 қолданатын секундомер: Мен сурет контроллерімен жұмыс істей бастадым, менің досымның біреуі одан секундомер құруды сұрады. Сондықтан менде бөлісетін аппараттық кескін жоқ, мен Proteus бағдарламалық жасақтамасында код жаздым және оны модельдедім, мұнда мен схеманы бөлдім
RabbitPi - Alexa қосылған, IFTTT қосылған, құлақ түретін IoT көмекшісі: 12 қадам
RabbitPi - Alexa қосылған, IFTTT қосылған, IoT -тың құлағын ұстайтын көмекшісі: бұл 2005 жылы ескірген Nabaztag " ақылды қоян " Мен Raspberry Pi 3 пен Adafruit Motor HAT көмегімен заманауи IoT көмекшісіне, веб камера микрофонымен және Philips Soundshooter динамигімен сүйкімді түпнұсқа корпусында қайта құрдым