จบงาน KidBright Developer Meetup #1 สร้าง plugin แบบง่ายๆ ได้ 1 อัน

หลังจากไปร่วมงาน KidBright developer meetup มาก็เลยได้ลองสร้าง KidBright plugin ง่ายๆ มา 1 อัน เป็น plugin ไฟกระพริบ ใช้เครื่องมือ generator ทุ่นแรงจากน้องนัทช่วยสร้างโครงให้

จบงานได้มา 1 block เป็น เปิด/ปิด LED บนบอร์ดแบบง่ายๆ ถ้าเอาเข้า loop ใส่ delay นิดหน่อยก็ได้ไฟกระพริบแล้ว

แล้วก็มาทำต่อเพิ่มเติม ให้ครบตามข้อกำหนดของการสร้าง block

แปะ git repository ไว้ให้ https://github.com/anoochit/kidbright_ledx ปล.ไม่มีบอร์ด KidBright เลยไม่ได้ทำอะไรต่อ

แนวคิดเบื้องหลัง Blockly ในมุมมองของนักพัฒนาซอฟต์แวร์

ช่วงนี้ได้มาศึกษา Blockly ของ Google โครงการ Blockly ถูกนำไปประยุกต์ใช้ในหลายโครงการโดยส่วนใหญ่ เน้นเป็นเครื่องมือสำหรับเด็กเพื่อฝึกหัดเขียนโปรแกรม โดยส่วนตัวรู้สึกแปลก เพราะการเขียนโปรแกรมต้องเขียนเป็นชุดคำสั่งและชุดคำสั่งก็ต้องเขียนเป็นชุดคำสั่งจริงๆ บน text editor ไม่ใช่เป็นการลาก block เอามาวางต่อกัน แล้วจะเหมาะสำหรับเด็กที่ต้องการฝึกเขียนโปรแกรมได้อย่างไร แต่หลังจากที่ได้อ่านแนวทางการออกแบบ block สำหรับนักพัฒนา จากเว็บไซต์ Google Developer ก็เข้าใจว่ามีแนวทางการออกแบบไม่ใช่แค่ block มาต่อๆ กันแล้วใช้งานได้ เหมือนอย่างที่เข้าใจ

การออกแบบเป็นสิ่งสำคัญ Blockly ถือเป็น IDE รูปแบบหนึ่ง ซึ่งการออกแบบ block ในแต่ละแบบสามารถกำหนดเงื่อนไขต่างๆ ได้ เช่น ชุดคำสั่งเดี่ยว คำสั่งส่งค่า (output statement) คำสั่งรับค่า (input statement) เป็นต้น ซึ่งเงื่อนไขต่างๆ สามารถกำหนดได้ตามความเหมาะสมของผู้ออกแบบ ลองมาดูตัวอย่าง block แบบต่างๆ กัน

ชุดคำสั่งที่มี input / output ตัวอย่างเช่น คำสั่งหาความยาวของตัวอักษร ซึ่งคำสั่งนี้ต้องรับค่าเป็น string เมื่อคำนวนความยาวได้แล้วจึงส่งข้อมูลออกไป ตัวอย่าง block จะเป็นแบบนี้

จะเห็นว่ามีการรับเข้าทางขวาและส่งค่าออกทางซ้าย ตามรูป ซึ่งผู้ออกแบบสามารถกำหนดได้ว่า block แบบนี้จะต้องต่อกับ block ที่เป็นตัวแปล string เท่านั้น

block ที่มีการเชื่อมต่อกับคำสั่งถัดไป (Next Connection) ชุดคำสั่งประเภทนี้จะมีจุดเชื่อมในส่วนท้ายของ block เพื่อต่อกับคำสังถัดไป ถ้าเป็นคำสั่งแบบเหตุการจะเพิ่มหมวกเข้าไปเพื่อแสดงความแตกต่าง

block ที่มีการเชื่อมต่อกับคำสั่งก่อนหน้า (Previous Connection) ชุดคำสั่งประเภทนี้จะมีจุดเชื่อมในส่วนบนของ block

block ส่งค่า (Block Output) โดยส่วนใหญ่จะส่งค่าออกมา 1 ค่า รูปแบบของ block จะมีหัวคล้ายจิ๊กซอออกมาทางด้านซ้ายของบล็อก ดังรูป

block รับค่า (Block Input) เป็น block ที่สามารถรับค่าที่ส่งออกมาจาก block อื่นๆ ได้ ซึ่งมีรูปร่างหลายแบบ จากตัวอย่างเช่นคำสั่งวนรอบตามเงื่อนไข

จากภาพ block เราจะเห็นว่าสามารถเลือกคำสั่งที่เป็น drop down ได้ และใส่เงื่อนไขให้ได้ ซึ่งเป็น block ที่มี input และ output นั่นเอง จากภาพเป็นฟังก็ชั่น isEmpty(var) เป็นต้น

ลักษณะของ Input field ยังมีหลายแบบ เป็น dropdown list, รับค่าจาก block อื่น หรือแม้กระทั่งกรอกข้อมูลลงไปได้

สำหรับชนิดของข้อมูลที่จะรับเข้า หรือส่งออก สามารถกำหนดได้เช่นกัน ซึ่งฟิลด์ชนิดข้อมูลในเบื้องต้นมีดังนี้

  • field_input
  • field_dropdown
  • field_checkbox
  • field_colour
  • field_number
  • field_angle
  • field_variable
  • field_date
  • field_label
  • field_image

รูปแบบ Input มีดังนี้

  • input_value
  • input_statement
  • input_dummy

ลักษณะการเรียงขององค์ประกอบ block ก็สำคัญเช่นกัน บางประเทศเป็นการอ่านจากขวามาซ้าย (RTL) ไม่ได้เป็นการอ่านจากซ้ายมาขวา ดังนี้ต้องวางรูปแบบให้เหมาะสม

การเรียงลำดับของชุดคำสั่งในแต่ละ block ก็ควรสื่อความหมาย เช่น คำสั่ง repeat ต้องรับค่าตัวเลขจำนวนครั้งเข้ามา จากนั้นจึงวนรอบชุดคำสั่งภายใน เป็นต้น

การเรียงแบบ Inline หรือ External สำหรับการรับค่าก็มีรูปแบบแตกต่างกัน ตัวอย่างคำสั่ง count เรียงแบบ Inline, External

ฟิลด์ (Fields) สามารถกำหนดได้หลายรูปแบบตามประเภทของฟิลด์ เช่น

ฟิลด์แบบตัวเลข

ฟิลด์สำหรับป้ายกำกับ (Label)

ฟิลด์สำหรับรูปภาพ (Field Image)

ฟิลด์สำหรับตัวอักษร (Text Field)

ฟิลด์แบบตัวเลือก (Drop-down Field)

ฟิลด์แบบเช็คบ็อกซ์ (Checkbox Field) ส่วนใหญ่ใช้กับค่าที่เป็น boolean

ฟิลด์เลือกเชดสี (Color Picker Field)

ฟิลด์สำหรับตัวแปร (Variable Field)

ฟิลด์สำหรับตัวเลข (Number Field)

ฟิลด์สำหรับค่าองค์ศาของมุม (Angle Field)

ฟิลด์วันที่ (Date Field)

ผู้ออกแบบสามารถกำหนดคำแนะนำ (Tooltips) และลิงค์สำหรับข้อมูลเพิ่มเติมให้กับ block ได้ด้วย นอกจากนี้ยังมีแนวทางสำหรับ block ประเภทอื่นๆ ไว้ด้วยดังนี้

การตั้งค่า (Configuration) จะเป็น block ชุดคำสั่งเดียว สำหรับกำหนดคุณสมบัติต่างๆ ให้กับโปรแกรมนั้นๆ

