1. Trang chủ
  2. » Cao đẳng - Đại học

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

25 582 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 2,53 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

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

Trang 2

MỤC LỤC

NỘI DUNG BÁO CÁO 5

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

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

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

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

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

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

2.1 Công việc chính 6

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

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

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

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

3.1.2 TI-RTOS 8

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

3.3 Lập trình các module 11

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

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

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

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

3.4.1 Kết quả 23

3.4.2 Hướng phát triển 25

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

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

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

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

Trang 3

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

- Các ngày trong tuần: thứ 4, thứ 5, thứ 6

- Thời gian:

Sáng: 8h30 đến 11h30Chiều: 13h30 đến 17h30

- Ngoài ra còn có thể thực tập vào các ngày khác trong tuần tùy theo tiến độ côngviệc yêu cầu

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

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

Công ty TNHH nghiên cứu và phát triển VSMARTTEK được thành lập từ năm

2013 bởi một 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 hiện thực hóa một giải pháp công nghệ nhà thôngminh có thể giúp cho mỗi gia đình Việt Nam có thể hưởng thụ những tiện ích docông nghệ mang lại trong cuộc sống thường nhật trong chính căn nhà của mìnhvới mức giá hợp lý nhất

Để duy trì những thành quả thu được trong giai đoạn nghiên cứu và phát triểnsản phẩm và tiếp tục phát triển công ty trong giai đoạn mới, kêu gọi được nhiềunhà đầu tư tiềm năng chung tay trong việc đưa những sản phẩm công nghệ củangười Việt Nam đến tay người tiêu dùng, tháng 4 năm 2016 công tyVSMARTTEK đã thay đổi mô hình hoạt động sang công ty cổ phần, mở thêmlĩnh vực hoạt động kinh doanh sản xuất Hiện nay công ty cổ phầnVSMARTTEK (VSMARTTEK JSC) là một doanh nghiệp hoạt động trong lĩnhvực IoT (Internet of Things – Vạn vật kết nối Internet), chuyên cung cấp cácgiải pháp công nghệ, thiết bị, dịch vụ kỹ thuật về nhà thông minh và điều khiển

tự động thông qua kết nối không dây

Trang 4

Website công ty: vsmarttek.net

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

Công ty cổ phần VSMARTTEK tập trung phát triển theo lĩnh vực chính là hệthống nhà thông minh Hệ thống nhà thông minh VSMARTTEK cũng cung cấpcho người dùng các số liệu môi trường trong ngôi nhà như nhiệt độ, độ ẩm, chấtlượng không khí… để đảm bảo môi trường sống hợp lý nhất cho người dùng.Một điểm đáng chú ý khác của giải pháp nhà thông minh VSMARTTEK là hệthống giám sát an ninh bao gồm các camera, cảm biến di chuyển, cảm biến cửa

và các thiết bị khác cho phép người dùng phát hiện mọi nguy cơ an ninh tiềm

ẩn, từ đó đề ra những phương án bảo vệ và chống đột nhập thích hợp Tất cảnhững tiện ích trên đều được gói gọn trong phần mềm điều khiển trên các thiết

bị thông minh như điện thoại thông minh, máy tính bảng cho phép người dùngthao tác mọi lúc mọi nơi thông qua kết nối Internet

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

2.1 Công việc chính

- Tên đề tài:

Nghiên cứu lập trình một node điều khiển thiết bị qua Wifi Node hoạt độngtheo như mô hình sau:

Trang 5

 Device Node sẽ 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) sẽ kết nối vớiAccess point gửi lệnh điều khiển tới Device Node thông qua giao thức truyềnthông UDP khi đó thiết bị (đèn, quạt,…) sẽ được điều khiển thực hiện chứcnăng theo lệnh điều khiển tương ứng

 Device Node giống như 1 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 một node điều khiển thiết bị không dâyqua Wifi trên nền tảng hệ điều hành thời gian thực TI-RTOS

- Các chức năng chính của sản phẩm sau khi hoàn thiện:

Cho phép điều khiển thiết bị bằng tay tương tự như các công tắc thôngthườ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ạitrạng thái thiết bị cho người dùng

Lưu lại trạng thái của thiết bị vào bộ nhớ non-volatile và phục hồi lại trạngthái trước đó khi khởi động lại

Trang 6

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

- Tìm hiểu về module Wifi TI CC3200 và hệ điều hành thời gian thực TI-RTOS

- Tìm hiểu về các 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 hiện chức năng điều khiển bằng tay sử dụng cảm biến điệndung

- Lập trình các task liên quan UDP socket để phục vụ chức năng điều khiển từ xa

và phản hồi trạng thái qua Wifi

- Tìm hiểu về file system của module Wifi CC3200 và lập trình các chức nănglưu trữ và phục hồi trạng thái của node

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

Hình 2: Chip CC3200 SimpleLink™ Wi-Fi

