Bài 1: Bắt đầu lập trình đồng hồ thông minh Android Wear

Tui tính gác kiếm chuyển nghề bán kem nuôi vợ con đồng thời nếu bán ế thì vẫn ăn được vì Sài Gòn nó “Lóng” kinh khủng khiếp. Khuya nay ngồi buồn ngắm cái đồng hồ Moto 360 được anh Bùi Quang Tuấn(CTO Co-founder https://mb360.vn/) tặng nhân chuyến từ Úc về Việt Nam trình bày dự án startup về Mobile Payment, một dự án mà Tui cảm nhận rất tuyệt vời, có một tầm nhìn khá xa về tương lai của hình thức thanh toán cũng như quản trị hệ thống bán hàng.

Tui không biết có nên trách hay nên cảm ơn anh Tuấn đây, vì nó làm Tui nổi máu mài kiếm trở lại. Tui sẽ thử các chức năng ứng dụng cũng như cách thức lập trình trên đồng hồ thông minh Moto 360 chạy hệ điều hành Android Wear này. Mỗi lần máu cái gì là Tui lại cặm cụi làm dẫn tới Long Thể bất an, đôi mắt nó nổi cục lên vì hàng đêm trợn mắt nghiên cứu. Chúc công ty của anh luôn thành công, Tui hơi ngại khi nhận quà tặng của anh bởi vì do Tui dạy miễn phí cho nhân viên của anh mà anh lại tặng nó cho Tui khác nào là 1 cách trả công khác, tuy nhiên nó lại có khả năng lập trình được nên cũng làm Tui hơi hơi máu.

mot-360-gen1-chrome-540Hình ảnh đồng hồ Moto 360

Nếu như bạn nào đã học các bài giảng liên qua tới android ở https://duythanhcse.wordpress.com/lap-trinh-di-dong/android/ thì việc lập trình với Đồng hồ thông minh sẽ được dễ dàng hơn.

Trong bài đầu tiên về lập trình đồng hồ thông minh này Tui sẽ trình bày các kiến thức sau:

  1. Cách tạo Project Wearables
  2. Cách tạo và sử dụng Đồng hồ ảo thông minh (gọi là máy ảo)
  3. Cách lập trình và triển khai ứng dụng lên máy ảo
  4. Cách cấu hình cho điện thoại thật và Moto 360 kết nối được với nhau
  5. Cách cấu hình lập trình phần mềm tương tác được với máy thật (Moto 360) thông qua Bluetooth

Bạn nắm được 5 mục Tui liệt kê ở trên là có thể bắt đầu lập trình các ứng dụng liên quan tới Đồng hồ thông minh được rồi.

Bây giờ Tui sẽ đi vào chi tiết từng phần.

  1. Cách tạo Project Wearables

Nếu như máy tính của bạn chưa bao giờ lập trình Android thì phải cài JDK, Android Studio (tự xem lại các bài hướng dẫn lập trình Android).

Trong các bài hướng dẫn lập trình Đồng hồ thông minh Tui mặc định các bạn đã rành về Mobile Android.

Bạn khởi động Android Studio/ chọn Start a new Android Studio Project như hình dưới đây:

wear1Màn hình tạo mới một Project sẽ hiển thị ra dưới đây:

wear2Application name: đặt tên là DongHoDienTu

Company domain: Làm cho công ty nào thì sài domain của công ty đó, nếu cá nhân thì lấy theo cá nhân (thường là như vậy để đánh dấu bản quyền).

Sau đó bấm Next để qua màn hình chọn thiết bị sử dụng, tại màn hình này ta chọn Wear:

wear3Sau khi chọn Wear và Minimum SDK thì bấm Next để qua màn hình chọn các loại Activity cho ứng dụng:

wear4Ở màn hình chọn Activity này bạn thich chọn loại nào phù hợp với mình cũng được, vì mới học nên bạn chọn Blank Wear Activity rồi bấm next để qua màn hình hiệu chỉnh Activity như dưới đây:

wear5Activity name: Tên màn hình chính

Layout name sẽ include 2 layout Round Layout và Rectangular Layout

Thường 4 thông số tại màn hình này ta để mặc định không có chỉnh sửa rồi bấm nút finish để tiến hành tạo ứng dụng. Bạn chờ chút ít thời gian (tùy vào cấp độ rùa máy của bạn):

wear6Sau khi build ứng dụng xong bạn có cấu trúc dự án như dưới đây:

wear7Phần cấu trúc dự án Đồng hồ thông minh nó giống y xì như Mobile nên Tui không nói lại nữa. Như vậy tới đây chúng ta đã biết cách tạo một dự án lập trình cho Đồng hồ thông minh như thế nào.

2. Cách tạo và sử dụng Đồng hồ ảo thông minh (gọi là máy ảo)

Với những bạn không có đồng hồ thông minh chạy hệ điều hành Android Wear thì có thể sư dụng Máy ảo, các bước tạo như sau:

Bước 1: Từ màn hình ứng dụng chọn AVD Manager như hình dưới đây

wear8Bước 2: Tạo và chọn máy ảo để chạy:

wear9Ở màn hình Android Virtual Device Manager ở trên, Tui đã tạo một Đồng hồ ảo thông minh Android Wear Round API 22, nếu bạn cũng có thì bấm vào nút màu xanh ở trên để chạy máy ảo. Còn chưa có thì bấm nút “Create Virtual Device”. Khi nhấn nút “Create Virtual Device” thì màn hình tạo máy ảo sẽ hiển thị ra như dưới đây:

wear10Ở mục Category bạn chọn Wear, sau đó chọn loại Đồng hồ ảo thông minh rồi bấm Next. Hiện nay Google cung cấp 3 loại giao diện đồng hồ thông minh đó là:

  • Loại 1: Android Wear Square (mặt màn hình là Hình Vuông):

wear11

  • Loại 2: Android Wear Round (mặt màn hình là Hình Tròn):

wear12

  • Loại 3: Android Wear Round Chin (mặt màn hình là Hình Tròn và bị cắt 1 miếng bên dưới)

wear13Bây giờ bạn bấm Next để qua màn hình tiếp theo.

wear14Tại màn hình này bạn chọn Release rồi bấm Next (Thông thường lần đầu tiên bạn cài thì sẽ không có bạn vào bấm vào nút Download kế bên Release Name rồi chờ hệ thống tải về). Trong trường hợp này Tui đã tải về rồi nên chỉ cần chọn rồi bấm Next:

wear15Mục AVD Name: Bạn đặt tên cho máy ảo

Các thông số khác chưa rành cứ để mặc định (bạn có thể bấm vào Show Advanced Settings ) để cấu hình chi tiết hơn nhưng mà không cần thiết vì Google đã tự động chọn cấu hình tốt cho ta rồi.

Bạn bấm Finish để kết thúc quá trình tạo máy ảo, bạn chờ hệ thống tạo máy ảo xong sẽ quay trở lại màn hình ban đầu:

wear16Bạn nhấn vào nút màu xanh để Kích hoạt máy ảo Đồng hồ thông minh:

wear17Để thay đổi cách hiển thị Đồng Hồ bạn nhấn thật lâu vào màn hình Đồng Hồ==> chọn loại hiển thị khác:

wear18Khi nhấn thật lâu trên màn hình, hệ thống sẽ hiển thị danh sách các loại đồng hồ, bạn lướt qua trái qua phải rồi nhấn chọn đồng hồ mà bạn thích lúc đó hệ thống sẽ hiển thị đúng loại đồng hồ mà bạn đã chọn.

Để xem và thay đổi các cấu hình trong đồng hồ thông minh (bạn chú ý là nó giống luôn cho thao tác trên Đồng Hồ thật bạn nhé): Bạn nhấn vào góc phải Màn hình Đồng hồ ngay chỗ nút Tắt rồi kéo qua Trái:

wear19Bạn kéo hế qua bên trái thì sẽ có màn hình sau:

wear21Muốn xem cấu hình thì nhấn chọn Settings. Muốn xem các thông số tiếp theo thì bạn lượt xuống hoặc lướt lên màn hình đều có thể xem được.

Ví dụ màn hình Settings:

wear22

Mọi thứ sẽ nằm trong Settings: cấu hình độ sáng tối, cấu hình thay đổi màn hình đồng hồ, font chữ, Blue Tooth, khởi động lại máy, tắt máy, xem cấu hình… tất tần tật đều nằm trong này.

Cũng trong màn hình Settings bạn lướt tới mục About:

wear23Khi nhấn vào About ta có:

wear24Để xem phiên bản của Đồng Hồ ta bấm vào Versions chỗ Tui khoanh màu vàng:

wear25Bạn muốn quay trở về màn hình trước thì chỉ cần lướt qua Phải là xong.

wear26Các lập trình viên phải biết mở chế độ lập trình thì mới có thể Debug được ứng dụng nhen, tại màn hình Settings này các bạn nhấn liên tục 5 lần vào Build number==> hệ thống sẽ báo bạn đã kích hoạt thành công Developer Option. Sau khi bạn thấy thông báo này thì lướt màn hình qua phải để trở về màn hình trước đó (y xì như Đồng Hồ thật nha) :

wear27Sau khi bạn lướt qua phải xong thì mục Develper Option sẽ hiển thị ra như dưới đây:

wear28Bạn nhấn vào Developer Options để cấu hình tiếp nha:

wear29Để lập trình được với Đồng Hồ Thật bạn bắt buộc phải enabled 2 chức năng:

  • ADB Debugging
  • Debug Over Bluetooth

Đồng hồ thật sẽ kết nối với điện thoại thông qua Blue tooth. 2 chức năng trên bạn nhấn vào để nó thành enabled.

Ngoài ra Đồng Hồ thông minh còn nhiều tính năng khác nhau: Đồng bộ dữ liệu với Điện Thoại Thật, cho phép tìm kiếm điện thoại thật (từ đồng hồ bấm Find my phone thì cái điện thoại của ta nó la lối om sòm lên liền), giao tiếp giọng nói ….

wear30Như vậy tới đây Tui đã giới thiệu sơ qua cách sử dụng Đồng hồ thông minh máy ảo, quan trọng nhất là chức năng debug để developer. Các bạn cần chú ý biết cách cấu hình nha (và nó giống luôn cho Đồng hồ thật)

Bây giờ ta qua mục số 3:

3. Cách lập trình và triển khai ứng dụng lên máy ảo

Bây giờ từ Project tạo ở bước 1, Tui sẽ viết một ứng dụng Đồng Hồ Điện Tử để demo cho các bạn cách thức biên dịch và triển khai ứng dụng này lên Đồng hồ thông minh ảo như thế nào (chú ý chỉ đơn thuần là giúp các bạn biết cách biên dịch và triển khai lên máy ảo, đừng quan trọng độ nguy hiểm của project):

Thông thường khi bạn new 1 Project Android Wear thì hệ thống có sẵn TextView và coding sẵn cho ta truy suất tới control này luôn. Để đơn giản Tui sử dụng chính control Textview này mà không hề sửa bất kỳ 1 giao diện nào, giờ bạn vào MainActivity để bổ sung thêm Coding đa tiến trình hẹn giờ như sau:

[code language=”java”]
package com.tranduythanh.donghodientu;

import android.app.Activity;
import android.os.Bundle;
import android.support.wearable.view.WatchViewStub;
import android.widget.TextView;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;

public class MainActivity extends Activity {

private TextView mTextView;
TimerTask task;
Timer timer;
SimpleDateFormat sdf=new SimpleDateFormat("hh:mm:ss aaa");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
@Override
public void onLayoutInflated(WatchViewStub stub) {
mTextView = (TextView) stub.findViewById(R.id.text);
timer=new Timer();
timer.schedule(task,0,1000);
}
});
task=new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
Calendar calendar=Calendar.getInstance();
if(mTextView!=null)
mTextView.setText(sdf.format(calendar.getTime()));
}
});
}
};

}
}
[/code]

