วันพุธที่ 9 มีนาคม พ.ศ. 2559

[IOT] สอนสร้าง "Smart Home" ด้วย NodeMCU V2 [Part 2]

สวัสดีค้าบบบบ ขอโทษที่ทำให้รอนานนะครับ 

สำหรับวันนี้ Part 2 ก็มาแล้วครับผม 

แต่ขอสปอยล์ไว้ก่อนเลยว่า Part นี้ เหมาะสำหรับผู้เริ่มต้นจริงๆครับ เพราะจะเป็นกล่าวถึงการ Set-up สภาพแวดล้อมเพื่อโปรแกรม NodeMCU V.2 ครับ

สำหรับใครที่ทำเก่งแล้วก็ดูพอผ่านๆ แล้วก็รอ Part ต่อไปได้เลยนะครับ
เพราะ Part นี้ เบสิคเอฟรี่ติงจิงกาเบลมากจริงๆครับ T_T

ก็ตามชื่อบทความแหละครับ ว่าเป็นการ "สอนสร้าง" ฉะนั้นขั้นตอนต่อไปนี้อาจจะง่ายจนน่าเบื่อไปหน่อย
แต่ผมก็จะยังคงขัดใจนำเสนอให้ท่านอย่างมีความสุขครับ 55555+

CHAPTER 1 : เตรียมซอฟต์แวร์ กับเริ่มต้นใช้ NodeMCU V.2

เอาหละครับ ในการสร้างระบบนี้ สำหรับสิ่งแรกที่เราต้องทำ คือการเริ่มต้นการใช้งาน "NodeMCU V2" 
ซึ่งใน Part นี้ผมจะแบ่งออกเป็นสองส่วนนะครับ คือ การเตรียมซอฟต์แวร์ และ การเตรียมฮาร์ดแวร์
ตอนนี้จะพูดถึงการเตรียมซอฟต์แวร์กันนะครับ เนื่องจาก เราต้องสร้างสภาพแวดล้อมในคอมพิวเตอร์ของเรา
ให้พร้อมสำหรับการโปรแกรมเจ้า NodeMCU V.2 ให้ทำงานได้ ซึ่งอุปกรณ์ที่ต้องใช้ในขั้นตอนนี้ได้แก่
NodeMCU V.2 และ สาย Micro USB สำหรับอัพโหลดโปรแกรมลงบนบอร์ดครับ


STEP 1: ไดรว์เวอร์ของ NodeMCU V.2
เริ่มจาก เสียบสาย USB ต่อ NodeMCU V2 เข้ากับคอมพิวเตอร์ครับ



จากนั้น คอมฯเราจะหา Driver ให้โดยอัตโนมัติ (เป็นไดรว์เวอร์ของ USB to UART CP2102 ครับ) 
แต่!!! ก็ยังมีบางเครื่องที่หาไดรว์เวอร์ไม่เจอ ซึ่งถ้าเป็นแบบนั้นก็ ดาวน์โหลดไดรว์เวอร์ได้ที่นี่ครับ
(เลือกดาวน์โหลดตามระบบปฏิบัติการของท่านและติดตั้งให้เรียบร้อยแล้วรีคอมฯใหม่ ก็ใช้ได้แล้วครับ)
***สำหรับคอมฯ ตั้งโต๊ะ (ที่ไม่ใช่โน๊ตบุ๊ค) ถ้ามีไฟรั่วลงกราวด์ (มีไฟดูดเบาๆ เวลาจับ) 
ให้ทำการต่อสายดินด้วยนะครับ ไม่งั้น บอร์ดจะติดๆดับๆ Windows จะเดี๋ยวเห็นเดี๋ยวไม่เห็นบอร์ด
จะมีเสียงเหมือนเสียบและถอด Flash drive /  Found New Hardware จะขึ้นรัวๆครับ (ประสบการณ์ตรง)


STEP 2: ติดตั้ง Arduino IDE
ต่อจากนั้น ให้ทำการดาวน์โหลดโปรแกรม Arduino IDE ครับ ซึ่งในที่นี้ผมใช้ เวอร์ชั่น 1.6.4 นะครับ
ซึ่งเวอร์ชั่นที่ผมใช้เป็นตัวอย่างนี้ปัจจุบันอาจจะล้าสมัยไปแล้ว ให้ทำการดาวน์โหลด 
Arduino IDE เวอร์ชั่นล่าสุดได้จากลิงค์ด้านล่างนี้เลยนะครับ