Chip Wireless MCU CC3200 là đơn chip cho vi điều khiển (MCU microcontroller unit ) kết nối Wifi do TI (Texas Instruments ) nghiên cứu vàphát triển

CC3200 SimpleLink™ Wi Fi là một MCU không dây tích hợp một hiệu cao ARM Cortex-M4 32bit-80HZ, 256KB RAM

3.1.2 TI-RTOS

- TI-RTOS là một hệ điều hành thời gian thực cho vi điều khiển TI (TexasInstruments )

Trang 7

- TI-RTOS cho phép phát triển nhanh hơn bằng cách loại bỏ sự cần thiết chocác nhà phát triển để viết và duy trì hệ thống phần mềm như lập lịch( schedule ), giao thức ngăn xếp ( protocal stacks ) và trình điều khiển.

- Kết hợp thời gian thực hiện đa nhiệm giữa nhân ( kernel ) với các thành phầntrung gian như TCP/IP và ngăn xếp USB, tập tin hệ thống FAT và các thiết bịđiều khiển, cho phép đa dạng ứng dụng

- TI-RTOS cung cấp một nền tảng phần mềm nhúng phù hợp trên các thiết bị

vi điều khiển của TI, nên dễ dàng kế thừa ứng dụng trên các thiết bị mới

- Các thành phần của TI-RTOS:

 TI-RTOS Kernel - SYS/BIOS: là một nhân (kernal) thời gian thực có khảnăng mở rộng Được thiết kế để hỗ trợ các ứng dụng đòi hỏi phải lập kếhoạch thời gian thực, đồng bộ 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 được thiết kế để giảm thiểu yêu cầu bộ nhớ và CPU

 TI-RTOS Instrumentation - UIA: Các Instrumentation ArchitectureUnified (UIA) cung cấp mục tiêu nội dung hỗ trợ trong việc tạo ra và thuthập dữ liệu đo lường

 TI-RTOS Networking - NDK: Network Developer's Kit (NDK) là nềntảng phát triển các ứng dụng mạng trên bộ xử lí nhúng của TI

 TI-RTOS Network Services: Cung cấp giao thức các lớp ứng dụng mạngnhư là HTTP Client và 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 trên CC3200

 Tìm hiểu lập trình Task trên 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);

Trang 8

Tham số:

pcName: kiểu chuổi kí tự, Tên của Task

pvParameters: con trỏ đến cấu trúc để được thông qua các hàm Task.pTaskHandle: task sử lí thường mặc định là null

pEntry: con trỏ trỏ tới hàm Task để thực thi Task

uxPriorit: mức độ ưu tiên của task trong quá trình thực thi

usStackDepth: kích thước Stack Kiểu dữ liệu long 32-bit

 Hàm xóa task: void osi_TaskDelete(OsiTaskHandle* pTaskHandle);Tham số: pTaskHandle là con trỏ trỏ tới task cần được xóa

 Tìm hiểu API với Message Queue trên 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 được lập trình theo lưu đồ

Trang 9

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ànhcông chuyển sang bước B7, ngược lại kết kết thúc chương trình

Trang 10

B7: Tạo message queue cho task thực thi Nếu thành công chuyển qua bướctiếp theo 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 được thực thi riêng biệt

3.3 Lập trình các module

- Để chạy thử code trong quá trình phát triển, lập trình các module thì mộtboard CC3200 launchpad kết nối với 1 daughter board touch sensor được sửdụng

Hình 3: Board launchpad và daughter board touch sensor

- Sau khi đã kiểm thử các chức năng lập trình thì sẽ sử dụng một board thiết bị

do công ty cung cấp để chạy thử toàn bộ các chức năng

Trang 11

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ị bằng cảm ứng điệndung Ta xây dựng lập trình module theo lưu đồ sau

Trang 12

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 đã được hoạt động hay chưa Nếu TouchSensor đã hoạt động thực hiện bước B3, ngược lại tiếp tục kiểm tra TouchSensor

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ànhcô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 của Touch Sensor

B6: Kiểm tra Touch có thay đổi trạng thái hay không Nếu có sự thay đổithực hiện 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

Trang 13

- Module được thực thi trong hàm chính void ControlTouch(void) {} hàm sẽ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ậntín hiệu cảm ứng đầu vào, điều khiển thiết bị nhờ lập trình API cho các IO

 Sau khi Touch hoạt động cảm biến điện dung sẽ được cấu hình bởi hàm:

void ConfigTouchSensor(void){}

Tham số: không có tham số

Chức năng: Kích hoạt tính năng cảm biến đầu vào, vô hiệu hóa mạch đacảm ứng, thiết lập giá trị touch cấu hình thanh ghi mặc định, thay đổi độnhạy cảm ứng, vô hiệu hóa tỷ lệ lặp lại của cảm biến, thiết lập lại thanh ghitrạng thái, đặt lại trạng thái thanh ghi chung, đặt lại thanh ghi điều khiểnchính

 Touch cảm ứng điện dung sẽ được khởi tạo sau khi Touch đã hoạt động:

