คลังเก็บป้ายกำกับ: IoT

3D printing

ช่วงนี้ตัดสินใจซื้อ 3D printer มาใช้ กะว่าจะปริ้นท์ ชิ้นส่วนบางชิ้นที่หายากหรือราคาสูง เวลาทำโปรเจ็คต่างๆ ยิ่งโปรเจ็คอิเล็กทรอนิกส์ตามเว็บเมืองนอกที่น่าสนใจมีมากมาย เดี๋ยวนี้ใช้ปริ้นท์ขิ้นส่วนเอาแทบทั้งนั้น ไม่ว่าจะเป็น หุ่นยนต์, IoT หรือ home automation

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

ระหว่างการประกอบ ควรใส่ใจการประกอบโครงสร้าง การยึดสายพาน ล้อเลื่อน ลีดสกรู ที่ควรมั่นคงแข็งแรงได้ฉากก็ตรวจให้เรียบร้อย ที่ควรเลื่อนขึ้นลงได้คล่องไม่ฝืดติดขัด สายพานก็ให้ตึงไม่หย่อนคล้อย ตำแหน่งการวางก็ควรจะมั่นคงหนักแน่น เพราะเวลาเครื่องทำงานเกิดแรงสั่นสะเทือนตลอดเวลา

ก่อนจะเริ่มทำการปริ้นท์ ก็ควรเช็คตำแหน่งต่างๆให้ถูกต้องตามคู่มือเสียก่อน การปรับระดับถาดปริ้นท์สำคัญมากๆ ระยะระหว่างหัวฉีดกับถาด ในการปรับแต่ง ผมใช้กระดาษ A4 สอดไประหว่างกลาง ให้กระดาษสามารถเลื่อนได้ไม่ฝืดหรือไม่หลวมจนเกินไป

การใส่ฟิลาเม้นท์ครั้งแรก ให้สอดไปจนยาวสุดๆเท่าที่จะทำได้ เมื่อเตรียมทุกอย่างพร้อมแล้วก็เริ่มปริ้น์ท์ครั้งแรกกันเลย

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

หลังจากใช้งานมาสักพัก ปรินท์นั่นนี่โน่นมาจนใชฟิลาเม้นท์เกือบหมดม้วน 1 kg ภายในเวลาอันรวดเร็ว การศึกษาวิธีการใช้งานที่ดีที่สุด คือ ลองปริ้นท์มันเลยครับ เพราะระหว่างที่ปริ้นท์เราก็จะเจอปัญหาต่างๆ เช่น ชิ้นงานไม่สวย เกิดการผิดพลาดระหว่างการปริ้นท์ เหล่านี้ล้วนมาจากติดตั้งและเตรียมเครื่องทั้งนั้น หากติดตั้งได้ดีถูกต้อง ชิ้นงานจะออกมาสวยงามคมชัดถูกต้องอย่างไม่น่าเชื่อเลยครับ มันจะเป็นความรู้สึกดีๆ เมื่อคุณได้ผลิตชิ้นงานได้เอง

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

 

 

MQTT + Silk

Silk เป็น web framework อีกตัวหนึ่งครับ แต่ไอเดียจะแตกต่างจากตัวอื่นๆที่เคยเขียนถึงไป ตัวนี้ค่อนข้างถูกจริตกับผมมากกว่าตัวอื่นๆ เนื่องจากมันคือการเขียน HTML document ด้วย QML

การที่มันยังสามารถใช้ model/view ของ QML ได้นั้น ทำให้เราสามาารถดึงข้อมูลจาก C++ model ไปแสดงใน HTML table ได้อย่างง่ายดาย

การที่มันยังเขียน web ได้ในแบบเดิมๆ ใช้ javascript ได้ ก็ทำให้ไม่ต้องเปลี่ยนแปลงวิธีการเขียนในส่วนนี้ไป

และด้วยความที่มันเป็น C++ web server โดยตัวมันเอง มันน่าจะเหมาะกับโปรเจ็คเล็กๆ อย่างพวก IoT ที่ไม่ได้ต้องการรองรับ client จำนวนมาก

จากที่ว่ามา ผมจึงเอามันมาลองกับ MQTT โดยมี hardware คือ nodemcu เอามาต่อกับ sensor DS18B20 เขียนโปรแกรมด้วย Arduino IDE โดย ก็ต้องลง library ESP8266, OneWire, PubSubClient (MQTT), DallasTemperature เพื่อให้ใช้อ่านค่าอุณหภูมิและส่งข้อมูลไปให้ MQTT server ผ่าน wifi ได้

 

ตัว server ก็เป็น linux รัน mosquitto ที่รองรับ websocket และ รัน silk webserver โดยเขียน web app ให้ subscribe MQTT message ผ่าน websocket ได้โดยใช้ paho javascipt client และใช้ justgage แสดงผลข้อมูลที่ได้ในแบบ graphics