คำสั่งต่อเนื่อง (Serial program) ชุดคำสั่งต่อเนื่องจะเป็นคำสั่งโดดๆ สามารถเอามาเรียงต่อกัน การประมวลผลจะเป็นไปตามลำดับของ block ที่เอามาเรียงต่อกันนั่นเอง

คำสั่งทำงานคู่ขนาน (Pararell program) block คำสั่งทำงานคู่ขนานจะประมวลผลอยู่คนละแกน (core) ของหน่วยประมวลผล อาจจะเรียกว่าเป็น task ก็ได้

คำสั่งเหตุการณ์ (Event Driven Program) block คำสั่งแบบนี้มักจะใช้กับเหตุการณ์ที่ถูกกำหนดไว้ เช่น เมื่อคลิกเมาส์ เมื่อกดปุ่ม เป็นต้น

นอกจาก block ที่เอามาเรียงต่อกันเป็นชุดคำสั่งแล้ว ระบบหลังบ้านของ Blockly จะมี generator ช่วยแปลง block ต่างๆ ออกมาเป็นชุดคำสั่งภาษาโปรแกรม เพื่อเอาไป compile เพื่อให้เป็นโปรแกรมตามปกติ

หลังจาก KidBright Developer Conference เกิดอะไรขึ้นบ้าง

NECTEC เปิดตัว KidBright เป็นโครงการ OpenSource ในงาน KidBright Developer Conference เมื่อวันเสาร์ที่ผ่านมา ก็ได้มีการรวมตัวของ Maker Community ว่าจะจัดกิจกรรมที่เกี่ยวข้องกับ KidBright บ้าง ก็เลยเกิดงาน KidBright Develper Meetup ตอน มาสร้าง Plugin ให้ KidBright IDE กันเถอะ นำทีมโดยท่านประธานชมรมเชียงใหม่เมกเกอร์

ท่านใดสนใจก็เข้าร่วมลงทะเบียนกันได้ ปล. ระหว่างนี้ก็แกะ KidBright IDE กันไปพลางๆ ก่อน อ้อ เกือบลืมไป น้องนัททำ KidBright Generator ไว้น่าจะทำให้การขึ้นโครงของ Plugin ง่ายมากขึ้น อัพเดท…ทางชมรมเมกเกอร์มหานครก็จัดกิจกรรม workshop และมีเรื่องการพัฒนา Plugin เพิ่มเติมเช่นเดียวกัน อย่าลืมลงทะเบียนก่อนไปงานนะครับ 🙂

มารู้จัก Edge Computing กัน

Edge Computing เป็นคำที่ได้พบเจอกันบ่อย เหมือนกับคำว่า IoT, Cloud, BigData หากจะอธิบายถึง Edge Computing คงต้องย้อยอดีตกันสักหน่อย เพื่อจะได้เห็นวิวัฒนาการที่ผ่านมา ช่วงแรกเริ่มการใช้งานคอมพิวเตอร์ใช้งานผ่าน dumb terminal พิมพ์คำสั่งแล้วรอผลจากการประมวลผลที่คอมพิวเตอร์เมนเฟรมปลายทางส่งผลลัพท์มาให้ จากนั้นก็เข้าสู่ยุคคอมพิวเตอร์ส่วนบุคคล (PC) ที่ทุกคนมีคอมพิวเตอร์ใช้งาน การประมวลผลจะอยู่ที่เครื่องคอมพิวเตอร์ต้นทาง ในปัจจุบันเป็นยุค Cloud Computing วิธีการใช้งานคอมพิวเตอร์ได้เปลี่ยนไป โปรแกรมคอมพิวเตอร์เชื่อมต่อกับ Cloud มากขึ้น การประมวลผลและการใช้งานบริการต่างๆ อยู่บน Cloud มากขึ้น เช่น บริการ Dropbox, Gmail, Office365 เป็นต้น ไม่เพียงแต่คอมพิวเตอร์ส่วนบุคคลเท่านั้นที่เชื่อมต่อกับ Cloud ยังมีอุปกรณ์อัจฉริยะอย่าง Amazon Echo, Google Home, Google Chromecast และ Apple TV ยังใช้เนื้อหาและบริการอัจฉริยะที่อยู่บน Cloud เช่นกัน

