תוכן עניינים:

אופן השימוש ב- ESP8266 כשרת אינטרנט: 5 שלבים
אופן השימוש ב- ESP8266 כשרת אינטרנט: 5 שלבים

וִידֵאוֹ: אופן השימוש ב- ESP8266 כשרת אינטרנט: 5 שלבים

וִידֵאוֹ: אופן השימוש ב- ESP8266 כשרת אינטרנט: 5 שלבים
וִידֵאוֹ: שימוש בחיישן טמפרטורה ללא מגע MLX90614 עם NodeMCU D1 Mini דרך WiFi 2024, דֵצֶמבֶּר
Anonim
כיצד להשתמש ב- ESP8266 כשרת אינטרנט
כיצד להשתמש ב- ESP8266 כשרת אינטרנט

היי, אני משתמש כרגע ב- Windows 10, NodeMCU 1.0 והנה רשימת התוכנות בהן השתמשתי ומדריכי ההתקנה שעקבתי אחריהן:

  • Arduino IDE
  • לוחות נוספים עבור esp8266
  • ספיף

הספרייה בשימוש:

Websocket

השתמשתי ב- NodeMCU כשרת כדי להגיש קובץ HTML שהכנתי מהתיעוד. כדי לשרת קובץ זה, העליתי את הקובץ למערכת הקבצים nodemcu באמצעות Spiffs. קובץ ה- HTML שולח נתונים ל- nodemcu באמצעות שקעי אינטרנט להדפסה על הצג הטורי לשם כך. התקשורת הדו -כיוונית המהירה באמצעות שקעי השרת והלקוח אפשרה זאת לשליטה מרחוק. בשלבים הבאים, לא תסביר איך הקוד שלי עובד

אספקה

NodeMCU

שלב 1: לגרום לזה לעבוד

תגרום לזה לעבוד
תגרום לזה לעבוד
תגרום לזה לעבוד
תגרום לזה לעבוד
תגרום לזה לעבוד
תגרום לזה לעבוד

להלן השלבים כיצד הוא פועל

  1. הורד את הקובץ המצורף ופתח את הקובץ mousebot.ino
  2. עבור אל סקיצה> הצג תיקיית סקיצה וצור תיקייה חדשה בשם נתונים
  3. שמור את קובץ html מהדרכה זו בתיקייה בשם. קראתי לשלי בשם "ג'ויסטיק"
  4. וודא שהספיף שלך כבר מתפקד על ידי מעבר לכלים וראיית "העלאת נתוני הסקיצה של esp8266"
  5. העלה את קובץ html ל- nodemcu על ידי לחיצה על "esp8266 העלאת נתוני סקיצה"
  6. לאחר העלאת הקובץ, העלה ל- nodemcu את קובץ mousebot.ino על ידי הפעלה ל- arduino IDE ולחיצה על ctrl U

שלב 2: כיצד פועל הקוד

ראשית, אנו כוללים את הספריות שבהן קוד זה ישתמש

// כדי לאפשר ל- ESP8266 להתחבר ל- WIFI

#include #include #include // מאפשרת ל- ESP8266 לפעול כשרת #include // מאפשרת תקשורת עם השרת והלקוח (המכשיר המחובר שלך) #include #include // לפתיחת הקובץ שהועלה ב- nodemcu #include

הגדר את esp8266 כשרת אינטרנט שנפתח ביציאה 80. יציאות הן מסלולים שהנתונים יעברו דרכם. כיציאת שרת, הוא ישלח את קובץ ה- HTML ללקוח (המכשירים המחוברים אליו).

מוסיף חיבור לשקע אינטרנט באמצעות יציאה 81 להאזנה להודעות מהלקוח

לשקעי הרשת יש את הפרמטר num, WStype_t, מטען וגודל. המספר קובע את מספר הלקוח, המטען הוא ההודעה שהוא שולח, הגודל הוא אורך ההודעה ו- WStype_t מיועד לאירועים שונים כגון:

  • WStype_DISCONNECTED - על ניתוק של לקוח.
  • WStype_CONNECTED: - כאשר לקוח מתחבר
  • WStype_TEXT - התקבל נתונים מהלקוח

בהתאם לסוג האירוע מבצעים פעולות שונות ומגיבים כאן

