อุปกรณ์IoTถูกสร้างขึ้นบนระบบปฏิบัติการที่แตกต่างกันมากมาย ขึ้นอยู่กับแอปพลิเคชันการใช้งานปลายทางเฉพาะ
การกระจาย Linux เช่น Yocto หรือ Android Things เป็นที่นิยมอย่างมากกับอุปกรณ์สมาร์ทโฮมWindows 10 IoT Coreเหมาะที่สุดสำหรับอุปกรณ์ IoT Edge ระดับเซิร์ฟเวอร์ (ฮาร์ดแวร์ใดๆ ที่ควบคุมการรับส่งข้อมูลที่ขอบเขตระหว่างสองเครือข่าย) และแน่นอนว่าระบบปฏิบัติการ Raspbian ได้รับการแนะนำให้ใช้กับRaspberry Pi เป็น ประจำ
บทความนี้จะพูดถึง TinyOS ซึ่งมีประโยชน์มากสำหรับเครือข่ายเซ็นเซอร์ที่ใช้พลังงานต่ำในแง่สำคัญ
TinyOS คืออะไร?
TinyOS เป็นระบบปฏิบัติการแบบโอเพ่นซอร์ส BSD ซึ่งใช้ภาษาการเขียนโปรแกรม nesC เพื่อควบคุมและจัดการเครือข่ายเซ็นเซอร์ไร้สาย (WSN) อุปกรณ์เซ็นเซอร์ (เรียกว่าโมต) ในเครือข่ายดังกล่าวมีลักษณะเฉพาะคือใช้พลังงานต่ำ หน่วยความจำที่จำกัด และฟอร์มแฟคเตอร์ที่กะทัดรัดมาก
TinyOS เขียนขึ้นครั้งแรกโดย Jason Hill ที่ University of Berkeley ในปี 2000 เป็นซอฟต์แวร์โอเพ่นซอร์สฟรีโดยสมบูรณ์
เมื่อพิจารณาถึงการใช้งานขั้นสูงสุดแล้ว TinyOS จึงเป็นระบบปฏิบัติการยอดนิยมสำหรับเซ็นเซอร์ที่ใช้พลังงานต่ำซึ่งควบคุมแสง ความเร่ง อุณหภูมิ ความดัน และวัตถุเกี่ยวกับเสียง TinyOS มักใช้ในแอปพลิเคชันอุตสาหกรรม 4.0
เหตุใด TinyOS จึงมีประโยชน์สำหรับเครือข่ายเซ็นเซอร์ไร้สาย
เซ็นเซอร์พลังงานต่ำต้องใช้ทรัพยากรอย่างมีประสิทธิภาพ เนื่องจากข้อจำกัดในช่วง TinyOS สร้างขึ้นบนสถาปัตยกรรมแบบคอมโพเนนต์เป็นหลัก เพื่อลดขนาดโค้ดเหลือประมาณ 400 ถึง 500 ไบต์ และการออกแบบตามเหตุการณ์ ซึ่งไม่จำเป็นต้องใช้เชลล์คำสั่ง
สถาปัตยกรรมแบบอิงส่วนประกอบใช้ nesC ซึ่งเป็นภาษาการเขียนโปรแกรม C ที่ออกแบบมาเพื่อเชื่อมต่อระบบฝังตัวเข้าด้วยกัน ข้อมูลโค้ดแต่ละส่วนประกอบด้วยฟังก์ชันง่ายๆ ที่วางอยู่ภายในส่วนประกอบและฟังก์ชันที่ซับซ้อนซึ่งรวมส่วนประกอบทั้งหมดเข้าด้วยกัน
ตัวอย่างโค้ดต่อไปนี้ตามส่วนประกอบของ NesC จะแสดงการรวมส่วนประกอบต่างๆ เช่น ตัวจับเวลา นาฬิกา และการส่งข้อความ
TinyOS ยังใช้การออกแบบตามเหตุการณ์ โดยมีเป้าหมายเพื่อให้CPUเข้าสู่สถานะพักเมื่อไม่มีงานที่ค้างอยู่ เหตุการณ์อาจเป็นสิ่งที่คล้ายกับการเรียกใช้สัญญาณเตือนเมื่ออุณหภูมิของตัวควบคุมอุณหภูมิเพิ่มขึ้นหรือลดลงเกินค่าที่กำหนด ทันทีที่กิจกรรมสิ้นสุดลง เศษของเซ็นเซอร์จะเข้าสู่สถานะ "สลีป"
ความจำเป็นในการออกแบบเช่น TinyOS นั้นมีความจำเป็นในแอปพลิเคชันต่างๆ เช่น การขนส่งอัจฉริยะ และโรงงานอัจฉริยะ เนื่องจากมีเซ็นเซอร์นับพันตัว การมีหน่วยความจำขนาดเล็กมากจึงเป็นสิ่งสำคัญเพื่อลดความต้องการพลังงาน
TinyOS ถูกใช้ที่ไหน?
ปัจจุบัน TinyOS มีการดาวน์โหลดมากกว่า 35,000 ครั้ง การใช้งานหลักอยู่ในอุปกรณ์ทุกประเภทที่ใช้เครือข่ายเซ็นเซอร์ไร้สาย
- การตรวจสอบสภาพแวดล้อม : เนื่องจากระบบ TinyOS แต่ละระบบสามารถฝังอยู่ในเซ็นเซอร์ขนาดเล็กได้ จึงมีประโยชน์ในการตรวจสอบมลพิษทางอากาศ ไฟป่า และการป้องกันภัยพิบัติทางธรรมชาติ
- ยานพาหนะอัจฉริยะ : ยานพาหนะอัจฉริยะนั้นขับเคลื่อนอัตโนมัติและสามารถเข้าใจได้ว่าเป็นเครือข่ายเซ็นเซอร์ เซ็นเซอร์เหล่านี้สื่อสารผ่านเครือข่ายพื้นที่ไร้สายพลังงานต่ำ (LPWAN) ทำให้ TinyOS สมบูรณ์แบบ
- เมืองอัจฉริยะ : TinyOS เป็นโซลูชันที่ใช้งานได้จริงสำหรับข้อกำหนดการตรวจจับพลังงานต่ำสำหรับสาธารณูปโภค โครงข่ายไฟฟ้า โครงสร้างพื้นฐานอินเทอร์เน็ต และแอปพลิเคชันเมืองอัจฉริยะอื่นๆ อีกมากมาย
- การตรวจสอบสภาพเครื่องจักร : แอปพลิเคชันระหว่างเครื่องจักร (M2M) มีอินเทอร์เฟซเซ็นเซอร์หลายตัว ไม่สามารถระบุสภาพแวดล้อมการประมวลผลที่สมบูรณ์สำหรับเซ็นเซอร์แต่ละตัวได้ TinyOS สามารถดำเนินการรักษาความปลอดภัย การจัดการพลังงาน และการแก้ไขข้อบกพร่องของเซ็นเซอร์ได้
จะเรียนรู้เกี่ยวกับ TinyOS ได้ที่ไหน
ข้อมูลการดาวน์โหลดทั้งหมดบน TinyOS สามารถเข้าถึงได้จากหน้า GitHub อย่างเป็นทางการ (ดู: https://github.com/tinyos/tinyos-main ) นอกจาก BSD แล้ว TinyOS ยังรองรับ Mac OS X อีกด้วย
แหล่งข้อมูลที่ครอบคลุมทุกอย่างที่ใหญ่ที่สุดบน TinyOS มีอยู่ในวิกิมหาวิทยาลัยสแตนฟอร์ด (ดู: http://tinyos.stanford.edu/tinyos-wiki/index.php/Main_Page ) แหล่งข้อมูลนี้ประกอบด้วยข้อมูลเกี่ยวกับการติดตั้งโปรแกรม คำแนะนำโดยละเอียด และดัชนีโค้ดขนาดใหญ่ที่สนับสนุนโดยบุคคลอื่นอีกมากมาย
TinyOS คือตัวอย่างหนึ่งของระบบปฏิบัติการที่ออกแบบมาสำหรับเครือข่ายเซ็นเซอร์ไร้สายราคาประหยัดและใช้พลังงานต่ำ แต่มันไม่ใช่ทางเลือกเดียว ตัวอย่างอื่นๆ ของระบบปฏิบัติการที่คล้ายกัน ได้แก่ Contiki, OpenWSN, FreeRTOS และ RIOT