Cloud จึงกลายเป็นศูนย์กลางการเชื่อมต่อกับบริการทุกอย่าง บริษัทยักษ์ใหญ่ลงทุนโครงสร้างพื้นฐานด้าน Cloud เพื่อรองรับบริการของตนเอง รวมไปถึงเปิดบริการ Cloud ให้คนอื่นใช้งานด้วย บริการบน Cloud ไม่ได้มีแค่ infrastructure เท่านั้น ยังมีบริการอื่นๆ เพิ่มเติมอีกหลายอย่าง เช่น Machine Learning, AI รวมไปถึงบริการการประมวลผลข้อมูลขนาดใหญ่ เช่น Big Data อีกด้วย Amazon ถือเป็นผู้ให้บริการ Public Cloud รายใหญ่ มีส่วนแบ่งการตลาดมากกว่า 47 เปอร์เซ็นต์

Edge Computing คือการประมวลผลข้อมูลที่อยู่ใกล้กับแหล่งข้อมูลให้มากที่สุด อาจจะอยู่ในรูปแบบการวิเคราะห์ข้อมูล การประมวลผลข้อมูลเชิงสถิติ ซึ่งแทนที่จะเอาข้อมูลจำนวนมหาศาลขึ้นไปประมวลผลบน Cloud ก็เอาข้อมูลเหล่านั้นมาประมวลผลที่ต้นทางที่ใกล้กับแหล่งข้อมูลมากที่สุด หรือ Edge นั่นเอง สาเหตุหลักที่ทำให้การประมวลผลจำเป็นต้องอยู่ที่ต้นทาง (Edge)

null

เวลาในการรับส่งข้อมูล (Latency)

เวลาในการรับส่งข้อมูล (Latency) เป็นเหตุผลที่ทำให้ Edge Computing ได้เปรียบในด้านความเร็วในการรับส่งข้อมูล ยกตัวอย่างเช่น หากเครื่องคอมพิวเตอร์ต้องการส่งข้อมูลไปหาเครื่องคอมพิวเตอร์อีกเครื่องที่อยู่คนละฝั่งโลก ความเร็วในการรับส่งข้อมูลเป็นตัวแปรสำคัญ ซึ่งการรับส่งข้อมูลในระยะที่ใกล้จะมีความเร็วมากกว่าส่งในระยะไกลอย่างแน่นอน ตัวอย่างเช่น บริการ Voice Assistant อย่าง Amazon Echo ถ้าส่งข้อมูลไปประมวลผลบนเซิร์ฟเวอร์ที่อยู่บน Cloud ทุกครั้งเพื่อหาคำตอบ จากบริการ API ต่างๆ บน Cloud หากบริการนั้นมีความซับซ้อน Amazon Echo ก็จะใช้เวลานานในการค้นหาคำตอบกว่าจะพูดตอบกลับมายังผู้ใช้ ล่าสุด Amazon ก็เริ่มมีการพัฒนาชิป AI ฝังอยู่ Amazon Echo ทำให้ Alexa ตอบคำถามได้รวดเร็วยิ่งขึ้น ทำให้การใช้เรียกใช้บริการในฝั่งเซิร์ฟเวอร์บน Cloud ก็จะน้อยลง ข้อมูลส่วนตัวของคุณก็จะอยู่กับตัวคุณมากขึ้น เพราะไม่จำเป็นต้องส่งข้อมูลไปประมวลผลบน Cloud ทุกครั้ง

ความเป็นส่วนตัวและความปลอดภัย (Privacy & Security)

ความเป็นส่วนตัวและความปลอดภัยเป็นประเด็นที่ทุกคนให้ความสำคัญ ยกตัวอย่าง กรณีการเก็บข้อมูลลายนิ้วมือใน iPhone, iPad ของ Apple เป็นตัวอย่างที่ดี Apple มีนโยบายชัดเจนในเรื่องการเก็บข้อมูลลายนิ้วมือของผู้ใช้ ซึ่งจะต้องจัดเก็บอยู่ในอุปกรณ์เท่านั้นและไม่สามารถนำข้อมูลลายนิ้วมือออกมาได้ การที่ไม่จำเป็นต้องเอาข้อมูลส่งออกไปเก็บหรือประมวลผลที่อื่น การบริหารจัดการอยู่ที่จุดเดียวสามารถช่วยในเรื่องความปลอดภัยของข้อมูลได้

แบนด์วิธ (Bandwidth)

ไม่เพียงแค่ความปลอดภัยของข้อมูลเท่านั้น เรื่องแบนด์วิธของเครือข่ายก็เป็นเรื่องนึงที่ Edge Computing สามารถแก้ปัญหาได้ เรื่องการใช้งานแบนด์วิธและประหยัดแบนด์วิธการรับส่งข้อมูลไปยัง Cloud ยกตัวอย่างอุปกรณ์อัจฉริยะจำนวนมหาศาลหากต้องการส่งข้อมูลไปยัง Cloud พร้อมๆ กันต้องใช้แบนด์วิธจำนวนมหาศาลตามไปด้วย หากการประมวลผลข้อมูลอยู่ที่ Edge เช่น มี AI อยู่ที่อุปกรณ์ของผู้ใช้สามารถประมวลผลข้อมูลในตัวได้ การรับส่งข้อมูลขึ้นไปประมวลผลบน Cloud ก็จะลดลง สามารถแก้ปัญหาการใช้แบนด์วิธของเครือข่าย และแก้ปัญหาเรื่อง Latency ได้

KidBright เปิดเป็น OpenSource แล้วนะ

เมื่อวานแวะไปงาน KidBright Developer Conference (KBD) งานนี้เป็นงานเปิดตัว KidBright IDE รุ่นใหม่ แถลงข่าวเปิดตัวเป็นโครงการ OpenSource และมอบรางวัลโครงงานสิ่งประดิษฐ์จากบอร์ด KidBright งานนี้มีคนในวงการรวมทั้ง Maker ทั้งรุ่นเล็กรุ่นใหญ่มาร่วมงาน เป็นสักขีพยานและร่วมแสดงความยินดีกับการเปิดตัวเป็น OpenSource ในครั้งนี้ด้วย

KidBright เปิดเป็นโครงการ OpenSource เรียบร้อยแล้วทั้งใน KidBright IDE และ Library KidBright32 โครงการอยู่ที่ GitLab ไปส่องกันดูได้ ใช้ Apache License 2.0 นะ

แปะหน้า IDE ให้ดูก่อน

เมื่อ KidBright เปิดโค้ดแล้วเราก็สามารถเขียน Plugin เพิ่มเติมได้ มีตัวอย่าง Plugin จาก KB Chain มาให้ 3 ชุด

นอกจากนี้ยังมี KB Chain มีมาให้ดูเป็นตัวอย่างด้วย ใครสนใจก้อไปสั่งซื้อกันได้ ที่เว็บไซต์ KidBright.IO ครับ

ทดสอบ proximity sensor ที่ใช้กับกระจกได้

ไปเจอคนทดสอบ proximity sensor ที่อ่านค่าผ่านกระจกไปที่ heated bed อะลูมิเนียมได้ พบว่าน่าสนใจดี ท่านใดสนใจก็ดูได้จากวิดิโอข้างล่างครับ

เมื่อนานมาแล้ว Thomas Sanladerer เคยรีวิวไว้

ประสบการณ์ Kaidee

