كيفية توصيل الاردوينو بالإنترنت باستخدام وحدة W5100 Ethernet 2

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

كيفية توصيل Arduino UNO / Nano بالإنترنت باستخدام وحدة W5100 Ethernet

معظم أجهزة إنترنت الأشياء المتصلة اليوم متصلة بالإنترنت باستخدام اتصال Wi-Fi. على الرغم من أن اتصال Wi-Fi يتيح الوصول عن بُعد إلى الإنترنت ، إلا أن له قيودًا خاصة به. على سبيل المثال ، في معظم التطبيقات الصناعية لجهاز ثابت ، يتم اختيار Ethernet عادةً لمجرد أنه أكثر موثوقية وأمانًا.

Connecting-Arduino-with-W5100-Ethernet-Module

أيضًا ، نظرًا لأن Ethernet اتصال سلكي ، فإنه يوفر سرعة أفضل وزمن انتقال أقل. لقد عملنا بالفعل على العديد من مشاريع إنترنت الأشياء ، والتي تم بناء معظمها حول ESP8266 أو ESP32 أو Raspberry Pi و تحتوي هذه الأجهزة على مودم Wi-Fi مدمج يسمح لك بالاتصال بالإنترنت. ولكن إذا كنت تعمل مع لوحة Arduino UNO أو Nano متواضعة وتريد توصيل الاردوينو بالإنترنت ، فأنت تملك خياران شائعان :

  1. أحد الخيارات هو استخدام ESP8266 مع Arduino 
  2. الخيار الثاني هو توصيل وحدة Ethernet بـ Arduino.

في هذا المشروع ، سنستخدم الخيار الأخير للتحكم في مؤشر LED عبر الإنترنت من خلال ربط الاردوينو بوحدة W5100 Ethernet وهي موضحة بالصورة أدناه .

 تُستخدم وحدة Ethernet لإنشاء اتصال بين الكمبيوتر و الاردوينو في شبكة LAN أو شبكة سلكية.

W5100-Ethernet-Module

نحن نستخدم وحدة W5100 Ethernet إنها وحدة أحادية الشريحة وكاملة الميزات وممكّنة لإنشاء اتصال بالإنترنت . بعبارات بسيطة ، تمكن هذه الوحدة لوحة الاردوينو من الاتصال بالإنترنت. باستخدام هذه الوحدة ، يمكننا إكمال ربط الإنترنت دون دعم نظام التشغيل كما أنه يدعم بروتوكولات الاتصال بالانترنت .

مخطط الدائرة لتوصيل وحدة إيثرنت Arduino W5100

تتكون الدائرة من اردوينو نانو  ووحدة Ethernet W5100 (سيكون هذا المشروع ممكنًا مع Ethernet Arduino Shield و Arduino UNO أيضًا). يتم إجراء الاتصال بين وحدات الاردوينو و Ethernet كما هو موضح في مخطط الدائرة أدناه .

Arduino-with-Ethernet-Module-Circuit

توصيل الاردوينو بجهاز الكمبيوتر أو منفذ Ethernet لجهاز التوجيه أو الراوتر

لتوصيل جهازي الكمبيوتر (PC و Arduino) معًا ، نحتاج إلى كبل مناسب (CAT-6 crossover cable) إذا كان جهاز الكمبيوتر الخاص بك يدعم الاستشعار التلقائي المباشر ، فما عليك سوى توصيل كابل عادي يأتي مع جهاز التوجيه.

Ethernet-Cable

في هذا الكبل الخاص يتم تبديل TX + / TX- و RX + / RX-.

على أي حال ، إذا لم يكن لديك منفذ Ethernet في جهاز الكمبيوتر الخاص بك أو كنت لا ترغب في شراء كابل خاص ، يمكنك اتباع طريقتنا لتوصيل وحدة Ethernet بمنفذ شبكة LAN لجهاز التوجيه.

Connect-the-Ethernet-Module-to-Router-LAN-Network-Port
تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.

كود الاردوينو للحصول على البيانات من W5100 Ethernet Module

