[Android Things] Phần 1: Tổng quan về IoT và AT - Cài đặt môi trường cho Android Things với kit Raspberry Pi 3
Như các bạn cũng biết, hiện nay thuật ngữ IoT (Internet Of Things) đang nóng và được tìm kiếm tăng cao. Bởi tính thú vị cũng như tính ứng dụng của nó mang lại thực sự khiến con người thích thú. Bài viết này mình muốn chia sẻ với mọi người về những gì mình tìm hiểu được về IoT nói chung và Android ...
Như các bạn cũng biết, hiện nay thuật ngữ IoT (Internet Of Things) đang nóng và được tìm kiếm tăng cao. Bởi tính thú vị cũng như tính ứng dụng của nó mang lại thực sự khiến con người thích thú. Bài viết này mình muốn chia sẻ với mọi người về những gì mình tìm hiểu được về IoT nói chung và Android Things nói riêng.
Internet Of Thing là gì?
Internet of Things (IoT) là một kịch bản của thế giới, khi mà mỗi đồ vật, mỗi đồ vật, con người được cung cấp một định danh của riêng mình, và tất cả có khả năng truyền tải, trao đổi thông tin, dữ liệu qua một mạng duy nhất mà không cần đến sự tương tác trực tiếp giữa người với người, hay người với máy tính. IoT đã phát triển từ sự hội tụ của công nghệ không dây, công nghệ vi cơ điện tử và Internet.
Nói chung IoT là khi tất cả mọi thứ đều được kết nối với nhau qua mạng Internet, ngừoi dùng có thể kiểm soát mọi đồ vật của mình qua mạng mà chỉ bằng mộtt hiết bị thông minh, chẳng hạn như smartphone, tablet, PC hay thâm chí là bằng chiếc smartwatch. Với sự phát triển của nhà thông minh, TV thông minh, tủ lạnh thông minh, ... IoT từ đó càng ngày phát triển càng mạnh mẽ.
Có vô vàn những ngôn ngữ, hệ sinh thái, hệ điều hành cũng như hệ thống phần cứng phục vụ cho IoT. Về ngôn ngữ lập trình chúng ta đã quá quen với embedded được lập trình từ ngôn ngữ C, C++ .. hay NodeJS cũng có thể làm việc này hoàn toàn khả quan... Hệ thống bao gồm rất nhiều thiết bị từ các nhà sản xuất như Intel, NPX, Raspberry... Google cũng đang dần cảm thấy bị tụt lại sau. Nhưng sự ra đời của Android Things đã cho chúng ta thấy Google mang tham vọng lớn như nào với thị trường này. Vậy:
Android Things là gì?
Android Things (AT) là một cái tên mới nhưng bản chất của nó không phải là mới. Về cơ bản, Android Things là một bản cập nhật và làm mới lại của Brillo, hệ điều hành dựa trên nền tảng Android dành cho các thiết bị thông minh và các sản phẩm Internet of Things (IoT) được giới thiệu hơn 1 năm trước nhưng không được hưởng ứng như mong đợi. Và cũng như Android gốc, AT được xây dựng như một nền tảng mở nhằm giúp các nhà sản xuất thiết bị số có thể bỏ qua bước phát triển hệ sinh thái ban đầu và tiến thẳng vào quá trình tạo nên sản phẩm hoàn thiện.
Bên cạnh đó thì AT vẫn có điểm riêng & đặc biệt của riêng nó! Cụ thể là nền tảng này sẽ không "tượng hình" như bao hệ điều hành khác mà chọn cách ẩn mình bên trong những đồ vật. Ví dụ như loa nghe nhạc, bếp từ - nồi cơm điện - bàn là thông minh,... từ đó giúp các món đồ đã từng vô tri này trở nên sinh động và có khả năng chủ động giao tiếp với nhau thông qua một lưới kết nối. Chỉ bấy nhiêu thôi cũng khiến các Java developer có ít kinh nghiệm với C++ hay NodeJS cảm thấy AT thân thiện hơn bao giờ hết.
Mặc dù là một bản rút gọn so với các Android OS trên điện thoại hay smartwatch cũng như tablet nhưng những đồ vật được sử dụng OS này vẫn có các bộ phát triển SDK, Android Studio, Dịch vụ Google Play hay Google Cloud Platform,... Mặc dù mang cái tên có chứa chữ "Android" nhưng Android Things không thể chạy song song cùng hệ điều hành Android trên các thiết bị điện thoại Android hay đồng hồ Android Watch. Android Things là hệ điều hành chạy nền cho phép những thiết bị thông minh có thể tự xử lý những tác vụ phức tạp thay vì phải nhờ đến một số server, cũng có nghĩa là Android Things sẽ phù hợp với những thiết bị lớn và nhiều chức năng hơn như máy in, khóa hay lò nướng.
Cuối cùng, Android Things cũng không được sử dụng để kết nối thẳng những thiết bị thông minh với điện thoại Android. Các thiết bị chạy Android Things chỉ có thể kết nối với điện thoại Android hoặc iOS thông qua Weave, hệ thống cho phép các thiết bị IoT "giao tiếp" với nhau được giới thiệu cùng thời điểm với Brillo vào năm 2015.
Trên đây là tổng quan một số điểm khái quát về IoT cũng như AT để chúng ta hiểu hơn về môi trường cũng như sự phát triển. Vậy để làm quen và tìm hiểu sâu hơn về AT hoạt động như nào, chúng ta cùng nhau tìm hiểu phần tiếp theo.
Cài đặt và xây dựng môi trường phát triển.
I. Bộ kits phát triển
Hiện nay có rất nhiều những bộ kit mà tương thích với AT, trong số đó phải kể đến Raspberry Pi 3, IntelIntel, NPX..
Intel® Edison
NPX Pico i.MX6UL
Raspberry Pi 3
II. Cài đặt
Trong bài viết này mình sẽ hướng dẫn chi tiết về cách cài đặt cho bộ kit Raspberry Pi 3.
1. Giới thiệu chung về Raspberry Pi 3
Mô tả chung:Raspberry Pi 3 là một bảng mạch máy tính phổ biến nhất trên thế giới với cấu hình cung cấp quad-core 64bit ARM Cortex-A53 CPU 1.2Ghz, 4 cổng USB 2.0, kết nối hồng ngoại, wireless, HDMI, đầu ra video, và 40-pin GPIO kết nối cho các kết nối vật lý.
Chúng ta sẽ tìm hiểu thêm một chút về các chân GPIO được tích hợp trên bộ kit này:
Raspberry Pi I/O:Phần này sẽ mô tả các giao diện Peripheral I/O dành cho các pin kết nối điều khiển tới các thiết bị ngoại vi.
Bẩng sơ đồ miêu tả dưới đây sẽ mô tả vị trí các cổng tiếp xúc có sẵn trên bộ kit này:
Để hiểu hơn về 1 số thuật ngữ liên quan đến điện - điện tử, các bạn có thể tham khảo ở đây: Hardware 101
2. Cài đặt và phát triển
a. Chúng ta tải file System Image AT cho bộ kit Raspberry Pi 3 tại đây: System Image b. Flashing Image System (Cài đặt OS lên bộ kit)Trước khi cài đặt chúng ta cần chuẩn bị 1 số các linh kiện sau:
- HDMI cáp kết nối
- Màn hình hiển thị có hỗ trợ cổng kết nối HDMI
- Cáp Micro-USB
- Cáp kết nối internet
- SD card Reader
Để cài đặt Android Things lên trên bộ kit Raspberry Pi, chúng ta làm theo những bước sau:
- Kết nối thẻ nhớ SD có dung lượng 8Gb hoặc lớn hơn vào máy tính của chúng ta
- Giải nén file System Image OS trên máy tính của chúng ta.
- Tuỳ vào hệ điều hành trên máy tính của bạn đang sử dụng, chúng ta sẽ có hướng dẫn flash tập tin OS vào thẻ nhớ SD.
- Linux OS
- Mac OS
- Windows
-
Sau khi chúng ta hoàn thành việc flash tập tin OS lên thẻ nhớ, chúng ta lấy thẻ nhớ đó và cắm vào bộ kit Raspberry Pi 3
-
Tạo kết nối giữa các cổng trên bộ kit:
- Kết nối cáp micro-usb tới cổng số 1 (cổng nguồn)
- Kết nối internet cáp qua cổng số 2.
- Kết nối cáp HDMI tại cổng số 3.
- Sau khi OS đã chạy trên device của chúng ta. Android Things Launcher sẽ hiển thị thông tin cơ bản của bảng mạch trên màn hình bao gồm cả IP address.
Kết nối máy tính của chúng ta với Raspberry Pi 3 thông qua adb tool: Chúng ta mở Terminal trên LinuxOS/ MacOS hoặc Command Prompt trên Windows OS và gõ:
$ adb connect <ip-address> connected to <ip-address>:5555
Chúng ta có thể kết nối đến mà không cần địa chỉ IP của bộ kit thông qua Android.local nếu host platform của chúng ta hỗ trợ MDNS.
$ adb connect Android.local
Lời kết:
Như vậy chúng ta đã cài đặt và kết nối thành công môi trường với bộ kit Raspberry Pi 3 để phục vụ cho việc phát triển Android Things. Phần tiếp theo mình sẽ chia sẻ với các bạn về một vài các ứng dụng cơ bản được phát triển trên Raspberry Pi 3 với Android Things OS.
Thank in advance for your reading.