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

Ứng dụng công nghệ iots vào việc giám sát từ xa cho mô hình nông trại

83 11 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 đề Ứng Dụng Công Nghệ IoTs Vào Việc Giám Sát Từ Xa Cho Mô Hình Nông Trại
Tác giả Đào Đình Văn, Nguyễn Tấn Duy, Bùi Đình Trung Đức
Người hướng dẫn ThS. Lê Minh Thành
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Máy Tính
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2017
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 83
Dung lượng 5,51 MB

Cấu trúc

  • Page 1

  • Page 1

Nội dung

TỔNG QUAN

T ÌNH HÌNH NGHIÊN CỨU

Hiện nay, sự phát triển của khoa học công nghệ đã thúc đẩy việc áp dụng kỹ thuật vào trồng trọt và chăn nuôi trong các mô hình nông trại, giúp giảm chi phí nhân công lâu dài và nâng cao hiệu suất thu hoạch so với phương pháp thủ công.

Từ đó mô hình chăn nuôi khép kín hay các nhà vườn trồng trọt ứng dụng khoa học công nghệ ngày càng phổ biến

Các nông trại chăn nuôi bò chủ yếu tập trung vào việc sản xuất thịt và sữa, với thiết kế chuồng trại phù hợp theo mục đích chăn nuôi Đối với bò sữa, chuồng thường được bố trí cho 1-2 con, có mái che thông thoáng để thuận tiện cho việc vắt sữa Mỗi con bò đều được gắn thẻ mã số ở tai để dễ dàng nhận biết, và khu vực ăn uống được đặt phía trước chuồng, được người nuôi vệ sinh thủ công mỗi khi cho ăn.

Hình 1.1: Khu vực ăn của bò sữa, mỗi con đều có mã thẻ riêng bên tai phải

Hệ thống nước được lắp đặt trên mỗi chuồng theo dạng tia xoay, không chỉ phục vụ cho việc tắm mà còn hỗ trợ vệ sinh chuồng Hệ thống này còn liên kết với nguồn nước uống, tuy nhiên chỉ hoạt động khi công tắc được bật.

Hình 1.2: Hệ thống ống dẫn nước tắm, vệ sinh chuồng đều liên kết với nhau

Mô hình nuôi bò thịt đơn giản hơn so với bò sữa, với việc nuôi chung trong chuồng lớn có thể chứa từ 50-60 con Thức ăn được cung cấp bằng xe cải tiến, trong khi việc tắm rửa và vệ sinh chuồng được thực hiện bằng vòi có công suất vừa.

Hình 1.3: Mô hình chuồng nuôi bò thịt

Để giải quyết các vấn đề liên quan đến năng suất trong chăn nuôi, cần phát triển hệ thống tích hợp theo dõi và kiểm soát các yếu tố như cho ăn, vệ sinh và chăm sóc sức khỏe vật nuôi Đề tài này giới thiệu một hệ thống nông nghiệp thông minh, ứng dụng công nghệ tự động hóa và IoT Hệ thống bao gồm robot thông minh điều khiển từ xa qua web server, có khả năng quan sát thể trạng bò sữa và đo lường nhiệt độ, độ ẩm môi trường Bên cạnh đó, hệ thống còn tự động điều khiển việc tắm và làm mát cho bò, giúp chúng thư giãn Hệ thống chăm sóc thông minh đảm bảo môi trường sống với nhiệt độ và độ ẩm tối ưu thông qua các thiết bị sưởi ấm và làm mát Tất cả các hoạt động này được kiểm soát qua thiết bị thông minh kết nối Internet, sử dụng cảm biến, mô-đun Wi-Fi hoặc ZigBee, camera và bộ truyền động, liên kết với bộ điều khiển vi và Raspberry Pi.

M ỤC TIÊU NGHIÊN CỨU

Trong đề tài này sẽ nghiên cứu về:

 Thiết kế hệ thống tắm, làm mát bằng động cơ phun nước và quạt cho vật một cách tự động

 Xây dựng web server có giao diện điều khiển thiết bị ngoại vi và giám sát nông trại thông qua camera

 Thiết kế bộ đo nhiệt độ, độ ẩm phù hợp cho từng loại nông trại

 Thiết kế hệ thống robot xe có gắn camera giám sát được điều khiển bằng webserver truyền hình ảnh trực tiếp về người dùng

 Thiết kế mô hình mạng ZigBee.

G IỚI HẠN ĐỀ TÀI

Trong thời gian hoàn thành đồ án, nhóm tập trung nghiên cứu mạng ZigBee, bao gồm 1 Coordinator để thu thập dữ liệu từ 3 ZigBee End-Device, mà không đi sâu vào các giao thức mạng.

Kit Raspberry cho phép người dùng khám phá nhiều tính năng hữu ích, bao gồm điều khiển động cơ thông qua các chân GPIO, truyền nhận dữ liệu qua giao thức UART, và xử lý hình ảnh từ camera.

Đ ỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

 Điều kiện môi trường sống (độ ẩm, nhiệt độ…) của vật nuôi

 Xây dựng web server trên Raspberry Pi

 Nhận, xử lý dữ liệu từ cảm biến của từng khu vực đưa lên web server

 Những mô hình nông trại nhỏ và vừa để phát huy hiệu quả của mạng ZigBee.

N ỘI DUNG ĐỒ ÁN

Với yêu cầu đề ra và xác định hướng giải quyết, nhóm nghiên cứu xây dựng luận văn gồm các nội dung chính như sau:

 Chương 1: Tổng quan Trình bày về tình hình nghiên cứu hiện nay từ đó đưa ra được mục tiêu đối tượng, phạm vi nghiên cứu mà nhóm hướng tới

Chương 2: Cơ Sở Lý Thuyết trình bày việc tính toán các thông số như nhiệt độ, độ ẩm, và độ sáng thông qua các loại cảm biến Nhóm nghiên cứu cũng sẽ mô tả các phương pháp thu thập và truyền nhận dữ liệu đã được áp dụng cho đề tài Thêm vào đó, sẽ có một cái nhìn tổng quan về module truyền nhận dữ liệu ZigBee và hệ thống web server nơi dữ liệu được xử lý và lưu trữ.

Chương 3: Thiết kế hệ thống tập trung vào việc phân tích thiết kế phần cứng và phần mềm, bao gồm sơ đồ nguyên lý và sơ đồ khối Bài viết sẽ trình bày chức năng của từng khối trong hệ thống, đồng thời giới thiệu sơ lược về cách thiết lập cho module và các kết nối cần thiết.

 Chương 4: Kết quả thực hiện Mạch thi công hoàn chỉnh (hình ảnh), kết quả đạt được

Chương 5: Kết luận và hướng phát triển nêu rõ những kết quả đã đạt được và định hướng cho tương lai của đề tài Nhóm đã tổng hợp các vấn đề đã hoàn thành cũng như những vấn đề còn tồn đọng Bên cạnh đó, chương này cũng chỉ ra những hạn chế của đề tài và đưa ra các hướng phát triển tiềm năng trong tương lai.

CƠ SỞ LÝ THUYẾT

INTERNET OF THINGS

Mạng lưới vạn vật kết nối Internet (IoTs) là một hệ thống trong đó mỗi đồ vật và con người đều có định danh riêng, cho phép truyền tải và trao đổi thông tin qua một mạng duy nhất mà không cần tương tác trực tiếp IoTs được hình thành từ sự kết hợp của công nghệ không dây, vi cơ điện tử và Internet, tạo thành 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à môi trường xung quanh để thực hiện các nhiệm vụ cụ thể.

Trong IoT, một vật thể có thể là con người với trái tim cấy ghép, động vật trang trại với chip sinh học, hoặc xe cộ với cảm biến cảnh báo tình trạng bánh xe Tất cả những vật thể này có thể được gán địa chỉ IP và truyền dữ liệu qua mạng Hiện tại, IoT chủ yếu hoạt động qua các liên kết máy-đến-máy (M2M) trong các lĩnh vực như sản xuất, năng lượng và dầu khí Sự tích hợp máy-đến-máy này thường được coi là một yếu tố thông minh của sản phẩm.

2.1.2 Mô hình hệ thống IoTs