Sau đó bạn biên dịch để chạy ứng dụng:

wear33Hệ thống sẽ xuất hiển cửa sổ yêu cầu chọn thiết bị để triển khai:

wear34Bạn chọn Đồng Hồ Thông Minh rồi nhấn OK, đợi hệ thống biên dịch, đóng gói tải lên thiết bị rồi cài đặt sau đó kích hoạt. Sau khi cài đặt xong thì Đồng Hồ sẽ thông báo cài đặt thành công nhấn vào để kích hoạt phần mềm:

wear31Bạn nhấn vào xem kết quả:

wear32Như vậy Bạn đã biết cách coding một project Đồng hồ điện tử cơ bản, cách biên dịch và triển khai nó lên thiết bị máy ảo như thế nào.

Bây giờ Tui qua mục số 4.

4. Cách cấu hình cho điện thoại thật và Moto 360 kết nối được với nhau

  • Đầu tiên bạn cần cài đặt phần mềm Android Wear (có rất nhiều hãng làm, tuy nhiên Tui khuyên các bạn nên sài chính thống giáo của Google)

h1Bạn vào Google Play chọn Phần mềm mà Tui đánh dấu ở trên để cài đặt. Sau khi cài đặt xong phần mềm Android Wear bạn sẽ thấy giao diện như dưới đây:h2Vì Đồng Hồ Thông Minh sử dụng Bluetooth để kết nối nên phần mềm yêu cầu bạn phải mở BlueTooth nếu như nó chưa được kích hoạt. Sau khi bật BlueTooth, phần mềm sẽ yêu cầu ta cấu hình một số thông số:

