ดาวน์โหลดโปรแกรมฟรี
       
   สมัครสมาชิก   เข้าสู่ระบบ
THAIWARE.COM | ทิปส์ไอที
 

NodeMCU คืออะไร ? รู้จักบอร์ดสมองกลอัจฉริยะ ที่ทำให้การพัฒนา IoT เป็นเรื่องกล้วย ๆ !

NodeMCU คืออะไร ? รู้จักบอร์ดสมองกลอัจฉริยะ ที่ทำให้การพัฒนา IoT เป็นเรื่องกล้วย ๆ !
ภาพจาก : https://grabcad.com/library/nodemcu-lua-wifi-esp8266-1
เมื่อ :
|  ผู้เข้าชม : 825
เขียนโดย :
0 NodeMCU+%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3+%3F+%E0%B8%A3%E0%B8%B9%E0%B9%89%E0%B8%88%E0%B8%B1%E0%B8%81%E0%B8%9A%E0%B8%AD%E0%B8%A3%E0%B9%8C%E0%B8%94%E0%B8%AA%E0%B8%A1%E0%B8%AD%E0%B8%87%E0%B8%81%E0%B8%A5%E0%B8%AD%E0%B8%B1%E0%B8%88%E0%B8%89%E0%B8%A3%E0%B8%B4%E0%B8%A2%E0%B8%B0+%E0%B8%97%E0%B8%B5%E0%B9%88%E0%B8%97%E0%B8%B3%E0%B9%83%E0%B8%AB%E0%B9%89%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%9E%E0%B8%B1%E0%B8%92%E0%B8%99%E0%B8%B2+IoT+%E0%B9%80%E0%B8%9B%E0%B9%87%E0%B8%99%E0%B9%80%E0%B8%A3%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B8%81%E0%B8%A5%E0%B9%89%E0%B8%A7%E0%B8%A2+%E0%B9%86+%21
A- A+
แชร์หน้าเว็บนี้ :

NodeMCU คืออะไร ?

หากทุกคนเคยได้ยินคำว่า "NodeMCU" แต่ยังไม่แน่ใจว่ามันคืออะไร ? และทำงานอย่างไร ? หรือกำลังมองหาวิธีทำให้อุปกรณ์รอบตัวฉลาดขึ้น เชื่อมต่อกันได้อย่างไร้ขีดจำกัด ทุกคนมาถูกที่แล้ว NodeMCU คือ บอร์ดพัฒนา ไมโครคอนโทรลเลอร์ (Microcontroller - MCU) ที่ได้รับความนิยมอย่างมากใน วงการอินเทอร์เน็ตของสรรพสิ่ง (IoT) ด้วยฟังก์ชันที่หลากหลาย และความสามารถในการเชื่อมต่อกับอุปกรณ์ต่าง ๆ ได้อย่างง่ายดาย

บทความเกี่ยวกับ IoT อื่นๆ

ในบทความนี้ เราจะพาทุกคนไปรู้จักกับ NodeMCU อย่างละเอียดทั้งในด้านความหมายของมัน, รูปลักษณ์, ประวัติความเป็นมา และคุณสมบัติต่าง ๆ เพื่อให้เข้าใจว่าทำไมมันถึงเป็นที่นิยมในหมู่นักพัฒนา ถ้าพร้อมแล้วเรามาเริ่มกันเลย !

เนื้อหาภายในบทความ

NodeMCU คืออะไร ? (What is NodeMCU ?)

NodeMCU คือ แพลตฟอร์มโอเพนซอร์ส (Open-Source) ที่รวมทั้งเฟิร์มแวร์ และบอร์ดพัฒนา สำหรับสร้างโปรเจ็กต์ IoT โดยเฉพาะ ซึ่งชื่อ "NodeMCU" ย่อมาจากคำว่า "Node" และ "Microcontroller" ซึ่งหมายถึงไมโครคอนโทรลเลอร์ที่ใช้ควบคุมอุปกรณ์ต่าง ๆ อย่างง่ายดาย

