Giải quyết các vấn đề kỹ thuật

Một phần của tài liệu Xây dựng hệ thống giám sát và điều khiển nhà thông minh Mô phỏng 3d (Trang 30 - 44)

Với đặc trưng hệ thống, xây dựng mô hình mô phỏng nhà thông minh trên tư tưởng hệ thống tính toán khắp nơi, hệ thống phải giải quyết những vấn đề kỹ thuật sau:

 Xây dựng, hiển thị tốt mô hình 3D nhà thông minh.

 Có khả năng kết nối với PPC, cho phép người dùng kết nối, theo dõi và điều khiển mô hình thông qua PPC.

 Nhận dạng được hành động người dùng trên PPC, từ đó đưa ra những lệnh điều khiển tương ứng.

Trang 22

Do thời gian xây dựng hệ thống không nhiều, tư tưởng chung để giải quyết những vấn đề kỹ thuật là sử dụng những thư viện có sẵn, kết hợp những thư viện này với nhau một cách hợp lý và phù hợp với mô hình đề ra.

3.2.1. Hiển thị mô hình 3D

Trong đề tài này, tôi sử dụng thành phần hiển thị mô hình 3D của thư viện

TrueVision3D, được phát triển bởi công ty TrueVision3D, LLC. TrueVision3D là một thư viện mạnh, cung cấp cho người dùng khả năng đọc những định dạng file lưu trữ mô hình 3D một cách thuận tiện, cũng như quản lý những mô hình, ánh sáng… của cả hệ thống.

Hình 3-1. Hiển thị mô hình 3D sử dụng TrueVision3D 3.2.2. Định nghĩa và nhận dạng hành động người dùng

Với một hệ thống tương tác với người dùng, việc định nghĩa những hành động người dùng là một điều quan trọng. Một hệ thống tương tác với người dùng qua PPC lại có đặc trưng riêng vì PPC có ưu điểm với màn hình cảm ứng lớn nhưng lại không có bàn phím tiện lợi. Vì thế, trong đề tài này, tôi sử dụng việc định nghĩa những hành động người dùng bằng các nét vẽ trên màn hình cảm ứng. Vấn đề cần giải quyết là:

 Định nghĩa được hành động của người dùng thực hiện trên màn hình PPC.

Trang 23

 Từ nét vẽ của người dùng, hệ thống cần nhận dạng nét vẽ đó, chuyển thành những lệnh tương ứng.

3.2.2.1. Định nghĩa hành động người dùng

Vấn đề định nghĩa hành động người dùng được thực hiện khá đơn giản, bảng sau

mô tả hành động người dùng tương ứng với những lệnh được thực hiện:

Bảng 3-1. Định nghĩa hành động người dùng

STT Tính năng Hành động

1

Di chuyển khung nhìn sang trái.

Vẽ một nét thẳng từ trái sang phải trên màn hình PPC.

2 Di chuyển khung nhìn sang phải.

Vẽ một nét thẳng từ phải sang trái trên màn hình PPC.

3 Di chuyển khung nhìn lên trên. Vẽ một nét thẳng từ dưới lên trên trên màn hình PPC. 4 Di chuyển khung nhìn xuống dưới. Vẽ một nét thẳng từ trên xuống dưới trên màn hình PPC.

Với những hành động này, người dùng cảm thấy thân thiện với hệ thống. Hiện tại, 100% phần mềm viết cho PPC có màn hình cảm ứng đều định nghĩa các lệnh tương ứng với hành động này.

3.2.2.2. Nhận dạng hành động người dùng

Để giải quyết vấn đề nhận dạng hành động, tôi sử dụng thư viện Zinnia tích hợp với hệ thống. Zinna là một thư viện mã nguồn mở sử dụng thuật toán SVM trong việc nhận dạng tiếng Nhật. Với một vài sửa đổi trong mã nguồn chương trình, thư viện cho phép chúng ta nhận dạng những hành động được định nghĩa. Do sử dụng thuật toán SVM, thư viện Zinnia cho phép thực hiện:

Trích chọn đặc trưng: Dựa vào tín hiệu đầu vào cũng như đặc điểm của các lớp cần phân loại ta lựa chọn những yếu tố mang tính đặc trưng cho từng lớp. Các yếu tố này sẽ được lưu dưới dạng một vecto đặc trưng cho

Trang 24

Xây dựng bộ huấn luyện: Từ các mẫu và đặc trưng của từng lớp, ta xây (adsbygoogle = window.adsbygoogle || []).push({});

dựng một bộ phân loại sử dụng SVM.

Xây dựng bộ kiểm thử: Sau khi đã có được bộ phân loại ta xây dựng một hàm cho phép nhận vào vectơđặc trưng của một mẫu mới bất kỳ và đưa ra lớp của nó.

