Thực hành Contiki OS - Lập trình Contiki NG cơ bản

18 Tháng Tư 2021

Contiki-NG sử dụng ngôn ngữ lập trình C để phát triển các ứng dụng cho các motes WSN. Trong loạt bài này, bạn sẽ học ngôn ngữ cơ bản này để tạo các chương trình Contiki-NG. Các đoạn code mẫu sẽ được cung cấp để tăng tốc độ học tập của bạn

Thực hành Contiki OS - Lập trình Contiki NG cơ bản

Contiki-NG Programming Mode

Contiki-NG sử dụng ngôn ngữ lập trình C, được chia thành các component. Bạn xây dựng các component và sau đó kết nối chúng lại với nhau. Hầu hết các motes WSN hoạt động ở chế độ ngủ (sleeping). Nếu có bất kỳ tác vụ nào được thực thi, chương trình sẽ thực hiện tác vụ thông qua các ngắt phần cứng và sau khi tác vụ được thực thi hoàn tất chương trình sẽ đưa motes WSN quay về chế độ ngủ. Muc đích lớn nhất của ứng dụng này là tiết kiệm năng lượng.

Chương trình ứng dụng Contiki-NG áp dụng protothreads. Nói chung, bạn có thể phát triển các ứng dụng Contiki-NG bằng cách sử dụng cách tiếp cận như trong hình dưới. Bắt đầu bằng cách tạo một dự án. Sau đó, tạo một chương trình C và áp dụng cách tiếp cận protothreads để phát triển một chương trình Contiki-NG. Khi viết xong chương trình, bạn có thể biên dịch và nạp lên WSN mote.

Nếu bạn mở mã nguồn của Contiki-NG OS, bạn có thể thấy một số thư mục

  • arch: Chứa CPU, platform để phát triển
  • arch/cpu: Thông tin MCU cụ thể
  • arch/dev: Chip và các device
  • arch/platform: files đặc và platform drivers
  • os: Thư viện và tệp lõi Contiki-NG
  • tools: Các công cụ để flash, gỡ lỗi, mô phỏng
  • examples: các ví dụ
  • tests: các đoạn chương trình test

Contiki-NG Basic Syntax

Nhìn chung, Contiki-NG sử dụng ngôn ngữ lập trình C. Trong phần này, chúng ta sẽ xem xét một số kiến thức cơ bản về ngôn ngữ lập trình C. Bạn có thể sử dụng bất kỳ editor (Sublime , vim, notepad++, vs code,...) nào để viết code C.

Creating a Project

Contiki-NG không cung cấp các template dự án để xây dựng một chương trình. Nếu bạn muốn tạo một dự án mới, bạn bắt đầu bằng cách tạo một thư mục mới và một tệp Makefile.

 

Contiki-NG Basic Programming Language

Contiki-NG sử dụng ngôn ngữ lập trình chung C để triển khai. Nếu bạn có kinh nghiệm về lập trình C, bạn sẽ không cần phải nỗ lực nhiều để học lập trình Contiki-NG. Lập trình Contiki-NG tương tự như C về việc khai báo các biến và sử dụng các câu lệnh điều kiện và vòng lặp

  • Khai báo biến
int num;
int_t a, b, c;
unsigned int isDone;

 

  • Gán biến
num = 3;
isDone = 0;
unsigned int m = 10;
  • Câu lệnh điều kiện
if(running){
doSomething();
}else {
perform();
}
  • Vòng lặp
int len = 10;
for(int i=0;i<len;i++) {
foo();
}
  • Comment
// this comment
/*
this is also comment
*

Để cải thiện kỹ năng của bạn trong lập trình Contiki-NG, Mình khuyên bạn nên thực hành viết chương trình Contiki-NG

Tạm Kết

Trong bài viết này mình đã giới thiệu các bạn về cấu trúc thư mục và ngôn ngữ lập trình chính để xây dựng ứng dụng với contiki. Chúc bạn đọc vui vẻ

Bình luận