จุดเด่นของ NodeMCU คือ เฟิร์มแวร์ที่ใช้ภาษา Lua ซึ่งเป็นภาษาสคริปต์ที่มีความเรียบง่าย และทรงพลังสำหรับการเขียนโปรแกรม และการออกแบบบอร์ดที่สามารถนำไปใช้ในการพัฒนาโปรเจ็กต์ได้ทันที ตัวบอร์ดมาในรูปแบบของ DIP (Dual In-line Package) ซึ่งทำให้ง่ายต่อการใช้งานบน Breadboard หรือบอร์ดทดลอง NodeMCU เริ่มต้นจากการใช้ชิป ESP8266 ซึ่งเป็นชิป Wi-Fi ราคาประหยัดที่ถูกใช้กันอย่างแพร่หลายในโปรเจ็กต์ IoT

บอร์ด NodeMCU มีทั้งรุ่นแรก NodeMCU Dev Kit v0.9 และรุ่นที่สอง NodeMCU Dev Kit v1.0 ที่มักใช้บอร์ดสีดำ และทั้งสองรุ่นนี้มาพร้อมกับพินต่าง ๆ ที่คล้ายกับ Arduino เช่น พินอนาล็อก (A0) และพินดิจิทัล (D0-D8) นอกจากนี้บอร์ดยังรองรับการเชื่อมต่อผ่าน โปรโตคอล (Protocol) UART, SPI และ I2C ทำให้สามารถใช้งานร่วมกับอุปกรณ์ต่าง ๆ ได้หลากหลาย ไม่ว่าจะเป็นจอแสดงผลแบบ I2C, เซนเซอร์ต่าง ๆ, โมดูล GPS หรือแม้กระทั่ง การ์ดแบบ SD (SD Card) เป็นต้น

ด้วยความเป็นโอเพนซอร์ส ทำให้เราสามารถปรับแต่ง และพัฒนาบอร์ด NodeMCU ได้ตามต้องการ ทำให้มันเป็นตัวเลือกที่ดีสำหรับการเริ่มต้นสร้างสรรค์โปรเจ็กต์ IoT นั่นเอง

NodeMCU คืออะไร ? รู้จักบอร์ดสมองกลอัจฉริยะ ที่ทำให้การพัฒนา IoT เป็นเรื่องกล้วย ๆ !
ภาพจาก : https://joy-it.net/en/products/SBC-NodeMCU

ประวัติของ NodeMCU (History of NodeMCU)

NodeMCU ถูกพัฒนาขึ้นหลังจากที่ชิป ESP8266 เปิดตัวได้ไม่นาน ในวันที่ 30 ธันวาคม ค.ศ. 2013 (พ.ศ. 2556) บริษัท Espressif Systems ได้เริ่มผลิตชิป ESP8266 ซึ่งเป็นชิปที่มี Wi-Fi ในตัว และเป็นที่นิยมในงานพัฒนา IoT ออกสู่ตลาด

NodeMCU คืออะไร ? รู้จักบอร์ดสมองกลอัจฉริยะ ที่ทำให้การพัฒนา IoT เป็นเรื่องกล้วย ๆ !
ภาพจาก : https://en.wikipedia.org/wiki/ESP8266#/media/File:ESP8266_IC.jpg

ต่อมาในวันที่ 13 ตุลาคม ค.ศ. 2014 (พ.ศ. 2557) นักพัฒนาชื่อ Hong ได้เริ่มโปรเจกต์ NodeMCU โดยอัปโหลดไฟล์เฟิร์มแวร์แรกไว้บน GitHub ในเวลาเพียงสองเดือนหลังจากนั้น โปรเจกต์ได้ขยายตัวใหญ่ขึ้น กลายเป็นแพลตฟอร์มฮาร์ดแวร์แบบโอเพนซอร์ส และเมื่อหนึ่งในผู้พัฒนา Huang R ได้เผยแพร่ไฟล์ออกแบบบอร์ด ESP8266 ที่มีชื่อว่า devkit v0.9 ทำให้ NodeMCU กลายเป็นแพลตฟอร์มที่รองรับทั้งซอฟต์แวร์ และฮาร์ดแวร์ในที่สุด

