جدول المحتويات:

ساعة توقيت متصلة: 5 خطوات
ساعة توقيت متصلة: 5 خطوات

فيديو: ساعة توقيت متصلة: 5 خطوات

فيديو: ساعة توقيت متصلة: 5 خطوات
فيديو: ضبط وقت ساعة hryfine | ضبط التاريخ والوقت الساعة الذكية 2024, ديسمبر
Anonim
ساعة توقيت متصلة
ساعة توقيت متصلة
ساعة توقيت متصلة
ساعة توقيت متصلة
ساعة توقيت متصلة
ساعة توقيت متصلة

مرحبًا! في هذا البرنامج التعليمي ، سوف تتعرف على كيفية توصيل أي جهاز متوافق مع 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 الذي سيخبرك بكل شيء عنه!

لا تتردد في طرح الأسئلة إذا كان لديك أي أسئلة ، أو نشر ما قمت بإنشائه باستخدام كود المصدر / البرنامج التعليمي هذا.

موصى به: