Node MCU Basic

Blink LED on Board.


วัตถุประสงค์

เพื่อทำความเข้าใจว่า Node MCU คืออะไร และสามารถนำ Node MCU ไปประยุกต์ใช้ในงานต่างๆได้


อุปกรณ์ที่ต้องใช้ 

1. NoteBook หรือ Pc 1 เครื่อง

2. สายจ่ายไฟเลี้ยง

3. Node MCU ESP8266

 

ขั้นตอนการทำ

     ติดตั้ง Library ของ ESP8266 ให้กับ Arduino IDE ได้ดังนี้
        1. ไปที่ Menu File >> Preferences        2. ใส่ URL >>ลงใน Addition Board Manager URLs:             http://arduino.esp8266.com/stable/package_esp8266com_index.json 
 



     3. จากนั้นไปที่ Menu Tools >> Boar:”xxxxxx” >> Board Manager…
 



     4. เลือก Type เป็น Contributed ไปที่ ESP8266 และกด Install
 





     5. เมื่อทำการติดตั้งเสร็จเราจะต้องปิดและเปิด Arduino Ide ใหม่ แล้วเข้าไปที่ Menu Tools >> Board …  จะมี board ESP 8266 ให้เลือกใช้ การติดตั้งเป็นอันเสร็จ






ทดสอบการใช้งาน

Source Code ที่ใช้ในการทดสอบ (Blink LED on Board)

 

int LED_X = 2; // GPIO2 int LED_Y = 16; // GPIO16 or BUILTIN_LED void setup() { pinMode(LED_X, OUTPUT); pinMode(LED_Y, OUTPUT); } void loop() { digitalWrite(LED_X, LOW); digitalWrite(LED_Y, HIGH); delay(200); digitalWrite(LED_X, HIGH); digitalWrite(LED_Y, LOW); delay(200); }

 


วิดีโอแสดงผลการทำงาน

 

 

 
 

 


Web Server Input.

วัตถุประสงค์

     เพื่อต้องการจะแสดงผลการทำงานของโปรแกรม ผ่านทาง web server โดยใช้ Node MCU

อุปกรณ์ที่ใช้

          1. สาย USB

          2. NodeMCU ESP8266

          3. PC หรือ Notebook ที่ลงโปรแกรม Arduino IDE  เรียบร้อยแล้ว

 

ขั้นตอนการทำ

#include <ESP8266WiFi.h><br />
#define LED D1 //กำหนดขาที่ต่อ LED เป็นขา D1<br />
const char* ssid = “stk”; //กำหนด SSID (อย่าลืมแก้เป็นของตัวเอง)<br />
const char* password = “stk123456”; //กำหนด Password(อย่าลืมแก้เป็นของตัวเอง)<br />
unsigned char status_led=0; //กำหนดตัวแปร ที่เก็บค่าสถานะของ LED<br />
WiFiServer server(80); //กำหนดใช้งาน TCP Server ที่ Port 80<br />
void setup() {<br />
Serial.begin(115200); //เปิดใช้ Serial<br />
pinMode(LED, OUTPUT); //กำหนด Pin ที่ต่อกับ LED เป็น Output<br />
Serial.println();<br />
Serial.println();<br />
Serial.print(“Connecting to “);<br />
Serial.println(ssid);<br />
WiFi.begin(ssid, password); //เชื่อมต่อกับ AP<br />
while (WiFi.status() != WL_CONNECTED) //รอการเชื่อมต่อ<br />
{<br />
delay(500);<br />
Serial.print(“.”);<br />
}<br />
Serial.println(“”);<br />
Serial.println(“WiFi connected”); //แสดงข้อความเชื่อมต่อสำเร็จ<br />
server.begin(); //เปิด TCP Server<br />
Serial.println(“Server started”);<br />
Serial.println(WiFi.localIP()); // แสดงหมายเลข IP ของ Server<br />
}<br />
void loop() {<br />
WiFiClient client = server.available(); //รอรับ การเชื่อมต่อจาก Client<br />
if (!client) { //ถ้าไม่มี Client เข้ามาให้เริ่มกับไปวน loop รอรับใหม่<br />
return;<br />
}<br />
Serial.println(“new client”);<br />
while(!client.available())<br />
{<br />
delay(1);<br />
}<br />
String req = client.readStringUntil(‘\r’); //อ่านค่าที่ได้รับจากclient จากข้อมูลแรกถึง ‘\r’<br />
Serial.println(req); //แสดงค่าที่ได้รับทาง Serial<br />
client.flush();<br />
if (req.indexOf(“/ledoff”) != -1) //ตรวจสอบว่า data ที่เข้ามามีข้อความ”/ledoff”หรือไม่<br />
{<br />
status_led=0; //ถ้ามีให้กำหนดค่า ในตัวแปรใน status_led=0<br />
digitalWrite(LED,LOW); //ให้ LED ดับ<br />
Serial.println(“LED OFF”);<br />
}<br />
else if(req.indexOf(“/ledon”) != -1) //ตรวจสอบว่า data ที่เข้ามามีข้อความ”/ledon”หรือไม่<br />
{<br />
status_led=1; //ถ้ามีให้กำหนดค่า ในตัวแปรใน status_led=1<br />
digitalWrite(LED,HIGH); //ให้ LED ติด<br />
Serial.println(“LED ON”);<br />
}<br />
//เก็บ Code HTML ลงในตัวแปรสตริง web<br />
String web = “HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n”;<br />
web += “<html>\r\n”;<br />
web += “<body>\r\n”;<br />
web += “<br />
<h1>
LED Status</h1>
<p>\r\n”;<br />
web += “
<p>
\r\n”;<br />
if(status_led==1) // ตรวจเช็คสถานะของ LED ว่า On หรือ Off<br />
web += “LED On\r\n”;<br />
else<br />
web += “LED Off\r\n”;<br />
web += “</p>
<p>\r\n”;<br />
web += “</body>\r\n”;<br />
web += “</html>\r\n”;<br />
client.print(web); //ส่ง HTML Code ไปยัง client<br />
}</p>
<p>}

      – ต่อ LED ที่ D1  (ขาสั้น)

      – ลงเสร็จแล้ว ให้ กดแว่นขยาย แล้วดู IP ที่ปรากฎ แล้วนำ ไปใส่ที่ Address ของ browser

       เช่น 192.168.10.5:8000 ( 8000 คือ port )

      – เมื่อเข้าได้ จะมีข้อความ แสดงสถานะของ LED

      port 80

      – ต่อ Switch ที่ขา D2  ลองกด-ปล่อย รูปวงกลมที่หน้าเว็บจะเปลี่ยนแปลง

 

ผลลัพธ์

 

pp6  pp7


 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s