void InitDevHardware(void){}

Tham số: không có tham số

Chức năng hàm: Gọi hàm ConfigTouchSensor() cấu hình cảm biến điện dung CAP1298 và hàm InitI2Cmastr() khởi tạo bus I2C trên CC3200 để

giao tiếp với các 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 của touch và thiết bị đã được lưu Thiết lậpcác kênh cảm biến đầu vào

- Trong module cảm biến diện dụng sẽ giao tiếp với CC3200 qua giao tiếpngoại vi I2C để nhận và 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ố: không có tham số

Chức năng hàm: kích hoạt I2C clock, cấu hình chân truyền dữ liệu SDA,cấu hình chân giữ xung SLC, khởi tạo chế độ truyền dữ liệu ở mứcchuẩ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

Trang 14

int I2C_IF_Open ( unsigned long ulMode){}

Tham số:

ulMode: Chế độ truyền tín hiệu gồm 2 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 dữ 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: là 7-bit địa chỉ I2C Slave

*pucData: là con trỏ đến dữ liệu được ghi

ucLen: là độ dài của dữ liệu được ghi

ucStop: là bit cuối cùng để xác định dừng truyền dữ liệu

 Hàm đọc dữ 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: là 7-bit địa chỉ I2C Slave

*pucData: là con trỏ đến dữ liệu cần được đọc

ucLen: độ dài dữ liệu được đọc

 Hàm đóng kết nối I2C với thiết bị ngoại vi: int I2C_IF_Close()

- Để hiển thị các trạng thái của thiết bị sử dụng lập trình trình API cho IO ledtrạng thái và switch out

void SetActuatorStatus(_u8 ucChanID, _u8 ucActualVal) {}

Tham số:

_u8 ucChanID: biến định danh các kênh touch cảm ứng điều khiển thiết bị

Trang 15

_8 ucActualVal: là biến xác định giá trị của touch khi có thay đổi tươngứng đó là giá trị mà thiết bị được điều khiển.

Chức năng hàm: Xét giá trị trạng thái cho touch đầu vào khi có tác độngđiều khiển

unsigned char GetActuatorStatus(_u8 ucChanID) {}

Tham số: _u8 ucChanID: là biến định danh các kênh touch cảm ứng điều

_u8 ucLedStt: biến hiển thị led trạng thái

_u8 ucLedSttVal: biến lưu trạng thái của led

Chức năng hàm: xét trạng thái led cho từng kênh ( chân ) của touch cảmứng đầu vào khi có sự thay đổi

unsigned char GetLedStatus (_u8 ucLedStt) {}

Tham số: _u8 ucLedStt: biến hiển thị led trạng thái

Chức năng hàm: lấy giá trị trạng thái led từng kênh ( chân ) của touch cảmứng đầu vào khi có sự thay đổi trạng thái các kênh của 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 trên CC3200 có cá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 chỉ cho UDP Sever:

_i16 sl_Bind(_i16 sd, const SlSockAddr_t *addr, _i16 addrlen);

Tham số:

sd: biến chứa Socket vừa được tạo

*addr: biến chứa địa chỉ của Socket

addrlen: chiều dài của địa chỉ Socket

Trang 16

 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: bộ đệm kiểu con trỏ chứa gói tin

Len: chiều dài bộ đệm

Flags: cờ chỉ định gói tin nhận, trong hàm này không sử dụng và mặc địnhbằng NULL

*from: con trỏ địa chỉ cần gửi phản hồi

*fromlen: con trỏ chiều dài địa chỉ 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: bộ đệm kiểu con trỏ chứa gói tin

Len: chiều dài bộ đệm

Flags: cờ chỉ định gói tin nhận, trong hàm này không sử dụng và mặc định làNULL

*to: con trỏ địa chỉ nhận gói tin (địa chỉ UDP Server)

*fromlen: con trỏ chiều dài địa chỉ nhận gói tin

Hàm đóng Socket: _i16 sl_Close(_i16 sd){}

- Device Node sẽ 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:

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

HÌNH ẢNH LIÊN QUAN

Hình 2: Lưu đồ thuật toán tổng quan đề tài - 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 (Trang 9)
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 (Trang 10)
Hình 4: Board thiết bị nạp code ( Device Node ) - 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 code ( Device Node ) (Trang 11)
Hình 5: Lưu đồ lập trình Touch cảm biến - 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 (Trang 12)
Hình 6: Lưu đồ giải thuật lập trình UDP - 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 (Trang 17)
Hình 7: Lưu đồ giải thuật lập trinh UDP  Client - 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 UDP Client (Trang 19)
Hình 8: Điều khiển thiết bị bằng tay qua cảm ứng điện dung - 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 (Trang 23)
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 (Trang 24)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w