NodeMCU คืออะไร ? รู้จักบอร์ดสมองกลอัจฉริยะ ที่ทำให้การพัฒนา IoT เป็นเรื่องกล้วย ๆ !
ภาพจาก : https://github.com/esar/contiki-mqtt

ช่วงเวลาเดียวกัน Tuan PM ได้พอร์ตไลบรารี MQTT client จากแพลตฟอร์ม Contiki มาใช้บน ESP8266 และเพิ่มเข้าในโปรเจกต์ NodeMCU ทำให้ NodeMCU รองรับโปรโตคอล MQTT ซึ่งเป็นโปรโตคอลสำคัญสำหรับ IoT โดยใช้ภาษา Lua ในการเชื่อมต่อกับ MQTT broker จากนั้นในวันที่ 30 มกราคม ค.ศ. 2015 (พ.ศ. 2558) นักพัฒนาชื่อ Devsaurus ได้พอร์ตไลบรารี u8glib มายัง NodeMCU ทำให้สามารถควบคุมจอแสดงผลต่าง ๆ เช่นจอแบบ LCD, OLED, VGA ได้อย่างง่ายดาย

ข้อมูลเพิ่มเติม : จอ CRT, DLP, Plasma, LCD, LED, VA, IPS, OLED, QLED คืออะไร ? และข้อดี ข้อเสีย แต่ละชนิด

ถึงแม้ในช่วงฤดูร้อน ค.ศ. 2015 (พ.ศ. 2558) ผู้สร้างดั้งเดิมของ NodeMCU จะยุติการพัฒนาโปรเจกต์ แต่กลุ่มนักพัฒนาอิสระได้เข้ามารับช่วงต่อ และภายในปี ค.ศ. 2016 (พ.ศ. 2559) NodeMCU ก็ได้เติบโตขึ้นจนรองรับโมดูลต่าง ๆ มากกว่า 40 ชนิดเลยทีเดียว

ลักษณะ และพินเชื่อมต่อของ NodeMCU (NodeMCU Appearances and Connection Pins)

NodeMCU โดยทั่วไปมีลักษณะเป็นแผ่นวงจรขนาดเล็ก มาพร้อมกับขั้วต่อพิน (Pins) ต่าง ๆ ที่จัดเรียงรอบบอร์ดเพื่อรองรับการเชื่อมต่อกับอุปกรณ์ภายนอก เช่น เซนเซอร์ หรือตัวรับส่งข้อมูลต่าง ๆ

NodeMCU คืออะไร ? รู้จักบอร์ดสมองกลอัจฉริยะ ที่ทำให้การพัฒนา IoT เป็นเรื่องกล้วย ๆ !
ภาพจาก : https://www.electronicwings.com/nodemcu/nodemcu-development-kitboard

ลักษณะของ NodeMCU

  • ตัวบอร์ดมีขนาดเล็กประมาณ 5 x 3 ซม. พร้อมพอร์ต Micro USB สำหรับจ่ายไฟ และอัปโหลดโปรแกรมจากคอมพิวเตอร์
  • ชิป ESP8266 ถูกติดตั้งตรงกลางบอร์ด ซึ่งเป็นหัวใจหลักที่ช่วยให้บอร์ดสามารถเชื่อมต่อ Wi-Fi และจัดการการประมวลผลได้
  • บอร์ดมี LED สถานะ ที่ใช้แสดงผลเมื่อบอร์ดทำงาน หรือรับส่งข้อมูล
  • เสาอากาศ Wi-Fi เป็นส่วนหนึ่งของชิป ESP8266 เพื่อรับสัญญาณ Wi-Fi ซึ่งจะเป็นเสาร์ที่ออกแบบให้เป็นลายวงจรบนตัวบอร์ด

NodeMCU คืออะไร ? รู้จักบอร์ดสมองกลอัจฉริยะ ที่ทำให้การพัฒนา IoT เป็นเรื่องกล้วย ๆ !
ภาพจาก : https://www.electronicwings.com/nodemcu/nodemcu-development-kitboard

