NGHIÊN CỨU LẬP TRÌNH NODE ĐIỀU KHIỂN THIẾT BỊ SỬ DỤNG TI RTOS

22 570 0
NGHIÊN CỨU LẬP TRÌNH NODE ĐIỀU KHIỂN THIẾT BỊ SỬ DỤNG TI RTOS

Đ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

NỘI DUNG BÁO CÁO5Phần 1: Giới thiệu51.1. Lịch thực tập tại công ty.51.2. Công ty cổ phần VSMARTTEK JSC.51.2.1. Giới thiệu chung về công ty.51.2.2. Lĩnh vực hoạt động chính.6Phần 2: Công việc được giao.62.1. Công việc chính.62.2. Các công việc chi tiết.7Phần 3: Thực hiện các công việc.83.1. Tìm hiểu lý thuyết.83.1.1. Tìm hiểu về chip CC3200 SimpleLink™ WiFi83.1.2. TIRTOS.83.2. Xây dựng lưu đồ thuật toán tổng quan đề tài.103.3. Lập trình các module.113.3.1. Nghiên cứu lập trình Touch cảm biến điều khiển thiết bị.133.3.2. Lập trình Socket điều khiển thiết bị qua wifi.163.3.4. Lập trình với tập tin hệ thống.223.4. Kết quả đề tài đạt được.233.4.1. Kết quả.233.4.2. Hướng phát triển.25Phần 4. Kết quả đạt được qua đợt thực tập.264.1. Kiến thức lý thuyết được củng cố.264.2. Kĩ năng thực hành học thêm.264.3. Kinh nghiệm thực tiễn tích lũy.26

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KỸ THUẬT MÁY TÍNH NGHIÊN CỨU LẬP TRÌNH NODE ĐIỀU KHIỂN THIẾT BỊ SỬ DỤNG TI-RTOS BÁO CÁO THỰC TẬP DOANH NGHIỆP SV thực hiện: Nguyễn Văn Bình Thành phố Hồ Chí Minh – Năm 2016 MỤC LỤC NỘI DUNG BÁO CÁO Phần 1: Giới thiệu 1.1 Lịch thực tập công ty - - Các ngày tuần: thứ 4, thứ 5, thứ Thời gian: Sáng: 8h30 đến 11h30 Chiều: 13h30 đến 17h30 Ngoài thực tập vào ngày khác tuần tùy theo tiến độ công việc yêu cầu 1.2 Công ty cổ phần VSMARTTEK JSC 1.2.1 Giới thiệu chung công ty Công ty TNHH nghiên cứu phát triển VSMARTTEK thành lập từ năm 2013 nhóm cựu sinh viên trường Đại học Công Nghệ Thông Tin – ĐHQG TP.HCM với ý tưởng thực hóa giải pháp công nghệ nhà thông minh giúp cho gia đình Việt Nam hưởng thụ tiện ích công nghệ mang lại sống thường nhật nhà với mức giá hợp lý Để trì thành thu giai đoạn nghiên cứu phát triển sản phẩm tiếp tục phát triển công ty giai đoạn mới, kêu gọi nhiều nhà đầu tư tiềm chung tay việc đưa sản phẩm công nghệ người Việt Nam đến tay người tiêu dùng, tháng năm 2016 công ty VSMARTTEK thay đổi mô hình hoạt động sang công ty cổ phần, mở thêm lĩnh vực hoạt động kinh doanh sản xuất Hiện công ty cổ phần VSMARTTEK (VSMARTTEK JSC) doanh nghiệp hoạt động lĩnh vực IoT (Internet of Things – Vạn vật kết nối Internet), chuyên cung cấp giải pháp công nghệ, thiết bị, dịch vụ kỹ thuật nhà thông minh điều khiển tự động thông qua kết nối không dây Website công ty: vsmarttek.net 1.2.2 Lĩnh vực hoạt động Công ty cổ phần VSMARTTEK tập trung phát triển theo lĩnh vực hệ thống nhà thông minh Hệ thống nhà thông minh VSMARTTEK cung cấp cho người dùng số liệu môi trường nhà nhiệt độ, độ ẩm, chất lượng không khí… để đảm bảo môi trường sống hợp lý cho người dùng Một điểm đáng ý khác giải pháp nhà thông minh VSMARTTEK hệ thống giám sát an ninh bao gồm camera, cảm biến di chuyển, cảm biến cửa thiết bị khác cho phép người dùng phát nguy an ninh tiềm ẩn, từ đề phương án bảo vệ chống đột nhập thích hợp Tất tiện ích gói gọn phần mềm điều khiển thiết bị thông minh điện thoại thông minh, máy tính bảng cho phép người dùng thao tác lúc nơi thông qua kết nối Internet Phần 2: Công việc giao 2.1 Công việc - Tên đề tài: Nghiên cứu lập trình node điều khiển thiết bị qua Wifi Node hoạt động theo mô hình sau:  Device Node kết nối với Access Point qua chuẩn bảo mật WiFi Protected Access (WPA)  Khi thiết điều khiển ( laptop, máy tính bảng, smart phone) kết nối với Access point gửi lệnh điều khiển tới Device Node thông qua giao thức truyền thông UDP thiết bị (đèn, quạt,…) điều khiển thực chức theo lệnh điều khiển tương ứng  Device Node giống công tắc cớ điều khiển thiết bị thông thường - Mục tiêu đề tài: lập trình firmware cho node điều khiển thiết bị không dây qua Wifi tảng hệ điều hành thời gian thực TI-RTOS - Các chức sản phẩm sau hoàn thiện:  Cho phép điều khiển thiết bị tay tương tự công tắc thông thường  Cho phép điều khiển thiết bị thông qua wifi nhờ giao thức UDP Phản hồi lại trạng thái thiết bị cho người dùng  Lưu lại trạng thái thiết bị vào nhớ non-volatile phục hồi lại trạng thái trước khởi động lại 2.2 Các công việc chi tiết - Tìm hiểu module Wifi TI CC3200 hệ điều hành thời gian thực TI-RTOS Tìm hiểu API TI-RTOS để phục vụ việc lập trình đa luồng Xây dựng lưu đồ giải thuật tổng quan - Lập trình task thực chức điều khiển tay sử dụng cảm biến điện - dung Lập trình task liên quan UDP socket để phục vụ chức điều khiển từ xa - phản hồi trạng thái qua Wifi Tìm hiểu file system module Wifi CC3200 lập trình chức lưu trữ phục hồi trạng thái node Phần 3: Thực công việc 3.1 Tìm hiểu lý thuyết 3.1.1 Tìm hiểu chip CC3200 SimpleLink™ Wi-Fi Hình 2: Chip CC3200 SimpleLink™ Wi-Fi - Chip Wireless MCU CC3200 đơn chip cho vi điều khiển (MCU - microcontroller unit ) kết nối Wifi TI (Texas Instruments ) nghiên cứu phát triển - CC3200 SimpleLink™ Wi-Fi MCU không dây tích hợp hiệu cao ARM Cortex-M4 32bit-80HZ, 256KB RAM 3.1.2 TI-RTOS - TI-RTOS hệ điều hành thời gian thực cho vi điều khiển TI (Texas Instruments ) - TI-RTOS cho phép phát triển nhanh cách loại bỏ cần thiết cho nhà phát triển để viết trì hệ thống phần mềm lập lịch ( schedule ), giao thức ngăn xếp ( protocal stacks ) trình điều khiển - Kết hợp thời gian thực đa nhiệm nhân ( kernel ) với thành phần trung gian TCP/IP ngăn xếp USB, tập tin hệ thống FAT thiết bị điều khiển, cho phép đa dạng ứng dụng - TI-RTOS cung cấp tảng phần mềm nhúng phù hợp thiết bị vi điều khiển TI, nên dễ dàng kế thừa ứng dụng thiết bị - Các thành phần TI-RTOS:  TI-RTOS Kernel - SYS/BIOS: nhân (kernal) thời gian thực có khả mở rộng Được thiết kế để hỗ trợ ứng dụng đòi hỏi phải lập kế hoạch thời gian thực, đồng hóa, thời gian thực đo lường Cung cấp độ ưu tiên đa luồng, trừu tượng phần cứng, phân tích thời gian thực SYS / BIOS thiết kế để giảm thiểu yêu cầu nhớ CPU  TI-RTOS Instrumentation - UIA: Các Instrumentation Architecture Unified (UIA) cung cấp mục tiêu nội dung hỗ trợ việc tạo thu thập liệu đo lường  TI-RTOS Networking - NDK: Network Developer's Kit (NDK) tảng phát triển ứng dụng mạng xử lí nhúng TI  TI-RTOS Network Services: Cung cấp giao thức lớp ứng dụng mạng HTTP Client SNTP Client  TI-RTOS File System: hỗ trợ tập tin hệ thống FAT - Tìm hiểu API sử dụng TI-RTOS CC3200  Tìm hiểu lập trình Task CC3200 sử dụng flatform TI-RTOS  Hàm tạo task: OsiReturnVal_e osi_TaskCreate(){} OsiReturnVal_e osi_TaskCreate(P_OSI_TASK_ENTRY pEntry, const signed char*const pcName,unsigned short usStackDepth, void *pvParameters,unsigned long uxPriority, OsiTaskHandle *pTaskHandle); Tham số: pcName: kiểu chuổi kí tự, Tên Task pvParameters: trỏ đến cấu trúc để thông qua hàm Task pTaskHandle: task sử lí thường mặc định null pEntry: trỏ trỏ tới hàm Task để thực thi Task uxPriorit: mức độ ưu tiên task trình thực thi usStackDepth: kích thước Stack Kiểu liệu long 32-bit  Hàm xóa task: void osi_TaskDelete(OsiTaskHandle* pTaskHandle); Tham số: pTaskHandle trỏ trỏ tới task cần xóa  Tìm hiểu API với Message Queue CC3200  Hàm tạo queue: OsiReturnVal_e osi_MsgQCreate (OsiMsgQ_t* pMsgQ, char* pMsgQName, unsigned long MsgSize, unsigned long MaxMsgs);  Hàm ghi queue: OsiReturnVal_e osi_MsgQWrite (OsiMsgQ_t* pMsgQ,  void* pMsg , OsiTime_t Timeout); Hàm đọc queue: OsiReturnVal_e osi_MsgQRead (OsiMsgQ_t* pMsgQ, void* pMsg , OsiTime_t Timeout);  Hàm xóa queue: OsiReturnVal_e osi_MsgQDelete (OsiMsgQ_t* pMsgQ); 3.2 Xây dựng lưu đồ thuật toán tổng quan đề tài - Device Node lập trình theo lưu đồ Hình 2: Lưu đồ thuật toán tổng quan đề tài - Giải thích lưu đồ: B1: Bắt đầu B2: Khởi board CC3200 B3: Khởi tạo Flatform TI-RTOS cho board CC3200 B4: Khởi tạo UART để debug B5: Tạo Scheduler để lập lịch cho Task thực thi B6: Kiểm tra tạo Scheduler cho task có thành công hay không Nếu thành công chuyển sang bước B7, ngược lại kết kết thúc chương trình B7: Tạo message queue cho task thực thi Nếu thành công chuyển qua bước B8, ngược lại kết thúc chương trình B8: Tạo task thực thi cho UDP Server B9: Tạo task thực thi cho UDP Client B10: Tạo task thực thi điều khiển thiết bị B11: Bắt đầu task Scheduler Các task thực thi riêng biệt 3.3 Lập trình module - Để chạy thử code trình phát triển, lập trình module board CC3200 launchpad kết nối với daughter board touch sensor sử dụng Hình 3: Board launchpad daughter board touch sensor - Sau kiểm thử chức lập trình sử dụng board thiết bị công ty cung cấp để chạy thử toàn chức Hình 4: Board thiết bị nạp code ( Device Node ) 3.3.1 Nghiên cứu lập trình Touch cảm biến điều khiển thiết bị - Để Device Node cho phép người dùng điều khiển thiết bị cảm ứng điện dung Ta xây dựng lập trình module theo lưu đồ sau Hình 5: Lưu đồ lập trình Touch cảm biến - Giải thích lưu đồ: B1: Bắt đầu chương trình B2: Kiểm tra Touch Sensor hoạt động hay chưa Nếu Touch Sensor hoạt động thực bước B3, ngược lại tiếp tục kiểm tra Touch Sensor B3: Cấu hình Touch Sensor B4: Kiểm tra Touch Sensor cấu hình có thành công hay không Nếu thành công chuyển sang bước B5, ngược lại trở lại cấu hình lại Touch Sensor B5: Đọc trạng thái đầu vào Touch Sensor B6: Kiểm tra Touch có thay đổi trạng thái hay không Nếu có thay đổi thực bước B7, ngược lại tiếp tục đọc trạng thái Touch B7: Điều khiển thiết bị tương ứng - Module thực thi hàm void ControlTouch(void) {} hàm thực thi khởi tạo, cấu hình phần cứng cho Touch cảm biến diện dung, nhận tín hiệu cảm ứng đầu vào, điều khiển thiết bị nhờ lập trình API cho IO Sau Touch hoạt động cảm biến điện dung cấu hình hàm:  void ConfigTouchSensor(void){} Tham số: tham số Chức năng: Kích hoạt tính cảm biến đầu vào, vô hiệu hóa mạch đa cảm ứng, thiết lập giá trị touch cấu hình ghi mặc định, thay đổi độ nhạy cảm ứng, vô hiệu hóa tỷ lệ lặp lại cảm biến, thiết lập lại ghi trạng thái, đặt lại trạng thái ghi chung, đặt lại ghi điều khiển  Touch cảm ứng điện dung khởi tạo sau Touch hoạt động: void InitDevHardware(void){} Tham số: tham số Chức hàm: Gọi hàm ConfigTouchSensor() cấu hình cảm biến điện dung CAP1298 hàm InitI2Cmastr() khởi tạo bus I2C CC3200 để giao tiếp với thiết bị I2C Slave để thiết lập cấu hình ban đầu cho touch Gọi hàm khôi phục trạng thái touch thiết bị lưu Thiết lập kênh cảm biến đầu vào - Trong module cảm biến diện dụng giao tiếp với CC3200 qua giao tiếp ngoại vi I2C để nhận truyền tín hiệu điều khiển đầu vào điều khiển thiết bị Các hàm lập trình API với I2C là:  Hàm khởi tạo giao tiếp I2C: void InitI2CMastr(void){} Tham số: tham số Chức hàm: kích hoạt I2C clock, cấu hình chân truyền liệu SDA, cấu hình chân giữ xung SLC, khởi tạo chế độ truyền liệu mức chuẩn100KHz hay chế độ 400KHz  Hàm mở kết nối thiết lập giao tiếp I2C với thiết bị ngoại vi int I2C_IF_Open (unsigned long ulMode){} Tham số: ulMode: Chế độ truyền tín hiệu gồm chế độ I2C_MASTER_MODE_STD cho 100 Kbps chế độ tiêu chuẩn, I2C_MASTER_MODE_FST for 400 Kbps chế độ tốc độ  Hàm ghi liệu cần truyền tới thiết bị (Slave) int I2C_IF_Write(unsigned char ucDevAddr, unsigned char *pucData, unsigned char ucLen, unsigned char ucStop){} Tham số: ucDevAddr: 7-bit địa I2C Slave *pucData: trỏ đến liệu ghi ucLen: độ dài liệu ghi ucStop: bit cuối để xác định dừng truyền liệu  Hàm đọc liệu từ thiết bị truyền (Master) int I2C_IF_Read(unsigned char ucDevAddr, unsigned char *pucData, unsigned char ucLen) Tham số: ucDevAddr: 7-bit địa I2C Slave *pucData: trỏ đến liệu cần đọc ucLen: độ dài liệu đọc  - Hàm đóng kết nối I2C với thiết bị ngoại vi: int I2C_IF_Close() Để hiển thị trạng thái thiết bị sử dụng lập trình trình API cho IO led trạng thái switch out void SetActuatorStatus(_u8 ucChanID, _u8 ucActualVal) {} Tham số: _u8 ucChanID: biến định danh kênh touch cảm ứng điều khiển thiết bị _8 ucActualVal: biến xác định giá trị touch có thay đổi tương ứng giá trị mà thiết bị điều khiển Chức hàm: Xét giá trị trạng thái cho touch đầu vào có tác động điều khiển unsigned char GetActuatorStatus(_u8 ucChanID) {} Tham số: _u8 ucChanID: biến định danh kênh touch cảm ứng điều khiển thiết bị Chức năng: Lấy giá trị trạng thái của touch điều khiển có tác động điều khiển void SetLedStatus (_u8 ucLedStt, _u8 ucLedSttVal) {} Tham số: _u8 ucLedStt: biến hiển thị led trạng thái _u8 ucLedSttVal: biến lưu trạng thái led Chức hàm: xét trạng thái led cho kênh ( chân ) touch cảm ứng đầu vào có thay đổi unsigned char GetLedStatus (_u8 ucLedStt) {} Tham số: _u8 ucLedStt: biến hiển thị led trạng thái Chức hàm: lấy giá trị trạng thái led kênh ( chân ) touch cảm ứng đầu vào có thay đổi trạng thái kênh touch 3.3.2 Lập trình Socket điều khiển thiết bị qua wifi Để điều khiển thiết bị qua wifi CC3200 có hàm lập trình API cho UDP Socket  Hàm tạo Socket:_i16 sl_Socket(_i16 Domain, _i16 Type, _i16 Protocol);  Hàm gán địa cho UDP Sever: _i16 sl_Bind(_i16 sd, const SlSockAddr_t *addr, _i16 addrlen); Tham số: sd: biến chứa Socket vừa tạo *addr: biến chứa địa Socket addrlen: chiều dài địa Socket  Hàm phản hồi UDP Server cho UDP Client _i16 sl_RecvFrom(_i16 sd, void *buf, _i16 Len, _i16 flags, SlSockAddr_t - *from, SlSocklen_t *fromlen); Tham số: sd: biến chứa Socket cần thực thi *buf: đệm kiểu trỏ chứa gói tin Len: chiều dài đệm Flags: cờ định gói tin nhận, hàm không sử dụng mặc định NULL *from: trỏ địa cần gửi phản hồi *fromlen: trỏ chiều dài địa cần gửi phản hồi  Hàm gửi gói tin _i16 sl_SendTo(_i16 sd, const void *buf, _i16 Len, _i16 flags, const SlSockAddr_t *to, SlSocklen_t tolen); sd: biến chứa Socket cần thực thi *buf: đệm kiểu trỏ chứa gói tin Len: chiều dài đệm Flags: cờ định gói tin nhận, hàm không sử dụng mặc định NULL *to: trỏ địa nhận gói tin (địa UDP Server) *fromlen: trỏ chiều dài địa nhận gói tin  Hàm đóng Socket: _i16 sl_Close(_i16 sd){} - Device Node nhận gói tin điều khiển thông nhờ lập trình hàm thực thi UDP Server có lưu đồ giải thuật sau: Hình 6: Lưu đồ giải thuật lập trình UDP  Giải thích lưu đồ B1: Bắt đầu chương trình B2: Chờ Touch Sensor kết nối với Access Point B3: Kiểm tra kết nối Nếu có kết nối chuyển qua bước B4, ngược lại tiếp tục kết nối Touch Sensor với Access Point B4: Mở kết nối, cấu hình Socket UDP Server B5: Kiểm tra cấu hình Nếu cấu hình thành công chuyển sang bước B6, ngược lại cấu hình lại UDP Sever B6: Gán địa cho UDP Server B7: Lắng nghe gói tin từ UDP Client gửi tới B8: Nhận gói tin từ UDP Client gửi tới B9: Kiểm tra gói tin nhận thành công hay không Nếu thành công chuyển sang bước B10, ngược lại tiếp tục nhận gói tin B10: Xử lí gói tin + Nếu gói tin “**DRIVE” thực thi điều khiển thiết bị tương ứng + Nếu gói tin “**CONFG” thực thi cấu hình Touch Sensor + Nếu gói tin “**SCHED” thực thi lập lịch cho Touch Sensor  Hàm lập trình Task UDP server: void UDPServerTask(void *pvParameters){} Tham số: *pvParameters tham số kiểu liệu trỏ hàm không sử dụng Chức hàm: Tạo cấu hình socket cho UDP socket Server Xử lí gói tin điều khiển thiết bị từ UDP Client gửi tới - Device Control gửi gói tin điều khiển tới Device Node nhờ lập trình hàm thực thi UDP Client có lưu đồ giải thuật sau: Hình 7: Lưu đồ giải thuật lập trinh UDP Client Giải thích lưu đồ B1: Bắt đầu chương trình B2: Kiểm tra cờ gửi gói tin Nếu cờ bật chuyển qua bước B3, ngược lại tiếp tục chờ cờ gửi gói tin bật B3: Mở cấu hình Socket UDP Client B4: Kiểm tra UDP Client mở cấu hình Nếu mở cấu hình UDP Client thành công thực bước B5, ngược lại tiếp tục mở cấu hình lại Socket UDP Client B5: Kiểm tra cờ gửi kênh gửi gói tin B6: Cờ gửi bật, kênh gửi thực thực bước B7, ngược lại tiếp tục kiểm tra lại B7: Tạo gói tin B8: Gửi gói tin B9: Kiểm tra gói tin gửi thành công hay không Nếu thành công thực bước B10, ngược lại xóa cờ gửi đóng Socket B10: Đóng Socket  Hàm lập trình Task UDP Client: void UDPClientTask (void *pvParameters) Tham số: *pvParameters: tham số kiểu trỏ hàm không sử dụng Chức hàm: Tạo cấu hình socket cho UDP socket Client Gửi gói tin điều khiển cho UDP socket Sever chờ phản hồi từ UDP Sever - Khi gói tin UDP Server nhận thành công gói tin phân tích qua hàm hàm xử lí gói tin để biết gói tin gửi tới thuộc gói tin điều khiển hàm xử lí gói tin sau:  Thông tin gói tin: gói tin gửi tới gồm 7bit header 1bit control word ( điều khiển thiết bị bật – giá trị tắt – giá trị 0) 2bit xác định nút cảm biến, thiết bị điều khiển 12bit địa IP Touch cảm ứng xác định Touch cảm ứng điều khiển  Hàm int ProcessPacket (int iPacketLen, _u8 ucConnectMode) {} Tham số: iPacketLen: Độ dài gói tin _u8 ucConnectMode: chế độ kết nối Chức hàm: Lấy 7bit header gói tin từ đệm nhờ hàm strncpy() Sau kiểm tra xem 7bit header có trùng với header mặc định “**DRIVE”, “**CONFG”, “**SCHED” không hàm strncmp() Nếu 7bit header trùng với header mặc định lấy 2bit để xác định kênh ( chân cảm biến đầu vào ) touch điều khiển ( bật tắt ) tương ứng với chân thiết bị ngược lại touch thiết bị không điều khiển 3.3.4 Lập trình với tập tin hệ thống - Tìm hiểu lập trình API với tập tin hệ thống CC3200  Hàm mở gói tin _i32 sl_FsOpen(const _u8 *pFileName, const _u32 AccessModeAndMaxSize, _u32 *pToken, _i32 *pFileHandle); Tham số: *pFileName: Tên tập tin (.txt) AccessModeAndMaxSize: chế độ mở tập tin FS_MODE_OPEN_READ: chế độ mở đọc nội dung tập tin FS_MODE_OPEN_WRITE: chế độ mở ghi vào tập tin FS_MODE_OPEN_CREATE: chế độ mở tạo tập tin tập tin chưa tạo *pToken: khởi tạo dự trữ Mặc định NULL *pFileHandle: Hàm ghi liệu vào gói tin _i32 sl_FsWrite (const _i32 FileHdl, _u32 Offset, _u8* pData, _u32 Len); Tham số: FileHdl: trỏ đến tập tin (chỉ định từ hàm sl_FsOpen) Offset: mặc định NULL pData: trỏ liệu truyền đến thiết bị lưu trữ Len: chiều dài liệu ghi  Hàm đọc tập tin _i32 sl_FsRead (const _i32 FileHdl, _u32 Offset , _u8* pData, _u32 Len); Tham số: FileHdl: trỏ đến tập tin (chỉ định từ hàm sl_FsOpen) Offset: mặc định NULL pData: trỏ liệu truyền đến thiết bị lưu trữ Len: chiều dài liệu đọc Device Node khôi phục lại trạng thái lưu trước hàm lập trình  với tập tin hệ thống là:  Hàm lưu lại giá trị touch cảm biến điện dung sau lần có thay đổi: void SaveChanStts(void){} Tham số: tham số Chức hàm: Mở tạo tập tin cấu hình để ghi liệu nhờ hàm sl_FsOpen() thư viện, ghi trạng thái thiết bị vào file nhờ hàm  sl_FsWrite(), đóng file nhờ hàm sl_FsClose() Khôi phục lại trạng thái thiết bị sau lần hoạt động lại void ResChannStts(void) {} Tham số: tham số Chức hàm: Xét trạng thái mặc định cho thiết bị tắt trường hợp file chưa có trạng thái thiết bị trước Mở file lưu trạng thiết bị Nếu trạng thái thiết bị lưu nhớ đóng file lưu trữ, ngược lại đọc sử lí nội dung file Khôi phục lại trạng thái thiết bị Đóng file 3.4 Kết đề tài đạt 3.4.1 Kết - Hoàn thành mục tiêu đặt đề tài Sản phẩm thực chức năng:  Cho phép người dùng điều khiển thiết bị Touch cảm ứng công tắc điều khiển thông dụng  Cho phép người dùng sử dụng laptop, máy tính bảng, smart phone… điều khiển thiết bị qua wifi  Sản phẩm hoạt động tốt chức năng, lưu lại khôi phục lại trạng thái trước sau lần hoạt động lại - Sản phẩm có ứng dụng nhà thông minh - Kiểm thử  Điều khiển thiết bị cảm biến điện dung Hình 8: Điều khiển thiết bị tay qua cảm ứng điện dung  Điều khiển thiết bị qua wifi Hình 9: Điều khiển thiết bị qua Wifi 3.4.2 Hướng phát triển - Bổ sung thêm chức như: hẹn bật tắt thiết bị, chức cài đặt cấu hình Wifi… Phần Kết đạt qua đợt thực tập 4.1 Kiến thức lý thuyết củng cố - Kiến thức hệ điều hành, lập trình C Lập trình giao tiếp với ngoại vi với board nhúng: I2C, UART,… Lập trình socket với giao thức UDP Được tìm hiểu thêm chip wifi CC3200 4.2 Kĩ thực hành học thêm - Kỹ Debug code Lập trình với Touch sensor Kỹ làm việc nhóm Lập kế hoạch phân hoạch công việc Kỹ lập trình hướng hàm Kỹ phân tích giải vấn đề Kĩ viết báo cáo 4.3 Kinh nghiệm thực tiễn tích lũy Trải qua gần tháng thực tập công ty cổ phần VSMARTTEK giúp em học hỏi nhiều điều bổ ích giúp em củng cố lại kiến thức, làm quen với môi trường doanh nghiệp mà giúp cho em tích lũy nhiều kinh nghiệm - thực tiễn cho việc làm sau là: Tuân thủ nội quy công ty Phải tự tin vào thân Nỗ lực, chăm chỉ, chịu khó công việc Năng động hoạt động công ty Chủ động việc tiếp cận kiến thức học hỏi anh, chị, bạn đồng nghiệp ... thông minh - Kiểm thử  Điều khiển thiết bị cảm biến điện dung Hình 8: Điều khiển thiết bị tay qua cảm ứng điện dung  Điều khiển thiết bị qua wifi Hình 9: Điều khiển thiết bị qua Wifi 3.4.2 Hướng... trình sử dụng board thiết bị công ty cung cấp để chạy thử toàn chức Hình 4: Board thiết bị nạp code ( Device Node ) 3.3.1 Nghiên cứu lập trình Touch cảm biến điều khiển thiết bị - Để Device Node. .. FAT thiết bị điều khiển, cho phép đa dạng ứng dụng - TI-RTOS cung cấp tảng phần mềm nhúng phù hợp thiết bị vi điều khiển TI, nên dễ dàng kế thừa ứng dụng thiết bị - Các thành phần TI-RTOS:  TI-RTOS

Ngày đăng: 17/09/2017, 09:48

Hình ảnh liên quan

 Khi thiết điều khiể n( laptop, máy tính bảng, smart phone) sẽ kết nối với Access point gửi lệnh điều khiển tới Device Node thông qua giao thức truyền thông UDP khi đó thiết bị (đèn, quạt,…) sẽ được điều khiển thực hiện chức năng theo lệnh điều khiển tươ - NGHIÊN CỨU LẬP TRÌNH NODE ĐIỀU KHIỂN THIẾT BỊ SỬ DỤNG TI RTOS

hi.

thiết điều khiể n( laptop, máy tính bảng, smart phone) sẽ kết nối với Access point gửi lệnh điều khiển tới Device Node thông qua giao thức truyền thông UDP khi đó thiết bị (đèn, quạt,…) sẽ được điều khiển thực hiện chức năng theo lệnh điều khiển tươ Xem tại trang 4 của tài liệu.
Hình 2: Lưu đồ thuật toán tổng quan đề tài -Giải thích lưu đồ: - NGHIÊN CỨU LẬP TRÌNH NODE ĐIỀU KHIỂN THIẾT BỊ SỬ DỤNG TI RTOS

Hình 2.

Lưu đồ thuật toán tổng quan đề tài -Giải thích lưu đồ: Xem tại trang 7 của tài liệu.
Hình 3: Board launchpad và daughter board touch sensor - NGHIÊN CỨU LẬP TRÌNH NODE ĐIỀU KHIỂN THIẾT BỊ SỬ DỤNG TI RTOS

