1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Xay dung he thong den thong minh

74 615 1

Đ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 74
Dung lượng 6,37 MB
File đính kèm Thiet Ke He Thong Den Thong Minh.rar (27 MB)

Nội dung

Đây là một trong những đồ án rất hay về ứng dụng IoT(internet of thing) vào trong thực tế để phát triển ngôi nhà thông minh. Ứng dụng này được sử dụng phổ biến trong Smart Home. Dữ liệu thu nhận được báo về bằng Smartphone và một web server cho người dùng biết về tình hình của đèn cũng như các thiết bị khác trong nhà để người dùng kịp thời điều chỉnh. Mình đã đính kèm full code, các bạn hoàn toàn có thể tham khảo và phát triển thêm.

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH

KHOA ĐIỆN ĐIỆN TỬ

BỘ MÔN KỸ THUẬT MÁY TÍNH -VIỄN THÔNG

ĐỒ ÁN TỐT NGHIỆP

XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN

ĐÈN BẰNG ĐIỆN THOẠINGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG

Sinh viên: ĐẶNG VĂN THUẬN

MSSV: 12141223

NGUYỄN ĐỨC THỊNH

MSSV: 12141665 Hướng dẫn : ThS NGUYỄN VĂN PHÚC

TP HỒ CHÍ MINH – 2/2017

LỜI CẢM ƠN

Lời đầu tiên, chúng tôi muốn gửi lời cảm ơn chân thành đến giáo viên hướng dẫn, Ths Nguyễn Văn Phúc trong thời gian qua đã hướng dẫn và giúp đỡ chúng tôi trong quá trình thực hiện luận văn tốt nghiệp Những lời nhận xét, góp ý và hướng dẫn của thầy đã giúp chúng tôi có một định hướng đúng trong quá trình thực hiện đề

Trang 2

tài, giúp chúng tôi thấy được những ưu, khuyết điểm của đề tài và từng bước khắc phục để ngày một hoàn thiện hơn.

Đồng thời chúng tôi cũng không quên gửi lời cảm ơn sâu sắc đến gia đình và bạn

bè đã động viên, cổ vũ tinh thần trong suốt quá trình học tập và trong quá trình làm luận văn tốt nghiệp

Bên cạnh đó, chúng tôi muốn nói lời cảm ơn đến những giáo viên, giảng viên đã đứng trên bục giảng truyền đạt kinh nghiệm, kiến thức trong suốt những năm học đã qua

Một lần nữa, chúng tôi xin gửi lời cảm ơn đến ba mẹ, thầy cô và bạn bè, những người luôn ở bên cạnh, giúp đỡ và cho phép chúng tôi có thời gian để hoàn thành luận văn này

Tp Hồ Chí Minh, tháng 2 năm 2017

Nhóm sinh viên thực hiện

Đặng Văn Thuận - Nguyễn Đức Thịnh

Trang 3

TÓM TẮT

Trong cuộc sống hiện nay, việc các thiết bị chiếu sáng trong nhà như bóng đèn sợi đốt, đèn Neon, đèn ngủ, đèn trang trí … được sử dụng rất nhiều Không chỉ riêng hệ thống nhà thông minh mà cả những đối tượng nhà ở thông thường khác thì việc sở hữu một hệ thống chiếu sáng thông minh cũng đang rất được quan tâm do tính thiết yếu, gần gũi và thông dụng của nó Bên cạnh đó việc tiết kiệm thời gian để làm được nhiều công việc hơn trong ngày lại là điều đáng quan tâm Vì vậy, việc

“Xây dựng hệ thống điều khiển đèn thông minh” là việc rất cần thiết

Hệ thống gồm hai bộ điều khiển đèn có chức năng điều khiển bật tắt đèn và thiết bị hai phòng trong một căn nhà bằng một ứng dụng trên điện thoại hoặc có thể tương tác trực tiếp bằng nút nhấn trên hai bộ điều khiển Ứng dụng điện thoại dùng để thay đổi trạng thái điều khiển đèn lên web server, đồng thời web server cập nhật trạng thái điều khiển lưu vào

cơ sở dữ liệu Hệ thống còn có một khối điều khiển dùng để giao tiếp với web server để cập nhật dữ liệu và gửi dữ liệu đến hai bộ điều khiển bằng module thu phát RF Bên cạnh đó khối điều khiển này còn làm nhiệm vụ tiếp nhận phản hồi khi người dùng nhấn nút trên hai

bộ điều khiển, sau đó gửi trạng thái thay đổi của đèn lên web để ứng dụng trên điện thoại kịp thời cập nhật trạng thái mới

Mục tiêu của luận văn đặt ra đã được hoàn thành, khoảng cách truyền sóng RF mà

hệ thống của chúng tôi truyền đến khoảng 52m khi truyền trên một mặt phẳng và có khả năng xuyên tường khoảng 3 lầu, người dùng hoàn toàn có thể làm việc trong công ty mà vẫn có thể điều hệ thống ở nhà thông qua internet Bên cạnh đó chúng tôi còn tích lũy thêm được một số kinh nghiệm về lập trình web, lập trình arduino và lập trình android Chúng tôi

có cơ hội ứng dụng các kiến thức đã học vào thực tiễn để xây dựng một hệ thống “Internet

of Things” đơn giản

Trang 4

MỤC LỤC

Trang 5

DANH MỤC HÌNH

Trang 6

DANH MỤC BẢNG

Trang 7

CÁC TỪ VIẾT TẮT

RF Radio frequency

IoTs Internet of Things

LAN Local Area Network

WLAN WirelessLocal Area Network

HTTP Hypertext Transfer Protocol

GPIO General-Purpose Input/Output

UART Universal Asynchronous Receiver/Transmitter

WPA2 Wireless Protected Access II

IDE Integrated Development Environment

ADC Analog Digital Converter

DSSS Direct-Sequence Spread Spectrum

FHSS Frequency Hopping Spread Spectrum

OFDM Orthogonal Frequency-Division MultiplexingSSID Service Set Identifier

PHP Personal Home Page

URL Uniform Resource Locator

INC Incorporated