(เลือกดาวน์โหลดตามระบบปฏิบัติการของท่านและติดตั้งให้เรียบร้อยครับ)


STEP 3: ติดตั้งปลั๊กอิน NodeMCU (ESP8266) ให้ Arduino
เนื่องจากว่าเท่าที่ผมอ่านมา เหมือนว่า NodeMCU V.2 และพวกโมดูล ESP8266 นั้นจะใช้ Lua
ในการโปรแกรม แต่เราก็สามารถเขียนโปรแกรมด้วย Arduino ได้เช่นกัน แต่ต้องอาศัย Plugin เฉพาะ
ซึ่งจะมีขั้นตอนวิธีการในการติดตั้งดังต่อไปนี้ครับ ค่อยๆทำตามไปทีละภาพนะครับ

หลังจากเราติดตั้ง Arduino IDE เวอร์ชั่น 1.6.4 เรียบร้อยแล้ว ให้เราเข้าโปรแกรมครับ
จะปรากฏหน้าตาโปรแกรม (ที่คุณก็คุ้นเคย 555+) นะครับ จากนั้นก็ให้กด

File > Preferences



ก็จะปรากฏหน้าต่าง Preferences ขึ้นมาครับ จากนั้น ให้ดูตรงช่อง Additional Boards Manager URL:
ซึ่งในตอนแรกจะเป็นช่องว่างๆ จากนั้นให้ Copy ลิงค์สีน้ำเงินข้างล่างนี้ไปวางในช่องนั้นครับ

http://arduino.esp8266.com/stable/package_esp8266com_index.json

เสร็จแล้วก็กด OK ครับ