เนื่องจากโดนคุณแฟนคะยั้นคะยอให้ขายของ ประมาณว่าเอาอะไรมาขายก็ได้ ให้มีรายได้เพิ่ม คิดไปตั้งแต่ dropship ทำ pre-order เอาของจากจีนมาขาย ฯลฯ แต่นึกไม่ออกว่าจะขายอะไร ก็เลยมองไปรอบๆ ตัว ตัดสินใจเอาของที่ไม่ใช้มาลงขายละกัน พอคิดว่าจะเอาไปขายที่ไหนดี เปิดเว็บ e-commerce เปิดร้าน lnwshop คงไม่ค่อยเหมาะเท่าไร ก็เลยนึกถึง Kaidee ขึ้นมาทันที “ของที่ไม่ใช้ เอามาลงขายฟรี ที่ Kaidee ดอทคอม” โฆษณาลอยมาเลย ก็เลยลองลงขายที่ Kaidee ดู หลักการขายของผมคือตั้งราคาของครึ่งราคาเสมอ เช่น

  • มือถือเก่าซื้อมาใช้ 1-2 ปี ขายครึ่งราคา
  • iPad เก่ามากใช้มา 4 ปี ขายครึ่งราคา
  • Chromecast ซื้อมาแต่ไม่ได้ใช้ ขายครึ่งราคา
  • Router 1Gbps 4 พอร์ท ไม่ได้ใช้ ดองไว้หลายปี ขายครึ่งราคา
  • หูฟังบลูทูธ ไม่ค่อยได้ใช้ เก็บใส่กล่องไว้ ขายครึ่งราคา

ขายครึ่งราคาแบบไร้สาระ เอ้อ จะเรียกได้ว่า “ขายทิ้ง” ก็ได้นะ

จากประสบการณ์การขายของบน Kaidee เนื่องจากตั้งราคาถูกมาก คนที่อยากได้เค้าก็ตั้งใจโทรศัพท์มาจองตั้งแต่เช้า แล้วย้ำว่า “จองแล้วนะ” หรือ “ขอจองไว้นะ” แล้วรีบนัดมารับของกันเลยทีเดียว โดยส่วนตัวผมเป็นคนใช้ของถนอม ถึงใช้งาน 2-3 ปี แต่ของก็ยังดูเหมือนใหม่ ถึงไม่ได้ใช้ก็เก็บใส่กล่องอย่างดี

ความประทับใจ

ผมเจอลูกค้ารายนึงขี่มอเตอร์ไซค์จากอโศกมาถึงปากเกร็ด เพื่อมารับโทรศัพท์มือถือที่ผมประกาศขาย ผมขายในราคาถูกมากๆ ซึ่งพี่คนนี้ก็โทรมาจองแต่เช้าและนัดรับของตอนเย็น พอได้จับได้ลองใช้ ดูเขาดีใจมากที่ได้มือถือใหม่ สภาพดี ยี่ห้อดี มี NFC ไม่รู้จะได้ใช้ไหม แสกนนิ้วมือได้ แถมเป็น Android 8.1 ด้วย

อีกรายเป็นพ่อบ้านกลัวเมีย เรียกได้ว่าในโทรศัพท์ห้ามมี Line เลยต้องหา tablet เอาไว้ใช้งานร่วมกันกับเมีย ปล. ลง Line ไว้แอบคุยกับกิ๊กหรือเปล่าอันนี้ไม่แน่ใจ แต่ผมประกาศขาย iPad mini 2 ครึ่งราคาอีกเช่นเคย คุณคนนี้โทรติดต่อมาแต่เช้าเลย นัดรับของตอนเย็นเหมือนเดิม พอเห็นเครื่องก็บอกว่าดีใจมากที่ได้ iPad เอาไปใช้

อีกรายเป็นน่าจะเป็นคนชอบ Gadget ผมประกาศขาย Chromecast ครึ่งราคาอีกเช่นเคย โทรมานัดรับของตามแนวรถไฟฟ้า โชคดีที่มีนัดประชุมในเมือง เลยได้นัดส่งของกัน ดูเหมือนเขาหาของแท้ ไปใช้งาน ปล.ไม่ค่อยเข้าใจว่า Chromecast มันหาซื้อยากขนาดนั้นเลยเหรอ แต่ของครึ่งราคาอ่ะนะ ใครๆ ก็อยากได้

