1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo môn học thiết kế hệ thống nhúng Đề tài xây dựng nhà thông minh bán tự Động sử dụng hệ thống internet of things

56 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 56
Dung lượng 2,22 MB

Nội dung

Với mong muốn lắp đặt các thiết bị điện, điện tử có thể được điều khiển hoặc tựđộng hoá hoặc bán tự động, thay thế con người trong thực hiện một hoặc một số thaotác quản lý, điều khiển..

Trang 1

HỌC VIỆN KỸ THUẬT MẬT MÃ

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO MÔN HỌC THIẾT KẾ HỆ THỐNG NHÚNG

Đề tài:

XÂY DỰNG NHÀ THÔNG MINH BÁN TỰ ĐỘNG

SỬ DỤNG HỆ THỐNG INTERNET OF THINGS

Giảng viên hướng dẫn: PGS TS Phạm Văn Hưởng

Sinh viên thực hiện: Trần Trung Hiếu

Đặng Quốc Ân

Hà Huy Trường Nguyễn Quang Huy

CT050319 CT050301 CT050351 CT050325

Hà Nội, 12-2023

Trang 2

LỜI NÓI ĐẦU

Thế giới quanh ta hiện nay đang chuyển mình bước vào kỷ nguyên của cuộcCách mạng Công nghiệp 4.0 – Kỷ nguyên của thời đại số, tự động hóa, liên kết vạn vậtthông qua Internet, Wifi Và chúng ta có thể thấy càng ngày càng có nhiều công nghệmới như Dữ liệu đám mây, Block Chain, trí tuệ nhân tạo AI, kết nối vạn vật IoT,…được ra đời và phát triển để phục vụ cho đời sống sinh hoạt, làm việc và giải trí củacon người

Là những sinh viên của ngành Công nghệ thông tin, chúng em nhận thấy là bảnthân mình phải luôn luôn cố gắng cập nhật, tiếp thu và học hỏi những điều mới để cóthể bắt kịp với con sóng chuyển mình của thời đại Và thông qua Đề tài của môn họcThiết kế hệ thống nhúng kì này, nhóm chúng em đã có cơ hội để được học hỏi và tiếpcận nhiều kiến thức hơn nữa

Sau một thời gian thảo luận, nhóm em đã quyết định đăng kí đề tài “Xây dựng nhà thông minh bán tự động sử dụng hệ thống Internet of Things” Lý do nhóm

chọn đề này vì đây là đề tài chúng em cảm thấy gần nhất trong đời sống của conngười, có tính thực tiễn rất cao, và trong giới hạn thời gian của phạm vi môn học,nhóm tự tin có thể hoàn thành được trọn vẹn nhất khoảng 90 - 95% mô hình này

Nhóm em xin được gửi lời cảm ơn đến thầy Phạm Văn Hưởng, giảng viên bộmôn Thiết kế hệ thống nhúng, đang giảng dạy và hỗ trợ trực tiếp bọn em môn học này.Chắc chắn là mô hình của bọn em vẫn sẽ còn có những thiếu xót, những lỗi sai, nhữngchỗ chưa hợp lý, chúng em mong nhận được góp ý và chỉnh sửa của thầy ạ !

Chúng em xin chân thành cảm ơn!

Trang 3

MỤC LỤC

DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT i

DANH MỤC HÌNH VẼ ii

DANH MỤC BẢNG BIỂU iv

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1

1.1 Mục đích tài liệu 1

1.2 Phạm vi tài liệu 1

1.3 Các linh kiện và chức năng 1

1.3.1 Arduino Uno R3 2

1.3.2 NodeMCU Esp8266 6

1.3.3 Module cảm biến ánh sáng 7

1.3.4 Module Relay 5V DC 9

CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ 10

2.1 Phát biểu bài toán 10

2.2 Mục tiêu 10

2.3 Mô hình ca sử dụng 11

2.3.1 Biểu đồ ca sử dụng của hệ thống 11

2.3.2 Đặc tả các ca sử dụng 11

2.4 Phân tích kiến trúc 13

2.5 Phân tích các ca sử dụng 17

2.6 Thiết kế phần cứng 20

2.7 Thiết kế phần mềm 21

2.7.1 Phần mềm mô phỏng 21

2.7.2 Phần mềm lâp trình 22

2.7.3 Phần mềm hệ thống 23

2.8 Thiết kế code 28

2.8.1 Code Arduino Uno 28

2.8.2 Code ESP8266 31

Trang 4

CHƯƠNG 3: THỰC NGHIỆM 35

3.1 Kết quả thực nghiệm 35

3.1.1 Lắp đặt hệ thống thực tế 35

3.1.2 Thực nghiệm các chức năng 37

3.2 Đánh giá kết quả 41

3.3 Kết luận chung 41

DANH MỤC THAM KHẢO 42

Trang 5

DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT

Arduino Uno R3 Bảng vi điều khiển nguồn mở dựa trên microchip

Atmega328P

Node MCU Esp8266 Firmware dựa trên mã nguồn mở LUA, được phát triển

cho chip wifi Esp8266

Wifi Viết tắt của Wireless Fidelity là hệ thống truy cập internet

không dây

Module cảm biến ánh

sáng Module trả về giá trị của cường độ ánh sáng.

Web Server (Server)

Máy chủ web được dùng để chỉ phần mềm máy chủ, hoặc phần cứng dành riêng để chạy các phần mềm hoặc trang web trên máy chủ, cung cấp các dịch vụ World Wide Web,

xử lí các yêu cầu thông qua các giao thức

Client Máy trạm, máy khách giao tiếp với người dùng, nhận yêu

cầu và là nơi gửi yêu cầu đến server

Internet Of Things(IoT) Internet vạn vật, mạng lưới vạn vật kết nối Internet

Proteus Phần mềm vẽ mạch điện tử được phát triển bởi công ty

Lancenter Electronics

Arduino IDE

Phần mềm soạn thảo văn bản chính hãng, giúp viết code

để nạp vào bo mạch Arduino một cách nhanh chóng, dễ dàng và hoàn toàn miễn phí

MQTT MQTT (Message Queuing Telemetry Transport) là giao

thức truyền thông điệp (message) theo mô hình

Trang 6

publish/subscribe (cung cấp / thuê bao),

Trang 7

DANH MỤC HÌNH VẼ

Hình 1.1 Arduino Uno R3 2

Hình 1.2 Sơ đồ đấu chân Uno R3 3

Hình 1.3 NodeMCU Esp8266 6

Hình 1.4 Sơ đồ đấu chân NodeMCU Esp8266 7

Hình 1.5 Module cảm biến ánh sáng 7

Hình 1.6 Module relay 5V DC 9

Hình 2.1 Biểu đồ ca sử dụng của hệ thống 11

Hình 2.2 Kiến trúc tổng quan của hệ thống 13

Hình 2.3 đồ đấu chân kết nối giữa Uno và Esp 14

Hình 2.4 Luồng hoạt động của hệ thống 14

Hình 2.5 Luồng điều khiển qua Website 16

Hình 2.6 Luồng điều khiển qua Google Assistant 16

Hình 2.7 Luồng điều khiển qua ứng dụng Android 17

Hình 2.8 Biểu đồ tuần tự ca sử dụng điều khiển thiết bị bằng cảm biến 17

Hình 2.9 Biểu đồ tuần tự ca sử dụng điều khiển bằng Nút bấm 18

Hình 2.10 Biểu đồ tuần tự ca sử dụng điều khiển bằng Website 18

Hình 2.11 Biểu đồ tuần tự ca sử dụng điều khiển bằng ứng dụng Android 19

Hình 2.12 Biểu đồ tuần tự ca sử dụng điều khiển băng Giọng nói 19

Hình 2.13 Mô phỏng lắp đặt trên Proteus 20

Hình 2.14 Proteus 21

Hình 2.15 Arduino IDE 22

Hình 2.16 Giao tiếp UART 23

Hình 2.17 WebSocket 25

Hình 2.18 React Native lập trình ứng dụng di động 26

Hình 2.19 Diaflow và Google Assistant điều khiển thiết bị 27

Hình 3.1 Lắp đặt mô hình thực tế 35

Hình 3.2 Giao diện Website điều khiển 36

Hình 3.3 Giao diện ứng dụng điện thoại 37

Trang 8

Hình 3.5 Điều khiển Thiết bị 1 qua Cảm biến ánh sáng 37

Hình 3.6 Điều khiển Thiết bị 1 qua Nút bấm 38

Hình 3.7 Điều khiển thiết bị qua Website 38

Hình 3.8 Điều khiển thiết bị kết hợp cảm biến 39

Hình 3.9 khiển thiết bị trên App Mobile 39

Hình 3.10 Điều khiển thiết bị bằng giọng nói qua Google Assistant 40

Hình 3.11 Đồng bộ giữa các thiết bị điều khiển 40

