Tải bản đầy đủ (.docx) (24 trang)

Điều khiển thiết bị qua wifi (có code)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (316.92 KB, 24 trang )

ĐỒ ÁN 2
Trang 1/21

Điều Khiển Thiết Bị Qua Wifi

Điều Khiển Thiết Bị Qua Wifi


ĐỒ ÁN 2
Trang 2/21

MỤC LỤC

SƠ ĐỒ HÌNH ẢNH

Điều Khiển Thiết Bị Qua Wifi


ĐỒ ÁN 2
Trang 3/21

Điều Khiển Thiết Bị Qua Wifi


ĐỒ ÁN 2
Trang 4/21

Điều Khiển Thiết Bị Qua Wifi


ĐỒ ÁN 2


Trang 5/21

Điều Khiển Thiết Bị Qua Wifi


ĐỒ ÁN 2
Trang 6/21

1.1

ESP-8266:

ESP8266 là một mạch vi điều khiển có thể giúp chúng ta điều khiển các thiết bị
điện tử. Điều đặc biệt của nó, đó là sự kết hợp của module Wifi tích hợp sẵn bên
trong con vi điều khiển chính.

Hình 2.1: ESP-8266

















Wifi 802.11 b/g/n
Wi-Fi Direct (P2P), soft-AP
Tích hợp giao thức TCP / IP stack
Tích hợp TR chuyển đổi, balun, LNA, bộ khuếch đại quyền lực và phù hợp
với mạng
PLLs tích hợp, quản lý, DCXO và các đơn vị quản lý điện năng
+ Công suất đầu ra 19.5dBm ở chế độ 802.11b
Tích hợp công suất thấp 32-bit CPU có thể được sử dụng như là bộ vi xử lý
ứng dụng
SDIO 1.1 / 2.0, SPI, UART
STBC, MIMO 1 × 1, 2 × 1 MIMO
A-MPDU & A-MSDU tập hợp & 0.4ms khoảng bảo vệ
Thức dậy và truyền tải các gói dữ liệu trong <2ms
Chế độ chờ tiêu thụ điện năng <1.0mW (DTIM3)
ADC + GPIO0/2/4/5/12/13/14/15/16
Bộ nhớ flash: 32 KB (ATmega328) với 0.5KB dùng cho bootloader

Điều Khiển Thiết Bị Qua Wifi


ĐỒ ÁN 2
Trang 7/21



SRAM: 2 KB (ATmega328)




EEPROM: 1KB (ATmega328)

Nguyên lý hoạt động: do chúng ta lập trình các chân ta muốn nhận và xuất dữ liệu.

Hình 2.2: Sơ đồ nguyên lý ESP-8266

Điều Khiển Thiết Bị Qua Wifi


ĐỒ ÁN 2
Trang 8/21

1.2

APP ĐIỀU KHIỂN QUA WIFI:

Hình 2.3: Giao diện App Điều khiển quan wifi.
-

Dữ liệu khi bấm nút sẽ được chuyển qua một server trung gian và từ server
trung gian này sẽ chuyển dữ liệu xuống con ESP-8266 mà chúng ta đã lập
trình, cấu hình nhận tín hiệu từ app.

Điều Khiển Thiết Bị Qua Wifi


ĐỒ ÁN 2
Trang 9/21


1.3

GIAO DIỆN WEB:

Hình 2.4: Giao diện Web Điều khiển quan wifi.
-

Dữ liệu khi bấm nút sẽ được chuyển qua một server trung gian và từ server
trung gian này sẽ chuyển dữ liệu xuống con ESP-8266 mà chúng ta đã lập
trình, cấu hình nhận tín hiệu từ app.

Điều Khiển Thiết Bị Qua Wifi


ĐỒ ÁN 2
Trang 10/21

CHƯƠNG 2.
2.1
-

SƠ ĐỒ NGUYÊN LÝ

Nguyên lí hoạt động:

