มาเริ่มต้นกันกับ NodeMcu v.2 ตอนที่ 1 Getting start



ในช่วงเวลานี้ถ้าถามว่าเทคโนโลยีอะไรที่กำลังมาแรง แน่นอนครับในช่วงเวลานี้มันเป็นช่วงของ IoT (Internet of Thing) นักพัฒนาต่าง ๆ ได้หันมาสนใจในเทคโนโลยีนี้มากขึ้น maker อย่างเรา ๆ ก็ต้องปรับตัวให้ทันกับเทคโนโลยี จากที่ไม่เคยได้ยุ่งเกี่ยวกับการเขียนโปรแกรมติดต่อ server ก็ได้มานั่งงมกันละทีนี้ แต่ประเด็นหลักของบทความนี้จะเป็นเจ้าตัว NodeMcu v.2 ที่เจ้าของบล็อกได้ลองเล่นไปเมื่อไม่นานมานี้ มาดูกันบ้างว่าเจ้าของบล็อกทำอะไรไปบ้าง

NodeMcu นั้นเป็น open-source firmware และจะเป็นบอร์ดที่ช่วยให้ผู้อ่านสามารถใช้งานเกี่ยวกับ IoT (Internet of Thing) ได้อย่างง่าย เพราะการเขียนโปรแกรมต่าง ๆ ควบคุม GPIO ของชิพ ที่ใช้  Lua ในการเขียน script เพียงไม่กี่บรรทัด แต่ปัจจุบันนั้นก็สามารถเขียนบน Platform Arduino





Pin map




features ของ NodeMcu ที่ถูกพัฒนาขึ้นมานี้
  • -   Open-source
  • -   สามารถเขียนโปรแกรมสั่งควบคุมได้
  • -   ใช้ต้นทุนต่ำ
  • -   ใช้งานง่าย
  • -   เชื่อมต่อ Wi-Fi ได้
  • -   Smart
  • -   Interactive
'
;    วิธี Flash firmware
        
               ตอนนี้ NodeMcu ได้ออกเวอร์ชั่นใหม่มาแล้ว ซึ่งก็แนะนำให้ทำการเปลี่ยนเป็นเวอร์ชั่นใหม่ เพราะจะช่วยแก้ไขบักต่าง ๆ ได้ดีขึ้น โหลดได้จาก https://github.com/nodemcu/nodemcu-flasher

           ถ้าเกิดว่ามีปัญหาในการ flash firmware เจ้าของบล็อกแนะนำให้ไปโหลดเวอร์ชั่นล่าสุดจาก  espressif ก่อนครับ http://bbs.espressif.com/viewtopic.php?f=5&t=433 ซึ่งในการ flash firmware ควรใช้โหมด DIO  เลือก Size ในการ flash ที่ 32M และ flash firmware ตัวล่าสุดไปที่ 0x00000 ก่อนจะทำการ flashing firmware ให้กดปุ่ม flash ค้างไว้ และกดปุ่ม RST ครั้งเดียว เมื่อโปรแกรม flash download firmware ของเราเสร็จแล้ว มันจะทำการ flash firmware ให้เองแบบ auto ระหว่างนั้นก็ไม่ต้องไปกดปุ่มอะไร
               

สามารถควบคุม hardware I/O เหมือนกับ Arduino

เราสามารถเขียนโปรแกรมได้เหมือนกับ Arduino ทุกอย่างแต่จะมี function พิเศษเพิ่มมานอกเหนือจาก Arduino เช่น function เกี่ยวกับการต่อ Wifi function การเชื่อมต่อ TCP/UDP เป็นต้น ซึ่งสุดท้ายแล้วเมื่อเรามีการ compile และ upload ลงบอร์ดมันก็จะจัดการ Code ให้สามารถโต้ตอบกับ Lua script ในการทำงานได้



เป็นอุปกรณ์ WiFi ที่ใช้ต้นทุนต่ำ

          ต้นทุนน้อยกว่า 2 ดอลลาร์ NodeMcu WiFi MCU ESP8266 ตัวนี้ผลิตออกมาได้ครบวงจร สามารถพัฒนาต่อได้ง่ายในงาน IoT และต้นทุนต่ำ



Specification ของบอร์ด