void webSocketEvent (uint8_t num, סוג WStype_t, uint8_t * מטען, גודל_אורך) {

switch (סוג) {case WStype_DISCONNECTED: Serial.printf ("[%u] נותק! / n", מספר); // מדפיס נתונים לשבירת הצג הטורי; מקרה WStype_CONNECTED: {IPAddress ip = webSocket.remoteIP (num); // מקבל את כתובת ה- IP של הלקוח Serial.printf ("[%u] מחובר מ-%d.%d.%d.%d url:%s / n", num, ip [0], ip [1], ip [2], ip [3], מטען); webSocket.sendTXT (num, "מחובר"); // שולח "conencted" למסוף הדפדפן} break; מקרה WStype_TEXT: Serial.printf ("[%u] נתונים: %s / n", מספר, מטען); // מדפיס את מספר הלקוח ב- %u והנתונים שהתקבלו כמחרוזות בהפסקה של %s / n;}}

שלב 3: הגדר את NODEMCU כשרת

מגדיר את ה- ssid והסיסמה שבה תשתמש כדי להתחבר אליו מאוחר יותר

const char *ssid = "נסה";

const char *password = "12345678";

בהגדרה, אנו מציינים את הקצב שבו הנודמקו והמחשב שלנו יתקשרו, שהם 115200.

הגדרת void (void) {

Serial.begin (115200); Serial.print ("\ n");

מוגדר לאמיתי ראה את פלט האבחון של wifi במסוף הסרילה

Serial.setDebugOutput (true);

לחיות את מערכת הקבצים

SPIFFS.begin ();

הגדר את ה- nodemcu כנקודת גישה עם הגנת ssid וסיסמה קודם לכן ומדפיס את ה- ip של ה- nodemcu שאליו תתחבר קודם לכן. כברירת מחדל הוא 192.168.4.1

Serial.print ("הגדרת נקודת גישה …");

WiFi.mode (WIFI_AP); WiFi.softAP (ssid, סיסמא); IPAddress myIP = WiFi.softAPIP (); Serial.print ("כתובת IP של AP:"); Serial.println (myIP);

אתחל את שקע האינטרנט ב- nodemcu, שהוא שרת pur

webSocket.begin ();

קורא לפונקציה webSocketEvent כאשר מתרחש אירוע websocket.

webSocket.onEvent (webSocketEvent);

לצורך איתור באגים, הדפס "שרת WebSocket הופעל" בשורה חדשה. זה כדי לקבוע את שורת הקוד שה- nodemcu מעבד

Serial.println ("שרת WebSocket הופעל.");

כאשר לקוח מבקר ב- 192.168.4.1, הוא יקרא לפונקציה handleFileRead וישלח איתו את ה- URI של שרת הפרמטרים שבמקרה זה הוא המידע של nodemcu שלנו. הפונקציה handleFileRead תשרת את קובץ ה- html ממערכת הקבצים nodemcu

server.onNotFound ( () {

if (! handleFileRead (server.uri ()))

אם לא ניתן למצוא אותו יציג "FileNotFound"

server.send (404, "text/plain", "FileNotFound");

});

מתחיל את השרת ומדפיס שרת HTTP שהופעל.

server.begin (); Serial.println ("שרת HTTP הופעל");

בלולאת הריק שלנו, אנו מאפשרים לשרת להתמודד ללא הרף עם הלקוח ותקשורת האינטרנט שלו כדלקמן:

לולאת חלל (void) {

server.handleClient (); webSocket.loop ();}

שלב 4: טען קובץ HTML

נשתמש בפונקציה בשם handleFileRead לפתיחה ובקובץ html ממערכת הקבצים nodemcu. הוא יחזיר ערך בוליאני כדי לקבוע אם הוא נטען או לא.

כאשר "192.168.4.1/" נפתח על ידי הלקוח הגדרנו את נתיב הקובץ ל- "/Joystick.html, שם הקובץ שלנו בתיקיית הנתונים.

bool handleFileRead (נתיב מחרוזת) {

Serial.println ("handleFileRead:" + נתיב); if (path.endsWith ("/")) path += "Joystick.html"; if (SPIFFS.exists (נתיב)) {קובץ קובץ = SPIFFS.open (נתיב, "r"); size_t נשלח = server.streamFile (קובץ, "text/html"); file.close (); להחזיר נכון; } החזר שקר; }

בדוק אם קיים נתיב הקובץ "/Joystick.html"

אם (SPIFFS.exists (נתיב)) {

אם הוא קיים, פתח את הנתיב במטרה לקרוא אותו אשר מצוין על ידי ה- "r". לך לכאן למטרות נוספות.

קובץ קובץ = SPIFFS.open (נתיב, "r");

שולח את הקובץ לשרת כמו סוג תוכן של "טקסט/HTML"

size_t נשלח = server.streamFile (קובץ, "text/html");

לסגור את הקובץ

file.close ();

הפונקציה handleFileRead מחזירה true

להחזיר נכון;}

אם נתיב הקובץ אינו קיים, הפונקציה handleFileRead מחזירה שקר

להחזיר נכון; }

שלב 5: נסה זאת

Image
Image

התחבר אל nodeMCU ועבור אל "192.168.4.1" ונסה את זה!:)

מוּמלָץ: