รายงานค่าออกมาให้เครื่องอื่นอ่านได้
ก่อนจะมีคลาวด์หรือเครือข่ายใด ๆ งานแรกของเกตเวย์คือทำให้ข้อมูลออกจากบอร์ดในรูปแบบที่เครื่องอื่นอ่านต่อได้
ในบทนี้คุณจะ
- พิมพ์ค่าออก Serial ในรูปแบบที่คงที่
- อธิบายว่าทำไมรูปแบบที่แน่นอนสำคัญกว่าข้อความสวยงาม
- ใส่หน่วยและเวลาไปกับค่าทุกครั้ง
1. ข้อความสำหรับคน กับข้อความสำหรับเครื่อง
"ตอนนี้อุณหภูมิ 25 องศาแล้วนะ" คนอ่านรู้เรื่อง แต่เครื่องแยกตัวเลขออกมายาก เขียนเป็น reading=temp,25.4,C แทน สั้นกว่า และโปรแกรมฝั่งรับตัดเอาค่าไปใช้ได้ทันที
2. รูปแบบเดิมทุกบรรทัด
ให้ทุกบรรทัดขึ้นต้นด้วย reading= เหมือนกันหมด แล้วตามด้วยชื่อค่า ตัวเลข และหน่วย คั่นด้วยเครื่องหมายจุลภาค ฝั่งรับจะมองหาบรรทัดที่ขึ้นต้นแบบนี้และข้ามข้อความแก้บั๊กอื่น ๆ ไปได้ นี่คือเหตุผลที่ต้องมีคำนำหน้า
3. ค่าที่ไม่มีหน่วยคือค่าที่ยังไม่ครบ
25.4 เฉย ๆ ไม่บอกว่าเซลเซียสหรือฟาเรนไฮต์ และถ้าไม่มีเวลากำกับก็ไม่รู้ว่าเป็นค่าเมื่อไร ใส่หน่วยไว้ในบรรทัดและใช้ millis เป็นเวลาอ้างอิง ระบบที่ใหญ่ขึ้นทั้งหมดสร้างบนนิสัยนี้
4. สามเครื่อง สามหน้าที่
UNO วัดค่าและพิมพ์บรรทัดออกมา โดยไม่รู้ว่าใครเป็นคนอ่าน เกตเวย์อ่านบรรทัดเหล่านั้นแล้วตัดสินใจว่าจะส่งต่ออะไร มักเติมตัวระบุตัวตนและเวลากำกับเข้าไปด้วย ส่วนเครือข่ายทำหน้าที่ขนสิ่งที่เกตเวย์ส่ง และอาจทำให้ช้า ซ้ำ หรือหายได้ ในคอร์สนี้บรรทัดหยุดอยู่ที่ Serial monitor ยังไม่มีเกตเวย์และยังไม่มีเครือข่าย นั่นคือเหตุผลที่บรรทัดต้องอ่านด้วยเครื่องได้ตั้งแต่ตอนนี้ เพราะเครื่องถัดไปคือเครื่องที่ถามคุณไม่ได้ว่าหมายถึงอะไร
ตรวจความเข้าใจ
ทำไมทุกบรรทัดถึงควรขึ้นต้นด้วยคำนำหน้าเดียวกันอย่าง reading=
ลงมือทำ
พิมพ์ค่าที่อ่านได้ออกมาในรูปแบบคงที่ ให้ทุกบรรทัดขึ้นต้นด้วย reading= พร้อมชื่อค่าและหน่วย
เริ่มแล็บใน StudioStudio จะเปิดวงจรเริ่มต้นของบทนี้ พร้อมคำใบ้ เฉลย และการตรวจคำตอบจากค่าที่วัดได้