1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Đồ án tốt nghiệp) điều khiển thiết bị điện qua wifi trên điện thoại android

96 36 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

Tiêu đề Điều Khiển Thiết Bị Điện Qua Wifi Trên Điện Thoại Android
Tác giả Trần Hoàng Hà, Từ Hoàng Anh Tuấn
Người hướng dẫn ThS. Nguyễn Văn Hiệp
Trường học Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
Chuyên ngành Công Nghệ Kỹ Thuật Điện - Điện Tử
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2016
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 96
Dung lượng 3,17 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN (13)
    • 1.1 Tổng Quan Về Lĩnh Vực Nghiên Cứu (13)
    • 1.2 Mục Đích Của Đề Tài (13)
    • 1.3 Nhiệm Vụ Và Giới Hạn Của Đề Tài (13)
      • 1.3.1 Nhiệm Vụ (13)
      • 1.3.2 Giới Hạn (15)
    • 1.4 Phương Pháp Nghiên Cứu (15)
    • 1.5 Tóm Tắt Đề Tài (0)
  • CHƯƠNG 2. THIẾT KẾ HỆ THỐNG (17)
    • 2.1. BÀI TOÁN THIẾT KẾ (17)
    • 2.2. THIẾT KẾ PHẦN CỨNG (17)
      • 2.2.1 SƠ ĐỒ KHỐI PHẦN CỨNG (17)
      • 2.2.2 THIẾT KẾ CHI TIẾT PHẦN CỨNG (20)
      • 2.2.3 SƠ ĐỒ NGUYÊN LÝ MẠCH ĐIỀU KHIỂN (26)
    • 2.3 THIẾT KẾ PHẦN MỀM TRÊN ĐIỆN THOẠI ANDROID (28)
      • 2.3.1 LẬP TRÌNH MẠNG TRONG ANDROID (28)
      • 2.3.2 GIAO DIỆN ĐIỀU KHIỂN TRÊN ANDROID (30)
    • 2.4 THIẾT KẾ PHẦN MỀM VI ĐIỀU KHIỂN (34)
      • 2.4.1 LƯU ĐỒ CHƯƠNG TRÌNH (34)
      • 2.4.2 GIẢI THÍCH CHƯƠNG TRÌNH CON (36)
    • 2.5. TẠO BẢNG TÍNH GOOGLE (45)
  • CHƯƠNG 3. KẾT QUẢ THI CÔNG (50)
    • 3.1. KẾT QUẢ (50)
      • 3.1.1 ỨNG DỤNG ĐIỆN THOẠI ANDROID (50)
      • 3.1.2 MẠCH ĐIỀU KHIỂN (52)
      • 3.1.3 MẠCH THỰC TẾ (57)
      • 3.2.2. BỘ THIẾT BỊ (60)
  • CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (61)
    • 4.1 KẾT LUẬN (61)
    • 4.2 HƯỚNG PHÁT TRIỂN (61)
  • TÀI LIỆU THAM KHẢO (62)
  • PHỤ LỤC (63)

Nội dung

TỔNG QUAN

Tổng Quan Về Lĩnh Vực Nghiên Cứu

Trong thời đại hiện nay, sự phát triển mạnh mẽ của khoa học kỹ thuật và công nghệ điện tử đã khiến việc sử dụng điện thoại thông minh trở thành một nhu cầu thiết yếu trong cuộc sống hàng ngày của mỗi người.

Trong những thập niên gần đây, sự phát triển mạnh mẽ của bưu chính viễn thông, đặc biệt là mạng Internet không dây, đã mang lại tốc độ truy cập nhanh hơn với chi phí hợp lý Một ví dụ điển hình là việc tập đoàn Facebook phóng vệ tinh nhân tạo cung cấp wifi miễn phí cho người dân ở châu Phi Điều này đã làm cho việc sử dụng mạng không dây để kết nối và điều khiển trở nên dễ dàng và tiện lợi hơn bao giờ hết.

Android là hệ điều hành dựa trên Linux, thiết kế cho thiết bị di động với màn hình cảm ứng như điện thoại thông minh và máy tính bảng Nền tảng này được nhiều hãng điện tử nổi tiếng như Samsung, Sony, Motorola, và LG sử dụng Với mã nguồn mở, Android trở thành hệ điều hành phổ biến nhất thế giới, giúp lập trình và phát triển ứng dụng dễ dàng, mở rộng chức năng cho thiết bị hiệu quả.

Mục Đích Của Đề Tài

- Thiết kế và thực hiện board mạch để điều khiển, giám sát thiết bị điện trong nhà có

5 ngõ ra với tổng chịu tải đến 10A-220VAC