HTC High Tech Computer

PWM Pulse Width Modulation

I2C Inter-Integrated Circuit

SQL Structured Query Language

Trang 8

TLS Transport Layer Security

Trang 9

bộ hoá và giám sát, điều khiển thông qua mạng không dây.

Khi mà nhu cầu của con người được nâng cao, việc điều khiển một cách tự động và hệ thống hoá các thiết bị trong gia đình là sự ưu tiên hàng đầu Trên thế giới, IoTs đã là xu hướng phát triển mang tính quy luật và ngày càng phát triển và có mặt ở hầu hế mọi nơi, mọi lĩnh vực nơi mà nhu cầu của con người luôn đòi hỏi được đáp ứng và sự tiện nghi thuận lợi là thế mạnh Vì vậy, các thành phố lớn đã có sự đầu tư và phát triển rất nhanh các hệ thống công cộng hay cá nhân trong một hệ thống thành phố thông minh, xu hướng phát triển của Internet of Things đang bùng

nổ và phát triển rất nhanh trên toàn thế giới cụ thể là du lịch thông minh ở Barcelona, hệ thống giao thông thông minh ở Copenhagen, hệ thống lưới điện thông minh ở Helsinki, các trạm sạc xe điện thông minh tại Vienna…

Cùng với xu hướng phát triển của thế giới, Việt Nam trong thời gian gần đây cũng đã từng bước phát triển hệ thống IoTs tại các thành phố lớn, nổi bật là hệ thống nhà thông minh hoàn chỉnh điều khiển qua Điện thoại của Bkav và các thiết bị thông minh đang phát triển riêng lẻ ngoài thị trường Hệ thống nhà ở thông minh đang được ưu tiên và đầu tư phát triển rộng rãi Các hệ thống hiện đại này có khả năng

Trang 10

liên kết không dây giữa các thành phần với nhau theo một xu hướng mới là Internet

of Things

Internet of Things (IoT) là một xu hướng công nghệ mới mẻ, được nghiên

cứu và phát triển rầm rộ trong thời gian gần đây do sự phát triển nhanh chóng của mạng Internet cũng như công nghệ tích hợp, kết nối không dây…Với sự giúp đỡ của IoT, chúng ta có thể kết nối bất cứ điều gì, truy cập từ bất cứ nơi nào và bất cứ lúc nào, có khả năng truy cập vào bất kỳ dịch vụ và thông tin về đối tượng nào Hàng loạt những triển lãm công nghệ, hội thảo khoa học được tổ chức xoay quanh vấn đề quảng bá sản phẩm công nghệ IoT, hệ sinh thái khởi nghiệp IoT…Đây hứa hẹn sẽ là một cuộc cách mạng mới trong tương lai, đem đếm sự thay đổi mạnh mẽ trong nhiều lĩnh vực của cuộc sống

Một trong những yếu tố quan trọng và nền móng để hướng đến phát triển một ngôi nhà thông minh hiện nay là một hệ thống chiếu sáng thông minh Với việc các thiết bị chiếu sáng trong nhà hiện nay như bóng đèn sợi đốt, đèn Neon, đèn ngủ, đèn trang trí … được sử dụng rất nhiều Không chỉ riêng hệ thống nhà thông minh

mà cả những đối tượng nhà ở thông thường khác thì việc sở hữu một hệ thống chiếu sáng thông minh cũng đang rất được quan tâm do tính thiết yếu, gần gũi và thông dụng của nó Mặc dù việc xây dựng một hệ thống đèn thông minh là không quá khó khăn nhưng sự phát triển và tính thông dụng của nó trong cộng đồng xã hội vẫn còn khá mờ nhạt do những lo ngại về giá thành cũng như tính phức tạp trong quá trình thi công và lắp đặt

Để giải quyết những khó khăn trên, những hệ thống đèn thông minh gọn nhẹ,

dễ dàng lắp đặt với các tính năng nổi trội và chi phí hấp dẫn đang được nguyên cứu

và phát triển rộng rãi để thay thế Các thiết bị dễ dàng kết nối và điều khiển thông qua các kết nối không dây và cùng với sự phát triển nhanh chóng của các loai điện thoại thông minh khiến hệ thống trở nên tiện ích hơn và mỗi cá nhân sử dụng cũng

có khả năng truy cập cơ sở dữ liệu một cách dễ dàng

Trang 11

1.2 NGHIÊN CỨU ĐỀ TÀI LIÊN QUAN

Với những tiêu chí cơ bản của hệ thống IoTs, nhóm đã phân tích các đề tài có liên quan để phân tích những ưu, nhược điểm để rút kinh nghiệm và phát triển cho

• Ưu điểm: đơn giản, ứng dụng rộng rãi trong điều khiển

• Nhược điểm: phạm vi ngắn, tầm xa hoạt động khoảng 10m, Chỉ truyền thẳng mà không thể xuyên qua vật cản, Ảnh hưởng của nhiều nguồn nhiễu hồng ngoại như ánh sáng mặt trời, đèn huỳnh quang và bức xạ của con người

- Đề tài “Điều khiển thiết bị từ xa bằng sóng RF” [2]: Với loại điều khiển này,

nó cũng sử dụng nguyên lý tương tự như điều khiển bằng tia hồng ngoại nhưng thay vì gửi đi các tín hiệu ánh sáng, nó lại truyền sóng vô tuyến tương ứng với các lệnh nhị phân

• Ưu điểm: đơn giản, ứng dụng rộng rãi trong điều khiển khoảng cách

xa mà không bị gián đoạn

• Nhược điểm: số lượng, phạm vi điều khiển giới hạn, không điều khiển qua điện thoại được

- Đề tài “Đèn thông minh điều khiển bằng ứng dụng điện thoại thông qua kết nối không dây” [3]: đây là đề tài cũng có tính ứng dụng cao, nguyên lý điều khiển chủ yếu bằng Bluetooth thông qua 1 module Bluetooth

• Ưu điểm: đơn giản, có thể điều khiển đèn bằng 1 ứng dụng trên điện thoại android

