ประเภท: ระบบอัตโนมัติในบ้าน, วงจรไมโครคอนโทรลเลอร์
จำนวนการดู: 17351
ความเห็นเกี่ยวกับบทความ: 0
การควบคุมระยะไกลไมโครคอนโทรลเลอร์: IR Remote, Arduino, ESP8266, 433 MHz
ปัญหาของการควบคุมระยะไกลหรือระยะไกลของอุปกรณ์ไฟฟ้าได้รับเสมอและจะมีความเกี่ยวข้องไม่ว่าจะมีเครื่องมืออัตโนมัติในระบบหรือไม่ สำหรับองค์กรของการควบคุมระยะไกลมันไม่สำคัญว่า ไมโครคอนโทรลเลอร์ทุกอย่างขึ้นอยู่กับฟังก์ชั่นที่จำเป็นที่กำหนดให้กับอุปกรณ์ที่มีการจัดการ ในบทความนี้คุณจะได้เรียนรู้ข้อมูลทั่วไปเกี่ยวกับวิธีการควบคุมระยะไกลสำหรับไมโครคอนโทรลเลอร์

ประเภท
การสื่อสารระยะไกลมีสองประเภทหลัก:
แบบใช้สาย. เมื่อการควบคุมแอคชูเอเตอร์ตั้งอยู่ในห้องหนึ่ง (หรือไม่ใช่ห้อง) จะดำเนินการจากแผงควบคุมหรือจากการโพสต์ปุ่มที่อยู่ในที่อื่น ในกรณีนี้จะมีการเชื่อมต่อสายไฟฟ้าของวงจรควบคุมและแอคทูเอเตอร์ (รีเลย์คอนแทคเตอร์ซึ่งรวมถึงกลไกเช่นมอเตอร์หรือระบบเช่นแสงสว่าง)
ไร้สาย. ในศูนย์รวมนี้ไม่จำเป็นต้องมีการเชื่อมต่อไฟฟ้าของวงจรควบคุมและวงจรผู้บริหาร ในวงจรไร้สายมีสองอุปกรณ์: ตัวส่งสัญญาณหรือตัวควบคุมระยะไกล (RC) และตัวรับซึ่งเป็นส่วนหนึ่งของวงจรควบคุม ในที่สุดก็มีการควบคุมแบบไร้สายในสองรุ่น:
-
โดยสัญญาณแสง ระบบดังกล่าวมีอยู่ในทุกบ้านดังนั้นคุณจึงควบคุมการทำงานของทีวีเครื่องปรับอากาศและเครื่องใช้ในครัวเรือนอื่น ๆ
-
โดยสัญญาณวิทยุ มีตัวเลือกมากมายแล้ว: บลูทู ธ , ZigBee, Wi-Fi, ตัวรับ - ส่งสัญญาณ 433 MHz และรูปแบบอื่น ๆ ในเรื่องนี้
เป็นที่น่าสังเกตว่าด้วยวิธีการทางเทคนิคที่ทันสมัยคุณสามารถควบคุมไมโครคอนโทรลเลอร์ได้ทั้งจากรีโมทคอนโทรลและผ่านอินเทอร์เน็ตบนเครือข่ายท้องถิ่นหรือสามารถเข้าถึงได้จากทุกที่ในโลก
IR ระยะไกล
เราเริ่มพิจารณาด้วยรุ่นที่ง่ายที่สุดและคลาสสิคที่สุด การควบคุมอุปกรณ์โดยการส่งรหัสจากลำดับการกะพริบของ IR LED ไปยังตัวรับออปติคัลที่ติดตั้งบนอุปกรณ์ เป็นที่น่าสังเกตว่าสเปกตรัมอินฟราเรดไม่สามารถมองเห็นได้ด้วยตามนุษย์ แต่กล้องถ่ายรูปและวิดีโอส่วนใหญ่จะมองเห็น
เนื่องจากกล้องส่วนใหญ่เห็นอินฟราเรดคุณจึงสามารถตรวจสอบได้ บริการการควบคุมระยะไกล. ในการทำเช่นนี้เพียงเล็งรีโมตควบคุมเพื่อให้ตัวส่งสัญญาณมองเข้าไปในกล้องและกดปุ่ม โดยปกติแล้วแสงสีขาวที่มีสีม่วงจะปรากฏบนหน้าจอ
การควบคุมนี้มีข้อเสียเปรียบที่ชัดเจน - คุณต้องชี้รีโมทไปยังผู้รับ และหากแบตเตอรี่ในรีโมทคอนโทรลหมดคุณก็ต้องตั้งเป้าหมายเนื่องจากการใช้งานจะลดลงเรื่อย ๆ
ข้อดีคือความเรียบง่ายการบำรุงรักษาสูงทั้งตัวส่งและตัวรับ คุณสามารถค้นหารายละเอียดได้ด้วยการรื้อรีโมทและโทรทัศน์ที่เสียเพื่อนำไปใช้ในโครงการของคุณเอง
เซ็นเซอร์ทั่วไปมีดังนี้ เนื่องจากมีการรับสัญญาณแสงจึงจำเป็นต้องยกเว้นการกระตุ้นจากแหล่งกำเนิดแสงภายนอกเช่นดวงอาทิตย์โคมไฟส่องสว่างและอื่น ๆ นอกจากนี้ยังเป็นที่น่าสังเกตว่าสัญญาณอินฟราเรดที่ได้รับส่วนใหญ่ที่ความถี่ 38 kHz