Trang 9

DANH MỤC BẢNG BIỂU

Bảng 1.1 Linh kiện sử dụng 8

Bảng 2.1 Ca sử dụng bật thiết bị 18

Bảng 2.2 Đặc tả cả sử dụng tắt thiết bị 19

Bảng 2.3 Đặc tả ca sử dụng hiển thị trạng thái 19

Trang 10

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI

1.1 Khái quát đề tài

1.1.1 Khởi tạo dự án

Trong thời đại công nghệ 4.0, xu hướng sử dụng, lắp đặt nhà thông minh ở ViệtNam đang ngày càng phổ biến Nhu cầu sở hữu một ngôi nhà trang bị đầy đủ thiết bịsmarthome là điều mà ai cũng mong muốn Nhà thông minh không chỉ đem lại sự tiệnnghi mà còn mang đến sự tinh tế và hiện đại Bởi vậy, nhóm chúng em đã lên ý tưởngtạo ra dự án Nhà thông minh để đáp ứng nhu cầu này của tất cả mọi người

Với mong muốn lắp đặt các thiết bị điện, điện tử có thể được điều khiển hoặc tựđộng hoá hoặc bán tự động, thay thế con người trong thực hiện một hoặc một số thaotác quản lý, điều khiển. Hệ thống điện tử này giao tiếp với người dùng thông qua bảngđiện tử đặt trong nhà, ứng dụng trên điện thoại di động, máy tính bảng hoặc một giaodiện web

1.1.2 Phân tích tính khả thi

Tính khả thi về mặt kỹ thuật: Áp dụng hệ thống nhúng IoT để tích hợp cả phần cứng

và phần mềm phục vụ các bài toán chuyên dụng trong nhiều lĩnh vực tự động hoá điềukhiển, quan trắc và truyền tin

Tính khả thi về mặt kinh tế: Như đã nói trên, sản phẩm được phát triển trên hệ thốngnhúng IoT nên thời gian thực hiện ngắn và đảm bảo được hiệu quả sử dụng, ứng dụngcao Tuy nhiên, theo thời gian sẽ mất chi phí bảo trì, giá thành khá cao

Tính khả thi về mặt tổ chức: Sản phẩm sau khi được hoàn thành sẽ đáp ứng đượcmong muốn và nhu cầu của các cá nhân trong gia đình, giúp cho cuộc sống dễ dànghơn, tiết kiệm và an toàn hơn Sản phẩm mới vẫn có thể đáp ứng các yêu cầu đặt ramong muốn khi được mở rộng trong tương lai

1.1.3 Tổng quan dự án

Sau khi đã trải qua các bước tìm hiểu cũng như phân tích về mọi mặt như trên,chúng em đã tìm ra các ưu, nhược điểm của dự án Mặc dù vẫn còn nhiều trở ngạitrong quá trình tạo ra sản phẩm, tuy nhiên xét về các kết quả đạt được sau khi hoànthành dự án, nhóm chúng em quyết định sẽ nghiên cứu và hoàn thành mô hình Nhàthông minh đầy đủ tiện ích hơn, tiết kiệm thời gian cũng như giảm thiểu khó khăntrong việc sử dụng các thiết bị, để mỗi gia đình có được cuộc sống thoải mái nhất

Trang 11

1.2 Mục đích tài liệu

Trong thời đại công nghiệp hóa hiện đại hóa đất nước, việc chú trọng phát triểncác ngành công nghiệp cũng như các ngành dịch vụ đang dần dần được coi trọng Vànhư một nhu cầu thiết yếu, việc phát triển ra các hệ thống nhúng để đưa vào hỗ trợtrong ngành công nghiệp, dịch vụ sẽ đem lại khoản lợi nhuận vô cùng lớn khi mà vớicùng bằng một sức lao động như nhau, người sử dụng các hệ thống nhúng tạo ra đượcnhiều giá trị sức lao động hơn

Tài liệu này được tạo ra với mục đích phân tích, thiết kế ra một hệ thống nhúng

có tên là “Xây dựng nhà thông minh bán tự động sử dụng hệ thống Internet of Things” Tài liệu là tổng hợp kiến thức của nhóm, theo hướng xây dựng hệ thống sử

dụng Arduino và ESP8266 để quản lý các thiết bị trong căn nhà của mình Nhằm bỏqua sự tác động của con người, con người sẽ không phải bận tâm quá nhiều tới việcquản lý các thiết bị, mang lại một cuộc sống thoải mái và tiện ích hơn