- Thiết kế và thực hiện ứng dụng điều khiển, giám sát thiết bị điện chạy trên điện thoại android.

- Điều khiển và giám sát thiết bị qua mạng wifi nội bộ.

Nhiệm Vụ Và Giới Hạn Của Đề Tài

- Tìm hiểu các đối tƣợng điều khiển trong Android Studio.

- Tạo giao diện và viết ứng dụng cơ bản.

- Thiết kế mạch nguồn và board điều khiển.

- Làm board mẫu và test các kết nối.

- Giao tiếp module wifi với board mẫu.

- Gửi dữ liệu cơ bản giữa Android và board.

- Phát triển các chức năng mở rộng.

- Test các chức năng và chạy thử.

- Xây dựng bố cục cho báo cáo đồ án tốt nghiệp.

- Viết báo cáo đồ án tốt nghiệp.

- Báo cáo đề tài tốt nghiệp.

Trong khuôn khổ của đề tài chúng em xin giới hạn đề tài nhƣ sau:

- Board mạch sử dụng vi điều khiển Pic họ 18F.

- Điều khiển thiết bị điện trong nhà qua mạng wifi nội bộ.

- Ứng dụng có thể điều khiển bật tắt và theo dõi hoạt động của thiết bị.

Phương Pháp Nghiên Cứu

Do thời gian thực hiện đồ án ngắn và kinh nghiệm nghiên cứu khoa học còn hạn chế, nhóm thực hiện đề tài đã áp dụng các phương pháp chính để đạt được kết quả tốt nhất.

- Phương pháp phân tích tổng hợp lý thuyết:

Giai đoạn đầu của việc thực hiện đồ án bao gồm việc tìm kiếm và phân loại tài liệu tham khảo theo từng nội dung cụ thể, nhằm tạo điều kiện thuận lợi cho quá trình nghiên cứu và hiểu biết sâu sắc hơn.

Nhờ sự hỗ trợ từ giáo viên hướng dẫn, sách tham khảo, giáo trình trong thư viện và nguồn tài liệu số tìm được trên mạng qua các diễn đàn điện tử, người học có thể tiếp cận kiến thức một cách hiệu quả.

- Phương pháp thực nghiệm khoa học:

Tìm kiếm và đọc hiểu tài liệu là bước quan trọng trong việc áp dụng các lý thuyết để thực hiện đề tài, bao gồm việc vẽ sơ đồ nguyên lý, lập trình và chạy mô phỏng trên phần mềm chuyên dụng.

 Các phương pháp trên đã được học trong các môn thực tập trên trường và quá trình tự tìm hiểu và tích luỹ kinh nghiệm của nhóm.

Nhƣ vậy, với các yêu cầu về nhiệm vụ và mục tiêu đề ra, đồ án đƣợc xây dựng bao gồm các chương sau:

Chương 1: Tổng Quan - chương này cung cấp cái nhìn tổng quát về lĩnh vực nghiên cứu, phân tích tình hình nghiên cứu hiện tại, nêu rõ tầm quan trọng của đề tài và xác định mục đích nghiên cứu, từ đó giúp người thực hiện đề tài thiết lập các mục tiêu cụ thể.

Chương 2: Thiết kế hệ thống sẽ trình bày chi tiết quá trình thiết kế và xây dựng phần cứng của đồ án, bao gồm sơ đồ khối, sơ đồ nguyên lý, mạch in và mạch thi công Bên cạnh đó, chương này cũng sẽ đề cập đến thiết kế và xây dựng phần mềm, với các nội dung như giao diện điều khiển trên máy tính, lưu đồ và giải thuật chương trình.

 Chương 3: Kết quả thi công - trình bày những kết quả đạt được sau quá trình thực hiện đồ án, so sánh với mục tiêu đặt ra.

 Chương 4: Kết luận và hướng phát triển - trình bày những yêu cầu đạt được và hướng phát triển của đề tài trong tương lai.

Tóm Tắt Đề Tài

2.1 BÀI TOÁN THIẾT KẾ Để đảm bảo tính an toàn cho các thiết bị điện gia dụng, tiết kiệm chi phí sử dụng, phòng ngừa cháy nổ do chập điện gây ra, chúng ta cần có một cách thức để điều khiển các thiết bị điện từ xa giúp kiểm soát các thiết bị điện trong nhà hoặc các dây chuyền sản xuất, các robot hoạt động trong những môi trường nguy hiểm một cách dễ dàng mà không bị giới hạn về khoảng cách địa lý.

Từ các lý do trên, nhóm đặt ra một số yêu cầu để thực hiện nhƣ sau:

- Thiết kế và thực hiện board mạch để điều khiển, giám sát thiết bị điện trong nhà có