ESP-8266 sẽ nhận tín hiệu từ app hoặc web ta đã lập trình cấu hình vào để
điều khiển thiết bị.

-


Tín hiệu từ app hoặc web khi truyền đi sẽ được gửi qua một server trung
gian. Và seerver này sẽ gửi tín hiệu xuống cho ESP-8266 nhận biết.

-

App sẽ có các nút nhấn: bật thiết bị 1, bật thiết bị 2, tắt thiết bị 1, tắt thiết bị
2.

3.2 Mạch thực tế:

Điều Khiển Thiết Bị Qua Wifi


ĐỒ ÁN 2
Trang 11/21

CHƯƠNG 3.
3.1

KẾT LUẬN

Ưu điểm và khuyết điểm của mạch:
-

Ưu điểm: có thể điều khiển ở mọi nơi có Internet giúp tiết kiệm thời gian.
Mạch thiết kế nhỏ gọn, tiện lợi. Có thể điều khiển thiết bị bằng điện thoại

-


3.2

hay web trên máy tính. Đáp ứng cuộc sống hiện đại ngày nay.
Khuyết điểm: thiết bị cần có kết nối Internet.

Khả năng ứng dụng của đề tài:

Điều Khiển Thiết Bị Qua Wifi


ĐỒ ÁN 2
Trang 12/21

-

Mạch là công nghệ mới nhất trong những năm gần đây, với nhiều tiện ích và
ứng dụng cao. Là một trong những nhu cầu thiết yếu và cần có trong cuộc
cách mạng 4.0. Hiện nay mọi nơi đều có kết nối Internet nên đây là mạch có
tính ứng dụng cao trong thực tế.

TÀI LIỆU THAM KHẢO

Tiếng Việt:
[1]

/>
[2]

tube.
com/watch?v=m2TpZEHWvM&t=1s


[3]

/>ml/default.html

[4]

/>u-khien-va-giam-sat-quadien-thoai-voi-esp8266-vablynk/

[5]

http://hoclaptrinhweb.
org/lap-trinh/hoc-html/215gioi-thieu-ve-html.html

Tiếng Anh:
[1] />[2] />
Điều Khiển Thiết Bị Qua Wifi


ĐỒ ÁN 2
Trang 13/21

PHỤ LỤC
Code nạp vào ESP:
[6]

#include
<ESP8266WiFi.h>

[7]

[8]

// Thong so WiFi

[9]

const char* ssid =
"ADLDD-Samsung";

[10]

const char* password

= "1234567899";
[11]
[12]

// Tao server

[13]

WiFiServer

server(80);
[14]
[15]

Điều Khiển Thiết Bị Qua Wifi

// Pin



ĐỒ ÁN 2
Trang 14/21

[16]

int output_pin = 5;

[17]

boolean led_status;

[18]