Hình 3.

Board launchpad và daughter board touch sensor Xem tại trang 8 của tài liệu.
Hình 4: Board thiết bị nạp cod e( Device Nod e) - NGHIÊN CỨU LẬP TRÌNH NODE ĐIỀU KHIỂN THIẾT BỊ SỬ DỤNG TI RTOS

Hình 4.

Board thiết bị nạp cod e( Device Nod e) Xem tại trang 9 của tài liệu.
Hình 5: Lưu đồ lập trình Touch cảm biến -Giải thích lưu đồ: - NGHIÊN CỨU LẬP TRÌNH NODE ĐIỀU KHIỂN THIẾT BỊ SỬ DỤNG TI RTOS

Hình 5.

Lưu đồ lập trình Touch cảm biến -Giải thích lưu đồ: Xem tại trang 10 của tài liệu.
Hình 6: Lưu đồ giải thuật lập trình UDP  Giải thích lưu đồ. - NGHIÊN CỨU LẬP TRÌNH NODE ĐIỀU KHIỂN THIẾT BỊ SỬ DỤNG TI RTOS

Hình 6.

Lưu đồ giải thuật lập trình UDP  Giải thích lưu đồ Xem tại trang 14 của tài liệu.
Hình 7: Lưu đồ giải thuật lập trinh UDPClient Giải thích lưu đồ - NGHIÊN CỨU LẬP TRÌNH NODE ĐIỀU KHIỂN THIẾT BỊ SỬ DỤNG TI RTOS

