HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGKHOA KỸ THUẬT ĐIỆN TỬ I
BÁO CÁO BÀI TẬP LỚNMÔN HỌC MẠNG CẢM BIẾN
ĐỀ TÀI : Nghiên cứu và xây dựng demo giao diện IoT (dashboard)
đơn giản cho theo dõi ánh sáng.
Dương Quang Huy - B20DCDT084Mai Văn Huy - B20DCDT085Mai Việt Hưng - B20DCDT095
Trang 2LỜI MỞ ĐẦU
Mạng cảm biến đang trở thành một phần quan trọng trong hệ thống thông tin hiện đại, cho phép thu thập dữ liệu từ môi trường xung quanh và chuyển chúng về một trung tâm điều khiển Mạng cảm biến không chỉ có ứng dụng rộng rãi trong các lĩnh vực như theo dõi môi trường, y tế, và công nghiệp, mà còn là một phần quan trọng của Internet of Things (IoT) Trong báo cáo này, chúng em sẽ trình bày về mạng cảm biến, cung cấp một cái nhìn tổng quan về cách nó hoạt động, ứng dụng phổ biến, và thách thức liên quan
Mục tiêu của báo cáo này là giúp bạn hiểu rõ hơn về mạng cảm biến, cách chúng có thể làm cho cuộc sống của chúng ta tiện lợi hơn và tạo ra những cơ hội mới trong việc thu thập và phân tích dữ liệu Chúng em sẽ đi sâu vào các khái niệm cơ bản và kỹ thuật liên quan đến mạng cảm biến, cung cấp ví dụ cụ thể về ứng dụng thực tế, và thảo luận về những thách thức mà người ta đang phải đối mặt khi triển khai và quản lý mạng cảm biến.
Trang 3MỤC LỤC
LỜI MỞ ĐẦU 2
MỤC LỤC 3
DANH SÁCH ẢNH VÀ BẢNG BIỂU 7
CHƯƠNG 1: TỔNG QUAN VỀ IOT, MẠNG CẢM BIẾN VÀ WEBSITE.81.Giới thiệu chung về IOT 8
1.1 Khái niệm về IOT 8
1.2 Cấu trúc của một hệ thống IoT 8
2.Giới thiệu chung về mạng cảm biến 9
2.1 Khái niệm về mạng cảm biến 9
2.2 Vai trò của mạng cảm biến 10
2.3 Cấu trúc của mạng cảm biến không dây 11
2.4 Đặc điểm của mạng cảm biến không dây 13
2.5 Ứng dụng mạng cảm biến trong quân sự 13
2.6 Ứng dụng trong môi trường và ngành nông nghiệp 14
3.Giới thiệu chung về website và giao diện website 14
3.1 Khái niệm giao diện website 14
3.2 Các thành phần cấu thành của một giao diện web 15
3.3 Giới thiệu chung về Website 15
3.4 Các thành phần của một website 15
4.Ngôn ngữ lập trình PHP , Javascrip 17
4.1 Tổng quan về ngôn ngữ PHP 17
4.2 Ứng dụng của PHP: 17
4.3 Ưu nhược điểm của PHP 18
4.4 Tổng quan về ngôn ngữ lập trình Javascrip 19
Trang 44.5 Công dụng của javascrip 19
4.6 Ưu nhược điểm của Javascrip 19
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT GIAO DIỆN 21
1.Giới thiệu chung về ESP32 21
1.1 Tổng quan về ESP32 21
1.2 Cấu hình ESP32 22
1.3 Sơ đồ chân ESP32 23
2.Giới thiệu Relay 1 kênh 5V 24
Trang 55.Tìm hiểu chung về Xampp 30
7.1 Giới thiệu MySQL 32
7.2 Cơ chế hoạt động của MySQL 32
2.1 Luồng đi của project 34
2.1.1 Thiết kế giao diện theo cấu trúc 34
2.1.2 Giải thích hướng đi 34
2.2 Code và chức năng từng phần 35
2.2.1 Code ESP32 để nhận dữ liệu từ cảm biến và gửi dữ liệu đó lên Server qua thư viện WIFI 35
2.2.2 Quản lý package(thư viện) sử dụng trong project 40
2.2.3 Khởi tạo cơ sở dữ liệu bằng file database.sql 40
2.2.4 Kết nối MQTT Broker và xử lí gói sin Subcribe 41
Trang 62.2.5 Tạo HTTP sever để giao tiếp với website 44
2.2.6 Tạo giao diện cho project 45
3.Kết quả hiện thị 54
4.Kết luận chương 54
TÀI LIỆU THAM KHẢO 56
Trang 7DANH SÁCH ẢNH VÀ BẢNG BIỂU
Hình 1 Mô hình mạng cảm biến 11
Hình 2: Cấu trúc cơ bản của mạng cảm biến không dây 13
Hình 3: Các thành phần của nút cảm biến 14
Hình 4: Ứng dụng mạng cảm biến trong quân sự 15
Hình 5: Ứng dụng mạng cảm biến trong nông nghiệp 16
Hình 6: Module ESP32 23
Hình 7:Sơ đồ khối cấu trúc ESP32 24
Hình 8: : Sơ đồ chân ESP32 devkit 25
Hình 9: Hình modun Relay 5V 1 kênh 26
Bảng 1:Thông số kĩ thuật của Module Relay 26
Hình 10: Một số cảm biến ánh sáng 27
Hình 11: Các chân của cảm biến ánh sáng BH1750 28
Bảng 2:Sơ đồ chân cảm biến BH1750 28
Hình 12: Cơ chế hoạt động của MySQL 34
Hình 13: Hình ảnh mô phỏng 35
Hình 14: Hình ảnh luồng đi của project 36
Hình 17: Hình ảnh hiện giá trí cường độ sáng, công tăc bật tắt bóng đèn 56Hình 16: Hình ảnh giao diện quản lí cường độ sáng 56
Trang 8CHƯƠNG 1: TỔNG QUAN VỀ IOT, MẠNG CẢM BIẾN VÀWEBSITE
Giới thiệu chung về IOT
Khái niệm về IOT
IoT (Internet of Things) nghĩa là Internet vạn vật Là mạng kết nối các đồ vật và thiết bị thông qua cảm biến, phần mềm và các công nghệ khác, cho phép các đồ vật và thiết bị thu thập và trao đổi dữ liệu với nhau
Internet vạn vật lan tỏa lợi ích của mạng internet tới mọi đồ vật được kết nối, chứ không chỉ dừng lại ở phạm vi một chiếc máy tính Khi một đồ vật được kết nối với internet, nó sẽ trở nên thông minh hơn nhờ khả năng gửi hoặc nhận thông tin và tự động hoạt động dựa trên các thông tin đó
Các thiết bị IoT có thể là đồ vật được gắn thêm cảm biến để thu thập dữ liệu về môi trường xung quanh (giống như các giác quan), các máy tính/bộ điều khiển tiếp nhận dữ liệu và ra lệnh cho các thiết bị khác, hoặc cũng có thể là các đồ vật được tích hợp cả hai tính năng trên
Tiềm năng ứng dụng của internet vạn vật (IoT) trải rộng trên mọi lĩnh vực
Tuy nhiên, mọi hệ thống IoT hoàn chỉnh đều có đủ 4 bước: thu thập dữ liệu, chia sẻ dữ liệu, xử lý dữ liệu và đưa ra quyết định.
Cấu trúc của một hệ thống IoT
Với một hệ thống IoT chúng sẽ bao gồm 4 thành phần chính đó là thiết bị (Things), trạm kết nối (Gateways), hạ tầng mạng (Network and Cloud) và bộ phân tích và xử lý dữ liệu (Services-creation and Solution Layers)
Các cảm biến sẽ có nhiệm vụ cảm nhận các tín hiệu từ môi trường như nhiệt độ, áp suất, ánh sáng,… và chuyển chúng thành các dạng dữ liệu trong môi trường Internet Sau đó các tín hiệu sẽ được xử lý và đưa ra các thay đổi theo ý của người tiêu dùng Hiện nay chúng thường được ứng dụng thông qua các ứng dụng trên điện thoại hay trên máy tính,…
Trang 9Giới thiệu chung về mạng cảm biến
Khái niệm về mạng cảm biến
Mạng cảm biến (Sensor Network) là một hệ thống mạng kết nối các nút cảm biến với nhau bằng kết nối sóng vô tuyến Mạng cảm biến (WSN) là một phần quan trọng trong sự phát triển của công nghệ thông tin và viễn thông Các nút cảm biến là các thiết bị nhỏ gọn, có khả năng thu thập dữ liệu về môi trường xung quanh Dữ liệu này sau đó được truyền lên trạm gốc để xử lý và phân tích.
Mạng cảm biến không dây (Wireless Sensor Networks – WSNs) là một mạng tập hợp các thiết bị giao tiếp thông tin thu thập được từ hiện trường được giám sát thông qua các liên kết không dây, sóng vô tuyến.WSN bao gồm các trạm gốc và các nút Các nút thường là các cảm biến không dây (wireless sensors), có thiết kế nhỏ gọn, được phân bố với số lượng lớn trên phạm vị rộng Các nút này được sử dụng để theo dõi các điều kiện vật lý hoặc môi trường như nhiệt độ, âm thanh, rung động, áp suất, chuyển động hoặc các chất ô nhiễm và hợp tác truyền dữ liệu của chúng qua mạng tới trạm thu phát (Sink) hoặc trạm gốc nơi dữ liệu có thể được quan sát và phân tích.
Một Sink hoặc trạm gốc hoạt động giống như một giao diện giữa người dùng và mạng Có thể lấy thông tin cần thiết từ mạng bằng cách đưa vào các truy vấn và thu thập kết quả từ Sink.
Hình 1 Mô hình mạng cảm biến
Trang 10Các nút cảm biến có thể giao tiếp với nhau bằng tín hiệu vô tuyến Một nút cảm biến được tạo thành từ bốn thành phần cơ bản gồm: bộ phận cảm biến, bộ xử lý, bộ thu phát vô tuyến và nguồn cấp Tuỳ theo ứng dụng cụ thể, nút cảm biến còn có thể có các thành phần bổ sung như hệ thống định vị GPS, bộ phát điện và thiết bị di động.
Các đơn vị cảm biến thường bao gồm hai đơn vị con: cảm biến và bộ chuyển đổi tương tự sang kỹ thuật số (ADC) Các tín hiệu tương tự do cảm biến tạo ra được ADC chuyển đổi thành tín hiệu kỹ thuật số, sau đó được đưa vào bộ xử lý Đơn vị xử lý thường được liên kết với một đơn vị lưu trữ nhỏ và nó có thể quản lý các thủ tục làm cho nút cảm biến cộng tác với các nút khác để thực hiện các nhiệm vụ cảm biến được giao.
Bộ thu phát kết nối nút với mạng Một trong những thành phần quan trọng nhất của nút cảm biến là khối nguồn Các đơn vị năng lượng điện có thể được hỗ trợ bởi một đơn vị thu gom năng lượng như pin mặt trời Các đơn vị con khác của nút phụ thuộc vào ứng dụng
Vai trò của mạng cảm biến
Mạng cảm biến (WSN) là một hệ thống mạng kết nối các nút cảm biến với nhau bằng kết nối sóng vô tuyến Các nút cảm biến là các thiết bị nhỏ gọn, có khả năng thu thập dữ liệu về môi trường xung quanh Dữ liệu này sau đó được truyền lên trạm gốc để xử lý và phân tích.
Mạng cảm biến đóng vai trò quan trọng trong nhiều lĩnh vực khác nhau Cụ thể, mạng cảm biến có thể được sử dụng để:
Thu thập dữ liệu: Mạng cảm biến có thể được sử dụng để thu thập dữ liệu về môi trường xung quanh, chẳng hạn như nhiệt độ, độ ẩm, ô nhiễm không khí, v.v Dữ liệu này có thể được sử dụng để giám sát môi trường, phát hiện các mối nguy hiểm tiềm ẩn và đưa ra các quyết định quan trọng.
Kiểm soát hệ thống: Mạng cảm biến có thể được sử dụng để kiểm soát các hệ thống, chẳng hạn như hệ thống chiếu sáng, hệ thống sưởi ấm và làm mát, v.v Điều này có thể giúp tiết kiệm năng lượng và cải thiện hiệu quả hoạt động Cung cấp thông tin và dịch vụ: Mạng cảm biến có thể được sử dụng để cung
cấp thông tin và dịch vụ cho người dùng, chẳng hạn như thông tin về thời tiết, thông tin về giao thông, v.v Điều này có thể giúp cải thiện chất lượng cuộc sống của người dùng.
Trang 11WSN là một công nghệ mới nổi với nhiều tiềm năng ứng dụng Với sự phát triển của công nghệ, WSN sẽ trở thành một công nghệ quan trọng trong tương lai.
Với những xu hướng phát triển này, WSN sẽ trở thành một công nghệ quan trọng trong nhiều lĩnh vực khác nhau, góp phần cải thiện chất lượng cuộc sống của con người.
Cấu trúc của mạng cảm biến không dây
Một mạng cảm biến không dây bao gồm số lượng lớn các nút được triển khai dầy đặc bên trong hoặc ở rất gần đối tượng cần thăm dò, thu thập thông tin dữ liệu Vị trí các cảm biến không cần định trước vì vậy nó cho phép triển khai ngẫu nhiên trong các vùng không thể tiếp cận hoặc các khu vực nguy hiểm Khả năng tự tổ chức mạng và cộng tác làm việc của các cảm biến không dây là những đặc trưng rất cơ bản của mạng này Với số lượng lớn các cảm biến không dây được triển khai gần nhau thì truyền thông đa liên kết được lựa chọn để công suất tiêu thụ là nhỏ nhất (so với truyền thông đơn liên kết) và mang lại hiệu quả truyền tín hiệu tốt hơn so với truyền khoảng cách xa.
Các nút cảm biến được triển khai trong một trường cảm biến (sensor field) Mỗi nút cảm biến được phát tán trong mạng có khả năng thu thập thông số liệu, định tuyến số liệu về bộ thu nhận (Sink) để chuyển tới người dùng (User) và định tuyến các bản tin mang theo yêu cầu từ nút Sink đến các nút cảm biến Số liệu được định tuyến về phía bộ thu nhận (Sink) theo cấu trúc đa liên kết không có cơ sở hạ tầng nền tảng (Multihop Infrastructureless Architecture), tức là không có các trạm thu phát gốc hay các trung tâm điều khiển Bộ thu nhận có thể liên lạc trực tiếp với trạm điều hành (Task Manager Node) của người dùng hoặc gián tiếp thông qua Internet hay vệ tinh (Satellite).
Hình 2: Cấu trúc cơ bản của mạng cảm biến không dây
Trang 12Mỗi nút cảm biến bao gồm bốn thành phần cơ bản là: bộ cảm biến, bộ xử lý, bộ thu phát không dây và nguồn điện Tuỳ theo ứng dụng cụ thể, nút cảm biến còn có thể có các thành phần bổ sung như hệ thống tìm vị trí, bộ sinh năng lượng và thiết bị di động Các thành phần trong một nút cảm biến được thể hiện trên hình 2 Bộ cảm biến thường gồm hai đơn vị thành phần là đầu đo cảm biến (Sensor) và bộ chuyển đổi tương tự/số (ADC) Các tín hiệu tương tự được thu nhận từ đầu đo, sau đó được chuyển sang tín hiệu số bằng bộ chuyển đổi ADC, rồi mới được đưa tới bộ xử lý Bộ xử lý, thường kết hợp với một bộ nhớ nhỏ, phân tích thông tin cảm biến và quản lý các thủ tục cộng tác với các nút khác để phối hợp thực hiện nhiệm vụ Bộ thu phát đảm bảo thông tin giữa nút cảm biến và mạng bằng kết nối không dây, có thể là vô tuyến, hồng ngoại hoặc bằng tín hiệu quang Một thành phần quan trọng của nút cảm biến là bộ nguồn Bộ nguồn, có thể là pin hoặc ắcquy, cung cấp năng lượng cho nút cảm biến và không thay thế được nên nguồn năng lượng của nút thường là giới hạn Bộ nguồn có thể được hỗ trợ bởi các thiết bị sinh điện, ví dụ như các tấm pin mặt trời nhỏ
Hầu hết các công nghệ định tuyến trong mạng cảm biến và các nhiệm vụ cảm biến yêu cầu phải có sự nhận biết về vị trí với độ chính xác cao Do đó, các nút cảm biến thường phải có hệ thống tìm vị trí Các thiết bị di động đôi khi cũng cần thiết để di chuyển các nút cảm biến theo yêu cầu để đảm bảo các nhiệm vụ được phân công.
Đặc điểm của mạng cảm biến không dây
Kích thước vật lý nhỏ gọn Kích thước và công suất tiêu thụ luôn chi phối khả năng xử lý, lưu trữ và tương tác của các thiết bị cơ sở
Hoạt động đồng thời với độ tập trung cao
Hình 3: Các thành phần của nút cảm biến
Trang 13 Khả năng liên kết vật lý và phân cấp điều khiển hạn chế Tính đa dạng trong thiết kế và sử dụng
Hoạt động tin cậy Kiến trúc và giao thức của mạng cảm biến không dây
Ứng dụng mạng cảm biến trong quân sự
Một số ứng dụng của mạng cảm biến không dây là: kiểm tra lực lượng, trang bị, đạn dược, giám sát chiến trường, trinh sát vùng và lực lượng địch, tìm mục tiêu, đánh giá thiệt hại trận đánh, trinh sát và phát hiện các vũ khí hóa học – sinh học – hạt nhân.
Hình 4: Ứng dụng mạng cảm biến trong quân sự
Trang 14Ứng dụng trong môi trường và ngành nông nghiệp
Mạng cảm biến không dây được dùng nhiều trong các trang trại chăn nuôi và trồng trọt như sau:
Theo dõi sự di chuyển của các loài chim, loài thú nhỏ, côn trùng
Kiểm tra các điều kiện môi trường ảnh hưởng tới mùa màng và vật nuôi Tình trạng nước tưới cho cây trồng, tính toán trong nông nghiệp, phát hiện ra
các hóa học, sinh học,…
Kiểm tra môi trường không khí, đất trồng, biển, rừng,…
Phát hiện cháy rừng, nghiên cứu khí tượng và địa lý, phát hiện lũ lụt, vẽ bản đồ sinh học phức tạp của môi trường và nghiên cứu ô nhiễm môi trường Người chăn nuôi lợn hoặc gà có các đàn trong các chuồng nuôi mát, thoáng
khí Mạng cảm biến không dây có thể được sử dụng cho việc giám sát nhiệt độ khắp chuồng nuôi, đảm bảo an toàn cho đàn.
Giới thiệu chung về website và giao diện website
Khái niệm giao diện website
Giao diện web viết đầy đủ là giao diện website Giao diện có nghĩa phổ thông là hình thức bên ngoài, là sự trình bầy, còn trong WordPress nó được gọi là Theme Khi bạn nhìn thấy một ngồi nhà, hình thức trang trí phối cảnh bên ngoài của nó, được hiểu đó là giao diện
Hình 5: Ứng dụng mạng cảm biến trong nông nghiệp
Trang 15của nó Vậy khi bạn nhìn thấy một trang web, sự sắp xếp các vị trí, màu sắc, bố cục và hình ảnh ban đâu của nó được gọi là giao diện của nó
Các thành phần cấu thành của một giao diện web
Có những yếu tố sau cần được liệt kê cho một giao diện, đó là Hình ảnh, màu sắc, kỹ xảo và bố cục nội dung Trong đó, hình ảnh là một kênh truyền tải đầu tiên dễ cảm nhận nhất và đập vào mắt người xem đầu tiên, màu sắc là tông màu xuyên suốt của website, từ trang chủ đến các trang con tạo ra độ chuyên nghiệp, kỹ xảo có thể là quăng quật, trượt… tạo ra điểm nhấn cho thông điệp bạn muốn truyền tải, và cấu trúc bố cục nội dung, tạo ra sự dễ dàng cho người đọc khi truy xuất vào nội dung của website
Giới thiệu chung về Website
Website chính là một tập hợp các trang web (web pages) bao gồm văn bản, hình ảnh, video, flash, v.v… thường chỉ nằm trong một tên miền (domain name) hoặc tên miền phụ (subdomain) trên World Wide Web của Internet
Website được lưu trữ (web hosting) trên máy chủ web (web server) có thể truy cập thông qua Internet.
Một website là tập tin HTML hoặc XHTML có thể truy nhập dùng giao thức HTTP hoặc HTTPS Website có thể được xây dựng từ các tệp tin HTML (website tĩnh) hoặc vận hành bằng các CMS chạy trên máy chủ (website động) Website có thể được xây dựng bằng nhiều ngôn ngữ lập trình khác nhau (PHP,.NET, Java, Ruby on Rails,…).
Các thành phần của một website
Home page
Là trang đầu tiên xuất hiện khi người dùng truy cập vào website, được xem là nơi bắt đầu trên mọi trang web.
Header
Là phần tiêu đề trong mỗi website, cũng là phần quan trọng nhất và được gắn cố định trong mỗi trang web
Trong header sẽ chứa các thông tin như Logo, câu Slogan, Home link, giỏ hàng, ô tìm kiếm hay các thông tin liên quan đến doanh nghiệp
Thanh điều hướng-Navigation
Trang 16Những nội dung mà website cung cấp đều được hiển thị đầy đủ ở thanh điều hướng này, nhờ đó mà người truy cập dễ dàng tìm thấy những gì họ cần Hiện nay, để tiết kiệm không gian hiển thị, đồng thời mang lại sự tiện lợi cho người dùng khi truy cập vào website trên các thiết bị di động, các nội dung trong thanh Navigation sẽ được hiển thị dưới dạng biểu tượng 3 đường xếp chồng lên nhau Khi muốn nó hiển thị, bạn chỉ cần chạm nhẹ vào là nó sẽ hiện ra
Đối với các trang web có nhiều nội dung hơn, người ta sẽ thiết kế một thanh Menu đổ xuống ở dạng ẩn Khi muốn kích hoạt chúng, bạn chỉ cần di chuyển chuột xung quanh một liên kết bất kỳ trong điều hướng chính là nó sẽ xuất hiện những liên kết theo dạng sơ đồ, phân chia thành từng phần chính phụ Banner
Banner hay còn được biết đến là biểu ngữ là một phần trong các hoạt động quảng cáo trên website
Nội dung trong phần này thường chỉ là các hình ảnh liên quan đến các hoạt động kinh doanh, các sản phẩm - dịch vụ chính của các doanh nghiệp
Banner có thể được đặt ở bất kỳ vị trí nào trong website, miễn sao không gây khó chịu cho người dùng khi truy cập.
Silder
Là phần danh mục website được đặt ngay dưới header, hiển thị dưới dạng hình ảnh giới thiệu hoặc có thêm phần mô tả ngắn và có thiết lập thêm nút điều hướng, giúp người dùng dễ dàng điều hướng sang các slide khác
Phần này thường được thiết kế với màu sắc bắt mắt, tạo được sự thu hút mạnh mẽ cho người truy cập, bởi đây sẽ là nội dung tiếp cận trực tiếp với người dùng
Nội dung trong slider có thể là các thông tin khuyến mãi hấp dẫn, video quảng cáo sản phẩm - dịch vụ đang được doanh nghiệp cung cấp.
Content area
Những thông tin khi được hiển thị trong mục này, cần phải được trình bày một cách bắt mắt, ngắn gọn và súc tích, để chúng có thể chạm đến insight của từng
Trang 17khách hàng khi truy cập Nếu website của bạn thực hiện tốt ở phần này, chắc chắn sẽ ngày càng thu hút được nhiều lượt truy cập chất lượng và có được những khách hàng trung thành cho trang web.
Footer
Là phần chân trang trong mỗi website, nội dung trong footer thường khá giống với header
Nó được hiển thị trong hầu hết các trang con trong trang web và đây cũng là một phần không thể thiếu trong mỗi website.
Ngôn ngữ lập trình PHP , Javascrip
Tổng quan về ngôn ngữ PHP
Ngôn ngữ PHP là từ viết tắt của Personal Home Page nay đã chuyển thành Hypertext Preprocessor Thuật ngữ này là một dạng mã lệnh hoặc một chuỗi ngôn ngữ kịch bản được dùng để phát triển các ứng dụng web chạy trên máy chủ Ki các lập trình viên PHP viết chương trình, chuỗi lệnh sẽ được xử lý trên server sau đó sinh ra mã HTML trên client Dựa vào đó, các ứng dụng trên website sẽ hoạt động một cách dễ dàng.
Ngôn ngữ PHP thường được dùng trong việc xây dựng và phát triển website bởi nó có thể kết nối dễ dàng với các website khác có sử dụng HTML.PHP cũng là ngôn ngữ lập trình có mã nguồn mở, tương thích với nhiều nền tảng khác nhau như MacOS, Linux, Windows,… PHP được nhiều người dùng đánh giá là dễ đọc nên đa số các lập trình viên sẽ lựa chọn học PHP trước khi bắt đầu vào nghề.
Ứng dụng của PHP:
Thiết lập chương trình cho hệ thống máy chủ: Đây là một ứng dụng chủ yếu nhất của PHP Các PHP Developer sẽ phải thực hiện các thao tác như phân tích ngôn ngữ lập trình PHP, xây dựng máy chủ web và trình duyệt web Tạo các dòng tập lệnh: Các lập trình viên sẽ tạo ra một dòng tập lệnh để vận
hành chương trình PHP mà không cần đến máy chủ Kiểu lập trình này được sử dụng trên các hệ điều hành phổ biến như Linux hay Windows
Xây dựng các ứng dụng làm việc: Bạn có thể ứng dụng những điểm mạnh vốn có của PHP để xây dựng ứng dụng phần mềm Các lập trình viên thường dùng PHP – GTK làm nền tảng xây dựng phần mềm vì đây là nhánh mở rộng của
Trang 18ngôn ngữ lập trình này và không có sẵn trong các bản phân phối chính thức hiện nay
Hỗ trợ cho mọi loại cơ sở dữ liệu khác nhau: Khi một website có hỗ trợ cơ sở dữ liệu tốt sẽ giúp ích cho việc vận hành, sao lưu và đặc biệt là backup dữ liệu đề phòng trường hợp xảy ra an ninh mạng.
Ưu nhược điểm của PHP
Ưu điểm:
o Mã nguồn mở và miễn phí: PHP sử dụng miễn phí nên giúp tiết kiệm đáng kể ngân sách dự án Việc cài đặt và sử dụng ngôn ngữ này cũng rất dễ dàng, bạn chỉ cần học chăm chỉ trong 3 – 6 tháng là đã có thể sử dụng thuần thục
o Tính linh hoạt: PHP là một ngôn ngữ đa nền tảng, có thể hoạt động trên bất kỳ hệ điều hành nào (Windows, Linux, macOS,…) Hơn nữa, PHP còn có thể kết hợp với nhiều ngôn ngữ lập trình khác để xây dựng các tính năng công nghệ một cách hiệu quả nhất
o Hệ thống thư viện phong phú, tính cộng đồng cao: Do sự phổ biến của ngôn ngữ PHP nên việc tìm các thư viện code hay hàm liên quan đến PHP sẽ cực kỳ đơn giản Chưa kể, bạn sẽ nhận được sự trợ giúp từ các diễn đàn, đội nhóm chuyên sâu của PHP giúp việc học tập hay làm việc trở nên dễ dàng
o Cơ sở dữ liệu đa dạng: PHP cho phép kết nối với hầu hết các cơ sở dữ liệu khác như mySQL, SQLite, PostgreSQL, MS-SQL,…
Nhược điểm:
o Bản chất của PHP có mã nguồn mở nên các lỗ hổng của mã nguồn sẽ bị công khai ngay sau khi chúng được tìm thấy Và các lỗ hổng này có thể bị khai thác cho các mục đích xấu trước khi chúng ta kịp sửa chữa o Chỉ hoạt động được trên website và giao diện không được gọn gàng
đẹp mắt Độ bảo mật và hiệu suất chưa tốt
Trang 19Tổng quan về ngôn ngữ lập trình Javascrip
Javascript chính là một ngôn ngữ lập trình web rất phổ biến ngày nay Javascript được tích hợp đồng thời nhúng vào HTML để hỗ trợ cho website trở nên sống động hơn Chúng cũng đóng vai trò tương tự như một phần của website, cho phép Client-side Script từ người dùng tương tự máy chủ (Nodejs) để tạo ra những website động.
Công dụng của javascrip
Thay đổi nội dung HTML: Một trong số nhiều phương thức HTML JavaScript chính là getElementById () Chúng được sử dụng để tìm một phần tử của HTML với id =”demo" và dùng để thay đổi nội dung của phần từ (Internal HTML) sang thành “Hello JavaScript”
Thay đổi giá trị thuộc tính HTML: Tổng quan về javascript còn có thể sử dụng để thay đổi các giá trị của thuộc tính Ví dụ: thay đổi thuộc tính src (source) của tag<img>
Thay đổi kiểu HTML: Đây chính là một hoạt động biến thể của việc thay đổi thuộc tính của HTML ở trên Ví dụ:
document.getElementById(‘demo’).style.fontSize = ’35px;
Ẩn các phần tử HTML: Một hoạt động tiếp theo là Javascript có thể ẩn được các phần tử HTML Chúng có thể được thực hiện thông qua hoạt động thay đổi kiểu hiển thị các phần tử HTML.
Hiển thị các phần tử HTML: Một điểm đặc biệt là JavaScript có thể hiển thị được các yếu tố HTML ẩn Đồng thời, cũng có thể thực hiện được thông qua cách thay đổi kiểu hiển thị phần tử.
Ưu nhược điểm của Javascrip
Trang 20o JS có thể hoạt động ở trên nhiều nền tảng và các trình duyệt web khác nhau
o Được các chuyên gia đánh giá là một loại ngôn ngữ lập trình nhẹ và nhanh hơn nhiều so với các ngôn ngữ lập trình khác
o JS còn có thể được gắn trên một số các element hoặc những events của các trang web
o Những website có sử dụng JS thì chúng sẽ giúp cho trang web đó có sự tương tác cũng như tăng thêm nhiều trải nghiệm mới cho người dùng o Người dùng cũng có thể tận dụng JS với mục đích là để kiểm tra những
input thay vì cách kiểm tra thủ công thông qua hoạt động truy xuất database
o Giao diện của ứng dụng phong phú với nhiều thành phần như Drag and Drop, Slider để cung cấp đến cho người dùng một Rich Interface (giao diện giàu tính năng)
o Giúp thao tác với người dùng phía Client và tách biệt giữa các Client với nhau
Nhược điểm:
o JS Code Snippet khá lớn
o JS dễ bị các hacker và scammer khai thác hơn
o JS cũng không có khả năng đa luồng hoặc đa dạng xử lý
o Có thể được dùng để thực thi những mã độc ở trên máy tính của người sử dụng
o Những thiết bị khác nhau có thể sẽ thực hiện JS khác nhau, từ đó dẫn đến sự không đồng nhất
o Vì tính bảo mật và an toàn nên các Client-Side Javascript sẽ không cho phép đọc hoặc ghi các file
o JS không được hỗ trợ khi bạn sử dụng ở trong tình trạng thiết bị được kết nối mạng.
Trang 21CHƯƠNG 2: CƠ SỞ LÝ THUYẾT GIAO DIỆNGiới thiệu chung về ESP32
Tổng quan về ESP32
ESP32 là một series các vi điều khiển trên một vi mạch giá rẻ, năng lượng thấp có tích hợp WiFi và dual-mode Bluetooth (tạm dịch: Bluetooth chế độ kép) Dòng ESP32 sử dụng bộ vi xử lý Tensilica Xtensa LX6 có hai biến thể lõi kép và lõi đơn, và bao gồm các công tắc antenna tích hợp, RF balun, bộ khuếch đại công suất, bộ khuếch đại thu nhiễu thấp, bộ lọc và module quản lý năng lượng
Hình 6: Module ESP32
Trang 22Cấu hình ESP32
Nó có tích hợp 18 ADC chuyển đổi tương tự sang kỹ thuật số Mỗi ADC dựa trên công nghệ SAR 12 bit
2 kỹ thuật số sang tương tự chuyển đổi DAC Nó tích hợp cảm biến cảm ứng
Đối với giao tiếp, nó có 2 Kênh liên lạc UART, 2 Giao diện truyền thông I2C, hai kênh I2S và giao diện truyền thông one CAN
Nó cũng có một mô-đun tăng tốc phần cứng mật mã cho các thuật toán mật mã khác nhau như RSA, AES.
Hình 7:Sơ đồ khối cấu trúc ESP32
Trang 23Sơ đồ chân ESP32
Chip ESP32 bao gồm 48 chân với nhiều chức năng khác nhau Không phải tất cả các chân đều lộ ra trrên các module ESP32 và một số chân không thể được sử dụng
Mặc dù bạn có thể định nghĩa các thuộc tính chân trên phần mềm, nhưng có các chân được gán theo mặc định như trong hình sau (đây là ví dụ cho module ESP32 DEVKIT V1 DOIT có 36 chân vị trí chân có thể thay đổi tùy thuộc vào nhà sản xuất).
Chip ESP32 bao gồm 48 chân với nhiều chức năng khác nhau Không phải tất cả các chân đều lộ ra trrên các module ESP32 và một số chân không thể được sử dụng
Mặc dù bạn có thể định nghĩa các thuộc tính chân trên phần mềm, nhưng có các chân được gán theo mặc định như trong hình sau (đây là ví dụ cho module ESP32 DEVKIT V1 DOIT có 36 chân vị trí chân có thể thay đổi tùy thuộc vào nhà sản xuất).
Hình 8: : Sơ đồ chân ESP32 devkit
Trang 24Giới thiệu Relay 1 kênh 5V
Module sử dụng Relay tốt, đảm bảo hoạt động ổn định, lâu dài Trên module có opto để cách ly dòng ngược về, hiệu suất ổn định
Điện áp tải tối đa AC 250V-10A / DC 30V-10A Điện áp điều khiển 5 VDC
Dòng kích Relay 5mA
Trạng thái kích Mức thấp (0V) Đường kính Lỗ ốc 3.1 mm
Kích thước 50 * 26 * 18.5 mm
Có thể set các mức cao thấp bằng cách thiết lập jumper trên module Có Led báo nguồn màu xanh, Led báo trạng thái Relay màu đỏ Kết nối module với mạch điều khiển đơn giản.
Thông số kỹ thuật
Bảng 1:Thông số kĩ thuật của Module RelayHình 9: Hình modun Relay 5V 1 kênh
Trang 25Giới thiệu cảm biến ánh sáng
Khái niệm
Cảm biến ánh sáng là thiết bị quang điện chuyển đổi ánh sáng (bao gồm cả ánh sáng nhìn thấy và ánh sáng dạng tia hồng ngoại) thành tín hiệu điện Nó là một dạng thiết bị cảm biến thông minh có thể nhận biết được các biến đổi của môi trường thông qua mắt cảm biến Từ đó, nó sẽ điều chỉnh ánh sáng cho phù hợp.
Nguyên lí hoạt động
Cảm biến ánh sáng hoạt động dựa trên nguyên lý của hiệu ứng quang điện Hiệu ứng quang điện là hiện tượng một số chất đặc biệt sau khi hấp thụ ánh sáng sẽ chuyển đổi năng lượng ánh sáng thành năng lượng điện
Hiệu ứng quang điện gồm có:
- Hiệu ứng quang điện trong: Hiện tượng quang điện trong thường diễn ra với chất bán dẫn Khi chiếu ánh sáng vào vật liệu, năng lượng này sẽ làm thay đổi điện trở suất bên trong vật liệu gây ra suất điện động làm thay đổi tính chất điện của vật liệu
Hình 10: Một số cảm biến ánh sáng
Trang 26- Hiệu ứng quang điện ngoài: Khi bề mặt của vật liệu được chiếu bởi ánh sáng, các điện tử sẽ hấp thụ năng lượng để tạo ra điện Khi các điện tử từ bên trong vật liệu bật ra ngoài bề mặt của vật liệu sẽ tạo ra hiệu ứng quang điện ngoài.
Ứng dụng cảm biến ánh sáng trong đời sống
- Cảm biến ánh sáng mang đến rất nhiều lợi ích và được ứng dụng phổ biến trong nhiều lĩnh vực, cụ thể như:
- Ứng dụng trong các thiết bị đèn chiếu sáng Cảm biến tự động điều chỉnh ánh sáng màn hình của điện thoại thông minh và máy tính bảng - Cảm biến ánh sáng sử dụng trong ô tô để hỗ trợ tầm nhìn cho người lái
xe Khi trời quá tối, hệ thống đèn ô tô sẽ tự động bật nhờ vào cảm biến phát hiện ánh sáng
- Ứng dụng trong bảo mật cho quá trình vận chuyển hàng hóa, các cảm biến có thể phát hiện các thùng hàng bị hở hoặc thất lạc.
Cảm biến ánh sáng BH1750
Hình 11: Các chân của cảm biến ánh sáng BH1750
BH1750 là cảm biến ánh sáng digital sử dụng phổ biến ở điện thoại di động để điều chỉnh độ sáng màn hình dựa trên ánh sáng môi trường Cảm biến đo chính xác đến đơn vị LUX của ánh sáng lên đến 65535lx.
Cấu hình chân BH1750
Bảng 2:Sơ đồ chân cảm biến BH1750
Trang 273 SCL Chân xung clock cấp xung nhịp cho giao thức i2c
thức I2C
Chân địa chỉ chọn địa chỉ thiết bị giao tiếp khi có nhiều hơn hai module kết nối
Tính năng của BH1750
- Chân địa chỉ chọn địa chỉ Nguồn cung cấp: 2.4V-3.6V (thường là 3.0V) - Tiêu thụ dòng điện thấp: 0,12mA
- Khoảng giá trị đo: 1-65535lx
- Giao thức giao tiếp dữ liệu: I2C bus
- Thay đổi độ sáng tự động trên điện thoại di động / LCD
- Điều khiển bật / tắt đèn pha ô tô theo điều kiện ánh sáng xung quanh - Được sử dụng làm cảm biến ánh sáng xung quanh để kiểm soát độ sáng
của màn hình hiển thị.
Giao thức http,html, CSS
Giới thiệu HTTP
HTTP là từ viết tắt của Hyper Text Transfer Protocol nghĩa là Giao thức Truyền tải Siêu Văn Bản được sử dụng trong www HTTP là 1 giao thức cho phép tìm nạp tài nguyên, chẳng hạn như HTML doc