[Intel Galileo] Cài đặt Linux Yocto (iot-devkit) lên Intel Galileo

Để hỗ trợ cho nền tảng Galileo của mình, Intel đã cho ra mắt bộ Intel IoT Developer Kit (iot-devkit) bao gồm cả haware (các linh kiện giống như trên nền tảng Arduino) và software (OS, IDE, các tool phát triển,...). Trong bài viết này, mình sẽ hướng dẫn các bạn cài Linux Yocto - là một hệ điều hành thuộc nhánh Software trong iot-devkit.

Bản Linux này sử dụng được cho cả board Intel Galileo Gen1 và Gen2

Bản Linux Yocto này có gì ?

  • NodeJS - Một nền tảng giúp bạn xây dựng các ứng dụng web. Nó giống như PHP-Apache hay PHP-nginx
  • mrra - Bộ thư viện giúp bạn sử dụng các giao tiếp như UART, I2C, SPI,... của Galileo hay đơn giản hơn là lập trình các chân GPIO như Digital Read/Write, Analog Read/Write, PWM,... mraa có hỗ trợ API cho C/C++, NodeJS và Python.
  • opkg - Là một ứng dụng command-line tương tự như apt-get, apptitute, pacman, yum... cho phép người dùng quản lí các package (software) như cài đặt, cập nhật, xoá, nâng cấp hệ thống,...
  • connman - Là một ứng dụng command-line cho phép người dùng quản lí các kết nối Internet. Bạn sẽ không thể tìm thấy file /etc/network/interfaces trong bản Linux Yocto này.
  • python, gcc, perl, ... - Các compiler cho những ngôn ngữ lập trình thông dụng.
  • Không bị lỗi segfault rất khó chịu như trên bản galileo-debian.
  • ... etc (mình vẫn chưa tìm hiểu hết :D)

Cài đặt Linux Yocto

1. Chuẩn bị

  • 1 thẻ nhớ Micro-SD 4GB Class 4.
  • Đầu đọc thẻ nhớ.

Mình đề nghị sử dụng thẻ 8GB Class10 hoặc hơn để tăng tốc độ đọc ghi dữ liệu, giảm thời gian chạy của một số tác vụ như cập nhật hệ thống, cài đặt/xoá các package (software). Dung lượng thẻ nhớ tối đa mà Intel Galileo có thể nhận là 32GB.

2. Tải file image của hệ điều hành

Link: https://software.intel.com/sites/landingpage/iotdk/board-boot-image.html (Direct link)

Dung lượng file là 232.89MB.

Các bạn có thể tải các phiên bản cũ hơn tại http://iotdk.intel.com/images/. Có một số package trên các phiên bản cũ không tương thích với phiên bản mới hoặc không được hỗ trợ mặc định mà người dùng phải tự cài lấy. Ví dụ như pyserial, apache, zip,...

 Khi tải xong, các bạn sẽ được một file là iot-devkit-1.5-i586-galileo.bz2 (iot-devkit phiên bản 1.5 dành cho Intel Galileo).

Giải nén file này, các bạn sẽ được một file tên là iot-devkit-1.5-i586-galileo (file này không có đuôi) dung lượng 1.32GB. 

3. Tải phần mềm hỗ trợ ghi dữ liệu

Tải Win32 Disk Imager tại http://sourceforge.net/projects/win32diskimager/ (Direct link bản Portable).

Để chạy phần mềm, giải nén file vừa tải về và chạy file Win32DiskImager.exe. Bạn cũng có thể chạy ngay trong file nén bằng cách double-click vào file này.

Các phần mềm khác cũng có tính năng tương đương như HDD Raw Copy, Rawrite32, ... hoặc lệnh dd nếu dùng Linux.

4. Format thẻ nhớ

Format về định dạng bất kì như NTFS, FAT32,... nếu trước đó bạn có lưu dữ liệu trên thẻ.

5. Ghi file image đã tải về lên thẻ.

Chạy Win32 Disk Imager, chọn Image File là file image 1.32GB đã giải nén ở bước 2 và chọn Device là thẻ nhớ đã chuẩn bị của mình.

Chú ý chọn Device để ghi dữ liệu chính xác. Vì đây là hành động ghi đè dữ liệu mới lên thẻ nhớ nên nếu bạn ghi nhầm dữ liệu sang USB của mình, cơ may phục hồi gần như bằng 0.

Bấm nút Write để bắt đầu ghi dữ liệu. Với thẻ nhớ Class 10, tốc độ ghi trung bình là 10MB/s. Quá trình ghi dữ liệu sẽ kết thúc trong khoảng 5 phút.

6. Chạy Linux Yocto trên board Galileo.

Bạn chỉ cần cắm thẻ nhớ vào board và cấp nguồn cho nó. Galileo sẽ tự động khởi động hệ điều hành vừa được cài đặt trên thẻ nhớ.

Tài khoản đăng nhập mặc định là root, password mặc định không được cài đặt.

lên
6 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

setup() và loop()

Những lệnh trong setup() sẽ được chạy khi chương trình của bạn khởi động. Bạn có thể sử dụng nó để khai báo giá trị của biến, khai báo thư viện, thiết lập các thông số,…

Sau khi setup() chạy xong, những lệnh trong loop() được chạy. Chúng sẽ lặp đi lặp lại liên tục cho tới khi nào bạn ngắt nguồn của board Arduino mới thôi.

lên
107 thành viên đã đánh giá bài viết này hữu ích.

Bài 4: Đọc điện áp điều chỉnh bởi biến trở

Bài ví dụ này sẽ giới thiệu cho các bạn cách đọc giá trị của một biến trở. Biến trở chỉ đơn giản chỉ là một điện trở có thể thay đổi được trị số. Mạch Arduino không đọc điện trở này mà đọc điện áp do biến trở tạo ra. Một vài IC cũng sử dụng mức điện áp để biểu thị thông tin tương tự như biến trở.

lên
34 thành viên đã đánh giá bài viết này hữu ích.