5 ngõ ra với tổng chịu tải đến 10A-220VAC

- Thiết kế và lập trình ứng dụng điều khiển, giám sát thiết bị điện chạy trên điện thoại Android.

- Điều khiển và giám sát thiết bị qua mạng wifi.

2.2.1 SƠ ĐỒ KHỐI PHẦN CỨNG

THIẾT KẾ HỆ THỐNG

BÀI TOÁN THIẾT KẾ

Để đảm bảo an toàn cho thiết bị điện gia dụng và tiết kiệm chi phí, việc điều khiển thiết bị điện từ xa là cần thiết Điều này không chỉ giúp kiểm soát các thiết bị trong nhà mà còn hỗ trợ trong sản xuất và cho phép robot hoạt động trong môi trường nguy hiểm mà không bị giới hạn về khoảng cách.

Từ các lý do trên, nhóm đặt ra một số yêu cầu để thực hiện nhƣ sau:

- Thiết kế và thực hiện board mạch để điều khiển, giám sát thiết bị điện trong nhà có

5 ngõ ra với tổng chịu tải đến 10A-220VAC

- Thiết kế và lập trình ứng dụng điều khiển, giám sát thiết bị điện chạy trên điện thoại Android.

- Điều khiển và giám sát thiết bị qua mạng wifi.

THIẾT KẾ PHẦN CỨNG

2.2.1 SƠ ĐỒ KHỐI PHẦN CỨNG

GOOGLE SPREADSHEET ỨNG DỤNG ANDROID

VI ĐIỀU KHIỂN ĐIỀU KHIỂN TẢI

Hình 2.1: Sơ đồkhối của hê c̣thống.

Chƣ́c Năng Tƣƣ̀ng Khối:

Khối Module wifi cho phép ứng dụng trên điện thoại Android gửi tín hiệu điều khiển đến module wifi, sau đó module này nhận tín hiệu và truyền vào vi điều khiển để xử lý Kết quả điều khiển sẽ được gửi lại cho ứng dụng trên Android để theo dõi Ngoài ra, khối cũng có khả năng gửi dữ liệu điều khiển lên Google Spreadsheets để giám sát hiệu quả.

Dữ liệu điều khiển cùng với thời gian bật tắt sẽ được gửi lên Google Spreadsheets để tổng hợp và lưu trữ, giúp giám sát và theo dõi hệ thống hiệu quả.

Khối vi điều khiển khởi động module wifi, xử lý dữ liệu điều khiển từ module này và gửi thông tin lên Google Spreadsheet qua internet Ngoài ra, nó cũng thực hiện việc điều khiển đóng ngắt tải một cách hiệu quả.

Khối điều khiển tải hiển thị tải đang được điều khiển thông qua đèn LED và nút nhấn, giúp báo hiệu và điều khiển tay Nó sử dụng opto MOC3020 để cách ly giữa điện xoay chiều và điện một chiều.

Khối nguồn đóng vai trò quan trọng trong việc cung cấp nguồn điện cần thiết để toàn bộ hệ thống hoạt động ổn định và chính xác Nó cung cấp nguồn cho các khối khác với hai mức điện áp DC là 5V và 3.3V, tùy thuộc vào điện áp đầu vào của từng khối.

2.2.2 THIẾT KẾ CHI TIẾT PHẦN CỨNG

Chức năng chính của vi điều khiển là:

Khởi động và nhận dữ liệu từ module wifi qua cổng UART, vi điều khiển sẽ xử lý dữ liệu và sử dụng tập lệnh AT để gửi lệnh điều khiển cho module wifi Qua đó, dữ liệu sẽ được gửi đến điện thoại hoặc lưu trữ trên Google Spreadsheets.

- Điều khiển tải và led hiển thị để báo hiệu hoạt động.

- Theo dõi và giám sát hoạt động trên tải và gửi các hoạt động này lên google spreadsheets.

PIC18F4550 là vi điều khiển 8-bits đa chức năng với 32KB bộ nhớ chương trình, 2KB SRAM và 256 byte EEPROM để lưu trữ dữ liệu khi mất điện Nó có 35 chân I/O, 2 Timer 8 bit, 2 Timer 16 bit và hỗ trợ Interrupt, hoạt động trong dải điện áp 1.8-5.5V Vi điều khiển này còn cung cấp cổng giao tiếp nối tiếp UART, cho phép truyền nhận dữ liệu với nhiều tốc độ baud khác nhau, như 4800bps và 9600bps Trong đề tài này, vi điều khiển được sử dụng để truyền nhận dữ liệu với module wifi ở tốc độ baud 9600bps.

