บอร์ด WiFiMCU อีกทางเลือกในการใช้โมดูล EMW3165

บอร์ดไมโครคอนโทรลเลอร์ที่มาพร้อมกับ Wi-Fi อีกตัวครับ คือ WiFiMCU แนวคิดคล้ายๆ กับ NodeMCU แต่เปลี่ยนจากการใช้โมดูล ESP8266 (แบบที่ TESPA ใช้) ไปใช้ชิป EMW3165 ซึ่งคือไมโครคอนโทรลเลอร์ STM32F4 จาก ST ที่เป็น ARM Cortex-M4 ความเร็ว 100MHz หน่วยความจำ flash ในตัวชิปเองจำนวน 512KB รวมกับ flash ที่ต่อเพิ่มให้อีก 2MB บนบอร์ดผ่านการเชื่อมต่อแบบ SPI ส่วน RAM มีขนาด 128KB

การโปรแกรมนั้นก็คล้ายๆ กับ NodeMCU คือใช้ภาษา Lua ทำได้โดยผ่านทาง serial port ซึ่งมี USB to serial เป็นชิป CP2102 อยู่บนบอร์ดมาให้แล้ว เอาต่อกับ USB ของคอมพิวเตอร์ได้เลย แล้วเปิดโปรแกรมที่เป็นตัวจำลอง terminal อย่างเช่น SecureCRT หรือ PuTTY หรือใช้โปรแกรม WiFiMCU Studio ที่ออกแบบให้โปรแกรมบอร์ดได้โดยง่าย จากผู้สร้าง WiFiMCU ก็ได้เช่นกัน

ในเรื่องของการติดตั้ง bootloader และ firmware (ซึ่งเปิดเผย source code) ลงที่ flash ของบอร์ด นอกเหนือจากวิธี SWD ที่ใช้กันกับชิปจาก ST แล้วก็ยังสามารถทำผ่าน serial port เช่นกัน ด้วยวิธี Y MODEM รายละเอียดเต็มๆ ก็มีคู่มือให้

source code ผมลองไล่ๆ ดู ยังไม่เห็น SSL/TLS นะครับ แต่เห็นโค้ด hash SHA-1 ซึ่งคงไม่ปลอดภัยแล้ว และเห็นโค้ดสำหรับ real-time clock (RTC) ด้วย ซึ่งตัวบอร์ดมี crystal ความถี่ 32,768Hz ที่มักใช้กับ RTC แต่ไม่แน่ใจว่าจะต่อแบตสำรองให้เวลาเดินได้ต่อเนื่องที่ขาไหน

การเชื่อมต่อ แน่นอนว่าต้องมี Wi-Fi IEEE 802.11 b/g/n สมชื่อ และ USB สำหรับโปรแกรมให้ตัวบอร์ด และ SWD ของชิป ST นอกจากนี้ก็มี GPIO จำนวน 17 ขา, PWM 11 ขา, UART 3 ช่อง, ADC(5)/SPI(1)/I2C(1)

ราคาใน Aliexpress ดูแล้วไม่ถึง 12 ดอลลาร์ก็มีขาย ส่วนในไทยก็เห็นมีผู้นำเข้ามาขายเหมือนกัน อันที่จริงโครงการนี้ก็มีการระดมทุนที่ Kickstarter มาแล้วแต่ไม่สำเร็จ โดยส่วนตัวอยากได้ แบบ Arduino IDE เขียนโปรแกรมแบบ sketch แล้วทำเสมือนว่าเป็น firmware เพื่อ burn ลงชิป

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s