วันศุกร์ที่ 19 กุมภาพันธ์ พ.ศ. 2559

LinkIt-Smart-7688 คอนโทรเลอร์ที่น่าสนใจในเวลานี้

หลังจากที่ได้รับโจทย์ด่วนมาเรื่องเครื่องสแกนลายนิ้วมือสำหรับสาขาหรือจุดที่มีคนใช้งานเพียงแค่ 1-2 คน ซึ่งเป็นสาขาย่อย หากจะติดตั้งเครื่องสแกนลายนิ้วมือตามท้องตลาดก็ดูเหมือนจะขี่่ช้างจับตั๊กแตนอย่างแน่นอน เพราะราคาอยู่ที่ 5 พันบาทขึ้นไป แต่เป็นรุ่นที่เก่าและจะหายไปจากตลาดในเร็ววัน

ถ้าเครื่องดีๆ หน่อยก็อยู่ที่ 8 พันบาทขึ้นไป และมักจะจบที่ 1x,xxx อย่างแน่นอน แต่ประเด็นไม่ได้อยู่ที่ราคาเพียงอย่างเดียว แต่อยู่ที่ข้อมูลรายการที่สแกนเข้าออก เพราะปัจจุบันข้อมูลต่างๆ ยังอยู่ในเครื่องรอให้ผู้ใช้งานเชื่อมต่อเข้าไปเพื่อดึงข้อมูลออกมาอีกครั้งหนึ่ง

ส่วนเครื่องสแกนที่ส่งข้อมูลแบบ Real Time หรือส่งข้อมูลทันทีนั้นมีเหมือนกันแต่ราคาก็สูงขึ้นไปอีก ทำให้เกิดแนวคิดที่จะแก้ไขปัญหา 2 ประการ คือ


  1. ซื้อ USB Finger Print Reader ซึ่งเป็นเครื่องอ่านแบบ USB ราคาประมาณ 3,000 ถึง 5,000 บาท 
  2. ประกอบเครื่องสแกนนิ้วด้วย Arduino หรือคอนโทรเลอร์อื่นๆ ราคาโดยรวมประมาณ 4-5,000 บาท
จากวิธีทั้งสองประการก็มีข้อดีข้อเสียดังนี้

  1. USB Finger Print Reader ต้องเชื่อมต่อกับเครื่องคอมพิวเตอร์ และเขียนโปรแกรมเพิ่มเพื่อส่งข้อมูลไปเก็บไว้ในเซิร์ฟเวอร์ ซึ่งมีปัญหาต้องเปิดเครื่องก่อนเข้างาน หากสาขานั้นมีเครื่องเพียงเครื่องเดียว พนักงานต้องเปิดเครื่องก่อนเวลางานอย่างน้อย 30 นาที ถึง 1 ชั่วโมง 
  2. เครื่องประกอบ สามารถใช้งานได้ครบถ้วนกว่า แต่มีความยุ่งยากในการประกอบลงกล่อง และต้องใช้เวลาพัฒนานานกว่าข้อ 1
ถึงแม้ว่าจะมีแนวโน้มที่ประกอบเองใช้เป็นหลักมากกว่า ก็ต้องมองไปที่อุปกรณ์ที่ต้องใช้

Finger Print Reader จาก ADAFruit

เป้าหมายตั้งไว้ที่เครื่องอ่านลายนิ้วมือของ ADAFruit ซึ่งมีราคาที่ 1,800 บาท (ThaiEasyElec) ตามรายละเอียดแล้วเก็บลายนิ้วมือได้ 162 ลายนิ้วมือ และพนักงานคนหนึ่งก็เก็บ 2 ลายนิ้วมือ สามารถเก็บได้ 81 คน ก็มากสำหรับสาขาหนึ่งๆ

สำหรับบอร์ดที่ใช้งานตั้งเป้าไว้ที่บอร์ด Arduino เพราะง่ายต่อการเชื่อมต่อ มีตัวอย่าง Library ให้ศึกษาโดยไม่ยุ่งยาก แต่ก็มองหาอุปกรณ์สำหรับเชื่อมต่ออินเตอร์เน็ต เพื่อรับส่งข้อมูลจาก Arduino ไปยังเซิร์ฟเวอร์ตามที่ตั้งเป้าหมายไว้

เมื่อไปถึงร้าน ThaiEasyElec พนักงานแนะนำให้ลองใช้ Linkit Smart 7688 ซึ่งเป็นคอนโทรเลอร์ตัวใหม่เพิ่งออกวางตลาดไม่กี่เดือนนี่เอง ซึ่งคอนโทรลเลอร์ตัวนี้มีจุดแข็งเรื่องการเชื่อมต่ออินเตอร์เน็ต เพราะภายในบรรจุระบบของ OpenWRT ซึ่งเป็นซอฟท์แวร์จัดการระบบในอุปกรณ์ Router 

โดย Smart 7688 มีสองรุ่น คือ LinkIt Smart 7688 กับ LinkIt Smart 7688Duo โดยตัวหลังนี้เป็น Smart 7688 + Arduino แต่วันที่ไปซื้อของหมดเลยซื้อ Smart 7688+BrakeOut เพื่อเชื่อมต่ออื่นๆ ได้อย่างสะดวก

โดยราคาที่ซื้อเพื่อมาเป็นต้นแบบเครื่องสแกนลายนิ้วมือทั้งหมดอยู่ 3,300 บาท ถ้าการประกอบจริงสามารถลดค่าใช้จ่ายอื่นๆ ได้ แต่ก็ยังไม่รวมราคากล่องที่จะประกอบให้เป็นผลิตภัณฑ์