Hình 7.

Lưu đồ giải thuật lập trinh UDPClient Giải thích lưu đồ Xem tại trang 16 của tài liệu.
 Cho phép người dùng sử dụng laptop, máy tính bảng, smart phone… điều khiển thiết bị qua wifi - NGHIÊN CỨU LẬP TRÌNH NODE ĐIỀU KHIỂN THIẾT BỊ SỬ DỤNG TI RTOS

ho.

phép người dùng sử dụng laptop, máy tính bảng, smart phone… điều khiển thiết bị qua wifi Xem tại trang 19 của tài liệu.
Hình 8: Điều khiển thiết bị bằng tay qua cảm ứng điện dung  Điều khiển thiết bị qua wifi. - NGHIÊN CỨU LẬP TRÌNH NODE ĐIỀU KHIỂN THIẾT BỊ SỬ DỤNG TI RTOS

Hình 8.

Điều khiển thiết bị bằng tay qua cảm ứng điện dung  Điều khiển thiết bị qua wifi Xem tại trang 20 của tài liệu.
Hình 9: Điều khiển thiết bị qua Wifi 3.4.2. Hướng phát triển. - NGHIÊN CỨU LẬP TRÌNH NODE ĐIỀU KHIỂN THIẾT BỊ SỬ DỤNG TI RTOS

