ต่อจากตอนที่แล้ว หลักจากที่เราได้ทำการ setup สวนของ MCU (ATmega32U4) หรือจริงแล้วก็คือ Arduino Leonado นั่นเอง ต่อไปเราจะมาทำการกำหนดค่าต่าง ๆ สำหรับในส่วนของ NodeJS นั้น Linkit Smart 7688 มีมาให้เราพร้อมใช้งานอยู่แล้วไม่ต้องทำการติดตั่งเพิ่มใดๆ ทั้งสิ้น เราสามารถเช็คได้โดยทำการ SSH เข้าไปที่ Linkit ในที่นี้จะใช้ Puuty
- Connection Type เลือก SSH
- Host Name Or IP Address root@mylinkit.local
ป้อนระหัสผ่านของ Root
พร้อมใช้งาน
จากนั้นให้เราพิมพ์ node -v แล้วกด enter
แสดง version ของ node
จากนั้นให้เราพิมพ์ npm -v แล้วกด enter
แสดง version ของ Node Package Manager (npm)
Node Package Manager (npm) คืออะไร? ในการใช้งาน nodejs นั้นจะมี package ให้เราใช้งานมากมายในการเพิ่ม node package เข้ามาใช้งานนั้นจะต้องติดจั่งผ้าน npm (Node Package Manager ) ฉนั้น package ที่เราจะใช้งานในบทความนี้หรือต่อไปจะมีอย่ด้วยกัน 4 package คือ
- express
- mqtt
- socket.io
- johnny-five
ในบทความนี้เราจะต้องทำการติดตั้ง johnny-five กันก่อน แต่เนื่องจากว่า Linkit Smart 7688 มี Flash ข้อมข้างน้อยเราจึกต้องทำงานบน SD Card แทน
จากรูปจะเห็นได้ว่าเหลืออยู่น้อยมาก แต่เราก็สามารถทำการ set ให้ระบบ File System ไปอยู่บน SD Card ได้เหมือนกัน เดี๋ยวค่อยว่ากันในบทความต่อไป
ให้เราทำการ mount sd sdcard ด้วยคำสั่ง mount /dev/mmcblk0p1 /mnt จากนั้นใช้คำสั่ง df -m เพื่อเช็คดูว่าสามารถ mount sdcard สำเร็จหรือไม่ โดยจะมีส่วนของที่เราทำการ mount เข้ามาใหม่
Mount sdcard
จากนั้นให้เราทำการเปลี่ยน directory ไปที่ sdcard ด้วยคำสั่ง cd /mnt แล้วสร้าง folder ขึ้นมาใหม่ mkdir node_app แล้วเปลี่ยน directory ไปที่ node_app
ต่อจากนี้ไปเราจะทำงานอยู่บน sdcard ที่ folder node_app
ต่อไปเราจะทำการติดตั่ง node package ที่ชื่อว่า johnny-five ด้วยคำสั่ง
npm install --save-dev johnny-five
จะใช้เวลาประมาณหนึ่งก็ให้ใจเย็นจิบกาแฟรอ
จากนั้นเราจะทำการทดสอบว่าสามารถใช้งานได้หรือป่าว โดยเราจะเขียน JavaScript ในส่วนของ nodejs ซึ่งจะใช้ Editor ตัวไหนก็ได้ในที่นี่จะใช้ Visual Studio Code
จากนั้นเราจะต้องทำการ เอา code ของเราไปวางไว้ที่ /mnt/node_app โดยใช้โปรแกรมที่ชื่อว่า
winscp สามารถ download ได้
ที่นี่ .
เมื่อ download เรียบร้อยแล้วให้ทำการแตก file แล้วเรียกใช้งาน WinSCP.exe
คลิกที่ปุ่ม New เพื่อสร้างการติดต่อใหม่
File protocal เลือกเป็น SCP ในช่อง Host Name ป้อน mylinkit.local และ User Name root จากนั้นกดปุ่ม Save แล้วตั่งชื่อตามความชอบ
จากนั้นกดปุ่ม Login
ป้อนรหัสผ่าน
คลิกที่ปุ่ม Open dirextory เพื่อเปลี่ยนช่องซ้ายไปอยู่ในส่วนที่เราเก็บ code เอาไว้
ช่องขวาก็เปลี่ยนไปที่ /mnt/node_app
ช่องซ้ายมือ คลิกเลือก file ที่ต้องการ upload แล้วลากไปทางช่องขวามือ แล้วปล่อย จากนั้นกดที่ปุ่ม Coppy
File ถูก Upload ไปเรียบร้อย
กลับไปที่ Putty ลองเช็ดดูว่ามี file หรือป่าวด้วย คำสั่ง ls
สั่ง run script ด้วยคำสั่ง node blink จะใส่ .js หรือไม่ใส่ก็ได้
มาถึงตอนนีเให้เราดูที่บอร์ด LED จะติดกระพริบ ซึ่งมันจะต่ออยู่กับ D13 ของ ATmega32U4
จาก Code
บรรทัดที่ 1 เป็นการเรียกใช้งาน package johnny-five
บรรทัดที่ 2 สร้างส่วนติดต่อกับบอร์ด ซึ่งการติดต่อระหว่าง MPU กับ MCU จะใช้ ttyS0 กับ Serial1
บรรทัดที่ 4 เป็น function callback ถ้าการติดต่อสำเร็จจะถูกเรียกใช้งาน
บรรทัดที่ 7 เมื่อการเชื่อต่อสำเร็จ จะทำการสร้าง object led ที่ D13
บรรทัดที่ 11 สั่ง blink ที่ 500 ms
มาถึงตอนนี้เราก็ Hello Johnny-Five ได้แล้ว หวังว่าจะมีประโยชน์ไม่มากก็น้อย