void setup() {

[19]
[20]

// Khoi dong Serial

[21]
Serial.begin(115200);
[22]

delay(10);

[23]
[24]


// Khai bao GPIO5

[25]
pinMode(output_pin,
OUTPUT);
[26]
digitalWrite(output_pin, 0);
[27]
[28]

// Ket noi toi mang

WiFi
[29]

Serial.println();

[30]

Serial.println();

[31]

Serial.print("Dang

ket noi toi mang ");
[32]

Serial.println(ssid);


[33]
[34]

WiFi.begin(ssid,

password);
[35]

Điều Khiển Thiết Bị Qua Wifi


ĐỒ ÁN 2
Trang 15/21

[36]

while

(WiFi.status() !=
WL_CONNECTED) {
[37]

delay(500);

[38]

Serial.print(".");

[39]


}

[40]

Serial.println("");

[41]

Serial.println("Da

ket noi WiFi");
[42]
[43]

// Khoi dong server

[44]

server.begin();

[45]

Serial.println("Khoi

dong Server");
[46]
[47]

// In dia chi IP


[48]
Serial.println(WiFi.localIP()
);
[49]

}

[50]
[51]

void loop() {

[52]
[53]

// Kiem tra neu co

client ket noi
[54]

WiFiClient client =

server.available();
[55]
[56]

Điều Khiển Thiết Bị Qua Wifi

if (!client) {

return;


ĐỒ ÁN 2
Trang 16/21

[57]

}

[58]
[59]

// Doi client gui data

[60]

Serial.println("Co

client moi");
[61]

while(!

client.available()){
[62]
[63]

delay(1);
}


[64]
[65]

// Doc yeu cau tu

client
[66]

String req =

client.readStringUntil('\r');
[67]

Serial.println(req);

[68]

client.flush();

[69]
[70]

// Kiem tra yeu cau

la gi
[71]

if


(req.indexOf("/on") != -1){
[72]
digitalWrite(output_pin, 1);
[73]

led_status = true;

[74]

}

[75]

else if

(req.indexOf("/off") != -1) {
[76]
digitalWrite(output_pin, 0);

Điều Khiển Thiết Bị Qua Wifi


ĐỒ ÁN 2
Trang 17/21

[77]
[78]

led_status = false;
}


[79]
[80]

client.flush();

[81]
[82]

// Chuan bi thong tin

phan hoi
[83]

String s =

"HTTP/1.1 200
OK\r\nContent-Type:
text/html\r\n\r\n";
[84]

s += "<head>";

[85]

s += "
name=\"viewport\"
content=\"width=devicewidth, initial-scale=1\">";
[86]


s += "
charset=\"utf-8\"/>";
[87]

s += "
src=\"
m/jquery2.1.3.min.js\"></script>";
[88]

s += "
rel=\"stylesheet\"
href=\"tst
rapcdn.com/bootstrap/3.3.4/
css/bootstrap.min.css\">";
[89]

Điều Khiển Thiết Bị Qua Wifi

s += "</head>";


ĐỒ ÁN 2
Trang 18/21

[90]


s += "
class=\"container\">";
[91]

s += "

ĐIỀU

KHIỂN THIẾT BỊ TỪ
XA

";
[92]

s += "
class=\"row\">";
[93]

s += "
class=\"col-md-2\">class=\"btn btn-block btn-lg
btn-primary\"
type=\"button\"
value=\"ON\"
onclick=\"on()\"></div>";
[94]

s += "
class=\"col-md-2\">class=\"btn btn-block btn-lg

btn-danger\" type=\"button\"
value=\"OFF\"
onclick=\"off()\"></div>";
[95]

s +=

"<label>TRẠNG THÁI
THIẾT BỊ: </label>";
[96]

s += "
";

[97]

if(led_status) {

[98]

s += "<textarea>ĐÃ

BẬT </textarea>";

Điều Khiển Thiết Bị Qua Wifi

[99]

}

[100]


else


ĐỒ ÁN 2
Trang 19/21

[101]

{

[102]

s += "<textarea>ĐÃ

TẮT</textarea>";
[103]
[104]

}
s +=

"</div></div>";
[105]

s +=

"<script>function on()
{$.get(\"/on\");}</script>";
[106]


s +=

"<script>function off()
{$.get(\"/off\");}</script>";
[107]
[108]

// Gui thong tin cho

client
[109]

client.print(s);

[110]

delay(1);

[111]

Serial.println("Da

gui xong");
[112]
}

Điều Khiển Thiết Bị Qua Wifi



ĐỒ ÁN 2
Trang 20/21

Điều Khiển Thiết Bị Qua Wifi


ĐỒ ÁN 2
Trang 21/21

Điều Khiển Thiết Bị Qua Wifi


ĐỒ ÁN 2
Trang 22/21

Điều Khiển Thiết Bị Qua Wifi


ĐỒ ÁN 2
Trang 23/21

Điều Khiển Thiết Bị Qua Wifi


ĐỒ ÁN 2
Trang 24/21

Điều Khiển Thiết Bị Qua Wifi




×