หลังจากนั้นจะดูเหมือนไม่มีอะไรเกิดขึ้นนะครับ (อ้าว = =") 5555+ แต่ก็อย่าเพิ่งหวั่นไหวครับผม 
ให้ไปที่ Tools > Board "..." > Boards Manager... ตามในภาพครับ


จากนั้นหน้าต่าง Boards Manager ก็จะขึ้นมาครับ ให้ เลือก Type เป็น "Contributed" ครับ


ก็จะพบกับปลั๊กอิน esp8266 ครับ ทีนี้เราก็ เลือกเวอร์ชั่นล่าสุดเลยนะครับ
(ของผมเลือกเป็น 1.6.5-947-g39819f0 อาจจะล้าสมัยไปแล้ว) 
แล้วกด Install เลยครับ


โปรแกรมจะเริ่มดาวน์โหลดและติดตั้งปลั๊กอินของบอร์ดเราครับ ขั้นตอนนี้ก็อาจจะใช้เวลาซักหน่อย
หลังจากนั้นพอมันเสร็จแล้วเรียบร้อยดีไม่มีปัญหา จะขึ้นเหมือนในภาพครับ ว่า 
"version 1.6.5-947-g39819f0 INSTALLED" ถ้าขึ้นแบบนี้ก็เรียบร้อยครับ กดปิดหน้าต่างนี้ไปได้เลย


จากนั้นเราก็ทำการเลือกบอร์ดของเราครับ ให้ไปที่ Tools > Boards "..." คราวนี้จะเห็นว่า
มีส่วนของ ESP8266 Modules เพิ่มมาครับ ก็ให้ทำการเลือกตามนี้ครับ
สำหรับคนที่ใช้ NodeMCU V.1 ให้เลือก NodeMCU 0.9 (ESP-12 Module) ครับ


สำหรับคนที่ใช้ NodeMCU V.2 
ให้เลือก NodeMCU 1.0 (ESP-12E Module) ครับ
(เมืองไทยเราเรียก NodeMCU V.1 กับ V.2 แต่ฝรั่งเรียก NodeMCU Devkit v0.9 กับ v1.0 ครับ 555+ ไม่เข้าใจเหมือนกัน)



จากนั้นก็ให้เลือกพอร์ตที่จะใช้ Arduino IDE ทำงาน ให้ถูกต้องครับ โดย
ไปที่ Tools > Port แล้วเลือกพอร์ตที่ NodeMCU ของเราต่ออยู่ครับ เช่น ของผมเป็น COM9


(ในขั้นตอนนี้หากไม่มีพอร์ตใดๆขึ้นมาเลย เป็นไปได้ว่าอาจจะยังไม่ได้
ทำการติดตั้ง CP2102 Driver นะครับ ให้ย้อนกลับขึ้นไปดู STEP 1 ก่อน
หรือหากติดตั้งแล้วไม่มีพอร์ตขึ้นก็ต้องลองเช็ดดูครับ เพราะบางที... 
ผมก็ ลืมเสียบสาย อยู่เป็นประจำ 55555+ ไม่ฝั่งคอมก็ฝั่งบอร์ดครับ)



ต่อไป เราก็จะมา "ลองของ" กันครับ 55555+ ลองของที่ว่า ก็คือ ทดสอบบอร์ดครับว่าทำงานปกติไหม
โหลดโค้ดได้ไหม ซึ่งก็ใช้วิธีการสามัญปกติทั่วไปครับ นั่นคือ "ทดสอบการโหลดโค้ด Blink" ครับ
วิธีการก็ ไปที่ File > Examples > esp8266 > Blink ครับ



ก็จะปรากฏโค้ด Blink ที่เอาไว้กดหนีศัตรูในยามคับขัน... เห้ย!!! ไม่ใช่ละ!!! = =" นั่นมัน DotA2
ก็จะปรากฏ โค้ด Blink ที่จะใช้ในการทดสอบบอร์ดครับ โดยโค้ดนี้จะเป็น
การสั่งให้ NodeMCU V.2 กระพริบไฟ LED สีแดงบนบอร์ดไปเรื่อยๆ
โดยไฟสีแดงจะติดเป็นเวลา 1 วินาที และดับไปอีก 2 วินาทีครับหลังจากโค้ดขึ้นมาแล้วก็ให้ 
กดปุ่ม Upload (ปุ่มที่ชี้ในภาพ) ครับ หรือถ้าใครถนัดคีย์ลัด จะกด Ctrl+U ก็ได้ครับผม


หลังจากนั้น Arduino IDE ก็จะเริ่มทำการคอมไพล์ และอัพโหลดโค้ดลงไปในบอร์ดครับ
หลังจากคอมไพล์ผ่านแล้วก็ จะมีจุดสีแดงๆ วิ่งไปเรื่อยๆ (เป็นสัญญาณว่าโค้ดกำลังถูกโหลดลงครับ)
พอวิ่งไประยะนึงจุดมันก็จะหยุดวิ่งพร้อมกับขึ้นสถานะว่า Done Uploading ก็จะเป็นอันเสร็จครับผม


*ซึ่งในขั้นตอนนี้อาจมีปัญหาขึ้น Error: espcomm_open failed ได้ครับ
ซึ่งมันก็เกิดได้จากหลายๆสาเหตุเลย ดังนั้น ในช่วงที่เราจะอัพโหลดโค้ดลงบอร์ด ผมแนะนำให้

1. ถ้าคอมเป็นคอมตั้งโต๊ะ แนะนำให้ต่อสายดินครับ เพื่อให้ไฟที่รั่วไหลลงดินไป 
ไม่มารบกวนการทำงานของบอร์ดครับ (ประสบการณ์ส่วนตัวนะครับ)

2.ไม่ควรอัพโหลดโค้ดตอนที่ NodeMCU V.2 อยู่บน Motor Shield ครับ 
ควรถอดออกจาก Shield และถอดโมดูลทุกอย่างออกก่อน ให้เหลือแค่บอร์ดกับสาย USB ครับ

หลังจากการโหลดโค้ด Blink เรียบร้อยแล้ว หากคุณดวงดี
หากไม่มีอะไรผิดพลาด และราบรื่น 100% บอร์ดจะทำงานดังคลิปที่แสดงต่อไปนี้ครับ
โดยหลอดไฟ LED บนบอร์ดจะติดและดับสลับกันตามหน่วงเวลาที่โปรแกรมตั้งไว้ครับ

สำหรับ Part นี้ก็จบไว้เท่านี้ก่อนนะครับ เดี๋ยวเราจะมาต่อกันใน Part 3 เกี่ยวกับการเตรียม Hardware ครับ
ซึ่งจะเหมาะสำหรับผู้เริ่มต้นจริงๆนะครับ สำหรับคนที่ทำเป็นแล้วก็ให้ข้ามไปอ่านที่ 
Part 4 และ Part 5 ได้เลยครับผม


เซเรฟ...


ไม่มีความคิดเห็น:

แสดงความคิดเห็น