ArduinoESP32Internet of thing

การใช้งาน Node32s บน Arduino IDE

By November 23, 2016 December 24th, 2016 One Comment

เกริ่นกันก่อน

ผมรู้สึกว่าหลายคนยัง งง ว่าอะไร คือ Node32S

Node32s เป็นบอร์ดไมโครคอนโทรลเลอร์ ที่มี WIFI โดยใช้ ESP32 จาก Espressif ซึ่งต่อยอดมาจาก ESP8266 รุ่นยอดนิยม ที่เพิ่มเติมส่วนของ Bluetooth Low-energy (BLE BT4.0, Bluetooth Smart) และ เพิ่ม GPIO ไปถึง 30 I/O และ แก่นประมวลผลหลักแบบ dual core เป็นครั้งแรกที่เราในโลกอีกแล้วที่เราจะได้ใช้ไมโครคอนโทรลเลอร์ แบบ dual core ที่ราคาถูกกว่า 10 เหรียญ ในอนาคตคาดว่า ถูกลงไปอีก

ESP32_Pinout_a1_3

เอาล่ะครับ ผมว่าตอนนี้หลายคน คงจะมีบอร์ด ESP32 สักรุ่นอยู่ในมือ ไม่ว่าจะเป็น Nano32 หรือจะเป็น ESP32 DevKit หรือจะให้ดีเป็น Node32s ของทางเราออกแบบเองก้อจะดีมากครับ สำหรับการพัฒนาโปรแกรมบน ESP32 ทาง Espressif  ได้เตรียม Tools ไว้แล้ว มากมายครับ และ หนึ่งในนั้นที่เราจะมาแนะนำให้เป็นขวัญ และ กำลังใจของเพื่อนๆก่อน คือ ใช้ Arduino ครับ

สำหรับบอร์ดที่ทางเราใช้เป็น Node32s ครับ ที่ภูมิใจ ไทยทำ และ ตอนนี้มีจำหน่ายแล้ว ที่ Gravitech Thai  

สำหรับ Arduino ในขั้นตอนแรกเราต้องปรับแต่งให้ Arduino IDE มีบอร์ด ESP32 Core สักก่อนครับ เนื่องจาก ESP32 เป็น core cpu จาก Tensilica ใช้คอมไพล์เลอร์ร่วมกับ AVR และ ARM ไม่ได้ครับ แต่ทาง Espressif ได้คอมไพล์เลอร์ไว้ให้เราแล้ว และในตอนนี้ Arduino ESP32 ยังใหม่มากครับ เพิ่งเปิดให้ใช้ไม่ถึงเดือนเลยครับ ของใหม่มากๆ และตอนนี้ยังมีการ update กันบ่อยมาก รายวันก้อว่าได้ครับ ทางผมแนะนำวิธีการติดตั้ง โดยตรงจาก Github กันเลยครับ

วิธีติดตั้งทางผมเอามาจาก Github  ของทาง Espressif เลยครับ

capture-20161007-011056

เตรียมซอฟท์แวร์ก่อนการติดตั้ง

  1. ติดตั้ง Git Command line ก่อน
  2. ดาวโหลด Python 2.7.x
  3. ติดตั้ง Arduino IDE

วิธีการติดตั้ง Arduino ESP32 CORE

  • สำหรับการติดตั้ง Arduino IDE เวอร์ชั่น 1.6.9 ขึ้นไปนะครับ
  • ไปที่ directiory ที่เก็บของ arduino ide ด้วยคำสั้ง CD…
  • จากนั้นพิมพ์ คำสั่งตามภาพ
mkdir hardware
cd hardware
mkdir espressif
cd espressif

capture-20161007-011406
  • จากนั้น clone โปรเจค arduino-esp32 จาก github ลงมาด้วยคำสั่ง

git clone https://github.com/espressif/arduino-esp32.git esp32

***** แต่ว่าถ้าคุณใช้คำสั่งนี้ไม่ได้ อีกทางเลือก download src mater มาลงใน directory hardware ก็ได้เช่นกัน แต่ไม่แนะนำนะครับ เพราะว่า ถ้าทาง github มีอะไร update จะ update เฉพาะบางส่วนไม่ได้

  • ติดตั้ง Tools พวก คอมไพล์เลอร์ กันต่อ ด้วยการพิมพ์