Bất kỳ một hệ thống IOTs nào cũng được xây dựng lên từ sự kết hợp của 4 layer sau [3]:

 Lớp ứng dụng (Application Layer)

 Lớp Hỗ trợ dịch vụ và hỗ trợ ứng dụng (Service Support and Application Support Layer)

 Lớp thiết bị (Device Layer)

2.1.3 Ứng dụng IoTs vào nông nghiệp

Hiện nay, Internet of Things (IoT) đang hiện diện trong mọi lĩnh vực của cuộc sống Đặc biệt, nông nghiệp đã trở thành lĩnh vực tiên phong trong việc ứng dụng công nghệ Internet vào sản xuất trồng trọt và chăn nuôi.

Hình 2.1: Ứng dụng IoT vào nông nghiệp

Nông nghiệp từ lâu đã là lĩnh vực ít được ứng dụng công nghệ, đặc biệt tại các quốc gia đang phát triển và chậm phát triển, nơi mà sản xuất nông nghiệp chủ yếu dựa vào kinh nghiệm của nông dân về cây trồng và thời tiết Điều này dẫn đến năng suất và hiệu quả canh tác không ổn định, mang tính chất "may rủi".

Trước thách thức toàn cầu về biến đổi khí hậu và gia tăng dân số, đảm bảo an ninh lương thực trở thành vấn đề cấp bách Ngành nông nghiệp cần tìm kiếm các phương pháp sản xuất hiệu quả hơn, và việc áp dụng công nghệ mới là giải pháp thiết yếu để nâng cao năng suất canh tác.

Những lợi ích IoTs mang lại:

 Tăng sản lượng canh tác

 Quản lý dịch bệnh hiệu quả

 Không tốn công chăm sóc

 Sản phẩm đạt chất lượng cao và đồng bộ

 Dễ dàng xử lý những sự cố không mong muốn.

ZIGBEE

ZigBee là một giao thức truyền thông tiên tiến, được xây dựng trên nền tảng chuẩn không dây IEEE 802.15.4, sử dụng tín hiệu radio để thiết lập các mạng cá nhân (PAN - personal area network).

ZigBee là lựa chọn lý tưởng cho các ứng dụng không yêu cầu tốc độ truyền dữ liệu cao nhưng cần bảo mật tốt và thời gian hoạt động dài Công nghệ này thường được sử dụng trong các mạng ad-hoc, giúp tối ưu hóa hiệu suất và độ tin cậy trong kết nối.

ZigBee, được phát triển từ những năm 1998-1999, đã ra đời khi các nhà khoa học nhận thấy Wi-Fi và Bluetooth không phù hợp cho nhiều ứng dụng công nghiệp Đến năm 2004, tiêu chuẩn ZigBee chính thức được thiết lập và phê duyệt bởi tổ chức ZigBee Alliance.

 Sử dụng đơn giản, giá thành hợp lý, tiết kiệm năng lượng

Thiết bị này được thiết kế để đáp ứng nhu cầu của cả người dùng tự lắp đặt và các nhà tích hợp hệ thống chuyên nghiệp Nó giúp tối ưu hóa năng lượng và giảm thiểu hao phí điện năng trong quá trình sử dụng.

Thiết bị sử dụng tiêu chuẩn mở phù hợp với mọi thiết bị điện - điện tử trên thị trường

Công nghệ không dây giúp giảm chi phí và những phức tạp của mạng có dây truyền thống Việc sử dụng tần số quốc tế 2.4 GHz không chỉ dễ dàng trong việc lắp đặt mà còn thuận tiện cho người dùng.

Tính năng điều khiển tự động hoặc bán tự động giúp giảm bớt sức lao động của con người Việc kết nối Internet cho phép người dùng điều khiển thiết bị từ xa một cách thuận tiện Hơn nữa, quá trình tự lắp đặt và cài đặt cũng rất đơn giản, mang lại sự dễ dàng cho người sử dụng.

Dễ dàng lắp đặt cảm biến không dây để giám sát an ninh ngôi nhà Nhận thông báo tức thì khi có sự kiện bất thường xảy ra

AES hệ thống không dây được mã hóa đặc biệt, đảm bảo chỉ duy nhất chủ nhà có khả năng điều khiển hệ thống

Tích hợp điều khiển và giám sát các phân hệ điện của ngôi nhà cũng như các hệ an ninh, kiểm soát truy nhập…

Các ứng dụng được thiết kế dưới dạng module cho phép người dùng chỉ mua những thiết bị cần thiết Người dùng có thể kết hợp nhiều sản phẩm từ các nhà sản xuất khác nhau mà không lo lắng về khả năng tương thích với mạng ZigBee.

Hình 2.2: So sánh các kỹ thuật không dây

Hình 2.3: So sánh phạm vi hoạt động của ZigBee Ứng dụng

 Tần số chung toàn cầu 2.4 GHz

 Pin sử dụng có tuổi thọ lớn

 Khoảng cách không dây 70m trong nhà, 400m ngoài nhà

 Việc kết nối mạng linh hoạt đảm bảo đáp ứng mọi quy mô của ngôi nhà

 Khả năng mở rộng tới hàng ngàn thiết bị

 Tích hợp khả năng điều khiển và giám sát trạng thái hoạt động của các hệ chiếu sáng, an ninh, rèm cửa, bơm nước, bình nóng lạnh, điều hòa

Các lớp trong hệ thống hoạt động độc lập, với mỗi lớp không nhận biết về lớp trên Lớp trên được coi là "master", chịu trách nhiệm gửi yêu cầu cho lớp "slave" bên dưới thực hiện.

Hình 2.4: Kiến trúc của mạng ZigBee

Trong kiến trúc ZigBee, các lớp được kết nối thông qua các "Service Access Points" (SAPs), cung cấp API tách biệt giữa các lớp Theo đặc tả IEEE 802.15.4, ZigBee sử dụng hai SAP cho mỗi lớp: một cho dữ liệu và một cho quản lý Tất cả các truyền thông dữ liệu giữa các lớp đều diễn ra qua "Network Layer Data Entity Service Access Point" (NLDE-SAP) Các yêu cầu trong ZigBee, như APSDE-DATA.Request, cho phép gửi dữ liệu qua radio nhưng chỉ có thể được khởi tạo từ lớp APS.

Lớp thấp nhất trong giao thức mạng, bao gồm MAC và PHY, được quy định bởi tiêu chuẩn IEEE 802.15.4 Lớp PHY chịu trách nhiệm chuyển đổi các gói dữ liệu thành các bit truyền qua không khí và ngược lại Trong khi đó, lớp MAC cung cấp khái niệm về mạng, bao gồm PAN ID, và quản lý kết nối thông qua các yêu cầu và phản hồi beacon Nó cũng hỗ trợ xác nhận từng bước và một số lệnh cho việc tham gia và thiết lập mạng, tuy nhiên, lớp MAC không hỗ trợ multi-hop hay mạng lưới mesh.

Lớp NWK có trách nhiệm cho hình thành mạng mesh, gồm broadcasting các packets qua mạng, xác định các đường đi cho các unicasting packets, và đảm bảo

Mạng ZigBee đảm bảo tính bảo mật thông qua lớp mạng (NWK), nơi tất cả các gói dữ liệu được gửi một cách tin cậy từ node này sang node khác Lớp NWK không chỉ cung cấp các lệnh bảo mật cho việc tham gia và tái tham gia vào mạng mà còn mã hóa toàn bộ payload của khung NWK, đảm bảo an toàn cho thông tin truyền tải.

Lớp APS đóng vai trò quan trọng trong việc ứng dụng, hoạt động như một bộ lọc cho các ứng dụng phía trên, giúp quản lý logic của các endpoints Nó có khả năng hiểu và kiểm tra các clusters và endpoints, xác định xem chúng có thuộc về Application Profile và group trước khi gửi thông điệp lên trên Ngoài ra, lớp APS còn lọc các thông điệp trùng lặp được gửi từ lớp NWK Lớp này cũng duy trì một bảng local binding, chỉ ra các node hoặc group trong mạng mà node muốn giao tiếp.

Lớp ZDO, bao gồm ZigBee Device Profile và ZDP, đóng vai trò quan trọng trong việc quản lý cục bộ và qua mạng của hệ thống Nó cung cấp các dịch vụ cần thiết để khám phá các nút khác và dịch vụ trong mạng, đồng thời chịu trách nhiệm trực tiếp về trạng thái hiện tại của các nút trong mạng.