พินของ NodeMCU

NodeMCU มีพินที่หลากหลายเพื่อรองรับการเชื่อมต่อกับอุปกรณ์ต่าง ๆ แบ่งออกเป็นสองฝั่ง โดยแต่ละพินมีการระบุตำแหน่ง และฟังก์ชันการทำงานที่ชัดเจน ดังนี้:

1. พินรับพลังงานไฟฟ้า (Power Pins)

  • Vin : พินสำหรับจ่ายไฟฟ้าให้กับบอร์ด สามารถใช้ไฟฟ้าจาก 5V หรือแหล่งจ่ายไฟภายนอกได้
  • 3V3 : พินจ่ายไฟ 3.3V สำหรับอุปกรณ์ภายนอก เช่น เซนเซอร์
  • GND : พินกราวด์สำหรับเชื่อมกับอุปกรณ์ภายนอกที่ต้องการกราวด์

2. พิน GPIO (General Purpose Input/Output) 

NodeMCU มีพิน GPIO (General Purpose Input/Output) สามารถทำหน้าที่ได้หลายอย่าง เช่น การรับส่งข้อมูลดิจิทัล, PWM (Pulse Width Modulation), การสื่อสารแบบ SPI หรือ I2C นอกจากนี้บางพินยังสามารถทำหน้าที่พิเศษ เช่น พิน ADC (A0) ที่ใช้สำหรับการวัดแรงดันไฟฟ้าได้อีกด้วย โดยพินที่สำคัญคือ

  • D0 ถึง D8 : พินเหล่านี้สามารถใช้สำหรับส่งข้อมูลและรับข้อมูล เช่น เชื่อมต่อกับเซนเซอร์ หรืออุปกรณ์อื่น ๆ
  • A0 : พินสำหรับรับข้อมูลแบบอนาล็อก (Analog) ซึ่งรองรับแรงดันไฟฟ้าตั้งแต่ 0-1V
  • TX (D9), RX (D10) : พินสำหรับการสื่อสารอนุกรม (Serial Communication) ใช้เชื่อมต่อกับอุปกรณ์ภายนอกที่รองรับการสื่อสารผ่าน UART เช่น GPS โมดูล หรือตัวส่งข้อมูลอื่น ๆ

3. พินการสื่อสาร (Communication Pins)

  • UART : สำหรับการสื่อสารอนุกรม เช่น เชื่อมต่อกับคอมพิวเตอร์หรืออุปกรณ์ภายนอกใช้ TX และ RX
  • SPI : สำหรับการสื่อสารความเร็วสูงกับอุปกรณ์ เช่น SD card หรือจอแสดงผล
  • I2C : สำหรับเชื่อมต่อกับอุปกรณ์ที่รองรับ I2C เช่น จอแสดงผล LCD หรือเซนเซอร์ต่าง ๆ

เปรียบเทียบความแตกต่างระหว่าง NodeMCU รุ่นที่ 1 และ 2 (Differences between NodeMCU First and Second Generations)

ความแตกต่างระหว่าง NodeMCU รุ่นแรก และรุ่นที่สอง สามารถสังเกตได้จากการออกแบบบอร์ด และโมดูล ESP ที่ใช้ในแต่ละรุ่น

  • ใน NodeMCU Dev Kit v0.9 หรือ รุ่นแรก จะใช้ตัวแปลง USB เป็น Serial แบบ CH341SER ขณะที่ใน NodeMCU Dev Kit v1.0 หรือ รุ่นที่สอง จะใช้ตัวแปลง CP2102 ซึ่งให้ความเสถียร และประสิทธิภาพที่ดีกว่า
  • รุ่นแรกใช้โมดูล ESP-12 ส่วนรุ่นที่สองใช้โมดูล ESP-12E ที่เป็นรุ่นที่พัฒนาขึ้น (Enhanced version) แต่ทั้งคู่ก็ยังคงมีพื้นฐานเป็น ESP8266 โดยในรุ่น ESP-12E จะมีพินพิเศษเพิ่มขึ้น 6 พิน ได้แก่ MTDO, MTDI, SD_3, MTMS, MTCK, SD_2 ซึ่งแม้ว่าพินเหล่านี้จะถูกนำออกมาใช้งาน แต่บางส่วนก็ถูกใช้งานภายในสำหรับการเข้าถึงหน่วยความจำแฟลชเช่นกัน
  • นอกจากนี้ยังมีความแตกต่างเล็กน้อยในเรื่องของการออกแบบเสาอากาศระหว่างรุ่น ESP-12E และ ESP-12F ที่ปรับปรุงให้มีประสิทธิภาพมากขึ้น

