Lựa chọn hệ điều hành cho các thiết bị IoT
TIL
595
IoT
11
rtos
1
White

Tuan PM viết ngày 12/08/2016

Các tiêu chí để lựa chọn hệ điều hành cho các thiết bị IoT như sau:

  • Tiết kiệm năng lượng, tiết kiệm tài nguyên, có thể sử dụng trên những MCU size nhỏ.
  • Các protocol tích hợp sẵn và hỗ trợ security SSL (REST, MQTT, Coap, Websocket )
  • Hỗ trợ WSN (Wireless sensor network), 6lowpan ipv6 và mesh network.
  • Các protocol tích hợp sẵn và hỗ trợ security SSL) (REST, MQTT, CoAP, Websocket ...)
  • Dễ dàng nâng cấp, đóng gói, thêm bớt gói ứng dụng
  • Đa nền tảng, đa chip, dễ dàng phát triển ứng dụng nhanh chóng.
  • Quan trọng là mã mở, nồi đồng cối đá.

Một số hệ điều hành hiện nay mình đã dùng qua và ý kiến như sau:

MBED OS:

Được phát triển bởi ARM, ngôn ngữ C/C++, kiến trúc phân tầng dễ nâng cấp và bổ sung phần cứng mới, hỗ trợ IDE online, support rất nhiều chip core ARM, hỗ trợ hầu hết network protocol và nhiều ví dụ mẫu, bao gồm cả BLE, 3G over PPP, MQTT, CoAP và đặc biệt mbed tls hỗ trợ TLS 1.2 cho các dịch vụ như AWS, Bluemix và yêu cầu bộ nhớ cho thiết bị không cao. High level API giống giống Adruino.
Setup ứng dụng cho mbed phải nói là nhanh, với điều kiện đã build sẵn thư viện và ứng dụng đã được hỗ trợ sẵn.
Việc build từ source mbed os khá vất vả, nếu sử dụng những chip chưa hỗ trợ thì custom cũng không mấy dễ dàng.
Về khoản tiết kiệm năng lượng và API hỗ trợ tốt, dùng mbed BLE và NRF DK cho BLE có thể gần tương đương.
Cộng đồng phát triển lớn mạnh, đồng thời có thêm package manage yotta, rất tiện quản lý các gói ứng dụng, nhưng hiện nay mình sử dụng cảm thấy việc phân loại các gói của yotta chưa ổn, dễ nhầm lẫn.
Một vấn đề mà mình không thích nữa là MBED OS hỗ trợ rất ít cho những con chip rẻ tiền, ít RAM :D

Contiki OS:

Phát triển bởi Adam Dunkels, người đã phát triển uIP, lwIP, ngôn ngữ C. Các tiêu chí mình đưa ra đều căn cứ trên Contiki OS, mình không dùng nhiều OS này nhưng có nhận xét cơ bản là nồi đồng cối đá, code tinh gọn, sạch sẽ, các module trong contiki mình thường port cho các ứng dụng khác và đòi hỏi rất ít bộ nhớ, như : mqtt, websocket. Đặc biệt mới đây có hỗ trợ NRF52832, 6lowpan over BLE. Về khoản tiết kiệm năng lượng thì không chê vào đâu được. Việc build và setup project mới trên contiki os khá dễ dàng.
Hơi tiếc là official hiện giờ support rất ít chip.

freeRTOS:

rtos này khá lâu đời và được ứng dụng rất nhiều, nhiều hãng chip đưa vào SDK cho sản phẩm của họ. freeRTOS hỗ trợ network stack như lwip, file system fatfs, rất nhiều chip trên thị trường hỗ trợ, cần ít RAM và Flash. Tuy nhiên HAL thường thì phải tự lựa chọn. Hiện giờ mình chỉ sử dụng freeRTOS cho các ứng dụng wifi dùng esp8266 (vì nhà sản xuất cung cấp sdk dùng freertos). Và cảm giác là cộng đồng phát triển cho freeRTOS không có.

Mynewt:

Hiện nay Mynewt là OS hỗ trợ nhiều tính năng BLE nhất mà mình biết, sử dụng mã mở cho BLE stack. Được phát triển bởi Apache - rất kinh nghiệm trong phát triển các hệ thống mã mở. Hiện nay còn nhiều module chưa phát triển hoàn thiện. Mynewt đang có sẵn NOR, NAND file system, ổn hơn spiffs. Tương tự như contiki, Mynewt có cách tổ chức và thiết kế rất chuyên nghiệp, code tinh gọn. Roadmap hỗ trợ ESP8266. Mình dự đoán là ứng dụng có cả Wifi và BLE thì Mynewt là ứng cử viên hàng đầu cho OS trên ESP32.

  • libopencm3: chỉ là thư viện HAL hỗ trợ các dòng chip ARM Cortex. Đối với những ứng dụng ít tính năng và tác vụ, mình rất thích sử dụng thư viện này. Lightweight, nhanh gọn, ổn định.
Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Tuan PM

8 bài viết.
87 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
18 9
Giới thiệu Bài viết này nhằm mục đích giới thiệu về IoTs, các phần cứng, platform hỗ trợ Những ưu điểm của vượt trội của các platform dùng LUA,...
Tuan PM viết hơn 3 năm trước
18 9
White
13 4
Máy tính nhúng giá rẻ Raspberry Pi không còn xa lạ với các bạn thích công nghệ. Ngoài những ứng dụng dành cho giải trí đa phương tiện, Raspberry Pi...
Tuan PM viết 3 năm trước
13 4
White
13 1
Tổng quan Hiện tại Raspberry PI đã ra phiên bản 3, với nhiều tính năng vượt trội, đặc biệt là đã tích hợp Wifi + BLE trong khi giá vẫn không đổi. ...
Tuan PM viết hơn 2 năm trước
13 1
Bài viết liên quan
White
29 1
Như các bạn biết, Internet Of Things là môt xu thế công nghệ được mọi người hướng tới nhiều nhất trong thời gian qua. Những Developer kinh nghiệm c...
Nguyen Sy Thanh Son viết gần 2 năm trước
29 1
White
13 4
Máy tính nhúng giá rẻ Raspberry Pi không còn xa lạ với các bạn thích công nghệ. Ngoài những ứng dụng dành cho giải trí đa phương tiện, Raspberry Pi...
Tuan PM viết 3 năm trước
13 4
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
8 bài viết.
87 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!