Hình 9.

Điều khiển thiết bị qua Wifi 3.4.2. Hướng phát triển Xem tại trang 21 của tài liệu.

Từ khóa liên quan

Mục lục

  • NỘI DUNG BÁO CÁO

  • Phần 1: Giới thiệu

    • 1.1. Lịch thực tập tại công ty.

    • 1.2. Công ty cổ phần VSMARTTEK JSC.

      • 1.2.1. Giới thiệu chung về công ty.

      • 1.2.2. Lĩnh vực hoạt động chính.

      • Phần 2: Công việc được giao.

        • 2.1. Công việc chính.

        • 2.2. Các công việc chi tiết.

        • Phần 3: Thực hiện các công việc.

          • 3.1. Tìm hiểu lý thuyết.

            • 3.1.1. Tìm hiểu về chip CC3200 SimpleLink™ Wi-Fi

            • 3.1.2. TI-RTOS.

            • 3.2. Xây dựng lưu đồ thuật toán tổng quan đề tài.

            • 3.3. Lập trình các module.

              • 3.3.1. Nghiên cứu lập trình Touch cảm biến điều khiển thiết bị.

              • 3.3.2. Lập trình Socket điều khiển thiết bị qua wifi.

              • 3.3.4. Lập trình với tập tin hệ thống.

              • 3.4. Kết quả đề tài đạt được.

                • 3.4.1. Kết quả.

                • 3.4.2. Hướng phát triển.

                • Phần 4. Kết quả đạt được qua đợt thực tập.

                  • 4.1. Kiến thức lý thuyết được củng cố.

                  • 4.2. Kĩ năng thực hành học thêm.

                  • 4.3. Kinh nghiệm thực tiễn tích lũy.

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

Tài liệu liên quan