NodeMCU คืออะไร ? รู้จักบอร์ดสมองกลอัจฉริยะ ที่ทำให้การพัฒนา IoT เป็นเรื่องกล้วย ๆ !

ภาพจาก : https://www.electronicwings.com/nodemcu/nodemcu-development-kitboard

ทั้งสองรุ่นนี้ยังคงมีพื้นฐานที่คล้ายกัน แต่มีการปรับปรุงในด้านฮาร์ดแวร์ และประสิทธิภาพที่เพิ่มมากขึ้นในรุ่นที่สอง

วิธีเริ่มต้นใช้งาน NodeMCU (How to start using NodeMCU ?)

หากเราต้องการเริ่มใช้งาน NodeMCU ในการพัฒนาแอปพลิเคชัน IoT ก็จะมีขั้นตอนปฏิบัติเบื้องต้นง่าย ๆ ดังนี้

1. ติดตั้งสภาพแวดล้อมสำหรับการพัฒนา (Development Environment)

ก่อนอื่นเราจะต้องตั้งค่าสภาพแวดล้อมการพัฒนาในคอมพิวเตอร์หรือหาเครื่องมือซอฟต์แวร์มาใช้นั่นเอง เครื่องมือที่นิยมใช้ในการเขียนโปรแกรม NodeMCU ก็ได้แก่

Arduino IDE

เป็นโปรแกรมที่ใช้ในการเขียนโค้ด และอัปโหลดลงบอร์ด NodeMCU รองรับภาษา C/C++ นอกจากนี้ยังมี ไลบรารี (Library) มากมายที่ช่วยให้การพัฒนาโปรเจกต์ง่ายขึ้น

NodeMCU คืออะไร ? รู้จักบอร์ดสมองกลอัจฉริยะ ที่ทำให้การพัฒนา IoT เป็นเรื่องกล้วย ๆ !
ภาพจาก : https://www.make-it.ca/setup-nodemcu-arduino-ide/

ESPlorer IDE

โปรแกรมนี้เหมาะสำหรับผู้ที่ใช้ภาษา Lua ในการพัฒนา NodeMCU ซึ่งเป็นภาษาที่เฟิร์มแวร์ดั้งเดิมของ NodeMCU นั่นเอง

NodeMCU คืออะไร ? รู้จักบอร์ดสมองกลอัจฉริยะ ที่ทำให้การพัฒนา IoT เป็นเรื่องกล้วย ๆ !

ภาพจาก : https://esp8266.ru/esplorer/

2. ติดตั้งเฟิร์มแวร์ NodeMCU

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

3. แหล่งที่มาของเฟิร์มแวร์

มีแหล่งที่มาออนไลน์หลายแห่งที่ให้บริการสร้างเฟิร์มแวร์ NodeMCU แบบกำหนดเอง เช่น NodeMCU custom build services ที่ช่วยให้เราสามารถเลือกฟีเจอร์ที่ต้องการ เช่น โปรโตคอลการสื่อสารพิเศษ หรือไลบรารีเฉพาะทาง เมื่อเลือกฟีเจอร์ต่าง ๆ เสร็จแล้ว เราก็สามารถดาวน์โหลดเฟิร์มแวร์ แฟลชลงบนบอร์ด NodeMCU ได้ทันที

4. อัปโหลดเฟิร์มแวร์ลงบอร์ด NodeMCU

