Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 48 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
48
Dung lượng
8,16 MB
Nội dung
HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO MÔN HỌC HỆ ĐIỀU HÀNH NHÚNG THỜI GIAN THỰC Đề tài: Thiết kế xe điều khiển Bluetooth giọng nói điện thoại sử dụng Arduino hệ điều hành FreeRTOS Sinh viên thực hiện: Nhóm 13 – Lớp C401 Vương Thị Dung – CT040407 Vũ Thị Giang – CT040417 Nguyễn Tuấn Thành – CT040444 Phạm Hải Toàn – CT040450 GV hướng dẫn: ThS Lê Thị Hồng Vân Hà Nội, 11/2022 MỤC LỤC LỜI MỞ ĐẦU CHƯƠNG I TỔNG QUAN ĐỀ TÀI 1.1 Đặt vấn đề .4 1.2 Tình hình nghiên cứu 1.2.1 Tình hình nghiên cứu quốc tế 1.2.2 Tình hình nghiên cứu Việt Nam 1.3 Ứng dụng hệ điều hành nhúng thời gian thực 1.3.1 Hệ điều hành nhúng thời gian thực (RTOS) 1.3.2 Hệ điều hành FreeRTOS 1.3 Xây dựng toán 1.3.1 Yêu cầu chung 1.3.2 Chức hệ thống 1.3.3 Phương án thực .8 CHƯƠNG II PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1 Thiết kế phần cứng 2.1.1 Arduino UNO R3 2.1.2 Module động DC L298N 12 2.1.3 Module bluetooth HC-05 15 2.2 Thiết kế phần mềm 16 2.2.1 Biểu đồ use case tổng quát 16 2.2.2 Biểu đồ use case chi tiết 16 2.2.3 Đặc tả use case 17 2.2.4 Phân tích use case 18 2.2.5 Sơ đồ khối .19 2.2.6 Lưu đồ thuật toán 20 2.2.7 Sơ đồ nguyên lý 22 2.2.8 Sơ đồ lắp đặt 22 2.3 Thiết kế phần mềm điều khiển 23 2.3.1 Giới thiệu MIT App Inventor 23 2.3.2 Lưu đồ thuật toán 24 2.4 Ứng dụng hệ điều hành FreeRTOS .24 2.4.1 Tác vụ 24 2.4.2 Bộ định thời (Timer) .25 2.4.3 Sơ đồ Gantt 25 CHƯƠNG III XÂY DỰNG HỆ THỐNG 28 3.1 App điều khiển 28 3.2 Khối nguồn 29 3.3 Khối xử lý 29 3.4 Khối Driver động 30 3.5 Mơ hình hồn chỉnh 30 PHỤ LỤC 31 KẾT LUẬN 41 TÀI LIỆU THAM KHẢO .42 DANH MỤC HÌ Hình 2.1.1 Arduino UNO R3 YHình 2.1.2a Module động L298N 12 Hình 2.1.2b Nguyên lý hoạt động L298N 14 YHình 2.1.3 Module Bluetooth HC-05 .15Y Hình 2.2.1 Biểu đồ use case tổng quát 16 Hình 2.2.2 Biểu đồ use case chi tiết “Di chuyển” 16 Hình 2.2.4 Phân tích use case .18 Hình 2.2.5 Sơ đồ khối 19 Hình 2.2.6a Lưu đồ thuật toán điều khiển nút bấm .20 Hình 2.2.6b Lưu đồ thuật tốn điều khiển giọng nói 21 Hình 2.2.7 Sơ đồ ngun lý Proteus .22 Hình 2.2.8 S đồồ lắắp đặt Fritzing Hình 2.3.1 Giao diện App MIT Inventor 23 Hình 2.3.2 Lưu đồ thuật tốn phần mềm điều khiển 24 Hình 2.4.3a Sơ đồ Gantt CheckTask khơng tìm thấy tín hiệu 26 Hình 2.4.3b S ơđồồ Gant CheckTask tm thấắy tn hiệu Hình 3.1 App điều khiển 27 Hình 3.2 Khối nguồn 28 Hình 3.3 Khối xử lý 29 Hình 3.4 Khối Driver động 29 Hình 3.5 Mơ hình hồn thiện 30 DANH MỤC BẢ Bảng 2.1.1 Thông số kỹ thuật Arduino UNO R3 11 Bảng 2.1.2 Thông số kỹ thuật module động L298N .13 Y Bảng 2.2.3a Đặc tả use case “Kết nối Bluetooth” 17 Bảng 2.2.3b Đặc tả use case “Điều khiển xe” 18 LỜI MỞ ĐẦU Ngày nay, thời đại khoa học công nghệ phát triển mạnh mẽ, việc ứng dụng thiết bị điện tử vào đời sống trở nên phổ biến hơn, từ ứng dụng cá nhân đồng hồ kỹ thuật số, máy chơi nhạc MP3,… đến ứng dụng xã hội đèn giao thơng, kiểm sốt nhà máy,… Trong đó, phải kể đến robot điều khiển từ xa Robot điều khiển từ xa mảng quan trọng lĩnh vực robotic với nhiều công trình nghiên cứu giới Việc điều khiển từ xa thâm nhập vào tất lĩnh vực sống góp phần to lớn việc điều khiển thiết bị từ xa hay thiết bị mà người trực tiếp chạm vào để điều khiển Chính tầm quan trọng lĩnh vực điều khiển từ xa, nhóm chúng em lựa chọn đề tài: “Thiết kế xe điều khiển Bluetooth giọng nói điện thoại sử dụng Arduino hệ điều hành FreeRTOS” Báo cáo gồm chương: Chương I Tổng quan đề tài Chương nêu vấn đề, đưa khảo sát tình hình nghiên cứu Việt Nam quốc tế, sau đưa yêu cầu với hệ thống Chương II Phân tích thiết kế hệ thống Chương thực thiết kế phần cứng, phần mềm phần mềm điều khiển cho hệ thống Chương III Xây dựng hệ thống Chương xây dựng mơ hình hệ thống Chúng em xin gửi lời cảm ơn đến cô Lê Thị Hồng Vân nhiệt tình giúp đỡ chúng em suốt thời gian mơn học q trình thực đề tài Trong trình thực báo cáo mình, chúng em cố gắng để hoàn thiện cách tốt Nhưng với kiến thức hiểu biết có hạn nên khơng thể tránh khỏi thiết sót, mong nhận lời góp ý từ thầy để đề tài chúng em hoàn thiện CHƯƠNG I TỔNG QUAN ĐỀ TÀI 1.1 Đặt vấn đề Trong thời đại cơng nghiệp hóa đại hóa đất nước, việc trọng phát triển ngành công nghiệp ngành dịch vụ coi trọng Như nhu cầu thiết yếu, việc phát triển hệ thống nhúng để đưa vào hỗ trợ công nghiệp, dịch vụ, giúp điều khiển thiết bị từ xa mà không cần trực tiếp chạm vào để điều khiển vô cần thiết Điều khiển từ xa điều khiển mơ hình khoảng cách mà người khơng thiết phải trực tiếp đến nơi để điều khiển hệ thống Khoảng cách tùy thuộc vào độ phức tạp hệ thống Chẳng hạn để điều khiển từ xa du thuyền, ta cần có hệ thống phát thu mạnh Ngược lại, để điều khiển trò chơi điện tử từ xa ta lại cần hệ thống phát thu yếu Cùng với đó, điện thoại thơng minh ngày phổ biến Nhu cầu điều khiển từ xa điện thoại ngày tăng cao Chính vậy, chúng em lựa chọn đề tài “Thiết kế xe điều khiển Bluetooth giọng nói điện thoại”, với hệ điều hành sử dụng FreeRTOS Theo đó, dự án gồm phần sau: Thực nghiên cứu cách giao tiếp, kết nối vi điều khiển Arduino Uno R3 với module Bluetooth module L298N Thiết kế điều khiển xe giọng nói thơng qua module Bluetooth Xây dựng chương trình điều khiển điện thoại Android Xây dựng chương trình lập trình với hệ điều hành FreeRTOS 1.2 Tình hình nghiên cứu 1.2.1 Tình hình nghiên cứu quốc tế Trên giới, điều khiển từ xa sử dụng rộng rãi ngành điện tử gia dụng giải trí Phần lớn thiết bị điện tử TV, đầu đĩa, máy điều hịa, quạt có điều khiển từ xa kèm Gần đây, tay cầm chơi điện tử ứng dụng cơng nghệ khơng dây Chúng dùng sóng vơ tuyến thay hồng ngoại, việc ln phải chĩa chúng vào thiết bị chơi điều khơng thực tế Ngồi việc phải thay pin thường xuyên gây tượng trễ tín hiệu, tay cầm khơng dây đem lại số ưu điểm tiện dụng khác Sản phẩm Sony PlayStation 3, Nintendo Wii dùng sóng Bluetooth, Microsoft Xbox 360 Xbox One dùng giao thức truyền tín hiệu riêng Điều khiển từ xa nhà để xe cổng phổ biến, đặc biệt số quốc gia Mỹ, Úc Anh, nơi cửa nhà để xe, cổng rào chắn sử dụng rộng rãi Một điều khiển từ xa đơn giản thiết kế, thường có nút số có nhiều nút để điều khiển số cổng từ điều khiển Điều khiển từ xa chia thành hai loại theo loại mã hóa sử dụng: mã cố định mã cuộn Nếu bạn tìm thấy cơng tắc nhúng điều khiển từ xa, có khả mã cố định, cơng nghệ cũ sử dụng rộng rãi Tuy nhiên, mã cố định bị trích bảo mật (thiếu), mã cuộn ngày sử dụng rộng rãi cài đặt sau Trong quân thiết bị quan trọng thường dùng để vơ hiệu hóa hệ thống điện tử đối phương Điều khiển từ xa dùng để điều khiển phương tiện quân (máy bay, xe tăng, tàu ngầm, … ) không người lái thiết bị nổ Ngồi cơng nghệ điều khiển từ xa cịn ứng dụng cho khơng gian vũ trụ Các nước công nghệ tiên tiến Mỹ, Liên Xơ, Trung Quốc dùng cho mục đích điều khiển tàu vũ trụ từ xa 1.2.2 Tình hình nghiên cứu Việt Nam Chiều 4/12, Sở Khoa học Cơng nghệ Hải Phịng diễn hội nghị đánh giá kết thực nhiệm vụ khoa học công nghệ không sử dụng ngân sách Nhà nước “Nghiên cứu ứng dụng thiết bị vận hành cống điều khiển từ xa sử dụng lượng mặt trời cho cống Bãi Vẹt (1 cửa) cống Đông Cung (2 cửa)” thạc sĩ Phạm Thị Ngoan, Trưởng phòng Kế hoạch - Kỹ thuật, Công ty TNHH MTV Khai thác cơng trình thủy lợi Đa Độ làm chủ nhiệm Hiện cơng ty TNHH MTV Khai thác cơng trình thủy lợi Đa Độ quản lý 212 cống điều tiết nước toàn hệ thống phục vụ tưới - tiêu nước cho 32.000ha đất sản xuất nơng nghiệp, phịng chống lụt bão cho lưu vực, ngăn xâm nhập mặn, cấp nước phục vụ sinh hoạt - sản xuất công nghiệp cấp nước phục vụ chăn nuôi, nuôi trồng thủy, hải sản… Trong đó, 140/140 cống bờ Đa Độ vận hành thủ cơng, có 20/72 cống đê vận hàng điện lưới Tuy nhiên, việc vận hành cống thủ công tốn nhiều công sức, không đảm bảo trữ lượng chất lượng nước hệ thống khơng đảm bảo thời gian tiêu nước phòng chống thiên tai, bão lũ Kết ứng dụng thiết bị thể ưu điểm: Sử dụng 100% lượng tái tạo; vận hành tự động hóa hệ thống điều khiển từ xa, cập nhật số liệu 24/7; dễ dàng chuyển đổi vận hành thủ công; chủ động, phù hợp với điều kiện thời tiết không thuận lợi, không phụ thuộc vào nguồn điện lưới, an tồn điện phịng chống cháy nổ; giải phóng sức lao động công nhân, nâng cao hiệu quả, suất lao động; giám sát vận hành theo thời gian thực; giảm chi phí quản lý, vận hành từ 10- 20%; khơng tốn diện tích mặt đất 1.3 Ứng dụng hệ điều hành nhúng thời gian thực 1.3.1 Hệ điều hành nhúng thời gian thực (RTOS) Thuật ngữ hệ điều hành thiết bị đơn giản trước "hệ điều hành nhúng - embedded operating system" thay "hệ điều hành thời gian thực - real-time operating system" (RTOS) vốn dành cho thiết bị thuộc kỷ nguyên IoT Tuy nhiên, thực tế, hệ điều hành dành cho IoT khó sử dụng cho nhiều mục đích ứng dụng hàng hoạt sản phẩm, cần có nhiều hệ điều hành khác lĩnh vực IoT để đáp ứng nhu cầu thực tế Real-Time Operating Systems (RTOS - Hê ž điều hành thời gian thực), phần mềm điều khiển chuyên dụng thường dùng ứng dụng điê žn tốn nhúng có tài ngun bô ž nhớ hạn chế yêu cầu ngă žt nghèo thời gian đáp ứng tức thời, tính sŸn sàng cao khả tự kiểm sốt mơ žt cách xác Trên thực tế, RTOS dành cho thiết bị IoT đòi hỏi khả xử lý liệu có độ trễ thấp Những lợi ích mà RTOS mang lại bao gồm khả đa nhiệm, ưu tiên nhiệm vụ quản lý việc chia sẻ tài nguyên tác vụ phức tạp Hệ điều hành điều hành sử dụng phổ biến rộng rãi ngành hàng không, nhiều ngành công nghiệp thiết bị chăm sóc sức khỏe IoT Hệ điều hành IoT phức tạp hơn, có đầy đủ khả đáp ứng yêu cầu tiêu thụ lượng, khơng địi hỏi nhiều tài nguyên xử lý hay nhớ RAM Sau tổng quát hệ điều hành đáp ứng yêu cầu mang đến sức mạnh nhằm thúc đẩy ngành công nghiệp IoT: RIOT OS; VxWorks; Google Brillo; Hệ điều hành nhúng Apple; Nucleus RTOS Ngồi danh sách có thêm nhiều lựa chọn khác, tên đại diện cho ngành IoT khả phổ biến ứng dụng thương mại phát triển chúng giới mã nguồn mở Và cuối hệ điều hành có đủ sức mạnh để hệ thống vận hành, từ vệ tinh tủ lạnh, giúp thiết bị thông minh kết nối với người 1.3.2 Hệ điều hành FreeRTOS FreeRTOS hệ điều hành nguồn mở thời gian thực dành cho vi điều khiển, cho phép dễ dàng lập trình, triển khai, bảo mật, kết nối quản lý thiết bị ngoại biên nhỏ, công suất thấp Được phân phối miễn phí theo giấy phép nguồn mở MIT, FreeRTOS bao gồm nhân thư viện phần mềm phát triển phù hợp để sử dụng nhiều lĩnh vực ứng dụng công nghiệp Việc sử dụng bao gồm kết nối bảo mật thiết bị nhỏ, công suất thấp bạn với dịch vụ Đám mây AWS AWS IoT Core với thiết bị biên mạnh mẽ chạy AWS IoT Greengrass FreeRTOS xây dựng trọng vào độ tin cậy khả sử dụng dễ dàng, đồng thời cam kết phát hành hỗ trợ lâu dài Bộ vi điều khiển chứa xử lý đơn giản, hạn chế tài nguyên, có nhiều thiết bị, bao gồm đồ gia dụng, cảm biến, thiết bị theo dõi sức khỏe, thiết bị tự động hóa cơng nghiệp tô Khá nhiều số thiết bị nhỏ lợi từ việc kết nối với đám mây kết nối cục với thiết bị khác, có cơng suất điện tốn dung lượng nhớ hạn chế, thường thực tác vụ chức đơn giản Bộ vi điều khiển thường chạy hệ điều hành khơng tích hợp sŸn tính kết nối với mạng cục đám mây, nên thường gặp khó khăn triển khai ứng dụng IoT FreeRTOS giúp giải vấn đề cách cung cấp nhân để chạy thiết bị công suất thấp thư viện phần mềm cho phép dễ dàng kết nối bảo mật với đám mây thiết bị biên khác để bạn thu thập liệu từ cấu phần cho ứng dụng IoT thực hành động FreeRTOS cung cấp thứ bạn cần để dễ dàng lập trình thiết bị chạy vi điều khiển kết nối thu thập liệu từ thiết bị cho ứng dụng IoT Để bắt đầu, bạn chọn vi điều khiển đáp ứng điều kiện FreeRTOS từ AWS Partner Device Catalog Sau đó, bạn sử dụng Bảng điều khiển AWS GitHub để chọn tải xuống thư viện FreeRTOS phù hợp tích hợp tham chiếu IoT xác thực trước Bạn kết nối bảo mật thiết bị FreeRTOS với dịch vụ đám mây AWS IoT Core, với thiết bị ngoại biên cục thiết bị di động công nghệ Bluetooth tiết kiệm lượng cập nhật thiết bị từ xa tính 3.2 Khối nguồn Hình 3.2 Khối nguồn 3.3 Khối xử lý Hình 3.3 Khối xử lý 31 3.4 Khối Driver động Hình 3.4 Khối Driver động 3.5 Mơ hình hồn chỉnh Hình 3.5 Mơ hình hồn thiện 32 PHỤ LỤC #include #include #include // thư viện cho phép cổng digital arduino để giao phương thức serial #define TX_PIN //định nghĩa chân giao tiếp với bluetooth #define RX_PIN SoftwareSerial bluetooth(RX_PIN, TX_PIN); int enbA = 3; int in1 = 5; int in2 = 6; int in3 = 9; int in4 = 10; int enbB = 11; String chuoi ; char kytu; int timerID; TaskHandle_t ExecuteTask_t; TaskHandle_t CheckTask_t; TimerHandle_t myTimer_1; BaseType_t xTimerStarted_1; BaseType_t xTimerStopped_1; TimerHandle_t myTimer_2; BaseType_t xTimerStarted_2; BaseType_t xTimerStopped_2; 33 void setup() { Serial.begin(9600); while (!Serial) {} bluetooth.begin(9600); pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); pinMode(in3, OUTPUT); pinMode(in4, OUTPUT); pinMode(enbA, OUTPUT); pinMode(enbB, OUTPUT); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); digitalWrite(enbA, LOW); digitalWrite(enbB, LOW); myTimer_1 = xTimerCreate("MyTimer1", pdMS_TO_TICKS (3000), pdFALSE, 0, TimerCallback_1); myTimer_2 = xTimerCreate("MyTimer2", pdMS_TO_TICKS (500), pdFALSE, 0, TimerCallback_2); 34 xTaskCreate(ExecuteTask, "Execute", 128, NULL, 2, &ExecuteTask_t); xTaskCreate(CheckTask, "Check", 128, NULL, 1, &CheckTask_t); vTaskSuspend(CheckTask_t); if (myTimer_1 != NULL && myTimer_2 != NULL) vTaskStartScheduler(); } void loop() {} void ExecuteTask(void *p) { for (;;) { if (bluetooth.available()) { kytu = bluetooth.read(); chuoi = chuoi + kytu; switch (kytu) { case '@': dithang(); break; case '#': dilui(); break; case '*': retrai(); break; 35 case '$': rephai(); break; case '!': dunglai(); break; case '%': luitrai(); break; case '^': luiphai(); break; } if (chuoi.indexOf("đi thẳng") >= 0) { dithang(); chuoi = ""; timerID = 1; vTaskDelay(10); vTaskResume(CheckTask_t); xTimerStarted_1 = xTimerStart(myTimer_1, 0); vTaskSuspend(ExecuteTask_t); } if (chuoi.indexOf("đi lùi") >= 0) { dilui(); chuoi = ""; timerID = 1; vTaskDelay(10); 36 vTaskResume(CheckTask_t); xTimerStarted_1 = xTimerStart(myTimer_1, 0); vTaskSuspend(ExecuteTask_t); } if (chuoi.indexOf("rẽ trái") >= 0) { retrai(); chuoi = ""; timerID = 2; vTaskDelay(10); vTaskResume(CheckTask_t); xTimerStarted_2 = xTimerStart(myTimer_2, 0); vTaskSuspend(ExecuteTask_t); } if (chuoi.indexOf("rẽ phải") >= 0) { rephai(); chuoi = ""; timerID = 2; vTaskDelay(10); vTaskResume(CheckTask_t); xTimerStarted_2 = xTimerStart(myTimer_2, 0); vTaskSuspend(ExecuteTask_t); } if (chuoi.indexOf("lùi phải") >= 0) { luiphai(); chuoi = ""; timerID = 1; vTaskDelay(10); 37 vTaskResume(CheckTask_t); xTimerStarted_1 = xTimerStart(myTimer_1, 0); vTaskSuspend(ExecuteTask_t); } if (chuoi.indexOf("lùi trái") >= 0) { luitrai(); chuoi = ""; timerID = 1; vTaskDelay(10); vTaskResume(CheckTask_t); xTimerStarted_1 = xTimerStart(myTimer_1, 0); vTaskSuspend(ExecuteTask_t); } if (chuoi.indexOf("dừng lại") >= 0) { dunglai(); chuoi = ""; timerID = 1; vTaskDelay(10); vTaskResume(CheckTask_t); xTimerStarted_1 = xTimerStart(myTimer_1, 0); vTaskSuspend(ExecuteTask_t); } } } } void CheckTask(void *p) 38 { for (;;) { if (!bluetooth.available()) {} else { if (timerID == 1)xTimerStopped_1 = xTimerStop(myTimer_1, 0); else xTimerStopped_2 = xTimerStop(myTimer_2, 0); vTaskResume(ExecuteTask_t); vTaskSuspend(CheckTask_t); } } } static void TimerCallback_1(TimerHandle_t myTimer) { dunglai(); vTaskResume(ExecuteTask_t); vTaskSuspend(CheckTask_t); } static void TimerCallback_2(TimerHandle_t myTimer) { dunglai(); vTaskResume(ExecuteTask_t); vTaskSuspend(CheckTask_t); } 39 void dithang() { analogWrite(enbA, 150); analogWrite(enbB, 150); digitalWrite(in1, 0); digitalWrite(in2, 1); digitalWrite(in3, 0); digitalWrite(in4, 1); } void dunglai() { analogWrite(enbA, 0); analogWrite(enbB, 0); digitalWrite(in1, 0); digitalWrite(in2, 0); digitalWrite(in3, 0); digitalWrite(in4, 0); } void rephai() { analogWrite(enbA, 150); analogWrite(enbB, 30); digitalWrite(in1, 0); digitalWrite(in2, 1); digitalWrite(in3, 0); digitalWrite(in4, 1); 40 } void retrai() { analogWrite(enbA, 30); analogWrite(enbB, 150); digitalWrite(in1, 0); digitalWrite(in2, 1); digitalWrite(in3, 0); digitalWrite(in4, 1); } void dilui() { analogWrite(enbA, 150); analogWrite(enbB, 150); digitalWrite(in1, 1); digitalWrite(in2, 0); digitalWrite(in3, 1); digitalWrite(in4, 0); } void luitrai() { analogWrite(enbA, 50); analogWrite(enbB, 150); digitalWrite(in1, 1); digitalWrite(in2, 0); digitalWrite(in3, 1); 41 digitalWrite(in4, 0); } void luiphai() { analogWrite(enbA, 150); analogWrite(enbB, 50); digitalWrite(in1, 1); digitalWrite(in2, 0); digitalWrite(in3, 1); digitalWrite(in4, 0); } 42 KẾT LUẬN A Những kết đạt tập môn học Nắm vững cách sử dụng Arduino IDE hiểu rõ cách viết chương trình code IDE Tìm hiểu cấu tạo, cách sử dụng bo mạch Arduino, module bluetooth HC-05, động L298 Nắm rõ cách giao tiếp module: Bluetooth, Arduino DC L298N Tìm hiểu cách tạo app hệ điều hành android thông qua MIT App Inventor Làm quen với hệ điều hành FreeRTOS ứng dụng vào thiết bị nhúng Thực kết nối trao đổi liệu smartphone Arduino UNO R3 qua module Bluetooth Tìm hiểu, nghiên cứu thiết kế thành cơng mơ hình xe điều khiển thơng qua Bluetooth B Hạn chế Cự ly truyền liệu điện thoại module Bluetooth hạn chế Do chất lượng linh kiện chưa đảm bảo nên có số lỗi nhỏ thời gian hoạt động chưa xác công suất hoạt động chưa đảm bảo Sản phẩm chưa sử dụng qua thời gian dài với môi trường khác nên chưa đánh giá xác độ ổn định C Hướng phát triển đề xuất Tích hợp thêm nhiều chức cho xe như: truyền hình ảnh, đo nhiệt độ, độ ẩm, khoảng cách vật cản, đo độ nghiêng Phản hồi cố thiết bị di động điều khiển 43 Ứng dụng công nghệ Bluetooth vào hệ thống khác 44 TÀI LIỆU THAM KHẢO [1] ThS Lê Thị Hồng Vân, Slide giảng học phần Hệ điều hành nhúng thời gian thực; [2] Brian Amos, Hands-On RTOS with Microcontrollers; [3] Xiaocong Fan, Real-Time Embedded Systems; [4] Jim Cooling, Real-Time Operating Systems – Book 1+2; [5] Jonathan Valvano, Real-Time Operatomg Systems for ARM Cortex-M Microcontrollers; [6] Richard Barry, Mastering the FreeRTOS Real Time Kernel – A Hands-On Tutorial Guide; [7] Steve Health, Embedded Systems Design; [8] The FreeRTOS Reference Manual; 45