3.2.3. Tương tác với PPC

Để giải quyết vấn đề kết nối và truyền dữ liệu giữa PC và PPC, nhóm có hai lựa chọn là sử dụng giao thức Bluetooth hoặc Wirless B/G. Sau khi nghiên cứu trên các tính chất của Wireless B/G và Bluetooth, chúng tôi có so sánh:

Bảng 3-2. Bảng so sánh Wireless B/G và Bluetooth

STT Tiêu chí Wireless Bluetooth

1

Sử dụng điển

hình (Typical usage)

Phiên bản không dây của chuẩn Ethernet

(wirelessEthernet), chỉ thay thế cáp cho truy cập mạng LAN. Truy cập mạng không dây với khoảng cách dài.

Thay thế cáp cá nhân (wireless USB) cho nhiều ứng dụng khác nhau. Truy cập mạng không dây với khoảng cách trung bình.

2

Băng thông 11 Mbps, chia sẻ.

2 đến 3 Mbps với WEP. 1 Mbps, chia sẻ. Version 1.1 và 1.2 là 723.1 Kbps, version 2.0 là 2.1 Mbps, thấp hơn khi bị nhiễu. 3

Nhiễu Các thiết bị sử dụng sóng radio khác, các vật liệu xây dựng, trang thiết bị.

Các thiết bị sử dụng sóng radio khác, các vật liệu xây dựng, trang thiết bị.

4

Bảo mật Không an toàn nếu không bảo vệ tốt. Cần giải quyết những trục trặc của mạng, truy cập bất hợp pháp, hi-jacking, "Đánh hơi mạng" (hay còn gọi là dò tìm lỗ hổng mạng thông Bảo mật thấp. Liên kết được thiết lập ở mức độ sự thẩm định quyền (authentication). Khó khăn hơn cho traffic sniffing. Vẫn còn phụ thuộc vào sự thẩm định

Trang 25

qua việc dò tuần tự các gói tin ở cổng mạng khác nhau), đánh cắp phiên làm việc và truy cập trái phép. Liên kết mức độ WEP dễ bị bẻ gãy. Tin cậy vào những truy cập ở cấp độứng dụng và sự mật hoá. quyền ở cấp độứng dụng và sự mật hoá. 5 Tiêu thụ năng lượng Khá cao. Thời gian sử dụng pin rất ngắn do tiêu thụ nhiều năng lượng và duy trì kết nối. Thấp. 6 Khoảng cách (ngoài trời) 200 m - 11 Mbps. 500 m - 1 Mbps. 30 m-100 m 7 Khoảng cách (trong nhà) 40 m - 11 Mbps. 100 m - 1 Mbps. 10 m-30 m. 8 Số kênh 11 DSSS. 79—FHSS. 79 9 Năng lượng truyền tối đa 20 dBm—FHSS. 30 dBm—DSSS. 20 dBm 10 Tần số 2.4GHz -b/g 5.8GHz – a 2.4GHz 11 Giá thành Cao Thấp 12 Thiết bị hỗ trợ Hỗ trợ trong một số laptop hiện đại, PDA: đòi external H/W card, Notebook computer, desktop computer, server.

Hỗ trợ trong laptop hiện đại, nhiều điện thoại di động, PDA, thiết bịđiện tử, thiết bị tựđộng trong công nghiệp và văn phòng

Vị trí sử dụng Ở trong tầm hoạt động của các thiết bị WLAN, thường là trong các toà

Bất cứnơi nào có ít nhất 2 thiết bị Bluetooth.

Trang 26 nhà. 13 Số thiết bị có thể truy cập đồng thời Nhiều, chia sẻ. IP&P2P.

Tối đa 8, chia sẻ. P2P.

Do các thành phần hệ thống trên PC và PPC phải thường xuyên trao đổi dữ liệu với nhau, nên yếu tố tốc độ và kết nối với khoảng cách xa là tiêu chí đầu tiên. Sau khi đánh giá lựa chọn, trong thời điểm hiện tại, tôi sử dụng giao thức kết nối và truyền tín hiệu là Wirless B/G.

Hơn nữa, do giao thức Wirless B/G được hỗ trợ rất nhiều trong thư viện .NET trên hệ điều hành Windows Mobile, việc cài đặt chương trình trở nên đơn giản hơn rất nhiều.

3.3. Các thành phần hệ thống 3.3.1. Mô hình hệ thống

Hệ thống được xây dựng bao gồm nhiều thành phần, có tương tác với nhau; hơn nữa, lại do nhiều sinh viên cùng thực hiện, nên việc tách biệt các thành phần là điều rất quan trọng. Hiện tại, hệ thống được phân thành hai thành phần lớn: (adsbygoogle = window.adsbygoogle || []).push({});

 Thành phần điều khiển trên PPC.

Trang 27

Trang 28

Hình 3-3. Luồng dữ liệu hệ thống 3.3.2. Các thành phần

Thành phần mô phỏng trên PC nắm vai trò quan trọng trong hệ thống. Để hệ thống dễ dàng cài đặt và có thể mở rộng các tính năng sau này, cần có sự phân tách tốt. Dựa trên mô hình hệ thống trên, chương trình trên PC được chia thành nhiều thành phần riêng biệt, mỗi thành phần thực hiện một chức năng chính, đảm bảo các tiêu chí:

Độc lập cao. Các thành phần phải được kết nối lỏng lẻo, dễ dàng thay thế bằng những thành phần khác khi chương trình phát triển sau này.

Có khả năng sử dụng lại. Mỗi thành phần chỉ thực hiện một vài chức năng cơ bản và kết nối lỏng lẻo với nhau nên có thể sử dụng lại khi chương trình phát triển sau này, cũng như sử dụng cho một ứng dụng tương tự.

Trang 29

Hình 3-4. Mô hình thành phần hệ thống

3.3.2.1. Thành phần thông điệp (Message)

a. Mô tả thành phần

Trang 30

b. Các thuộc tính chính

c. Các hàm chính

3.3.2.2. Thành phần giao thức (Protocol)

a. Mô tả thành phần

Thành phần giao thức (Protocol) là một giao diện (interface), mô tả cách thức truyền dữ liệu qua mạng với một giao thức kết nối. Hiện tại, hệ thống sử dụng hai loại giao thức kết nối là Bluetooth và Wireless nên có hai thành phần là cài đặt trực tiếp của thành phần Protocol cho từng loại giao thức cụ thể:

 BluetoothProtocol

 WirelessProtocol

b. Các thuộc tính chính

 PPCAddress: Địa chỉ của PC mà PC giữ kết nối.

 Message: Thông điệp trao đổi với PPC.

c. Các hàm chính

 SetMessage(Message): Thiết lập thông điệp.

 GetMessage(): Lấy thông điệp.

 Send(): Gửi thông điệp tới PPC.

 Recive(): Nhận thông điệp từ PPC.

 Connect(): Kết nối tới PPC.

 Disconnect(): Ngắt kết nối tới PPC.

3.3.2.3. Thành phần kết nối (Connection) (adsbygoogle = window.adsbygoogle || []).push({});

a. Mô tả thành phần

Thành phần Connection quản lý việc kết nối, trao đổi dữ liệu giữa PC và PPC. Trong quá trình chương trình được thực hiện, thành phần Connection thực hiện việc:

Trang 31

 Trao đổi thông điệp giữa PC và PPC như gửi và nhận các gói tin thực hiện kết nối, gửi dữ liệu tới PPC, nhận các lệnh điều khiển từ PPC… dựa trên các giao thức kết nối như Wireless B/G hay Bluetooth.

Do thành phần Connection quản lý tất cả việc kết nối, truyền tải dữ liệu trên mạng nên các thành phần khác luôn “trong suốt”, không cần quan tâm tới việc thực hiện việc kết nối qua mạng, đảm bảo tính độc lập, linh động của chương trình. Do các thành trao đổi dữ liệu giữa PC và PPC được cài đăt trong các thành phần giao thức cụ thể (BluetoothProtocol, WirelessProtocol), nên thành phần Connection cũng không cần quan tâm nhiều tới việc giao thức kết nối nào đang được sử dụng mà chỉ thực hiện quản lý chúng.

b. Các thuộc tính chính

 Protocol: Giao thức được sử dụng.

 Listener: Bộ lắng nghe thông điệp kết được gửi từ PPC.

c. Các hàm chính

 Send(Message): Gửi thông điệp tới PPC.

 Recive(): Nhận thông điệp từ PPC.

 Connect(): Kết nối với PPC.

 Disconnect(): Ngắt kết nối tới PPC.

3.3.2.4. Thành phần trao đổi thông điệp (Exchanger)

a. Mô tả thành phần

Thành phần trao đổi thông điệp (Exchanger) với chức năng chính là điều phối thông điệp giữa các thành phần và PPC. Khi một thành phần nào cần truyền dữ liệu tới PPC, thành phần Exchanger sẽ được gọi để thực hiện:

 Kiểm tra tính chính xác của thông điệp (cấu trúc dữ liệu…)

 Mã hóa thông điệp, sử dụng thành phần Message.

 Sử dụng thành phần Connection để gửi thông điệp.

b. Các thuộc tính chính

Trang 32

 Listener: Bộ lắng nghe thông điệp được gửi từ PPC.

c. Các hàm chính

 SendMessage(Message): Gửi thông điệp tới PPC.

 SendMessage(Message, Object): Gửi thông điệp tới thành phần đồ vật.