• Nhược điểm: chỉ điều khiển được ở khoảng cách tối đa khoảng 10m, chỉ truyền thẳng mà không xuyên qua được vật cản

Trang 12

1.3 LÝ DO CHỌN ĐỀ TÀI

Các sản phẩm khoa học kỹ thuật dùng để điều khiển các thiết bị trong gia đình mỗi người dần dần xuất hiện giúp cho cuộc sống con người dần dần trở nên tiện nghi hơn, thoải mái hơn trong sinh hoạt, trong công việc Nhưng đa số lại được người dùng tương tác trực tiếp bằng tay lên thiết bị Chính gì điều đó nên người dùng phải tốn 1 lượng thời gian trong ngày cho các hoạt động tương tác bằng tay trực tiếp lên thiết bị thay gì dành thời gian cho các việc khác Đặc biệt đối với những người bận rộn, 1 ngày họ phải giải quyết rất nhiều công việc nên việc bật tắt các thiết bị trong gia đình trực tiếp bằng tay là 1 điều rất bất tiện đối với họ

Từ những nhược điểm trên, các hệ thống điều khiển thông minh hiện đại hơn đang được phát triển thay thế Các bộ điều khiển thông minh được làm ra gần giống với những thiết bị thông thường được gắn trong mỗi phòng để đáp ứng nhu cầu này Đồng thời cũng tiện nghi hơn khi người dùng có thể điều khiển từ xa và đặc biệt là giúp họ tiết kiệm được nhiều thời gian hơn bên gia đình cũng như là có thời gian hoàn tất nhiều việc hơn trong ngày

Hệ thống đèn thông minh là một trong các giải pháp mới xuất hiện trong

Internet of Things (IoT) Đây là 1 xu hướng mới trong công nghệ đem lại sự tiện lợi,

tiện nghi, thoải mái và đặc biệt là tiết kiệm thời gian nhiều cho người sử dụng Khi

ra khỏi nhà người sử dụng quên tắt thiết bị, họ vẫn có thể bật tắt được trong công ty

mà không cần phải tốn thời gian quay về nhà hay là để tiêu tốn năng lượng không cần thiết Đồng thời người sử dụng cũng yêu tâm hơn khi có sự cố xảy ra

Bắt kịp với xu hướng phát triển và đáp ứng nhu cầu của cộng đồng, chúng tôi

đã chọn đề tài “ Xây dựng hệ thống điều khiển đèn bằng điện thoại” để làm luận văn tốt nghiệp

1.4 NHIỆM VỤ CỦA ĐỀ TÀI

- Tìm hiểu các thiết bị sẽ sử dụng trong đề tài

- Tìm hiểu về lập trình android

- Lập trình cho arduino kết nối để điều khiển thiết bị

Trang 13

- Lập trình Nodemcu esp8266 để điều khiển và kết nối với internet.

- Xây dựng và lập trình cho một web server căn bản bằng ngôn ngữ php

Đề tài này chỉ điều khiển được hai phòng trong nhà bằng ứng dụng trên điện thoại android và bằng nút nhấn khi nhấn trực tiếp, mỗi phòng bao gồm một đèn thông minh và một thiết bị khác có sài ổ cắm Khoảng cách truyền sóng RF tối đa là 52m khi truyền trên cùng một mặt phẳng và chỉ có khả năng xuyên thấu ba tầng trong 1 căn nhà Bên cạnh đó, đề tài vẫn chưa có hệ thống giám sát

Nội dung quyển đồ án được thể hiện trong 5 chương:

Chương 1: Tổng quan

Trình bày tổng quan về tình hình nghiên cứu và mục tiêu nghiên cứu

Chương 2: Cơ sở lý thuyết

Tóm tắt các lý thuyết liên quan cũng như giới thiệu các linh kiện được sử dụng trong đề tài

Chương 3: Thiết kế hệ thống

Trình bày chi tiết cách thiết kế từng thành phần trong hệ thống gồm bộ điều khiển, khối điều khiển, ứng dụng Android, Web Server

Trang 14

Chương 4: Kết quả thực hiện

Quá trình thực hiện các thiết kế ở chương 3 sẽ được thể hiện kết quả cụ thể ở chương này bao gồm điều khiển trực tiếp bằng tay trên bộ điều khiển và điều khiển bằng một ứng dụng trên điện thoại android

Chương 5: Kết luận và hướng phát triển đề tài

Trình bày kết quả đạt được của vấn đề đã đặt ra từ ban đầu cũng như hướng phát triển cho đề tài trong tương lai

Trang 15

CHƯƠNG 2:

CƠ SỞ LÝ THUYẾT

2.1 GIỚI THIỆU VỀ WIFI

Wi-Fi là một công nghệ cho phép các thiết bị điện tử có thể kết nối với một mạng LAN không dây (WLAN), chủ yếu là sử dụng băng tần 2,4GHz và 5GHz Một WLAN thường có mật khẩu bảo vệ, cho phép bất kỳ thiết bị trong phạm

vi của nó có thể truy cập vào các nguồn tài nguyên của mạng WLAN

Thiết bị có thể sử dụng công nghệ Wi-Fi bao gồm máy tính cá nhân, máy chơi game, điện thoại thông minh, máy ảnh kỹ thuật số, máy tính bảng và máy nghe nhạc kỹ thuật số Thiết bị tương thích Wi-Fi có thể kết nối với Internet thông qua một mạng WLAN và một điểm truy cập không dây Một điểm truy cập như vậy (hotspot) có phạm vi khoảng 20 mét trong nhà và lớn hơn ở ngoài trời

Kết nối Wi-Fi kém an toàn hơn so với kết nối có dây như Ethernet vì không cần đến một kết nối vật lý Các trang web có sử dụng TLS thì an toàn, nhưng nếu truy cập Internet không được mã hóa có thể dễ dàng được phát hiện bởi những kẻ xâm nhập Do đó, Wi-Fi đã sinh ra các mã hóa công nghệ khác nhau Mã hóa đầu tiên là

WEP đã được chứng minh dễ dàng bị qua mặt Các giao thức chất lượng cao (WPA, WPA2) đã được sinh ra sau đó có chất lượng tốt hơn

Chuẩn 802.11 được định nghĩa thông qua các đặc tả của WLAN Nó định nghĩa các giao diện giữa các client và trạm phát hoặc giữa hai client với nhau

Có vài đặc tả trong họ 802.11 như sau:

• 802.11 - Cho phép truyền dẫn 1 hoặc 2 Mbps sử dụng tần số 2.4 GHz của trải phố nhảy tần (FHSS) hoặc trải phổ trực tiếp (DSSS)

Trang 16

• 802.11a - Là chuẩn mở rộng của 802.11 gắn với mạng LAN và có tốc độ cao đến 54 Mbps trong dải tần 5 GHz Chuẩn 802.11a triển khai dựa trên mã hóa trải phổ trực giao(OFDM).

• 802.11b - Là sự mở rộng tốc độ cao của chuẩn 802.11 cho tốc độ truyền dẫn đến 11 Mbps ở dải tần 2.4 GHz Đặc tả 802.11b sử dụng trải phổ trực tiếp (DSSS)

• 802.11g - Truyền dẫn tốc độ lên đến 54Mbps trong tần số 2.4 GHz sử dụng

mã hóa trải phổ trực giao (OFDM)

• 802.11n – Tốc độ truyền dẫn 72Mbps đối với băng tần 2.4GHz và 150Mbps đối với băng tần 5GHz Sử dụng điều chế MIMO-OFDM

Ngoài ra còn một số chuẩn không được đề cập ở đây là 802.11ac, 802.11ad

2.2 GIỚI THIỆU TỔNG QUAN VỀ LẬP TRÌNH WEB

2.2.1 Giới thiệu về HTML

HTML là viết tắt của từ “Hyper Text Markup Language”, ngôn ngữ đánh dấu siêu văn bản này chỉ rõ một trang Web sẽ được hiển thị như thế nào trong một trình duyệt HTML không phải là ngôn ngữ lập trình, đây là ngôn ngữ đánh dấu (markup language), bao gồm tập hợp của một nhóm các thẻ đánh dấu (các tag) để mô tả trang web Một tài liệu html tạo thành một mã nguồn của trang Web Khi được xem trên trình soạn thảo, tài liệu này là một chuỗi các thẻ và các phần tử, mà chúng xác định trang web hiển thị như thế nào Trình duyệt đọc các file có đuôi htm hay html và hiển thị trang web đó theo các lệnh có trong đó Tất cả các trang web dù xử lý phức tạp đến đâu đều phải trả về dưới dạng mã nguồn HTML để trình duyệt có thể hiểu và hiển thị lên được

Trang 17

Cấu trúc của một tài liệu HTML bao gồm 3 thành phần cơ bản:

• Phần html: Mọi tài liệu html phải bắt đầu bằng thẻ mở html <html> và kết thúc bằng thẻ đóng html </html> Thẻ html báo cho trình duyệt biết nội dung giữa hai thẻ này là một tài liệu html

• Phần tiêu đề: Phần tiêu đề bắt đầu bằng thẻ <head> và kết thúc bởi thẻ

</head> Phần này chứa tiêu đề mà được hiển thị trên thanh điều hướng của trang Web Tiêu đề nằm trong thẻ title, bắt đầu bằng thẻ <title> và kết thúc là thẻ </title> Tiêu đề là phần khá quan trọng Khi người dùng tìm kiếm thông tin, tiêu đề của trang Web cung cấp từ khóa chính yếu cho việc tìm kiếm

• Phần thân: phần này nằm sau phần tiêu đề Phần thân bao gồm văn bản, hình ảnh và các liên kết hiển thị trên trang web Phần thân bắt đầu bằng thẻ

<body> và kết thúc bằng thẻ </body>

HTML được tạo thành từ rất nhiều các thẻ khác nhau, các thẻ này ghép nối với nhau để tạo thành một trang web hoàn chỉnh Một trang web được thiết kế thường bao gồm các loại thẻ thông dụng: thẻ tiêu đề (heading) gồm 6 loại từ thẻ h1 đến h6, thẻ đoạn văn (paragraph) và các loại thẻ định dạng văn bản khác

Trong nội dung đề tài, nhóm thực hiện đã sử dụng kết hợp ngôn ngữ lập trình PHP và HTML để thiết kế Web server cho hệ thống

2.2.2 Giới thiệu về ngôn ngữ lập trình web php

Hiện nay có rất nhiều ngôn ngữ lập trình web, trong đó có thể kể đến các ngôn ngữ nổi tiếng như PHP, Perl, Ruby, Python, ASP.net… Các ngôn ngữ lập trình kể trên đều

có vị thế riêng trong lĩnh vực thiết kế web, nổi bật trong số đó, PHP là một ngôn ngữ lập trình mã nguồn mở, với cộng đồng hỗ trợ mạnh mẽ ở khắp mọi nơi trên thế giới Việc tìm hiểu ngôn ngữ lập trình này giúp tiết kiệm thời gian và chi phí một cách đáng

kể, kèm theo đó đây là ngôn ngữ lập trình web mạnh mẽ và thông dụng nhất hiện nay

Để bắt đầu với phần thiết kế web server, việc tìm hiểu sơ qua về ngôn ngữ lập trình được sử dụng là điều cần thiết, sau đây là một số thông tin về ngôn ngữ lập trình PHP:

Trang 18

• PHP là viết tắt hồi quy của "Hypertext Preprocessor", là một ngôn ngữ lập trình kịch bản được chạy ở phía server nhằm sinh ra mã html trên client PHP đã trải qua rất nhiều phiên bản và được tối ưu hóa cho các ứng dụng web, với cách viết mã rõ rãng, tốc độ nhanh, dễ học nên PHP đã trở thành một ngôn ngữ lập trình web rất phổ biến và được ưa chuộng.

• PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị cơ sở

dữ liệu nên PHP thường đi kèm với Apache, MySQL và hệ điều hành Linux (LAMP)

• Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từ trình duyệt người dùng sau đó chuyển giao cho PHP xử lý và gửi trả lại cho trình duyệt

• MySQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgress, Oracle, SQL server ) đóng vai trò là nơi lưu trữ và truy vấn dữ liệu

• Linux: Hệ điều hành mã nguồn mở được sử dụng rất rộng rãi cho các webserver Thông thường các phiên bản được sử dụng nhiều nhất là RedHat Enterprise Linux, Ubuntu

Trang 19

Khi người sử dụng gọi trang PHP, Web Server sẽ triệu gọi PHP Engine để thông dịch dịch trang PHP và trả kết quả cho người dùng như hình bên dưới:

Hình 2.: Nguyên lý hoạt động của PHP Engine2.2.3 Giới thiệu về giao thức http

Trong toàn bộ quá trình, dữ liệu được client gửi tới web server thông qua HTTP request và được server trả lời lại thông qua các HTTP response Đây là hai loại thông điệp của giao thức HTTP cho phép client và server có thể giao tiếp được với nhau

Thông tin trong một HTTP request bao gồm: request url, header, body (phần body có thể rỗng) Các method được hỗ trợ trong một HTTP request bao gồm:

• GET: phương thức hay dùng để lấy tài nguyên từ URL truy vấn Khi truy vấn dùng phương thức này thì các tham số sẽ được nối thẳng vào URL Phương thức GET không

có phần thân hay phần thân rỗng Phương thức này có nhiều hạn chế như việc bảo mật thông tin kém vì dữ liệu được hiển thị ngay trong URL, độ dài dữ liệu hạn chế (tối đa

là 1024 byte)

• HEAD: lấy phần đầu của truy vấn, tức thông tin về tài nguyên

• POST: gửi dữ liệu với độ dài không giới hạn tới web server Khác với phương thức GET, phương thức POST dùng phần thân của câu truy vấn gửi dữ liệu lên web server

Trang 20

• PUT: dùng để chỉ định thay thế hay upload một file…lên web server theo URL cung cấp.

• DELETE: xoá tài nguyên ở máy chủ được định vị bởi URL

• OPTIONS: trả về các phương thức mà server cung cấp cho một URL xác định

• TRACE: trả về thông tin truy vấn mà máy chủ nhận được Phương thức này cho phép theo dõi một truy vấn để xem có những thay đổi hay thêm vào nào nếu có do nhưng máy chủ chung gian (intermidate server) thực hiện

Khối điều khiển trong đề tài sử dụng phương thức POST để truyền tải dữ liệu với server, dữ liệu được nhóm lại với nhau kèm theo các tag và một số thông tin như: tên host, kiểu mã hóa, ngôn ngữ, độ dài dữ liệu … Một chuỗi Hearder HTTP request có dạng như sau:

2.2.4 Giới thiệu về JSON

JSON (viết tắt của Javascript Object Notation) là một dạng dữ liệu tuân theo một quy luật nhất định mà hầu hết các ngôn ngữ lập trình hiện nay đều có thể đọc được,

có thể sử dụng lưu nó vào một file, một record trong CSDL rất dễ dàng JSON có định dạng đơn giản, dễ dàng sử dụng và truy vấn hơn XML rất nhiều nên tính ứng dụng của nó hiện nay rất là phổ biến

Cú pháp của JSON rất đơn giản là mỗi thông tin dữ liệu sẽ có 2 phần đó là key

và value, điều này tương ứng trong CSDL là tên field và giá trị của nó ở một record

nào đó Chính vì vậy nên nhóm thực hiện quyết định chọn JSON để thuận tiện cho việc truyền tải dữ liệu giữa Web server và ứng dụng điện thoại

Trang 21

2.3 TÌM HIỂU VỀ HỆ ĐIỀU HÀNH ANDROID

2.3.1 Giới thiệu

Hiện nay trên thị trường có rất nhiều các dòng điện thoại khác nhau và tương ứng với mỗi điện thoại sẽ có 1 hệ điều hành tương ứng như: iOS, Android, Windows Phone, BlackBerry 10 OS… Với bản chất là hệ điều hành mã nguồn mở, Android hoàn toàn thích hợp cho mục đích nghiên cứu, học tập của sinh viên và nhân lực công nghệ thông tin Đó chính là lý do Android được chọn để hoàn thành đồ án này

2.3.2 Sự ra đời của hệ điều hành android

Android là một hệ điều hành dựa trên nền tảng Linux thiết kế dành cho các thiết bị điện thoại thông minh (Smartphone) và máy tính bảng (Tablet) Android là một hệ điều hành mã nguồn mở ,cộng đồng phát triển rộng lớn với một hệ thống kho ứng dụng khổng

lồ Thời điểm hiện tại, Android đã trở thành nền tảng điện thoại thông minh phổ biến nhất

và không ngừng phát triển

2.3.2.1 Lịch sử phát triển

Với nhu cầu công nghệ của con người ngày càng cao thì sự phát triển nên một hệ điều hành thích hợp cho các thiết bị thông minh là một điều tất yếu cho sự phát triển nhanh chóng của hệ điều hành Android

- 10/2003, Android (INC) ra đời như một hãng phần mềm mục tiêu tạo ra những thiết

bị thông minh với sự hỗ trợ của Google

- 8/2005, Gã khổng lồ Google mua lại toàn bộ công ty Android

- 11/2007, Open Handset Alliance – Liên minh thiết bị cầm tay mở rộng ra đời

- 2008, Android chính thức trở thành mã nguồn mở và chiếc điện thoại thương mại chạy hệ điều hành Android đầu tiên ra đời là HTC Dream (22-10-2008)

2.3.2.2 Các phiên bản

Cùng với sự phát triển về phần cứng của các thiết bị thông minh thì các phiên bản của hệ điều hành Android cũng ngày càng được phát triển theo và càng không ngừng được đầu tư và phát triển Các phiên bản Android tính đến năm 2015 :

- Android 1.0 – Alpha

Trang 22

- Android 4.0 – Ice Cream Sandwich

- Android 4.1 & 4.2 & 4.3 – Jelly bean

- Android 4.4 – Kitkat33

- Android 5.0 – Lollipop

2.3.2.3 Các thành phần của một ứng dụng Android

Hình 2.2: Các thành phần của một ứng dụng chạy trên nền tảng Android

- Activities: các tiến trình hoạt động của ứng dụng Một ứng bao gồm một hoặc nhiều Activities

- Views/User Interface: giao diện người dùng

- Intents: diễn tả mối liên kết giữa các tiến trình và giao diện người dùng

- Service: là thành phần bên trong, chạy ngầm

- Content provider: xử lý dữ liệu và quản lý cơ sở dữ liệu

- Broadcast Receiver: xử lý việc giao tiếp giữa hệ điều hành và ứng dụng

2.3.3 Công cụ và phần mềm sử dụng

Cùng với xu hướng phát triển của thị trường điện thoại và đặc biệt là điện thoại đang chạy hệ điều hành Android Android được khá nhiều các công ty lớn, nhỏ, cũng như các tổ chức, cá nhân quan tâm phát triển Các bộ công cụ hỗ trợ lần lượt được ra đời, có thể kể đến như: Netbean IDE, Eclipse, đặc biệt là Android Studio Android Studio là một IDE (Intergrated Development Environment) được Google

Trang 23

xây dựng và cung cấp miễn phí cho các nhà phát triển ứng dụng Android Android studio dựa vào IntelliJ IDEA, là một IDE tốt nhất cho Java hiện nay Do đó Android Studio sẽ là môi trường phát triển ứng dụng tốt nhất cho Android Hiện nay android studio IDE đã ra đến phiên bản 2.1, với nhiều tính năng hữu ích được cập nhật so với các phiên bản android trước đó.

Qua quá trình tìm hiểu, nhóm thực hiện quyết định sử dụng Android Studio IDE để xây dựng ứng dụng cho điện thoại di động

Trang 24

2.4 GIỚI THIỆU ĐIỀU KHIỂN TẦN SỐ VÔ TUYẾN BẰNG

RF

2.4.1 Giới thiệu

Là loại điều khiển từ xa xuất hiện đầu tiên và đến nay vẫn giữ một vai trò quan trọng và phổ biến trong đời sống Điều khiển bằng RF được ứng dụng rất nhiều cho các thiết bị trong nhà với đường truyền hạn chế như các thiết bị mở cửa gara xe,

hệ thống báo hiệu cho các loại đồ chơi điện tử điều khiển từ xa thậm chí cả kiểm soát vệ tinh, các hệ thống máy tính xách tay và điện thoại thông minh…

• Sau cùng ta thiết kế các thiết bị độc lập hoạt động từ xa và nó có bộ phận nhận sóng điện từ và chịu chấp nhận thi hành các lệnh trong sóng điện từ

2.4.3 Ưu điểm

• Truyền xa hơn IR với khoảng cách 30m hoặc có thể lên tới 100m

• Truyền xuyên tường, kính …

2.4.4 Nhược điểm và hướng khắc phục

Bị nhiễu sóng do bên ngoài có rất nhiều các thiết bị máy móc sử dụng các tần

số khác nhau

Tránh nhiễu sóng bằng cách truyền ở các tần số đặc biệt và nhúng mã kỹ thuật số của thiết bị nhận trong các tín hiệu vô tuyến Điều này giúp bộ thu vô tuyến

Trang 25

trên thiết bị hồi đáp lại tín hiệu một cách chính xác.

Trang 26

CHƯƠNG 3:

THIẾT KẾ HỆ THỐNG

3.1 SƠ ĐỒ KHỐI TỔNG QUÁT

Hình 3.1: Sơ đồ khối của hệ thống

- KHỐI ĐIỆN THOẠI: là một điện thoại sử dụng hệ điều hành Android Một ứng dụng trên điện thoại này được chúng tôi thiết kế để người dùng có thể đăng nhập và nhấn nút điều khiển trên giao diện đó Sau khi nhấn nút điều khiển từ giao diện, dữ liệu điều khiển sẽ được truyền lên Web server và đồng thời ứng dụng này có thêm chức năng cập nhật dữ liệu từ web server gửi về

- KHỐI WEB SERVER: là trang web được đăng ký tên miền (domain) và không gian lưu trữ (hosting) miễn phí, trang web này được lập trình bằng ngôn ngữ php Web server được xây dựng với mục đích hỗ trợ truyền và nhận dữ liệu giữa điện thoại và khối điều khiển, và ngược lại giữa khối điều khiển và điện thoại Web server hỗ trợ truyền và nhận dữ liệu giữa các khối ở những khoảng cách xa (ví dụ: một nơi là công ty và 1 nơi là nhà của người sử dụng) Web server đóng vai trò trung gian trong hệ thống

Trang 27

- KHỐI ĐIỀU KHIỂN: là khối được thiết kế bao gồm kit NodeMcu Esp8266 và một module thu phát RF UART CC1101 với tần số là 433 Mhz, khoảng cách truyền sóng

là 200m khi không có vật cản Khối điều khiển thực hiện cập nhật dữ liệu từ trên Web server gửi xuống và gửi dữ liệu đến các Bộ điều khiển khi người dùng điều khiển bằng điện thoại, đồng thời khối này cũng cập nhật dữ liệu phản hồi từ các Bộ điều khiển khi người dùng điều khiển bằng nút nhấn trên các Bộ điều khiển

- KHỐI BỘ ĐIỀU KHIỂN PHÒNG 1, KHỐI BỘ ĐIỀU KHIỂN PHÒNG 2: là những Bộ điều khiển cho các phòng Mỗi Bộ điều khiển sẽ nhận dữ liệu từ Khối điều khiển và điều khiển bật, tắt các thiết bị khi người dùng điều khiển bằng điện thoại Đồng thời mỗi Bộ điều khiển sẽ điều khiển bật tắt thiết bị khi người dùng tương tác bằng nút nhấn trên mỗi Bộ điều khiển

Trang 28

3.2 THIẾT KẾ BỘ ĐIỀU KHIỂN

3.2.1 Giới thiệu các linh kiện sử dụng

Trang 29

b) Tìm hiểu về Arduino UNO

Là một mạch bao gồm vi điều khiển tích hợp trên một mạch điện được cung cấp nguồn, có các kết nối ngoại vi và kết nối giao tiếp USB với máy tính

 Sơ đồ chân:

Hình 3.3: Sơ đồ chân Arduino Uno R3

Trang 30

 Phần cứng:

Bảng 3.1: Phần cứng Arduino

Vi điều khiển Atmega328 (họ 8bit)

Điện áp hoạt động 5V – DC (chỉ được cấp qua cổng USB)

Tần số hoạt động 16 MHz

Dòng tiêu thụ 30mA

Điện áp vào khuyên dùng 7–12V – DC

Điện áp vào giới hạn 6–20V - DC

Số chân Digital I/O 14 (6 chân PWM)

Số chân Analog 6 (độ phân giải 10bit)

Dòng tối đa trên mỗi chân I/O 30mA

Dòng ra tối đa ( 5V ) 500mA

Dòng ra tối đa ( 3.3V ) 50mA

Bộ nhớ flash 32 KB (Atmega328) với 0.5KB dùng bởi

• Các thiết bị điều khiển với chức năng riêng biệt như xe, máy bay, robot …

• Làm bộ xử lý và truyền tín hiệu cho cảm biến và đo lường

• Các bộ điều khiển tự động

Trang 31

• Bộ xử lý cho các thiết bị thông minh.

• Các điểm kết nối, modem kết nối mạng

 Ưu điểm Arduino UNO R3

• Board mạch nhỏ gọn với các cổng I/O để dễ dàng kết nối các thiết bị ngoại vi tuỳ theo mục đích sử dụng

• Sử dụng ngôn ngữ C với môi trường Arduino IDE tích hợp sẵn

• Cộng đồng phát triển rộng lớn

• Mã nguồn mở cho phép ta mở rộng cũng như học hỏi dễ dàng hơn

Hệ thống module tiêu chuẩn với mỗi module là một chức năng ( việc thiết kế chính là kết hợp các chức năng đã chuẩn hoá)

3.2.1.2 Module Relay

a) Giới thiệu

Hiện nay có rất nhiều loại Module Relay trên thị trường như Relay 1 kênh 5V, Relay 2 kênh 5V, Relay 4 kênh 5V, Relay 8 kênh 5V…Để phù hợp với nhu cầu thiết kế chúng tôi chọn Module Relay 2 kênh 5V để đóng ngắt cho 1 đèn và 1 thiết trong mỗi phòng

Trang 32

b) Tìm hiểu về Module Relay 2 kênh 5V

Module Relay 2 kênh 5V có điện áp hoạt động ở mức 5V DC, chịu được tải đầu ra 30V/10A đối với điện áp DC và 250V/10A với điện áp AC

Module relay 2 kênh được thiết kế nhỏ gọn và đẹp mắt , khả năng chống nhiễu tốt và khả năng cách điện tốt nhờ trong mạch sử dụng IC cách ly quang và transistor giúp cách ly hoàn toàn mạch vi điều khiển với rơ le bảo đảm vi điều khiển hoạt động ổn định

Có sẵn header rất tiện dụng khi kết nối với các thiết bị đầu ra và vi điều khiển Có các lỗ bắt vít rất tiện lợi dễ lắp đặt trong hệ thống mạch.Trạng thái hoạt động:

• 0 ( 0V): Bật Relay

• 1 ( 5V): Ngắt Relay

Hình 3.4: Module relay 2 kênh 5V

Trang 33

c) Thông số Module Relay 2 kênh 5V

• Điện áp cung cấp: 5V DC

• Dòng điện hoạt động: >100mA

• Tải max: 250V 10A AC hoặc 30V 10A DC

• Có đèn báo đóng ngắt trên Relay.

để nhận dữ liệu 1 chiều Bên cạnh đó cũng có Module RF vừa dùng để truyền, vừa dùng để nhận dữ liệu, ứng dụng được cả 2 chiều truyền và nhận dữ liệu

Module RF HC-11 sử dụng chip thu phát sóng CC1101 từ Texas Instrument HC-11 sử dụng trên dải tần số 433 MHz, khoảng cách tối đa ở điều kiện không có vật cản khoảng 200m Điểm ưu việt của HC-11 là được tích hợp thêm chip STM8 có nhiệm vụ chuyển từ giao tiếp SPI trên CC1101 sang giao tiếp UART với bộ lệnh dễ

sử dụng, với giao tiếp UART ta dễ dàng kết nối CC1101 với máy tính hoặc vi điều khiển, chỉ với một vài thiết lập đơn giản là có thể sử dụng bộ Module này như một

bộ truyền UART không dây Đặc biệt là Modedule RF này có thể truyền và nhận dữ liệu cả 2 chiều nên nhóm chọn Module này để thực hiện đề tài của mình

Trang 34

Hình 3.5: Module thu phát RF 433Mhz

b) Thông số kỹ thuật

• Điện áp hoạt động: 3V3 -> 5V

• Tần số thu phát: 433 MHz

• Giao tiếp: Serial UART (TTL)

• Thông số mặc định của module: AT + B9600, AT + C002, AT + A002, AT + FU1

c) Sơ đồ chân khi kết nối

Hình 3.6: Sơ đồ kết nối

Khi kết nối thì chân truyền (TXD) của vi điều khiển phải nối đến chân nhận (RXD) của Module RF và chân nhận (RXD) của vi điều khiển phải nối đến chân truyền của (TXD) của Module RF Việc kết nối này sẽ đảm bảo việc truyền và nhận

2 chiều diễn ra suông sẻ

Trang 35

Bảng 3.2: Các chân của Module RF và chức năng của từng chân

d) Thiết lập cấu hình cho Module trước khi sử dụng

• Các module phải có cùng kênh sóng và địa chỉ

• Để cài đặt Module, đưa Module vào chế độ AT command, nối chân SET xuống MASS trước khi cấp nguồn, Module sẽ tự động reset về các thông số gốc Baudrate 9600, stop bits 1, parity: none

• Để cài đặt Baudrate của module dùng lệnh AT + Bxxxx ( trong đó, xxxx là số baudrate)

Để cài đặt kênh sóng dùng lệnh AT + Axxxx ( trong đó, xxxx là số kênh sóng từ 000 đến 127)

3.2.2 Sơ đồ khối bộ điều khiển

Hình 3.7: Sơ đồ khối của bộ điều khiển

Trang 36

- Khối Nguồn: là 1 Adapter với điện áp 9V và dòng điện 1A Nguồn này được cung cấp

cho Arduino và Module RF, Module relay và led báo hiệu hoạt động ổn định

- Arduino: Sử dụng kit Arduino Uno R3 với vi điều khiển ATmega328 dùng để điều khiển

led báo hiệu, Module Relay và Module RF

- Led báo hiệu và nút nhấn: led báo hiệu dùng để báo hiệu trạng thái của đèn hoặc của

thiết bị là bật hay tắt để người dùng biết; nút nhấn để người dùng có thể điều khiển bằng tay

để bật, tắt đèn hay tắt nguồn, mở nguồn thiết bị

- Module Relay: dùng module relay 2 kênh 5V để đóng ngắt làm thay đổi trạng thái của

đèn và bất kỳ 1 thiết bị nào được lấy nguồn từ ổ điện 2 chấu trên bộ điều khiển

- Module RF: dùng để nhận dữ liệu điều khiển từ Khối điều khiển sau đó điều khiển đèn

và thiết bị thay đổi trạng thái tương ứng hoặc gửi phản hồi đến bộ điều khiển khi người dùng tương tác trực tiếp lên nút nhấn

3.2.3 Sơ đồ thiết kế và kết nối của bộ điều khiển

Hình 3.8: Sơ đồ thiết kế và kết nối của bộ điều khiển

Ta dùng Adapter 9V/1A để cấp nguồn cho Arduino Uno R3 Sau đó tiến hành kết nối:

- Chân 12 và 13 của Arduino với hai led báo hiệu thông qua điện trở 220Ω

Trang 37

- Chân 8 và 9 của Arduino được kết nối lần lượt với hai chân tín hiệu IN1 Và IN2 của Module Relay 2 kênh 5V Ngõ ra của kênh thứ nhất của Module Relay được nối với đèn chiếu sáng trong nhà Ngõ ra của kênh thứ hai của Module Relay được nối với ổ cắm hai chấu dùng để kết nối với 1 thiết bị bất kỳ dùng phích cắm (ví dụ: quạt máy, ấm điện, bếp điện…).

- Chân 2 và 3 của Arduino được kết nối lần lượt với hai nút nhấn thông qua điện trở 4,7K

- Và cuối cùng ta kết nối Module RF với Arduino như sau:

+ Chân VCC của module RF được nối với chân nguồn 5V của Arduino

+ Chân GND của module RF được nối với chân GND của Arduino

+ Chân RXD của module RF được nối với chân 1(TX) của Arduino

+ Chân TXD của module RF được nối với chân 2 (RX) của Arduino

3.2.4 Nguyên lý hoạt động

3.2.3.1 Nguyên lý hoạt động khi người dùng tương tác trực tiếp lên nút nhấn

Sau khi người dùng tương tác trực tiếp với nút nhấn có trên mỗi bộ điều khiển, arduino sẽ nhận lệnh điều khiển đèn hoặc thiết bị tương ứng với vị trí nút nhấn đó Đồng thời arduino sẽ gửi dữ liệu điều khiển khiển thông qua module RF đến Khối điều khiển để thông báo là đã điều khiển thay đổi trạng thái của thiết bị tương ứng

3.2.3.2 Nguyên lý hoạt động khi người dùng điều khiển bằng điện thoại

Arduino bên trong Bộ điều khiển sẽ nhận dữ liệu điều khiển từ Khối điều khiển gửi qua bằng module RF Đồng thời arduino phân loại dữ liệu điều khiển là dùng để điều khiển đèn hay là điều khiển thiết bị

Sau đó arduino điều khiển thay đổi trạng thái của đèn và của thiết bị tương ứng với lệnh nhận được bằng cách điều khiển bật, tắt relay bên trong Bộ điều khiển Bên cạnh đó, arduino còn điều khiển bật, tắt led báo hiệu trạng thái của đèn trên mỗi bộ điều khiển để người dùng có thể nhận biết

Ngày đăng: 30/05/2017, 23:23

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Hà Tuấn Anh, “Điều khiển thiết bị từ xa bằng sóng RF”, Đại học Công nghiệp TP.HCM, Hồ Chí Minh Sách, tạp chí
Tiêu đề: Điều khiển thiết bị từ xa bằng sóng RF
[2] Mai Phước Tân, “Thiết kế và thi công mạch điều khiển từ xa bằng hồng ngoại”, Đại học Kỹ thuật Công nghệ, TP.HCM, 2011 Sách, tạp chí
Tiêu đề: Thiết kế và thi công mạch điều khiển từ xa bằng hồng ngoại
[3] Lâm Chánh Trực và Nguyễn Đức Thịnh, “Đèn thông minh điều khiển bằng ứng dụng điện thoại thông qua kết nối không dây”, Đại học Sư Phạm Kỹ Thuật TP.HCM, 2016 Sách, tạp chí
Tiêu đề: Đèn thông minh điều khiển bằng ứng dụng điện thoại thông qua kết nối không dây
[4] Bùi Quốc Huy, Giáo Trình PHP Và MySQL, Trung Tâm Đào Tạo Công Nghệ Mạng Việt Chuyên, TP.HCM, 2006 Khác
[5] Nguyễn Việt Hùng – Nguyễn Ngô Lâm – Nguyễn Văn Phúc – Đặng Phước Hải Trang, Giáo Trình Kỹ Thuật Truyền Số Liệu, Đại học Sư Phạm Kỹ Thuật TP.HCM : Nhà Xuất Bản Đại Học Quốc Gia TP.HCM, 2013 Khác
[6] Trương Thị Ngọc Phượng, Giáo Trình Android, Đại học Sư Phạm Kỹ Thuật TP.HCM : Nhà Xuất Bản Đại Học Quốc Gia TP.HCM, 2014 Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w