Tìm hiểu về hệ điều hành cho các cảm biến không dây TinyOS

Các thiết bị IoT được xây dựng trên nhiều hệ điều hành khác nhau tùy thuộc vào những ứng dụng với mục đích sử dụng cụ thể cuối cùng.

Các bản phân phối Linux, như Yocto hoặc Android Things, rất phổ biến với các thiết bị gia dụng thông minh. Windows 10 IoT Core là phù hợp nhất cho các thiết bị ranh giới (edge device - bất kỳ phần cứng nào kiểm soát luồng dữ liệu ở ranh giới giữa hai mạng) IoT cấp máy chủ. Và tất nhiên, hệ điều hành Raspbian được khuyến nghị sử dụng thường xuyên trên Raspberry Pi.

Ở đây, bài viết sẽ thảo luận về TinyOS, trong điều kiện thiết yếu, rất hữu ích cho các mạng cảm biến năng lượng thấp.

TinyOS là gì?

TinyOS là một hệ điều hành dựa trên BSD mã nguồn mở, sử dụng ngôn ngữ lập trình nesC để kiểm soát và quản lý các mạng cảm biến không dây (WSN). Các thiết bị cảm biến (được gọi là mote) trong các mạng như vậy được đặc trưng là công suất thấp, bộ nhớ hạn chế và yếu tố hình thức rất nhỏ gọn.

TinyOS lần đầu tiên được viết bởi Jason Hill tại Đại học Berkeley vào năm 2000. Đây là một phần mềm hoàn toàn miễn phí và có mã nguồn mở.

TinyOS là gì?

Xem xét công dụng cuối cùng của nó, TinyOS là một hệ điều hành phổ biến cho các cảm biến năng lượng thấp, kiểm soát ánh sáng, gia tốc, nhiệt độ, áp suất và các vật thể âm thanh. TinyOS thường được sử dụng trong các ứng dụng công nghiệp 4.0.

Tại sao TinyOS hữu ích cho mạng cảm biến không dây?

Cảm biến năng lượng thấp, do những hạn chế trong phạm vi của chúng, đòi hỏi phải sử dụng hiệu quả tài nguyên. TinyOS về cơ bản được xây dựng trên một kiến ​​trúc dựa trên các thành phần, để giảm dung lượng code xuống khoảng 400 đến 500 byte và một thiết kế dựa trên các sự kiện, loại bỏ sự cần thiết của một command shell.

Kiến trúc dựa trên các thành phần sử dụng, nesC, là ngôn ngữ lập trình C được thiết kế nhằm kết nối các hệ thống nhúng. Mỗi đoạn code (snippet) bao gồm những hàm đơn giản được đặt trong các thành phần và hàm phức tạp tích hợp tất cả mọi thành phần lại với nhau.

Ví dụ sau đây về snippet code dựa trên các thành phần trong NesC cho thấy sự tích hợp của những thành phần khác nhau như bộ hẹn giờ, đồng hồ và gửi tin nhắn.

Một snippet code nesC bao gồm một bộ đếm thời gian, đồng hồ, tin nhắn và đầu ra theo kiến ​​trúc dựa trên các thành phần.

TinyOS cũng sử dụng một thiết kế dựa trên các sự kiện, có mục tiêu là đặt CPU vào trạng thái nghỉ ngơi khi không có nhiệm vụ chờ xử lý. Một sự kiện có thể là một cái gì đó như kích hoạt cảnh báo khi nhiệt độ của bộ điều nhiệt tăng hoặc giảm trên một giá trị nhất định. Ngay khi sự kiện kết thúc, các mote cảm biến có thể đi vào trạng thái “ngủ”.

Nhu cầu về một thiết kế như TinyOS là bắt buộc trong các ứng dụng như vận chuyển thông minh và nhà máy thông minh. Do có hàng ngàn cảm biến, điều quan trọng là phải có dung lượng bộ nhớ rất nhỏ để giảm yêu cầu sử dụng năng lượng.

TinyOS đang được sử dụng ở đâu?

Hiện tại, TinyOS có hơn 35.000 lượt tải xuống. Các ứng dụng chính của nó nằm trong tất cả những loại thiết bị sử dụng mạng cảm biến không dây.

  • Giám sát môi trường: Vì mỗi hệ thống TinyOS có thể được nhúng trong một cảm biến nhỏ, chúng rất hữu ích trong việc giám sát ô nhiễm không khí, cháy rừng và phòng chống thiên tai.
  • Phương tiện thông minh: Phương tiện thông minh mang tính tự trị và có thể hiểu là một mạng lưới cảm biến. Các cảm biến này giao tiếp thông qua những mạng không dây công suất thấp (low-power wireless area network - LPWAN) giúp TinyOS trở nên hoàn hảo.
  • Thành phố thông minh: TinyOS là một giải pháp khả thi cho các yêu cầu cảm biến năng lượng thấp cho những tiện ích, lưới điện, cơ sở hạ tầng Internet và nhiều ứng dụng khác của thành phố thông minh.

TinyOS đang được sử dụng ở đâu?

  • Giám sát tình trạng máy: Các ứng dụng machine-to-machine (M2M) có nhiều giao diện cảm biến. Không thể chỉ định một môi trường điện toán hoàn chỉnh cho mỗi cảm biến. TinyOS có thể thực hiện bảo mật, quản lý năng lượng và gỡ lỗi các cảm biến.

Tìm hiểu về TinyOS ở đâu?

Tất cả thông tin tải xuống trên TinyOS có thể truy cập được từ trang GitHub chính thức của nó (tham khảo tại: https://github.com/tinyos/tinyos-main). Ngoài BSD, TinyOS cũng hỗ trợ Mac OS X.

Nguồn thông tin lớn nhất bao gồm tất cả trên TinyOS có sẵn trên trang wiki của đại học Stanford (tham khảo tại: http://tinyos.stanford.edu/tinyos-wiki/index.php/Main_Page). Nguồn này chứa thông tin về việc cài đặt chương trình, hướng dẫn mở rộng và một chỉ mục code lớn được đóng góp bởi nhiều người khác.

TinyOS là một trong những ví dụ về hệ điều hành được thiết kế cho các mạng cảm biến không dây giá rẻ, năng lượng thấp. Nhưng nó không phải là tùy chọn duy nhất. Các ví dụ khác về những hệ điều hành tương tự bao gồm Contiki, OpenWSN, FreeRTOS và RIOT.

Thứ Ba, 01/10/2019 08:08
53 👨 1.149
0 Bình luận
Sắp xếp theo