כיצד להשתמש Arduino כשרת אינטרנט

Week 9 (מאי 2019).

$config[ads_text] not found
Anonim

כיצד להשתמש Arduino כשרת אינטרנט


באמצעות מגן Ethernet, באפשרותך להשתמש ב- Arduino כשרת אינטרנט.

על ידי הצבת Arduino עם מגן Ethernet אתה יכול להפוך אותו לשרת אינטרנט פשוט, ועל ידי גישה לשרת זה עם דפדפן פועל על כל מחשב המחובר לאותה רשת כמו Arduino, אתה יכול:

  • בקרת חומרה מדף האינטרנט (באמצעות לחצני Javascript).
  • קרא את מצב המתג (באמצעות HTML פשוט).
  • קרא ערך של חיישן (באמצעות HTML פשוט).

נדרשת חומרה

כדי להשתמש Arduino כשרת אינטרנט, אתה צריך את הדברים הבאים:

  • Arduino Mega2560 (או Arduino UNO)
  • מגן Ethernet
  • חיבור LAN קווי עם מהירות של 10 / 100Mb
מגן Ethernet מחבר את Arduino לאינטרנט. ההתקנה היא פשוטה מאוד: פשוט תקע את סיכות הכותרת של המגן לתוך Arduino שלך, ולאחר מכן חבר כבל Ethernet למגן. התמונה הבאה מציגה את ההגדרה הזו:

לְנַסוֹת

כדי להדגים כיצד להשתמש Arduino כשרת אינטרנט, אנו קוראים את המצב של מתג.

חומרה נדרשת

  • 1 x כבל Ethernet
  • 1 x נתב Wi-Fi
  • 1 x ארדינו Mega2560
  • 1 x מגן Ethernet
  • 1 x Breadboard
  • 3 x חוטי מגשר
  • 1 x 10k נגד
  • מתאם 2 x 9V
  • 1 x לחיצה על לחצן

תרשים חיווט

חבר את הרכיבים כפי שמוצג לעיל. הסיכה של Arduino 8 מחוברת ללחצנים ומוגדרת כ- INPUT. כאשר הכפתור נדחף, Arduino יקרא ערך LOW בסיכה זו. Arduino ואז להגדיר את המצב של OUTPUT על ON. כאשר הוא משוחרר, הפלט יוגדר למצב כבוי. מצב המתג יישלח לשרת האינטרנט.

Ethernet

כדי לשלוט במגן ה- Ethernet, אתה משתמש בספריה Ethernet.h.

יש להקצות למגן כתובת IP ו- IP באמצעות הפונקציה Ethernet.begin () . עבור התקן מסוים, כתובת MAC היא מזהה ייחודי גלובלי. מגשי אתרנט נוכחי מגיעים עם מדבקה המציינת את כתובת ה- MAC. עבור מגינים מבוגרים, אקראי אחד צריך לעבוד, אבל אחד לא צריך להשתמש באותו אחד עבור לוחות רבים. תוקף כתובות IP תלוי בתצורה של הרשת. אם נעשה שימוש ב- DHCP, הוא עשוי להקצות IP באופן דינמי למגן.

כתובת ה - IP

כתובת IP (כתובת פרוטוקול אינטרנט) היא תווית מספרית המוקצית לכל התקן המשתתף ברשת מחשבים המשתמשת בפרוטוקול האינטרנט לצורך תקשורת. הגדרת כתובת ה- IP מתבצעת על-ידי כתיבת השורה:

 byte ip () = {192, 168, 0, 112}; 

ולשנות אותו כדי להתאים אחד ההתקנה. לדוגמה, כדי להקצות את ה- IP של מגן ה- Ethernet ל- 192.168.0.50, כתוב את השורה:

 byte ip () = {192, 168, 0, 50}; 

כתובת MAC

כתובת MAC (כתובת בקרת גישה למדיה) היא מזהה ייחודי המוקצה לכל התקן המשתתף ברשת פיזית. כל פיסת ציוד רשת יש מספר סידורי ייחודי כדי לזהות את עצמה על פני הרשת וזה נורמלי מתוכנת קשה לתוך הקושחה של הציוד. עם זאת, עם Arduino, אנו יכולים להגדיר את כתובת MAC עצמנו.

 byte mac () = {0x90, 0xA2, 0xDA, 0x0D, 0x85, 0xD9}; 