เมื่อได้เฟิร์มแวร์ที่ต้องการแล้ว เราจะต้องใช้เครื่องมือเช่น esptool.py หรือ NodeMCU Flasher เพื่ออัปโหลดเฟิร์มแวร์ลงบอร์ด NodeMCU ผ่าน พอร์ต USB ซึ่งขั้นตอนนี้ทำได้ง่าย และใช้เวลาไม่นาน

5. เริ่มเขียนโปรแกรม และพัฒนา IoT

เมื่อติดตั้งเฟิร์มแวร์เสร็จแล้วก็พร้อมเริ่มต้นเขียนโปรแกรม และพัฒนาโปรเจกต์ IoT ได้ทันทีโดยใช้ฟีเจอร์ต่าง ๆ ของ NodeMCU ในการควบคุมอุปกรณ์ หรือเซนเซอร์ที่เชื่อมต่อ เช่น การควบคุมหลอดไฟผ่าน Wi-Fi หรือการส่งข้อมูลเซนเซอร์ไปยัง เซิร์ฟเวอร์ (Server) หรือแม้แต่บน คลาวด์ (Cloud) ได้

NodeMCU คืออะไร ? รู้จักบอร์ดสมองกลอัจฉริยะ ที่ทำให้การพัฒนา IoT เป็นเรื่องกล้วย ๆ !
ภาพจาก : https://how2electronics.com/interfacing-5mp-spi-camera-with-nodemcu-esp8266/

สรุปเกี่ยวกับ NodeMCU (NodeMCU Conclusions)

NodeMCU เป็นแพลตฟอร์มโอเพนซอร์สที่รวมทั้งเฟิร์มแวร์ และบอร์ดพัฒนาไมโครคอนโทรลเลอร์ ซึ่งมีความสามารถที่หลากหลาย โดยเฉพาะในงานที่เกี่ยวข้องกับ Internet of Things (IoT) ด้วยการออกแบบที่รองรับการเชื่อมต่อ Wi-Fi และฟังก์ชันการใช้งานพินอนาล็อก และพินดิจิทัล NodeMCU กลายเป็นตัวเลือกยอดนิยมในหมู่นักพัฒนาที่ต้องการสร้างโปรเจกต์ IoT อย่างรวดเร็ว และง่ายดาย

การเริ่มต้นใช้งาน NodeMCU ก็ไม่ซับซ้อน สามารถเริ่มต้นสร้างสรรค์โปรเจกต์ IoT ได้ทันที NodeMCU จึงถือเป็นเครื่องมือสำคัญที่ช่วยให้การพัฒนาเทคโนโลยี IoT เป็นเรื่องที่ทุกคนสามารถเข้าถึงได้ไม่ว่าจะเป็นมือใหม่ หรือมืออาชีพแล้วก็ตาม


ที่มา : medium.com , www.electronicwings.com , en.wikipedia.org

0 NodeMCU+%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3+%3F+%E0%B8%A3%E0%B8%B9%E0%B9%89%E0%B8%88%E0%B8%B1%E0%B8%81%E0%B8%9A%E0%B8%AD%E0%B8%A3%E0%B9%8C%E0%B8%94%E0%B8%AA%E0%B8%A1%E0%B8%AD%E0%B8%87%E0%B8%81%E0%B8%A5%E0%B8%AD%E0%B8%B1%E0%B8%88%E0%B8%89%E0%B8%A3%E0%B8%B4%E0%B8%A2%E0%B8%B0+%E0%B8%97%E0%B8%B5%E0%B9%88%E0%B8%97%E0%B8%B3%E0%B9%83%E0%B8%AB%E0%B9%89%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%9E%E0%B8%B1%E0%B8%92%E0%B8%99%E0%B8%B2+IoT+%E0%B9%80%E0%B8%9B%E0%B9%87%E0%B8%99%E0%B9%80%E0%B8%A3%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B8%81%E0%B8%A5%E0%B9%89%E0%B8%A7%E0%B8%A2+%E0%B9%86+%21
แชร์หน้าเว็บนี้ :
Keyword คำสำคัญ »
เขียนโดย
นักเขียน : Editor    นักเขียน
 
 
 

ทิปส์ไอทีที่เกี่ยวข้อง

 


 

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