Mundarija:
- 1 -qadam: qurish
- 2 -qadam: kod
- 3 -qadam: HTTPS veb -saytiga ulaning
- 4 -qadam: POST / GET so'rovlarini yuboring
- 5 -qadam: JSON va NOKIA LCD
Video: Ulangan sekundomer: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Assalomu alaykum, bu qo'llanmada siz WiFi bilan jihozlangan Arduino -ga mos keladigan har qanday qurilmani REST API -ga qanday ulashni bilib olasiz! GitKraken Glo Board veb -ilovasi yordamida narsalarni tartibga solish uchun taxtalar, ustunlar va kartalar yaratish mumkin!
Umumiy API qanday ishlashini bilish kerak. Bu loyiha GitKraken Glo API -dan foydalanib, bajariladigan ishlar ro'yxatidagi vazifalarga sarflagan vaqtingizni kuzatish uchun mo'ljallangan.
Masalan, siz quyidagi vazifalarni bajarishingiz kerak:
- Kofe iching
Siz boshlaganingizda start tugmasini bosasiz, tugallangach Bajarildi tugmachasini bosasiz va voila esa sarflagan vaqtingiz izohlanadi.
1 -qadam: qurish
Qurilish uchun siz hamma narsani o'ylab topishingiz mumkin. Kichkina soniya hisoblagichi juda yaxshi bo'lardi, lekin men atrofimda hech qanday mayda -chuydalar qilmaganman.
Shunday qilib, karton va arja tugmachalarini bosish kerak edi!
Men ishlatgan taxta - bu ESP8266 WeMos D1 Mini. Bu Arduino -dan arzonroq va bortida WiFi bor!
Ekran Nokia Nokia 5110 LCD.
n
AliExpress -da ehtiyot qismlar ro'yxati:
- Nokia 5110
- 2 arja tugmachalari
- ESP8266
- Jumper simlari
- Karton quti
Ammo siz uni har qanday joyda yoki Amazon yoki eBay kabi boshqa veb -saytlarda topishingiz mumkin.
Umumiy hisob: 5 € 86
Pins ulanishlari:
ESP8266 WeMos D1 Mini, Nokia 5110 LCD
- D2 (GPIO4) va 0 RST
- D1 (GPIO5) ↔ 1 milodiy
- D6 (GPIO12) va 2 shahar
- D7 (GPIO13) va 3 din
- D5 (GPIO14) yoki 4 CLK
- 3V3 ~ 5 VCC
- D0 (GPIO16) yoki 6 BL
- G (GND) ↔ 7 GND
ESP8266 WeMos D1 Mini, Arkada tugmalari
D3 (GPI18), chap tugma
D4 (GPI17), o'ng tugma
Tugmaning boshqa pimi erga ulangan (GND).
2 -qadam: kod
Menga faqat kodni bering
To'liq manba kodini bu erda topishingiz mumkin:
github.com/antoinech/glo-stopwatch
Siz uchun qulay bo'lishi uchun siz quyidagi parametrlarni o'zgartirishingiz kerak bo'ladi:
// Wi-Fi hisob ma'lumotlarini har doim qo'shib qo'ying char* ssid = "--your-ssid--"; const char* parol = "-sizning parolingiz-"; // Shaxsiy kirish belgisini qo'ying (https://support.gitkraken.com/developers/pats/) const char *bearer = "Tashuvchi XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
Sizga 2 ta Adafruit kutubxonasi kerak bo'ladi:
github.com/adafruit/Adafruit-GFX-Library
github.com/adafruit/Adafruit-PCD8544-Nokia…
Va bu ajoyib Arduino Json:
arduinojson.org/
Tushuntirishlar
Manba kodida siz quyidagilarni bilib olasiz:
- HTTPS so'nggi nuqtasiga qanday ulanish mumkin
- POST yoki GET so'rovini qanday qilish kerak
- ob'ektlar va massivlarni olish uchun JSON javobini ketma -ketlashtirish
- Nokia 5110 LCD displeyida matn va rasmlarni qanday ko'rsatish mumkin
Agar siz ushbu API haqida ko'proq bilmoqchi bo'lsangiz:
support.gitkraken.com/developers/overview/
Bu so'rov POST va GET so'rovlarini ishlatadigan har qanday API bilan masofadan ishlashi mumkin:)
3 -qadam: HTTPS veb -saytiga ulaning
Bu soxta kod sizga HTTPS veb-saytiga qanday ulanishni tushuntiradi. Uning birinchi qadamlari a bilan bir xil
WiFi mijozi
lekin tekshirish bosqichi bilan. Siz tekshirmoqchi bo'lgan API oxirgi nuqtasiga o'tishingiz va sertifikatning SHA1 barmoq izini tekshirishingiz kerak. Nusxa ko'chiring, uni kodingizga mag'lub sifatida joylashtiring va client.verify (barmoq izi, hosturl) ga qo'ng'iroq qiling.
WiFiClientSecure mijozi;
// WiFi WiFi.mode (WIFI_STA) ga ulanish; WiFi.begin (ssid, parol); while (WiFi.status ()! = WL_CONNECTED) {kechiktirish (500); Serial.print ("."); } if (! client.connect (host, httpsPort)) {Serial.println ("ulanish muvaffaqiyatsiz tugadi"); qaytish; } if (client.verify (barmoq izi, host)) {Serial.println ("sertifikat mos keladi"); } boshqa {Serial.println ("sertifikat mos kelmaydi"); }
4 -qadam: POST / GET so'rovlarini yuboring
POST
Bu POST so'rovini bajarish uchun sintaksis:
PostData qatori = "{"; PostData += "\" matn / ": \" mening xabarim / ""; PostData += "}"; Serial.print (PostData); client.print (String ("POST") + url + "HTTP/1.1 / r / n" + "Xost:" + host + "\ r / n" + "Avtorizatsiya:" + tashuvchi + "\ r / n" + "Foydalanuvchi-agent: BuildFailureDetectorESP8266 / r / n" + "kesh-nazorati: kesh-yo'q / r / n" + "Kontent turi: application/json / r / n" + "Kontent uzunligi:" + PostData. uzunlik () + "\ r / n" + "\ r / n" + PostData + "\ n"); Serial.println ("so'rov yuborildi");
PostData - bu siz JSON sifatida yuboradigan ma'lumotlar, bu holda:
{
"matn": "mening xabarim"}
Url o'zgaruvchisi - bu oxirgi nuqtaning url, xost, veb -sayt url, tashuvchisi - API kirish belgisi.
Oling
Bu GET so'rovining soxta kodi:
client.print (String ("Get") + url + "HTTP/1.1 / r / n" + "Xost:" + host + "\ r / n" + "Avtorizatsiya:" + tashuvchi + "\ r / n" + "Foydalanuvchi-agent: BuildFailureDetectorESP8266 / r / n" + "Ulanish: jonli saqlanish / r / n / r / n"); Serial.println ("so'rov yuborildi"); while (client.connected ()) {String line = client.readStringUntil ('\ n'); if (line == "\ r") {Serial.println ("sarlavhalar qabul qilingan"); tanaffus; }} String qatori = client.readStringUntil ('\ n');
Bu buyruq natijasi satr o'zgaruvchisida saqlanadi.
5 -qadam: JSON va NOKIA LCD
Shunga o'xshash loyihani amalga oshirish uchun siz Nokia 5110 LCD -da tasvirlar, matnlar va belgilarni ko'rsatishingiz kerak bo'ladi. Siz buni "Derinlik darsligi" ni so'nggi muhandislardan ko'rishingiz mumkin.
Arduino C ++ da JSON bilan ishlash uchun ArduinoJson veb -saytidan foydalaning, u sizga bu haqda hamma narsani aytib beradi!
Agar sizda savollar bo'lsa, yozishni yoki bu manba kodi / o'quv qo'llanmasi bilan qilganlaringizni yozishdan tortinmang.
Tavsiya:
Oddiy CloudX M633 raqamli sekundomer: 4 qadam
Oddiy CloudX M633 raqamli soniya hisoblagichi: Ushbu loyihada biz mobil telefoningizdagi soniya hisoblagichi kabi soat, daqiqa va soniyani qayd etadigan raqamli soatning versiyasini tayyorlamoqchimiz! Vaqtni ko'rsatish uchun biz LCD displeydan foydalanamiz
Avtomatik sekundomer: 9 qadam
Avtomatik sekundomer: Bu ko'rsatma sizga avtomatik sekundomerni qanday qurishni ko'rsatib beradi. Chunki yugurish qiziqarli, lekin ba'zida yoningizda vaqtingizni ajrata oladigan hech kim yo'q. Men buni iloji boricha sodda, arzon va aniq saqlashga harakat qildim. Sizga masofadan boshqarish pulti kerak emas
4 -raqamli 7 segmentli sekundomer: 3 qadam
4-raqamli 7 segmentli sekundomer: Bu ko'rsatma sizga 4-raqamli etti segmentli displeydan real vaqt rejimida to'liq ishlaydigan sekundomerni yaratishni ko'rsatib beradi
VHDL va Basys3 taxtasi yordamida asosiy sekundomer: 9 qadam
VHDL va Basys3 taxtasidan foydalanadigan asosiy sekundomer: Asosiy VHDL va Basys 3 taxtasi yordamida sekundomerni yaratish bo'yicha ko'rsatmaga xush kelibsiz. Siz bilan loyihamizni bo'lishishdan xursandmiz! Bu 2016 yilning kuzida, Cal Poly, SLOda o'tkaziladigan CPE 133 (Raqamli dizayn) kursining yakuniy loyihasi edi. Biz qurayotgan loyiha
Pic18f4520 yordamida sekundomer 7 segmentli Proteusda: 6 qadam
7 sekundli Proteus -da Pic18f4520 -dan foydalangan holda sekundomer: Men rasm boshqaruvchisi bilan ishlay boshladim, do'stlarimdan biri undan sekundomer yasashimni so'radi. Shunday qilib, menda almashish uchun apparat tasviri yo'q, men Proteus dasturida kod yozdim va uni simulyatsiya qildim, bu erda men ham xuddi shu sxemani baham ko'rdim