The Application Framework incorporates the ZigBee Cluster Library and offers a structured environment for running applications It utilizes endpoints as a mechanism to isolate one application from others, ensuring efficient operation and management within the framework.

Các dịch vụ bảo mật được dùng bởi nhiều lớp, và có thể được dùng bởi các lớp ZDO, APS, or NWK, do đó nó nằm ở cạnh

In the MAC layer, it is referred to as a PAN Information Base (PIB), while in the network layer, it is known as a Network Information Base (NIB) Additionally, the Application Support layer (APS) utilizes an Application Information Base (AIB).

“information base” nghĩa là các cài đặt của lớp đó

Một mạng kiểu ZigBee gồm có 3 loại thiết bị :

WEB SERVER

2.3.1 Tổng quan về web server

Web Server là một máy chủ mạnh mẽ với dung lượng lớn và tốc độ cao, có chức năng lưu trữ thông tin giống như một ngân hàng dữ liệu Nó chứa các website đã được thiết kế cùng với những thông tin liên quan như mã Script, chương trình và các file Multimedia.

Web Server có khả năng truyền tải các trang Web đến máy khách qua Internet thông qua giao thức HTTP, được thiết kế đặc biệt để gửi file đến trình duyệt Web và các giao thức khác.

Mọi máy tính đều có khả năng trở thành Web Server bằng cách cài đặt phần mềm Server Software và kết nối với Internet Khi bạn truy cập một trang web, máy tính của bạn gửi yêu cầu đến Web Server, và phần mềm này sẽ xử lý yêu cầu để cung cấp thông tin mà bạn cần.

2.3.2 Một số phần mềm Web Server phổ biến

Apache HTTP Server, thường được gọi là Apache, là phần mềm máy chủ web phổ biến nhất trên toàn cầu Được phát triển và duy trì bởi cộng đồng mã nguồn mở dưới sự bảo trợ của Apache Software Foundation, Apache được phát hành theo giấy phép Apache License, cho phép người dùng sử dụng miễn phí.

Tính đến tháng 6 năm 2013, Apache chiếm 54.2% thị phần các trang web đang hoạt động và 53.3% số máy chủ hàng đầu Phần mềm này tương thích với nhiều hệ điều hành, bao gồm Windows, Linux, Unix, FreeBSD và Solaris.

Apache có các tính năng như chứng thực người dùng, virtual hosting, hỗ trợ CGI, FCGI, SCGI, WCGI, SSI, ISAPI, HTTPS, Ipv6, …

Nginx là một web server nhẹ và tiết kiệm tài nguyên hệ thống, đồng thời cũng là một reverse proxy mã nguồn mở Phần mềm này nổi bật với độ ổn định, cấu hình đơn giản và hiệu suất cao, làm cho nó trở thành lựa chọn phổ biến cho nhiều ứng dụng web.

Nginx, được phát triển bởi Igor Sesoev vào năm 2002, ban đầu phục vụ cho website rambler.ru, trang web phổ biến thứ hai tại Nga Theo thống kê của Netcraft, 6.52% trong số một triệu website lớn nhất thế giới sử dụng Nginx, trong khi tại Nga, tỷ lệ này lên tới 46.9%.

Nginx là phần mềm mã nguồn mở Nginx là phần mềm miễn phí, được phát hành rộng rãi theo giấy phép BSD Nginx được phát triển bằng ngôn ngữ C

Nginx chạy được trên các hệ điều hành như Linux, FreeBSD, Windows, Solaris, MacOS…

Nginx có các tính năng như chứng thực người dùng, hỗ trợ HTTPS, virtual hosting, hỗ trợ FastGCI, hỗ trợ Ipv6…

Apache Tomcat là một Java Servlet được phát triển bởi Apache Software Foundation, cho phép thi hành các ứng dụng Java Servlet và JavaServer Pages (JSP) Nó cung cấp một máy chủ HTTP cho ngôn ngữ Java, giúp chạy các ứng dụng web dựa trên Java Apache Tomcat là phần mềm mã nguồn mở và được hỗ trợ bởi một cộng đồng tình nguyện viên từ cộng đồng mã nguồn mở Java.

Apache Tomcat là một ứng dụng web ổn định, sở hữu đầy đủ tính năng của phần mềm thương mại nhưng lại đi kèm với giấy phép mã nguồn mở của Apache Nó cung cấp nhiều chức năng bổ sung như ứng dụng quản lý Tomcat, triển khai realm chuyên dụng và các van Tomcat Các phiên bản của Apache Tomcat tương ứng với các phiên bản và đặc điểm kỹ thuật của Servlet Java, với Tomcat 5.5X hỗ trợ Servlet API 2.3, Tomcat 6.0X hỗ trợ Servlet API 2.4 và Tomcat 7.0 hỗ trợ Servlet API 3.0 Bên cạnh các phiên bản Servlet API, mỗi phiên bản Tomcat cũng hỗ trợ phiên bản JSP API tương ứng.

Apache Tomcat có các tính năng như chứng thực người dùng, virtual hosting, CGI, Java Servlet, SSI, hỗ trợ Ipv6, …

Apache Tomcat hỗ trợ các hệ điều hành như windows, Linux, OS, BSD, Solaris, …

2.3.3 Ngôn ngữ lập trình PHP

PHP (viết tắt của "Hypertext Preprocessor") là một ngôn ngữ lập trình kịch bản chạy phía server, được sử dụng để tạo mã HTML cho client Với nhiều phiên bản đã được phát triển và tối ưu hóa cho ứng dụng web, PHP nổi bật với cú pháp rõ ràng, tốc độ xử lý nhanh và tính dễ học, khiến nó trở thành một trong những ngôn ngữ lập trình web phổ biến và được ưa chuộng nhất hiện nay.

PHP hoạt động trên môi trường Webserver và quản lý dữ liệu thông qua hệ quản trị cơ sở dữ liệu, thường kết hợp với Apache, MySQL và hệ điều hành Linux, tạo thành bộ công nghệ LAMP.

Apache là phần mềm máy chủ web, có chức năng nhận yêu cầu từ trình duyệt của người dùng, chuyển giao yêu cầu đó cho PHP để xử lý và sau đó gửi lại kết quả cho trình duyệt.

MySQL là một hệ quản trị cơ sở dữ liệu tương tự như Postgres, Oracle và SQL Server, có chức năng chính là lưu trữ và truy vấn dữ liệu hiệu quả.

Linux là hệ điều hành mã nguồn mở phổ biến, thường được sử dụng cho các webserver Các phiên bản được ưa chuộng nhất bao gồm RedHat Enterprise Linux và Ubuntu.

PHP hoạt động như thế nào?

Khi người dùng truy cập trang PHP, Web Server sẽ kích hoạt PHP Engine để xử lý và biên dịch mã PHP, sau đó trả về kết quả cho người dùng.

Hình 2.9: Quá trình thông dịch trang PHP

PHƯƠNG PHÁP TRUYỀN DỮ LIỆU

Giới thiệu về chuẩn giao tiếp UART

UART (Universal Asynchronous Receiver-Transmitter) là một mạch tích hợp quan trọng cho việc truyền dữ liệu nối tiếp giữa máy tính và thiết bị ngoại vi Nhiều vi điều khiển hiện nay tích hợp UART, nhưng do tốc độ và hiệu suất không còn cạnh tranh với các giao tiếp hiện đại, các dòng PC và Laptop mới không còn tích hợp cổng UART Quá trình truyền dữ liệu qua UART bắt đầu bằng một bit START, tiếp theo là các bit dữ liệu, và kết thúc bằng một bit STOP.

Hình 2.10: Khung dữ liệu truyền UART

Khi thiết bị ở trạng thái chờ, điện thế ở mức cao (1) Khi bắt đầu truyền dữ liệu, START bit sẽ chuyển từ 1 xuống 0 để báo hiệu cho bộ nhận rằng quá trình truyền sắp diễn ra Tiếp theo là các bit dữ liệu D0-D7, có thể ở mức cao hoặc thấp tùy thuộc vào dữ liệu Sau khi truyền xong dữ liệu, Bit Parity sẽ được gửi để bộ nhận kiểm tra tính chính xác của dữ liệu Cuối cùng, STOP bit sẽ chuyển về mức 1, thông báo cho thiết bị rằng quá trình truyền đã hoàn tất Thiết bị nhận sẽ tiến hành kiểm tra khung truyền để đảm bảo tính đúng đắn của dữ liệu.