นี่คือข้อมูลจำเพาะของหนึ่งในเซ็นเซอร์ IR:
-
ความถี่ของผู้ให้บริการ: 38 kHz;
-
แรงดันไฟฟ้าซัพพลาย: 2.7 - 5.5 V;
-
การบริโภคในปัจจุบัน: 50 μA
และแผนภาพการเชื่อมต่อ:

ใครก็ตามที่มีหลักการทำงานคล้ายกันสามารถใช้รีโมทควบคุมได้รีโมทควบคุมจาก:
-
โทรทัศน์
-
เครื่องเล่นดีวีดี
-
เครื่องบันทึกเทปวิทยุ
-
จากอุปกรณ์ให้แสงสว่างที่ทันสมัยเช่นโคมไฟระย้าอัจฉริยะและแถบ LED และอื่น ๆ

นี่คือตัวอย่างของการใช้เซ็นเซอร์ดังกล่าว ด้วย Arduino:

เพื่อให้ไมโครคอนโทรลเลอร์ในกรณีของเรา Arduin เข้าใจสัญญาณจากเซ็นเซอร์คุณต้องใช้ไลบรารี IRremote.h สำหรับตัวอย่างของวิธีการอ่านสัญญาณจากเซ็นเซอร์นี่คือรหัสสำหรับการจดจำโดยการอ่านพอร์ตอนุกรมของไมโครคอนโทรลเลอร์จาก Arduino IDE:
#include "IRremote.h" // เชื่อมต่อไลบรารีเพื่อทำงานกับสัญญาณ IR
IRrecv irrecv (2); // ระบุเอาท์พุทที่เชื่อมต่อกับตัวรับสัญญาณ
decode_results ผลลัพธ์
การตั้งค่าเป็นโมฆะ () {
Serial.begin (9600); // ตั้งค่าความเร็วพอร์ต COM
irrecv.enableIRIn (); // เริ่มการต้อนรับ
}
void loop () {
if (irrecv.decode (& results)) {// หากข้อมูลมา
Serial.println (results.value, HEX); // พิมพ์ข้อมูล
irrecv.resume (); // ยอมรับคำสั่งต่อไปนี้
}
}
ดังนั้นเมื่อคุณแฟลช arduino และเริ่ม“ ส่องแสง” เข้ากับเครื่องรับด้วยรีโมทคอนโทรลเราจะเห็นภาพต่อไปนี้ในมอนิเตอร์พอร์ตอนุกรม:

