CHƯƠNG 1 : TỔNG QUAN 6 do an ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 2 CƠ SỞ LÝ THUYẾT LIÊN QUAN CHƯƠNG 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN 7 do an ĐỒ ÁN TỐT NGHIỆP 2. LẬP TÌNH ỨNG DỤNG ANDROID 2. TỔNGQUAN Android là hệ điều hành trên điện thoại di động máy tính bảng và notebooks (và hiện nay là cả trên một số đầu phát HD, HD Player, TV) phát triển bởi Google và dựa trên nền tảng Linux và các phần mềm nguồn mở. Ban đầu nó được phát triển bởi Android Inc (sau đó được Google mua lại vào năm 2005).
Sự ra mắt của Android vào ngày 5 tháng 11 năm 2007 gắn với sự thành lập của liên minh thiết bị cầm tay mã nguồn mở với tên gọi OHA (Open Handset Alliance) bao gồm 78 công ty phần cứng, phần mềm và viễn thông nhằm mục đính tạo nên một chuẩn mở cho điện thoại di động trong tương lai. Andorid được phát triển nhằm cạnh tranh với các hệ điều hành di động khác như iOS (Apple), BlackBerry OS, Windows Mobile (Microsoft), Symbian (Nokia trước đây), WebOS (Palm). Android có một cộng đồng phát triển ứng dụng rất lớn, hiện có khoảng 800.000 ứng dụng có sẵn cho Android (6/2014) và đang liên tục được cập nhật. Ứng dụng được phát triển bằng ngôn ngữ Java kết hợp với thư viện Java có sẵn của Google.
Các nhà phát triển ứng dụng có thể sử dụng máy tính chạy hệ điều hành Windows hoặc MacOS hoặc Linux kết hợp với Android SDK để phát triển ứng dụng cho Android. LỊCH SỬ PHÁT TRIỂN Tập đoàn Android (Inc) được thành lập tại Palo Alto, California, Hoa Kỳ vào tháng 10 năm 2003 bởi Andy Rubin, Rich Miner, và một số thành viên khác, với mục đích để phát triển hay tạo ra các thiết bị di động thông minh hơn phục vụ các mục đích cho lợi ích con người. Nhân viên chính tham gia vào việc thành lập Android Inc bao gồm Andy Rubin, cũng là đồng sáng lập của Danger Inc, Andy McFadden là người đã làm việc với Rubin tại WebTV, và Chris White người đã lãnh đạo việc thiết kế và giao diện của WebTV. Nhân viên quan trọng khác bao gồm Richard Miner, đồng sáng lập của Wildfire Communications Inc và cựu phó chủ tịch công nghệ và tương lai ở Orange, và tất cả những người trong số họ sử dụng các kinh nghiệm có được để góp phần vào việc phát triển ngành công nghiệp không dây của công ty.
Bước đầu, hệ điều hành Android chỉ đơn thuần là phần mềm trên điện thoại di động. Tháng 7 năm 2005, Google mua lại Android, Inc., một công ty nhỏ mới thành lập có trụ sở ở Palo Alto, California, Mỹ. Những nhà đồng sáng lập của Android chuyển sang làm việc tại Google gồm có Andy Rubin (đồng sáng lập công CHƯƠNG 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN 8 do an ĐỒ ÁN TỐT NGHIỆP ty Danger), Rich Miner (đồng sáng lập công ty Wildfire Communications), Nick Sears (từng là phó chủ tịch của T-Mobile), và Chris White (trưởng nhóm thiết kế và phát triển giao diện tại WebTV). Khi đó, có rất ít thông tin về các công việc của Android, ngoại trừ việc họ đang phát triển phầnmềm cho điện thoại di động.
Điều này tạo những tin đồn về việc Google có ý định bước vào thị trường điện thoại di động. Và sau tiếp, vào cuối năm 2007, thuộc về Liên minh Thiết bị Cầm tay Mã Nguồn mở (Open Handset Alliance) gồm các thành viên nổi bật trong ngành viễn thông và thiết bị cầm tay như: Texas Instruments, Broadcom Corporation, Google, HTC, Intel, LG, Marvell Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel, T-Mobile, ARM Holdings, Atheros Communications, Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, and Vodafone Group … Mục tiêu của Liên minh này là nhanh chóng đổi mới để đáp ứng tốt hơn cho nhu cầu người tiêu dùng và kết quả đầu tiên của nó chính là nền tảng Android. Android được thiết kế để phục vụ nhu cầu của các nhà sản xuất, các nhà khai thác và các lập trình viên trên các thiết bị cầm tay. Phiên bản SDK lần đầu tiên phát hành vào tháng 11 năm 2007, hãng T- Mobile cũng công bố chiếc điện thoại Android đầu tiên đó là chiếc T-Mobile G1, chiếc smartphone đầu tiên dựa trên nền tảng Android.
Một vài ngày sau đó, Google lại tiếp tục công bố sự ra mắt phiên bản Android SDK release Candidate 1. Trong tháng 10 năm 2008, Google được cấp giấy phép mã nguồn mở cho Android Platform. Vào cuối năm 2008, Google cho phát hành một thiết bị cầm tay được gọi là Android Dev Phone 1 có thể chạy được các ứng dụng Android mà không bị ràng buộc vào các nhà cung cấp mạng điện thoại di động. Mục tiêu của thiết bị này là cho phép các nhà phát triển thực hiện các cuộc thí nghiệm trên một thiết bị thực có thể chạy hệ điều hành Android mà không phải ký một bản hợp đồng nào.
Vào khoảng cùng thời gian đó thì Google cũng cho phát hành một phiên bản vá lỗi 1.1 của hệ điều hành này. Ở cả hai phiên bản 1.1 Android chưa hỗ trợ soft- keyboard mà đòi hỏi các thiết bị phải sử dụng bàn phím vật lý. Android cố định vấn đề này bằng cách phát hành SDK 1.5 vào tháng Tư năm 2009, cùng với một số tính năng khác. Chẳng hạn như nâng cao khả năng ghi âm truyền thông, vật dụng, và các live folder.
Hiện nay Android đạt đến phiên bản 5. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN 9 do an ĐỒ ÁN TỐT NGHIỆP Hình 2.1: Biểu tượng các phiên bản của Android 2. CƠ SỞ LẬP TRÌNH Lập trình Android hiện nay đang thực hiện trên nền Java, ngoài ra cần bộ công cụ phát triển ứng dụng Android SDK để bắt đầu học lập trình Android. Có rất nhiều các công cụ cho phép tiến hành lập trình Android như Android Studio, Eclipse, NetBean…Ở trong đề tài này, nhóm sinh viên làm việc với Android Studio để lập trình Android.
Do các công cụ để phát triển chương trình càng ngày càng được cập nhật mới và dễ dàng tìm thấy trên các công cụ tìm kiếm hiện nay nên nhóm sinh viên sẽ không trực tiếp đề cập tới quá trình cài đặt các công cụ này. Các thành phần chính của 1 ứng dụng Android: Activity: hiểu một cách đơn giản thì Activity là nền của 1 ứng dụng. Khi khởi động 1 ứng dụng Android nào đó thì bao giờ cũng có 1 main Activity được gọi, hiển thị màn hình giao diện của ứng dụng cho phép người dùng tương tác. Service: thành phần chạy ẩn trong Android.
Service sử dụng để update dữ liệu, đưa ra các cảnh báo (Notification) và không bao giờ hiển thị cho người dùng thấy. Content Provider: kho dữ liệu chia sẻ. Content Provider được sử dụng để quản lý và chia sẻ dữ liệu giữa các ứng dụng. Intent: nền tảng để truyền tải các thông báo.
Intent được sử dụng để gửi các thông báo đi nhằm khởi tạo 1 Activity hay Service để thực hiện công việc bạn mong muốn. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN 10 do an ĐỒ ÁN TỐT NGHIỆP Broadcast Receiver: thành phần thu nhận các Intent bên ngoài gửi tới. Notification: đưa ra các cảnh báo mà không làm cho các Activity phải ngừng hoạt động. Activity, Service, Broadcast Receiver và Content Provider mới là những thành phần chính cấu thành nên ứng dụng Android, bắt buộc phải khai báo trong AndroidManifest.
LÝ THUYẾT LIÊN QUAN CỦA VI ĐIỀU KHIỂN 2. UART – TRUYỀN THÔNG NỐI TIẾP KHÔNG ĐỒNG BỘ UART là viết tắt của Universal Asynchronous Receiver – Transmitter. Thường là một mạch tích hợp được sử dụng trong việc truyền dẫn dữ liệu nối tiếp giữa máy tính và các thiết bị ngoại vi. Rất nhiều vi điều khiển hiện nay đã được tích hợp UART, vì vấn đề tốc độ và độ điện dụng của UART không thể so sánh với các giao tiếp mới hiện nay nên các dòng PC & Laptop đời mới không còn tích hợp cổng UART.
Như các bạn đã biết giao tiếp SPI và I2C có 1 dây truyền dữ liệu và 1 dây được sử dụng để truyền xung Clock (SCL) để đồng bộ trong giao tiếp. Với UART thì không có dây SCL, vấn đề được giải quyết khi mà việc truyền UART được dùng giữa 2 đối tượng với nhau, đồng nghĩa với việc mỗi phần tử có thể tự tạo ra xung clock cho chính nó sử dụng. Để bắt đầu cho việc truyền dữ liệu bằng UART, một START bit được gửi đi, sau đó là các bit dữ liệu và kết thúc quá trình truyền là STOP bit.2: Chuỗi bit trong truyền UART Như hình các bạn có thể thấy. Khi ở trạng thái chờ mức điện thế ở mức 1 (high).
Khi bắt đầu truyền START bit sẽ chuyển từ 1 xuống 0 để báo hiệu cho bộ nhận là quá trình truyền dữ liệu sắp xảy ra. Sau START bit là đến các bit dữ liệu D0-D7 (Theo hình vẽ các bit này có thể ở mức High hoặc Low tùy theo dữ liệu). Sau khi truyền hết dữ liệu thì đến Bit Parity để bộ nhận kiểm tra tính đúng đắn của dữ liệu truyền. Cuối cùng là STOP bit = 1 để báo cho thiết bị rằng các bit đã được CHƯƠNG 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN 11 do an ĐỒ ÁN TỐT NGHIỆP gửi xong.
Thiết bị nhận sẽ tiến hành kiểm tra khung truyền nhằm đảm bảo tính đúng đắn của dữ liệu. Các thông số cơ bản trong truyền nhận UART: Baund rate (tốc độ baund ): Khoảng thời gian dành cho 1 bit được truyền. Phải được cài đặt giống nhau ở gửi và nhận. Frame (khung truyền ): Khung truyền quy định về số bit trong mỗi lần truyền.
Start bit (bit bắt đầu): là bit đầu tiên được truyền trong 1 Frame. Báo hiệu cho thiết bị nhận có một gói dữ liệu sắp đc truyền đến. Bit bắt buộc. Data (bit dữ liệu): dữ liệu cần truyền.
Bit có trọng số nhỏ nhất LSB được truyền trước sau đó đến bit MSB. Parity bit (bit kiểm tra): kiểm tra dữ liệu truyền có đúng không. Stop bit (bit kết thúc):là bit bắt buộc để báo cho thiết bị rằng các bit đã được gửi xong. Thiết bị nhận sẽ tiến hành kiểm tra khung truyền nhằm đảm bảo tính đúng đắn của dữ liệu.
GIAO TIẾP I2C Giới thiệu Ngày nay trong các hệ thống điện tử hiện đại, rất nhiều ICs hay thiết bị ngoại vi cần phải giao tiếp với các ICs hay thiết bị khác thông qua nhiều chuyển giao tiếp khác nhau.Với mục tiêu đạt được hiệu quả cho phần cứng tốt nhất với mạch điện đơn giản, Phillips đã phát triển một chuẩn giao tiếp nối tiếp 2 dây được gọi là I2C. I2C là tên viết tắt của cụm từ Inter Intergrated Circuit – Bus giao tiếp giữa các IC với nhau. Đặc điểm Một giao tiếp I2C gồm có 2 dây: Serial Data (SDA) và Serial Clock (SCL).