Các thông số cơ bản trong truyền nhận UART:

 Baud rate (tốc độ baud): Khoảng thời gian dành cho bit được truyền Phải được cài đặt giống nhau ở gửi và nhận

 Frame (khung truyền): Khung truyền quy định về số bit trong mỗi lần truyền

 Start bit (bit bắt buộc): Bit đầu tiên được truyền trong 1 Frame Báo hiệu cho thiết bị nhận có một gói dữ liệu sắp được truyền đến

 Data: dữ liệu cần truyền Bit có trọng số nhỏ nhất LSB được truyền trước sau đó đến bit MSB

 Parity bit: kiểm tra dữ liệu truyền có đúng không

Bit dừng (stop bit) là một hoặc nhiều bit thông báo cho thiết bị rằng quá trình gửi dữ liệu đã hoàn tất Thiết bị nhận sẽ tiến hành kiểm tra khung truyền để đảm bảo tính chính xác của dữ liệu đã nhận.

RASPBERRY

Hình 2.11: Máy tính Raspberry Pi

Raspberry Pi là một "máy tính tí hon" chạy hệ điều hành Linux, ra mắt vào tháng 2 năm 2012, được phát triển bởi tiến sĩ Eben Upton tại đại học Cambridge với mục tiêu tạo ra một chiếc máy tính giá rẻ cho học sinh Ban đầu, ông chỉ hy vọng bán được 1000 bo mạch cho các trường học, nhưng sự thành công vượt bậc của Raspberry Pi đã khiến nó trở thành một công cụ phổ biến trong việc khám phá thế giới tin học.

Raspberry Pi có giá chỉ 25$, mang đến khả năng thực hiện nhiều ứng dụng hàng ngày như lướt web, học lập trình và xem phim HD Ngoài ra, nó còn hỗ trợ các ý tưởng sáng tạo như điều khiển robot và xây dựng nhà thông minh.

Raspberry Pi hoạt động trên hệ điều hành Linux, cho phép người dùng thực hiện hầu hết các tác vụ tương tự như trên máy tính Windows Đặc biệt, tất cả các ứng dụng và phần mềm đều hoàn toàn miễn phí, mang lại trải nghiệm tuyệt vời cho người dùng.

Raspberry Pi được trang bị ngõ GPIO, cho phép người dùng kết nối và điều khiển các thiết bị thực tế như đèn, động cơ và GPS Nhiều ứng dụng trong lĩnh vực nhà thông minh đã tận dụng Raspberry Pi như một bộ điều khiển trung tâm hiệu quả.

Raspberry Pi là một thiết bị nhỏ gọn, chỉ bằng kích thước của một thẻ ATM và nặng chưa đến 50 gram Khi kết nối với TV, nó có thể trở thành một thiết bị giải trí thông minh cho phòng khách Ngoài ra, khi kết nối với màn hình, bàn phím và chuột, Raspberry Pi có thể hoạt động như một máy tính thực thụ, mang lại sự tiện lợi và linh hoạt cho người sử dụng.

Cộng đồng Raspberry Pi đang phát triển mạnh mẽ trên toàn cầu, với hầu hết các thắc mắc của người dùng được giải đáp nhanh chóng Người dùng còn có thể khám phá hàng ngàn dự án đã hoàn thành và vô số ý tưởng sáng tạo độc đáo.

Raspberry Pi, với những ưu điểm nổi bật, đã vượt ra ngoài môi trường giáo dục để trở thành thiết bị yêu thích của nhiều người đam mê điện tử và lập trình Sự thành công của nó đã đánh dấu một bước tiến mới trong lĩnh vực tin học, giúp máy tính và niềm đam mê lập trình trở nên gần gũi hơn với mọi người.

Phiên bản hiện tại trên thị trường là Loại B, thay thế cho Loại A, với cải tiến đáng chú ý là có hai cổng USB và cổng Ethernet RJ45, trong khi Loại A chỉ có một cổng USB và không hỗ trợ Ethernet Để kết nối mạng với Raspberry Pi Loại A, người dùng cần sử dụng thêm USB Wi-Fi hoặc USB Ethernet.

Raspberry Pi loại B nổi bật với nhiều cổng USB và kết nối Ethernet trực tiếp, cùng với ưu thế về RAM và công suất vượt trội so với loại A, khiến nó trở thành lựa chọn phổ biến Phiên bản v1 của Raspberry Pi loại B được sản xuất tại Trung Quốc, trong khi phiên bản v2 được sản xuất tại Anh.

Hình 2.12: Máy tính Raspberry Pi loại B v1(bên trái) và v2(bên phải)

Bảng 2.1: So sánh cấu hình của Raspberry Pi loại A và B

SoC Broadcom BCM2835 (CPU, GPU, DSP, SDRAM, 1cổng

USB) CPU 700 MHz ARM1176JZF-S core (họ ARM11)

GPU Broadcom Video Core IV, OpenGL ES 2.0, MPEG-2 và VC-

256 MB (chia sẻ với GPU)

512 MB (chia sẻ với GPU)

Cổng USB 2.0 1 2 (thông qua USB hub)

Ngõ ra Video Hỗn hợp RCA (PAL và NTSC), HDMI (rev 1.3 & 1.4), xuất ra

LCD thông qua DSI 14 HDMI độ phân giải từ 640×350 đến 1920×1200 điều chỉnh theo chuẩn PAL và NTSC

Ngõ ra Audio Xuất ra ngõ 3.5 mm, HDMI

Bộ nhớ lưu trữ Các khe cắm SD / MMC / SDIO

Kết nối mạng Không có 10/100 Ethernet (RJ45) via USB hub

8 × GPIO, UART, I²C , SPI với 2 chip lựa chọn, +3.3 V, +5 V, Mass

Nguồn cấp 5 volt qua cổng Micro USB hoặc qua đầu cắm GPIO

Kích thước 5.60 mm × 53.98 mm (3.370 in × 2.125 in)

Với những ưu điểm vượt trội hơn và giá cả hợp lý hơn nên nhóm thực hiện đề tài đã chọn Raspberry Pi loại B v2 để thực hiện đề tài

2.5.3 Môi trường lập trình trên Raspberry Pi

Dựa trên nền tảng Linux, nhiều bản phân phối như Debian, Ubuntu và Fedora đã được phát triển Trong số đó, Debian đã được điều chỉnh để hoạt động tối ưu trên Raspberry Pi, tạo ra hệ điều hành Raspbian, là phiên bản chính thức dành cho thiết bị này.

Linux hoạt động trên hai môi trường chính: môi trường Desktop và môi trường Terminal sử dụng command line Trước đây, Linux chủ yếu hoạt động trên Terminal, gây khó khăn cho người dùng quen với Windows Tuy nhiên, gần đây, Linux đã phát triển giao diện đồ họa hấp dẫn không thua kém gì Windows 8 hay macOS Trên Raspberry Pi, giao diện LXDE (Light X11 Desktop Environment) được cài đặt sẵn, mang đến một môi trường đồ họa nhẹ nhàng, đủ dùng mà không tiêu tốn nhiều tài nguyên.

Lập trình giao diện người dùng (GUI) cho Raspberry Pi có thể thực hiện bằng Qt Creator, Python hoặc C++ Ngoài ra, việc sử dụng cross compiler từ máy tính sẽ giúp giảm thiểu thời gian biên dịch, hỗ trợ tốt hơn cho những ai muốn phát triển giao diện trên Raspberry Pi.

Do những yêu cầu của đề tài đặt ra và hướng tới không sử dụng đến giao diện đồ họa trên máy tính Raspberry Pi

Python được cài đặt sẵn trên Raspberry Pi, là một ngôn ngữ lập trình dễ học và mạnh mẽ Với cấu trúc dữ liệu cấp cao hiệu quả và hướng lập trình đối tượng đơn giản, Python có cú pháp tao nhã và kiểu dữ liệu động Bản chất thông dịch của nó khiến Python trở thành ngôn ngữ lý tưởng cho việc viết kịch bản và phát triển ứng dụng nhanh chóng trong nhiều lĩnh vực, trên hầu hết mọi hệ thống.