PIC 18F4550 là một vi điều khiển có giá thành hợp lý và dễ dàng tìm kiếm, phù hợp với yêu cầu của nhóm Do đó, nhóm quyết định lựa chọn PIC 18F4550 cho các ứng dụng của mình.

Hình 2.2: Vi điều khiển PIC18F4550

The ESP8266 module is a simple WiFi transmission and reception module based on the ESP8266 SoC chip from Espressif, featuring several connection pins It comprises eight pins: a 3.3V power pin, a RESET pin, a GND pin, a CH_PD pin, two UART communication pins (TX and RX), and two additional pins (IO0 and IO2).

Với chi phí thấp và khả năng hoạt động ổn định, module wifi ESP8266 có thể kết nối với mạng wifi hiện có hoặc tự tạo mạng wifi riêng cho tối đa 5 kết nối Điều này khiến ESP8266 trở thành lựa chọn lý tưởng cho các ứng dụng trong lĩnh vực Internet of Things (IoT), vì vậy nhóm đã quyết định sử dụng module này để truyền nhận dữ liệu không dây.

Hình 2.3: Mặt trên module ESP8266

Để module ESP8266 hoạt động và giao tiếp với PIC, cần cấp nguồn 3.3 V vào chân nguồn và nối GND chung với mass của PIC Chân RESET được kết nối với một chân ngõ ra của PIC để khởi động, tắt hoặc reset module Ngoài ra, chân TX và RX của module cũng cần được kết nối lần lượt với chân RX và TX của PIC (chân C6 và C7).

MOC3020 là một triac điều khiển cách ly quang học, bao gồm diode phát quang hồng ngoại và một bán dẫn chuyển đổi song song, hoạt động như một triac Thiết bị này được sử dụng để điều khiển triac khác, nhằm điều chỉnh điện trở và cuộn cảm trong mạch 240VAC MOC3020 đóng vai trò quan trọng trong việc cách ly các thành phần điện xoay chiều và một chiều trong mạch điện.

Triac BTA12 là một linh kiện bán dẫn ba cực năm lớp, hoạt động như hai Thyristor mắc song song ngược chiều, cho phép dẫn điện theo cả hai chiều Mạch điều khiển tải xoay chiều 220V với dòng cung cấp lên đến 10A sử dụng BTA12 là lựa chọn hợp lý, vì linh kiện này có khả năng chịu dòng lên đến 12A.

Mạch khối nguồn cung cấp điện áp 5V với dòng tối đa 1A sử dụng module nguồn IC TNY255, cho phép đầu vào từ 2.5V đến 26V và có thể điều chỉnh điện áp ra qua diode Zener Mạch này hỗ trợ tải lên đến 2A và công suất tối đa 10W Điện áp ra đã được lọc phù hợp cho vi điều khiển, với khả năng lọc nhiễu từ nguồn flyback Để giảm điện áp từ 5V xuống 3.3V cho module ESP8266, ta sử dụng IC LM317, có khả năng chịu dòng lên đến 1.5A.

Bảng 2.1: Dòng tiêu thụ lớn nhất của toàn hệ thống

Nhóm đã sử dụng module nguồn với biến áp xung có ngõ ra 5V-700mA để cung cấp điện cho hệ thống, đáp ứng tổng dòng tiêu thụ khoảng 600mA Đồng thời, IC ổn áp LM317 được sử dụng để chuyển đổi điện áp xuống 3.3V, phục vụ cho module wifi.

Hình 2.7: Sơ đồ nguyên lý khối nguồn

2.2.3 SƠ ĐỒ NGUYÊN LÝ MẠCH ĐIỀU KHIỂN

Hình 2.9: Sơ đồ nguyên lý mạch điều khiể n

Hình 2.10: Sơ đồ nguyên lý khối điều khiển tải

THIẾT KẾ PHẦN MỀM TRÊN ĐIỆN THOẠI ANDROID

2.3.1 LẬP TRÌNH MẠNG TRONG ANDROID

Do ứng dụng dùng để điều khiển thiêt bị qua mạng wifi nội bộ nên cần có liên kết mạng.

Lập trình mạng trong android đƣợc hỗ trợ trực tiếp bởi lớp java.net của ngôn ngữ java.

Trong đó có hai lớp cơ bản sau để xây dựng lên một ứng dụng mạng sử dụng Socket.

Lớp InetAddress là một thành phần quan trọng trong ứng dụng mạng, được sử dụng để biểu diễn địa chỉ IP Lớp này thường được áp dụng trong hầu hết các lớp mạng, bao gồm cả Socket.

- Nó bao gồm hai trường thông tin :

+ hostName (một đối tƣợng kiểu String)

