جدول المحتويات:
- الخطوة 1: بناء
- الخطوة 2: الكود
- الخطوة 3: الاتصال بموقع HTTPS على الويب
- الخطوة 4: تقديم طلبات POST / GET
- الخطوة 5: JSON & NOKIA LCD
فيديو: ساعة توقيت متصلة: 5 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:39
مرحبًا! في هذا البرنامج التعليمي ، سوف تتعرف على كيفية توصيل أي جهاز متوافق مع Arduino ، ومجهز بشبكة WiFi ، بواجهات REST API! يستخدم هذا تطبيق ويب GitKraken Glo Board لإنشاء لوحات وأعمدة وبطاقات لتنظيم الأشياء!
هناك حاجة إلى بعض المعرفة حول كيفية عمل API العام. يهدف هذا المشروع إلى استخدام واجهة برمجة تطبيقات GitKraken Glo لتتبع الوقت الذي تقضيه في المهام في قوائم المهام.
على سبيل المثال ، عليك القيام بهذه المهام:
- اشرب قهوه
تضغط على زر البدء عند البدء ، وعند الانتهاء ، تضغط على تم ، ويتم التعليق على الوقت الذي تقضيه.
الخطوة 1: بناء
للبناء ، يمكنك التفكير في أي شيء. ستكون ساعة الإيقاف الصغيرة رائعة ، لكن لم يكن لدي أي شيء صغير.
لذلك كانت أزرار الدفع من الورق المقوى والأروقة هي السبيل للذهاب!
اللوحة التي استخدمتها هي ESP8266 WeMos D1 Mini. هذا أرخص من Arduino ، ويحتوي على WiFi على متن الطائرة!
الشاشة من نوع Nokia 5110 LCD.
ن
قائمة الأجزاء على AliExpress:
- نوكيا 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 Mini أزرار أركيد
D3 (GPI18) ↔ الزر الأيسر
D4 (GPI17) ↔ الزر الأيمن
يتم توصيل دبوس الزر الآخر بالأرض (GND).
الخطوة 2: الكود
فقط أعطني الرمز
يمكنك العثور على كود المصدر الكامل هنا:
github.com/antoinech/glo-stopwatch
لجعلها تعمل من أجلك ، ستحتاج إلى تغيير هذه المتغيرات:
// ضع بيانات اعتماد WiFi الخاصة بك هنا char * ssid = "--your - ssid -" ؛ const char * password = "- your - password -" ؛ // ضع رمز الوصول الشخصي الخاص بك (https://support.gitkraken.com/developers/pats/) const char * bearer = "Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ؛
ستحتاج أيضًا إلى مكتبتين Adafruit:
github.com/adafruit/Adafruit-GFX-Library
github.com/adafruit/Adafruit-PCD8544-Nokia …
وهذا الرائع Arduino Json:
arduinojson.org/
تفسيرات
في كود المصدر سوف تجد:
- كيفية الاتصال بنقطة نهاية
- كيفية عمل طلب POST أو GET
- كيفية إجراء تسلسل لاستجابة JSON للحصول على كائنات ومصفوفات
- كيفية عرض النص والصور على شاشة Nokia 5110 LCD
إذا كنت تريد معرفة المزيد عن واجهة برمجة التطبيقات هذه:
support.gitkraken.com/developers/overview/
يمكن أن يعمل هذا الطلب مع أي واجهة برمجة تطبيقات تستخدم طلبات POST و GET عن بُعد:)
الخطوة 3: الاتصال بموقع HTTPS على الويب
يشرح لك هذا الرمز الزائف كيفية الاتصال بموقع HTTPS على الويب. الخطوات الأولى هي نفسها كما في ملف
عميل WiFiClient
ولكن بخطوة تحقق. تحتاج إلى الانتقال إلى نقطة نهاية API التي تريد التحقق منها ، والتحقق من بصمة SHA1 الخاصة بالشهادة. انسخها والصقها كسلسلة في التعليمات البرمجية الخاصة بك واتصل بـ client.verify (بصمة الإصبع ، hosturl).
عميل WiFiClientSecure ؛
// الاتصال بشبكة WiFi WiFi.mode (WIFI_STA) ؛ WiFi.begin (SSID ، كلمة المرور) ؛ while (WiFi.status ()! = WL_CONNECTED) {delay (500) ؛ Serial.print (".") ؛ } if (! client.connect (host، httpsPort)) {Serial.println ("فشل الاتصال")؛ إرجاع؛ } if (client.verify (fingerprint، host)) {Serial.println ("تطابق الشهادات") ؛ } else {Serial.println ("الشهادة غير متطابقة")؛ }
الخطوة 4: تقديم طلبات POST / GET
بريد
هذا هو بناء الجملة لتقديم طلب POST:
سلسلة PostData = "{" ؛ PostData + = "\" text / ": \" رسالتي / "" ؛ PostData + = "}" ؛ Serial.print (PostData) ؛ client.print (String ("POST") + url + "HTTP / 1.1 / r / n" + "Host:" + host + "\ r / n" + "Authorization:" + bearer + "\ r / n" + "User-Agent: BuildFailureDetectorESP8266 / r / n" + "cache-control: no-cache / r / n" + "Content-Type: application / json / r / n" + "Content-Length:" + PostData. length () + "\ r / n" + "\ r / n" + PostData + "\ n")؛ Serial.println ("تم إرسال الطلب") ؛
PostData هي البيانات التي ترسلها كـ JSON ، في هذه الحالة:
{
"text": "رسالتي"}
متغير url هو عنوان url الخاص بنقطة النهاية والمضيف وعنوان url الخاص بموقع الويب والحامل هو رمز الوصول إلى واجهة برمجة التطبيقات.
احصل على
هذا هو الكود الزائف لطلب GET:
client.print (String ("GET") + url + "HTTP / 1.1 / r / n" + "Host:" + host + "\ r / n" + "Authorization:" + bearer + "\ r / n" + "User-Agent: BuildFailureDetectorESP8266 / r / n" + "الاتصال: البقاء على قيد الحياة / r / n / r / n") ؛ Serial.println ("تم إرسال الطلب") ؛ while (client.connected ()) {String line = client.readStringUntil ('\ n') ؛ إذا (سطر == "\ r") {Serial.println ("تم تلقي الرؤوس") ؛ استراحة؛ }} String line = client.readStringUntil ('\ n')؛
سيتم تخزين نتيجة هذا الأمر في متغير الخط.
الخطوة 5: JSON & NOKIA LCD
لتحقيق مشروع مماثل ، ستحتاج إلى عرض الصور والنصوص والرموز على شاشة Nokia 5110 LCD. يمكنك إلقاء نظرة على هذا البرنامج التعليمي التفصيلي لمهندسي اللحظة الأخيرة.
للتعامل مع JSON في Arduino C ++ ، استخدم موقع ArduinoJson الذي سيخبرك بكل شيء عنه!
لا تتردد في طرح الأسئلة إذا كان لديك أي أسئلة ، أو نشر ما قمت بإنشائه باستخدام كود المصدر / البرنامج التعليمي هذا.
موصى به:
ساعة توقيت رقمية بسيطة كلاودكس M633: 4 خطوات
Simple CloudX M633 Digital Stopwatch: في هذا المشروع ، سنصنع نسخة من ساعة رقمية يمكنها الاحتفاظ بسجل للساعات والدقائق والثواني ، تمامًا مثل ساعة التوقيت على هاتفك المحمول! سنستخدم شاشة LCD لعرض الوقت
ساعة توقيت اردوينو باستخدام شاشة I2C LCD: 5 خطوات
Arduino Stopwatch باستخدام I2C LCD: في هذا المشروع سأعلمك استخدام شاشة LCD و Arduino كساعة توقيت تفاعلية. عندما ينتهي مشروعك من الكود المقدم ، يجب أن يبدو مثل الصورة أعلاه ، انتقل إلى الخطوة التالية لمعرفة من أين تبدأ
ساعة توقيت تلقائية: 9 خطوات
ساعة توقيت تلقائية: سيوضح لك هذا Instructable كيفية إنشاء ساعة توقيت تلقائية. لأن الجري ممتع ، لكن في بعض الأحيان لا يكون معك أي شخص يمكنه أن يوقتك. حاولت أن أبقيه بسيطًا ورخيصًا ودقيقًا قدر الإمكان. لست بحاجة إلى جهاز تحكم عن بعد
ساعة بجانب السرير متصلة للأطفال: 12 خطوة
ساعة متصلة بجانب السرير للأطفال: باتباع هذه الإرشادات ، ستتمكن من إنشاء ساعة يتم تنشيطها بالحركة وستعرض التاريخ والوقت والحدث ذي الصلة في اليوم. سيعرض الوضع الليلي عندما يحين وقت النوم وعندما يستيقظ الأطفال يمكنهم تذكر ما
ساعة اردوينو بسيطة / ساعة توقيت: 6 خطوات (مع صور)
ساعة اردوينو بسيطة / ساعة توقيت: هذه & quot؛ قابلة للتوجيه & quot؛ سيُظهر لك ويعلمك كيفية إنشاء ساعة Arduino Uno بسيطة تعمل أيضًا كساعة توقيت في بضع خطوات بسيطة فقط