อีกรายไม่สะดวกมารับของ แต่อยากได้ Router 1Gbps ขอให้ส่ง EMS ไปให้ ถามราคาปุ๊บ ขอให้ทดสอบให้ดู โอนเงินมาให้เลย พบว่าเป็นพระอยู่ต่างจังหวัด ไม่รู้ว่าจะใช้สรรพนามแทนว่าอย่างไร แต่ก็จะส่งของไปให้ที่วัดครับ

การต่อราคาก็มีอยู่บ้าง เช่น เค้ารู้อยู่แล้วว่าเราลดมาครึ่งราคา แต่ก็อยากจะต่อราคาก็มี บางรายต่อราคาเฉยๆ แต่ไม่ซื้อ บางรายขอข้อมูล ขอรูปภาพ อัดวิดีโอ โน่นนี่ สุดท้ายก็ไม่ซื้อก็มี แต่ก็ไม่เป็นไร ขายได้ไม่ได้ก็ลงขายเรื่อยๆ

ระยะหลังต้องใช้ไข่ Kaidee ก็ลงขายได้บ้าง ไม่ได้บ้างในบางรายการ สนใจแวะอุดหนุนกันได้

ปล.เพิ่งทราบมาจากเพื่อนในเฟสบุคว่ามีพ่อค้าแม่ค้ามือสินค้าสองนั่งจ้องเว็บ Kaidee ตามซื้อสินค้าเพื่อไปขายต่อกันเลยทีเดียว แหม..ก็เลยได้เข้าใจว่า ธุรกิจสินค้ามือสองนี้มันก็เป็นแบบนี้ล่ะครับ คราวหน้าต้องตั้งราคาเพิ่มขึ้นอีกหน่อย

สั่งพิมพ์งานผ่าน Wifi ด้วย OctoPrint Plugin ใน Cura กัน

ครั้งที่แล้วทดลองอะไรใหม่ๆ กับ 3D Printer ตัวเก่าไปหลายอย่าง เช่น ทำ sensor ตรวจจับเส้นหมด, ตั้งค่า Linear Advance เป็นต้น คราวนี้ด้วยความขี้เกียจก็เลยเอา Raspberry Pi 2 B+ ตัวเก่าไปติดไว้ที่เครื่องแล้วติดตั้ง OctoPrint คิดว่าจะสั่งพิมพ์และควบคุมเครื่องพิมพ์ผ่าน web browser แต่ Cura รุ่นใหม่มี Plugin ให้ติดตั้งเพื่อได้ ทำให้เราสามารถสั่งพิมพ์งานจาก Cura ไปยัง Octoprint ได้เลย

สำหรับท่านที่ใช้ Cura อยู่แล้ว ติดตั้ง Plugin ชื่อ OctoPrint Connection จากนั้นตั้งค่าเครื่องพิมพ์ได้เลย

ในหน้ารวมเครื่องพิมพ์ ให้เลือกเครื่องที่ต้องการตั้งค่า แล้วกดปุ่ม Connect to OctoPrint ได้เลย โปรแกรมจะให้ตั้งค่าเพิ่มเติมดังนี้

โปรแกรมจะไปค้นหา OctoPrint ในเครือข่ายให้อัตโนมัติ ใส่ค่า API Key เท่านี้ก็สั่งพิมพ์ผ่าน OctoPrint ได้แล้ว

Line Things

Line Developer Thailand เขียนบทความบน Medium แนะนำ Line Things ดูน่าสนใจมาก เลยแอบมา Blog ไว้สั้นๆ ก่อน แปะ video ไว้นิดนึง หากมีโอกาสคงได้มาเขียนรายละเอียดเพื่มเติม

Line Things ผนวกความสามารถของ ChatBot เข้ากับอุปกรณ์ต่างๆ สร้าง Platform Internet of Things แบบใหม่ที่น่าสนใจมาก

แปะ Slide เรื่อง Line Things ไว้ด้วยครับ