#include <SPI.h> //protocol to communicate to the ethernet module
#include <Ethernet.h> //library to run webclient / web server over ethernet
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address set to the ethernet module
/*the number 0 in the IP address depends on the host of the network you are connected to, check that by doing ipconfig on command prompt*/
byte ip[] = { 192, 168, 0, 12 }; // IP address in LAN – need to change according to your Network address
byte gateway[] = { 192, 168, 0, 12 }; // internet access via router
byte subnet[] = { 255, 255, 255, 0 }; //subnet mask
EthernetServer server(80); //port where the server can be accessed
String readString; // to read the response form the user / client
int ledPin = 2; // Led is connected to pin 2
void setup(){
pinMode(ledPin, OUTPUT); //pin selected to control
//start Ethernet
Ethernet.begin(mac, ip, gateway, subnet); //initialize ethernet
server.begin(); //start the server
}
void loop(){
// Create a client connection
EthernetClient client = server.available();
//check if someone is tried access the assigned IP address over a browser
if (client) {
//if connected, continue checking if client is sending some message back to the server
while (client.connected()) {
if (client.available()) {
char c = client.read();
//read char by char HTTP request
if (readString.length() < 100) {
//store characters to string
readString += c;
}
//if HTTP request has ended– 0x0D is Carriage Return n ASCII
if (c == 0x0D) {
//display the webpage
client.println(“HTTP/1.1 200 OK”); //send new page
client.println(“Content-Type: text/html”);
client.println();
client.println(“<HTML>”);
client.println(“<HEAD>”);
client.println(“<TITLE> ARDUINO ETHERNET</TITLE>”);
client.println(“</HEAD>”);
client.println(“<BODY>”);
client.println(“<hr>”);
client.println(“<H1 style=”color:green;text-align:center”>ARDUINO ETHERNET LED CONTROL</H1>”);
client.println(“<hr>”);
client.println(“<br>”);
//creating a link to redirect the user to turn on the light
client.println(“<H2 style=”text-align:center”><a href=”/?LEDON””>Turn On LED</a><br></H2>”);
//creating a link to redirect the user to turn off the light
client.println(“<H2 style=”text-align:center”><a href=”/?LEDOFF””>Turn Off LED</a><br></H2>”);
client.println(“<br>”);
client.println(“</BODY>”);
client.println(“</HTML>”);
delay(10);
//stopping client
client.stop();
// control arduino pin with URL
if(readString.indexOf(“?LEDON”) > -1) //checks for LEDON
{
digitalWrite(ledPin, HIGH); // set pin high
}
else{
if(readString.indexOf(“?LEDOFF”) > -1) //checks for LEDOFF
{
digitalWrite(ledPin, LOW); // set pin low
}
}
//clearing string for next read
readString=””;

                }

            }
}
}
}

ومض LED عبر الإنترنت باستخدام وحدة Ethernet على الاردوينو

  • بعد إجراء الاتصالات أعلاه ، قم بالاتصال بالموجه أو الراوتر  باستخدام جهاز الكمبيوتر أو الهاتف المحمول.
  • ثم افتح أي متصفح ويب وانتقل إلى عنوان URL هذا ” http://192.168.0.1 ” (في حالتك ، أدخل عنوان IP الخاص بشبكة Ethernet تبعك). 
  • الآن ، يمكنك التحكم في LED عبر صفحة الويب. 
  • عندما ينقر المستخدم على “Turn On LED” على صفحة الويب ، يتم تشغيل  LED في الدائرة.
  •  عند النقر فوق “Turn OFF LED” ، يتم إيقاف تشغيل LED في الدائرة. 
  • يتم تنفيذ هذا الأمر باستخدام الاتصال السلكي لوحدة Ethernet.
  •  تظهر صفحة خادم الويب كما هو موضح في الشكل أدناه. 
Arduino-with-W5100-Ethernet-Module (1)

آمل أن تكون قد استمتعت بالمشروع وتعلمت كيفية استخدام وحدة W5100 Ethernet مع الاردوينو لإرسال واستقبال البيانات عبر الإنترنت.  إذا كانت لديك أي أسئلة ، فاتركها في قسم التعليقات أدناه . 

أنتهت ^_^

2 Comments

  1. كيف اطلب مطلبيه

    1. يمكنك الطلب من خلال متجرنا الالكتروني بشكل مباشر

      ielectrony Support Team

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *