Giao diện của trang web đăng ký tài khoản google

Một phần của tài liệu ĐỒ án tốt NGHIỆP NGÀNH CÔNG NGHỆ kỹ THUẬT điện tử TRUYỀN THÔNG đề tài hệ THỐNG điều KHIỂN và GIÁM sát các THIẾT bị TRONG NHÀ (Trang 56)

Điền những thông tin trang web yêu cầu để tạo khoản mới và làm theo các hướng trên trang web.

Sau khi đăng ký thành công , truy cập vào địa chỉ http://appinventor.mit.edu/explore/# .

Sau đó click vào Create Apps!

http://appinventor.mit.edu/explore/# . Sau đó click vào Create Apps!

Hình 4.3. Giao diện trang web MIT App Inventor. Xuất hiện tab mới có địa chỉ http://ai2.appinventor.mit.edu .

Hình 1.4. Giao diện cơng cụ App Inventor 2. Trên màn hình chính của trang web, có các mục cần chú ý:

 Projects: giúp quản lý và thao tác với các Projects người dùng đã tạo với các thao tác

Nhập một project từ máy tính vào App Inventor 2. Lưu project lại.

Xuất project thành file .aia vào máy tính.

Hình 4.5. Mục Projects.

 Mục Connect: giúp kết nối máy tính với các phần mềm hoặc thiết bị di động để chạy mô phỏng.

Al Companion: kết nối với thiết bị di động thông qua mạng wifi.

Emulator: kết nối với một phần mềm trên máy tính để chạy mơ phỏng ngay trên máy tính.

USB: kết nối với thiết bị di động thông qua cáp USB. Reset Connection: kiểm tra lại các kết nối.

Hình 4.6. Mục Connect.

 Mục Build: Cho phép người dùng xuất Project ra file .apk.

App ( provide QR code for .apk ): cung cấp mã QR để người dùng tải file .apk.

App ( save .apk to my computer ): lưu file .apk vào máy tính.

Hình 4.7. Mục Build.Giao diện và các công cụ trong App Inventor 2: Giao diện và các công cụ trong App Inventor 2:

Từ màn hình chính chọn mục Projects 

Start new project để tạo một project mới. Xuất hiện hộp thoại Create new App inventor project.

Hình 4.8. Giao diện hộp thoại.Đặt tên cho project mới  Đặt tên cho project mới 

OK (lưu ý: tên project phải bắt đầu bằng chữ và không được chứa các ký tự đặc biệt). Xuất hiện giao diện để thiết kế project.

Hình 4.9. Giao diện gồm các cơng cụ thiết kế app.

Pallete: chứa các công cụ, thành phần giúp người dùng thiết kế giao diện cũng chức năng của app.

User Interface: chứa các công cụ như Button, Check box, Label, TextBox, … dùng để thiết kế giao diện của app.

Hình 4.10. Mục User Interface.

Layout: cho phép người dùng có thể sắp xếp các User Interface theo một vị trí xác định.

Hình 4.11. Mục Layout.

Media: chứa các thành phần cho phép người dùng có thể sử dụng các thiết bị đa phương tiện trên máy như Camera, Player, SoundRecorder,…

Hình 4.12. Mục Media.

Sensors: gồm những thành phần ẩn cho phép người dùng có thể sử dụng các cảm biến có sẵn trên thiết bị di động.

Hình 4.13. Mục Sensors.

Social: gồm các thành phần cho phép người dùng có thể sử dụng các tính năng xã hội của thiết bị di động như nhắn tin, gọi điện,…

Hình 4.14. Mục Social.

Storage: chưa các thành phần liên quan đến vấn đề lưu trữ bộ nhớ.

Hình 4.15. Mục Storage.

Connectivity: gồm các kết nối mà người dùng có thể sử dụng trong app của mình.

Hình 4.16. Mục Connectivity.

Viewer: Hiển thị màn hình thiết bị di động để người dùng có thể thiết kế giao diện của ứng dụng.

Hình 4.17. Mục Viewer. Components: hiển thị các thành phần đã được sử dụng.

Hình 4.18. Mục Components. Properties: hiển thị các thơng số của từng phần được chọn.

Hình 4.19. Mục Properties.

b. Chương trình điều khiển

Yêu cầu ứng dụng:

- Yêu cầu đăng nhập tài khoản người dùng.

- Kết nối với trung tâm điều khiển thông qua bluetooth hoặc Wifi. - Điều khiển thiết bị bằng giọng nói hoặc thao tác.

- Chức năng nhận diện giọng nói được kích hoạt bằng nút nhấn. - Giao tiếp với người sử dụng bằng một số câu lệnh đơn giản. - Thông báo nhiệt độ, độ ẩm trên ứng dụng.

- Cảnh báo khi nhiệt độ vượt quá ngưỡng cho phép. - Đồng bộ trạng thái các thiết bị theo thời gian thực. - Nhiều người dùng có thể điều khiển cùng lúc.

Giao diện và các thành phần

Từ những yêu cầu trên ta có thể thiết kế giao diện của ứng dụng gồm ba màn hình: Một màn hình ở chế độ yêu cầu đăng nhập và chọn hình thức kết nối. Một màn hình ở chế độ điều khiển bằng Bluetooth.

Một màn hình ở chế độ điều khiển bằng Wifi.

Hình 4.20. Màn hình đăng nhập và kết nối - Màn hình đăng nhập và kết nối gồm hai layout.

VerticalArrangement1: layout sắp xếp theo dạng hàng dọc chứa các thành phần sau.

TextBox1

TextBox2

Button1

Hình 4.21. VerticalArrangement1

TextBox1: dùng để nhập tên tài khoản người dùng. TextBox2: dùng để nhập mật khẩu tài khoản người dùng. Button1: kiểm tra thông tin và bắt đầu sử dụng

HorizontalArrangement1: layout sắp xếp theo dạng hàng ngang chứa các thành phần sau.

Button

Hình 4.22. HorizontalArrangement1

Button_Bluetooth : dùng để chọn chế độ Bluetooth. Button_Wifi: dùng để chọn chế độ Wifi

Hình 4.23. Giao diện màn hình Bluetooth của app.- Màn hình Bluetooth gồm bảy Layout. - Màn hình Bluetooth gồm bảy Layout.

HorizontalArrangement5: layout sắp xếp theo dạng hàng ngang chứa các thành phần sau.

Label

Hình 4.24. HorizontalArrangement5.

Label1: dùng để hiển thị cho người dùng biết trạng thái.

HorizontalArrangement6: layout sắp xếp theo dạng hàng ngang chứa các thành phần sau.

Button

Hình 4.25. HorizontalArrangement6.

Button_ketnoi: dùng để kết nối với thiết bị Bluetooth. Button_ngatketnoi: dùng để ngắt kết nối bluetooth.

HorizontalArrangement4: layout sắp xếp theo dạng hàng ngang chứa một thành phần sau.

ListPicker

Hình 4.26. TableArrangement4.

ListPicker1: dùng để hiển thị danh sách các thiết bị để kết nối. HorizontalArrangement10: layout sắp xếp theo dạng hàng ngang chứa các thành phần sau.

Label

HorizontalArrangement

Hình 4.27. HorizontalArrangement10. HorizontalArrangement9: thơng báo nhiệt độ. HorizontalArrangement11: thông báo độ ẩm. Label7: nhiệt độ.

Labelnhietdo: hiển thị nhiệt độ. Label8: độ ẩm.

Labeldoam: hiển thị độ ẩm.

HorizontalArrangement7: layout sắp xếp theo dạng hàng ngang chứa các thành phần sau.

Button

Hình 4.28. HorizontalArrangement7.

Button1,s0,s1,s2,s3: dùng để quay lại màn hình 1 và để điều khiển các mức độ của động cơ.

HorizontalScrollArrangement1: layout sắp xếp theo dạng hàng ngang chứa các thành phần sau.

Button VerticalArrangement

Label

Hình 4.292. HorizontalScrollArrangement1.

VerticalArrangement: dùng để chứa hai button điều khiển. Button: điều khiển trạng thái các đèn.

Label: hiển thị tên thiết bị. - Màn hình Wifi gồm có ba layout chính.

Hình 4.30. Màn hình điều khiển bằng Wifi.

Nhìn chung khơng có khác biệt nhiều so với màn hình điều khiển bằng Bluetooth. Một số điểm khác biệt chính như:

Label

Hình 4.31. Label_text.

Label_text: dùng để hiển thị những gì nhận được khi ra lệnh bằng giọng nói.

Button

Button_nutlenh: khi nhấn vào thiết bị sẽ bắt đầu nhận giọng nói. - Ngồi ra, cịn có các thành phần ẩn khác:

BluetoothClient: cho phép ứng dụng sử dụng tính năng bluetooth trên thiết bị di động.

TextToSpeech: công cụ chuyển đổi văn bản thành giọng nói.

SpeechRecognizer: cho phép ứng dụng sử dụng tính năng nhận diện giọng nói để chuyển giọng nói thành văn bản.

Notifier1: cho phép ứng dụng cảnh báo người dùng bật Bluetooth.

Clock: cho phép ứng dụng lấy thông tin thời gian thực từ thiết bị di động như ngày, tháng, năm, giờ, phút, giây… đồng thời cũng có thể sử dụng như một timer.

FirebaseDB1: cho phép ứng dụng liên kết với một cơ sở dữ liệu bên ngồi.

Hình 4.33. Các thành phần ẩn.

Lưu đồ giải thuật

Hình 4.34. Lưu đồ chương trình App điện thoại Android.

Hình 4.35. Lưu đồ cập nhật dữ liệu+ Giải thích lưu đồ: + Giải thích lưu đồ:

Đầu tiên ta mở ứng dụng Android, đăng nhập để được sử dụng và chọn chế độ

bluetooth hoặc wifi. Khi sử dụng ở chế độ wifi, biến chung ban đầu sẽ được đặt sẵn là 15, các thủ tục được lập trình sẵn. Khi ra lệnh bằng giọng nói, hệ thống sẽ phân tích và xử lý giọng nói, nếu đúng sẽ xử lý thực hiện như cài đặt. Hoặc nếu sử dụng các nút nhấn thì chương trình sẽ xử lý. Sau mỗi lần có thay đổi hoặc sau mỗi 200ms, sẽ cập nhật mới dữ liệu một lần và được đưa lên Firebase. Khi sử dụng Bluetooth thì cách hoạt động tương tự vậy.

Quá trình cập nhật sẽ diễn ra liên tục, các giá trị sẽ liên tục cập nhật và đưa lên Firebase sau đó xử lý. Song song q trình này thì sẽ cập nhật liên tục giữa màn hình và xử lý.

Lập trình code

App Inventor 2 cho phép người dùng viết code bằng cách kéo thả các block. Phần lập trình sẽ tập trung vào những sự kiện của ứng dụng, bao gồm:

SpeechRecognizer1.AfterGettingText: thực thi các lệnh sau khi nhận được kết quả từ SpeechRecognizer1

Gửi dữ liệu sang vi điều khiển một biến chung thông qua Wifi nếu nhận được một trong các lệnh: “MỞ/TẮT ĐÈN 1”, “MỞ/TẮT ĐÈN 2”, “MỞ/TẮT ĐÈN 3”, “MỞ/TẮT ĐÈN 4”, “MỞ/TẮT QUẠT”, “MỞ QUẠT MỨC 2”, “MỞ QUẠT MỨC 3”, “BẬT/TẮT TẤT CẢ”.

Hình 4.36. SpeechRecognizer1

Hình 4.37. Sự kiện Button để điều khiển đèn.

Nhận thấy sự thay đổi và gán kết quả cho biến chung. Sau đó gởi về Firebase.

Button_muc0/muc1/muc2/muc3.click: xử lý và đưa ra kết quả để điều khiển quạt.

Hình 4.38. Sự kiện Button điều khiển quạt.