+ address (một số kiểu int).

Các trường này không phải là trường public, vì thế ta không thể truy xuất chúng trực tiếp.

- Mô tả mô hình khai báo đối tƣợng InetAddress : public class InetAddress { private String hostName; private int address; public String getHostName() { return hostName;

 Phương Thức và Thuộc Tính

- Lớp InetAddress không có các hàm khởi tạo (constructor) Tuy nhiên, có ba phương thức tĩnh trả về các đối tƣợng thuộc kiểu InetAddress :

• public static InetAddress InetAddress.getByName(String hostname)

Phương thức này cho phép kết nối đến một máy chủ cụ thể thông qua một chuỗi ký tự, có thể là tên máy, địa chỉ IP hoặc địa chỉ của một trang web.

• public static InetAddress[ ] InetAddress.getAllByName(String hostname) kết quả trả về là 1 mảng đối tƣợng thuộc kiểu InetAddress

• public static InetAddress InetAddress.getLocalHost()

Phương thức này được sử dụng để đọc thông tin của máy cục bộ đang làm việc.

- Một số phương thức khác : public String getHostName() :

Phương thức này trả về một chuỗi biểu diễn hostname của một đối tượng InetAddress.

Nếu máy không có hostname, thì nó sẽ trả về địa chỉ IP của máy này dưới dạng một xâu ký tự. public byte[ ] getAddress() :

Nếu bạn muốn biết địa chỉ IP của một máy, phương thức getAddress() trả về một địa chỉ IP dưới dạng một mảng các byte.

Người dùng có thể dễ dàng điều khiển và theo dõi thiết bị thông qua ứng dụng trên điện thoại Android nhờ kết nối wifi Nhóm đã chọn sử dụng wifi vì tính tiện lợi và phổ biến hiện nay, đồng thời áp dụng giao thức UDP trong tiêu chuẩn TCP/IP để truyền tải dữ liệu điều khiển.

Hàm transfer(string s) đƣợc sử dụng để gửi dữ liệu qua giao thức UDP cho mạch điều khiển.

Trước đó ta cần import các thư viện của java để khởi tạo việc nhập xuất dữ liệu và kết nối mạng. import java.io.*; import java.net.*;

Khởi tạo các biến để nhận và gửi dữ liệu: byte[] b=(s.getBytes()); byte[] a= new byte[1024];

Khởi tạo server để chờ dữ liệu: server = new DatagramSocket();

Gửi dữ liệu điều khiển: try{ send = new DatagramPacket(b,b.length, ip, udpport); server.send(send); server.setSoTimeout(50); while(receive.getData()==null) { receive = new DatagramPacket(a, a.length); server.receive(receive);

Gán dữ liệu nhận vào biến để hiển thị lên giao diện điều khiển: modifiedSentence = new String(receive.getData()); incomming.setText(modifiedSentence); Đóng server: server.close();

2.3.2 GIAO DIỆN ĐIỀU KHIỂN TRÊN ANDROID

Yêu cầu thiết kế bao gồm 5 tải với tổng chịu tải lên đến 10A, do đó nhóm thiết kế đã tạo ra một giao diện trực quan nhằm giúp người dùng dễ dàng điều khiển và theo dõi thiết bị một cách nhanh chóng.

Các thông báo và cảnh bảo đều được thể hiện dưới dạng toast notification để người dùng dễ nhìn thấy.

Người dùng sẽ sử dụng tài khoản google cá nhân để xem các số liệu điều khiển cũng nhƣ các biểu đồ, bảng tính giám sát thiết bị.

Hình 2.11: phác thảo giao diện trên điện thoại Android

Hình 2.12: Lưu đồ giải thuật Sau đây là phần lập trình chức năng của một nút nhấn của app trên điện thoại Android. bt1.setOnClickListener(new View.OnClickListener()

{ @Override public void onClick(View v) { dk1 = !dk1;

Sau khi nhấn nút, ứng dụng sẽ gửi ký tự điều khiển đến từng ổ cắm khác nhau và thay đổi màu nền nút nhấn để hiển thị trạng thái bật tắt của ổ cắm Tiếp theo, chương trình con sẽ được gọi để kết nối mạng và gửi ký tự điều khiển đến vi xử lý.

{ str = "A"; resID = getResources().getIdentifier("power_on1", "drawable", getPackageName()); bt1.setImageResource(resID); try { do { transfer(str);

Sau khi gửi thành công, ứng dụng sẽ hiển thị một thanh thông báo ở cuối màn hình để thông báo cho người dùng về hoạt động vừa được thực hiện.

Toast.makeText(MainActivity.this, "ON 1",

} else { str = "a"; resID = getResources().getIdentifier("power_off1",

"drawable", getPackageName()); bt1.setImageResource(resID); try { transfer(str);

Toast.makeText(MainActivity.this, "OFF 1",

THIẾT KẾ PHẦN MỀM VI ĐIỀU KHIỂN

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

Vi xử lý cần phải khởi động và kết nối với module wifi để gửi nhận dữ liệu thông qua chương trình con configuration_esp()

Sau khi khởi động và kết nối thành công, vi xử lý gửi lệnh AT để kiểm tra hoạt động của module Nếu không thành công, vi xử lý sẽ sử dụng một số baudrate chuẩn và đưa về baudrate mặc định 9600bps Đồng thời, vi xử lý cũng điều khiển module mở các chức năng cần thiết cho việc điều khiển và theo dõi thiết bị.

Sau khi kết nối thành công với module, vi xử lý sẽ nhận lệnh điều khiển từ ứng dụng Android qua module wifi hoặc từ nút nhấn trên thiết bị.

Khi nhận lệnh, vi xử lý sẽ thực hiện các yêu cầu điều khiển thiết bị, sau đó gửi phản hồi về ứng dụng trên Android và cập nhật dữ liệu lên Google Spreadsheets để theo dõi và tổng hợp.

2.4.2 GIẢI THÍCH CHƯƠNG TRÌNH CON

Chương trình khởi động ESP8266

Chương trình reset module khi khởi động và gửi lệnh AT để kiểm tra phản hồi của module Nếu phản hồi không đúng, vi xử lý sẽ thay đổi baudrate để gửi lệnh Cuối cùng, baudrate sẽ được thiết lập lại về 9600bps để đảm bảo hoạt động ổn định.

LCD_cmd(1); lcd_out(1,1,"Connecting to ESP");

LCD_cmd(1);lcd_out(1,1,"Resetting ESP"); wait_1sec();

LCD_cmd(1);lcd_out(1,1,"Sending

AT"); esp8266_Send(AT); new_line(); wait_1sec()

; if (Get_response() == ESP_OK) break; if(att>3) { att=0; uart1_init(115200);

To set up the baud rate for a new ESP module, use the command `LCD_cmd(1); lcd_out(1,1,"Setting up baudrate"); lcd_out(2,1,"for new ESP module");` followed by a delay of 500 milliseconds Implement a loop that attempts to send the `AT_CIOBAUD` command three times, waiting one second between attempts If a successful response is received (`Get_response() == ESP_OK`), initialize the UART with a baud rate of 9600 and exit the loop.

} else LCD_cmd(1);lcd_out(1,1,"Baudrate Fail!");

Vi xử lý gửi lệnh tắt echo cho module để dễ dàng cho việc ra lệnh while(1)

{LCD_cmd(1);lcd_out(1,1,"Sending ATE0"); esp8266_Send(ATE0); // Disable command echo new_line(); wait_1sec(); if (Get_response() == ESP_OK) break;

Vi xử lý gửi lệnh chuyển mode 3 để vừa kết nối đến router nội bộ vừa tự phát ra mạng wifi để điều khiển. do

{ LCD_cmd(1);lcd_out(1,1,"Sending

AT+CWMODE=3"); esp8266_Send(AT_CWMODE); new_line(); wait_1sec();

} while(Get_response() != ESP_OK);

Vi xử lý gửi lệnh cho phép chức năng đa kết nối để nhiều user có thể điều khiển 1 thiết bị cũng nhƣ theo dõi. while(1)

{ LCD_cmd(1);lcd_out(1,1,"Sending

AT+CIPMUX=1"); esp8266_Send(AT_CIPMUX); new_line(); wait_1sec(); if (Get_response() == ESP_OK) break; }

Vi xử lý gửi lệnh kết nối với mạng Wi-Fi nội bộ để truy cập Internet và nhận lệnh điều khiển qua mạng nội bộ.

LCD_cmd(1);lcd_out(1,1,"Sending AT+CWJAP"); esp8266_Send(AT_CWJAP);

UART_Write('"'); esp8266_Send_Ram(SSID_STA);

UART_Write('"'); esp8266_Send_Ram(password_STA);

UART_Write('"'); new_line(); wait_3sec(); att++; if(att>2)

} while(Get_Response() != ESP_OK);

Vi xử lý gửi lệnh tạo mạng wifi của riêng module để điều khiển khi không có router để nối mạng internet. do {

LCD_cmd(1); lcd_out(1,1,"Sending AT+CWSAP"); esp8266_Send(AT_CWSAP);

UART_Write('"'); esp8266_Send_Ram(password_AP);

UART_Write(enc+ 48); new_line(); wait_3sec();

} while(Get_Response() != ESP_OK);

Vi xử lý gửi lệnh điều khiển để mở port phục việc gửi nhận dữ liệu điều khiển qua giao thức UDP. do {

LCD_cmd(1);lcd_out(1,1,"Sending AT+CIPSTART"); esp8266_Send(AT_CIPSTART);

UART_Write(ESP_ID+48); UART_Write(',');

UART_Write('"'); esp8266_Send_Ram("UDP");

UART_Write('"'); esp8266_Send_Ram(IP_address);

UART_Write(','); esp8266_Send_Ram(port);

UART_Write(','); esp8266_Send_Ram(port);

UART_Write('2'); new_line(); wait_3sec();

} while(Get_Response() != ESP_OK);

LCD_cmd(_LCD_CLEAR); lcd_out(1,1,"Connecting OK!"); lcd_out(2,1,"Starting control ");

TẠO BẢNG TÍNH GOOGLE

Để bắt đầu, bạn cần có một tài khoản Gmail Hãy truy cập Google để tạo tài khoản cho mình Sau khi có tài khoản, hãy vào trang docs.google.com/forms/ và đăng nhập để bắt đầu tạo một mẫu điền dữ liệu mới.

Chọn Dấu cộng ở cuối màn hình bên phải để tạo form mới.

Hình 2.14: Trang google drive Định dạng trang biểu mẫu theo kiểu sau:

Hình 2.15: Trang google biểu mẫu

Giao diện biểu mẫu để điền dữ liệu theo dõi:

Hình 2.16: Trang google biểu mẫu đã đƣợc định dạng

Chú ý đường dẫn url trong đó có biểu mẫu key, chúng sẽ được dùng trong chương trình, trong trường hợp này là

“1H_NVR4508Bg_jZeE2YHEvMn0XQOY0Da8fjzbIr7q1Wc”.

Entry của textbox đầu tiên

Hình 2.17: Thuộc tính của trang google biểu mẫu

Để thiết lập các thông số cho textbox, bạn cần nhấp vào ô văn bản, sau đó nhấn chuột phải và chọn "property" Hãy chú ý đến các thông số entry của các textbox, vì chúng sẽ được sử dụng trong lập trình để đưa dữ liệu lên Google Spreadsheet sau này.

KẾT QUẢ THI CÔNG

KẾT QUẢ

3.1.1 ỨNG DỤNG ĐIỆN THOẠI ANDROID

Hình chụp màn hình điện thoại sau khi hoàn thiện

Hình 3.1: Giao diện bắt đầu

Hình 3.2: giao diện kết nối

Hình 3.3: Giao diện App Android

 Bố Trí Linh Kiện Trên Board mạch điều khiển

Hình 3.4: Sơ đồ bố trí linh kiện trên board

Hình 3.5: Sơ đồ mạch in mặt dưới

 Board mạch điều khiển tải

Hình 3.6: Sơ đồ bố trí linh kiện trên board

Hình 3.7: Sơ đồ bố trí linh kiện mạch in mặt dưới

Hình 3.8: Mạch điều khiển và module ESP8266

Hình 3.9: Mặt trước bộ thiết bị

Hình 3.10: Phần cứng hoàn chỉnh

3.2.1 THỬ NGHIỆM ỨNG DỤNG TRÊN ANDROID

Cho phần mềm hoạt động một tuần, mỗi ngày điều khiển 5 lần, cài trên 2 thiết bị: phần mềm hoạt động ổn định, không bị lỗi tắt đột ngột.

Số lần kết nối thành công: 32

Sô lần kết nối không thành công: 3

Dữ liệu được tải lên có thể gặp lỗi do nhiễu tín hiệu và tốc độ phản hồi của vi xử lý chưa đủ nhanh để xử lý kịp thời.

Phần mềm chiếm dụng RAM: khoảng 2.7MB

Thời lƣợng pin: khoảng 4% pin mỗi ngày.

Khi thay đổi màn hình: không có sự dịch chuyển biểu tƣợng

Tính thương mại: khả thi nhưng cần cải thiện thêm cho đẹp mắt và tiện dụng.

Bảo mật: sử dụng tài khoản google để đồng bộ nên khả năng bảo mật khá tốt.

 Hoạt động tốt khi nhấn 25 lần/ ngày

 Thời gian đáp ứng: ngay lập tức.

 Khi gắn tải: tỏa nhiệt xảy ra chủ yếu trên triac BTA12, cần phải gắn thêm tản nhiệt để tránh hiện tƣợng quá nhiệt.

Trong môi trường nhiễu, thiết bị hoạt động ổn định mà không bị ảnh hưởng bởi các sản phẩm khác Mặc dù có thể bị nhiễu bởi lò vi sóng, hiện tượng này hiếm khi xảy ra Sản phẩm được thiết kế đặc biệt để sử dụng trong nhà, do đó không phù hợp để lắp đặt ngoài trời.

Dòng điện tổng được tính toán vào khoảng 10A, đã được ngắt bởi một cầu chì bên trong Khi hoạt động, ngõ vào/ra và dòng không tải/có tải không gặp hiện tượng treo.

 Kích thước: phù hợp cho việc tản nhiệt, tuy nhiên có thể cải tiến thêm để nhỏ gọn hơn.

Ngày đăng: 22/12/2021, 06:00

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Sơ đồkhối của hê c̣thống. - (Đồ án tốt nghiệp) điều khiển thiết bị điện qua wifi trên điện thoại android
Hình 2.1 Sơ đồkhối của hê c̣thống (Trang 18)
Hình 2.2: Vi điều khiển PIC18F4550 - (Đồ án tốt nghiệp) điều khiển thiết bị điện qua wifi trên điện thoại android
Hình 2.2 Vi điều khiển PIC18F4550 (Trang 21)
Hình 2.3: Mặt trên module ESP8266 - (Đồ án tốt nghiệp) điều khiển thiết bị điện qua wifi trên điện thoại android
Hình 2.3 Mặt trên module ESP8266 (Trang 21)
Hình 2.4: Mặt dưới module ESP8266 - (Đồ án tốt nghiệp) điều khiển thiết bị điện qua wifi trên điện thoại android
Hình 2.4 Mặt dưới module ESP8266 (Trang 22)
Bảng 2.1: Dòng tiêu thụ lớn nhất của toàn hệ thống - (Đồ án tốt nghiệp) điều khiển thiết bị điện qua wifi trên điện thoại android
Bảng 2.1 Dòng tiêu thụ lớn nhất của toàn hệ thống (Trang 24)
Hình 2.6: triac BTA12 - (Đồ án tốt nghiệp) điều khiển thiết bị điện qua wifi trên điện thoại android
Hình 2.6 triac BTA12 (Trang 24)
Hình 2.7: Sơ đồ nguyên lý khối nguồn - (Đồ án tốt nghiệp) điều khiển thiết bị điện qua wifi trên điện thoại android
Hình 2.7 Sơ đồ nguyên lý khối nguồn (Trang 25)
Hình 2.8: Module nguồn - (Đồ án tốt nghiệp) điều khiển thiết bị điện qua wifi trên điện thoại android
Hình 2.8 Module nguồn (Trang 25)
Hình 2.9: Sơ đồ nguyên lý mạch điều khiể n - (Đồ án tốt nghiệp) điều khiển thiết bị điện qua wifi trên điện thoại android
Hình 2.9 Sơ đồ nguyên lý mạch điều khiể n (Trang 26)
Hình 2.10: Sơ đồ nguyên lý khối điều khiển tải - (Đồ án tốt nghiệp) điều khiển thiết bị điện qua wifi trên điện thoại android
Hình 2.10 Sơ đồ nguyên lý khối điều khiển tải (Trang 27)
Hình 2.11: phác thảo giao diện trên điện thoại Android - (Đồ án tốt nghiệp) điều khiển thiết bị điện qua wifi trên điện thoại android
Hình 2.11 phác thảo giao diện trên điện thoại Android (Trang 32)
Hình 2.12: Lưu đồ giải thuật Sau đây là phần lập trình chức năng của một nút nhấn của app trên điện thoại Android. - (Đồ án tốt nghiệp) điều khiển thiết bị điện qua wifi trên điện thoại android
Hình 2.12 Lưu đồ giải thuật Sau đây là phần lập trình chức năng của một nút nhấn của app trên điện thoại Android (Trang 33)
Hình 2.13: Lưu đồ chương trình vi điều khiển - (Đồ án tốt nghiệp) điều khiển thiết bị điện qua wifi trên điện thoại android
Hình 2.13 Lưu đồ chương trình vi điều khiển (Trang 35)
Hình 2.15: Trang google biểu mẫu - (Đồ án tốt nghiệp) điều khiển thiết bị điện qua wifi trên điện thoại android
Hình 2.15 Trang google biểu mẫu (Trang 46)
Hình 2.14: Trang google drive Định dạng trang biểu mẫu theo kiểu sau: - (Đồ án tốt nghiệp) điều khiển thiết bị điện qua wifi trên điện thoại android
Hình 2.14 Trang google drive Định dạng trang biểu mẫu theo kiểu sau: (Trang 46)

TỪ KHÓA LIÊN QUAN

w