CHÉM GIÓ, BÀN LUẬN VỀ KỸ THUẬT
Thực hành Contiki OS - Giới thiệu về Contiki OS
05 Tháng Ba 2021
Contiki-NG là một hệ điều hành dành cho các thiết bị hạn chế tài nguyên trong lĩnh vực Internet of Things. Contiki-NG chứa ngăn xếp giao tiếp IPv6 năng lượng thấp, tuân thủ RFC, cho phép kết nối Internet. Hệ thống chạy trên nhiều nền tảng khác nhau dựa trên các kiến trúc tiết kiệm năng lượng như ARM Cortex-M3 / M4 và Texas Instruments MSP430. Code footprint 100 kB và việc sử dụng bộ nhớ có thể được định cấu hình ở mức thấp nhất là 10 kB
Giới thiệu về Contiki
Contiki là một nền tảng WSN cung cấp về phần mềm và phần cứng. Contiki được tạo ra bởi Adam Dunkels vào năm 2002. Hiện tại, dự án Contiki có sự tham gia của cả công ty và những người đóng góp. Dự án này được phát hành dưới hình thức mã nguồn mở. Hệ điều hành (OS) Contiki sử dụng Protothread, kết hợp đa luồng và lập trình hướng sự kiện. Về mặt phần cứng, dự án Contiki cung cấp các sơ đồ phần cứng để chúng ta có thể xây dựng các board mạch của riêng mình. Bạn có thể truy cập trang web chính thức của Contiki tại http://www.contiki-os.org.
Mô hình lập trình của nền tảng Contiki triển khai một kiến trúc đa luồng và một mô hình hướng sự kiện. Việc lập trình trên Contiki sử dụng ngôn ngữ lập trình C là chính. Contiki cung cấp một "hard abstraction" cho phép gói gọn việc giao tiếp giữa phần mềm và các phần cứng phức tạp . Cách tiếp cận này làm cho Contiki hoạt động với nhiều phần cứng khác nhau, bao gồm MCU và mô-đun radio. Contiki cung cấp các thư viện chung về cảm biến, kích hoạt và giao tiếp. Người dùng nên chú ý nhiều hơn đến các vấn đề của họ. Bạn có thể xem kiến trúc chung của Contiki
Kernel, program loader, language run-time, và communication service là các mô-đun tĩnh trong ROM của Contiki OS. Tất cả các chương trình do bạn phát triển sẽ được nạp vào Loaded Program. Chỉ kernel và communication service sẽ được sử dụng bởi Contiki OS RAM. Contiki sử dụng trình biên dịch GCC để biên dịch các tệp mã nguồn C. Chúng ta phát triển các ứng dụng Contiki được viết bằng các tệp * .c. Sau khi chúng được biên dịch, chúng ta sẽ nhận được tệp nhị phân. Về cơ bản, nó chuyển đổi ứng dụng từ cú pháp chương trình C thành tệp nhị phân gốc cho một mục tiêu phần cứng cụ thể. Chúng tôi cũng có thể chạy chương trình C trên trình mô phỏng Contiki để kiểm tra tính năng và sửa lỗi.
Một số phần cứng cho Contiki
Để chạy Contiki trên phần cứng, phần cứng đó cần đáp ứng một số các yêu cầu, đặc biệt là về MCU và mô-đun vô tuyến. Trong này, chúng ta sẽ khám phá các loại phần cứng WSN khác nhau mà chúng ta có thể sử dụng để triển khai Contiki. Một hộp bao gồm một board WSN có một số cảm biến hoặc bộ truyền động được gọi là WSN mote. Nói chung, có thể tìm thấy danh sách phần cứng được Contiki OS trên trang chính thức trang web tại liên kết này: http://www.contiki-os.org/hardware.html. Đối với Contiki-NG, bạn có thể xem danh sách các board Contiki-NG tại https://github.com/contiki-ng/contiki-ng/wiki#the-contiki-ng-platform.
MICAz
MICAz được phát triển bởi Crossbow Technology, MEMSIC. Thiết bị này sử dụng vi xử lý ATmega128L và vi xử lý cho phần vô tuyến là CC2420. ATmega128L là một vi điều khiển 8-bit đến từ hãng Atmel. Bạn có thể tìm kiếm thông tin về MCU theo datasheet tại http://www.atmel.com/images/doc2467.pdf. Về mặt radio, board mạch này sử dụng chip CC2420 hỗ trợ giao thức IEEE 802.15.4. Con chip này có khả năng tiết kiệm năng lượng. Bạn có thể làm việc ở chế độ ngủ trên ngăn xếp lớp mạng
MICA2
Mica2 tương tự như mote MICAz ở việc sử dụng Vi điều khiển ATmega128L; nó sử dụng chip radio CC1000 cho mô-đun vô tuyến
Tóm tắt
Trong bài viết này mình đã giới thiệu về contiki OS và giới thiệu một số phần cứng. Chúc bạn đọc vui vẻ