ניתן להגדיר את המשנה ואת השער בעזרת הפקודות הבאות:

 byte subnet () = 255, 255, 255, 0}; / / הקצאת מסיכת רשת משנה 
 byat gateway () = {192, 168, 0, 1}; / / הקצאת שער 

אז, כדי הגדרת Ethernet מגן, גוש הקוד הוא נתון לשאוג:

 / ******************** Ethernet SETTINGS ******************** / 
byte mac () = {0x90, 0xA2, 0xDA, 0x0D, 0x85, 0xD9}; / / הקצאת כתובת MAC
byte ip () = {192, 168, 0, 112}; // IP ב LAN
byte subnet () = 255, 255, 255, 0}; / / הקצאת מסיכת רשת משנה
byat gateway () = {192, 168, 0, 1}; / / הקצאת שער ברירת המחדל

להלן תמונה של המערכת, מראה כיצד Arduino מתחבר לנתב ה- Wi-Fi. כבל Ethernet מחבר מגן עם הנתב ונתב ואז מתחבר אלחוטית עם המחשב הנייד.

תכנית

להלן תוכנית אשר טוען דף אינטרנט פשוט.

קוד

 client.println(""); //web page is made using HTML client.println(""); client.println(""); client.println("Ethernet Tutorial"); client.println(""); client.println(""); client.println(""); client.println(" A Webserver Tutorial "); client.println(" Observing State Of Switch "); client.print(" Switch is: "); if (digitalRead(8)) { client.println(" ON "); } else { client.println(" OFF "); } client.println(""); client.println("");

client.println(""); //web page is made using HTML client.println(""); client.println(""); client.println("Ethernet Tutorial"); client.println(""); client.println(""); client.println(""); client.println(" A Webserver Tutorial "); client.println(" Observing State Of Switch "); client.print(" Switch is: "); if (digitalRead(8)) { client.println(" ON "); } else { client.println(" OFF "); } client.println(""); client.println("");

client.println(""); //web page is made using HTML client.println(""); client.println(""); client.println("Ethernet Tutorial"); client.println(""); client.println(""); client.println(""); client.println(" A Webserver Tutorial "); client.println(" Observing State Of Switch "); client.print(" Switch is: "); if (digitalRead(8)) { client.println(" ON "); } else { client.println(" OFF "); } client.println(""); client.println("");

client.println(""); //web page is made using HTML client.println(""); client.println(""); client.println("Ethernet Tutorial"); client.println(""); client.println(""); client.println(""); client.println(" A Webserver Tutorial "); client.println(" Observing State Of Switch "); client.print(" Switch is: "); if (digitalRead(8)) { client.println(" ON "); } else { client.println(" OFF "); } client.println(""); client.println("");

client.println(""); //web page is made using HTML client.println(""); client.println(""); client.println("Ethernet Tutorial"); client.println(""); client.println(""); client.println(""); client.println(" A Webserver Tutorial "); client.println(" Observing State Of Switch "); client.print(" Switch is: "); if (digitalRead(8)) { client.println(" ON "); } else { client.println(" OFF "); } client.println(""); client.println("");

client.println(""); //web page is made using HTML client.println(""); client.println(""); client.println("Ethernet Tutorial"); client.println(""); client.println(""); client.println(""); client.println(" A Webserver Tutorial "); client.println(" Observing State Of Switch "); client.print(" Switch is: "); if (digitalRead(8)) { client.println(" ON "); } else { client.println(" OFF "); } client.println(""); client.println("");

client.println(""); //web page is made using HTML client.println(""); client.println(""); client.println("Ethernet Tutorial"); client.println(""); client.println(""); client.println(""); client.println(" A Webserver Tutorial "); client.println(" Observing State Of Switch "); client.print(" Switch is: "); if (digitalRead(8)) { client.println(" ON "); } else { client.println(" OFF "); } client.println(""); client.println("");

