[ESP8266] NodeMCU ด้วยภาษา LUA #1 : Getting Started

Sathittham (Phoo) Sangthong
SS Blog
Published in
2 min readJul 23, 2015

บอร์ดที่จะใช้ในการทดลองต่อไปนี้ คือ NodeMCU Dev Kit V1(สีดำ) และ NodeMCU Firmware V.0.9.6 Build 20150704 ครับ

การ Flash บอร์ด

เนื่องจากบางทีเราได้บอร์ดมาแล้ว เวอร์ชั่นมีมาอยู่แล้วมันอาจะเก่าไปแล้ว หรือบางทีเราก็นำบอร์ดไปเขียนเฟิร์มแวร์เองแล้ว (เช่น เล่น NodeMCU ด้วย Arduino IDE) เราก็สามารถมา flash เฟิร์มแวร์ของ NodeMCU ลงไปใหม่ เพื่อนำมาใช้งานกับการพัฒนาด้วยภาษา Lua ได้ครับ

Step 1 : ดาวโหลดโปรแกรม NodeMCU-Flasher

ดาวโหลดเสร็จแล้ว ให้ทำการแตกไฟล์ Zip ที่ดาวโหลดมาเลยครับ

Step 2 : ดาวโหลดเฟิร์มแวร์ล่าสุด https://github.com/nodemcu/nodemcu-firmware

- เลื่อนลงมากลางๆนะครับ แล้วคลิ๊กที่ไอคอน Download

Version ล่าสุด ณ ปัจจุบันคือ 0.9.6-dev_20150704 ครับ

มี Firmware อยู่ 2 แบบครับ

- nodemcu_float คือเฟิร์มแวร์ที่สามารถคำนวณแบบจุดทศนิยมได้ครับ

- nodemcu_integer คือ เฟิร์มแวร์ที่สามารถคำนวณแบบจำนวนเต็มได้เท่านั้นครับ

คำถามคือ…ต่างกันอย่างไร แล้วเลือกใช้อะไรดี?

คำตอบ ถ้ามีเซนเซอร์วัดอุณภูมิ ได้ค่าอยู่ที่ 30.25 C

- ต้องการแสดงผลแบบทศนิยม เช่น อุณหภูมิ 30.25 C แบบนี้ต้องเวอร์ชั่น float ครับ

- ต้องการแสดงผลเฉพาะจำนวนเต็ม เช่น 30 C ก็เลือกแบบ integer ครับ (ข้อดีคือประหยัด memory ครับ)

Step 3 : ติดตั้ง Driver

Step 4 : Flash Firmware

- เสียบสาย Micro USB เข้ากับบอร์ด

เปิดโปรแกรม (ตำแหน่งที่แตกไฟ์Zip)\nodemcu-flasher-master\Win64\Release\ESP8266Flasher

เลือก COM Port ของ NodeMCU ซึ่งโดยปกติจะเลือกมาให้แล้วครับ (ในที่นี่คือ COM9 นะครับ)

- ที่แทป Config ให้เราคลิ๊กที่ไอคอนรูปเฟืองในกรอปสีเหลือง แล้วเลือกไฟล์ Firmware (.bin) เวอร์ชั่นล่าสุดที่ดาวโหลดมาครับ

- กลับมาที่หน้า Operation แล้วกด Flash ได้เลยครับ

- รอ Flash สักครู่ครับ

- รอจน Flash เสร็จ ก็จะขึ้นไอคอนเครื่องหมายถูกสีเขียวที่มุมซ้ายล่างครับ

* หากใครเกิดอาการค้างก่อน ที่จะ Flash เสร็จ

- ให้ลองปรับ Baudrate ลงเหลือสัก 115200 (เหลือต่ำกว่านั้น) ในช่อง Advanced แล้ว Flash ใหม่ครับ

21-7-2558 10-48-56

ลองเขียนภาษา LUA

Step 1 : ดาวโหลดโปรแกรม ESPlorer IDE

http://esp8266.ru/esplorer/#download

(ต้องมี JAVA SE version 7 หรือใหม่กว่า)

ให้เลือกดาวโหลด ที่ไอคอน Download Now

ได้มาแล้วให้ทำการแตกไฟล์ Zip ครับ แล้วเปิดโปรแกรม ESPlorer ขึ้นมาครับ
(ต้องเสียบ NodeMCU ไว้ก่อนเปิดโปรแกรมด้วยนะครับ)

Step 2 : ทดสอบการเชื่อมต่อและการใช้งานพื้นฐาน

เมื่อเสียบสายแล้ว มี COM Port ขึ้นแล้ว ก็กด Open เพื่อทำการเชื่อมต่อบอร์ดกับโปรแกรมได้เลยครับ

กดเสร็จที่ Console จะแสดงค่าที่ได้จาก NodeMCU ครับ เช่นเวอร์ชั่น และ build ครับ

หากใครไม่ขึ้นแบบนี้ไม่ต้องตกใจครับ ลองกดปุ่ม Chip ID ดูว่าที่ Console มีค่าอะไรกลับมาให้เราบ้างไหม

ถ้ากดแล้วขึ้นตัวเลขมาแบบนี้ ก็ถือว่าใช้ได้ครับ

Step 3 : ทดลองเขียนโค๊ดภาษา Lua กันครับ

https://gist.github.com/sathittham/3159154bce89385bd080

- Ex 2 : Blink ไฟกระพริบ (Delay)

blink_delay.lua

https://gist.github.com/sathittham/06feff17c2f001b29208

- ทดสอบได้ด้วยการกดปุ่ม View on ESP นะครับ

- หากต้องการอัพโหลดโค๊ดลงไปบน NodeMCU ให้กดปุ่ม Save to ESP ครับ (อัพแล้ว ลองกดปุ่ม Reload ดูครับว่าไฟล์ที่เราอัพไปมาไหม๊)

- Ex 3 : Blink ไฟกระพริบ (Timer Alarm)

blink_timer.lua

https://gist.github.com/sathittham/b280c573b9cf799e9f60

- ทดสอบได้ด้วยการกดปุ่ม View on ESP นะครับ

- หากต้องการอัพโหลดโค๊ดลงไปบน NodeMCU ให้กดปุ่ม Save to ESP ครับ (อัพแล้ว ลองกดปุ่ม Reload ดูครับว่าไฟล์ที่เราอัพไปมาไหม๊)

ผลลัพธ์

อ้างอิง

--

--

Sathittham (Phoo) Sangthong
SS Blog

Hi! It's me Phoo! I’m a Software Developer 👨‍💻 , a Startup Entrepreneur 📱 and a Runner 🏃 . Currently, I’m a Co-Founder and CTO of a Startup name “Urbanice”.