นี่คือรหัสที่ส่งปุ่มในรูปแบบเลขฐานสิบหก ดังนั้นคุณสามารถค้นหาว่าปุ่มใดบนรีโมตคอนโทรลที่ส่งโค้ดดังนั้นจึงไม่มีข้อกำหนดเฉพาะสำหรับรีโมตคอนโทรลที่ใช้เนื่องจากคุณสามารถจดจำและเชื่อมโยงใด ๆ ได้ โดยวิธีการนี้เป็นความคิดสำหรับโครงการการควบคุมระยะไกลสากลที่ผ่านการฝึกอบรมเช่นขายก่อนหน้านี้ แต่ตอนนี้ในยุคอินเทอร์เน็ตจำนวนเทคโนโลยีที่ควบคุมด้วยวิธีนี้ลดลงทุกปี
และด้วยรหัสนี้คุณสามารถรับรู้สัญญาณและจัดการโหลด:
#include "IRremote.h"
IRrecv irrecv (2); // ระบุเอาท์พุทที่เชื่อมต่อกับตัวรับสัญญาณ
decode_results ผลลัพธ์
การตั้งค่าเป็นโมฆะ () {
irrecv.enableIRIn (); // เริ่มการต้อนรับ
}
void loop () {
if (irrecv.decode (& results)) {// หากข้อมูลมา
switch (results.value) {
กรณี 0xFFA857:
digitalWrite (13, สูง);
ทำลาย;
กรณี 0xFFE01F:
digitalWrite (13, ต่ำ);
ทำลาย;
} irrecv.resume (); // ยอมรับคำสั่งต่อไปนี้ } }
สิ่งสำคัญในรหัสคือการรับรู้ผ่านฟังก์ชั่นสวิทช์บางครั้งพวกเขาจะเรียกว่า "switchcase" มันเป็นแบบอะนาล็อกของกิ่งไม้หาก แต่มีรูปแบบที่สวยงามกว่าสำหรับการรับรู้ ตัวพิมพ์เล็ก - ตัวเลือกเหล่านี้คือตัวเลือก "หากรหัสดังกล่าวมาถึงจากนั้น ... " รหัสควบคุม 13 พินสำหรับสัญญาณบางอย่าง ฉันขอเตือนคุณว่า LED ในตัวบนบอร์ด ARDUINO เชื่อมต่อกับ pin 13, i.e ผู้เขียนรหัสควบคุม LED
คุณสามารถควบคุมอะไรก็ได้โดยใช้พินดิจิตอลสูงหรือต่ำผ่านทรานซิสเตอร์กำลัง (ซึ่งเรากล่าวถึงในสองบทความก่อนหน้านี้ ที่นี่ และ ที่นี่) ด้วยโหลดกระแสตรงหรือผ่าน triac และไดร์เวอร์สำหรับโหลดปัจจุบันโดยตรงคุณยังสามารถใช้รีเลย์และคอนแทคเตอร์โดยทั่วไปทั้งฟิลด์สำหรับจินตนาการ
การรับและส่งสัญญาณวิทยุ
สำหรับใช้กับไมโครคอนโทรลเลอร์เครื่องส่งสัญญาณที่มีความถี่ใช้งาน 433 MHz หรือ 315 MHz เป็นเรื่องธรรมดาอาจมีความถี่อื่น ๆ ขึ้นอยู่กับบอร์ดเฉพาะ แต่สิ่งเหล่านี้เป็นเรื่องธรรมดาที่สุด ระบบประกอบด้วยสองโหนด - ตัวรับและตัวส่งซึ่งเป็นตรรกะ

ในภาพเครื่องส่งสัญญาณจะแสดงที่ด้านบนขวาและเครื่องรับที่ด้านล่างซ้าย ชื่อของพวกเขาสำหรับการค้นหา: โมดูลวิทยุ 433MHz, MX-05V / XD-RF-5V (ตัวรับและตัวส่งสัญญาณ).
pinout ซึ่งมักจะเป็นกรณีในโมดูลถูกทาสีบนกระดานเช่นตัวส่ง:

บนตัวรับสัญญาณไม่ชัดเจนนักเนื่องจากข้อมูลบนแผงวงจรพิมพ์ถูกเขียนทับสองพินในความเป็นจริงไม่ได้ใช้หนึ่งในนั้น

ตัวอย่างเช่นเราให้ไดอะแกรมและรหัสสำหรับการเปิด LED จากบอร์ด Arduino หนึ่งที่เชื่อมต่อกับบอร์ดอื่นที่คล้ายกันโดยไม่ต้องใช้สายไฟ ตัวรับและตัวส่งสัญญาณเชื่อมต่อกันด้วยวิธีเดียวกันกับทั้งสองบอร์ด:

เครื่อง
โมดูล
หมุด Arduino
ผู้รับ
VCC
GND
DATA
+ 5V
GND
2
เครื่องส่ง
VCC
GND
DATA
+ 5V
GND
2
ถัดไปคุณต้องเชื่อมต่อไลบรารี RCswitch.h กับ Arduino IDE
ในการเริ่มต้นเราเขียนโปรแกรมตัวส่ง:
#include
RCSwitch mySwitch = RCSwitch(); // สร้างวัตถุเพื่อทำงานกับส่วนหน้า
การตั้งค่าเป็นโมฆะ () {
mySwitch.enableTransmit(2); // บอกโปรแกรมที่เชื่อมต่อช่องสัญญาณข้อมูล
}
void loop () {
mySwitch.send (B0100,4);
ล่าช้า (1,000);
mySwitch.send (B1000, 4);
ล่าช้า (1,000);
}
เครื่องส่งสัญญาณสามารถส่งรหัสไบนารี่ แต่ค่าสามารถเขียนในรูปแบบทศนิยม
mySwitch.send (B0100,4);
และ
mySwitch.send (B1000, 4);
นี่คือคำสั่งถ่ายโอน mySwitch เป็นชื่อของเครื่องส่งสัญญาณที่เราระบุไว้ที่จุดเริ่มต้นของรหัสและ send เป็นคำสั่งถ่ายโอน อาร์กิวเมนต์สำหรับฟังก์ชันนี้คือ:
ชื่อเครื่องส่งสัญญาณ (ค่าขนาดแพ็คเก็ตของพัลส์ที่ส่งไปยังอากาศ);
B1000 - สัญลักษณ์ B - หมายถึงเลขฐานสองมันสามารถเขียนได้เป็นเลข 8 นั่นคือ ในรูปแบบทศนิยม อีกทางเลือกหนึ่งคือเขียน“ 1,000” เป็นสตริง (ในเครื่องหมายคำพูด)
ต่อไปเราจะเขียนโค้ดสำหรับผู้รับ (มันจะถูกส่งไปยังบอร์ดที่เชื่อมต่อกับผู้รับ):
#include
RCSwitch mySwitch = RCSwitch ();
การตั้งค่าเป็นโมฆะ () {
pinMode (3, OUTPUT);
mySwitch.enableReceive (0);
}
void loop () {
if (mySwitch.available ()) {
int value = mySwitch.getReceivedValue ();
ถ้า (value == B1000)
digitalWrite (3, สูง);
อื่นถ้า (ค่า == B0100)
digitalWrite (3, ต่ำ);
mySwitch.resetAvailable ();
}
}
ที่นี่เราประกาศว่าค่าที่ยอมรับจะถูกเก็บไว้ในตัวแปร Value ในสตริง mySwitch.getReceivedValue () และความจริงที่ว่าตัวรับสัญญาณเชื่อมต่อกับพินที่ 2 อธิบายไว้ที่นี่โดย mySwiitch.enableReceive (0)
มิฉะนั้นรหัสจะเป็นระดับประถมศึกษาหากได้รับสัญญาณ 0100 จากนั้นหมายเลขพิน 3 จะถูกตั้งไว้ที่ระดับสูง (หน่วยบันทึก) และถ้า 1,000 จากนั้นเป็นระดับต่ำ (บันทึกเป็นศูนย์)
น่าแปลกใจฉัน:
ในบรรทัด mySwitch.enableTransmit (0) เราบอกโปรแกรมว่าตัวรับสัญญาณเชื่อมต่อกับพินที่ 2 และเปิดโหมดรับ สิ่งที่ใส่ใจที่สุดสังเกตว่าการโต้แย้งของวิธีนี้ไม่ใช่หมายเลขพิน“ 2” แต่“ 0” ความจริงก็คือวิธีการเปิดใช้งาน (จำนวน) ไม่ยอมรับหมายเลขพิน แต่เป็นหมายเลขอินเตอร์รัปต์ แต่เป็น atmega328 ซึ่งวางอยู่บน Arduino Uno, nano, promini และอื่น ๆ อีกมากมายบนหมุดที่สอง (พอร์ต PDD pin PD2) หยุดการขัดจังหวะด้วยหมายเลขศูนย์ คุณสามารถดูได้ใน Atmega pinout ที่ใช้กับบอร์ด Arduino หมายเลขพินนั้นเขียนไว้ในกล่องสีชมพู

วิธีการส่งและรับนี้ง่ายและราคาถูกคู่ของเครื่องรับและเครื่องส่งมีค่าใช้จ่ายประมาณ $ 1.5 ในขณะที่เขียน
Wi-Fi, Adruino และ ESP8266
เริ่มต้นด้วย ESP8266 เป็นไมโครคอนโทรลเลอร์ที่รองรับฮาร์ดแวร์สำหรับ Wi-Fi, มันขายเป็นชิปแยก, และบัดกรีไปยังบอร์ด, เช่นอาร์ดิโน. มันมีเคอร์เนล 32 บิตมันถูกตั้งโปรแกรมผ่านพอร์ตอนุกรม (UART)
บอร์ดมักจะมี GPIO ฟรี 2 ขาขึ้นไปและมีพินสำหรับเฟิร์มแวร์อยู่เสมอซึ่งต้องทำผ่าน USB ไปยังอะแดปเตอร์อนุกรม จัดการโดยทีมงานของ AT รายการคำสั่งทั้งหมดสามารถพบได้บนเว็บไซต์ทางการของ ESP8266 และบน GitHub

มีตัวเลือกที่น่าสนใจกว่าบอร์ด NodeMCU พวกเขามีความสามารถในการแฟลชผ่าน USB เพราะ ตัวแปลง USB-UART นั้นมีอยู่แล้วบนบอร์ดซึ่งโดยปกติจะทำบนชิป CP2102 Node MCU เป็นเฟิร์มแวร์บางอย่างเช่นระบบปฏิบัติการโครงการที่ใช้ภาษาสคริปต์ Lua

เฟิร์มแวร์สามารถเรียกใช้สคริปต์ Lua ได้โดยการยอมรับพวกเขาในพอร์ตอนุกรมหรือโดยการสร้างอัลกอริทึมที่เก็บไว้ในหน่วยความจำแฟลช
โดยวิธีการมันมีระบบไฟล์ของตัวเองแม้ว่าจะไม่มีไดเรกทอรีในนั้นคือ เฉพาะไฟล์ที่ไม่มีโฟลเดอร์ ในหน่วยความจำสคริปต์ไม่เพียง แต่สามารถจัดเก็บ แต่ยังรวมถึงข้อมูลต่างๆเช่น บอร์ดสามารถจัดเก็บข้อมูลที่บันทึกไว้ตัวอย่างเช่นจากเซ็นเซอร์
บอร์ดทำงานได้กับอินเตอร์เฟส:
-
1-Wire;
-
I2C;
-
SPI;
-
UART
มันมีโฮสต์ทั้งหมดของฟังก์ชั่น:
-
โมดูลการเข้ารหัส
-
กำหนดการงาน;
-
นาฬิกาเรียลไทม์;
-
โปรโตคอลการซิงโครไนซ์นาฬิกาผ่านทางอินเทอร์เน็ต SNTP;
-
จับเวลา;
-
ช่อง ADC (หนึ่ง);
-
เล่นไฟล์เสียง
-
สร้างที่เอาต์พุตสัญญาณ PWM (สูงสุด 6)
-
ใช้ซ็อกเก็ตมีการรองรับ FatFS เช่นคุณสามารถเชื่อมต่อการ์ด SD และอื่น ๆ ได้

และนี่คือรายการสั้น ๆ ของสิ่งที่บอร์ดสามารถทำงานได้:
-
เครื่องวัดความเร่ง ADXL345;
-
เครื่องวัดสนามแม่เหล็ก HMC5883L
-
ลูกข่าง L3G4200D;
-
เซ็นเซอร์อุณหภูมิและความชื้น AM2320, DHT11, DHT21, DHT22, DHT33, DHT44;
-
เซ็นเซอร์อุณหภูมิความชื้นความดันบรรยากาศ BME280;
-
เซ็นเซอร์ความดันอุณหภูมิและบรรยากาศ BMP085;
-
จอแสดงผลจำนวนมากทำงานกับ I2C, SPI buses ด้วยความสามารถในการทำงานกับแบบอักษรที่แตกต่างกัน
-
จอแสดงผล TFT ILI9163, ILI9341, PCF8833, SEPS225, SSD1331, SSD1351, ST7735;
-
สมาร์ทแอลอีดีและคอนโทรลเลอร์ LED - WS2812, tm1829, WS2801, WS2812
นอกจากการใช้ภาษา Lua แล้วคุณยังสามารถตั้งโปรแกรมบอร์ดจากภายใต้ Arduino IDE
ESP8266 สามารถใช้เป็นอุปกรณ์แบบสแตนด์อโลนหรือเป็นโมดูลสำหรับการสื่อสารไร้สายกับ Arduino

การพิจารณาฟังก์ชั่นและฟีเจอร์ทั้งหมดของบอร์ดนี้จะใช้บทความทั้งหมด
ดังนั้นบอร์ดนี้เป็นตัวเลือกที่ยอดเยี่ยมสำหรับการควบคุมระยะไกลผ่าน Wi-Fi ยกตัวอย่างเช่นการใช้สมาร์ทโฟนเป็นแผงควบคุมสำหรับเครื่องที่ควบคุมด้วยคลื่นวิทยุหรือ quadrocopter การควบคุมแสงระยะไกลขึ้นอยู่กับการจัดเรียงเครือข่ายสำหรับบ้านทั้งหมดและจัดการแต่ละเต้าเสียบโคมไฟ ฯลฯ ถ้ามีพินเพียงพอเท่านั้น
วิธีที่ง่ายที่สุดในการทำงานกับไมโครคอนโทรลเลอร์คือการใช้บอร์ด ESP8266 เดียว ด้านล่างนี้เป็นแผนผังของเต้ารับ Wi-Fi ที่เรียบง่าย

ในการประกอบวงจรนี้คุณต้องมีโมดูลรีเลย์หรือรีเลย์ธรรมดาที่เชื่อมต่อกับขาผ่านทรานซิสเตอร์ ก่อนอื่นคุณต้องมีโปรแกรมสำหรับสมาร์ทโฟน RoboRemoFree, ในนั้นคุณจะกำหนดค่าการเชื่อมต่อกับ ESP และสร้างอินเตอร์เฟสสำหรับควบคุมเต้าเสียบ หากต้องการอธิบายวิธีใช้คุณต้องเขียนบทความแยกต่างหากดังนั้นเราจะไม่สนใจเนื้อหานี้ในตอนนี้
ใน ESP เราทำการโหลดเฟิร์มแวร์ต่อไปนี้ผ่านโปรแกรม ESPlorer (โปรแกรมสำหรับทำงานกับบอร์ด)
- ตั้งค่า AP WiFi
wifi.setmode (wifi.STATIONAP)
cfg = {}
cfg.ssid = "ESPTEST"
cfg.pwd = "1234567890"
wifi.ap.config (cfg)
- ตั้งโหมด Pin
my_pin_nummber = 1
--gpio.mode (my_pin_nummber, gpio.OUTPUT)
gpio.mode (my_pin_nummber, gpio.OPENDRAIN)
- สร้างเซิร์ฟเวอร์
sv = net.createServer (net.TCP)
ฟังก์ชั่นรับสัญญาณ (sck, data)
ถ้า string.sub (data, 0, 1) == "1" แล้ว
--gpio.write (my_pin_nummber, gpio.HIGH)
gpio.write (my_pin_nummber, gpio.LOW)
อื่น ถ้า string.sub (data, 0, 1) == "0" แล้ว --gpio.write (my_pin_nummber, gpio.LOW) gpio.write (my_pin_nummber, gpio.HIGH) ปลาย ปลาย พิมพ์ (ข้อมูล) ปลาย ถ้า sv แล้ว sv: Listen (333, ฟังก์ชั่น (เชื่อมต่อ) conn: เปิด ("รับ", ผู้รับ) conn: send ("Hello!") จบ) ปลาย - สร้างเซิร์ฟเวอร์ HTTP http = net.createServer (net.TCP) ฟังก์ชั่น get_http (sck, data) พิมพ์ (ข้อมูล) คำขอในท้องถิ่น = string.match (data, "([^ \ r, \ n] *) [\ r, \ n]", 1) ถ้าคำขอ == 'รับ / บน HTTP / 1.1' แล้ว --gpio.write (my_pin_nummber, gpio.HIGH) gpio.write (my_pin_nummber, gpio.LOW) ปลาย ถ้าคำขอ == 'รับ / ปิด HTTP / 1.1' แล้ว --gpio.write (my_pin_nummber, gpio.LOW) gpio.write (my_pin_nummber, gpio.HIGH) ปลาย sck: เปิด ("ส่ง", ฟังก์ชั่น (sck) sck: ปิด () ปลายสะสม () สิ้น local response = "HTTP / 1.0 200 ตกลง \ r \ n เซิร์ฟเวอร์: NodeMCU บน ESP8266 \ r \ n เนื้อหาประเภท: ข้อความ / html \ r \ n \ r \ n" .. "
"
NodeMCU บน ESP8266
" .."
" ..
" "
sck: ส่ง (ตอบกลับ)
ปลาย
ถ้า http แล้ว
http: ฟัง (80, ฟังก์ชั่น (เชื่อมต่อ)
conn: เปิด ("รับ", receive_http)
จบ)
ปลาย
พิมพ์ ("เริ่มต้น")
ตอนนี้คุณสามารถควบคุมโปรแกรมได้ทั้งจากโปรแกรม Roboremo หรือผ่านเว็บเบราว์เซอร์ใด ๆ คุณจำเป็นต้องพิมพ์ที่อยู่ IP ของบอร์ดในแถบที่อยู่ในโหมด Wi-Fi 192.168.4.1.
มีตัวอย่างในรหัส:
"
"
NodeMCU บน ESP8266
" ..
"
" ..
" "
นี่คือการตอบสนองที่ออกสู่เบราว์เซอร์เมื่อเข้าสู่บอร์ด มันมีรหัส HTML เช่น หน้าเว็บที่ง่ายที่สุดคล้ายกับที่คุณกำลังอ่านบทความนี้

นี่คือหน้านี้เปิดตัวในเบราว์เซอร์ของสมาร์ทโฟนที่ใช้ระบบปฏิบัติการ Android ข้างต้นไม่ได้เป็นคำสั่งที่สมบูรณ์เพราะมันจะใช้เวลาจำนวนมากถ้าคุณมีความสนใจในข้อมูลนี้ - เขียนความคิดเห็นและเราจะดำเนินการตรวจสอบและเขียนบทความเกี่ยวกับการทำงานกับมัน
ดูได้ที่ e.imadeself.com
: