ESP8266 có một cộng đồng các nhà phát triển trên thế giới rất lớn, cung cấp nhiều Module lập trình mã nguồn mở giúp nhiều người có thể tiếp cận và xây dựng ứng dụng rất nhanh.. Do khôn
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA ĐIỆN TỬ
ĐỒ ÁN KỸ THUẬT ĐIỆN TỬ
“HỆ THỐNG BÁO TRỘM QUA ĐIỆN THOẠI”
Giáo viên hướng dẫn: Nguyễn Ngọc Anh
Nhóm sinh viên thực hiện : DREAM
Nguyễn Hữu Đức ( Mã sv: 2022604837 ) Đào Ngọc Hà
Lộ Thị Hà Hoàng Phi Long Nguyễn Hiền Long Nguyễn Hải Nam Lớp 20221FE6029006
Trang 2MỤC LỤC
Trang 3I, LỜI MỞ ĐẦU
Trang 41, Linh kiện điện tử
Trong hệ thống báo trộm qua điện thoại gồm:
Module Wifi ESP8266
Kit Wifi ESP8266 NodeMCU Lua V3 CH340
Module 1 Relay 5V Kích Mức Cao/Thấp V1
Cảm biến tiệm cận E18-D80NK
App BAOTROMFIREBASE
1.1Module Wifi ESP8266
1.1.1 Khái niệm chung về ESP8266
ESP8266 là dòng chip tích hợp Wi-Fi 2.4Ghz có thể lập trình được, rẻ tiền được sản xuất bởi một công ty bán dẫn Trung Quốc: Espressif Systems
Được phát hành đầu tiên vào tháng 8 năm 2014, đóng gói đưa ra thị trường dạng Module ESP-01, được sản xuất bởi bên thứ 3: AI-Thinker Có khả năng kết nối Internet qua mạng Wi-Fi một cách nhanh chóng và sử dụng rất ít linh kiện đi kèm Với giá cả có thể nói là rất rẻ so với tính năng và khả năng ESP8266 có thể làm được
ESP8266 có một cộng đồng các nhà phát triển trên thế giới rất lớn, cung cấp nhiều Module lập trình mã nguồn mở giúp nhiều người có thể tiếp cận và xây dựng ứng dụng rất nhanh
1.1.2 Phần cứng của ESP8266
Cấu trúc phần cứng của dòng chip sử dụng ESP8266 có thể tóm tắt như
Sử dụng 32-bit MCU core có tên là Tensilica
Tốc độ xung hệ thống có thể thiết lập ở 80MHz hoặc 160MHz Không tích hợp bộ nhớ Flash để lưu chương trình
Tích hợp 50KB RAM để lưu dữ liệu ứng dụng khi chạy
Có đầy đủ các ngoại vi chuẩn để giao tiếp như 17 GPIO, 1 Slave SDIO, 3 SPI, 1 I2C, 1 I2S, 2 UART, 2 PWM
Tích hợp các mạch RF để truyền nhận dữ liệu ở tần số 2.4GHz
Do không hỗ trợ bộ nhớ Flash nên các board sử dụng ESP8266 phải gắn thêm chip Flash bên ngoài và thường là Flash SPI để ESP8266 có thể đọc chương trình ứng dụng với chuẩn SDIO hoặc SPI
Trang 5
Hình 1.1.Module ESP8266-12E
1.1.3 Phân loại ESP8266
Hiện nay có rất nhiều Board ESP8266 trên thị trường.Dưới dây là một số Board
thông dụng nhất trong thời điểm hiện tại
a, Adafruit HUZZAH ESP8266 (ESP-12)
Hình 1.2.Adafruit HUZZAH ESP8266 (ESP-12)
Một số đặc điểm của Board:
1x Reset button
1 x User button khi khởi động module, nhấn phím này sẽ đưa chip về bootloading mode
để upload firmware
Trang 6 1xRed LED có thể lập trình được ( nhấp nháy khi có tín hiệu chẳng hạn…).
Tích hợp chuyển đổi điện áp tín hiệu từ 5V sang 3.3V cho UART và chân Reset, lý
do là esp8266 chỉ chạy ở điện áp 3.3V
Tích hợp IC ổn áp 3.3V, 500mA
2 điot bảo vệ chống cấp ngược nguồn
1 x Analog input (1.8V max)
9 x GPIO (3.3V logic), có thể sử dụng các giao tiếp I2C hặc SPI
2 x UART pins
2 x 3-6V power inputs, reset, enable, LDO-disable, 3.3V output
b, NodeMCU 1.0
Một số thông số của Board:
Sử dụng chip USB-Serial CP2102
Lõi chip ESP-12E: xung nhịp 80MHz, Flash 8MB
Blue LED cho GPIO16
IC ổn áp 3.3V NCP1117
Trang 7 2 button FLASH và RESET.
1.2 Kit Wifi ESP8266 NodeMCU Lua V3 CH340
Hình 1.4.Node MCU V3 CH340 – kit RF thu phát wifi ESP8266
Kit RF thu phát Wifi ESP8266 NodeMCU Lua V3 CH340 là phiên bản NodeMCU sử dụng IC nạp giá rẻ CH340 từ Lolin với bộ xử lý trung tâm là module Wifi SoC ESP8266, kit có thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực tiếp trình biên dịch của Arduino để lập trình và nạp code Điều này khiến việc sử dụng và lập trình các ứng dụng trên ESP8266 trở nên rất đơn giản
Kit RF thu phát Wifi ESP8266 NodeMCU Lua V3 CH340 được dùng cho các ứng dụng cần kết nối, thu thập dữ liệu và điều khiển qua sóng Wifi, đặc biệt là các ứng dụng IoT
Thông số kỹ thuật:
IC chính: ESP8266 Wifi SoC
Phiên bản firmware: NodeMCU Lua
Chip nạp và giao tiếp UART: CH340
GPIO tương thích hoàn toàn với firmware Node MCU
Cấp nguồn: 5VDC MicroUSB hoặc Vin
GIPO giao tiếp mức 3.3VDC
Trang 8 Tích hợp Led báo trạng thái, nút Reset, Flash.
Tương thích hoàn toàn với trình biên dịch Arduino
1.3 Cảm biến tiệm cận E18-D80NK
Cảm biến vật cản hồng ngoại OMDHON E18- D80NK Adjustable IR Infrared Proximity Sensor tại Hshop.vn được nhập từ hãng OMDHON với chất lượng tốt, độ bền và độ ổn định cao, đặc biệt cảm biến có khoảng cách điều chỉnh chính xác từ 3~80cm với thấu kính hồng ngoại chất lượng tốt, so sánh ngược lại là các loại cảm biến giá rẻ trên thị trường với thấu kính chất lượng kém và khả năng điều chỉnh không đúng như thông số (không thể điều chỉnh gần được), Quý Khách có thể mua để
so sánh và kiểm chứng Cảm biến vật cản hồng ngoại OMDHON E18- D80NK Adjustable IR Infrared Proximity Sensor sử dụng ánh sáng hồng ngoại để xác định vật cản phía trước cảm biến, cảm biến phát ra tia hồng ngoại với dải tần số chuyên biệt cho khả năng chống nhiễu tốt kể cả ở điều khiện ánh sáng ngoài trời Cảm biến vật cản hồng ngoại OMDHON E18- D80NK Adjustable IR Infrared Proximity Sensor có thể chỉnh khoảng cách phát hiện vật cản mong muốn thông qua biến trở trên cảm biến, cảm biến có ngõ ra tín hiệu là cấu trúc cực thu hở Transistor NPN -Open Collector nên sẽ cần phải có trở kéo (khoảng 1~10K) lên chân nguồn dương VCC để tạo thành tín hiệu mức cao (High)
Trang 9Thông số kỹ thuật:
Model: OMDHON E18-D80NK Số dây tín hiệu: 3 dây (2 dây cấp nguồn và 1 dây tín hiệu)
Chân tín hiệu ngõ ra: cấu trúc cực thu hở Transistor NPN - Open Collector nên
sẽ cần phải có trở kéo (khoảng 1~10K) lên chân nguồn dương VCC để tạo thành tín hiệu mức cao (High)
Nguồn điện cung cấp: 5VDC Khoảng điều chỉnh phát hiện vật cản của cảm biến: 3~80cm (điều chỉnh bằng biến trở trên cảm biến)
Góc khuếch tán (góc chiếu): 3~5 độ
Dòng kích ngõ ra: < 300mA Có led hiển thị ngõ ra màu đỏ
Chất liệu sản phẩm: vỏ ngoài nhựa ABS, phía trong đổ keo chống nước, chống
va đập Kích thước: 18 x 70mm
Sơ đồ dây:
Màu Nâu (Brown): chân nguồn dương VCC cấp nguồn từ 5VDC
Màu Đen (Black): chân tín hiệu SIGNAL đầu ra cấu trúc cực thu hở Transistor NPN - Open Collector
Xanh Dương (Blue): chân nguồn âm GND OVDC
Hình 1.6 OMDHON E18- D80NK
Trang 111.4 Module 1 Relay 5V Kích Mức Cao/Thấp V1
Module 1 Relay gồm 1 rơ le hoạt động tại điện áp 5VDC, chịu được hiệu điện thế lên đến 250VAC 10A Module 1 relay kích
mức thấp được thiết kế chắc chắn, khả
năng cách điện tốt Trên module đã có
sẵn mạch kích relay sử dụng transistor và
IC cách ly quang giúp cách ly hoàn toàn
mạch điều khiển (vi điều khiển) với rơ le
bảo đảm vi điều khiển hoạt động ổn định
Hình 1.7.
Module 1 Relay 5V Kích Mức Cao/Thấp V1
Có sẵn header rất tiện dụng khi kết nối với vi điều khiển Mô-đun này tuân thủ các tiêu chuẩn an toàn quốc tế, khu vực đầu vào và khu vực tải có các khe cách ly
Thông số kỹ thuật
Mức logic : 0V (GND)
Điều khiển đóng ngắt điện DC hoặc AC, bạn có thể điều khiển tải AC 220 V 10A
Có tiếp điểm thường mở và thường đóng:
o NO : thường mở (khi kích tiếp điểm đóng lại)
o COM : chung
o NC : Thường đóng (khi kích tiếp điểm mở ra)
Đầu vào:
o Điện áp nuôi : 5VDC
o Tín hiệu vào điều khiển: 0V
- Tín hiệu là 0: thì Relay đóng
- Tín hiệu là 1 : thì Relay mở
Đầu ra:
o + Tiếp điểm relay 220V 10A ( Lưu ý tiếp điểm , không phải điện áp ra)
o + NC : Thường đóng
o + NO: Thường mở
o + COM: Chân chung
Ký hiệu nguồn:
o VCC, GND là nguồn nuôi Relay
o In là chân tín hiệu điều khiển
Trang 12II QUY TRÌNH VÀ KẾT QUẢ ĐỒ ÁN
2 THIẾT KẾ
* Yêu cầu thiết kế : Hệ thống báo trộm qua điện thoại
Cơ cấu : Hệ thống báo trộm qua điện thoại là sử dụng 4 linh kiện phần cứng để lắp ráp kết hợp với sử dụng ứng dụng MIT App Inventor và Firebase để thiết
kế hệ thống cảnh báo người chủ khi có trộm đột nhập
Mô hình thiết kế cần đảm bảo :
o Thiết kế nhỏ gọn, có thể để ở nhiều nơi, có thể điều khiển từ xa bảo vệ nơi bạn lắp đặt thiết bị
o Thiết bị chống trộm độc lập dành cho các gia đình, văn phòng, …
o An toàn cho tính mạng và tài sản người dùng, giá thành hợp lý
o Hệ thống nhận lệnh điều khiển chính xác
Một số thông số kỹ thuật :
o Kích thước :
o Giá thành : 160000 VND
o Thời gian hoàn thành :
o Nguồn điện :
o Bảo quản :
*Sơ đồ khối
KHỐI
CẢM BIẾN
KHỐI XỬ
LÝ THIẾT BỊ ĐẦU RA
KHỐI NGUỒN MIT App
Trang 13Chức năng của các khối :
Khối cảm biến : Cảm biến vật cản hồng ngoại E18 – D80NK dùng ánh sáng hồng ngoại để xác định khoảng cách tới vật cản cho độ phản hồi nhanh và rất ít nhiễu do sử dụng mắt nhận, phát tia hồng ngoại theo tần số riêng biệt Cảm biến E18 – D80NK
có thể chỉnh khoảng cách thông qua biến trở
Khối nguồn : Cung cấp năng lượng cho các khối cảm biến, khối xử lý, thiết bị đầu ra Khối xử lý : Sau khi nhận tín hiệu từ cảm biến hồng ngoại module replay sẽ kích hoạt loa ở thiết bị đầu ra Hoạt động đồng thời với module replay, ESP8266 sau khi nhận tín hiệu từ cảm biến sẽ truyền đến điện thoại thông qua kết nối wifi Sử dụng trực tiếp trình biên dịch Arduino để lập trình và nạp code Sau đó sẽ liên kết được với điện thoại rồi gửi thông báo khi có trộm
Khối thiết bị đầu ra ( loa, điện thoại ): loa sẽ nhận tín hiệu từ module replay để phát
ra cảnh báo, điện thoại sẽ nhận được cảnh báo từ ESP8266 và phát thông báo cho người dùng là có trộm
MIT App : Là web thiết kế ứng dụng BAOTROMFIREBASE
2.1 Thiết kế phần cứng
2.1.1 Khối cảm biến
- Là một cảm biến tiệm cận quang điện tích hợp truyền và nhận Khoảng cách phát hiện vật thể từ 3cm đến 80CM Cảm biến có ưu điểm là khoảng cách phát hiện xa, ít nhiễu, giá rẻ, lắp ráp dễ dàng, sử dụng thuận tiện
- Cảm Biến Khoảng Cách Tiệm Cận E18-D80NK được sử dụng rộng rãi trong nhiều sản phẩm tự động hóa như robot tránh chướng ngại vật, đếm số lượng trong dây chuyền lắp ráp
- Có thể điều chỉnh khoảng cách phát hiện vật thể 3-80cm Cảm biến có tốc độ phản hồi thấp, và tương thích tốt với các dòng vi điều khiển như Arduino
2.1.2 Khối xử lý
- Gồm 1 rơ le hoạt động tại điện áp 5VDC, chịu được hiệu điện thế lên đến 250VAC 10A, được thiết kế chắc chắn, khả năng cách điện tốt Trên module đã có sẵn mạch kích relay sử dụng transistor và IC cách ly quang giúp cách ly hoàn toàn mạch điều khiển (vi điều khiển) với rơ le bảo đảm vi điều khiển hoạt động ổn định
- NodeMCU V3 được phát triển dựa trên CHIP WIFI ESP8266EX Board còn tích hợp IC CH340, giúp dễ dàng giao tiếp với máy tính thông qua Micro USB
- Board có kích thước nhỏ gọn, dễ dàng liên kết với các thiết bị ngại vi 1 cách nhanh chóng
Trang 142.2 XÂY DỰNG PHẦN MỀM ĐIỀU KHIỂN
2.2.1 Phần mền lập trình Arduino
Sử dụng phần mềm Arduino IDE để lập trình cho ESP8266
Arduino IDE là môi trường để lập trình và nạp code cho các dòng Arduino Arduino IDE được xây dựng trên miền nền tảng Java nên hỗ trợ hầu hết các hệ điều hành hiện
nay.
Phần mềm Arduino IDE Giao diện của Arduino IDE được chia thành 3 vùng chính:
Giao diện của Arduino IDE
Trang 15+ Vùng 1: Các phím chức năng
Các phím chức năng của Arduino IDE +Vùng 2: Cửa sổ để viết chương trình
Chương trình Code sẽ được viết tại đây.Ở đây có hai hàm quan trọng là setup()
và loop()
Hàm setup() được khởi chạy một lần duy nhất Chức năng của hàm này dùng
để khởi tạo các biến, khai báo chức năng các chân, khởi tạo các thông số bán đầu
Hàm loop() là nơi chương trình được chạy lặp đi lặp lại đến khi ngắtvi điều khiển
Các dấu “//” dùng để tạo chú thích, giúp cho việc đọc code được dễ dàng hơn
Trong lập trình có phân biệt ký tự hoa, thường, tuyệt đối phải đánh chích xác, đồng thời cuối mỗi câu lệnh cần phải có dấu chấm phẩy (;), trừ lệnh khai báo thư viện
+ Vùng 3: Hiển thị các thông tin liên quan đến chương trình
Là cửa sổ để hiện thị về việc build chương trình, nạp chương trình thành công xuống vi điều khiển và các cảnh báo khác liên quan đến chương trình và điều khiển của chúng ta Lưu ý, mọi thông báo và trạng thái của cả quá trình viết chương trình (write code), xây dựng chương trình ( build code) và nạp chương trình ( program code) đều được hiển thị tại đây Cửa sổ này được gọi là cửa sổ debug
2.2.2 Tạo ứng dụng BAOTROMFIREBASE bằng MIT App Inventor
+Bước 1 : Đầu tiên hãy truy cập vào website của MIT Application Inventor:
Sau khi nhấp vào “Create Apps!“ ở góc trên cùng bên trái, bạn tiến hành đăng nhập với tài khoản gmail của mình nhé
Trang 16Giao diện của web MIT App Inventor +Bước 2 : Sau khi đăng nhập, bạn nhấp vào “Projects” trên màn hình tiếp theo và sau
đó chọn “Start new project”
Tiếp theo, hãy đặt tên cho dự án, ở đây dự án của nhóm Dream là:
“BAOTROMFIREBASE”
Trang 17+Bước 3 : Bây giờ tiến hành thiết kế giao diện cho ứng dụng bằng cách chọn nhấp chọn nút “Designer” ở góc trên bên phải
Trong màn hình thiết như hình bên dưới, nhấp chọn và kéo các đối tượng (component) ở cột Palette vào trong màn hình thiết kế Viewer như hình bên trên Lưu ý, cột Components cho thấy các đối tượng được sử dụng để thiết kế giao diện cho ứng dụng này Có thể thay đổi thuộc tính của các đối tượng trong cột Properties +Bước 4 : Sau khi thiết kế giao diện cho ứng dụng xong, bạn nhấp vào “Blocks” ở góc trên bên phải để lập trình cho ứng dụng
+Bước 5 : Trong màn hình lập trình như hình bên dưới, hãy nhấp vào các đối tượng tương ứng trên màn hình thiết kế rồi chọn và sắp xếp các khối như hình dưới đây
Trang 18+Bước 6 : Sau khi thiết kế giao diện và lập trình cho ứng dụng xong, chúng ta sẽ đóng gói ứng dụng ra file apk và cài vào điện thoại của mình Để xuất ra được file apk các bạn chọn “Build” trên menu rồi chọn “App“ Có 2 cách để biên dịch và cài đặt ứng dụng vào điện thoại
Cách 1: Sử dụng phần mềm MIT AI2 Companion Với cách này, mọi người cần cài đặt phần mềm MIT AI2 Companion trên điện thoại của mình
Cách 2: Biên dịch ra file apk và cài đặt Đầu tiên, sẽ download file apk về máy tính (chọn save apk to my computer), sau đó sao chép file này sang điện thoại
để cài đặt
Trong dự án này nhóm em chọn Cách 1
Để thực hiện, trong giao diện thiết kế của AI2, chọn Build >> App (provide QR code for apk)
Sau khi biên dịch xong sẽ xuất hiện một mã QR code, sử dụng phần mềm MIT AI2 Companion để quét mã vạch QR, sau đó file apk sẽ tự động được tải về điện thoại Cuối cùng, cài đặt ứng dụng vào điện thoại của mình
Trang 19+Bước 7 : Bây giờ ứng dụng đã sẵn sàng Nhưng để có thể điều khiển thiết bị điện qua wifi bằng điện thoại cần thực hiện một bước cuối cùng là chúng ta phải nạp chương trình cho NodeMCU bằng Arudino để tạo một máy chủ web HTTP đơn giản
để điều khiển thiết bị điện trong nhà Chúng ta sẽ sử dụng phương thức HTTP GET
để giao tiếp giữa các ứng dụng Android ESP8266 và Android
Giao diện khi hoành thành của ứng dụng “BAOTROMEFIREBASE”
2.3 Thực hiện lắp ráp linh kiện phần cứng và chạy chương trình