Trình thông dịch Python cho phép mở rộng dễ dàng thông qua các chức năng và kiểu dữ liệu được phát triển bằng C hoặc C++, cũng như các ngôn ngữ có thể tương tác với C Python cũng là lựa chọn lý tưởng để sử dụng như một ngôn ngữ mở rộng cho các ứng dụng mà người dùng có thể tùy chỉnh.

VI ĐIỀU KHIỂN PIC 16F887

Sơ lược về chân của PIC 16F887

Hình 2.13: Sơ đồ chân VDK PIC16F887

PIC 16F887 là một dòng vi điều khiển PIC cơ bản với 40 chân, mạnh mẽ về tính năng và bộ nhớ đủ cho hầu hết các ứng dụng thông thường Cấu trúc tổng quát của PIC 16F887 đáp ứng nhu cầu của nhiều dự án khác nhau.

 5 ports (A, B, C, D, E) vào ra với tín hiệu điều khiển độc lập

 2 bộ định thời 8 bits (Timer 0 và Timer 2)

 Một bộ định thời 16 bits (Timer 1) có thể hoạt động trong chế độ tiết kiệm năng lượng (SLEEP MODE) với nguồn xung Clock ngoài

 2 bộ CCP (Capture / Compare/ PWM)

 1 bộ biến đổi ADC10 bits, 8-ngõ vào

 2 bộ so sánh tương tự (Comparator)

 1 bộ định thời giám sát (Watch Dog Timer)

 Một cổng song song 8 bits với các tín hiệu điều khiển

 Có chế độ tiết kiệm năng lượng

 Nạp chương trình bằng cổng nối tiếp ICSP (In-Circuit Serial

 Được chế tạo bằng công nghệ CMOS

 35 tập lệnh có độ dài 14 bits

 Tần số hoạt động tối đa 20MHz.

THIẾT BỊ PHẦN CỨNG

2.7.1 Cảm biến nhiệt độ, độ ẩm DHT11

Cảm biến DHT11 là thiết bị đo nhiệt độ và độ ẩm, được phát triển để thay thế dòng SHT1x, phù hợp cho những ứng dụng không yêu cầu độ chính xác cao.

Hình 2.14: Module cảm biến nhiệt độ, độ ẩm DHT11

Cảm biến DHT11 đang trở thành lựa chọn phổ biến nhờ chi phí thấp và khả năng thu thập dữ liệu dễ dàng qua giao tiếp 1 wire (giao tiếp digital 1 dây) Với bộ tiền xử lý tín hiệu tích hợp, DHT11 cung cấp dữ liệu chính xác mà không cần thực hiện bất kỳ phép tính nào.

 Sai số nhiệt độ: ±2ºC

 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

Hình 2.15: Thời gian truyền nhận giữa MCU và DHT11

MCU thiết lập chân DATA làm Output và kéo chân này xuống 0 trong khoảng thời gian lớn hơn 18ms, trong khi code của tôi đặt thời gian là 25ms Điều này giúp DHT11 nhận biết rằng MCU muốn đo nhiệt độ và độ ẩm.

 MCU đưa chân DATA lên 1, sau đó thiết lập lại là chân đầu vào

 Sau khoảng 20-40us, DHT11 sẽ kéo chân DATA xuống thấp Nếu >40us mà chân DATA không được kéo xuống thấp nghĩa là không giao tiếp được với DHT11

Chân DATA của 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 xem có giao tiếp thành công với DHT11 hay không Nếu tín hiệu đo được từ DHT11 lên cao, quá trình giao tiếp giữa MCU và DHT11 sẽ hoàn tất.

Bước 2: Đọc giá trị trên 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)

 Nếu Byte 5 = (8 bit) (Byte1 +Byte2 +Byte3 + Byte4) thì giá trị độ ẩm và nhiệt độ là chính xác, nếu sai thì kết quả đo không có nghĩa

Camera Raspberry Pi được trang bị cảm biến 5 Megapixel với độ nhạy sáng cao, cho phép chụp ảnh rõ nét trong nhiều điều kiện ánh sáng khác nhau, cả trong nhà lẫn ngoài trời Đặc biệt, camera này có khả năng chụp hình độ phân giải cao trong khi quay video, mang lại trải nghiệm hình ảnh tuyệt vời cho người sử dụng.

Camera được kết nối trực tiếp vào socket CSI trên Raspberry Pi Model B, giúp tiết kiệm cổng USB và giảm nghẽn băng thông cho chip xử lý USB Chiều dài cáp nối camera được thiết kế hợp lý để đảm bảo tốc độ truyền hình ảnh ổn định từ module về RPi.

Hình 2.16: Camera Raspberry Pi 5MP

Bạn có thể thiết lập hệ thống phát hiện chuyển động bằng cách sử dụng camera và Raspberry Pi (RPi) Hệ thống này hoạt động bằng cách kết hợp hình ảnh từ camera với chương trình motion để xử lý hình ảnh và phát hiện chuyển động, từ đó đưa ra lệnh điều khiển khi có sự chuyển động được ghi nhận.

Camera rất hữu ích cho những người đam mê làm phim, giúp bạn quay những góc cạnh khó hoặc các cảnh quay độc đáo mà chỉ máy quay gọn nhẹ mới có thể thực hiện Bên cạnh đó, camera cũng cho phép bạn tạo ra các đoạn phim time-lapse, một xu hướng đang được nhiều người trên thế giới ưa chuộng.

Màn hình LED 7 đoạn chỉ có khả năng hiển thị các số từ 0 đến 9 và các ký tự hex từ 0 đến F, do đó không thể trình bày thông tin ký tự khác Trong khi đó, màn hình LCD có thể hiển thị đầy đủ tất cả các thông tin ký tự.

Màn hình LCD có nhiều kích thước khác nhau, từ vài ký tự đến hàng chục ký tự, với số lượng hàng từ 1 đến vài chục Ví dụ, LCD 16x2 có 2 hàng, mỗi hàng chứa 16 ký tự, trong khi LCD 20x4 có 4 hàng, mỗi hàng có 20 ký tự.

Hình 2.17: Hình ảnh của LCD

LCD có nhiều loại với số chân khác nhau, phổ biến nhất là loại 14 chân và 16 chân Sự khác biệt giữa chúng chủ yếu nằm ở các chân nguồn cung cấp, trong khi các chân điều khiển vẫn giữ nguyên Để sử dụng loại LCD nào, người dùng cần tham khảo datasheet của nó để nắm rõ thông tin về các chân.

Trong 16 chân của LCD được chia ra làm 3 dạng tín hiệu như sau:

Các chân cấp nguồn: Chân số 1 là chân nối mass (0V), chân thứ 2 là Vdd nối với nguồn +5V Chân thứ 3 dùng để chỉnh contrast thường nối với biến trở

Chân điều khiển bao gồm chân số 4 (RS) để lựa chọn thanh ghi, chân R/W để điều khiển quá trình đọc và ghi, và chân E để cho phép dạng xung chốt.

Các chân dữ liệu D7÷D0: Chân số 7 đến chân số 14 là 8 chân dùng để trao đổi dữ liệu giữa thiết bị điều khiển và LCD

2.7.4 Động cơ DC Động cơ điện một chiều là máy điện chuyển đổi năng lượng điện một chiều sang năng lượng cơ

Máy phát điện chuyển đổi năng lượng cơ học thành năng lượng điện, bao gồm hai loại động cơ điện 1 chiều: động cơ không chổi than (BLDC) và động cơ có chổi than (DC).

Cấu tạo gồm có 3 phần chính stator (phần cảm), rotor (phần ứng), và phần chỉnh lưu (chổi than và cổ góp):

 Stator của động cơ điện 1 chiều thường là 1 hay nhiều cặp nam châm vĩnh cửu, hay nam châm điện

 Rotor có các cuộn dây quấn và được nối với nguồn điện một chiều

Bộ phận chỉnh lưu có chức năng đổi chiều dòng điện trong quá trình rotor quay liên tục Thông thường, bộ phận này bao gồm một cổ góp và một bộ chổi than tiếp xúc với cổ góp.

2.7.5 Module điều khiển động cơ LM298

Module điều khiển motor LM298 [15] có sẵn ốc gắn sử dụng IC điều khiển L298N có thể điều khiển 2 động cơ một chiều hoặc 1 động cơ bước 4 pha

 Được thiết kế chắc chắn, có sẵn chỗ bắt ốc vào mô hình

