1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Đồ án tốt nghiệp thiết kế hệ thống nhúng Lò ấp trứng tự động + slide

37 133 0

Đ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

Tiêu đề Lò ấp trứng tự động
Người hướng dẫn GVHD: Nguyễn Ngọc Minh
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Kỹ Thuật Điện Tử
Thể loại Đồ án
Năm xuất bản 2021 - 2022
Thành phố Hà Nội
Định dạng
Số trang 37
Dung lượng 1,79 MB
File đính kèm Lò ấp trứng tự động.zip (5 MB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG I. NGHIÊN CỨU TỔNG QUAN (4)
    • 1.1. Ý tưởng và các điều kiện thực tế (4)
    • 1.2. Giới thiệu về IoT (5)
    • 1.3. Mục tiêu đề tài (6)
  • CHƯƠNG II. CƠ SỞ LÝ THUYẾT ĐỀ TÀI (7)
    • 2.1. Các linh kiện sử dụng và chức năng (7)
    • 2.2. Các phần mềm thực hiện (13)
  • CHƯƠNG III. THIẾT KẾ HỆ THỐNG (19)
    • 3.1. Sơ đồ khối mô tả hệ thống (19)
    • 3.2. Khối vật lý (20)
    • 3.3. Khối MQTT, khối MySQL, khối ứng dụng (20)
  • CHƯƠNG IV. THIẾT KẾ SẢN PHẨM (22)
    • 4.1. Kết nối ESP và các Module (23)
    • 4.2. Cơ sở dữ liệu (27)
    • 4.3. Khối ứng dụng (28)
  • CHƯƠNG V. KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN (33)
    • 5.1. Kết quả (33)
    • 5.2. Hướng phát triển (34)

Nội dung

Trong khối vậy lý này ESP8266 sẽ có chức năng sau: Thực hiện việc đọc giá trị nhiệt độ độ ẩm từ DHT11. Hiển thị giá trị nhiệt độ, độ ẩm lên màn hình LCD. Đẩy các giá trị lên Database và thực hiện việc truyền nhận các Topic từ khối ứng dụng. Giao tiếp UART với Arduino. Truyền các chuỗi Json để Arduino điều khiển các thiết bị Arduino có các chức năng sau: Nhận các chuỗi Json từ ESP8266 Thông qua các chuỗi Json điều khiển bật tắt Relay để điều khiển hệ thống Sử dụng Button để bật tắt thiết bị điều khiển khi hệ thống ở chế độ thủ công

NGHIÊN CỨU TỔNG QUAN

Ý tưởng và các điều kiện thực tế

Trong thực tế hiện nay, nhiều lò ấp trứng vẫn còn sử dụng phương pháp giám sát thủ công, dẫn đến khó khăn trong việc duy trì điều kiện ấp trứng lý tưởng Nhằm cải thiện tình hình này, nhóm nghiên cứu đã phát triển hệ thống “Lò ấp trứng tự động, giám sát và điều khiển từ Web”, cho phép chủ lò điều khiển từ xa với độ chính xác cao Hệ thống có hai chế độ hoạt động: tự động và thủ công, giúp tạo ra môi trường ấp thuận lợi nhất Để đảm bảo trứng nở khỏe mạnh, nhiệt độ trong lò cần duy trì từ 35 độ đến 38 độ, với mức lý tưởng khoảng 37,3 đến 38 độ Việc đảo trứng cũng rất quan trọng để tránh tình trạng phôi chết, và sau 7 ngày ấp, trứng sẽ được soi để lọc Sau 11 ngày, trứng sẽ được mang đi nở ở nhiệt độ từ 36,7 đến 37,5 độ, và sau 3 ngày sẽ nở thành gà Việc giám sát thủ công trong điều kiện thời tiết khắc nghiệt như mùa hè nóng bức hay mùa đông lạnh giá là rất vất vả, do đó hệ thống tự động hóa này sẽ mang lại nhiều lợi ích cho các chủ lò ấp.

Giới thiệu về IoT

Kể từ khi khái niệm Internet of Things (IoT) ra đời vào năm 1999, IoT đã chuyển từ một giấc mơ mơ hồ thành hiện thực rõ ràng Sự phát triển này chủ yếu nhờ vào việc áp dụng rộng rãi giao thức Internet (IP), sự phổ biến của máy tính, cùng với sự tiến bộ liên tục trong phân tích dữ liệu Bên cạnh đó, còn nhiều yếu tố khác cũng góp phần thúc đẩy sự phát triển của ngành IoT.

Internet of Things (IoT), hay Mạng lưới vạn vật kết nối Internet, là một hệ thống trong đó các thiết bị kết nối với nhau qua các phương thức như Wifi, mạng di động băng rộng (3G, 4G), Bluetooth, và ZigBee Các thiết bị này bao gồm điện thoại thông minh, máy pha cà phê, máy giặt, tai nghe, và bóng đèn Theo dự báo của Cisco, đến năm 2020, sẽ có khoảng 50 tỷ đồ vật kết nối vào Internet, và con số này sẽ tiếp tục tăng IoT sẽ tạo ra một mạng lưới khổng lồ kết nối mọi thứ, bao gồm cả con người, với các mối quan hệ giữa người và người, người và thiết bị, cũng như giữa các thiết bị với nhau.

IoT là một mạng lưới cho phép mỗi đồ vật và con người có một định danh riêng, giúp chúng có khả năng truyền tải và trao đổi thông tin, dữ liệu qua một mạng duy nhất mà không cần tương tác trực tiếp giữa người với người hoặc giữa người với máy tính.

Ngoài ra IoT có khá nhiều ứng dụng trong cuộc sống xung quanh mỗi chúng ta như:

Nhà thông minh (Smart Home):

Nông nghiệp thông minh (Smart Farm): Áp dụng các hệ thống cảm biến tự động hóa và các quá trình từ chuẩn bị, nuôi dưỡng đến phân phối

Mục tiêu đề tài

Hệ thống máy ấp trứng tự động được thiết kế thành công sẽ đảm bảo cung cấp nhiệt độ ấp cần thiết, đồng thời có quạt xả nhiệt để giảm nhiệt độ thừa và tự động đảo trứng.

- Giám sát được các thông số nhiệt độ, thời gian đảo, báo hiệu khi thừa nhiệt trên Wed

- Hệ thống có thể hoạt động với mức ổn định cao như mục tiêu

- Đáp ứng đủ nhu cầu, điều kiện về nhiệt độ, đảo trong việc ấp nở trứng

CƠ SỞ LÝ THUYẾT ĐỀ TÀI

Các linh kiện sử dụng và chức năng

ESP8266 là một hệ thống trên chip (SoC) do công ty Espressif của Trung Quốc sản xuất, bao gồm bộ vi điều khiển Tensilica L106 32-bit và bộ thu phát Wi-Fi Chip này có 11 chân GPIO và một đầu vào analog, cho phép lập trình tương tự như Arduino Mặc dù ESP8266 có 17 chân GPIO, nhưng 6 chân được sử dụng để giao tiếp với chip nhớ flash trên bo mạch Với khả năng kết nối Wi-Fi, ESP8266 có thể kết nối với mạng Internet, lưu trữ máy chủ web và tương tác với thiết bị di động, mở ra nhiều khả năng ứng dụng trong lĩnh vực IoT Chính vì vậy, ESP8266 đã trở thành một trong những thiết bị IoT phổ biến nhất hiện nay.

ESP8266 dùng để làm gì

ESP8266 có thể hoạt động như một module Wifi bên ngoài, sử dụng firmware AT chuẩn khi kết nối với bất kỳ bộ vi điều khiển nào qua giao tiếp UART Ngoài ra, nó cũng có thể được lập trình trực tiếp để trở thành bộ vi điều khiển hỗ trợ Wifi bằng cách sử dụng SDK được cung cấp.

Chân GPIO của ESP8266 hỗ trợ cả IO Analog và Digital, cùng với các giao thức như PWM, SPI, và I2C Chip ESP8266 được ứng dụng rộng rãi trong lĩnh vực IoT nhờ vào các chức năng đa dạng của nó.

Kết nối mạng: Ăng-ten Wi-Fi của module cho phép các thiết bị nhúng kết nối với bộ định tuyến và truyền dữ liệu

Xử lý dữ liệu bao gồm việc tiếp nhận tín hiệu từ cảm biến analog và kỹ thuật số, sau đó thực hiện các phép toán phức tạp hơn thông qua RTOS hoặc SDK không cần hệ điều hành Đồng thời, kết nối P2P cho phép thiết lập giao tiếp trực tiếp giữa các thiết bị ESP và các thiết bị khác thông qua kết nối IoT P2P.

Máy chủ Web: Truy cập các trang được viết bằng HTML hoặc ngôn ngữ phát triển

Relay là một công tắc điện từ hoạt động nhờ vào dòng điện nhỏ, có khả năng bật hoặc tắt dòng điện lớn hơn Tâm điểm của relay là nam châm điện, nơi cuộn dây trở thành nam châm tạm thời khi có dòng điện chạy qua Có thể xem relay như một đòn bẩy điện, cho phép dòng điện nhỏ kích hoạt thiết bị sử dụng dòng điện lớn hơn.

Hiện nay, động cơ servo có nhiều loại với khả năng điều khiển chính xác vị trí trục Việc sử dụng động cơ servo trong hệ thống vòng kín cho phép điều khiển chuyển động và vị trí cuối cùng thông qua phản hồi vị trí Động cơ này thường được sử dụng như một bộ truyền động có kích thước nhỏ gọn.

Động cơ servo SG90 180 độ là một trong những thiết bị quan trọng trong việc điều khiển các phương tiện như ô tô, thuyền và máy bay, đồng thời cũng được sinh viên ngành kỹ thuật sử dụng để chế tạo robot, bao gồm robot cánh tay, robot sinh học và robot hình người Động cơ DC này nổi bật với tốc độ phản ứng nhanh, tuy nhiên, cần lưu ý rằng các bánh răng bằng nhựa có thể bị hư hại khi nâng tải nặng Đặc biệt, động cơ RC Servo 9G được tích hợp sẵn Driver điều khiển bên trong, cho phép người dùng dễ dàng điều chỉnh góc quay thông qua phương pháp điều độ rộng xung PWM.

Phương pháp điều khiển PWM:

• Độ rộng xung 0.5ms ~ 2.5ms tương ứng 0-180 độ

• Tần số 50Hz, chu kỳ 20ms

- DHT11 có cấu tạo 4 chân như hình Nó sử dụng giao tiếp số theo chuẩn 1 dây

• Sai số độ ẩm ±5% o Sai số nhiệt độ: ±2ºC 2

- Sơ đồ kết nối vi xử lý:

- Nguyên lý hoạt động: Để có thể giao tiếp với DHT11 theo chuẩn 1 chân vi xử lý thực hiện theo 2 bước:

• Gửi tin hiệu muốn đo (Start) tới DHT11, sau đó DHT11 xác nhận lại

• Khi đã giao tiếp được với DHT11, Cảm biến sẽ gửi lại 5 byte dữ liệu và nhiệt độ đo được

- Bước 1: gửi tín hiệu Start

MCU thiết lập chân DATA làm đầu ra và kéo chân này xuống 0 trong thời gian hơn 18ms, trong khi trong mã code mình để là 25ms Điều này cho phép cảm biến DHT11 nhận biết rằng MCU muốn đo nhiệt độ và độ ẩm.

MCU thiết lập chân DATA lên mức 1 và sau đó chuyển đổi nó thành chân đầu vào Sau khoảng thời gian 20-40 micro giây, cảm biến DHT11 sẽ kéo chân DATA xuống mức thấp Nếu sau 40 micro giây mà chân DATA không được kéo xuống thấp, điều này có nghĩa là không thể giao tiếp với DHT11.

Chân DATA của cảm biến DHT11 sẽ có mức thấp 80us, sau đó tăng lên cao trong 80us Bằng cách giám sát chân DATA, MCU có thể xác định được khả năng giao tiếp với DHT11 Khi tín hiệu từ DHT11 lên cao, quá trình giao tiếp giữa MCU và DHT11 sẽ được hoàn thiện Bước tiếp theo là đọc giá trị từ DHT11.

• DHT11 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 byte Trong đó:

❖ Byte 1: giá trị phần nguyên của độ ẩm (RH%)

❖ Byte 2: giá trị phần thập phân của độ ẩm (RH%)

❖ Byte 3: giá trị phần nguyên của nhiệt độ (TC)

❖ Byte 4 : giá trị phần thập phân của nhiệt độ (TC)

Để kiểm tra tính chính xác của giá trị độ ẩm và nhiệt độ, Byte 5 cần phải bằng tổng của Byte 1, Byte 2, Byte 3 và Byte 4 Nếu Byte 5 khớp với tổng này, dữ liệu đo được là chính xác; ngược lại, nếu không khớp, kết quả đo sẽ không có giá trị.

Sau khi thiết lập kết nối với cảm biến DHT11, thiết bị sẽ truyền liên tục 40 bit dữ liệu (0 hoặc 1) đến MCU, được chia thành 5 byte để cung cấp kết quả về nhiệt độ và độ ẩm.

Sau khi tín hiệu trở về 0, ta chờ chân DATA của MCU được DHT11 kéo lên 1 Nếu chân DATA giữ giá trị 1 trong khoảng 26-28 micro giây thì ta xác định là 0, ngược lại, nếu giá trị 1 tồn tại trong 70 micro giây thì ta xác định là 1 Trong lập trình, ta bắt đầu bằng cách ghi nhận sườn lên của chân DATA, sau đó delay 50 micro giây Nếu giá trị đo được là 0, ta đọc được bit 0; nếu giá trị đo được là 1, ta đọc được bit 1 Quy trình này tiếp tục để đọc các bit tiếp theo.

Màn hình LCD 16x2 có tổng cộng 16 chân, bao gồm 8 chân dữ liệu (D0-D7) và 3 chân điều khiển (RS, RW, EN) Các chân điều khiển này cho phép người dùng dễ dàng cấu hình màn hình LCD ở chế độ lệnh hoặc chế độ dữ liệu.

Màn hình LCD 16x2 xanh sử dụng driver HD44780, cho phép hiển thị 2 dòng với mỗi dòng 16 ký tự Sản phẩm này nổi bật với độ bền cao, tính phổ biến rộng rãi, và có nhiều mã code mẫu, rất dễ sử dụng, phù hợp cho người mới học và thực hiện các dự án.

Các phần mềm thực hiện

MQTT (Message Queuing Telemetry Transport) là giao thức nhắn tin tiêu chuẩn OASIS cho Internet of Things (IoT), được thiết kế để truyền tải tin nhắn theo mô hình publish/subscribe một cách nhẹ nhàng, phù hợp cho việc kết nối các thiết bị từ xa với băng thông mạng hạn chế Hiện nay, MQTT được ứng dụng rộng rãi trong nhiều lĩnh vực như ô tô, sản xuất, viễn thông, dầu khí và nhà thông minh.

MQTT là giao thức phổ biến trong IoT, cho phép các thiết bị hạn chế về tài nguyên gửi thông tin đến một máy chủ hoạt động như message broker Broker sẽ phân phối thông tin đến các máy khách đã đăng ký chủ đề Trong ngữ cảnh này, một chủ đề giống như một đường dẫn tệp phân cấp, và máy khách có thể đăng ký một cấp cụ thể hoặc sử dụng ký tự đại diện để đăng ký nhiều cấp trong hệ thống phân cấp của chủ đề.

Cơ chế publish/subscribe hoạt động dựa trên 3 yếu tố:

• Publisher: kết nối tới broker và gửi gói tin

• Subscriber: kết nối tới một broker tương tự, nhận bản tin mà thiết bị theo dõi

• Message Broker: bộ điều khiển trung tâm, luân chuyển bản tin giữa các thiết bị trong hệ thống

Client gửi và nhận thông điệp thông qua các Topic trong mô hình publish/subscribe Một Client có khả năng publish hoặc subscribe vào nhiều topic khác nhau MQTT Broker sẽ tự động phân phối mọi thông điệp được publish vào một topic đến tất cả các Client đã subscribe vào topic đó.

MQTT Topic là chuỗi kí tự (UTF-8) dùng để phân loại thông điệp trước khi gửi đến Client, có thể bao gồm nhiều cấp độ được phân cách bởi dấu gạch ‘/’, ví dụ: IoT/May_say Mỗi topic cần ít nhất một kí tự, cho phép khoảng trống và phân biệt chữ hoa, chữ thường; dấu ‘/’ cũng là một topic hợp lệ Với đặc tính nhẹ và chi phí tối thiểu, kiến trúc giao thức MQTT đảm bảo truyền dữ liệu hiệu quả ngay cả với băng thông thấp, đồng thời giảm tải cho CPU và RAM MQTT mang lại nhiều lợi thế so với các giao thức cạnh tranh.

• Truyền dữ liệu hiệu quả và thực hiện nhanh chóng, do nó là một giao thức nhẹ

• Mức sử dụng mạng thấp, do gói dữ liệu bị giảm thiểu

• Phân phối dữ liệu hiệu quả

• Triển khai thành công viễn thám và điều khiển

• Truyền tải thông điệp nhanh chóng, hiệu quả

• Sử dụng lượng điện năng nhỏ, tốt cho các thiết bị được kết nối, và

• Tối ưu hóa băng thông mạng

Những nhược điểm tiềm ẩn đối với MQTT bao gồm những điều sau:

• MQTT có chu kỳ truyền chậm hơn so với Giao thức ứng dụng bị ràng buộc (CoAP)

• Khám phá tài nguyên của MQTT hoạt động dựa trên đăng ký chủ đề linh hoạt, trong khi CoAP sử dụng hệ thống khám phá tài nguyên ổn định

• MQTT không được mã hóa Thay vào đó, nó sử dụng TLS / SSL (Bảo mật lớp truyền tải / Lớp cổng bảo mật) để mã hóa bảo mật

• Rất khó để tạo ra một mạng MQTT có thể mở rộng toàn cầu

• Các thách thức MQTT khác liên quan đến bảo mật, khả năng tương tác và xác thực.

NodeJS là nền tảng phát triển dựa trên JavaScript V8 Engine, cho phép tạo ra các ứng dụng web như trang video, diễn đàn và mạng xã hội Đây là một trong những phần mềm mã nguồn mở phổ biến nhất, được nhiều lập trình viên trên toàn cầu ưa chuộng.

Các đặc tính của NodeJS Sở hữu những đặc tính vượt trội, tin rằng trong tương lai NodeJS sẽ là một trong những ngôn ngữ lập trình hàng đầu

Không đồng bộ: None blocking – không đồng bộ có trên tất cả các API của Node

JS chủ yếu hoạt động trên server để trả dữ liệu, với việc di chuyển giữa các API diễn ra sau khi nhận thông báo sự kiện từ NodeJS Server và chờ phản hồi từ server Cơ chế này cho phép server phản ứng nhanh chóng với các cuộc gọi API trong thời gian thực Node được phát triển vững chắc trên nền tảng JavaScript Engine, giúp việc thực thi chương trình diễn ra nhanh chóng Mặc dù là đơn luồng, Node vẫn có khả năng mở rộng cao.

Node.js cung cấp mô hình luồng dữ liệu đơn với sự kiện lặp, cho phép máy chủ phản hồi một cách không chặn Điều này giúp tăng khả năng mở rộng của máy chủ so với các máy chủ truyền thống và giảm thiểu độ trễ trong việc xử lý yêu cầu.

Node.js là một nền tảng đơn luồng, cho phép xử lý nhiều yêu cầu đồng thời hiệu quả hơn so với các máy chủ truyền thống như Apache HTTP Server Điều đặc biệt ở Node.js là nó không đệm dữ liệu, mà chỉ tập trung vào việc xuất dữ liệu đầu ra Nhờ vào những ưu điểm này, Node.js mang lại hiệu suất vượt trội và khả năng phục vụ một lượng lớn người dùng cùng lúc.

Với cơ chế xử lý bất đồng bộ (non-blocking), hệ thống cho phép tốc độ xử lý nhanh chóng, giúp bạn dễ dàng quản lý hàng ngàn kết nối trong thời gian ngắn nhất.

+ Giúp bạn dễ dàng mở rộng khi có nhu cầu phát triển website

Node.js cho phép nhận và xử lý nhiều kết nối đồng thời chỉ với một luồng đơn, giúp tiết kiệm tối đa lượng RAM sử dụng Nhờ vào cơ chế này, hiệu suất xử lý của hệ thống trở nên nhanh chóng và hiệu quả hơn.

Có khả năng xử lý nhiều Request/s cùng một lúc trong thời gian ngắn nhất

Có khả năng xử lý hàng ngàn tiến trình với hiệu suất tối ưu, công nghệ này rất phù hợp để phát triển các ứng dụng thời gian thực như ứng dụng chat và mạng xã hội.

Một số nhược điểm của nodeJS

Node.js có thể gây tốn tài nguyên và thời gian do được viết bằng C++ và JavaScript, yêu cầu quá trình biên dịch trong xử lý Nếu bạn đang phát triển các ứng dụng cần hiệu suất cao và tốn nhiều tài nguyên CPU, thì không nên lựa chọn Node.js.

Node.js, khi so sánh với các ngôn ngữ lập trình khác như PHP, Ruby và Python, không có sự khác biệt quá lớn Nó có thể thích hợp cho việc phát triển các ứng dụng mới, nhưng không phải là lựa chọn tối ưu nhất cho việc xây dựng và triển khai các dự án quan trọng.

MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới, được ưa chuộng bởi các nhà phát triển nhờ tốc độ cao, tính ổn định và dễ sử dụng Hệ thống này hoạt động trên nhiều nền tảng, cung cấp nhiều hàm tiện ích mạnh mẽ, phù hợp cho các ứng dụng truy cập cơ sở dữ liệu trên internet với tính bảo mật cao Người dùng có thể tải MySQL miễn phí từ trang chủ MySQL có nhiều phiên bản cho các hệ điều hành khác nhau như Windows, Linux, Mac OSX, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris và SunOS, và là một ví dụ tiêu biểu về hệ quản trị cơ sở dữ liệu quan hệ sử dụng ngôn ngữ truy vấn có cấu trúc (SQL).

MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất trên thế giới, hỗ trợ nhiều ngôn ngữ lập trình như NodeJs, PHP và Perl Nó cung cấp một giải pháp lưu trữ hiệu quả cho thông tin trên các trang web được phát triển bằng các ngôn ngữ này Đặc biệt, MySQL có phiên bản hoàn toàn miễn phí, giúp người dùng dễ dàng tiếp cận và sử dụng.

Mysql có sự tương đồng với ngôn ngữ SQL về cách truy xuất và mã lệnh Công cụ này được phát hành từ những năm 90 của thế kỷ 20

Mysql hiện có 2 phiên bản:

- Phiên bản miễn phí (Mysql Community Server)

- Phiên bản trả phí (Enterprise Server)

THIẾT KẾ HỆ THỐNG

Sơ đồ khối mô tả hệ thống

Hệ thống bao gồm 2 khối chính là khối vật lý và khối ứng dụng:

Hình 3.1 Sơ đồ tổng quát

Khối vật lí: có chức năng chính là đọc giá trị nhiệt độ, độ ẩm, hiển thị LCD 16x2, điều khiển các nút ấn, motor

MQTT và Mosquitto là giao thức giúp gửi và nhận gói tin giữa hai khối vật lý và ứng dụng Chúng cung cấp dữ liệu để lưu trữ trong MySQL, tạo điều kiện cho người dùng quan sát và theo dõi sản phẩm một cách hiệu quả.

Quá trình MYSQL liên quan đến việc lấy dữ liệu từ Mosquitto và lưu trữ vào cơ sở dữ liệu Khối ứng dụng có nhiệm vụ hiển thị dữ liệu lên trang web và cài đặt thiết bị để gửi thông tin xuống khối vật lý.

Khối vật lý

Sơ đồ khối vật lý sẽ được trình bày ở dưới đây:

Hình 3.2: Sơ đồ khối vật lý

Trong khối vậy lý này ESP8266 sẽ có chức năng sau:

- Thực hiện việc đọc giá trị nhiệt độ độ ẩm từ DHT11

- Hiển thị giá trị nhiệt độ, độ ẩm lên màn hình LCD

- Đẩy các giá trị lên Database và thực hiện việc truyền nhận các Topic từ khối ứng dụng

- Giao tiếp UART với Arduino Truyền các chuỗi Json để Arduino điều khiển các thiết bị

Arduino có các chức năng sau:

- Nhận các chuỗi Json từ ESP8266

- Thông qua các chuỗi Json điều khiển bật tắt Relay để điều khiển hệ thống

- Sử dụng Button để bật tắt thiết bị điều khiển khi hệ thống ở chế độ thủ công

Khối MQTT, khối MySQL, khối ứng dụng

MQTT là giao thức truyền nhận tin nhắn qua internet, cho phép gửi các gói tin nhỏ gọn, lý tưởng cho các thiết bị IoT Giao thức này sử dụng một MQTT Broker làm máy chủ trung gian để chuyển tiếp thông tin giữa các thiết bị, đảm bảo hiệu suất và độ tin cậy trong việc truyền tải dữ liệu.

Trong bài viết này, chúng tôi sẽ trình bày hai phương thức thao tác với gói tin là publish và subscribe Để thực hiện điều này, chúng tôi đã chọn sử dụng Mosquitto, một Broker miễn phí, để thiết lập môi trường Broker trên máy tính của mình.

Khối cơ sở dữ liệu(Mysql)

Mysql nhiệm vụ chính lưu trữ dữ liệu, hỗ trợ một số phương thức xuất dữ liệu ra ngoài dưới dạng các bảng, các cột hay hàng…

NodeJS: sử dụng NodeJS để tạo Server ảo trên máy tính cá nhân

Client : đóng vai trò như một thiết bị truy cập vào server được tạo ở bước trên

THIẾT KẾ SẢN PHẨM

Kết nối ESP và các Module

- Khai báo thư viện sử dụng cho ESP8266, các chân và kết nối với mạng wifi

- Hàm thực hiện kết nối wifi và khai báo các chân

- Hàm kết nối Wifi và setup màn LCD

- Hàm nhận dữ liệu khi có Topic từ Wed gửi về

- Hàm kết nối lại khi mất kết nối với MQTT và gửi các Topic được đăng ký để nhận dữ liệu

- Kiểm tra kết nối mạng

- Đọc giá trị nhiệt độ, độ ẩm chuyển thành chuỗi Json và hiển thị các giá tị lên LCD

- Gửi những chuỗi Json thông qua Topic HTN_16_LAT để gửi lên Database

Cơ sở dữ liệu

Tạo một databases trong Mysql:

CREATE DATABASE Tên_cơ_sở_dữ_liệu;

Xóa một databases trong Mysql:

DROP DATABASE Tên_cơ_sở_dữ_liệu;

USE Tên_cơ_sở_dữ_liệu;

Tạo một bảng để lưu dữ liệu trong database mà mình muốn:

CREATE TABLE Tên_bảng(Tên_cột_1 kiểu_dữ liệu, … );

CREATE TABLE sensor(id Int(3) primary key auto_increment,temp float(3),temp_set int (3),time_h int(3),time_p int(3), humi int(3), updtime time);

Xóa bảng trong database mà bạn muốn xóa:

Xem cấu trúc của bảng:

Xem dữ liệu trong bảng:

Thêm dữ liệu vào bảng:

INSERT INTO Tên_bảng(tên_cột_1, tên_cột_2) VALUES(dữ_liệu_cột_1, dữ_liệu_cột_2, ….);

Xóa dữ liệu trong bảng:

DELETE FROM Tên_bảng WHERE mệnh_đề;

Hình 4.2 Cơ sở dữ liệu trên Database

Dữ liệu từ khối vật lý được gửi lên Mosquitto qua giao thức MQTT, cho phép truyền tải gói tin hiệu quả Mysql sẽ đọc các gói tin này từ Mosquitto và lưu trữ chúng trong cơ sở dữ liệu Nhờ Mysql, việc lưu trữ và quản lý dữ liệu trở nên dễ dàng và thuận tiện, hỗ trợ cho quá trình truy xuất thông tin Cơ sở dữ liệu đóng vai trò như một sơ đồ kết nối giữa khối vật lý và khối ứng dụng.

Hình 4.3 Sơ đồ thực hiện lưu trữ Database

Khối ứng dụng

Wed hiển thị là một trang wed do nhóm em tạo ra bằng 3 ngôn ngữ chính là HTML, CSS và Bootrap5 trong đó gồm có 3 phần chính:

Phần hiển thị dữ liệu nhiệt độ, độ ẩm, thời gian, cảnh báo và thời gian đảo hiện tại trong quy trình ấp

Hình 4.4 Hiển thị dữ liệu

Phần điều khiển của máy ấp được trang bị các nút nhấn giúp người dùng dễ dàng điều chỉnh từ xa qua Web Bên cạnh đó, còn có tính năng cài đặt điều kiện như nhiệt độ và thời gian đảo, mang lại sự tiện lợi tối đa cho người sử dụng.

Biểu đồ hiển thị sự thay đổi nhiệt độ và độ ẩm theo thời gian, giúp người sử dụng dễ dàng theo dõi quá trình này Dữ liệu được cập nhật mỗi 2 giây.

Hình 4.6 Biểu đồ hiển thị

Đây là trang web hoàn chỉnh mà nhóm chúng tôi thiết kế, dựa trên những kiến thức đã tích lũy Trang web này được tối ưu hóa để người dùng có thể dễ dàng sử dụng và trải nghiệm tốt hơn.

Sử dụng module mysql2 để kết nối đến cơ sở dữ liệu MySQL trên máy tính cá nhân Nếu chưa có, tiến hành tạo một bảng để lưu trữ các giá trị của các biến đã khai báo vào các cột của bảng Đồng thời, server sẽ truy xuất các giá trị từ cơ sở dữ liệu và hiển thị chúng lên trang web.

Tạo bảng để lưu dữ liệu trong MySQL

Khai báo tham số để kết nối tới MySQL

Thông qua module socket.io, Server sẽ phát các giá trị lấy được từ database vào một

Socket.emit(“tên_topic”, value);

Webpage đóng vai trò như máy khách, lắng nghe trên “tên_topic” :

Use Socket.on("topic_name", function(data)) to access the value of "data.value" and then insert these values into the blocks of the HTML webpage.

Hàm Check để cập nhật dữ liệu lên Wed từ MySQL khi Topic đúng với khối vật lý

Khai báo các Topic để gửi tin về khối vật lý

Khai báo các Socket và Function kiểm tra nút chuyển chế độ tự động và thủ công

Cập nhập các giá trị nhiệt độ, độ ẩm lên wed và hàm cảnh báo khi nhiệt độ vượt quá ngưỡng

Các hàm khi thực hiện Event từ các nút bấm trên Wed sẽ gửi các Socket từ Wed về khối vật lý

Các Soket được tới khối vật lý sẽ được đóng gói cùng với các Topic được khai báo

KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN

Kết quả

Thiết kế mạch hệ thống thành công giúp hệ thống hoạt động ổn định, đáp ứng nhu cầu và điều kiện của lò ấp Áp dụng kiến thức và ngôn ngữ lập trình đã học, sử dụng hiệu quả các giao thức MQTT, I2C và UART, tạo ra một hệ thống IoT có thể ứng dụng trong cuộc sống.

Hình 5.1 Hình ảnh thực thế của sản phẩm

Hướng phát triển

Do hạn chế về thời gian nghiên cứu, kinh nghiệm thiết kế hệ thống và làm việc với các ngôn ngữ lập trình, đề tài này được thiết kế ở quy mô nhỏ với số lượng sản phẩm chưa lớn Hướng phát triển tiếp theo sẽ được xem xét để mở rộng quy mô và nâng cao chất lượng sản phẩm.

- Sử dụng thêm 1 vi điều khiển nữa để có thể điều chỉnh và chia khối các chế độ tự động và thủ công

Hình 5.3 Sơ đồ khối vật lý khi phát triển

+ Khai báo các thư viện và khai báo các chân sử dụng cho Nút bấm, Motor đẩo và các chế độ cho Relay

+ Chọn chế độ đầu ra cho các chân Relay và tốc độ của motor

+ Check Button để kiểm tra các chế độ 0,1 của nút bấm đảm bảo cho việc thực hiện được luôn phiên biến đổi chế độ bật tắt khi ấn

+ Sử dụng Switch case để cài đặt các trạng thái riêng cho từng nút bấm

- Tối ưu được tốt hơn phần cứng, thiết kế mạch hoàn chỉnh hơn

Ứng dụng công nghệ AI để tối ưu hóa quy trình nhận dạng trứng sau khi ấp, giúp kiểm tra xem trứng có đủ điều kiện để tiếp tục ấp hay không.

Phát triển ứng dụng web không chỉ giới hạn trên máy tính mà còn mở rộng sang các thiết bị thông minh như điện thoại, giúp đơn giản hóa quá trình giao tiếp.

Ngày đăng: 03/10/2023, 17:29

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Internet of Things - Đồ án tốt nghiệp thiết kế hệ thống nhúng  Lò ấp trứng tự động + slide
Hình 1.1 Internet of Things (Trang 5)
Hình 1.2: Smart Home - Đồ án tốt nghiệp thiết kế hệ thống nhúng  Lò ấp trứng tự động + slide
Hình 1.2 Smart Home (Trang 6)
Hình 1.3: Smart Farm - Đồ án tốt nghiệp thiết kế hệ thống nhúng  Lò ấp trứng tự động + slide
Hình 1.3 Smart Farm (Trang 6)
3.1. Sơ đồ khối mô tả hệ thống - Đồ án tốt nghiệp thiết kế hệ thống nhúng  Lò ấp trứng tự động + slide
3.1. Sơ đồ khối mô tả hệ thống (Trang 19)
Sơ đồ khối vật lý sẽ được trình bày ở dưới đây: - Đồ án tốt nghiệp thiết kế hệ thống nhúng  Lò ấp trứng tự động + slide
Sơ đồ kh ối vật lý sẽ được trình bày ở dưới đây: (Trang 20)
Hình 3.3: Khối MQTT, Mosquitto - Đồ án tốt nghiệp thiết kế hệ thống nhúng  Lò ấp trứng tự động + slide
Hình 3.3 Khối MQTT, Mosquitto (Trang 21)
Hình 3.4: Khối ứng dụng - Đồ án tốt nghiệp thiết kế hệ thống nhúng  Lò ấp trứng tự động + slide
Hình 3.4 Khối ứng dụng (Trang 21)
Hình 4.1: Sơ đồ khối tổng quát hệ thống - Đồ án tốt nghiệp thiết kế hệ thống nhúng  Lò ấp trứng tự động + slide
Hình 4.1 Sơ đồ khối tổng quát hệ thống (Trang 22)
Hình 4.3. Sơ đồ thực hiện lưu trữ Database - Đồ án tốt nghiệp thiết kế hệ thống nhúng  Lò ấp trứng tự động + slide
Hình 4.3. Sơ đồ thực hiện lưu trữ Database (Trang 28)
Hình 4.4. Hiển thị dữ liệu - Đồ án tốt nghiệp thiết kế hệ thống nhúng  Lò ấp trứng tự động + slide
Hình 4.4. Hiển thị dữ liệu (Trang 28)
Hình 4.5. Bảng điều khiển - Đồ án tốt nghiệp thiết kế hệ thống nhúng  Lò ấp trứng tự động + slide
Hình 4.5. Bảng điều khiển (Trang 29)
Hình 4.6. Biểu đồ hiển thị - Đồ án tốt nghiệp thiết kế hệ thống nhúng  Lò ấp trứng tự động + slide
Hình 4.6. Biểu đồ hiển thị (Trang 29)
Hình 5.1. Hình ảnh thực thế của sản phẩm - Đồ án tốt nghiệp thiết kế hệ thống nhúng  Lò ấp trứng tự động + slide
Hình 5.1. Hình ảnh thực thế của sản phẩm (Trang 33)
Hình 5.2. Mạch in - Đồ án tốt nghiệp thiết kế hệ thống nhúng  Lò ấp trứng tự động + slide
Hình 5.2. Mạch in (Trang 33)
Hình 5.3 Sơ đồ khối vật lý khi phát triển - Đồ án tốt nghiệp thiết kế hệ thống nhúng  Lò ấp trứng tự động + slide
Hình 5.3 Sơ đồ khối vật lý khi phát triển (Trang 34)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w