1.3 Phạm vi tài liệu

Tài liệu này được giới hạn trong phạm vi môn học thiết kế hệ thống nhúng vàcác môn học liên quan khác Tài liệu sử dụng bao gồm các ca sử dụng, các đặc tả ca sửdụng, biểu đồ hoạt động,… , các tài liệu, mô tả liên quan đến các thiết bị nhúng nhưbảng mạch Arduino, các hình mô tả cách nối mạch và các chương trình nhúng,…

1.4 Khái niệm về hệ thống nhúng

Hệ thống nhúng là một thuật ngữ để chỉ một hệ thống có khả năng tự trị đượcnhúng vào trong một môi trường hay hệ thống mẹ Đó là các hệ thống tích hợp cả phầncứng và phần mềm phục vụ các bài toán chuyên dụng trong nhiều lĩnh vực côngnghiệp, tự động hoá điều khiển, quan trắc và truyền tin Đặc điểm của các hệ thốngnhúng là hoạt động ổn định và có tính năng tự động hoá cao

Hệ thống nhúng thường được thiết kế để thực hiện một chức năng chuyên biệt nào

đó Khác với các máy tính đa chức năng, chẳng hạn như máy tính cá nhân, một hệthống nhúng chỉ thực hiện một hoặc một vài chức năng nhất định, thường đi kèm vớinhững yêu cầu cụ thể và bao gồm một số thiết bị máy móc và phần cứng chuyên dụng

mà ta không tìm thấy trong một máy tính đa năng nói chung Vì hệ thống chỉ được xâydựng cho một số nhiệm vụ nhất định nên các nhà thiết kế có thể tối ưu hóa nó nhằmgiảm thiểu kích thước và chi phí sản xuất Các hệ thống nhúng thường được sản xuấthàng loạt với số lượng lớn Hệ thống nhúng rất đa dạng, phong phú về chủng loại Đó

có thể là những thiết bị cầm tay nhỏ gọn như đồng hồ kỹ thuật số và máy chơi nhạcMP3, hoặc những sản phẩm lớn như đèn giao thông, bộ kiểm soát trong nhà máy hoặc

hệ thống kiểm soát các máy năng lượng hạt nhân Xét về độ phức tạp, hệ thống nhúng

có thể rất đơn giản với một vi điều khiển hoặc rất phức tạp với nhiều đơn vị, các thiết

bị ngoại vi và mạng lưới được nằm gọn trong một lớp vỏ máy lớn

Trang 12

1.5 Khái niệm về IoT

IoT là từ viết tắt của Internet of Things – “Internet vạn vật” hay “Mạng lưới vạnvật kết nối” IoT định hướng kết nối những thiết bị, công cụ, đồ vật trong đời sốnghàng ngày với internet để con người có thể giao tiếp, truy cập, điều khiển, thu thậpđược thông tin và quản trị các thiết bị đó nhằm làm tăng hiệu suất, hiệu quả sử dụng IoT là một kịch bản của thế giới, khi mà mỗi đồ vật, con người được cung cấp mộtđịnh danh của riêng mình, và tất cả có khả năng truyền tải, trao đổi thông tin, dữ liệuqua một mạng lưới duy nhất mà không cần đến sự tương tác trực tiếp giữa người vớingười, hay người với máy tính IoT đã phát triển từ sự hội tụ của công nghệ khôngdây, công nghệ vi cơ điện tử và Internet Nói đơn giản là một tập hợp các thiết bị cókhả năng kết nối với nhau, với Internet và với thế giới bên ngoài để thực hiện mộtcông việc nào đó

1.6 Các linh kiện và chức năng

Bảng 1.1 Linh kiện sử dụng STT Tên thiết bị, linh kiện SL Mô tả chức năng

1 Arduino Uno R3 1 Nhận tín hiệu từ các cảm biến, chuyển

dữ liệu sang Esp

2 NodeMCU Esp8266 CH340 1 Nhận dữ liệu từ Uno, gửi lên server,

nhận yêu cầu từ server , kích hoạt relay

3 Relay 5VDC 2 Dùng điện áp 5V để kích hoạt dòng điện

thiết bị cần điều khiển

4 Đèn Led 10 Phát sáng, giúp dễ nhận biết trạng thái

5 Breadboard nhỏ 1 Kết nối các thiết bị và linh kiện

6 Dây cắm đực-cái, đực-đực 20 Dẫn điện và kết nối các linh kiện, thiết

bị

7 Module cảm biến ánh sáng 1 Trả về giá trị của âm thanh

8 Trở 100 ôm 10 Bảo vệ các thiết bị, ổn định dòng

Trang 13

1.6.1 Arduino Uno R3

Hình 1.1 Arduino Uno R3

Arduino gồm 3 vi điều khiển họ 8bit AVR là ATmega8, ATmega168,ATmega328 Các vi điều khiển này có thể xử lí những tác vụ đơn giản như điều khiểnled nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo nhiệt độ - độ

ẩm và hiển thị trên màn hình LCD,… hay nhiều ứng dụng khác nữa Arduino Uno R3

là thế hệ thứ 3 được phát triển

Thông số của Arduino Uno R3:

 Vi điều khiển: ATmega328 họ 8 bit

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

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

 Dòng tiêu thụ: khoảng 30mA

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

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

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

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

 Dòng ra tối đa (3.3V/5V): 50mA/500mA

 Bộ nhớ flash: 32KB(ATmega328) với 0.5KB dùng bởi bootloader

 SRAM: 2KB

Trang 14

Hình 1.2 Sơ đồ đấu chân Uno R3

Năng lượng

- Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồnngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V Thường thìcấp nguồn bằng pin vuông 9V là hợp lí nhất nếu không có sẵn nguồn từ cổngUSB Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, sẽ làm hỏng ArduinoUNO

Các chân năng lượng

- GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO Khi dùng cácthiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nốivới nhau

- 5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA

- 3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA

- Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, nối cực dương củanguồn với chân này và cực âm của nguồn với chân GND

Trang 15

- IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo

ở chân này Và dĩ nhiên nó luôn là 5V Mặc dù vậy không được lấy nguồn 5V từchân này để sử dụng bởi chức năng của nó không phải là cấp nguồn

- RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương vớiviệc chân RESET được nối với GND qua 1 điện trở 10KΩ

Lưu ý:

 Arduino UNO không có bảo vệ cắm ngược nguồn vào Do đó phải cẩn thận,kiểm tra các cực âm – dương của nguồn trước khi cấp cho Arduino UNO Việclàm chập mạch nguồn vào của Arduino UNO sẽ biến nó thành một miếng nhựachặn giấy nên dùng nguồn từ cổng USB nếu có thể

 Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho cácthiết bị khác, không phải là các chân cấp nguồn vào Việc cấp nguồn sai vị trí cóthể làm hỏng board Điều này không được nhà sản xuất khuyến khích

 Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới 6V

 phải mắc một điện trở hạn dòng

Bộ nhớ

Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:

 32KB bộ nhớ Flash: những đoạn lệnh lập trình sẽ được lưu trữ trong bộ nhớFlash của vi điều khiển Thường thì sẽ có khoảng vài KB trong số này sẽ đượcdùng cho bootloader nhưng hiếm khi nào cần quá 20KB bộ nhớ này đâu

 2KB cho SRAM (Static Random Access Memory): giá trị các biến khai báo khilập trình sẽ lưu ở đây

 khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM Tuy vậy, thực sự thìcũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà phải bận tâm Khi mấtđiện, dữ liệu trên SRAM sẽ bị mất

Trang 16

 1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory):đây giống như một chiếc ổ cứng mini – nơi có thể đọc và ghi dữ liệu của mìnhvào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM.[1]

Các cổng vào/ra

Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có 2 mứcđiện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ở mỗi chân đều cócác điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thìcác điện trở này không được kết nối)

Một số chân digital có các chức năng đặc biệt như sau:

 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive– RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thôngqua 2 chân này Kết nối bluetooth thường thấy chính là kết nối Serial khôngdây Nếu không cần giao tiếp Serial, không nên sử dụng 2 chân này nếu khôngcần thiết

 Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép xuất ra xung PWM với độ phângiải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite().Nói một cách đơn giản, có thể điều chỉnh được điện áp ra ở chân này từ mức 0Vđến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác

 Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)  Ngoài cácchức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giaothức SPI với các thiết bị khác

 LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khi bấm nútReset, sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13 Khichân này được người dùng sử dụng, LED sẽ sáng

Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 →

210-1) để đọc giá trị điện áp trong khoảng 0V → 5V Với chân AREF trên board, có thể

để đưa vào điện áp tham chiếu khi sử dụng các chân analog Tức là nếu cấp điện áp2.5V vào chân này thì có thể dùng các chân analog để đo điện áp trong khoảng từ 0V

→ 2.5V với độ phân giải vẫn là 10bit

Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWIvới các thiết bị khác.[2]

Trang 17

1.6.2 NodeMCU Esp8266

Hình 1.3 NodeMCU Esp8266

- Module nodeMCU Esp8266 là một mạch vi điều khiển có thể giúp điều khiển cácthiết bị điện tử, sử dụng IC nạp là CH340 từ Lolin với bộ xử lí trung tâm là là modulewifi SoC Esp8266 Được dùng cho các ứng dụng cần kết nối, thu thập dữ liệu và điềukhiển thông qua sóng wifi, đặc biệt là các ứng dụng liên quan đến IoT

Thông số kỹ thuật của NodeMCU Esp8266

 Điện áp sử dụng: 3.3V DC

 Tích hợp sẵn anten

 Chuẩn kết nối không dây 802.11

 Wifi: 2.4GHz, hỗ trợ bảo mật WPA/WPA2

 Hỗ trợ 3 chế độ hoạt động STA/AP/STA+AP

 Công suất đầu vào: 4.5V-9V

 Dòng: ~70mA, tiêu chuẩn <200mA

 Tốc độ truyền: 110-460800bps

 Hỗ trợ giao tiếp dữ liệu UART/GPIO

 Kích thước bộ nhớ: 4MB

Trang 18

Hình 1.4 Sơ đồ đấu chân NodeMCU Esp8266

1 với cường độ ánh sáng phù hợp

Trang 19

Thông số kỹ thuật của Module cảm biến ánh sáng:

 DO: Đầu ra tín hiệu số (0 và 1)

 AO: Đầu ra Analog (tín hiệu tương tự)

 Khi không có ánh sáng chiếu vào, nội trở của chất bán dẫn tăng dần lên đến vôcùng (nếu có nối vào mạch điện thì sẽ hở mạch)

Ứng dụng của Module cảm biến ánh sáng:

- Module cảm biến áng sáng được sử dụng cho việc đọc giá trị của cường độ ánhsáng Module còn áp dụng cho việc theo dõi an ninh của các toà nhà, thiết bịcảnh báo an toàn như lắp đặt vào thiết bị chống trộm, báo động khi có người

mở của nhà

- Trên các thiết bị điện tử như điện thoại thông minh, máy tính xách tay, máy tínhbảng… cũng sử dụng cảm biến ánh sáng để điều khiển độ sáng màn hình, giúphạn chế độ sáng màn hình, tiết kiệm năng lượng và bảo vệ mắt cho người dùng

- Thường thấy nữa là các thiết bị bật tắt đèn tự động dựa vào ánh sáng ngoài trời.[3]

Trang 20

1.6.4 Module Relay 5V DC

Hình 1.6 Module relay 5V DC

- Module relay bản chất là dùng relay để điều khiển đóng mở, dùng điện áp nhỏ đểkích mở điện áp lớn Module relay 5VDC có kích thước nhỏ gọn, tiện lợi và dễ sửdụng nên được dùng rộng rãi như một công tắc điện, điều khiển các thiết bị công suấtlớn như đèn, động cơ,…

- Có nhiều loại relay khác nhau, với module relay 5V DC có đầu vào là DC+, DC-, IN

và đầu ra là NC, COM, NO

- Với 2 chế độ kích là LOW và HIGH tương ứng kích mức thấp và kích mức cao đượcđiều chỉnh qua 3 chân cắm trigger

- Module relay 5V DC này còn có thêm Opto quang, giúp bảo vệ mạch, chống xungngược dòng từ đầu ra sang đầu vào, nhằm bảo vệ thiết bị cũng như người sử dụng

Thông Số Kỹ Thuật Của Module Relay:

 Nguồn đầu vào : 5 VDC

 Chân IN: kích mở relay

 Jump H/L level trigger: thiết lập mức điều khiển relay Có 2 mức : HIGH /LOW

Trang 21

CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ

2.1 Phát biểu bài toán

Ngay từ thời kỳ sơ khai của Internet, khi các nhà phát minh mong muốn kết nốitất cả mọi thứ qua một mạng lưới đồng nhất để có thể điều khiển chúng phục vụ mụcđích con người, đây được xem như một dạng biểu hiện của IoT

Theo định nghĩa từ Wikipedia: Internet of Things (IoT) là mạng lưới thiết bị

kết nối Internet, một liên mạng, trong đó các thiết bị, phương tiện vận tải, phòng ốc và các trang thiết bị khác được nhúng với các bộ phận điện tử, phần mềm, cảm biến, cơ cấu chấp hành cùng với khả năng kết nối mạng máy tính giúp cho các thiết bị này có thể thu thập và truyền tải dữ liệu.

Cùng với sự phát triển của cuộc cách mạng công nghiệp lần thứ 4, IoT cũngđang được mở rộng và áp dụng rộng rãi Tuy nhiên nhiều người vẫn chưa nắm rõhoặc hình dung ra cụ thể IoT là gì Chính vì vậy cần triển khai hệ thống IoT tới gầnhơn trong cuộc sống con người, giúp mọi người hiểu rõ và áp dụng IoT vào ngaychính căn nhà của mình Nhà thông minh hay còn gọi là smarthome là kiểu nhà đượclắp đặt các thiết bị điện, điện tử có tác dụng tự động hoá hoàn toàn hoặc bán tự động,thay thế con người trong thực hiện một hoặc một số thao tác quản lý, điều khiển Hệthống điện tử này giao tiếp với chủ nhân nhà thông qua bảng điện tử đặt trong nhà,phần mềm điện thoại di động, máy tính bảng hoặc một giao diện web

Hình 2.1: Công nghệ nhà thông minh

Trang 22

2.2 Mục tiêu

Mô hình “Xây dựng nhà thông minh bán tự động sử dụng hệ thống Internet

of Things” giúp giải quyết bài toán đưa IoT tiếp cận tới gần hơn với mọi người, ngay

chính trong căn nhà của mình bằng việc điều khiển các thiết bị trong gia đình từ xa quaInternet

Kết hợp thêm đó là sử dụng các thiết bị cảm biến để tự động điều khiển cácthiết bị giúp tăng hiệu quả việc điều khiển các thiết bị

Tạo ra mô hình đáp ứng được các yêu cầu về tính năng, giao diện sử dụng, giáthành và chất lượng tốt

Đem lại sự hiện đại, sang trọng cho ngôi nhà của bạn: Với nhiều mẫu mã đadạng, thiết kế sang trọng, những thiết bị trong hệ thống chắc chắn sẽ trở thành nhữngvật dụng sang trí vô cùng lý tưởng, tạo nên một nét hiện đại mà đầy tinh tế bên trongngôi nhà Không những thế độ sáng và màu sắc còn được điều chỉnh theo ánh sángmôi trường xung quanh hay theo sở thích của bạn

Làm cho cuộc sống con người cũng như công việc không còn tốn nhiều sức lực

và thời gian, dễ dàng kiểm soát, tăng năng suất lao động và học tập

2.3 Mô hình ca sử dụng

2.3.1 Biểu đồ ca sử dụng của hệ thống

Hình 2.2 Biểu đồ ca sử dụng của hệ thống

Trang 23

điều khiển trực tiếp và tự động Thiết bị 1 nhờ vào ánh sáng Còn Người dùng có thểđiều khiển trực tiếp Thiết bị 1 thông qua Nút bấm, và điều khiển cả 4 thiết bị thôngqua Website, App Mobile, Google Assistance có kết nối đến Server.

2.3.2 Đặc tả các ca sử dụng

Bảng 2.1 Đặc tả ca sử dụng bật đèn

Mô tả Kích hoạt thiết bị hoạt động

Điều kiện trước Người dùng truy cập được vào trang điều khiển, ứng dụng

Mô tả Tắt thiết bị đang hoạt động

Điều kiện trước Người dùng truy cập được vào trang điều khiển, ứng dụng

Trang 24

Bảng 3.3 Đặc tả ca sử dụng bật quạt

Mô tả Kích hoạt thiết bị hoạt động

Điều kiện trước Người dùng truy cập được vào trang điều khiển, ứng dụng

Mô tả Tắt thiết bị đang hoạt động

Điều kiện trước Người dùng truy cập được vào trang điều khiển, ứng dụng

Trang 25

2 Độ sáng của đèn được thay đổi.

Luồng sự kiện phụ Hệ thống mất kết nối sẽ hiện thông báo người dùng

Bảng 2.6 Đặc tả ca sử dụng điều chỉnh tốc độ quay của quạt

Ca sử dụng Điều chỉnh tốc độ quay của quạt

Mô tả Điều chỉnh tốc độ quay của quạt

Điều kiện trước Người dùng truy cập được vào trang điều khiển, ứng dụng

2 Tốc độ quay của quạt được thay đổi

Luồng sự kiện phụ Hệ thống mất kết nối sẽ thông báo người dùng