Thay đổi giá trị của biến speed và gửi giá trị mới về Firebase.

FirebaseDB1.DataChanged: Hàm này có chức năng tương tự như hàm Timer, được sử dụng khi muốn cập nhật dữ liệu và khi nhận thấy sự thay đổi.

Khi nhận thấy sự thay đổi, khi đó Firebase sẽ cập nhật sự thay đổi cùng với đó là gán giá trị mới cho biến chung cần điều khiển.

Sự kiện các của các Initialize: nhằm khởi tạo các tag giá trị của Firebase.

Hình 4.40. Sự kiện Initialize.

Sự kiện của các GotValue: Nhằm gán giá trị cho tag vừa khởi tạo.

Hình 4.413. Sự kiện FirebaseDB1.GotValue.

Sự kiện của Timer: cập nhật giá trị liên tục.

Khi Clock1.Timer hoạt động,các giá trị mới của các biến tạm liên tục cập nhật. Sẽ tự động cập nhật sau quảng thời gian do chính mình cài đặt.

Hình 4.42. Sự kiện Timer.

Sự kiện Before/AfterPicking: đưa ra các kết nối Bluetooth, sau khi lựa chọn kết nối sẽ thông báo trong Labeltrangthai là ĐÃ KẾT NỐI. Đồng thời gán giá trị mới của biến chung.

Hình 4.43. Sự kiện ListPicker1.Before/AfterPicking.

Ngồi ra, còn sử dụng sự kiện manhinhbluetooth.Initialize: dùng để cảnh báo người dùng bật Bluetooth khi chưa bật.

Hình 4.44. Sự kiện của manhinhbluetooth.Initialize.Ứng dụng cần có các hàm thủ tục sau: Ứng dụng cần có các hàm thủ tục sau:

Hình 4.45. Hàm thủ tục(1).

Hình 5.46. Hàm thủ tục(2)

Hình 4.47. Các biến sử dụng.

4.2.2 Thi công mạch.

Các bước thi công sản phẩm: Vẽ mạch nguyên lý. Vẽ mạch layout.

Làm hồn chỉnh mơ hình mạch.

Kiểm tra hoạt động của mạch thi công. Kết quả sau khi làm mạch:

Vì mơ hình chủ yếu dùng module nên chủ yếu tập trung vào phần lập trình và lưu đồ giải thuật.

Bảng 4.1. Danh sách và thông số các linh kiện sử dụng

STT

1

2

3

4

5 Module 2 Relay 6 7 8 9 10 11 12 Vẽ mạch nguyên lý. Hình 4.48. Sơ đồ mạch nguyên lý.

Vẽ mạch in Layout.

Hình 4.49. Mạch in Layout.

Hình 4.50. Sơ đồ chân và vị trí các linh kiện. Làm hồn chỉnh mơ hình mạch.

Hình 4.51 Mạch hồn thiệnKiểm tra hoạt động của mạch thi công. Kiểm tra hoạt động của mạch thi công.

Sau nhiều lần kiểm tra đối chiếu và cắm linh kiện chạy thử nghiệm thì có kết quả là mạch đã hoạt động như đúng thiết kế. Khơng có xảy ra hiện tượng đoản mạch hay sự cố nào cả.

4.2.3 Thi cơng mơ hình thiết bị.

Sau khi thiết kế mơ hình, tơi tiến hành thi cơng mơ hình như đúng thiết kế. Sau đây là quá trính thi cơng và mơ hình hồn chỉnh

Hình 4.52. Hình ảnh mơ hình thiết bị.

Hình 4.52. Lắp ráp thiết bị vào mạch.

a. Lập trình firmware cho Arduino:

Yêu cầu: - Nhận dữ liệu từ điện thoại gửi đến thông qua bluetooth hoặc wifi. - Xuất dữ liệu để điều khiển các thiết bị.

Lưu đồ giải thuật

Hình 4.53. Lưu đồ chương trình vi điều khiển.

Giải thích lưu đồ:

Đầu tiên ta tiến hành khai báo thư viện cũng như khởi tạo biến nhận dữ liệu cho arduino và đặt các giá trị ban đầu.

Vì tốc độ Baud mặc định của Module Bluetooth HC-06 là 9600 nên để MCU giao tiếp được với HC-06 cả hai phải có cùng tốc độ baud do đó ta sẽ khởi tạo chuẩn UART với tốc độ Baud là 9600. Tương tự với ESP8266 chuẩn giao tiếp là SPI với tốc độ Baud là 115200.

Trong chương trình, ta sẽ kiểm tra vi điều khiển có nhận được được dữ liệu từ Ứng dụng hay khơng. Nếu có dữ liệu gửi tới thì tiến hành phân tích dữ liệu:

Nếu nhận được là điều khiển đèn thì gán giá trị relay=bienchung, tiến hành ngắt sau đó ghi vào thanh ghi và cập nhật dữ liệu.

Nếu nhận được là điều khiển quạt thì gián giá trị mới cho speedd, sau đó ghi vào thanh ghi và cập nhật dữ liệu.

Hình 4.54. Lưu đồ truyền nhận dữ liệu và cập nhật của ESP

Lập trình code

Giới thiệu phần mềm lập trình:

Arduino IDE là phần mêm chuyên về lập trình và nạp chương trình lên board Arduino. Nó được phát triển cho cả Windows, MAC, và Linux. Arduino IDE ngồi vai trị là giao diện viết code, nó cịn kết nối với board Arduino để tải chương trình vào vi điều khiển. Hơn nữa, IDE này cịn có sẵn các libraries cho các chức năng cụ thể như điều khiển robot, kết nối wifi, đọc, ghi EEPROM…

Code được nạp vào Board Arduino dưới dạng mã Hex. Khi viết code và nạp chương trình cho vi điều khiển (cụ thể với board Arduino UNO là ATmega328) thì khơng đơn thuần là nạp những "câu lệnh" viết ra đưa vào vi điều khiển, mà phải thơng qua trình

biên dịch Aruduino IDE "dịch" lại những gì viết và tạo ra một chuỗi kí tự gồm những chữ (từ A đến F) và số (từ 0 đến 9) thuộc hệ thập lục phân. Những chữ số này nạp vào vi điều khiển thì vi điều khiển mới "hiểu" được. Những chữ số này được đóng gói và lưu lại thành một file có đi mở rộng là ".hex". Khi muốn nạp lại code thì chỉ cần lấy file ".hex" nạp.

Arduino IDE cũng dựa trên nguyên tắc cơ bản đó là nạp chương trình vào vi điều khiển nhưng để đơn giản cho người dùng không phải phức tạp quá nhiều thao tác như các trình biên dịch khác, Arduino IDE đã làm ẩn file .hex đi vì thế chỉ cần ấn "Upload" .

Hình 4.55. Giao diện phần mềm Arduino IDE.Toolbar : Toolbar :

Arduino Toolbar: có một số button và chức năng của chúng như sau:

- Verify: kiểm tra code có lỗi hay khơng .

- Upload: nạp code đang soạn thảo vào Arduino .

- New, Open, Save: tạo mới, mở và Save sketch .

- Serial Monitor: đây là màn hình hiển thị dữ liệu từ Arduino gửi lên máy tính hoặc tổ hợp phìm CTRL + SHIFT + M .

- File menu: trong file menu, quan tâm tới mục Examples đây là nơi chứa code mẫu ví dụ như: cách sử dụng các chân digital, analog, sensor. - Sketch menu:

 Verify, Compile: chức năng kiểm tra lỗi code.  Show Sketch Folder: hiển thị nơi code được lưu.

 Add File: thêm vào một Tap code mới.  Import Library: thêm thư viện cho IDE.

Một phần của tài liệu ĐỒ án tốt NGHIỆP NGÀNH CÔNG NGHỆ kỹ THUẬT điện tử TRUYỀN THÔNG đề tài hệ THỐNG điều KHIỂN và GIÁM sát các THIẾT bị TRONG NHÀ (Trang 56)

Tải bản đầy đủ (DOCX)

(129 trang)
w