เป็นชุดพัฒนาที่เป็น Base on ESP8266  มี GPIO, PWM , I2C , 1-Wire และ ADC รวมทั้งหมดในบอร์ดเดียว เป็นช่องทางที่ช่วยในการพัฒนาที่รวดเร็วด้วย NodeMcu firmware!
  • -    USB-TTL included, plug&play (CP2102)
  • -    10 GPIO, ทุก ๆ GPIO สามารถเป็น PWM, I2C, 1-wire
  • -    FCC CERTIFIED WI-FI module (กำลังมา)
  • -    PCB antenna


Document

สามารถดูต่อได้ที่ https://github.com/nodemcu 


ทดลองบอร์ดและโปรแกรม

ตอนนี้เราก็รู้คร่าว ๆ เกี่ยวกับบอร์ดนี้กันแล้วนะครับ ต่อมาเราจะมา Getting Start กันครับ ก่อนอื่นเลย ต้องลง Driver CP2102 ครับ ทำหน้าที่แปลงข้อมูลจาก USB to UART ซึ่งหาได้จากการ search google ทั่วไป เมื่อติดตั้งเสร็จแล้ว สิ่งที่ต้องโหลดมาอีก คือ Arduino IDE for ESP8266 ครับ
  • -      ก่อนอื่นเราต้องมีตัว Arduino IDE ก่อนนะครับ โหลดได้จากลิ้งนี้ http://www.arduino.cc/en/Main/Software
  • -    มื่อโหลดมาแล้วเข้าไปที่โปรแกรมครับ แล้วเปิดหน้าต่าง preference แล้ว copy  http://arduino.esp8266.com/stable/package_esp8266com_index.json ไปไว้ที่ช่อง Additional Board Manager URLs 

  

  • -   แล้วไปที่ tool แล้วเลือกตรงช่องเลือกบอร์ด แล้วก็กดเข้าไปที่ Board Manager จะมีให้เลือก install board ให้กด install แล้วรอจนเสร็จ
  


            เสร็จเรียบร้อยแล้วสำหรับการเพิ่มบอร์ดเข้ามาใน Arduino IDE ต่อมาคือการเลือกบอร์ดให้ถูกต้องสำหรับการใช้งาน ซึ่งบอร์ดที่เราใช้คือ NodeMCU V1.0 (ESP8266-12E)






ต่อมาสังเกตดูภายใน example จะมี library ของ esp8266 ขึ้นมา เจ้าของบล็อกจะเลือก example เป็น WiFiscan ดูนะครับเพื่อเป็นการ test board และ test library ไปด้วย



เมื่อเลือก Examples แล้วก็ลองอัพโหลดลงบอร์ดและเปิด Serial monitor ขึ้นมาดู บอร์ดเราก็ทำการแสกนหา WiFi ได้ปกติ



สำเร็จแล้วในการเตรียมโปรแกรมและบอร์ด พร้อม upload โปรแกรม อย่าลืมว่าที่ Serial monitor เลือก baud rate เป็น 115200 ด้วยนะครับ


ทดลองสร้าง Web Server

ต่อมาก็ลองสั่งเปิดปิด LED ผ่าน wifi web server กันโดยให้ board เรานั้นทำหน้าที่เป็น server รอรับค่ามาประมวณ แล้วควบคุม LED กัน







จากวีดิโอนี้เจ้าของบล็อกใช้ example ของ library ที่มีมาให้ แล้วเปลี่ยนชื่อ SSID แล้วก็ Prassword ในการเชื่อมต่อ wifi แล้วก็สร้างตัวแปรมาสั่ง LED เพิ่มอีก 1 ตัว




ความคิดเห็น

Unknown กล่าวว่า
ความคิดเห็นนี้ถูกผู้เขียนลบ
Unknown กล่าวว่า
GOOD ดีมากครับเป็นกำลังใจให้และจะติดตามผลงานเรื่อยๆ นะครับ
Team กล่าวว่า
ขอบคุณครับ :)

โพสต์ยอดนิยมจากบล็อกนี้

ว่าด้วยเรื่องหน่วยความจำ สิ่งที่หลายคนมองข้าม : รู้จักกับ Memory

คณิตศาสตร์กับโปรแกรมมิ่งมันเป็นยังไงนะ ตอนที่ 1 เกริ่นพีทาโกรัส

คณิตศาสตร์กับโปรแกรมมิ่งมันเป็นยังไงนะ ตอนที่ 3 โจทย์พีทาโกรัส (จบ)