Bảng 2.7 Đặc tả ca sử dụng hiển thị trạng thái

Ca sử dụng Hiển thị trạng thái

Tác nhân Server, Cảm biến khí gas, Cảm biết nhiệt độ

Mô tả Hiển thị trạng thái của hệ thống

Điều kiện trước Server kết nối được tới Esp để nhận thông tin

Luồng sự kiện

chính

1 Esp8266 gửi trạng thái của các thiết bị lên server

2 Server nhận giá trị trạng thái các thiết bị

3 Server hiển thị ra cho người dùng trạng thái các thiếtbi

Luồng sự kiện phụ Hiển thị thông báo nếu mất kết nối tới Esp để nhận thông tin

Trang 26

2.4 Phân tích kiến trúc

Kiến trúc của mô hình điều khiển thiết bị được chia làm 2 phân chính: phầnmềm và phần cứng

Hình 2.7 Kiến trúc tổng quan của hệ thống

Về phần cứng bao gồm 1 Arduino Uno và 1 Esp8266 được kết nối với nhau quacác chân RX và TX theo chuẩn UART Các chân này dùng để truyền và nhận dữ liệugiữa 2 thiết bị qua cổng serial

Trang 27

Về phần mềm hệ thống sử dụng Websocket để giao tiếp realtime giữa Server vàEsp8266 Một website client để điều khiển các thiết bị thông qua internet.

Hình 2.9 Luồng hoạt động của hệ thống

Mô tả sơ đồ:

- Thiết bị 1 sẽ được điều khiển bằng 3 luồng:

 Luồng thứ nhất là luồng từ cảm biến ánh sáng

 Luồng thứ hai là từ Server do người dùng điều khiển thông qua Website, AppMobile, Google Assistance

 Luồng thứ ba là từ Nút bấm được kết nối với Uno

Trang 28

+ Luồng thứ nhất:

 Cảm biến sẽ liên tục gửi các giá trị digital tương ứng với điều kiện ánh sáng lúc

đó (0 – có ánh sáng, 1 – không có ánh sáng) về cho Uno

 Uno sau khi nhận được giá trị cảm biến ánh sáng sẽ gửi lệnh bật hoặc tắt thiết bịsang cho ESP

 Nếu giá trị bằng 0, Uno sẽ gửi lệnh tắt thiết bị Nếu giá trị bằng 1, Uno sẽ gửilệnh bật thiết bị ESP sẽ dựa vào lệnh đó mà bật tắt thiết bị

+ Luồng thứ hai:

 Người dùng sẽ thao tác bật tắt thiết bị thông qua việc điều khiển Nút bấm đượcthiết kế trên giao diện Website, App Mobile, hoặc qua việc điều khiển bằnggiọng nói nhờ Google Assistance

 Khi có yêu cầu gửi về Server, Server xử lý yêu cầu đó và gửi lệnh về cho ESPbật tắt thiết bị

- Do Cảm biến ánh sáng và Server là 2 luồng xử lý độc lập và song song với nhau,nhưng yêu cầu đặt ra là việc bật tắt thiết bị bằng Cảm biến ánh sáng không được phépghi đè việc bật tắt thiết bị bằng Server

 Giải pháp : ta phải có một biến trung gian để xử lý vấn đề này, và biến đó được tạm đặt tên tạm thời là biến Troi, khởi tạo giá trị ban đầu bằng -1.

- Giả sử ở lần chạy đầu tiên, Troi vẫn bằng -1, Uno vẫn sẽ nhận giá trị từ cảm biến ánh

sáng và gửi lệnh sang ESP như bình thường, nhưng sẽ khác là trước khi gửi lệnh, ta

sẽ gán lại biến Troi bằng giá trị của cảm biến ánh sáng hiện tại.

- Ở các lần chạy tiếp theo, khi cảm biến ánh sáng gửi giá trị về Uno, thì trước khi Uno

xử lý và gửi lệnh sang cho ESP, Uno sẽ lấy giá trị cảm biến đó so sánh với biến Troi, nếu giá trị cảm biến ánh sáng bằng giá trị của biến Troi (ánh sáng không thay đổi),

thì Uno sẽ không gửi lệnh cho ESP nữa

Ngược lại, nếu giá trị cảm biến ánh sáng khác biến Troi (ánh sáng có thay đổi), Uno

sẽ xử lý và gửi lệnh sang cho ESP dựa theo giá trị cảm biến ánh sáng mới

Ngày đăng: 26/10/2024, 22:52

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w