Posted in أردوينو, انترنت الأشياء

Huzzah شريحة

huzzah

سنتعرف اليوم إلى أحد المنتجات المهمة لنتعلم كيفية تصميم مشاريع خاصة بـ:عالم انترنت الأشياء

إنها شريحة هازا..اسم غريب أليس كذلك؟

بالبحث عن الترجمة الإنجليزية سنجد أنها كلمة تفيد التعجب وهي أقرب ما تكون إلى Horay

 هذه اللوحة هي من إنتاج وتصميم أدافروت ومبنية اعتمادا على المعالج المحتوي على وصلة واي فاي الشهيرة برخص ثمنها

ESP8266

إذا هي ليست لوحة جديدة كليا كما يبدو للوهلة الأولى بل هي مجرد توزيعة جديدة للوحة قديمة شهيرة بين هواة ربط مشاريع الإلكترونيات بعالم الإنترنت. فلم الحديث عنها الآن؟

 اللوحة تم طرحها لتسهيل التعامل مع اللوحة القديمة حيث إن اللوحة القديمة كانت تفتقر إلى عدد من المميزات الهامة بالنسبة لهواة الإلكترونيات، مثلا سهولة وصل الدارة  بلوحة التجارب أو الوصول السهل للمنافذ الموزعة بطريقة سهلة، عدم وجود منظم جهد ذي 3.3 فولت له تحمل تيار بقدر 500 ميللي أمبير. وكما أن لها شهادة مطابقة للمقاييس المتوافقة مع CE , FCC

أخيرا، سعرها الرخيص البالغ 10 دولار

كيف نبدأ التعامل معها؟

أولا: لابد من وجود سلك تحويل من منفذ اليو إس بي إلى المنفذ التسلسلي وذلك للتعامل الصحيح مع الشريحة يمكن استخدام هذا السلك

%d8%a7%d9%81-%d8%aa%d9%8a-%d8%af%d9%8a-%d8%a2%d9%8a

 قم بوصل السلك كما هو موضح في الشكل أدناه مع التأكد من وصل السلك الأسود بالأرضي أو السالب الخاص باللوحة.

%d9%88%d8%b5%d9%84-%d8%a7%d9%84%d8%b3%d9%84%d9%83

ثانيا: الحصول على أحدث نسخة خاصة ببرنامج الشريحة ESP8266  من هنا

قم بتحميل النسخة الأخيرة من منصة أردوينو البرمجية النسخة رقم 1.6.4 أو أي نسخة أحدث. ثم أضف المكتبة البرمجية الخاصة بلوحة ESP8266

http://arduino.esp8266.com/stable/package_esp8266com_index.json

arduino-ide-sketch

بعد الانتهاء من التحميل وإعادة التشغيل قم باختيار اللوحة من قائمة أدوات كما في الصورة التالية:

%d8%a3%d8%af%d9%88%d8%a7%d8%aa

ثم حدد السرعة 80 ميجاهرتز واختر معدل تدفق البيانات 115200 بت\ثانية  كما يظهر في الأسفل:

%d8%b3%d8%b1%d8%b9%d8%a9

%d8%a8%d9%8a%d8%a7%d9%86%d8%a7%d8%aa

 لنقم الآن بكتابة هذا الكود البسيط للتحكم بالثنائي المشع للضوء الموجود على لوحة هازا ليقوم بالوميض

void setup() {

pinMode(0, OUTPUT);

} 

void loop() {

digitalWrite(0, HIGH);

delay(500);

digitalWrite(0, LOW);

delay(500);

}

قبل تحميل البرنامج لابد من وضع لوحة هازا في وضعية bootload

اضغط باستمرار على رز

GPIO0

حتى يضيء الليد الأحمر وفي نفس الوقت استمر بالضغط على الزر الأول ومن ثم اضغط على زر

RESET

ضغطة واحدة ثم قم بتحريره وبعد ذلك حرر الزر الأول لتلاحظ أن لون الزر الأحمر بدأ يخفت ممايدل على أن اللوحة جاهزة للبرمجة

%d8%a7%d9%84%d8%a8%d8%b1%d9%85%d8%ac%d8%a9

بعد ذلك سنشاهد أن الليد بدأ بالوميض ما يعني نجاح عملية البرمجة

ننتقل بعدها لكتابة سكيتش أردوينو للتعامل من الواي فاي

/*

* 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.1\r\n” +

“Host: “ + host + “\r\n” +

“Connection: close\r\n\r\n”);

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";

 بعدها حمل البرنامج باتباع نفس الطريقة المذكورة أعلاه من خلال ضغط الأزرار المناسبة ومن ثم  اتصل باللوحة من خلال منصة الأردوينو لنحصل على الرسالة التالية

%d8%a7%d9%84%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d8%ac

أخيرا، للحصول على المصدر الرئيسي للبرنامج السابق يمكنكم الرجوع لموقع أدافروت التعليمي من هنا

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

أخيرا، وجدت كتابا مفتوح المصدر ومجاني من قبل شاب اسمه جهاد بسيوني، وفيه شرح واف وممتع لكيفية البداية يعمل مشاريعك الخاصة اعتمادا على شريحة ESP8266

. تفضلوا رابط الكتاب

يمكنكم الاطلاع على التدوينة السابقة لتتعروا أكثر على عالم انترنت الأشياء

Leave a Reply

Your email address will not be published. Required fields are marked *