h3Bạn chọn mặc định rồi bấm Next:

h4Sau đó nhấn nút Accept để chấp nhận cấu hình.

Hệ thống tiến hành tìm kiếm Đồng Hồ Thông minh qua bluetooth:

h5Như hình trên bạn thấy Đồng Hồ Thông Minh thật mà Tui đang sử dụng có tên “MOTO 360 2CF5”, bạn nhấn vào nó để kết nối:

h6Hệ thống sẽ hiển thị mã xác nhận trên điện thoại và cả trên đồng hồ thông minh thật, lúc này bạn nhấn PAIR để kết nối:

h7h8Bạn bấm Next để ra màn hình kết thúc cuối cùng:

h9Như vậy tới đây Tui đã hướng dẫn xong phần kết nối từ Đồng Hồ Thông Minh Thật tới Điện thoại thật. Lúc này hệ thống sẽ tự đồng bộ dữ liệu từ Phone qua Đồng hồ thông minh.

Bây giờ Tui sẽ hướng dẫn mục tiếp theo(quan trọng cho lập trình viên)

5. Cách cấu hình lập trình phần mềm tương tác được với máy thật (Moto 360) thông qua Bluetooth

Bước 1: Để làm được bước này(rất quan trọng), trước tiên bạn phải đưa đồng hồ thông minh thật của bạn về chế độ developer (đã hướng dẫn ở phần máy ảo), bạn cần phải mở Developer nó lên (y xì máy ảo nha), sau đó cho chức năng ADB Debugging và Bluetooth bật lên như đã nói phần trước nha.