capture-20161007-012222

อันล่ะถึงเวลาทดลอง เมื่อเปิดเข้ามาให้เปิด ดูที่ tools จะพบบอร์ด ESP32 Arduino

  • ให้เลือกบอร์ด node32s ล่ะครับ
  • เลือก Port ที่เจอ node32s
  • Upload Speed “921600” แต่ถ้ามีปัญหา ลองล
    ดลงมาได้ครับ

 

node32

ลองดูที่ตัวอย่างที่ใช้งานมาด้วยครับ แต่ยังไม่มากครับ น่าจะเป็นตัวอย่างเดียวกับที่ใช้ใน esp8266

board2

จากนั้นลอง เปิด Example blink ออกมา แล้วกดคอมไพล์ดูครับ ถ้าขึ้น error ประมาณในภาพ  ให้ปิดโปรแกรม แล้วกลับไปติดตั้ง PySerial จากวิธีนี้ก่อน ติดตั้ง Python และ Python Serial
capture-20161007-012657

เอาล่ะ ลองใหม่อีกรอบ ตอนนี้น่าจะ คอมไพล์ผ่านแล้วครับ

capture-20161007-014106

สำหรับ Node32s ให้เปลี่ยน LED_BUILTIN จะอยู่ที่ขา 2 นะครับ เอาล่ะครับ แล้วลอง Upload เข้าไปใหม่นะครับ ถ้าไม่เจอปัญหาใดๆ จะขึ้นแบบข้างล่างนี้ล่ะ

capture-20161123-215134

สำหรับวิธีการ check ว่า บอร์ดเราคุยกับ คอมพิวเตอร์ได้หรือป่าวนะครับ ให้ลองเปิด Serial Monitor แล้ว เลือกความเร็วที่ 115200 ถ้ากด EN แล้วปล่อยจะขึ้น Message แบบในภาพนะครับ

g5503

capture-20161123-214935

และ ถ้ากดปุ่ม Boot ค้างแล้วกด EN แล้วปล่อย จะเข้าโหมด โปรแกรมครับ ซึ่งจะขึ้น Message แบบในภาพครับ

capture-20161123-215013

ถ้าในเจอปัญหาอะไรเกี่ยวกับการติดตั้ง ก็แจ้งได้ครับ ส่วนวันนี้ ลองเปิดตัวอย่างเล่นดูนะครับ ตอนนี้ โปรเจค ESP32 ยังอยู่ในช่วง Work in Progress ยังไม่สมบูรณ์ ซึ่งจะรวม

  • Bluetooth
  • Analog Input ( analogRead([pin]) )
  • Analog Ouptut (analogWrite([pin], [value]))
  • WiFi Server and WiFI UDP
  • Real-Time Clock
  • Touch-controller interface

แต่ Wifi ก็ยังใช้งานได้นะครับ แต่อาจจะยังไม่สมบูรณ์เหมือน ESP8266 ที่มี Lib มากมาย แต่ตอนนี้ยังมีอะไรให้ลองใช้งานได้เยอะอยู่ครับ เดี่ยวทางเราจะค่อย Update ให้เมกเกอร์ชาวไทยตามกันทันแน่นอน

chang

ชื่อ “ช้าง” ส่วนมากเขาจะเรียกว่า “พี่ช้าง” แล้ว มีความสนใจทางเทคโนโลยีทางคอมพิวเตอร์ อิเล็กทรอนิกส์ และ หุ่นยนต์ เป็นทั้งนักคิด นักประดิษฐ์ ชอบทดลองเล่น จนเดี่ยวนี้รู้สึกว่าจะเล่นมากกว่ามืออาชีพไปสักแล้ว

One Comment

  • Rezel says:

    กดปุ่ม EN แล้วปล่อย แต่ Serial Monitor ไม่ขึ้นอะไรเลยครับ
    แต่ถ้ากด BOOT แล้วกด EN ไม่มีปัญหาครับ

Leave a Reply