Mô hình nhà nuôi chim yến sử dụng atmega328 module Sim800 điều khiển thiết bị qua Internet cũng có thể sử dụng để làm mô hình nhà thông minh điều khiển thiết bị qua app blynk để bật tắt các thiết bị Tìm hiểu về vi điều khiển ATmega328.+ Tìm hiểu về phương pháp lập trình nhúng trang Web Server vào vi điều khiển.+ Tìm hiểu về IC thời gian thực DS1307.+ Tìm hiểu phương thức hoạt động của Module SIM800.+ Tìm hiểu cảm biến độ ẩm SHT10.+ Thi công một mạch đơn giản điều khiển thiết bị
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH KHOA KỸ THUẬT ĐIỆN TỬ 2
-
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHUYÊN NGHÀNH: KỸ THUẬT ĐIỆN TỬ - MÁY TÍNH
HỆ CHÍNH QUY NIÊN KHÓA 2014 – 2019
Trang 2HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH KHOA KỸ THUẬT ĐIỆN TỬ 2
_
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ – MÁY TÍNH
HỆ CHÍNH QUY NIÊN KHÓA: 2014-2019
- CHƯƠNG 2: TÌM HIỂU VÀ LỰA CHỌN LINH KIỆN
- CHƯƠNG 3: THIẾT KẾ THI CÔNG VÀ KIỂM TRA
- CHƯƠNG 4: HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI
Sinh viên thực hiện : PHẠM THANH TÂM
Giáo viên hướng dẫn : ThS NGUYỄN LAN ANH
Trang 3NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Tp Hồ Chí Minh, ngày … tháng … năm 2018
Giáo viên (Ký và ghi rõ họ tên)
Trang 4NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Tp Hồ Chí Minh, ngày … tháng … năm 2018
Giáo viên (Ký và ghi rõ họ tên)
Trang 5LỜI CẢM ƠN
Lời đầu tiên, em xin chân thành cảm ơn tới toàn thể các thầy, cô giáo trong Khoa Kĩ thuật Điện – Điện Tử II – Học viện Công Nghệ Bưu Chính Viễn Thông cơ sở tại Tp Hồ Chí Minh đã tận tình chỉ bảo, dạy dỗ em trong suốt quá trình học tập ở đây Qua đây, em xin gửi lời cảm ơn sâu sắc tới giáo viên hướng dẫn Th.S Nguyễn Lan Anh, người đã hướng dẫn em tận tình, luôn quan tâm, động viên, đưa ra cho em những ý kiến đóng góp xác đáng trong suốt quá trình làm đồ án Sau cùng, em xin gửi lời cảm ơn gia đình, bạn bè đã động viên, tạo điều kiện giúp đỡ em hoàn thành luận văn để bảo vệ trước hội đồng khoa học Em xin bày tỏ lòng thành kính tri ân tới tất cả các thầy cô, gia đình và bạn bè vì tất cả sự quan tâm và hỗ trợ đó
Trong quá trình thực hiện luận văn, chắc chắn sẽ còn những thiết sót, rất mong nhận được những ý kiến đóng góp của thầy cô và các bạn
Em xin chân thành cảm ơn!
Tp Hồ Chí Minh, ngày … tháng … Năm 2018
Sinh viên thực hiện
PHẠM THANH TÂM
Trang 6MỤC LỤC
LỜI NÓI ĐẦU Trang 1 CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG Trang 2 1.1 Giới thiệu chương Trang 2 1.2 Lý do chọn đề tài Trang 2 1.3 Mục tiêu nghiên cứu Trang 3 1.4 Yêu cầu của nghiên cứu Trang 3 1.5 Giới hạn đề tài nghiên cứu Trang 4 1.6 Kết quả nghiên cứu của đề tài Trang 4 1.7 Đối tượng nghiên cứu Trang 5 CHƯƠNG 2: TÌM HIỂU VÀ LỰA CHỌN LINH KIỆN Trang 6 2.1 Giới thiệu chương Trang 6 2.2 Kết nối tới Internet Trang 6 2.3 Tìm hiểu về giao thức HTTP Trang 8 2.3.1 Khái quát về giao thức HTTP Trang 8 2.3.2 Kết nối HTTP Trang 9 2.3.3 Thông điệp HTTP Trang 10 2.4 Tìm hiểu về App Blynk Trang 12 2.4.1 App Blynk là gì? Trang 12 2.4.2 Cách thức hoạt động của Blynk Trang 12 2.4.3 Cài đặt và sử dụng App Blynk Trang 13 2.5 Các linh kiện được sử dụng trong mạch Trang 17 2.5.1 LM2596 – ADJ Trang 17 2.5.2 Module SIM800 Trang 18 2.5.3 ST ATmega328 Trang 21 2.5.4 IC DS1307 Trang 32 2.5.5 Cảm biến độ ẩm nhiệt độ không khí SHT10 Trang 34
Trang 72.5.6 Màn hình OLED Trang 35
2.5.7 Một số linh kiện khác Trang 36
CHƯƠNG 3: THIẾT KẾ HOẠT ĐỘNG CỦA HỆ THỐNG Trang 37
3.1 Giới thiệu chương Trang 37
3.2 Sơ đồ khối và mạch nguyên lý tổng quan Trang 37
3.3 Chức năng, thiết kế và tính toán cho từng khối Trang 39
3.3.1 Khối nguồn Trang 39
3.3.2 Khối Module SIM800 Trang 40
3.3.3 Khối xử lý trung tâm Trang 42
3.3.4 Khối Relay Trang 44
3.3.5 Khối thời gian thực Trang 45
3.3.6 Khối OLED và khối cảm biến Trang 46
3.4 Thiết kế và thi công mạch Trang 47
3.4.1 Sơ đồ mạch layout Trang 47
3.4.2 Thi công lắp ráp mạch Trang 48
CHƯƠNG 4: HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI Trang 50
Trang 8MỤC LỤC HÌNH
Hình 1.1 Mô hình nhà nuôi chim yến cơ bản ở Việt Nam Trang 2 Hình 1.2 Lắp đặt hệ thống làm tổ chim yến Trang 4 Hình 2.1 Mô hình kết nối Internet Trang 6 Hình 2.2 Hệ thống máy chủ Trang 7 Hình 2.3 Mô hình client – server Trang 8 Hình 2.4 Quy trình hoạt động kết nối HTTP không bền vững Trang 9 Hình 2.5 Cấu trúc chung của thông điệp HTTP yêu cầu Trang 10 Hình 2.6 Cấu trúc chung của một thông điệp HTTP trả lời Trang 11 Hình 2.7 App Blynk Trang 12 Hình 2.8 Cách thức hoạt động của App Blynk Trang 13 Hình 2.9 Tải Blynk Trang 13 Hình 2.10 Mã Auth Token Trang 14 Hình 2.11 Tải thư viện Blynk Trang 14 Hình 2.12 Giao diện của App Blynk Trang 15 Hình 2.13 Thanh công cụ của Blynk Trang 16 Hình 2.14 Thiết lập cụ thể Blynk Trang 16 Hình 2.15 IC nguồn LM2596 – ADJ Trang 17 Hình 2.16 Sơ đồ cơ bản để LM2596 cho điện áp đầu ra ở 5V – 3A Trang 17 Hình 2.17 Module SIM800 Trang 18 Hình 2.18 Sơ đồ chân của SIM800 Trang 19 Hình 2.19 ATmega328 Trang 21 Hình 2.20 Các pin của ATmega328 Trang 22 Hình 2.21 IC DS1307 Trang 32 Hình 2.22 Cảm biến SHT10 Trang 34 Hình 2.23 Màn hình OLED 0.96 inch Trang 35 Hình 2.24 Nguyên tắc hoạt động của LED và OLED Trang 35
Trang 9Hình: 3.1: Sơ đồ khối tổng quan Trang 37 Hình 3.2a: Sơ đồ nguyên lý tổng quan Trang 38 Hình 3.2b: Sơ đồ nguyên lý tổng quan Trang 38 Hình 3.3 Khối nguồn Trang 39 Hình 3.4 Sơ đồ khối Module SIM800 Trang 40 Hình 3.5 Các tụ được đặt vào chân VBAT của SIM800 Trang 41 Hình 3.6 Kết nối khe SIM với Module Trang 41 Hình 3.7 Mạch π Matching Trang 42 Hình 3.8 Khối xử lý trung tâm Trang 42 Hình 3.9 Các tụ được mắc vào chân VCC của ATmega328 Trang 43 Hình 3.10 Nối các chân để nạp code cho vi điều khiển Trang 43 Hình 3.11 Khối Relay và nút nhấn Trang 44 Hình 3.12 Các nút nhấn để điều khiển thiết bị Trang 45 Hình 3.13 Khối thời gian thực Trang 45 Hình 3.14 Khối nguồn và khối cảm biến Trang 46 Hình 3.15 Sơ đồ mạch layout Trang 47 Hình 3.16 Mạch in 3D Trang 48 Hình 3.17 Mạch thực tế Trang 49
Trang 10MỤC LỤC BẢNG
Bảng 2.1 Chọn kiểm tra parity Trang 25 Bảng 2.2 Độ dài dữ liệu truyền Trang 25 Bảng 2.3 Tính tốc độ baud Trang 26 Bảng 2.4 (a) Một số tốc độ baud mẫu Trang 27 Bảng 2.4 (b) Một số tốc độ baud mẫu Trang 27 Bảng 2.4 (c) Một số tốc độ baud mẫu Trang 28 Bảng 2.4 (d) Một số tốc độ baud mẫu Trang 28 Bảng 2.5 Tóm tắt giá trị các bit và điện áp tham chiếu tương ứng Trang 29 Bảng 2.6 Bảng tóm tắt các chế độ hoạt động ADC Trang 30 Bảng 2.7 Cách chọn hệ số chia Trang 31
Trang 11LỜI NÓI ĐẦU
Nuôi chim yến trong nhà để lấy tổ là một nghề khá mới mẻ và phát triển ở Việt Nam, mang lại hiệu quả kinh tế khá cao vì sản phẩm này có giá trị khá lớn Nay đã trở thành những tư liệu trong các công trình nghiên cứu về phát triển nghề nuôi chim yến trong nhà Trong thực tế, nghề này nay đã tạo nên một làn sóng mới về đầu tư sản suất đầy triển vọng,
có sức lan tỏa khá lơn
Theo số liệu điểu tra vào thời điểm tháng 6/2014, cả nước có 30 tỉnh, thành phố nuôi chim yến trong nhà với tổng số lượng trên 2.610 nhà yến, chủ yếu tập trung ở các tỉnh, thành phố: Tiền Giang, Khánh Hòa, Ninh Thuận, Tp Hồ Chí Minh…
Với sự phát triển của khoa học, đặc biệt là ngành điện tử và Internet, con người có thể điều khiển, giám sát quá trình sinh sản và phát triển của chim yến được nuôi trong nhà của mình để cho ra sản lượng cao, chất lượng tốt phục vụ đủ nhu cầu của thị trường hiện nay, nhưng với vốn và công sức ít hơn các mô hình nhà nuôi yến hiện tại bằng việc sử dụng các linh kiện điện tử và Internet
Qua quá trinh tìm hiểu và nghiên cứu em đã quyết đinh chọn đề tài “THIẾT KẾ HỆ
THỐNG NUÔI CHIM YẾN” để làm đề tài báo cáo tốt nghiệp, đầu tư, triển khai đề tài
nhằm phục vụ quá trình nuôi chim yến trong nhà
Trong quá trình làm đề tài không thể tránh khỏi thiếu xót và hạn chế Em rất mong nhận được sự góp ý, chỉ bảo của các thầy cô và các bạn
Em xin chân thành cảm ơn cô Th.S Nguyễn Lan Anh đã tận tình hướng dẫn và giúp
đỡ em trong suốt quá trình em thực hiện đề tài tốt nghiệp này
Trang 12CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG
1.1 Giới thiệu chương
Ngày nay mô hình nhà nuôi chim yến đang được phát triển và được xem là một ngành khá phát triển ở Việt Nam mang lại một lợi ích không hề nhỏ cho người dân Tuy nhiên việc xây nhà nuôi yến mới chỉ là tự phát, không chuyên nghiệp, dẫn đến nhiều thiệt hại, lãng phí đáng tiếc Chính vì vậy, ở chương này chúng ta cần phải tìm hiểu những yêu cầu cần thiết để phát triển được hệ thống nhà nuôi chim yến một cách hiện đại và phát triển nhất
Hình 1.1 Mô hình nhà nuôi chim yến cơ bản ở Việt Nam
1.2 Lý do chọn đề tài
Ngày nay cùng với sự tiến bộ của khoa học kỹ thuật, các thiết bị điện tử ra đời ngày càng nhiều về chủng loại cũng như tính năng sử dụng Bên cạnh đó nhu cầu sử dụng các thiết bị một cách tự động ngày càng cao, con người ngày càng muốn nhiều thiết bị với kỹ thuật và công nghệ ngày càng cao Có thể ở Việt Nam chưa phát triển mạnh mẽ trong lĩnh vực này nhưng hiện nay trên thế giới, nhất là các quốc gia ở Châu Âu hay Mỹ thì các mô
Trang 13CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG
hình điều khiển từ xa đã phát triển rất mạnh mẽ Từ những nhu cầu thực tế đó, em muốn đưa một phần những kỹ thuật hiện đại của thế giới áp dụng vào điều kiện thực tế của đất nước
Hiện nay, mô hình nuôi chim trong nhà để lấy tổ là một nghề khá mới mẻ ở Việt Nam Phát triển rộng rãi trên cả nước và mạnh mẽ nhất là ở các tỉnh miền trung: Khánh Hòa, Phú Yên, Bình Định, Quảng Ngãi, …
Xuất phát từ những yêu cầu thực tế trong cuộc sống, đề tài của em nghiên cứu có thể tạo ra một hệ thống điều khiển, giám sát thiết bị, quản lý nhà chim yến từ xa thông qua mạng Internet nhằm đáp ứng nhu cầu ngày càng cao của con người
Đề tài là lấy cơ sở là mạng Internet để điều khiển thiết bị Việc sử dụng mạng Internet
để điều khiển thiết bị có thuận lợi là tiết kiệm chi phí do hầu hết các hộ dân ở Việt Nam đều có lắp đặt các thiết bị mạng, mang tính cạnh tranh và cơ động cao Ngoài ra sản phẩm này có tính mở, có thể áp dụng nhiều đối tượng khác nhau trong dân dụng cũng như trong công nghiệp
1.3 Mục tiêu nghiên cứu
Đồ án được nghiên cứu và thực hiện với mục đích áp dụng những kiến thức đã được học trong nhà trường để thiết kế, tạo ra một hệ thống điều khiển từ xa thông qua mạng Internet
Nghiên cứu và tạo ra một giao diện App Blynk để thực hiện điều khiển với mạng Internet
Tìm hiểu các thiết bị linh kiện điện tử được sử dụng trong hệ thống như: Module SIM800, vi điều khiển ATmega328, IC thời gian thực DS1307, Cảm biến độ ẩm SHT10
1.4 Yêu cầu của nghiên cứu
Nhà nuôi chim yến cần được thết lập các tiêu chuẩn về ánh sáng, nhiệt độ, độ ẩm, … phù hợp với đặc tính làm tổ yến và sinh sản của loại chim yến Ngoài ra, hệ thống âm thanh
để “Gọi” yến về cũng cần phải được chú trọng để thu hút lượng yến cần thiết
Bên cạnh đó việc giữ được yến ở lâu, xây tổ mới mang tính quyết định Muốn chim yến được ở lâu, ngôi nha bạn xây phải được duy trì ở tình trạng ổn định trong thời gian dài nên phải cần một cảm biến có độ chính xác cao nhằm đáp ứng được nhu cầu này Luôn luôn được theo dõi qua hệ thống camera và hạn chế tới mức thấp nhất những tác động của con người
Hơn nữa, bạn cần phải đảm bảo nhà yến đủ an toàn, vệ sinh để đàn yến tránh xa được những tác nhân tiêu cực như dịch cúm, vi rút, vi khuẩn có hại Điều đó phụ thuộc vào rất
Trang 14nhiều hệ thống điều hòa, thông gió và tình trạng vệ sinh, phòng bệnh thường niên của chủ nhân
Hình 1.2 Lắp đặt hệ thống làm tổ chim yến
1.5 Giới hạn đề tài nghiên cứu
Để thực thi một hệ thống điều khiển từ xa qua mạng Internet áp dụng cho một hệ thống nhà nuôi chim yến hoàn chỉnh như nói trên thì rất phức tạp và tốn kém
Để đáp ứng việc điều khiển toàn bộ các thiết bị này đỏi hỏi phải có một lượng thời gian, kiến thức nhất định Bên cạnh đó còn là vấn đề tài chính, Với lượng thời gian và kiến thức có hạn, trong đề tài này em chỉ thực thi một phần của hệ thống hoàn chỉnh đó Đó là điều khiển đóng mở thiết bị, hẹn giờ cho các thiết bị hoạt động và dựa vào điều kiện môi trường như nhiệt độ và độ ẩm của không khí để điều khiển được các thiết bị đó
Với những gì đã trình bày trên, em đã tiến hành nghiên cứu, khảo sát, thực hiện và đạt được các mục tiêu như sau:
+ Thiết lập một App Blynk và thực hiện, hẹn giờ, xem thông tin qua đó có thể điều khiển các thiết bị ON/OFF được thể hiện ngay trên giao diện App
+ Có thể điều khiển các thiết bị trực tiếp bằng các nút nhấn thông qua một giao diện hiển thị trên màn hình LCD
1.6 Kết quả nghiên cứu của đề tài
Với những mục tiêu và kế hoạch đã đề ra, cùng với sự nỗ lực nghiên cứu, em đã đạt được các kết quả nhất định sau:
Trang 15CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG
+ Thiết kế thành công mạch điều khiển giao tiếp với thiết bị qua mạng Internet với các tính năng: Giao tiếp thành công với mạng Internet qua chuẩn truyền thông HTTP, thực hiện quan sát trạng thái và ra lệnh điều khiển thiết bị thông qua Web Server
+ Ngoài ra, mạch điều khiển được thiết kế sẵn sàng cho việc tích hợp thêm các thiết
bị ngoại vi trong tương lai
1.7 Đối tượng nghiên cứu
+ Tìm hiểu về vi điều khiển ATmega328
+ Tìm hiểu về phương pháp lập trình nhúng trang Web Server vào vi điều khiển + Tìm hiểu về IC thời gian thực DS1307
+ Tìm hiểu phương thức hoạt động của Module SIM800
+ Tìm hiểu cảm biến độ ẩm SHT10
+ Thi công một mạch đơn giản điều khiển thiết bị
Trang 16CHƯƠNG 2 TÌM HIỂU VÀ LỰA CHỌN LINH KIỆN
2.1 Giới thiệu chương
Từ những kiến thức đã tìm hiểu được ở Chương 1, ta bắt đầu tìm hiểu các chương trình liên quan để hoàn thành tốt đề tài nghiên cứu, sau đó lựa chọn đưa ra những linh kiện phù hợp đáp ứng được yêu cầu đã đề ra Bằng cách dựa trên nền tảng là Internet ta tiến hành nghiên cứu phương thức hoạt động, các chuẩn giao thức để điều khiển các thiết bị thông qua mạng Internet
2.2 Kết nối tới Internet
Mạch điều khiển sẽ được kết nối thông qua Module SIM, qua Web Server, người sử dụng sẽ điểu khiển được hoạt động của Board mạch
Hình 2.1 Mô hình kết nối Internet
Web Server
Web Server là máy chủ dùng để xử lý các truy cập được gửi từ máy khách thông qua giao thức HTTP Các truy cập HTTP này thường được gửi từ các chương trình trình duyệt web trên máy tính cá nhân Thuật ngữ Web Server có thể được sử dụng để đề cập tới 2 khía cạnh là phần cứng hoặc phần mềm Với khía cạnh phần cứng thì Web Server về bản chất cũng là một loại máy chủ giống như các máy chủ khác, tuy nhiên máy chủ này cần phải được cài đặt ít nhất một phần mềm giúp xử lý các truy cập gửi tới thông qua giao thức HTTP
Trang 17CHƯƠNG 2: TÌM HIỂU VÀ LỰA CHỌN LINH KIỆN
Hình 2.2 Hệ thống máy chủ
Ở phần lõi của máy chủ Web là một dịch vụ Web phục vụ nội dung tĩnh cho một trình duyệt bằng cách tải một tập tin từ đĩa và truyền nó lên mạng, tới một người sử dụng trình duyệt Web Sự trao đổi hoàn toàn này được thực hiện gián tiếp thông qua một trình duyệt
và một máy chủ kết nối tới một thiết bị khác sử dụng HTTP Bất kì máy tính nào cũng có thể vào trong một dịch vụ Web bằng cách cài phần mềm dịch vụ và kết nối Internet Trên mạng có rất nhiều ứng dụng phục vụ Web, bao gồn các phần mềm cung cấp tên miền từ NCSA và Apache, và các phần mềm thương mại của Microsoft, Netscape và của nhiều hãng khác
Máy Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng làm để lưu trữ thông tin như một ngân hàng dữ liệu, chứa những Website đã được thiết kế cùng với những thông tin liên quan khác (Các mã Script, các chương trình, và các file Multimedia)
Web Server có khả năng gửi đến máy khách những trang Web thông qua môi trường Internet (hoặc Intranet) qua giao thức HTTP – Giao thức được thiết kế để gửi các file đến trình duyệt Web (Web Browser) và các giao thức khác
Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể có một Domain Name Giả sử khi bạn đánh vào thanh Address trên trình duyệt của bạn một dòng
Domain Name là www.abc.com Server này sẽ tìm trang Web có tên là index.htm rồi gửi
nó đến trình duyệt của bạn
Bất kì một máy tính nào cũng có thể trở thành một Web Server bởi việc cài đặt lên nó một chương trình phần mềm Server Software và sau đó kết nối vào Internet
Trang 18Khi máy tính của bạn kết nối đến một Web Server và gửi đến yêu cầu truy cập các thông tin từ một trang Web nào đó, Web Server Software sẽ nhận ra yêu cầu và gửi lại cho bạn những thông tin mà bạn mong muốn
Giống như những phần mềm khác mà bạn đã từng cài đặt trên máy tính của mình, Web Server Software cũng chỉ là một ứng dụng phần mềm Nó được cài đặt và chạy trên máy tính dùng làm Web Server, nhờ có chương trình này mà người sử dụng có thể truy cập đến các thông tin của trang Web từ một máy tính khác ở trên mạng (Internet, Intranet) Web Server Software còn có thể được tích hợp với cơ sở dữ liệu (Database), hay điều khiển các việc kết nối vào cơ sở dữ liệu để có thể truy cập và kết xuất thông tin từ cơ sở dữ liệu lên các trang Web và truyền tải chúng đến người dùng
Server phải hoạt động liên tục 24/24 giờ, 7 ngày một tuần và 365 ngày một năm, để phục vụ cho việc cung cấp thông tin trực tuyến Vị trí đặt Server đóng vai trò quan trọng trong chất lượng và tốc độ lưu chuyển thông tin từ Server và máy tính truy cập
2.3 Tìm hiểu về giao thức HTTP
2.3.1 Khái quát về giao thức HTTP
HTTP (Hypertext Transfer Protocol) là giáo thức thuộc lớp ứng dụng Web Sử dụng kết nối TCP cổng 80 HTTP được định nghĩa trong RFC 1945 (HTTP 1.0) và RFC 2616 (HTTP 1.1)
HTTP hoạt động dựa trên mô hình client – sever Trình duyệt client thực hiện yêu cầu, nhận và hiển thị đối tượng Web (gồm dữ liệu HTML, hình ảnh JPEG, Java applet, video,
âm thanh, …) Trong khi Web Server sẽ gửi trả lời khi nhận được yêu cầu từ Client
Hình 2.3 Mô hình client – server
Trang 19CHƯƠNG 2: TÌM HIỂU VÀ LỰA CHỌN LINH KIỆN
2.3.2 Kết nối HTTP
Có hai loại kết nối HTTP là kết nối không bền vững và kết nối bền vững
Kết nối không bền vững: Sau khi, server gửi đi một đối tượng thì kết nối TCP sẽ được đóng Như vậy mỗi kết nối TCP chỉ truyền được duy nhất một yêu cầu từ client và nhận lại một thông điệp trả lời từ server
Quy trình hoạt động của kết nối HTTP không bền vững
Hình 2.4 Quy trình hoạt động kết nối HTTP không bền vững
Hình 2.4 thể hiện các bước hoạt động kết nối HTTP không bền vững giữa HTTP client (Firefox, Chrome, ….) và HTTP server (ví dụ www.abc.com):
+ Bước 1: Client khởi tạo kết nối TCP bằng việc gửi yêu cầu đến server Server nhận được yêu cầu và chấp nhận kết nối bằng việc gửi trả lời về cho client Nếu sau khoảng thời gian RTT mà không được nhận được trả lời từ phía server thì client sẽ gửi lại yêu cầu + Bước 2: Sau khi kết nối được thiết lập, client sẽ gửi thông điệp yêu cầu chứa tên đường dẫn của dối tượng (ví dụ: www.abc.com/homepage/index.php) đến server Server nhận được thông điệp yêu cầu và tiến hành lấy ra các đối tượng yêu cầu Sau đó, các đối tượng được đóng gói thành thông điệp trả lời và gửi đến client
+ Bước 4: Client nhận thông điệp trả lời chứa tập tin HTML và hiển thị các đối tượng + Bước 5: Lặp lại các bước từ 1 – 4 cho các đối tượng khác
Lưu ý:
+ Trong kết nối HTTP không bền vững cần có một RTT (Round Trip Time) để khởi tạo cầu nối TCP Ngoài ra cần có một RTT cho thông điệp HTTP yêu cầu và một và byte
Trang 20đầu tiên của thông điệp HTTP trả lời được trả về Tổng thời gian truyền tập tin = 2RTT + thời gian truyền
+ Thời gian đáp ứng RTT là thời gian gửi một gói tin cơ bản từ client đến server rồi quay ngược lại RTT bao gồm trễ truyền gói tin và hàng đợi, độ trễ trong các bộ định tuyến trung gian, chuyển mạch và xử lý gói tin
Kết nối bền vững: Server sẽ duy trì kết nối TCP cho việc gửi nhiều đối tượng Như vậy sẽ có nhiều yêu cầu từ client được gửi đến server trên cùng một kết nối Thông thường kết nối TCP này sẽ được đóng lại trong một khoảng thời gian định trước
Quy trình hoạt động của kết nối bền vững:
+ Kết nối bền vững có pipelining:
Client phát ra yêu cầu mới, chỉ đáp ứng trước đó đã nhận xong
RTT cho mỗi đối tượng tham chiếu
+ Kết nối bền vững có pipelining:
Mặc định có trong HTTP/1.1
Client gửi yêu cầu ngay sau khi gặp đối tượng tham chiếu
Ít nhất một RTT cho tất cả đối tượng tham chiếu
2.3.3 Thông điệp HTTP
Thông điệp HTTP được viết bằng văn bản ASCII thông thường, do vậy người dùng
có thể đọc được Có hai dạng thông điệp HTTP: Thông điệp HTTP yêu cầu và thông điệp HTTP Trả lời
Thông điệp HTTP yêu cầu:
Hình 2.5 Cấu trúc chung của thông điệp HTTP yêu cầu
Trang 21CHƯƠNG 2: TÌM HIỂU VÀ LỰA CHỌN LINH KIỆN
Request line: Dòng đầu tiên của thông điệp HTTP yêu cầu Request line bao gồm có
3 trường như : Cách thức (method), URL, phiên bản (version) Trường cách thức (method)
có thể chứa các giá trị khác nhau, bao gồm Get, Post, Head Phần lớn các thông điệp HTTP yêu cầu đều sử dụng phương thức Get Các phương thức Get, được sử dụng khi trình duyệt yêu cầu một đối tượng được xác định trong trường URL Phương thức Post là những phương thức mà HTTP client sử dụng khi người dùng điền vào một biểu mẫu (form) nào
đó, chẳng hạn như người dùng muốn nhập một từ khóa nào đó vào google.com để tìm kiếm thông tin Nếu phương thức là Post thì Entity Body của thông điệp yêu cầu sẽ chứa thông tin mà người dùng đã điền Phương thức Head tương tự như Get, nhưng sever nhận được yêu cầu bằng phương thức Head, nó sẽ trả về thông điệp HTTP và không chưa đối tường yêu cầu
Head line: Là các dòng tiếp theo
Sp: Bao gồm các giá trị về khoảng trống
Blank line: Bao gồm các giá trị điểu khiển trử về đầu dòng, xuống trang (cr, lf) Entity Body (nếu có): Là phần thân của thông điệp HTTP yêu cầu
Thông điệp HTTP trả lời
Thông điệp HTTP trả lời có ba phần: Dòng trạng thái (status line), dòng tiêu đề (header line), thân thông điệp (entity body) Thân (body) là thành phần chính của thông điệp Status line có 3 trường: Phiên bản của giao thức (version), mã trạng thái (tatus code), trạng thái tương ứng (phrase) và các giá trị khoảng trống (sp), điều khiển trở về đầu dòng, xuống trang (cr, lf)
Hình 2.6 Cấu trúc chung của một thông điệp HTTP trả lời
Trang 222.4 Tìm hiểu về App Blynk
2.4.1 App Blynk là gì?
App Blynk là một ứng dụng chạy trên nền tảng iOS và Android để điểu khiển, kiểm soát thiết bị Esp8266,Arduino, Raspberry Pi và các thiết bị khác trên Internet Blynk không
bị ràng buộc với những phần cứng Thay vào đó, nó có hỗ trợ phần cứng để lựa chọn Cho
dù Arduino hoặc Raspberry Pi muốn kết nối đến Internet qua Wifi, Ethernet hoặc chip Esp8266, Blynk sẽ giúp đưa nó làm việc và sẵn sàng kiển soát trên Internet
Hình 2.7 App Blynk
2.4.2 Cách thức hoạt động của Blynk
Blynk được thiết kế cho Internet of Things Nó có thể điều khiển phần cứng từ xa, nó
có thể hiển thị dữ liệu cảm biến, nó có thể lưu trữ dữ liệu, hóa đơn và nhiều thứ khác
Thư viện Blynk: Phù hợp cho tất cả các nền tảng phần cứng, cho phép giao tiếp với máy chủ và xử lý tất cả các dữ liệu vào ra
Trang 23CHƯƠNG 2: TÌM HIỂU VÀ LỰA CHỌN LINH KIỆN
Hình 2.8 Cách thức hoạt động của App Blynk
Bây giờ mỗi khi bạn nhấn nút trong một ứng dụng Blynk, thông báo sẽ chuyển đến Blynk Cloud, nó sẽ tìm đường đến phần cứng của bạn và điều khiển chúng theo ý bạn Sau
đó nó sẽ lấy dữ liệu từ phần cứng của bạn và thông báo cho bạn biết thiết bị của bạn đã được hoạt động
2.4.3 Cài đặt và sử dụng App Blynk
App Blynk thực ra là một App trên điện thoại, cho phép người dùng có thể tạo ra giao diện và điều khiển thiết bị theo ý thích của cá nhân
Tất nhiên ngoài những điểm lợi từ Blynk thì còn có những cái hạn chế như phải mua energy để tạo ra được nhiều giao diện và chia sẻ giao diện cho người khác Nhưng vấn đề này cũng không phải là vấn đề lớn lắm
Tải ứng dụng Blynk trên Android hoặc iOS
Hình 2.9 Tải Blynk
Trang 24Lấy mã Auth Token
Để kết nối được với ứng dụng Blynk và phần cứng của bạn, bạn cần phải có một mã Token xác thực
+ Tạo tài khoản trên ứng dụng Blynk của máy chủ Việt Nam Phần Custom điền IP: cloud.blynk.vn và Port: 8443
+ Tạo một dự án mới Sau đó, chọn bảng kết nối mà bạn sẽ sử dụng
+ Sau khi tạo dự án mới thành công, bạn cần sao chép hoặc gửi mã xác thực Auth Token qua email tài khoản
+ Kiểm tra email trong hộp thư đến và tìm mã xác thực Auth Token
Hình 2.10 Mã Auth Token
Cài đặt thư viện Blynk
Thư viện Blynk nên được cài bằng tay Làm theo hướng dẫn:
Hình 2.11 Tải thư viện Blynk
+ Tải thư viện Blynk.zip phía trên
Trang 25CHƯƠNG 2: TÌM HIỂU VÀ LỰA CHỌN LINH KIỆN
+ Giải nén thư viện Blynk.zip Bạn sẽ thấy thư mục chứa thư viện Blynk
+ Sao chép thư mục Blynk vào thư viện của bạn
Lưu ý rằng thư viện của bạn sẽ không hoạt động nếu bạn chọn không đúng đường dẫn thư viện
Sử dụng App Blynk
Để kết nối với ứng dụng Blynk và bộ điều khiển bạn cần có một mã Token xác thực Trước hết bạn cần phải có một tài khoản Gmail, Yahoo, Facebook, … hoặc chúng ta tạo một tài khoản mới Sau khi có tài khoản, khởi động chương trình Blynk được cài đặt trên điện thoại, lúc này sẽ hiện thị giao diện Blynk và thực hiện các bước như hình sau:
+ Tạo một project, đây được hiểu giống như là một ứng dụng
+ Điền tên Project và chọn Board phần cứng (Các bạn có thể chọn NodeMCU hoặc ESP8266)
Hình 2.12 Giao diện của App Blynk
Mỗi Project, Blynk sẽ gửi cho bạn một mã Auth Token để nhập vào trong code của Board mạch điều khiển NodeMCU, các bạn có thể chọn nhiều chức năng như nút bấm, hẹn giờ, LCD, … để đưa vào Project của mình Mỗi đối tượng mà bạn chọn sẽ tốn một enegi (1 đơn vị giới hạn khi bạn dùng server miễn phí)
Trang 26Hình 2.13 Thanh công cụ của Blynk
Sau khi chọn xong đối tượng, các bạn nhấp vào để cấu hình chân, các mức logic, … Các cấu hình này sẽ tác động đến Board phần cứng Ví dụ nhấn nút thì chân GPIO16 sẽ chuyển tự mức trạng thái logic 0 sang logic 1
Hình 2.14 Thiết lập cụ thể Blynk
Sau khi cài đặt xong trên điện thoại thì các bạn lập trình cho Board phần cứng Thư viện Blynk sẽ hỗ trợ rất nhiều cho bạn, để bạn có thể dùng thử và hiểu cách thức hoạt động
Trang 27CHƯƠNG 2: TÌM HIỂU VÀ LỰA CHỌN LINH KIỆN
2.5 Các linh kiện được sử dụng trong mạch
2.5.1 LM2596 – ADJ
Hình 2.15 IC nguồn LM2596 – ADJ
Cơ bản LM2596S vỏ TO – 263 là một IC ổn áp dạng xung DC – DC Điện áp đầu vào lớn nhất tới 40V, và thấp nhất 4.5V Điện áp đầu ra điều chỉnh được trong khoảng 1.5V – 37V, dòng điện đầu ra đạt 3A hiệu suất cao nhờ ứng dụng cơ chế băm xung ở tần số lên tới 150kHz Trong quá trình hoạt động LM2596 luôn được đặt trong các chế độ bảo vệ quá nhiệt và quá dòng
Hình 2.16 Sơ đồ cơ bản để LM2596 cho điện áp đầu ra ở 5V – 3A
Chính nhờ khả năng làm việc hiệu quả, chính xác, linh hoạt, cho dòng ra lớn, và linh kiện phụ trợ đơn giản mà IC ổn áp LM2596 được sử dụng trong nhiều vị trí, chức năng khác nhau
IC LM2596 gồm 5 chân với các chức năng:
+ VIN: Đây là chân cung cấp dòng điện vào cho IC Chúng ta phải đặt tại chân này 1
tụ điện phù hợp để lọc nhiễu cho mạch điều khiển
+ VOUT: Chân ngõ ra của IC, dòng điện ra nằm trong khoảng từ 1.5V đến 37V
Trang 28SIM800 là được xem như một chiếc điện thoại với các chức năng từ cơ bản như nghe gọi, nhắn tin cho đến GPRS
Giao tiếp vật lý trong ứng dụng điện thoại của SIM800 là 60 chân, nó cung cấp tất cả các giao diện vật lý giữ Module SIM và board mạch của khách hàng:
+ Có Seria Port va Debug Port giúp dễ dàng hơn trong việc phát triển ứng dụng + Một kênh Audio bao gồm Input của Microphone và Output của Speaker
+ Có thể dễ dàng được cấu hình bằng lện AT qua cổng giao tiếp nối tiếp
+ Giao tiếp với SIMcard giống như điện thoại di động
SIM800 hỗ trợ giao thức TCP/IP, rất hữu ích cho việc truyền dữ liệu trên Internet SIM900 được thiết kế với công nghệ tiết kiệm năng lượng, vì vậy tiêu thụ chỉ ở mức 1.5mAh
ở trong chế độ SLEEP
Trang 29CHƯƠNG 2: TÌM HIỂU VÀ LỰA CHỌN LINH KIỆN
Để thực hiện việc nhắn tin qua SIM800 thì chỉ cần Serial Port của SIM800 để gửi, nhận các AT Command
+ Sơ đồ chân của SIM800
Hình 2.18 Sơ đồ chân của SIM800
Các thông số kỹ thuật của SIM800:
+ Nguồn cung cấp khoảng 3.2V đến 4.8V (thường chọn 4V)
Trang 30 GPRS có nhiều rãnh loại 8 (lựa chọn)
GPRS dữ liệu tải xuống: Max 85.6 Kbps
GPRS dữ liệu tải lên: Max 42.8 Kbps
Sơ đồ mã hóa: CS-1, CS-2, CS-3 và CS-4
SIM800 hỗ trợ giao thức PAP, kiểu sử dụng kết nối PPP
SIM800 tích hợp giao thức TCP/IP
Chấp nhận thông tin được điều chỉnh rộng rãi
Toàn bộ chế độ tăng cường (ETS 06.50/ 06.06/ 06.80)
Loại bỏ tiếng dội
+ Giao tiếp nối tiếp và sự ghép nối:
Cổng nối tiếp: 7 cổng nối tiếp (ghép nối)
Cổng kết nối có thể sử dụng với CSD Fax, GPRS và gửi lệnh ATCommand tới Module điều khiển
Cổng nối tiếp có thể sử dụng chức năng giao tiếp
Hỗ trợ tốc độ truyền 1200 Bps tới 115200 Bps
Cổng hiệu chỉnh lỗi: 2 cổng nối tiếp TXD và RXD
Cổng hiệu chỉnh lỗi chỉ sử dụng sửa lỗi
+ Quản lý danh sách:
Hỗ trợ mẫu danh sách: SM, FD, RC, ON, MC
Trang 31CHƯƠNG 2: TÌM HIỂU VÀ LỰA CHỌN LINH KIỆN
+ Sim Application toolkit:
Atmega328 là một chip vi điều khiển được sản suất bởi Atmel thuộc họ MegaAVR
có sức mạnh hơn hẳn ATmega8 ATmega328 là loại MCU 8 bit, có thể sử dụng trong các ứng ụng tương đối phức tạp, có các bộ nhớ Flash, ROM, RAM, các ngõ ra vào digital hay analog, có khả năng xuất tín hiệu PWM (điểu chỉnh độ rộng xung), hỗ trợ các chuẩn giao tiếp UART, I2C, SPI
Hình 2.19 ATmega328
Nguồn cấp chính cho ATmega328 là 5V
Các chân analog, gồm các ngõ nhập analog 23, 24, … , 28 Mỗi ngõ ngõ nhập analog
có độ phân giải 10 bits (tương ứng với 1024 giá trị), điện áp nhập từ 0 – 5V Nếu muốn thay đổi tầm nhập điện áp cần phẩn dùng pin AREF và hàm analog Reference Ngoài ra, các pin 27/28 cưng được nối trực tiếp với SDA/SCL hộ trợ truyền tin I2C Do đó, nếu SDA/SCL được sử dụng thì 27/28 sẽ không được dùng
Các chân digital – PWM (#), gồm 14 pin vào/ra dạng tín hiệu số (digitalinput/output)
1, 2, 9 – 17, 30 – 32 Mỗi pin này đều có thể dùng để nhập hoặc xuất tín hiệu dạng số với