Bước 2:

Thiết lập cổng kết nối để forward từ Điện thoại qua đồng hồ. Vì bạn tưởng tượng nó hoạt động như sau này:

h10Ở hình trên Tui vẽ bạn thấy đó, không có cách nào mà từ Coding trong máy tính của bạn có thể làm việc trực tiếp với đồng hồ được mà bạn phải qua bước trung gian: Từ máy tính qua điện thoại(bằng USB hoặc WIFI)==> từ Điện thoại qua Đồng hồ (hiện nay chỉ mới cho kết nối lập trình bằng  BlueTooth)

Vậy thì làm sao lập trình nhỉ? làm sao deploy ứng dụng của mình lên cái đồng hồ thật kia?

Bạn làm các lệnh sau cho tui vào 2 file .bat (2 đứa này lưu vào thư mục platform-tools của android SDK):

h11Lệnh số 1:

adb forward tcp:4444 localabstract:/adb-hub
pause

Lệnh này lưu vào Motor360_Step1.bat

Lệnh số 2:

adb connect 127.0.0.1:4444
pause

Lệnh này lưu vào Motor360_Step2.bat

Sau đó bạn chạy từng file lên (theo thứ tự) chạy Motor360_Step1.bat sau đó chạy Motor360_Step2.bat:

h111Bạn thấy nó báo Connected như vậy tức là đã thành công. Bạn chú ý là lúc này thường thì trên đồng hồ thông minh thật nó sẽ tự động hỏi là bạn có cho phép debugging không? lúc này bạn nhớ bấm OK NHA, nếu không thì sẽ không cho phép đưa phần mềm từ Máy tính vào Đồng hồ được đâu nha.