LinkIt Smart 7688

Brake Out สำหรับ Smart 7688 รุ่นนี้จะสามารถต่อลำโพงได้ แต่ Duo จะไม่มีช่องเสียง
เมื่อประกอบเข้ากับ Break Out แล้วจะทำให้บอร์ดสามารถเชื่อมต่อแลนได้ และมีช่อง USB สำหรับต่ออุปกรณ์อื่นๆ ได้

หลังจากได้รับบอร์ดมาแล้วก็ลองพยายามให้บอร์ดติดต่อกับ Finger Print Reader แต่ติดที่ภายในบอร์ดเหมาะสำหรับเขียนด้วยภาษา Python และ Node.js ซึ่งผู้เขียนยังไม่สามารถให้บอร์ดติดต่อกับเครื่องสแกนลายนิ้วมือได้ จึงเปลี่ยนวิธีการ โดยนำเอา Arduino NANO มาประกอบเพื่อทดสอบเครื่องสแกนให้เรียบร้อยก่อน

สำหรับบอร์ด Smart 7688 นี้หากนำมาใช้งานเมื่อเสียบไฟเข้ากับบอร์ดผ่านทางพอร์ต USB แล้วภายในเครื่องสามารถเป็น Access Point ทันที โดยเราสามารถเชื่อมต่อไปที่เราเตอร์ได้ และการเข้าไปเขียนโปรแกรมก็ผ่าน SSH ตามหมายเลขไอพี ซึ่งค่าปกติเป็น 192.168.100.1

เมื่อเชื่อมต่อเข้าไปที่เร้าเตอร์ไอพี 192.168.100.1 แล้วให้กำหนดรหัสผ่านสำหรับ root ให้เรียบร้อยก่อน แล้วเข้าไปที่หน้าจอ Wifi และไปเปิดการเชื่อมต่อ Wifi อีกขั้นตอนหนึ่ง

คลิก Enable เพื่อเชื่อมต่อกับ Wi-Fi ที่เรามีในบ้าน

เมื่อคลิก Enable แล้วรอให้ Smart 7688 รีสตาร์ทสักพัก คราวนี้ก็จะสามารถใช้งานได้สองแบบ คือ ตัวเครื่องเป็น AP ชื่อ LinkIt_Smart_7688_xxxx และอีกด้านหนึ่งก็เชื่อมต่อไปยัง Wi-Fi เพื่อออกอินเตอร์เน็ตอีกด้วย

และรอบนี้เราจะต้องเปลี่ยนวิธีการเชื่อมต่อเล็กน้อย โดยไม่ต้องเข้าไปที่ IP ทั้งฝั่ง AP หรือ ฝั่ง Station แต่เราจะเรียกเข้าไปที่ชื่อ Host โดยตรงปกติจะกำหนดไว้เป็น mylinkit.local เมื่อเข้าไปแล้วก็ล็อกอินได้ตามปกติ

หน้าจอล็อกอินที่เรียกจาก mylinkit.local

ส่วนการเชื่อมต่อผ่านทาง SSH นั่นจะทำได้ผ่านโปรแกรม Putty สำหรับ Windows โปรแกรม ssh ผ่าน Terminal ของ Mac OS หรือ Linux โดยสามารถระบุ mylinkit.local หรือจะระบุ IP ก็ได้

การเชื่อมต่อทาง Serial Port

เป็นปกติที่คอนโทรเลอร์ส่วนใหญ่ต้องติดต่อผ่านทาง Serial Port ซึ่งแปลงผ่าน USB อีกครั้งหนึ่ง Smart 7688 ก็เช่นกัน นอกจากจะต่อผ่าน ssh ได้แล้ว ยังสามารถเชื่อมต่อกับคอมพิวเตอร์ผ่าน Serial Port ได้อีกทางหนึ่ง โดยผู้เขียนลองใช้ UART TTL USB โดยใช้ IC 2104 โดยเชื่อมต่อไปยังขา UART MT7688 ของตัวคอนโทรเลอร์ โดยต่อขาดังนี้


USB -> Smart 7688
TX -> RX
RX -> TX
5V -> 5V
GND -> GND

เชื่อมต่อทาง UART MT7688 ผ่าน CP2104

คอมพิวเตอร์มองเห็น CP210x ที่ COM4

เชื่อมต่อไปยัง COM4 ความเร็วที่ 57600

แรกเข้าหน้าจะเป็นสีดำว่างๆ ให้กดปุ่ม Enter ก็จะเห็นสูตรชงเหล้า :D


ความสามารถของ LinkIt Smart 7688 โดยรวมแล้วเป็นเร้าเตอร์ที่สามารถต่อขาควบคุมอุปกรณ์ต่างๆ ได้อีก ซึ่งจะเขียนถึงภายหลังตอนนี้ขอกล่าวถึงวิธีการเชื่อมต่อและการเข้าถึงโดยรวมก่อน...



ไม่มีความคิดเห็น:

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

Gtk4 ตอนที่ 6 Defining a Child object

Defining a Child object A Very Simple Editor ในบทความที่ผ่านมาเราสร้างโปรแกรมอ่านไฟล์ชนิดข้อความ และในบทความนี้ก็จะมาปรับแต่งโปรแกรมกันสักหน...