IC L298N được trang bị tản nhiệt chống nóng, cho phép điều khiển dòng đỉnh lên đến 2A Board mạch tích hợp các đi ốt nhằm bảo vệ vi xử lý khỏi các dòng điện cảm ứng phát sinh trong quá trình khởi động và tắt động cơ.

Hình 2.18: Sơ đồ chân LM298

 Driver: L298N tích hợp hai mạch cầu H

 Dòng tối đa cho mỗi cầu H là :2A

 Điện áp của tín hiệu điều khiển : +5 V ~ +7 V

 Dòng của tín hiệu điều khiển : 0 ~ 36 mA

 Công suất hao phí : 20W (khi nhiệt độ T = 75 °C)

THIẾT KẾ HỆ THỐNG

Y ÊU CẦU HỆ THỐNG

Phạm vi nghiên cứu của đồ án tập trung vào việc xây dựng mô hình nhỏ cho nông trại thông minh Những khối cấu thành mà nhóm đề xuất chỉ bao gồm các yếu tố cần thiết nhằm đạt được mục tiêu đã đề ra trong dự án.

Mô hình nông trại thiết kế bao gồm 3 chuồng, sử dụng cảm biến DHT11 để thu thập nhiệt độ và độ ẩm từ môi trường Dữ liệu được truyền đến xe robot qua mạng ZigBee, cho phép xe robot hoạt động trong bán kính 30m để thu thập thông tin và giám sát các chuồng thông qua camera Tất cả các hoạt động giám sát và điều khiển thiết bị trong chuồng, cùng với việc cập nhật dữ liệu tự động, đều được thực hiện qua web server Khối nguồn được thiết kế tối ưu nhằm đảm bảo sự ổn định cho mọi hoạt động của mô hình.

S Ơ ĐỒ KHỐI

Hình 3.1: Sơ đồ khối hệ thống

Theo sơ đồ khối trong hình 3.1, có ba chuồng kết nối mạch tương tự nhau Board mạch này kết nối module ZigBee với các thiết bị ngoại vi, bao gồm cảm biến nhiệt độ và độ ẩm DHT11, động cơ bơm nước, quạt và cây massage (được mô phỏng bằng LED).

The robot vehicle is integrated with a Raspberry Pi and connects to a ZigBee Coordinator via UART Data collected from the Router Boards is transmitted to the robot vehicle through the ZigBee network.

Nhóm thực hiện đề tài đã cài đặt Raspberry Pi thành một web server và database server, cho phép nhận dữ liệu qua UART, xử lý và lưu trữ vào cơ sở dữ liệu Sau khi khởi động, Raspberry Pi cung cấp giao diện web, giúp người dùng có thể đăng nhập từ máy tính hoặc điện thoại có kết nối mạng để xem thông tin về nhiệt độ và trạng thái thiết bị của từng chuồng Ngoài ra, người dùng còn có thể bật tắt thiết bị khi cần và theo dõi qua camera gắn trên xe.

Với khả năng mở rộng linh hoạt của mạng ZigBee, người dùng có thể dễ dàng tăng cường hệ thống thu thập dữ liệu và mở rộng số lượng khu vực theo nhu cầu Trong nghiên cứu này, nhóm thực hiện mô hình với một máy chủ trung tâm và ba chuồng chăn nuôi bò sữa.

T HIẾT KẾ PHẦN CỨNG

Raspberry Pi là một máy tính nhỏ gọn giá 25$ ra mắt vào tháng 2 năm 2012, chạy hệ điều hành Linux Thiết bị này có thể thực hiện nhiều ứng dụng hàng ngày như lướt web, học lập trình, xem phim HD, và còn hỗ trợ các ý tưởng sáng tạo như điều khiển robot và xây dựng nhà thông minh.

Trong bài viết này, Raspberry Pi được sử dụng làm máy chủ lưu trữ cơ sở dữ liệu và các tập thông tin web, đồng thời đảm nhận vai trò của một khối xử lý trung tâm.

Sử dụng hai chân TX và RX của GPIO để kết nối với ZigBee (coordinator) nhằm truyền nhận dữ liệu Dữ liệu nhận được sẽ được xử lý và lưu trữ trong cơ sở dữ liệu, trong khi dữ liệu truyền đi bao gồm các lệnh cho ZigBee thực hiện các chức năng như lấy nhiệt độ và bật/tắt thiết bị.

 Xây dựng một tập các file python để đảm nhận các chức năng truyền nhận UART, xử lý dữ liệu và cập nhật dữ liệu vào database

 Cài các chương trình hỗ trợ web server như Apache, PHP, MySQL, các thư viện cần thiết và xây dựng web server

 Kết nối cổng mạng với modem (có NAT port dịch vụ http) để public trang ra ngoài mạng

Để PHP có thể đọc, ghi và thực thi các tệp tin Python từ server trên Raspberry Pi, cần cấu hình phân quyền cho một số tệp tin Bạn có thể tìm hiểu chi tiết về cách thiết lập phân quyền bằng cách tìm kiếm với từ khóa permissions/chmod hoặc tham khảo thêm thông tin tại [17].

 Truyền tín hiệu xuống cho module L298 điều khiền bánh xe chạy theo mong muốn

Hình 3.3: Sơ đồ khối hoạt động bộ xử lý trung tâm

Coordinator là thiết bị điều phối mạng với chức năng tương tự như router, bao gồm cảm biến nhiệt độ và độ ẩm, cùng khả năng điều khiển hai thiết bị ngoại vi Nó tổng hợp dữ liệu từ các cảm biến ZigBee trong mạng và gửi đến bộ xử lý trung tâm qua kết nối UART Sơ đồ nguyên lý được thể hiện trong Hình 3.6.

Coordinator là thiết bị quan trọng nhất trong mạng ZigBee, luôn được cấp nguồn và kết nối với Raspberry qua chuẩn UART trong suốt quá trình hoạt động Nhờ vào tính năng tiết kiệm điện năng của ZigBee, thời gian sử dụng của thiết bị sẽ được kéo dài đáng kể.

Hình 3.4: Giao tiếp Raspberry với ZigBee Coordinator

Giao tiếp robot xe qua L298N

Module L298 có thể điều khiển 2 động cơ DC hoặc 1 động cơ bước, có 4 lỗ nằm ở 4 góc thuận tiện cho người sử dụng cố định vị trí của module

IC L298N được trang bị tản nhiệt chống nóng, cho phép điều khiển dòng đỉnh lên đến 2A Ngoài ra, IC còn được kết nối với các đi ốt trên board, giúp bảo vệ vi xử lý khỏi các dòng điện cảm ứng khi khởi động hoặc tắt động cơ.

Module điều khiển động cơ một chiều (DC Motor Driver) sử dụng chip cầu H L298 cho phép điều chỉnh tốc độ và chiều quay của động cơ DC một cách dễ dàng Ngoài ra, module L298 còn có khả năng điều khiển một động cơ bước lưỡng cực Mạch cầu H của IC L298 hoạt động hiệu quả trong dải điện áp từ 5V đến 35V.

Hình 3.5: Sơ đồ kết nối raspberry với L298

Hình 3.6: Mạch kết nối thực tế

Module camera 5Mpx được thiết kế đặc biệt cho Raspberry Pi, kết nối qua giao tiếp CSI tốc độ cao, cho phép chụp ảnh với độ phân giải lên đến 2592 x.

1944 pixel và Full HD video

Module Raspberry Pi Camera có kích thước siêu nhỏ 25mm x 20mm x 9mm và cân nặng chỉ 3g, kết nới với main Raspberry Pi bằng cáp mỏng (ribbon)

Cùng với những ưu điểm trên thì tính năng dễ dàng lắp và cài đặt cũng được trình bày rõ như hình 3.9

Trước khi có thể sử dụng được raspberry pi camera board, bạn cần phải thiết lập cấu hình hệ thống và kích hoạt chức năng camera trên RPi

 Đăng nhập với user pi và chạy lệnh: “sudo raspi-config”

 Sau khi kích hoạt thành công, bạn khởi động lại bằng lệnh: “sudo shutdown -r now”

Hình 3.7: Camera được kết nối với raspberry

3.3.2 Thiết kế mạch kết nối PIC16F887 với các cảm biến

Trước khi thi công mạch thực tế, nhóm đã sử dụng phần mềm Proteus để mô phỏng mạch Kết quả thu được từ cảm biến DHT11 đã được hiển thị trên màn hình LCD 20x4, như thể hiện trong hình 3.7.