hxyzHình trên là Tui chụp đồng hồ thật Moto 360 của Tui lúc vừa chạy 2 file bat bên trên: Tại đây bạn chọn OK để cho phép debugging (1 lần), muốn được debugging mãi mãi thì chọn mục Always from this computer.

Bước 3: Kiểm tra phần mềm Android Wear trên điện thoại đã thực sự kết nối chưa và cấu hình cho phép nếu như chưa (thường lần đầu bạn lập trình luôn gặp lỗi này, kết nối được rồi mà tại sao lại không đưa phần mềm từ Máy tính qua Đồng hồ được.

Bước này bạn làm như sau:

h122Tại phần mềm trên bạn nhấn nút Setting mà Tui khoanh đỏ, nó ra màn hình sau:

h12Chắc chắn lần đầu bạn cấu hình không có kết quả như trên, bạn phải cấu hình lại làm sao ra được kết quả như trên là  thành công.

Thứ nhất: Chỗ Device to Debug mặc định ban đầu là chữ Server, bạn nhấn vào nó thì nó xổ ra màn hình cho chọn thiết bị (chính là Đồng hồ thông minh thật mà lúc nãy bạn đã kết nối thành công từ Điện thoại tới nó)

h13Thứ nhì: Chỗ Debugging over blue tooth mặc định ban đầu nó là Disabled, bạn cần nhấn vào nó để nó sáng như vậy, lúc bạn thấy kết quả:

Host: Connected

Target: Connected

Như hình bên trên do chính điện thoại thật và đồng hồ thật mà Tui cấu hình tức là bạn đã thành công. Tới đây từ Android Studio bạn chạy phần mềm thì nó hỏi:

h14Bạn thấy đó, cái đồng hồ thông minh Moto 360 thật của Tui nó sẽ hiển thị ở chỗ chọn thiết bị của Android Studio==> bạn nhấn OK là sẽ cài được phần mềm từ Máy tính qua đồng hồ.

Như vậy Tui đã hướng dẫn đầy đủ và chi tiết từng bước để lần đầu tiên bạn tiếp cận lập trình đồng hồ thông minh như thế nào rồi nhé, bạn chú ý thực hành kỹ lại những hướng dẫn này nhé.

Source code đồng hồ điện tử: http://www.mediafire.com/download/j6i9cde877vfyd5/DongHoDienTu.rar

Chúc các bạn thành công.

2 thoughts on “Bài 1: Bắt đầu lập trình đồng hồ thông minh Android Wear”

Leave a Reply