Სარჩევი:
- მარაგები
- ნაბიჯი 1: გახადე ის მუშაობა
- ნაბიჯი 2: როგორ მუშაობს კოდი
- ნაბიჯი 3: დააყენეთ NODEMCU როგორც სერვერი
- ნაბიჯი 4: ჩატვირთეთ HTML ფაილი
- ნაბიჯი 5: სცადე
ვიდეო: როგორ გამოვიყენოთ ESP8266 როგორც ვებ სერვერი: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
გამარჯობა, მე ამჟამად ვიყენებ Windows 10 -ს, NodeMCU 1.0 -ს და აქ არის პროგრამული უზრუნველყოფის ჩამონათვალი, რომელსაც ვიყენებ და ინსტალაციის გზამკვლევი, რომელსაც მივყვები:
- Arduino IDE
- დამატებითი დაფები esp8266– ისთვის
- სფიფი
ბიბლიოთეკა გამოიყენება:
ვებსაიტი
მე გამოვიყენე NodeMCU, როგორც სერვერი, რომ ემსახურო HTML ფაილს, რომელიც მე გავაკეთე thistutorial– დან. ამ ფაილის მომსახურებისთვის, მე ავტვირთე ფაილი nodemcu ფაილურ სისტემაში Spiffs– ის გამოყენებით. HTML ფაილი აგზავნის მონაცემებს nodemcu ვებსაიტების გამოყენებით, რათა დაიბეჭდოს სერიულ მონიტორზე. სერვერისა და კლიენტის ვებსაიტების საშუალებით სწრაფი ორმხრივი კომუნიკაცია საშუალებას აძლევდა მას დისტანციურად იყენებდნენ. მომდევნო ნაბიჯებზე, მე არ ავხსნი როგორ მუშაობს ჩემი კოდი
მარაგები
NodeMCU
ნაბიჯი 1: გახადე ის მუშაობა
აქ არის ნაბიჯები, თუ როგორ მუშაობს
- ჩამოტვირთეთ თანდართული ფაილი და გახსენით mousebot.ino ფაილი
- გადადით ჩანახატზე> ესკიზის საქაღალდის ჩვენება და შექმენით ახალი საქაღალდე სახელწოდებით მონაცემები
- შეინახეთ html ფაილი ამ სახელმძღვანელოდან საქაღალდეში, სახელწოდებით. მე ჩემი დავარქვი როგორც "ჯოისტიკი"
- დარწმუნდით, რომ თქვენი spiff უკვე ფუნქციონირებს, გადადით ინსტრუმენტებზე და იხილეთ "esp8266 ესკიზის მონაცემთა ატვირთვა"
- ატვირთეთ html ფაილი nodemcu ღილაკზე "esp8266 ესკიზის მონაცემთა ატვირთვა" დაწკაპუნებით
- ფაილის ატვირთვის შემდეგ ატვირთეთ nodemcu mousebot.ino ფაილი arduino IDE– ზე და დააჭირეთ ctrl U
ნაბიჯი 2: როგორ მუშაობს კოდი
პირველ რიგში, ჩვენ შევიტანთ ბიბლიოთეკებს, რომლებსაც ეს კოდი გამოიყენებს
// რათა ESP8266 დაუკავშირდეს WIFI- ს
#ჩართეთ #ჩართეთ #ჩართეთ // საშუალებას აძლევს ESP8266 იმოქმედოს როგორც სერვერი #ჩართეთ // საშუალებას აძლევს კომუნიკაციას სერვერთან და კლიენტთან (თქვენი დაკავშირებული მოწყობილობა) #მოიცავს #მოიცავს // გახსნას გაფართოებული ფაილი nodemcu #include
დააყენეთ esp8266 როგორც ვებ სერვერი, რომელიც გახსნილია პორტში 80. პორტები არის გზები, რომელთა საშუალებითაც მონაცემები გაივლის. როგორც სერვერის პორტი, ის გაუგზავნის HTML ფაილს კლიენტს (მასთან დაკავშირებული გადახრები).
ამატებს ქსელის კავშირს 81 პორტის გამოყენებით კლიენტის შეტყობინებების მოსასმენად
ვებსაკეტებს აქვთ პარამეტრი num, WStype_t, დატვირთვა და ზომა. ნომერი განსაზღვრავს კლიენტის ნომერს, დატვირთვა არის შეტყობინების გაგზავნა, ზომა არის შეტყობინების სიგრძე და WStype_t არის სხვადასხვა ღონისძიებისთვის, როგორიცაა
- WStype_DISCONNECTED - კლიენტის გათიშვისას.
- WStype_CONNECTED: - როდესაც კლიენტი აკავშირებს
- WStype_TEXT - მიღებული მონაცემები კლიენტისგან
ღონისძიების ტიპზეა დამოკიდებული, სხვადასხვა ქმედება კეთდება და აქ არის კომენტარი
ბათილი webSocketEvent (uint8_t num, WStype_t ტიპი, uint8_t * დატვირთვა, ზომა_t სიგრძე) {
გადართვა (ტიპი) {case WStype_DISCONNECTED: Serial.printf ("
ნაბიჯი 3: დააყენეთ NODEMCU როგორც სერვერი
ადგენს ssid და პაროლს, რომელსაც გამოიყენებთ მოგვიანებით მასთან დასაკავშირებლად
const char *ssid = "სცადე";
const char *პაროლი = "12345678";
შექმნისას, ჩვენ ვადგენთ იმ სიჩქარეს, რომლითაც ჩვენი nodemcu და კომპიუტერი დაუკავშირდება, რაც არის 115200.
void setup (void) {
Serial.begin (115200); Serial.print ("\ n");
დაყენებულია ჭეშმარიტად, ასევე იხილეთ wifi დიაგნოსტიკური გამომავალი სერიალის ტერმინალზე
Serial.setDebugOutput (ჭეშმარიტი);
მოახდინეთ ფაილური სისტემის ინიციალიზაცია
SPIFFS. დაწყება ();
დააყენეთ nodemcu, როგორც წვდომის წერტილი ssid და პაროლი defiend ადრე და ამობეჭდავს ip nodemcu რომ თქვენ ადრე დაუკავშირდება. სტანდარტულად არის 192.168.4.1
Serial.print ("წვდომის წერტილის კონფიგურაცია …");
WiFi.mode (WIFI_AP); WiFi.softAP (ssid, პაროლი); IPAddress myIP = WiFi.softAPIP (); Serial.print ("AP IP მისამართი:"); Serial.println (myIP);
ქსელის ინიციალიზაცია მოახდინეთ nodemcu– ზე, რომელიც არის pur server
webSocket.begin ();
იძახებს ფუნქციას webSocketEvent, როდესაც ხდება ქსელის ქსელის მოვლენა.
webSocket.onEvent (webSocketEvent);
გამართვის მიზნით, დაბეჭდეთ "WebSocket სერვერი დაიწყო" ახალ ხაზზე. ეს არის კოდის ხაზის დასადგენად, რომელსაც ნოდემკუ ამუშავებს
Serial.println ("WebSocket სერვერი დაიწყო.");
როდესაც კლიენტი ეწვევა 192.168.4.1, ის დარეკავს ფუნქციას handleFileRead და გაგზავნის მასთან ერთად პარამეტრების სერვერის URI რომელიც ამ შემთხვევაში არის ჩვენი nodemcu ინფორმაცია. ფუნქცია handleFileRead მოემსახურება html ფაილს nodemcu ფაილური სისტემიდან
server.onNotFound ( () {
თუ (! handleFileRead (server.uri ()))
თუ ის ვერ მოიძებნა, გამოჩნდება "FileNotFound"
server.send (404, "text/plain", "FileNotFound");
});
იწყება სერვერი და ბეჭდვა HTTP სერვერი დაიწყო.
server.begin (); Serial.println ("დაიწყო HTTP სერვერი");
ჩვენს ბათილ მარყუჟზე, ჩვენ ვაძლევთ სერვერს შესაძლებლობას, რომ გააგრძელოს კლიენტისა და მისი ვებსაიტების კომუნიკაციის გაგრძელება შემდეგნაირად:
ბათილი მარყუჟი (ბათილი) {
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 (path)) {File file = SPIFFS.open (path, "r"); size_t გაიგზავნა = server.streamFile (ფაილი, "text/html"); file.close (); ჭეშმარიტი დაბრუნება; } დაბრუნება false; }
შეამოწმეთ არსებობს თუ არა ფაილის ბილიკი "/Joystick.html"
თუ (SPIFFS. არსებობს (გზა)) {
თუ ის არსებობს, გახსენით გზა მისი წაკითხვის მიზნით, რომელიც მითითებულია "r" - ით. წადი აქ სხვა მიზნებისთვის.
ფაილის ფაილი = SPIFFS.open (გზა, "r");
აგზავნის ფაილს სერვერზე, როგორც შინაარსის ტიპის "ტექსტი/html"
size_t გაიგზავნა = server.streamFile (ფაილი, "text/html");
დახურეთ ფაილი
file.close ();
ფუნქცია handleFileRead აბრუნებს true
ჭეშმარიტი დაბრუნება;}
თუ ფაილის გზა არ არსებობს, ფუნქცია handleFileRead აბრუნებს false
ჭეშმარიტი დაბრუნება; }
ნაბიჯი 5: სცადე
შეაერთეთ nodeMCU და გადადით "192.168.4.1" - ზე და სცადეთ!:)
გირჩევთ:
ESP8266 და Visuino: DHT11 ტემპერატურა და ტენიანობა ვებ სერვერი: 12 ნაბიჯი
ESP8266 და Visuino: DHT11 ტემპერატურისა და ტენიანობის ვებ სერვერი: ESP8266 მოდულები არის დიდი დაბალბიუჯეტიანი დამოუკიდებელი კონტროლერი ჩაშენებული Wi-Fi და მე უკვე გავაკეთე არაერთი ინსტრუქცია მათ შესახებ. DTH11/DTH21/DTH22 და AM2301 ძალიან პოპულარულია კომბინირებული ტემპერატურა და ტენიანობის არდუინოს სენსორები და მე გავაკეთე რიცხვი
როგორ გამოვიყენოთ Mac ტერმინალი და როგორ გამოვიყენოთ ძირითადი ფუნქციები: 4 ნაბიჯი
როგორ გამოვიყენოთ Mac ტერმინალი და როგორ გამოვიყენოთ ძირითადი ფუნქციები: ჩვენ გაჩვენებთ თუ როგორ გახსნათ MAC ტერმინალი. ჩვენ ასევე გაჩვენებთ ტერმინალის რამდენიმე მახასიათებელს, როგორიცაა ifconfig, დირექტორიების შეცვლა, ფაილების წვდომა და arp. Ifconfig საშუალებას მოგცემთ შეამოწმოთ თქვენი IP მისამართი და თქვენი MAC რეკლამა
როგორ გააკეთოთ ექსპრესი ვებ სერვერი ჟოლოს პიით: 10 ნაბიჯი
როგორ გავხადოთ ექსპრესი ვებ სერვერი ჟოლოს პიით: ეს სახელმძღვანელო გეტყვით, თუ როგორ უნდა მიიღოთ თქვენი Raspberry Pi ვებ სერვერის მასპინძლობა, რომელიც შეიძლება გამოყენებულ იქნას ვებ – გვერდების მასპინძლობისათვის და თუნდაც ოდნავ შეცვლილი მრავალი სხვა ონლაინ სერვისის მასპინძლობისათვის. როგორც თამაშის სერვერები, ან ვიდეო სტრიმინგის სერვერები. ჩვენ მხოლოდ საფარი ვიქნებით
როგორ გამოვიყენოთ Wiimote როგორც კომპიუტერის მაუსი სანთლების სახით როგორც სენსორი !!: 3 ნაბიჯი
როგორ გამოვიყენოთ Wiimote როგორც კომპიუტერის მაუსი სანთლების სახით როგორც სენსორი !!: ეს სახელმძღვანელო გაჩვენებთ თუ როგორ დაუკავშიროთ თქვენი Wii Remote (Wiimote) თქვენს კომპიუტერს და გამოიყენოთ იგი როგორც მაუსი
როგორ დავიწყოთ სახლის ვებ გვერდი/სერვერი: 5 ნაბიჯი
როგორ დავიწყოთ სახლის ვებ გვერდი/სერვერი: მე ეს გავაკეთე შაბათ -კვირას, რადგან მომბეზრდა, ასე რომ ისიამოვნეთ