Hình 3.8: Mạch mô phỏng bằng Protues

Để tận dụng các tính năng của ZigBee như chuyển tiếp gói tin, tự phục hồi liên kết hỏng và mở rộng tầm hoạt động, nhóm đã chọn cấu hình router cho các module router ZigBee End-Device chủ yếu thực hiện nhiệm vụ đọc cảm biến, gửi dữ liệu về ZigBee Coordinator và ngủ cho đến chu kỳ tiếp theo mà không xử lý gói tin điều khiển Do đó, để điều khiển thiết bị hiệu quả, việc chọn ZigBee với đầy đủ chức năng, đặc biệt là cấu hình router, là lựa chọn tối ưu nhất.

Bảng mạch kết nối với router sẽ thu thập dữ liệu nhiệt độ và độ ẩm từ cảm biến DHT11, sau đó truyền thông tin này qua giao thức UART đến vi điều khiển PIC16F887 để hiển thị trên màn hình LCD Đồng thời, dữ liệu cũng được gửi đến thiết bị Coordinator qua mạng ZigBee Khi nhiệt độ vượt quá ngưỡng quy định, hệ thống tưới nước sẽ tự động kích hoạt để làm mát không khí Nếu độ ẩm vượt quá mức cho phép, quạt sẽ được bật để giảm độ ẩm Trong trường hợp xảy ra sự cố mạng nội bộ, người dùng có thể sử dụng nút bấm để điều chỉnh hoạt động của quạt và hệ thống tưới nước.

3.3.3 Cấu hình và truyền dữ liệu khối ZigBee

The computer communication module utilizes the PL2303 chip and connects via USB, supporting baud rates of 9600, 19200, 38400, 57600, and 115200 It features two status indicator LEDs, along with test and reset buttons, and operates on a 5V power supply To establish a ZigBee network, three key components are required: a Coordinator, a Router, and an End Device.

Coordinator là thành phần thiết yếu trong mạng ZigBee, chịu trách nhiệm gán địa chỉ cho các node khi chúng gia nhập mạng Mỗi mạng ZigBee chỉ cần một Coordinator duy nhất; nếu có hai Coordinator trong cùng một khu vực, một trong số đó sẽ tự động thay đổi PAN ID để tránh xung đột với PAN ID đã tồn tại.

Router là thiết bị có chức năng chuyển tiếp các gói tin bằng cách xác định con đường tối ưu trong mạng Khi một node mới được thêm vào mạng, nó sẽ được gán một địa chỉ riêng Trong mạng ZigBee, có thể tồn tại nhiều router, cho phép chúng gửi và nhận dữ liệu một cách hiệu quả.

T HIẾT KẾ PHẦN MỀM

Nhóm thiết kế đã phát triển một Web server có khả năng hoạt động trên smartphone và máy tính xách tay, cho phép người dùng tương tác với thiết bị thông qua kết nối mạng nội bộ.

Web cho phép người dùng đăng nhập để theo dõi thông tin cập nhật từ ZigBee Router Người dùng có thể xác định xem ZigBee có tham gia vào mạng hay không, nhiệt độ hiện tại là bao nhiêu, và trạng thái hoạt động của các thiết bị mà ZigBee quản lý, bao gồm việc thiết bị đang bật hay tắt.

 Giám sát nhiệt độ, độ ẩm theo thời gian thực bằng bảng dữ liệu

 Giao diện web được thiết kế để người dùng có thể bật/tắt thiết bị từ web

Web tự động cập nhật và hiển thị thông số mới từ cơ sở dữ liệu sau một khoảng thời gian nhất định, đảm bảo mọi thay đổi đều được phản ánh kịp thời Để đáp ứng các yêu cầu này, nhóm thực hiện đề tài thiết kế một giao diện Web sử dụng các kỹ thuật tiên tiến.

 Tạo một cơ sở dữ liệu ở raspberry để lưu trữ thông tin về tài khoản đăng nhập và dữ liệu gửi lên từ ZigBee (Coordinator)

 Dùng HTML kết hợp với JavaScript và CSS thiết kế một giao diện Web thân thiện với người dùng

 Dùng PHP-MySQL để xử lý truy vấn dữ liệu khi có yêu cầu

 Cấp quyền đọc, ghi, thực thi file từ PHP để thực hiện các chức năng vẽ đồ thị và bật tắt thiết bị từ web

Utilize JQuery AJAX to update data on the web client, where JQuery AJAX communicates with the server, executing PHP code that returns an array of data formatted as JavaScript.

Raspberry Pi là một lựa chọn lý tưởng cho việc thiết lập web server với nhu cầu giao tiếp không cao, như server thử nghiệm hoặc mạng internet thu nhỏ Thiết bị này tiêu thụ điện năng thấp, chỉ khoảng 5 Watts, tương đương với chi phí khoảng 3.5 euro mỗi năm khi hoạt động liên tục 24/7, đồng thời không tỏa nhiệt nhiều.

Apache là một chương trình máy chủ HTTP, cho phép giao tiếp qua giao thức HTTP, tiếp nhận yêu cầu từ người dùng và phân chia công việc cho các thành phần khác Chương trình này tổng hợp kết quả và gửi lại cho người dùng Apache có thể chạy trên nhiều hệ điều hành như Unix, Microsoft Windows, Novell Netware và các hệ điều hành khác.

36 đặt apache bằng lệnh: sudo apt-get install apache2 –y Từ browser truy cập vào ip của raspberry ta được như hình bên dưới

Hình 3.9: Giao diện của trang mặc định

Chúng ta vào thư mục /var/www nếu thấy như hình dưới đây là đã cài thành công

Hình 3.10: Thư mục web trên Raspberry Pi

Trang web mặc định được lưu trữ trong file HTML tại /var/www/index.html, nhưng nhóm thực hiện đã chuyển đổi thành index.php và thiết lập IP tĩnh là 192.168.1.100 Từ đây, nhóm có thể tự do thiết kế lại trang web theo ý muốn.

Thành phần PHP là một phần quan trọng trong việc biên dịch các file PHP Khi có yêu cầu truy cập vào tài nguyên PHP, Apache sẽ giao nhiệm vụ cho thành phần PHP xử lý nội dung trong file đó và trả kết quả về cho Apache để gửi đến trình duyệt Để cài đặt thành phần PHP, bạn có thể sử dụng lệnh: sudo apt-get install php5 libapache2-mod-php5 –y.

Hệ quản trị cơ sở dữ liệu là cần thiết cho việc truy vấn thông tin người dùng và dữ liệu từ các vùng ZigBee trên website PHP hỗ trợ nhiều hệ quản trị cơ sở dữ liệu, nhưng trong đề tài này, MySQL là lựa chọn tối ưu MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến, nổi bật với tốc độ cao, tính ổn định và dễ sử dụng Nó hoạt động trên nhiều hệ điều hành và cung cấp nhiều hàm tiện ích mạnh mẽ, đồng thời tương thích tốt với PHP Với tốc độ và tính bảo mật vượt trội, MySQL là giải pháp lý tưởng cho các ứng dụng truy cập cơ sở dữ liệu qua internet Để cài đặt MySQL, sử dụng lệnh: sudo apt-get install mysql-server mysql-client php5-mysql.

Trong quá trình cài thì đòi hỏi tạo mật khẩu cho tài khoản admin để quản trị

Hình 3.12: Nhập mật khẩu cho MySQL

Như vậy là việc cài đặt Apache, PHP, MySQL đã hoàn thành Tiếp theo, nhóm thực hiện đề tài tạo một cơ sở dữ liệu tên doan2, data

Hình 3.13: Bảng user trong cơ sở dữ liệu

Database doan2 có bảng user chứa id và password Database data có bảng control chứa dữ liệu nhietdo, doam, nuoc, quat, time

Cột nhiệt độ và độ ẩm lưu trữ dữ liệu từ cảm biến, trong khi nước và quạt thể hiện trạng thái bật tắt Thời gian cập nhật dữ liệu cảm biến được ghi lại để theo dõi hiệu quả.

Hình 3.14: Bảng dữ liệu control