client.println(""); //web page is made using HTML client.println(""); client.println(""); client.println("Ethernet Tutorial"); client.println(""); client.println(""); client.println(""); client.println(" A Webserver Tutorial "); client.println(" Observing State Of Switch "); client.print(" Switch is: "); if (digitalRead(8)) { client.println(" ON "); } else { client.println(" OFF "); } client.println(""); client.println("");

client.println(""); //web page is made using HTML client.println(""); client.println(""); client.println("Ethernet Tutorial"); client.println(""); client.println(""); client.println(""); client.println(" A Webserver Tutorial "); client.println(" Observing State Of Switch "); client.print(" Switch is: "); if (digitalRead(8)) { client.println(" ON "); } else { client.println(" OFF "); } client.println(""); client.println("");

client.println(""); //web page is made using HTML client.println(""); client.println(""); client.println("Ethernet Tutorial"); client.println(""); client.println(""); client.println(""); client.println(" A Webserver Tutorial "); client.println(" Observing State Of Switch "); client.print(" Switch is: "); if (digitalRead(8)) { client.println(" ON "); } else { client.println(" OFF "); } client.println(""); client.println("");

הורד קוד

תוכנית זו תציג דף אינטרנט בדפדפן אינטרנט כאשר כתובת ה- IP שהוקצה Arduino הוא לגשת. השורה:

 client.println(""); 

מנחה את הדפדפן לרענן את הדף. כאשר הדף הוא לגשת שוב, Arduino יהיה שוב לקרוא את המצב של המתג ולהציג אותו.

זכור, תמיד תוכל להציג את מקור דף האינטרנט המוצג. בלחיצה על הלחצן, ניתן לראות את המצב המשתנה של המתג כפי שמוצג בהדגמת וידאו.

ניתן גם להגדיר את זה כדי להפעיל ללא הנתב. לשם כך עליך:

  1. הקצאת כתובת IP ידנית ל- Ethernet של Arduino אומר 192.168.0.2 ו- Subnet mask 255.255.255.0 ברירת המחדל Gateway ריק.
  2. השתמש כבל Ethernet חוצה כדי לקשר את שני (מחשב נייד ו Arduino).
  3. אז אנחנו צריכים להיות מסוגלים לקבל את האתר Arduino על / 1792.168.0.2 מהמחשב הנייד.

להלן קוד כי היית לטעון לתוך Arduino כדי לחבר אותו ישירות למחשב ללא הנתב:

קוד

 #include#include/******************** ETHERNET SETTINGS ********************/ byte mac() = { 0x90, 0xA2, 0xDA, 0x0D, 0x85, 0xD9 }; //physical mac address byte ip() = { 192, 168, 0, 112 }; // ip in lan byte subnet() = { 255, 255, 255, 0 }; //subnet mask byte gateway() = { 192, 168, 0, 1 }; // default gateway EthernetServer server(80); //server port void setup() { Ethernet.begin(mac, ip, gateway, subnet); // initialize Ethernet device server.begin(); // start to listen for clients pinMode(8, INPUT); // input pin for switch } void loop() { EthernetClient client = server.available(); // look for the client // send a standard http response header client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println("Connnection: close"); client.println(); /* This portion is the webpage which will be sent to client web browser one can use html, javascript and another web markup language to make particular layout */ client.println(""); //web page is made using html client.println(""); client.println(""); client.println("Ethernet Tutorial"); client.println(""); /* The above line is used to refresh the page in every 1 second This will be sent to the browser as the following HTML code:content = 1 sec ie assign time for refresh */ client.println(""); client.println(""); client.println("

מדריך שרת אינטרנט

"); client.println ("

מצב מתגלה

"); client.print ("

המתג הוא: "), אם (digitalRead (8)) {client.println ("

עַל

");} אחר {client.println ("

כבוי

");); / timelinterln (" "); client.println (" "); עיכוב (1); / / נותן זמן כדי לקבל את הנתונים / * השורה הבאה חשובה כי זה יעצור את הלקוח ולחפש את חיבור חדש באיטרציה הבאה כלומר EthernetClient לקוח = server.available (); * / client.stop ();}

הורד קוד

סרטונים

תן פרויקט זה לנסות את עצמך! קבל את BOM.