اسمها غريب أليس كذلك ؟
بالبحث عن الترجمة الإنجليزية سنجد أنها كلمة تفيد التعجب وهي أقرب ما تكون إلى Horay.
هذه اللوحة هي من إنتاج وتصميم أدافروت Adafruit ومبنية اعتمادا على المعالج المحتوي على وصلة واي فاي WiFi الشهيرة برخص ثمنها.
Huzzah ESP8266
إذا هي ليست لوحة جديدة كليا كما يبدو للوهلة الأولى بل هي مجرد توزيعة جديدة للوحة قديمة شهيرة بين هواة ربط مشاريع الإلكترونيات بعالم الإنترنت. فلم الحديث عنها الآن؟
اللوحة تم طرحها لتسهيل التعامل مع اللوحة القديمة حيث إن اللوحة القديمة كانت تفتقر إلى عدد من المميزات الهامة بالنسبة لهواة الإلكترونيات، مثلا سهولة وصل الدارة بلوحة التجارب أو الوصول السهل للمنافذ الموزعة بطريقة سهلة، عدم وجود منظم جهد ذي 3.3 فولت له تحمل تيار بقدر 500mA. وكما أن لها شهادة مطابقة للمقاييس المتوافقة مع CE , FCC أخيرا، سعرها الرخيص البالغ 10 دولار.
كيف يتم التعامل مع شريحة Huzzah ESP8266 ؟
أولا: لابد من وجود سلك تحويل من منفذ اليو إس بي USB إلى المنفذ التسلسلي Serial Port وذلك للتعامل الصحيح مع الشريحة يمكن استخدام هذا السلك.
قم بوصل السلك كما هو موضح في الشكل أدناه مع التأكد من وصل السلك الأسود بالأرضي أو السالب الخاص باللوحة.
ثانيا: الحصول على أحدث نسخة خاصة ببرنامج الشريحة ESP8266 من هنا قم بتحميل النسخة الأخيرة من منصة أردوينو البرمجية النسخة رقم 1.6.4 أو أي نسخة أحدث. ثم أضف المكتبة البرمجية الخاصة بلوحة arduino.esp8266
بعد الانتهاء من التحميل وإعادة التشغيل قم باختيار اللوحة من قائمة أدوات كما في الصورة التالية: ثم حدد السرعة 80 ميجاهرتز واختر معدل تدفق البيانات 115200 بتثانية كما يظهر في الأسفل:
لنقم الآن بكتابة هذا الكود البسيط للتحكم بالثنائي المشع للضوء الموجود على لوحة هازا ليقوم بالوميض.
كود البرنامج
[void setup() { pinMode(0, OUTPUT); } void loop() { digitalWrite(0, HIGH); delay(500); digitalWrite(0, LOW); delay(500); } ]
قبل تحميل البرنامج لابد من وضع لوحة هازا في وضعية bootload اضغط باستمرار على رز GPIO0
حتى يضيء الليد الأحمر وفي نفس الوقت استمر بالضغط على الزر الأول ومن ثم اضغط على زر RESET
ضغطة واحدة ثم قم بتحريره وبعد ذلك حرر الزر الأول لتلاحظ أن لون الزر الأحمر بدأ يخفت مما يدل على أن اللوحة جاهزة للبرمجة.
بعد ذلك سنشاهد أن الليد بدأ بالوميض ما يعني نجاح عملية البرمجة ننتقل بعدها لكتابة سكيتش أردوينو للتعامل من الواي فاي Wifi.
كود البرنامج
[/* * Simple HTTP get webclient test */ #include <ESP8266WiFi.h> const char* ssid = “yourssid”; const char* password = “yourpassword”; const char* host = “wifitest.adafruit.com”; void setup() { Serial.begin(115200); delay(100); // We start by connecting to a WiFi network Serial.println(); Serial.println(); Serial.print(“Connecting to “); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print(“.”); } Serial.println(“”); Serial.println(“WiFi connected”); Serial.println(“IP address: “); Serial.println(WiFi.localIP()); } int value = 0; void loop() { delay(5000); ++value; Serial.print(“connecting to “); Serial.println(host); // Use WiFiClient class to create TCP connections WiFiClient client; const int httpPort = 80; if (!client.connect(host, httpPort)) { Serial.println(“connection failed”); return; } // We now create a URI for the request String url = “/testwifi/index.html”; Serial.print(“Requesting URL: “); Serial.println(url); // This will send the request to the server client.print(String(“GET “) + url + ” HTTP/1.1rn” + “Host: “ + host + “rn” + “Connection: closernrn”); delay(500); // Read all the lines of the reply from server and print them to Serial while(client.available()) { String line = client.readStringUntil(‘r’); Serial.print(line); } Serial.println(); Serial.println(“closing connection”); } ]
لاتنس أن تقوم بتعديل هذين السطرين بكتابة اسم شبكتك المحلية وكلمة المرور
const char* ssid = “yourssid”;
const char* password = “yourpassword”;
بعدها حمل البرنامج باتباع نفس الطريقة المذكورة أعلاه من خلال ضغط الأزرار المناسبة ومن ثم اتصل باللوحة من خلال منصة الأردوينو لنحصل على الرسالة التالية:
أخيرا، للحصول على المصدر الرئيسي للبرنامج السابق يمكنكم الرجوع لموقع أدافروت التعليمي من هنا
حسنا، تعرفنا على لوحة هازا بمواصفاتها وكيفية التخاطب معها وكتبنا برنامجا سهلا ليوضح آلية التعامل معها. يمكننا الاستفادة الحقيقية من هذه الشريحة في المشاريع العتادية التي بحاجة إلى ربط بالانترنت. فمثلا، لو افترضنا أننا نريد أن نتحسس حالة الباب الرئيسي للمنزل وإرسال إشعار عن طريق الانترنت في حال تم فتح الباب. يمكننا استخدام المشروع التالي لتحقيق هذا الهدف والذي يعتمد ببساطة على استخدام حساس مغناطيسي اسمحه مفتاح ريد ليتم ربطه بأحد منافذ هازا لتقوم بإرسال إشعار حال تغير حالة الحساس عند فتح الباب.
أخيرا، وجدت كتابا مفتوح المصدر ومجاني من قبل شاب اسمه جهاد بسيوني، وفيه شرح واف وممتع لكيفية البداية يعمل مشاريعك الخاصة اعتمادا على شريحة ESP8266
. تفضلوا رابط الكتاب
بقلم: وسيم
اجمل شكر لاجمل موقع دمتم بخير