Trong đề tài này, nhóm sử dụng phần mềm Macromedia Dreamweaver để thiết kế giao diện Web Server, được xây dựng bằng HTML, CSS và JavaScript Sau khi hoàn thiện giao diện, các đoạn code xử lý form và sự kiện từ người dùng sẽ được chèn vào Website bao gồm trang đăng nhập và trang chính, và nếu người dùng đăng xuất, trang chính sẽ tự động chuyển về trang đăng nhập.

Giao diện chính khi người dùng đăng nhập vào như sau:

 Thanh bar bao gồm chức năng đưa lên đầu trang, chuyển sang trang trạng thái từng nông trại, camera và liên hệ

Hình 3.16: Giao diện trang chủ của web

3.4.2 Lưu đồ giải thuật trên Pic 16F887

Hình 3.17: Lưu đồ chương trình chính

Chương trình chính thực hiện việc đọc nhiệt độ và độ ẩm từ cảm biến DHT11, sau đó so sánh dữ liệu thu được với các mức ngưỡng đã định Dựa vào kết quả so sánh, vi xử lý sẽ điều khiển bật quạt hoặc máy bơm tương ứng với từng mức ngưỡng Cuối cùng, dữ liệu sẽ được gửi lên ZigBee Coordinator thông qua chương trình con truyền dữ liệu.

Chương trình con đọc nhiệt độ, độ ẩm

Hình 3.18: Chương trình con đọc nhiệt độ, độ ẩm từ cảm biến DHT11

Chương trình con đọc nhiệt độ và độ ẩm từ cảm biến DHT11 bao gồm các bước khởi tạo port, biến và chương trình con Start Signal với Check Response Hai chương trình con này thực hiện kiểm tra đáp ứng của DHT11; nếu có phản hồi, chương trình sẽ đọc dữ liệu từ cảm biến Ngược lại, nếu không có phản hồi, màn hình LCD sẽ hiển thị "No Response" Nếu thời gian đọc dữ liệu kéo dài, biến time out sẽ được tăng lên 1 và LCD sẽ hiển thị "time out" Trong trường hợp thành công, giá trị nhiệt độ và độ ẩm sẽ được xuất ra màn hình LCD.

Start Signal và Check Response

Hình 3.19: Tạo tín hiệu (bên trái) và kiểm tra phản hồi (bên phải) DHT11

Các bước của chương trình con Start Signal:

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

 MCU đưa chân DATA lên 1, sau đó thiết lập lại là chân đầu vào

Các bước của chương trình con Check Response:

 Sau khoảng 20-40us, DHT11 sẽ kéo chân DATA xuống thấp Nếu >40us mà chân DATA không được kéo xuống thấp nghĩa là không giao tiếp được với DHT11

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

Truyền và nhận UART giữa PIC và ZigBee Router

Hình 3.20: Chương trình con truyền (bên trái), nhận (bên phải) của UART

Xử lý nút nhấn dùng ngắt port B

Hình 3.21: Dùng ngắt port B để xử lý nút nhấn

Chương trình con btnquat và btndc

Hình 3.22: Chương trình con điều khiển quạt (bên trái), động cơ (bên phải)

Hình 3.23: Chương trình con điều khiển cây massage

3.4.3 Lưu đồ giải thuật trên Raspberry Pi

Hình 3.24: Lưu đồ điều khiển robot xe

Hình 3.25: Lưu đồ giải thuật trên webserver

KẾT QUẢ THỰC HIỆN

Ngày đăng: 29/11/2021, 10:38

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] “Internet of Things là gì? Tại sao nó sẽ trở thành xu hướng của tương lai? 20/1/2015” Sách, tạp chí
Tiêu đề: Internet of Things là gì? Tại sao nó sẽ trở thành xu hướng của tương lai? 20/1/2015
[2] “Thế giới Tương lai của Internet of Things 22/5/2014” Sách, tạp chí
Tiêu đề: Thế giới Tương lai của Internet of Things 22/5/2014
[16] RaspberryVN. “Hướng dẫn - Các nội dung tìm hiểu liên quan đến Raspberry Pi,” 18/9/2013. Tham khảo tại link http://codientu.org/threads/8560/ Sách, tạp chí
Tiêu đề: Hướng dẫn - Các nội dung tìm hiểu liên quan đến Raspberry Pi
[3] Everton Cavalcante, Marcelo Pitanga Alves, An Analysis of Reference Architectures for the Internet of Things, Corba 2015 Khác
[12] MICROCHIP – PIC 16F87 DATASHEET,1997 Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Khu vực ăn của bò sữa, mỗi con đều có mã thẻ riêng bên tai phải - Ứng dụng công nghệ iots vào việc giám sát từ xa cho mô hình nông trại
Hình 1.1 Khu vực ăn của bò sữa, mỗi con đều có mã thẻ riêng bên tai phải (Trang 17)
Hình 1.2: Hệ thống ống dẫn nước tắm, vệ sinh chuồng đều liên kết với nhau - Ứng dụng công nghệ iots vào việc giám sát từ xa cho mô hình nông trại
Hình 1.2 Hệ thống ống dẫn nước tắm, vệ sinh chuồng đều liên kết với nhau (Trang 18)
Hình 2.1: Ứng dụng IoT vào nông nghiệp - Ứng dụng công nghệ iots vào việc giám sát từ xa cho mô hình nông trại
Hình 2.1 Ứng dụng IoT vào nông nghiệp (Trang 22)
Hình 2.4: Kiến trúc của mạng ZigBee - Ứng dụng công nghệ iots vào việc giám sát từ xa cho mô hình nông trại
Hình 2.4 Kiến trúc của mạng ZigBee (Trang 25)
Hình 2.11: Máy tính Raspberry Pi - Ứng dụng công nghệ iots vào việc giám sát từ xa cho mô hình nông trại
Hình 2.11 Máy tính Raspberry Pi (Trang 33)
Hình 2.12: Máy tính Raspberry Pi loại B v1(bên trái) và v2(bên phải) - Ứng dụng công nghệ iots vào việc giám sát từ xa cho mô hình nông trại
Hình 2.12 Máy tính Raspberry Pi loại B v1(bên trái) và v2(bên phải) (Trang 34)
Hình 2.15: Thời gian truyền nhận giữa MCU và DHT11 - Ứng dụng công nghệ iots vào việc giám sát từ xa cho mô hình nông trại
Hình 2.15 Thời gian truyền nhận giữa MCU và DHT11 (Trang 38)
Hình 2.16: Camera Raspberry Pi 5MP - Ứng dụng công nghệ iots vào việc giám sát từ xa cho mô hình nông trại
Hình 2.16 Camera Raspberry Pi 5MP (Trang 40)
3.2  SƠ ĐỒ KHỐI - Ứng dụng công nghệ iots vào việc giám sát từ xa cho mô hình nông trại
3.2 SƠ ĐỒ KHỐI (Trang 43)
Hình 3.4: Giao tiếp Raspberry với ZigBee Coordinator - Ứng dụng công nghệ iots vào việc giám sát từ xa cho mô hình nông trại
Hình 3.4 Giao tiếp Raspberry với ZigBee Coordinator (Trang 46)
Hình 3.10: Thư mục web trên Raspberry Pi - Ứng dụng công nghệ iots vào việc giám sát từ xa cho mô hình nông trại
Hình 3.10 Thư mục web trên Raspberry Pi (Trang 52)
Hình 3.13: Bảng user trong cơ sở dữ liệu - Ứng dụng công nghệ iots vào việc giám sát từ xa cho mô hình nông trại
Hình 3.13 Bảng user trong cơ sở dữ liệu (Trang 54)
Hình 3.19: Tạo tín hiệu (bên trái) và kiểm tra phản hồi (bên phải) DHT11 - Ứng dụng công nghệ iots vào việc giám sát từ xa cho mô hình nông trại
Hình 3.19 Tạo tín hiệu (bên trái) và kiểm tra phản hồi (bên phải) DHT11 (Trang 58)
Hình 3.22: Chương trình con điều khiển quạt (bên trái), động cơ (bên phải) - Ứng dụng công nghệ iots vào việc giám sát từ xa cho mô hình nông trại
Hình 3.22 Chương trình con điều khiển quạt (bên trái), động cơ (bên phải) (Trang 60)
Hình 3.23: Chương trình con điều khiển cây massage - Ứng dụng công nghệ iots vào việc giám sát từ xa cho mô hình nông trại
Hình 3.23 Chương trình con điều khiển cây massage (Trang 60)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w