THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TRONG NHÀ TỪ XA QUA TRUYỀN THÔNG KHÔNG DÂY

61 69 0
THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TRONG NHÀ TỪ XA QUA TRUYỀN THÔNG KHÔNG DÂY

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA ĐIỆN BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG ====o0o==== ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TRONG NHÀ TỪ XA QUA TRUYỀN THÔNG KHÔNG DÂY Giáo viên hướng dẫn : TS Vũ Vân Hà Nhóm sinh viên thực hiện: Lê Thiện Đức Cao Văn Hoàng Nguyễn Thị Minh Giang Hà nội, 6/2016 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HN - CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc - NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Số hiệu sinhviên: Khóa: Khoa/Viện: .Ngành: Đầu đề thiết kế: Các số liệu ban đầu: Nội dung phần thuyết minh tính tốn: Các vẽ, đồ thị ( ghi rõ loại kích thước vẽ ): Họ tên cán hướng dẫn: Ngày giao nhiệm vụ đồ án: Ngày hoàn thành đồ án: Ngày tháng năm … Trưởng môn Cán hướng dẫn ( Ký, ghi rõ họ, tên) ( Ký, ghi rõ họ, tên) Sinh viên hoàn thành nộp đồ án tốt nghiệp ngày… tháng … năm 2010 Người duyệt Sinh viên ( Ký, ghi rõ họ, tên) ( Ký, ghi rõ họ, tên) MỤC LỤC DANH MỤC HÌNH VẼ ii DANH MỤC BẢNG BIỂU iii DANH MỤC KÍ HIỆU VÀ TỪ VIẾT TẮT iii LỜI NÓI ĐẦU Chương TỔNG QUAN 1.1 Giới thiệu đề tài 1.1.1 Ý tưởng đề tài 1.1.2 Tóm tắt đề tài 1.1.3 Phương pháp nghiên cứu 1.1.4 Đối tượng nghiên cứu 1.1.5 Tiêu chí thiết kế cho đề tài 1.1.6 Sơ đồ tổng quan hệ thống Chương 22 CÔNG NGHỆ BLUETOOTH 4.0 22 2.1 Công Nghệ Bluetooth 22 2.1.1 Khái niệm 22 2.1.2 Đặc điểm Bluetooth 22 2.1.3 Lịch sử phát triển Bluetooth 23 2.2 Kiến trúc giao thức Bluetooth 4.0 24 2.2.1 Giới thiệu chung 24 2.2.2 Cấu trúc giao thức 24 2.2.3 Lớp Vật lý (Physical Layer) 25 2.2.4 Lớp liên kết (Link Layer) 25 2.2.5 Lớp HCI (host control interface) 25 2.2.6 Lớp L2CAP (link logical control and adaption protocol) 25 2.2.7 Lớp ATT ( Attribute Protocol) 26 2.2.8 Lớp SM (Security Manager) 26 2.2.9 Lớp GATT (Generic Attribute Profile) 26 2.2.10 Lớp GAP ( Generic Access Profile) 28 Hình 2.4 Sơ đồ trang thái GAP 29 Chương 22 Thiết Kế Mạch Điều Khiển 22 3.1.Thiết kế phần cứng 22 3.1.1 Sơ đồ khối 22 3.1.2 CC2541 System on chip 23 3.1.3 Khối điều khiển truyền thông 24 3.1.4 Khối mạch lái cho Relay 25 3.1.5 Khối nguồn 3,3V 27 3.1.6 Nguồn 220V-5VDC 27 3.1.7 Khối cảm biến nhiệt độ, còi báo, led báo nút bấm 28 3.2 Thiết kế phần mềm 31 3.2.1.Thiết lập service cho lớp GATT server 31 3.2.2.Thiết lập thông số hoạt động cho lớp GAP 32 3.2.3.Viết hàm để cấu hình sử dụng ngoại vi 32 CHƯƠNG 34 THIẾT KẾ ỨNG DỤNG ĐIỀU KHIỂN TRÊN ANDROID 34 4.1 Tổng quan hệ điều hành android 34 4.1.1 Kiến trúc Android 34 4.1.2 Các ứng dụng (Applications) 35 4.1.3 Khung ứng dụng (Application farmework) 36 4.1.4 Thư viện giao diện lập trình ( Libraries ) 36 4.1.5 Chu kỳ ứng dụng android 37 4.2 Thiết kế ứng dụng thiết bị di động 41 4.2.1 Tiêu chí thiết kế 41 4.2.2 Chương trình thiết kế 41 4.2.3 Thiết kế giao diện ứng dụng 42 4.2.4 Hệ thống ứng dụng 42 4.3 Cách thức hoạt động ứng dụng “ điều khiển thiết bị BLE” 43 KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 45 TÀI LIỆU THAM KHẢO 46 PHỤ LỤC 47 Danh mục bảng số liệu DANH MỤC HÌNH VẼ Hình 1.1 Sơ đồ tổng quan hệ thống .5 Hình 2.1 Cấu trúc giao thức Bluetooth Low Energy 24 Hình 2.2 Vai trò GATT ứng với central peripheral 27 Hình 2.3 Sự phân cấp liệu GATT Server 27 Hình 3.1 Sơ đồ khối mạch điều khiển 22 Hình 3.2 Sơ đồ chân CC2541 23 Hình 3.3 Khối điều khiển truyền thông 24 Hình 3.4 Sơ đồ mạch nguyên lý khối điều khiển relay với khối chấp hành 25 Hình 3.5 Sơ đồ mạch kênh bên IC ULC2003a 26 Hình 3.6 Ảnh minh họa relay 26 Hình 3.7 Khối nguồn 3,3V 27 Hình 3.8 Hình ảnh minh họa LM1117 .27 Hình 3.9 Module nguồn 220V-5VDC 28 Hình 3.10 Khối cảm biến, báo hiệu, mạch nạp 28 Hình 3.11 Sơ nguyên lý bo mạch 29 Hình 3.12 Hình ảnh mạch thật 30 Hình 3.13 Lưu đồ thuật toán cho mạch điều khiển 33 Hình 4.1 Cấu trúc hệ thống Android 35 Hình 4.2: Activity Stack 38 Hình 4.3 Vòng đời Activity 39 ii Danh mục bảng số liệu DANH MỤC BẢNG BIỂU Bảng 3.1 Phân phối đầu vào cho module CC2541 25 Bảng 3.2 Bảng liệt kê service characteristic bên profile GATT server 31 iii Danh mục từ viết tắt DANH MỤC KÍ HIỆU VÀ TỪ VIẾT TẮT AES Advanced Encryption Standard Tiểu chuẩn mã hóa tiên tiến ATT Attribute Protocol Giao thức phần tử liệu BLE Bluetooth Low Energy Bluetooth lượng thấp DMA Direct memory access Bộ nhớ truy cập trực tiếp GAP Generic Access Profile GATT Generic Attribute Profile HCI Host-Controller Interface Lớp giao diện Host-Control L2CAP Link Logical Control and Lớp điều khiển liên kết logic giao Adaption Protocol thức thích ứng LL Link Layer Lớp liên kết PHY Physical Layer Lớp vật lý RAM Random Access Memory Bộ nhớ truy cập ngẫu nhiên SDK Software Development Kit Bộ phát triển phần mềm SM Security Manager Lớp quản trị an ninh SoC System on Chip Tất hệ thống chip UART Universal asynchronous receiver/ Truyền thơng có dây khơng đồ transmitter iii Chương Tổng quan LỜI NÓI ĐẦU Ngày nay, với ứng dụng khoa học kỹ thuật tiên tiến, sống ngày thay đổi, văn minh đại Khái niệm nhà thông minh đời để áp ứng nhu cầu sống người Một nhà thông minh giải pháp điều khiển tích hợp thiết bị điện tử, nghe nhìn, truyền thơng thành hệ thống hồn chỉnh hợp Nhận thức tầm ứng dụng thực tiễn nhà thông minh, quan truyền thông hệ thống nhà thông minh sở để chúng em chọn đề tài đồ án tốt nghiệp “Thiết kế hệ thống điều khiển thiết bị điện gia đình từ xa qua truyền thơng khơng dây” Trong suốt thời gian hồn thành đồ án, chúng em tìm hiểu vi điều khiển, chế độ truyền thông, cảm biến đo, cấu chấp hành, cách kết nối Bluetooth, điều khiển qua điện thoại thông minh Dưới hướng dẫn, bảo thầy Vũ Vân Hà với cố gắng nỗ lực thành viên nhóm, chúng em hồn thành đồ án thời hạn cho phép Tuy nhiên thời gian hạn chế, lượng kiến thức lớn nên chúng em khơng thể tránh thiếu xót Vì đề tài chúng em tập trung giải vấn đề sau:  Thiết kế phần cứng điều khiển thiết bị thông qua module CC2541  Điều khiển bật/tắt thị trạng thái thiết bị ứng dụng điện thoại Em xin chân thành cảm ơn! Nhóm sinh viên thực Lê Thiện Đức Cao Văn Hoàng Nguyễn Thị Minh Giang Chương Tổng quan Chương TỔNG QUAN 1.1 Giới thiệu đề tài 1.1.1 Ý tưởng đề tài Hiện nay, điều khiển từ xa thiết bị nhà qua truyền thông không dây trở nên phổ biến sinh hoạt gia đình hàng ngày Cụ thể như: Tivi, Antena, Máy điều hòa, đầu DVD, quạt, … Nhưng điều khiển riêng lẻ Trong tương lai người hướng đến việc điều khiển tất thiết bị dùng điều khiển để phục vụ cho sống tiện lợi Trong năm gần công nghệ truyền nhận liệu không dây có bước phát triển mạnh mẽ, góp cơng lớn việc phát triển hệ thống điều khiển, giám sát từ xa, đặc biệt hệ thống thông minh Hiện nay, có nhiều cơng nghệ truyền nhận liệu không dây RF, Wifi, Bluetooth, NFC,… Trong đó, Bluetooth cơng nghệ phát triển từ lâu cải tiến để nâng cao tốc độ khả bảo mật Trên thị trường Việt Nam chưa có nhiều sản phẩm điều khiển thiết bị không dây, đa số sản phẩm có nhập từ nước với giá thành cao Việc nghiên cứu thiết kế sản phẩm điều khiển thiết bị không dây có ý nghĩa lớn, giúp tăng thêm lựa chọn cho người sử dụng, sản phẩm sản xuất nước nên giá thành rẻ góp phần phát triển hệ thống điều khiển thông minh Do đó, chúng tơi định thực đề tài: “Thiết kế hệ thống điều khiển thiết bị điện nhà từ xa qua truyền thông không dây” Đề tài ứng dụng công nghệ Bluetooth phổ biến nhiều thiết bị, đặc biệt điểm đề tài so với sản phẩm có điều khiển thơng qua hệ điều hành Android giúp tận dụng thiết bị sử dụng hệ điều hành Android có sẵn người dùng giúp giảm giá thành sản phẩm, với hình hiển thị lớn điện thoại cho phép hiển thị nhiều thơng tin 1.1.2 Tóm tắt đề tài Hiện điện thoại thông minh ngày phổ biến, hệ điều hành Android xây dựng phát triển liên tục với chia sẻ mã nguồn mở, việc sử dụng Tài liệu tham khảo TÀI LIỆU THAM KHẢO [1] Texas Instruments, CC2540/41 Bluetooth low energy software deverloper’s guide v1.4.1, Document number: SWRU271G [2] Texas Instruments, CC2540 Bluetooth Low Energy API Guide [3] Bluetooth SIG, Core Specification – Bluetooth Các trang web tham khảo: Android, http://developer.android.com Dientuvietnam, http://dientuvietnam.net Texas Instruments, http://ti.com AllDataSheet.com, http://alldatasheet.com/ 46 Phụ lục PHỤ LỤC *Các thành phần android project Mỗi dự án Android chứa ập tin cần thiết định nghĩa cho ứng dụng, từ mã nguồn đến cấu hình mã kiểm tra Công cụ SDK yêu cầu dự án bạn cho phép cấu trúc cụ thể biên dịch đóng gói ứng dụng cách xác Với chương trình Android Studio, mơi trường lập trình để xây dựng ứng dụng module mà mức cao chứa bên ứng dụng, mã hóa cụ thể kiểu mã nguồn nguồn tài nguyên Trong ứng dụng “ Quản lý thiết bị BLE” modules biểu diễn hình 4.4  Build Thư mục chứa tập tin tạo tự động Aidl, Build configuration, R.JAVA thư mục outputs chứa file APK Đây tập tin tự động sinh tạo ứng dụng, file sử dụng để quản lý thuộc tính ứng dụng khai báo file XML tài nguyên khác Mã nguồn file R.java tự động sinh có kiện xảy làm thay đổi thuộc tính ứng dụng Mỗi hoạt động kéo thả tập tin hình ảnh vào dự án thuộc tính đường dẫn đến tập tin hình thành tập tin R.java  Scr Đây thư mục chứa tập tin nguồn java cho dự án bạn Như hình 4.4 ta thấy có tập tin nguồn thư mục main/java BluetoothLeServer.java; DeviceScanActivity.java; DeviceControlActivity java - Res/drawable Thư mục chứa hình ảnh file xml sử dụng ứng dụng, ví dụ hình ảnh để làm icon cho app… - Res/layout: Đây thư mục chứa tập tin định nghĩa giao diện cho người dùng ứng dụng thấy Các tập tin XML là: - + actionbar_indenterminate_progress.xml; + gatt_services_characteristics.xml; + listitem_device.xml Res/values 47 Phụ lục Thư mục nơi chứa tập tin XML khác chứa tập họp nguồn lục khác, chẳng hạn chuỗi string ứng dụng màu sắc chúng Ví dụ chuỗi string : “Khơng kết nối”, “không hỗ trợ BLE”, “trạng thái”, “địa thiết bị:”,… - AndroidManifes.xml Hình 4.4: Các tập tin project AndroidManifest.xml Mỗi ứng dụng android có tập tin AndroidManifest.xml Tập tin mô tả thông tin cần thiết ứng dụng cho hệ điều hành Android, thông tin hệ điều hành cần phải biết trước chạy chương trình Những cơng việc mà tập tin manifest cần phải thực  Khai báo định danh ứng dụng Tên ứng dụng định Ở tên ứng dụng đặt : “Quản lý thiết bị BLE” 48 Phụ lục  Mô tả thành phần ứng dụng: activity, services, broadcast receivers, content providers mà ứng dụng có Trong ứng dụng điều khiển thiết bị BLE thành phần chủ yếu activity: DeviceScanActivity; DeviceControlActivity Service BluetoothLeService  Khai báo quyền mà yêu cầu ứng dụng cần phải có để truy xuất thành phần API giao tiếp với ứng dụng khác Ứng dụng cần truyền liệu qua bluetooth Nên cần yêu cầu cấp quyền sử dụng Bluetooth Dưới câu lệnh cấp quyền sử dụng bluetooth android Giao diện phần mềm điều khiển Andoird 49 Phụ lục *Mã nguồn chương trình cho điều khiển Đoạn code khởi tạo profile cho lớp GATT server /******************************************************************* ** * GLOBAL VARIABLES */ // Service UUID: 0x1800 CONST uint8 ControlServUUID[ATT_UUID_SIZE] = { 0xd6,0x8c,0x76,0x00,0xb3,0x26,0x17,0xa1,0xd9,0x40,0x71,0xf1,0x0e,0x81,0xc3, 0x86 }; // CONTROL PORT UUID: 86:c3:81:0E:00:10:40:D9:A1:17:26:B3:00:76:8c:d6 50 Phụ lục CONST uint8 CONTROL_PORTUUID[ATT_UUID_SIZE] = { 0xd6,0x8c,0x76,0x00,0xb3,0x26,0x17,0xa1,0xd9,0x40,0x10,0x00,0x0e,0x81,0xc3, 0x86 }; // RUDDER_ANGLE UUID: 86:03:81:0E:00:20:40:D9:A1:17:26:B3:00:76:8c:d6 CONST uint8 RUDDER_ANGLEUUID[ATT_UUID_SIZE] = { 0xd6,0x8c,0x76,0x00,0xb3,0x26,0x17,0xa1,0xd9,0x40,0x20,0x00,0x0e,0x81,0xc3, 0x86 }; // RUDDER_ANGLE2 UUID:86:c3:81:e0:00:21:40:d9:a1:17:26:b3:00:76:8c:d6 CONST uint8 RUDDER_ANGLE2UUID[ATT_UUID_SIZE] = { 0xd6,0x8c,0x76,0x00,0xb3,0x26,0x17,0xa1,0xd9,0x40,0x21,0x00,0x0e,0x81,0xc3, 0x86 }; /******************************************************************* ** * EXTERNAL VARIABLES */ /******************************************************************* ** * EXTERNAL FUNCTIONS */ /******************************************************************* ** * LOCAL VARIABLES */ 51 Phụ lục /******************************************************************* ** * tao cac bien cho Profile Attributes */ static PowerUpCBs_t *PowerUpCBs = NULL; // Control Service attribute static CONST gattAttrType_t ControlService = { ATT_UUID_SIZE, ControlServUUID }; // khoi tao Characteristic Properties Control port service static uint8 EngineSpeedCharProps =0x06; // Khoi tao Characteristic value cho Control port service static uint8 Control_Portval=0; // khoi tao Characteristic User Description cho Control port service static uint8 EngineSpeedCharUserDesp[13] = "Port ID"; static gattCharCfg_t *EngineSpeedConfig; // khoi tao Characteristic Properties Control port service static uint8 RudderAngleCharProps =0x06; // Characteristic value uint8 RudderAngleval=0; static gattCharCfg_t *RudderAngleConfig; // Characteristic User Description static uint8 RudderAngleCharUserDesp[13] = "Rudder Angle"; // Characteristic Properties static uint8 RudderAngle2CharProps=0x06; // Characteristic value static uint8 RudderAngle2val=0; static gattCharCfg_t *RudderAngle2Config; // Characteristic User Description static uint8 RudderAngle2CharUserDesp[14] = "Rudder Angle2"; 52 Phụ lục /******************************************************************* ** * khoi tao bang cho Profile Attributes tu cac bien tren */ static gattAttribute_t controlsAttrTbl[SERVAPP_NUM_ATTR_SUPPORTED] = { // Control port Service { { ATT_BT_UUID_SIZE, primaryServiceUUID },/* type */ GATT_PERMIT_READ, 0, /* permissions */ /* handle */ (uint8 *)&ControlService /* pValue */ }, // Characteristic Declaration { { ATT_BT_UUID_SIZE, characterUUID }, GATT_PERMIT_READ, 0, &EngineSpeedCharProps }, // Characteristic Value { { ATT_UUID_SIZE,ENGINE_SPEEDUUID }, GATT_PERMIT_READ | GATT_PERMIT_WRITE, 0, &EngineSpeedval }, // Characteristic1 User Description { 53 Phụ lục { ATT_BT_UUID_SIZE, charUserDescUUID }, GATT_PERMIT_READ, 0, EngineSpeedCharUserDesp }, // Characteristic1 configuration { { ATT_BT_UUID_SIZE, clientCharCfgUUID }, GATT_PERMIT_READ | GATT_PERMIT_WRITE, 0, (uint8 *)&EngineSpeedConfig } // Characteristic Declaration { { ATT_BT_UUID_SIZE, characterUUID }, GATT_PERMIT_READ, 0, &RudderAngleCharProps }, // Characteristic Value { { ATT_UUID_SIZE, RUDDER_ANGLEUUID }, GATT_PERMIT_READ | GATT_PERMIT_WRITE, 0, &RudderAngleval }, // Characteristic2 User Description { 54 Phụ lục { ATT_BT_UUID_SIZE, charUserDescUUID }, GATT_PERMIT_READ, 0, RudderAngleCharUserDesp }, // Characteristic2 configuration { { ATT_BT_UUID_SIZE, clientCharCfgUUID }, GATT_PERMIT_READ | GATT_PERMIT_WRITE, 0, (uint8 *)&RudderAngleConfig }, // Characteristic Declaration { { ATT_BT_UUID_SIZE, characterUUID }, GATT_PERMIT_READ, 0, &RudderAngle2CharProps }, // Characteristic Value { { ATT_UUID_SIZE, RUDDER_ANGLE2UUID }, GATT_PERMIT_READ | GATT_PERMIT_WRITE, 0, &RudderAngle2val }, // Characteristic2 User Description { 55 Phụ lục { ATT_BT_UUID_SIZE, charUserDescUUID }, GATT_PERMIT_READ, 0, RudderAngle2CharUserDesp }, // Characteristic3 configuration { { ATT_BT_UUID_SIZE, clientCharCfgUUID }, GATT_PERMIT_READ | GATT_PERMIT_WRITE, 0, (uint8 *)&RudderAngle2Config }, }; *Đoạn code thực ghi giá trị điều khiển vào nhớ có tín hiệu điều khiển từ thiết bị android /******************************************************************* ** * @fn Control_SetParameter * * @brief Set a Simple Key Profile parameter * * @param param - Profile parameter ID * @param len - length of data to write * @param pValue - pointer to data to write This is dependent on * the parameter ID and WILL be cast to the appropriate * data type (example: data type of uint16 will be cast to * uint16 pointer) * * @return bStatus_t 56 Phụ lục */ bStatus_t Control_SetParameter( uint8 param, uint8 len, void *pValue ) { bStatus_t ret = SUCCESS; switch ( param ) { case RUDDER_ANGLE: if ( len == sizeof ( uint8 ) ) { RudderAngleval=*(uint8*)pValue; // See if Notification/Indication has been enabled GATTServApp_ProcessCharCfg( FALSE, RudderAngleConfig, &RudderAngleval, controlsAttrTbl, GATT_NUM_ATTRS( controlsAttrTbl ), INVALID_TASK_ID, Control_ReadAttrCB ); } else { ret = bleInvalidRange; } break; case ENGINE_SPEED: if ( len == sizeof ( uint8 ) ) { EngineSpeedval=*(uint8*)pValue; uint8 port=0; port|=(EngineSpeedval & ~0x01)>>1; if((EngineSpeedval & 0x01)==0x01); { 57 Phụ lục switch(port) { case 1: P0|=1

Ngày đăng: 30/03/2020, 20:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan