Nhóm thực hiện đề t i xin gửi lời cảm ơn chân th nh đến to n thể quý thầy cô trường Đại học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh, đặc biệt l quý thầy cô khoa Đ o tạo chất lượng cao, n
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÍNH
THIẾT KẾ VÀ THI CÔNG MÔ HÌNH NHÀ THÔNG MINH
GVHD: LÊ MINH SVTH: TỐNG NGỌC THƠ MSSV: 11119085
SVTH: PHẠM THẾ HIỂN MSSV: 11119172
S K L 0 0 4 1 8 6
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
Trang 3Tp Hồ Chí Minh, ngày 22 tháng 12 năm 2015
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ và tên sinh viên: Tống Ngọc Thơ MSSV: 11119085
Họ và tên sinh viên: Phạm Thế Hiển MSSV: 11119172 Ngành: Công nghệ kỹ thuật máy tính
Lớp: 11119CL1
Giảng viên hướng dẫn: Lê Minh
Ngày nhận đề tài: 1/10/2015 Ngày nộp đề tài: 14/1/2016
1 Tên đề tài: Thiết kế và thi công mô hình nhà thông minh
2 Các số liệu, tài liệu ban đầu:
3 Nội dung thực hiện đề t i:
Tập trung nghiên cứu xây dựng Web Server và thiết kế hệ thống mạch điện cho
3 khối chính trong nhà: khối thiết bị, khối cảm biến, khối an ninh
Mục đích: Quản lý (điều khiển, cập nhật trạng thái) hoạt động của ngôi nhà qua mạng Internet khi chúng ta ở xa nhà
4 Sản phẩm: Web server điều khiển, cập nhật trạng thái của các khối cảm biến, an ninh
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
***
Trang 4Tp Hồ Chí Minh, ngày 22 tháng 12 năm 2015
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ v tên sinh viên: Tống Ngọc Thơ MSSV: 11119085
Họ và tên sinh viên: Phạm Thế Hiển MSSV: 11119172
Ng nh : Công nghệ kỹ thuật máy tính
Tên đề t i: Thiết kế và thi công mô hình nhà thông minh
Giáo viên hướng dẫn: Lê Minh
NHẬN XÉT
1 Về nội dung đề t i & khối lượng thực hiện: ………
………
………
………
2 Ưu điểm:………
………
3 Khuyết điểm: ………
………
4 Đề nghị cho bảo vệ hay không?
5 Đánh giá loại: ………
6 Điểm : …………(Bằng chữ :……… )
Tp.Hồ Chí Minh, ngày tháng năm 2016 Giáo viên hướng dẫn CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc ***
Trang 5Tp Hồ Chí Minh, ng y 22 tháng 12 năm 2015
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ v tên sinh viên: Tống Ngọc Thơ MSSV: 11119085
Họ v tên sinh viên: Phạm Thế Hiển MSSV: 11119172
Ng nh : Công nghệ kỹ thuật máy tính
Tên đề t i: Thiết kế và thi công mô hình nhà thông minh
Giáo viên phản biện:
NHẬN XÉT
1 Về nội dung đề t i & khối lƣợng thực hiện: ………
………
………
………
2 Ƣu điểm:………
………
3 Khuyết điểm: ………
………
4 Đề nghị cho bảo vệ hay không?
5 Đánh giá loại: ………
6 Điểm : …………(Bằng chữ :……… )
Tp.Hồ Chí Minh, ngày tháng năm 2016 Giáo viên phản biện (Ký & ghi rõ họ tên) CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc ***
Trang 6LỜI CẢM ƠN
Trong thời gian thực hiện đồ án tốt nghiệp, nhóm đã nhận được nhiều sự giúp
đỡ, đóng góp ý kiến v chỉ bảo nhiệt tình từ giáo viên v bạn bè
Nhóm thực hiện đề t i xin gửi lời cảm ơn chân th nh đến to n thể quý thầy cô
trường Đại học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh, đặc biệt l quý
thầy cô khoa Đ o tạo chất lượng cao, những người đã luôn trao dồi vốn kiến thức quý báo của mình cho nhóm thực hiện để t i, giúp cho nhóm có được kiến thức cơ
sở v chuyên môn vững v ng, cũng như tạo điều kiện giúp đỡ nhóm trong quá trình học tập, đó sẽ l h nh trang quý báu để nhóm ứng dụng v o cuộc sống v công việc sau này
Đặc biệt hơn, người m nhóm thực hiện đồ án muốn gửi lời cảm ơn chân th nh
nhất l thầy Lê Minh, người đã tận tình hướng dẫn, cung cấp t i liệu, giải pháp v
điều kiện thuận lợi nhất trong suốt quá trình nhóm thực hiện đề t i n y
Nhóm thực hiện đề t i cũng xin cảm ơn các anh chị đã đi trước, những bạn sinh viên cùng khóa đã giúp đỡ, ủng hộ v chia sẽ kinh nghiệm để nhóm thực hiện đề t i
n y tốt hơn
Tuy đề t i đã ho n th nh nhưng cũng không tránh những thiết sót, nhóm thực hiện đề t i mong nhận được sự đóp góp, phê bình, chỉ dẫn của quý thầy cô v các bạn
Cuối cùng, nhóm xin gửi lời chúc đến quý thầy cô cùng các bạn sinh viên của trường được dồi d o sức khỏe v th nh công trong công việc
Xin chân th nh cảm ơn!
Nhóm thực hiện đề t i
Trang 7TÓM TẮT
“Thiết kế v thi công mô hình nh thông minh” l một hệ thống bao gồm có sáu khối chính: khối nguồn, khối server, khối giao tiếp wifi, khối điều khiển, khối cảm biến, khối người dùng Các khối được liên kết th nh một hệ thống mạng, để điều khiển các thiết bị trong nh qua mạng Internet với giao diện web chạy trên mọi phiên bản hệ điều h nh Tiện ích có được từ hệ thống l điều khiển ngôi nh từ xa, giao diện điều khiển thân thiện với người dùng
Khối sever đóng vai trò lưu trữ giao diện điều khiển v cơ sở dữ liệu như một máy tính Khối người dùng kết nối v truy cập v o khối server, tải giao diện v ra lệnh điều khiển thiết bị Khối giao tiếp wifi sẽ gửi yêu cầu v nhận dữ liệu từ cơ sở
dữ liệu ở khối server, sau đó xử lý dữ liệu rồi truyền qua cho khối điều khiển Khối điều khiển nhận dữ liệu từ khối giao tiếp wifi v khối cảm biến rồi ra lệnh bật/tắt các thiết bị Riêng khối nguồn đóng vai trò vô cùng quan trọng l cung cấp năng lượng cho năm khối còn lại hoạt động, thực hiện nhiệm vụ của mỗi khối
Trang 8Project "Design and construction of model smart home" is a system, which includes five core block: power, servers block, sensors block, control equipment module, security alarm block The blocks are linked into a network, to control devices in the home through the internet with web interface runs on all versions of the OS Utilities have been from the control system, managing your home remotely, console user friendly
Block Storage Server role Web interface and database as a PC Sensor function block is read sensors and send the value read on the block Server Then block Server sends signals to block off or turn on a fan control device to adjust the appropriate environment for the house Security alarm block manipulate working principles of light sensors, as there is an obstruction between the transmitter and led revenue led the alarm will be enabled sounded Private sector role source is extremely important, as the power supply for operating four remaining blocks, performing the tasks of each block
Trang 9MỤC LỤC
Nhiệm vụ đồ án tốt nghiệp i
Phiếu nhận xét của giáo viên hướng dẫn ii
Phiếu nhận xét của giáo viên phản biện iii
Lời cảm ơn iv
Mục lục vii
Danh mục bảng xi
Chương 1: TỔNG QUAN 1
1.1 Giới thiệu tình hình nghiên cứu hiện nay 1
1.2 Tính cấp thiết của đề t i 1
1.3 Mục tiêu nghiên cứu 1
1.4 Nhiệm vụ nghiên cứu 2
1.5 Đối tượng v phạm vi nghiên cứu 2
1.6 Phương pháp nghiên cứu 3
1.7 Bố cục của đồ án 3
Chương 2: CƠ SỞ LÝ THUYẾT 5
2.1 Kit Raspberry Pi 5
2.1.1 Kit Raspberry Pi B+ 5
2.1.2 Web Server 11
2.1.3 SQL Server 12
2.2 Module Wifi ESP8266 12
2.2.1 Đặc điểm 13
2.2.2 Dòng module 13
Trang 102.2.3 Chức năng các chân 15
2.2.4 Firmware AT commands 17
2.2.5 Phần mềm ESPlorer 20
2.2.6 Ứng dụng 21
2.3 Module Arduino 22
2.3.1 Giới thiệu về Arduino Uno R3 22
2.3.2 Sơ đồ chân của Arduino Uno R3 24
2.3.3 Các chuẩn giao tiếp trên Arduino Uno R3 26
2.3.4 Giới thiệu phần mềm Arduino IDE 27
2.4 Cảm biến 29
2.4.1 DHT 11 29
2.4.2 Quang trở 33
2.5 Opto và triac 33
2.5.1 Opto 33
2.5.2 Triac 35
2.6 Mạng Wifi v Internet 36
2.6.1 Mạng Wifi 36
2.6.2 Internet 37
2.7 PHP & SQL 37
2.7.1 PHP 37
2.7.2 SQL 40
Chương 3: THIẾT KẾ HỆ THỐNG 41
3.1 Mô hình hệ thống 41
Trang 113.2.1 Sơ đồ khối 42
3.2.2 Sơ đồ mạch nguyên lý 42
3.2.3 Tính toán thiết kế v chọn linh kiện 44
3.2.4 Chất liệu l m mô hình 50
3.3 Thiết kế phần mềm 50
3.3.1 Lưu đồ giải thuật 50
3.3.2 C i đặt Web Server v SQL Server trên Raspberry Pi 54
3.3.3 Kết nối Wifi v Internet 58
3.3.4 Thiết kế giao diện người dùng 59
Chương 4: KẾT QUẢ - SO SÁNH - THỰC NGHIỆM 61
4.1 Kết quả 61
4.2 So sánh 61
4.3 Thực nghiệm 61
Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 63
5.1 Kết luận 63
5.2 Hướng phát triển 63
TÀI LIỆU THAM KHẢO 65
PHỤ LỤC 1: CÀI HỆ ĐIỀU HÀNH CHO RASPBERRY PI 67
PHỤ LỤC 2: CẤU HÌNH CƠ BẢN CHO RASPBERRY PI 68
PHỤ LỤC 3 : CHƯƠNG TRÌNH 73
Trang 125 HTML: HyperText Markup Language
6 SQL: Structured Query Language
7 SPI: Serial Peripheral Interface
8 CSDL: Cơ sở dữ liệu
Trang 13DANH MỤC BẢNG
Bảng 2.1 Các lệnh AT .14
Trang 14DANH MỤC BIỂU ĐỒ VÀ HÌNH
Hình 2.1 Board Raspberry pi B+ 5
Hình 2.2 Những thông số cơ bản về Raspberry pi B 6
Hình 2.3 Cấu hình của RPi B+ 6
Hình 2.4 Sơ đồ chân GPIO của Board RPi B+ 7
Hình 2.5 RPi B v các thiết bị kết nối với nó 10
Hình 2.6 Giao diện hệ điều h nh Raspbian 11
Hình 2.7 Module ESP-01 14
Hình 2.8 Module ESP-03 14
Hình 2.9 Module ESP8266MOD 15
Hình 2.10 Module ESP-12 15
Hình 2.11 Sơ đồ chân của ESP8266-01 16
Hình 2.12 Sơ đồ chân của ESP8266-12 16
Hình 2.13 Mạch nạp USB – TTL 20
Hình 2.14 Giao diện l m việc của ESPlorer 21
Hình 2.15 Ứng dụng của ESP8266 22
Hình 2.16 Kit Arduino Uno R3 22
Hình 2.17 Các linh kiện trên kit Arduino Uno R3 24
Hình 2.18 Sơ đồ chân Arduino Uno R3 24
Hình 2.19 Giao diện công cụ Arduino IDE 27
Hình 2.20 Mô hình hoạt động chương trình trên Arduino IDE 28
Hình 2.21 Kết nối cảm biến DHT11 29
Trang 15Hình 2.23 Cách đọc Bit 0 (DHT11) 31
Hình 2.24 Cách đọc Bit 1 (DHT11) 32
Hình 2.25 Quang trở 33
Hình 2.26 Cấu tạo Opto điều khiển dòng xoay chiều 34
Hình 2.27 Triac BTA12 36
Hình 3.1 Sơ đồ khối 39
Hình 3.2 Sơ đồ nguyên lý của một số khối 41
Hình 3.3 Module nguồn xung 220VAC sang 24VDC 42
Hình 3.4 Module hạ áp 24V sang 5V 43
Hình 3.5 Module hạ áp 5V sang 3.3V 43
Hình 3.6 Các chương trình cần c i trên Server 44
Hình 3.7 Kết nối cảm biến DHT11 với Arduino v ESP8266 45
Hình 3.8 Báo trộm bằng quang trở 45
Hình 3.9 ESP-12 điều khiển đèn thông qua mạch cách ly 46
Hình 3.10 Mica trong suốt 47
Hình 3.11 Lưu đồ giải thuật Server (Raspberry pi) 48
Hình 3.12 Lưu đồ giải thuật trên module Wifi ESP8266 49
Hình 3.13 Lưu đồ giải thuật trên Arduino 50
Hình 3.14 Cấu hình Port trên modem 56
Hình 3.15 Kiểm tra IP public cho Board Raspberry pi 56
Hình 3.16 Giao diện điều khiển các thiết bị trong hệ thống 57
Trang 16Chương 1: TỔNG QUAN
1.1 Giới thiệu tình hình nghiên cứu hiện nay
Với sự phát triển vượt bậc về mọi mặt, đời sống con người không còn gói gọn trong ăn no, mặc ấm m l ăn ngon mặc đẹp, những thiết bị công nghệ, dịch vụ tiện nghi phục vụ mục đích sống Trong đó, nổi trội nhất l hệ thống công nghệ nhà thông minh
Hệ thống nh thông minh l một hệ thống kết nối các thiết bị trong nh của bạn
th nh một hệ thống mạng, để có thể điều khiển chúng theo kịch bản của người lập trình: hệ thống chiếu sáng, hệ thống môi trường (cảm biến), hệ thống an ninh Và hiện nay những sản phẩm h ng đầu trong lĩnh vực n y phải kể đến: SmartHome của BKAV, SmartThings Hub và Smart Home Monitor của SAMSUNG và một số sản phẩm của doanh nghiệp khác
1.2 Tính cấp thiết củ ề tài
Khi đa số các hệ thống nh thông minh trên thị trường hiện nay đều viết ứng dụng quản lý cho thiết bị hệ điều h nh android v ios, nhưng vẫn còn hạn chế về phiên bản của các hệ điều h nh, nhóm thực hiện đề tài thiết nghĩ nghiên cứu thiết kế
ra một giao diện quản lý có thể chạy trên tất cả các phiên bản hệ điều h nh, những thiết bị chỉ cần có thể truy cập Internet thì đều sử dụng được l điều cần thiết
Đối với doanh nghiệp trong ng nh sản xuất, phân phối hệ thống nh thông minh
sẽ được mở rộng đối tượng khách h ng Còn khách h ng sở hữu hệ thống sẽ tiết kiệm chi phí mua thiết bị phiên bản phù hợp chạy được ứng dụng phần mềm quản
lý
1.3 Mục ti u nghi n cứu
Mục tiêu của đề t i l thiết kế một hệ thống quản lý các thiết bị điện tử trong nhà qua mạng Internet với giao diện web Hệ thống n y có thể điều khiển thiết bị
Trang 17Thông qua nghiên cứu đề t i n y, người thực hiện đề t i còn mong muốn rèn luyện, trau dồi, tổng hợp vốn kiến thức tích lũy được trong suốt quá trình học tập
1.4 Nhiệm vụ nghi n cứu
Để thực hiện đề t i, nhóm đã phân chia công việc như sau:
Tìm hiểu về web server, chọn Kit l m web server, ngôn ngữ lập trình giao diện web
Tìm hiểu tính năng hoạt động của board ESP8266, Arduino để điều khiển được thiết bị mong muốn
Tìm hiểu giao thức truyền nhận dữ liệu của mạng Internet
Cách NAT port để lấy địa chỉ IP public
So sánh ưu khuyết điểm của giải pháp viết ứng dụng hay viết giao diện web
để tìm ra giải pháp thích hợp với mục tiêu yêu cầu v phù hợp với khả năng của bản thân người thực hiện đề t i
1.5 Đối tượng và phạm vi nghiên cứu
Để thực thi một hệ thống giám sát đầy đủ v ho n chỉnh thì rất phức tạp v tốn kém Với lượng thời gian v kiến thức có hạn, đề t i n y chỉ thực hiện ở một phần của một hệ thống giám sát lớn ho n chỉnh Đề t i hướng đến các đối tượng nghiên cứu sau:
Kit Raspberry Pi, board Arduino Uno, module wifi ESP8266
Ngôn ngữ lập trình web: PHP, HTML
Thiết bị: đèn (AC, DC), cảm biến nhiệt độ, cảm biến ánh sáng…
Phạm vi nghiên cứu của đề t i:
Nghiên cứu cách sử dụng Kit Raspberry Pi v hệ điều h nh Raspbian, cách
sử dụng v lập trình cho board Arduino Uno cũng như module wifi ESP8266
Nghiên cứu cách viết web sử dụng ngôn ngữ PHP v HTML
Trang 18 Nghiên cứu hoạt động của các thiết bị điện thông dụng trong nh , đọc dữ liệu
từ cảm biến v truyền nhận dữ liệu giữ các khối
1.6 Phương ph p nghi n cứu
Việc lựa chọn phương pháp nghiên cứu phù hợp l quan trọng Với đề t i n y, nhóm đã thu thập các kiến thức cần thiết từ sách của các tác giả nổi tiếng, cũng như tìm kiếm t i liệu từ những trang web uy tín Việc thu thập kiến thức phải có chọn lọc v xác minh độ chính xác
Tìm kiếm sự giúp đỡ từ những người đi trước, người có kinh nghiệm về thực hiện đề t i này như thầy cô, anh chị, bạn bè chỉ dẫn mỗi khi gặp khó khăn trong quá trình nghiên cứu
1.7 Bố cục củ ồ án
Nội dung của đề t i được trình b y theo bố cục sau:
Chương 1: Tổng quan
Về chương n y, nhóm trình b y những vấn đề liên quan giữa hệ thống đề t i
v ứng dụng thực tiễn, cũng như mục tiêu, nội dung, giới hạn v phương pháp nghiên cứu của đề t i
Chương 2: Cơ sở lý thuyết
Về chương cơ sở lý thuyết, nhóm trình b y những lý thuyết liên quan đến phần cứng, phần mềm của hệ thống v những công cụ hỗ trợ được sử dụng:
Kit Raspberry Pi
Module Wifi ESP8266
Các loại cảm biến: nhiệt độ, ánh sáng
Opto và triac
Mạng Wifi v Internet
PHP và SQL
Trang 19Để thiết kế hệ thống cần phải thực hiện những công việc sau:
Phân tích hệ thống đề t i, những yêu cầu m nhóm đã đặt ra từ ban đầu, xây dựng lên sơ đồ khối tổng quát, v từ đó nhóm phân tích v thiết kế sơ đồ chi tiết của từng khối trong sơ đồ khối tổng quát đó
Thiết kê phần cứng hệ thống: dựa trên những yêu cầu đã đặt ra v sơ
đồ, nhóm thiết kế các phần cứng trong hệ thống, những tính toán trong thiết kế
Thiết kế phần mềm hệ thống: cũng như những phần trên, nhóm cũng bắt tay v o phân tích những yêu cầu điều khiển v xử lý trên hệ thống, sau đó nhóm đưa ra các lưu đồ giải thuật để mô hình hóa tiến trình viết mã chương trình
Chương 4: Kết quả, so sánh, thực nghiệm
Nhóm trình b y những thực nghiệm của hệ thống đã được thiết kế ho n chỉnh Dựa trên đó, nhóm có thể tự đánh giá những ưu v khuyết điểm của hệ thống m nhóm đã xây dựng
Chương 5: Kết luận v hướng phát triển
Dựa trên những kết quả đã thực hiện, nhóm đưa ra những vấn đề đã ho n
th nh v chưa ho n th nh, cũng như những mặt hạn chế chung của sản phẩm Cuối cùng, đề ra hướng phát triển v ho n chỉnh hơn về đề t i trong tương lai
Trang 20Chương 2: CƠ SỞ LÝ THUYẾT
Hình 2.1 Board Raspberry pi B+
Raspberry Pi B+ (RPi B+) l một trong những phiên bản của họ Raspberry Pi
Nó l một máy tính siêu nhỏ, chỉ có kích thước như 1 chiếc thẻ ATM rút tiền Bạn chỉ cần 1 b n phím, 1 tivi hoặc 1 m n hình có cổng HDMI/DVI, 1 nguồn USB 5V
v 1 dây micro USB l đã có thể sử dụng RPi B như 1 máy tính bình thường Với
Trang 21Hình 2.2 Những thông số cơ bản về Raspberry pi B
2.1.1.2 Cấu hình củ R spberry pi B+
Trái tim của Pi l chip SOC (System-On-Chip) Broadcom BCM2835 chạy ở
tốc độ 700MHz Chip n y tương đương với nhiều loại được sử dụng trong smartphone phổ thông hiện nay, v có thể chạy được hệ điều h nh Linux Tích hợp
trên chip n y l nhân đồ họa (GPU) Broadcom VideoCore IV GPU này đủ mạnh
để có thể chơi 1 số game phổ thông v phát video chuẩn full HD
Hình 2.3 Cấu hình của RPi B+
Trang 22GPIO (General Purpose Input Output): đúng như tên gọi của nó, từ đây chúng
ta có thể kết nối v điều khiển rất nhiều thiết bị điện tử/cơ khí khác
Hình 2.4 Sơ đồ chân GPIO của Board RPi B+
Ngõ RCA Video (analog): Cổng video analog n y được thêm v o, giúp người
sử dụng có thể kết nối với chiếc tivi đời cũ m không phải lo lắng
Ngõ audio 3.5mm: kết nối dễ d ng với loa ngo i hay headphone Đối với tivi
có cổng HDMI, ngõ âm thanh được tích hợp theo đường tín hiệu HDMI nên không cần sử dụng ngõ audio n y
Cổng USB: một điểm mạnh nữa của Pi l tích hợp 2 cổng USB 2.0 Có thể kết
nối với b n phím, chuột hay webcam, bộ thu GPS… Vì vậy, có thể mở rộng phạm
vi ứng dụng Vì Pi chạy Linux nên hầu hết thiết bị chỉ cần cắm-và-chạy Play) m không cần c i driver phức tạp
(Plug-and-Cổng Ethernet: cho phép kết nối Internet dễ d ng Cắm dây mạng v o Pi, kết
nối với m n hình máy tính hay tivi v b n phím, chuột
Trang 23Khe cắm thẻ SD: Pi không tích hợp ổ cứng Thay v o đó nó dùng thẻ SD để
lưu trữ dữ liệu To n bộ hệ điều h nh Linux sẽ hoạt động trên thẻ SD n y vì vậy nó cần kích thước thẻ nhớ tối thiểu 4 GB v dung lượng hỗ trợ tối đa l 32 GB
Đèn LED: trên Pi có 5 đèn LED để hiển thị tình trạng hoạt động
Jack nguồn micro USB 5V, tối thiểu 700mA: nhờ thiết kế n y m người dùng
có thể tận dụng hầu hết các sạc điện thoại di động trên thị trường để cấp nguồn điện cho Pi
2.1.1.3 Kết nối của Raspberry pi B
Khe cắm thẻ nhớ: sử dụng loại thẻ SD Card, đây l nơi lưu trữ hệ điều h nh v
tất cả các dữ liệu hoạt động của Raspberry Pi Dung lượng của thẻ nhớ phải từ 2GB trở lên để đảm bảo cho hệ thống hoạt động tốt
Micro USB Power: RPi có thể sử dụng đến 700mA tại mức áp 5V khi sử dụng
nhiều thiết bị USB v cổng LAN Do đó để RPi hoạt động ổn định, nên sử dụng bộ
nguồn USB 5V 1A Ngo i việc cấp nguồn cho Pi thông qua cổng micro USB, còn
có thể cấp nguồn trực tiếp v o cổng GPIO (5V v Gnd) Điện áp quá mức 5V cấp trực tiếp v o GPIO có thể gây hư hỏng các thiết bị cắm v o cổng USB, chip quản lý USB v LAN Có thể sử dụng 1 nguồn switching chuyển về 5V hoặc sử dụng IC LM7805
TFT Touch Screen: nơi đây sẽ giúp kết nối Raspberry Pi với m n hình cảm
ứng để hiển thị v sử dụng Raspberry một cách trực quan nhất Chúng ta có thể thực hiện các tác vụ tương đương như khi sử dụng chuột v b n phím
Camera expansion: khe cắm n y l để cắm modem raspberry pi camera 5MP v o Raspberry Pi Chúng ta có thể chụp hình, quay phim, l m việc tất cả
các tác vụ như trên một camera bình thường
Cổng HDMI: cổng n y dùng để kết nối với các thiết bị có hổ trợ chuẩn kết nối
HDMI, nếu thiết bị của chúng ta không hổ trợ HDMI m chỉ hổ trợ VGA thì chúng
ta phải sử dụng một dây cáp chuyển đổi từ HDMI sang VGA Thường thì cổng n y
Trang 24dùng để kết nối ra m n hình, tivi, máy chiếu, để hiển thị giao diện của hệ điều hành
Cổng kết nối Ethenet: dùng để kết nối internet, mạng Lan, truy cập SSH,
2 cổng USB: dùng để kết nối với chuột, b n phím, usb, usb 3g, usb wifi v các
thiết bị có hổ trợ cổng USB
STEREO AUDIO: dùng để kết nối với tai nghe, loa, v các thiết bị ân thanh
có cổng Jack 3.5mm
TV: dùng để kết nối v phát tín hiệu hình ảnh lên Tivi
GPIO: Raspberry Pi cung cấp nhiều cổng GPIO, giao tiếp SPI, I2C, Serial Các
cổng GPIO đƣợc sử dụng để xuất/nhận giá trị 0/1 ra/v o từ bên ngo i Giao tiếp SPI, I2C, Serial có thể đƣợc dùng để kết nối trực tiếp với các vi điều khiển khác Đặc biệt phù hợp với việc điều khiển các thiết bị điện tử ngoại vi
Trang 25Hình 2.5 RPi B v các thiết bị kết nối với nó
2.1.1.4 Giới thiệu hệ iều hành của RPi
Nhắc đến Linux l người ta nhắc đến sự tự do Khác với Windows hay MacOS,
mã nguồn mở của Linux cho phép người dùng có thể tiếp cận v tùy chỉnh to n bộ
mã nguồn tùy theo ý muốn, ho n to n miễn phí Chính vì vậy Linux được chọn để
sử dụng l m hệ điều h nh cho Raspberry Pi
Dựa trên nền tảng Linux, nhiều bản phân phối (distribution) khác nhau được phát triển như Debian, Ubuntu, Fedora Một trong số đó, Debian, được chỉnh sửa để hoạt động tối ưu trên Pi v được gọi l Raspbian (l Raspberry+Debian) Raspbian
Trang 26cũng l hệ điều h nh được phát triển chính thức cho Pi Hiện nay phiên bản Raspbian mới nhất l Raspbian Wheezy
Linux hoạt động trên 2 môi trường chính: môi trường Desktop (giống như Windows) v môi trường Terminal sử dụng command line (giống như DOS) Trước đây Linux hầu như chỉ hoạt động trên Terminal gây khó khăn cho người đã quen sử dụng Windows nhưng gần đây Linux đã chú ý phát triển giao diện đồ họa đẹp mắt không kém gì Windows 8 hay MAC Trên Raspberry Pi được c i đặt sẵn giao diện LXDE (Light X11 Desktop Environment) l một môi trường đồ họa không ngốn nhiều t i nguyên, không đẹp long lanh nhưng vừa đủ để sử dụng
Hình 2.6 Giao diện hệ điều h nh Raspbian
2.1.2 Web Server
Web Server (máy phục vụ Web): máy tính m trên đó c i đặt phần mềm phục
vụ Web, đôi khi người ta cũng gọi chính phần mềm đó l Web Server
Tất cả các Web Server đều hiểu v chạy được các file *.htm v *.html, tuy nhiên mỗi Web Server lại phục vụ một số kiểu file chuyên biệt chẳng hạn như IIS
Trang 27của Microsoft d nh cho *.asp, *.aspx…; Apache d nh cho *.php…; Sun Java System Web Server của SUN d nh cho *.jsp…
Với hệ điều h nh Linux ổn định, tiêu thụ điện năng rất ít Raspberry Pi l một ứng viên sáng giá cho chức năng web server phục vụ nhu cầu truy cập vừa v ít Apache l một ứng dụng web server phổ biến nhất trên thế giới v có thể c i đặt trên Raspberry Pi, cho phép bạn public một hoặc nhiều website ra Internet
Mặc định, Apache chỉ hỗ trợ các file HTML, tuy nhiên với một v i modules bổ sung, chúng ta có thể chạy được Apache với các file PHP
2.1.3 SQL Server
SQL Server l một hệ thống quản trị cơ sở dữ liệu quan hệ, được thiết kế cho môi trường doanh nghiệp
SQL Server dùng ngôn ngữ truy vấn cấu trúc SQL để tạo, sửa v lấy dữ liệu
Đề t i sẽ c i đặt một hệ cơ dữ liệu trên Raspberry Pi để kiểm tra v điều khiển
hệ thống các thiết bị trong gia đình
Raspberry Pi đáp ứng đủ các điều kiện để tạo một hệ quản trị cơ sở dữ liệu, có thể c i đặt nhanh chóng cho một ngôi nh , có thể sử dụng mạng cục bộ để hoạt động
2.2 Module Wifi ESP8266
Esp8266 l một hệ thống Wi-Fi được tích hợp trên chip (SoC) Sở hữu GPIO, I2C, ADC, SPI, PWM v nhiều kết nối khác Hoạt động ở xung nhịp 80MHz Với 160KB RAM v 64KB boot ROM Ngo i ra, nó còn có bộ nhớ flash Winbond W25Q40BVNIG (512KB) được kết nối theo chuẩn SPI (Serial Peripheral Interface – giao diện ngoại vi nối tiếp) ESP8266 được sản xuất bởi Espressif
Module ESP8266 là module Wi-Fi giá rẻ được sản xuất dựa trên chip ESP8266 Module được đánh giá cao v được sử dụng nhiều trong các ứng dụng liên quan đến Internet và Wi-Fi Với khoảng cách truyền nhận lên đến 100m ở môi trường không
Trang 28có vật cản, có thể nâng khoảng cách truyền nhận lên 400m khi sử dụng anten v kết nối router thích hợp
Sử dụng dòng <10uA khi ở chế độ ngủ, dòng rò <5uA
Tích hợp 32-bit MCU công suất thấp
Tích hợp SDIO 2.0, SPI, UART, I2C, STBC, 1x1 MIMO, 2x1 MIMO
Thời gian thức dậy v gửi gói dưới 2ms
Chế độ chờ tiêu thụ điện năng của <1.0mW
Nhiệt độ hoạt động khoảng 40o
C ~125oC
2.2.2 Dòng module
Module Wi-Fi sử dụng chip ESP8266 có các module sau: ESP-01, ESP-02, ESP-03, ESP-04, ESP-05, ESP-06, ESP-07, ESP-08, ESP-09, ESP-010, ESP-11, ESP-12, ESP-12-E, ESP-13, … v hiện đang được phát triển
Một số module có mặt v được sử dụng phổ biến tại Việt Nam:
Trang 29Hình 2.7 Module ESP-01
ESP-01 l phiên bản phổ biến nhất hiện nay Có ăng-ten được in trên board v các header đã kết nối đến chân chip ESP8266
Hình 2.8 Module ESP-03
ESP-03 có nhiều chân I/O hơn, phù hợp với các dự án phức tạp cần nhiều kết nối Ngo i ra nhờ ăng-ten gốm nên kích thước sẽ nhỏ hơn so với ESP-01
Trang 30Hình 2.9 Module ESP8266MOD
ESP8266MOD (ESP-07) l phiên bản cải tiến, thêm về số chân I/O v lá chắn,
vị trí đèn LED v ăng-ten cũng đƣợc thay đổi
Hình 2.10 Module ESP-12
ESP-12 với đầy đủ các chức năng của module Wi-Fi sử dụng chip ESP8266 Ngoài ra, ESP-12 còn hỗ trợ firmware để lập trình trực tiếp I/O trên module, thích hợp cho nhiều ứng dụng nhỏ, di động
2.2.3 Chức năng c c chân
Sơ ồ chân củ ESP8266-01
Trang 31Hình 2.11 Sơ đồ chân của ESP8266-01 Trong đó:
RESET: reset chip
ADC: đọc dữ liệu đầu v o analog
CH_PD: kích hoạt chip
Vcc: nguồn 3.3v
GND: chân Mass
GPIO1, GPIO2: chân I/O
TxD: chân phát dữ liệu nối tiếp
RxD: chân nhận dữ liệu nối tiếp
Sơ ồ chân củ ESP8266-12
Hình 2.12 Sơ đồ chân của ESP8266-12
Trang 322.2.4 Firmware AT commands
AT commands l firmware ban đầu được nh sản xuất c i đặt sẵn trên module Người sử dụng có dùng các lệnh để kiểm tra v cấu hình Wi-Fi trên module
Một số lưu ý khi sử dụng tập lệnh AT để cấu hình cho module:
Tốc độ giao tiếp mặc định (Baud rate): 9600
Các lệnh AT nên được viết hoa
Các lệnh AT phải được kết thúc bởi 2 dấu CR (\ r) + LF(\n), tương đương với 2 byte 0x0D + 0x0A
Việc c i đặt các kết nối Wi-Fi sẽ tự động được lưu lại v không phải c i đặt lại khi reset module
Một số câu lệnh để kiểm tra v cấu hình Wi-Fi cơ bản cho module:
Trang 330 = 1 kênh kết nối
1 = Nhiều kênh kết nối
AT+CWJAP? Truy vấn mạng
AT+CWLAP Truy vấn các mạng
AT+CWQAP
Đóng kế nối Wi-Fi với một Access Point
AT+ CWQAP
Trang 34AT+CIFSR Xem địa chỉ IP của
AT+CWSAP =
"MLAB","123456 78",5,3
AT+CWSAP?
Xem c i đặt hiện tại của Access Point
AT + CWSAP?
AT+CWLIF
Danh sách các station đang kết nối
AT + CWLIF
Mạch nạp USB to TTL (loại có điện áp 3.3v): dùng để nạp firmware v chương trình từ máy tính xuống module ESP8266
Trang 35Hình 2.13 Mạch nạp USB to TTL
2.2.5 Phần mềm ESPlorer
ESPlorer là IDE (Integrated Development Environment - Môi trường phát triển tích hợp) hỗ trợ lập trình cho module ESP8266 Yêu cầu c i đặt JAVA (Standart Edition - SE ver 7 trở lên) trước khi sử dụng
ESPlorer hỗ trợ các hệ điều h nh sau:
Windows(x86, x86-64)
Linux(x86, x86-64, ARM soft & hard float)
Solaris(x86, x86-64)
Mac OS X(x86, x86-64, PPC, PPC64)
Trang 36Hình 2.14 Giao diện l m việc của ESPlorer
2.2.6 Ứng dụng
Một số ứng dụng đã đƣợc phát triển dựa trên các dòng module ESP8266: đọc
dữ liệu thời gian từ mạng Internet, điều khiển robot từ xa
Trang 37Hình 2.15 Ứng dụng của ESP8266 Hiện nay, có nhiều ứng dụng dựa trên ESP8266, nhưng hầu hết đều ở nước ngo i, tại Việt Nam chưa xuất hiện nhiều sản phẩm dựa trên ESP8266
2.3 Module Arduino
2.3.1 Giới thiệu về Arduino Uno R3
Hình 2.16 Kit Arduino Uno R3
Trang 38Kit Arduino UNO cùng với sự hỗ trợ lập trình của phần mềm có cùng tên l Arduino ( hiện tại có version 1.0.5-r3) v đặc biệt l các ứng dụng, mã nguồn của các ví dụ được cung cấp trên Website: http://arduino.cc/en/ giúp cho người dùng dễ
d ng tiếp cận với dòng chip AVR v sử dụng bộ KIT n y
Kit Arduino Uno l một board vi điều khiển dựa trên chip AVR ATmega328
Do đó board mạch có 14 chân số đóng vai trò ngõ v o/ra – Digital Input/Output ( trong đó 6 chân có thể được dùng như các chân điều chế độ rộng xung-PWM), 6 chân đóng vai trò ngõ v o tương tự ( Analog Inputs), bộ dao động dùng thạch anh 16Mhz, kết nối USB, kết nối nguồn riêng với Adapter AC-DC, nút nhấn RESET v các đầu cắm ICSP
Thông số chip ATmega328 (Datasheet):
Điện áp hoạt động : 5V
Điện áp v o ( nên dùng): 7-12V
Điện áp v o ( giới hạn) : 6-20V
Chân số (Digital I/O) : 14 chân trong đó có 6 chân ra PWM
Chân tương tự (Analog ): 6
Dòng DC cho ngõ vào/ra: 40mA
Dòng DC cho chân 3.3V: 50mA
Bộ nhớ Flash: 32KB với 0.5KB được dùng cho Bootloader
Trang 39Hình 2.17 Các linh kiện trên kit Arduino Uno R3
2.3.2 Sơ ồ chân của Arduino Uno R3
Hình 2.18 Sơ đồ chân Arduino Uno R3
USB (1):
Trang 40Arduino sử dụng cáp USB để giao tiếp với máy tính Thông qua cáp USB chúng ta có thể Upload chương trình cho Arduino hoạt động, ngo i ra USB còn l nguồn cho Arduino
Nguồn (2 và 3):
Khi không sử dụng USB l m nguồn thì chúng ta có thể sử dụng nguồn ngo i thông qua jack cắm 2.1mm ( cực dương ở giửa ) hoặc có thể sử dụng 2 chân Vin v GND để cấp nguồn cho Arduino
Bo mạch hoạt động với nguồn ngo i ở điện áp từ 5 – 20 volt Chúng ta có thể cấp một áp lớn hơn tuy nhiên chân 5V sẽ có mực điện áp lớn hơn 5 volt V nếu
sử dụng nguồn lớn hơn 12 volt thì sẽ có hiện tượng nóng v l m hỏng bo mạch Khuyết cáo các bạn nên dùng nguồn ổn định l 5 đến dưới 12 volt
Chân 5V và chân 3.3V (Output voltage) : các chân n y dùng để lấy nguồn ra từ nguồn m chúng ta đã cung cấp cho Arduino Lưu ý : không được cấp nguồn v o các chân n y vì sẽ l m hỏng Arduino
Arduino Uno có 14 chân digital với chức năng input v output sử dụng các
h m pinMode(), digitalWrite() v digitalRead() để điều khiển các chân n y tôi sẽ đề cập chúng ở các phần sau
Cũng trên 14 chân digital n y chúng ta còn một số chân chức năng đó l :
Serial: chân 0 (Rx), chân 1 (Tx) Hai chân n y dùng để truyền (Tx) v nhận (Rx) dữ liệu nối tiếp TTL Chúng ta có thể sử dụng nó để giao tiếp với