3.3.2.5. Thành phần quản lý (Manager)

a. Mô tả thành phần

Thành phần quản lý đồ vật là thành phần quan trọng nhất của hệ thống, thành phần Manager thực hiện các nhiệm vụ chính:

Vẽ mô hình nhà. Do hệ thống chỉ xây dựng mô hình nhà thông minh nên việc thể hiện trực quan mô hình ngôi nhà là rất quan trọng, thành phần Manager phải đảm bảo vẽ được mô tả ngôi nhà một cách chung nhất, cung cấp hình ảnh điều khiển để tương tác trong thời gian thực (real- time).

Quản lý các thành phần mô tả đồ vật trong nhà.Để xây dựng mô hình một cách linh động, các thành phần mô tả đồ vật trong nhà được thiết kế thành các thành phần (module) độc lập. Thành phần Manager phải quản lý các thành phần này như cài đặt (thêm) thành phần đồ vật, gỡ bỏ thành phần đồ vật… (adsbygoogle = window.adsbygoogle || []).push({});

Truyền thông tới các đồ vật. Thành phần Manager sử dụng các thành phần khác như Exchanger, Connection… thực hiện truyền thông điệp tới thành phần trên PPC và giữa các thành phần đồ vật với nhau, đảm bảo các thành phần đồ vật hoạt động theo sự điều khiển của PPC cũng như hợp tác, hoạt động với nhau.

b. Các thuộc tính chính

 Objects: Danh sách các đồ vật trong nhà.

 Exchanger: Bộ trao đổi thông điệp.

c. Các hàm chính

 Register(Object): Đăng ký một đồ vật.

Trang 33

 Draw(): Vẽ mô hình nhà. Hàm Draw() còn thực hiện việc gọi các hàm Draw() trong các thành phần mô tả đồ vật, đảm bào toàn bộ các thành phần đồ vật đã được đăng ký đều được vẽ ra.

 GetCurrentObject(): Kiểm tra và lấy thành phần đồ vật đang được theo dõi, thành phần đồ vật này sẽ được điều khiển qua PPC.

3.3.2.6. Các thành phần mô tả đồ vật

a. Mô tả thành phần

Để đảm bảo tính độc lập cao của chương trình, mỗi đồ vật được mô tả trong một thành phần riêng biệt. Các thành phần mô tả đồ vật phải tự quản lý các thuộc tính (hình vẽ, kích thước, vị trí…), xử lý các sự kiện xảy ra, lưu trữ các trạng thái… của mình. Các thành phần mô tả đồ vật được đăng ký, lưu trữ và quản lý trong thành phần Manager.

b. Các thuc tính chính

 Size: Kích thước vật.

 Position: Vị trí vật trong nhà.

 State: Trạng thái vật.

 Actions: Tập hợp các hành động có thể thực hiện trên vật.

c. Các hàm chính

 Register(): Đăng ký với thành phần Manager, thiết lập các trạng thái ban đầu cùa vật.

 Remove(): Gỡ bỏ khỏi thành phần Manager.

 DoAction(Action): Thực hiện hành động trên vật.

 Draw(): Vẽ hình ảnh đồ vật.

3.4. Đánh giá hệ thống 3.4.1. Ưu điểm

Về cơ bản, hệ thống đã thực hiện một số tính năng cơ bản trong việc mô phỏng nhà thông minh với những tính năng:

Trang 34

 Cho phép người dùng định nghĩa những hành động (lệnh) có thể thực hiện trên

vật thể.

 Cho phép người dùng tương tác với hệ thống: di chuyển camera, thay đổi hướng nhìn, lựa chọn đồ vật, tương tác với đồ vật…

Ngoài ra, với thiết kế đã đề ra, hệ thống cho phép mở rộng các tính năng sau này.

3.4.2. Nhược điểm (adsbygoogle = window.adsbygoogle || []).push({});

Do hệ thống được xây dựng trong một thời gian ngắn, nên còn rất nhiều nhược điểm:

 Chưa cho phép người dùng tương tác ở khoảng cách xa, ngoài vùng mạng nội

bộ.

 Chưa mô tả được những thành phần “thực” của nhà thông minh như: nhiệt độ,

Trang 35

Chương 4 THỰC NGHIỆM

Trong đề tài này, chúng tôi thực hiện ba thực nghiệm chính:

 Cài đặt thực nghiệm xây dựng thành phần mô phỏng trên PC.

 Thực nghiệm chạy thành phần mô phỏng 3D trên PC.

 Thực nghiệm việc chạy chương trình. Đây là thực nghiệm chung, sau khi ghép nối những thành phần.

Một phần của tài liệu Xây dựng hệ thống giám sát và điều khiển nhà thông minh Mô phỏng 3d (Trang 30 - 44)