ĐẶT VẤN ĐỀ Hiện nay, xã hội ngày càng phát triển và khoa học kỹ thuật càng ngày càng tiên tiến. Nhu cầu về kỹ thuật càng đƣợc chú trọng hơn. Đặc biệt là những công trình nghiên cứu khoa học, thiết kế ra những sản phẩm có thể giúp con ngƣời nâng cao mức sống, tạo ra các thực phẩm sạch và an toàn. Việc ứng dụng các mô hình quản lý nông trại thông minh vào thực tế để theo dõi các thông số môi trƣờng, môi sinh từ đó chúng ta có thể phân tích dữ liệu thu thập và có các giải pháp hợp lý để giúp việc chăm sóc và quản lý đạt hiệu quả và năng suất cao.Vì thế chúng tôi chọn đề tài “Thiết kế hệ thống quản lý nông trại” 1.2 MỤC TIÊU ĐỀ TÀI Xây dựng hệ thống gồm ba phần chính: Phần cứng thu thập dữ liệu đƣợc lắp ở trang trại, web server và ứng dụng di động để ngƣời dùng có thể dễ dàng tƣơng tác.
Đề tài Thiết kế hệ thống quản lý nông trại đƣợc thực hiện có chức năng: Cập nhật dữ liệu về trạng thái các thiết bị và các thông số từ cảm biến liên tục lên Server và cơ sở dữ liệu qua môi trƣờng qua Internet. Ngƣời dùng có thể giám sát và điều khiển các thiến bị điện từ xa qua trình duyệt web và ứng dụng trên smartphone.3 NộI DUNG Mô hình phần cứng thiết kế đơn giản, kết nối các thiết bị vận hành nông trại, và theo dõi các thông số của môi trƣờng thông qua cảm biến.Truyền các thông số 1 do an dữ liệu môi trƣờng lên server và ứng dụng di động để ngƣời dùng theo dõi và quản lý. Web server cho phép theo dõi các thông số môi trƣờng và có thể thao tác điều khiển các thiết bị vận hành .Và có cơ sở dữ liệu để có theo dõi các thông số môi trƣờng qua từng ngày. Ứng dụng di động có giao diện đơn giản, xem đƣợc các thông số môi trƣờng, môi sinh, có thể điều khiển đƣợc các thiết bị, và cập nhật dữ liệu thông số về số lƣợng vật nuôi, tuổi, ngày nhập.4 BỐ CỤC QUYỂN BÁO CÁO Nội dung chính của đề tài đƣợc trình bày với năm chƣơng nhƣ sau: Chƣơng 1 Giới thiệu Trong chƣơng này nêu ra đƣợc tình hình nghiên cứu hiện nay, lý do và mục tiêu chọn đề tài, nội dung đề tài.
Chƣơng 2: Cơ sở lý thuyết Các lý thuyết chính liên quan đến các thành phần phần cứng và phần mềm cả hệ thống. Chƣơng 3: Phân tích thiết kế hệ thống. Trong chƣơng này mục đích là thiết kế phần cứng, xây dựng phần mềm cho hệ thống với những yêu cầu đặt ra. Từ sơ đồ khối tổng quát và sơ đồ khối chi tiết để tiến hành lựa chọn các linh kiện cho các khối.
Xây dựng chƣơng trình trên NodeMCU ESP8266 ,WebServer,App Android. Thực hiện quá trình truyền dữ liệu của các cảm biến đến Web server và điện thoại smart phone,dùng giao diện Web và App Andriod trên điện thoại để điều khiển thiết bị và hẹn giờ bật máy bơm nƣớc thông qua kết nối internet. Chƣơng 4: Kết quả và đánh giá Trình bày về kết quả thi công phần cứng, phần mềm và đánh giá ƣu nhƣợc điểm của hệ thống. Chƣơng 5: Kết luận và hƣớng phát triển Đƣa ra các kết luận về những vấn đề mà trong quá trình nghiên cứu đã đạt đƣợc và chƣa đạt đƣợc.
Đƣa ra hƣớng phát triển đề tài trong tƣơng lai. 2 do an CHƢƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU NODEMCU ESP8266 2.1 Giới thiệu: ESP8266 là một chip tích hợp cao, đƣợc thiết kế cho nhu cầu của một thế giới kết nối mới, thế giới Internet of thing (IOT). ESP8266 cung cấp một giải pháp kết nối mạng Wi-Fi đầy đủ và khép kín, cho phép nó có thể lƣu trữ các ứng dụng hoặc để giảm tải tất cả các chức năng kết nối mạng Wi-Fi từ một bộ xử lý ứng dụng. ESP8266 có xử lý và khả năng lƣu trữ mạnh mẽ cho phép nó đƣợc tích hợp với các bộ cảm biến, vi điều khiển và các thiết bị ứng dụng cụ thể khác thông qua GPIOs.
ESP8266 là module wifi giá rẻ và đƣợc sử dụng rộng rãi trong các ứng dụng liên quan đến Internet và Wifi cũng nhƣ các ứng dụng truyền nhận sử dụng thay thế cho các module RF khác. Hiện tại thì đã có tới 14 phiên bản của ESP8266,nhƣng với đề tài chúng em lựa chọn NodeMCU ESP8266. NodeMCU ESP8266 là kit phát triển dựa trên nền chip Wifi SoC với thiết kế dễ dàng sửa dụng vì tích hợp sẵn mạch nạp sử dụng chíp CP2102 trên borad. Bên trong ESP8266 có sẵn một lõi vi sử lý vì thế bạn có thể trực tiếp lập trình cho ESP8266 mà không cần thêm bất kì con vi sử lý nào nữa.
Hiện tại có hai ngôn ngữ có thể lập trình cho ESP8266, sử dụng trực tiếp phần mềm IDE của Arduino để lập trình với bộ thƣ viện riêng hoặc sử dụng phần mềm node MCU, nó kết hợp các chức năng của WIFI, vi xử lý và ngôn ngữ LUA ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực tiếp trình biên dịch của Arduino để lập trình và nạp code, điều này khiến việc sử dụng và lập trình các ứng dụng trên ESP8266 trở nên rất đơn giản,ESP 8266 đƣợc dùng cho các ứng dụng cần kết nối, thu thập dữ liệu và điều khiển qua sóng Wifi, đặc biệt là các ứng dụng liên quan đến IoT. 3 do an Hình 2.1 : Hình ảnh NodeMCU ESP8266 NodeMCU ESP8266 gồm: IC chính: ESP 8266 WiFi SoC phiên bản ESP 12. Phiên bản firmware: NodeMCU. Chip nạp và giao tiếp UART: CP2102.
Tích hợp Led,nút Reset, Falsh. API điền khiển sự kiện cho các ứng dụng mạng. 10 chân GPIO giao tiếp mức 3.3V DC từ D0 – D10, có chức năng PWM, I2C, giao tiếp SPI, 1-Wire và ADC trên chân A0. Cấp nguồn: 5V DC Micro USB.
Kết nối mạng WiFi (có thể là sử dụng nhƣ điểm truy cập và/hoặc trạm máy chủ lƣu trữ một, máy chủ web), kết nối internet để lấy hoặc tải lên dữ liệu. Tƣơng thích hoàn toàn với trình biên dịch Arduino. Chi phí phù hợp cho các dự án Internet of Things (IoT). Tích hợp anten PCB trace trên module Tiêu chuẩn wifi : 802.11b/g/n, với tần số 2.4GHz và hổ trợ bảo mật WPA/WPA2 Khoảng cách giữa các chân 2mm 4 do an 2.2 Sơ đồ kết nối của NodeMCU ESP 8266.
Sau đây là sơ đồ chân kết nối của NodeMCU ESP8266: Hình 2.2 : Sơ đồ chân NodeMCU ESP8266 2.3 Môi trƣờng lập trình trên NODEMCU ESP8266. Song song với các phiên bản Arduino khác nhau nhƣ UNO R3, Tiny. ESP8266 NodeMCU là một trong những mạch phổ biến trong việc phát triển các dự án IoTs. Ƣu điểm của mạch này là module wifi đƣợc tích hợp sẵn và sử dụng một vi điều khiển mạnh mẽ hơn so với Arduino nguyên thủy.
Với ESP8266 NodeMCU, ngoài việc sử dụng ngôn ngữ lập trình Lua ta còn có thể lập trình sử dụng ngôn ngữ C/C++ thông qua Arduino IDE. Arduino IDE để tích hợp thƣ viện hỗ trợ cho việc lập trình ESP8266 NodeMCU cũng nhƣ cách biên dịch, nạp code và kiểm tra.2 MODULE LCD 20X4 LCD là các loại màn hình tinh thể lỏng nhỏ dùng để hiển thị các dòng chữ hoặc số trong bảng mã ASCII. Không giống các loại LCD lớn , LCD đƣợc chia sẵn thành từng ô và ứng với mỗi ô chỉ có thể hiển thị một kí tự ASCII. Mỗi ô của Text LCD bao gồm các “chấm” tinh thể lỏng, việc kết hợp “ẩn” và “hiện” các chấm này sẽ tạo thành một ký tự cần hiển thị.
Trong các LCD, các mẫu ký tự 5 do an đƣợc định nghĩa sẵn. Kích thƣớc của Text LCD đƣợc định nghĩa bằng số ký tự có thể hiển thị trên 1 dòng và tổng số dòng mà LCD có. Màn hình LCD 20x4 là loại có 4 dòng và mỗi dòng có thể hiển thị tối đa 20 ký tự.3: Sơ đồ chân LCD 20x4 Lcd có tất cả 16 chân Chân cấp nguồn: vss (nối nguồn 5V), VDD (nối 0V), V0 (điều chỉnh độ tƣơng phản). RS: Chân chọn thanh ghi (Register select).
Nối chân RS với logic “0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi. Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read). Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD. RW: Chân chọn chế độ đọc/ghi (Read/Write).
Nối chân R/W với logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độ đọc. Chân cho phép chốt xung kí tự (Enable). Sau khi các tín hiệu đƣợc đặt lên bus DB0-DB7, các lệnh chỉ đƣợc chấp nhận khi có 1 xung cho phép của chân E. Ở chế độ ghi: Dữ liệu ở bus sẽ đƣợc LCD chuyển vào (chấp nhận) thanh ghi bên trong nó khi phát hiện một xung (high-to-low transition) của tín hiệu chân E.
Ở chế độ đọc: Dữ liệu sẽ đƣợc LCD xuất ra DB0-DB7 khi phát hiện cạnh lên (low-to-high transition) ở chân E và đƣợc LCD giữ ở bus đến khi nào chân E xuống mức thấp. D0-D7: Chân dữ liệu. A, K: Chân điều khiển đèn nền.3 MODULE KẾT NỐI CHUẨN I2C 2.1 Giới thiệu: Thông thƣờng, để sử dụng màn hình LCD, bạn sẽ phải mất rất nhiều chân trên pin raspberry pi để điều khiển. Do vậy, để đơn giản hóa công việc, ngƣời ta đã tạo ra một loại mạch điều khiển màn hình LCD sử dụng giao tiếp I2C.
Chỉ tốn 2 chân (SDA và SCL) của MCU kết nối với 2 chân (SDA và SCL) của KIT RAS PI để điều khiển màn hình, thay vì 8 dây nhƣ cách thông thƣờng. Ngoài ra còn có thể điều chỉnh độ tƣơng phản bằng biến trở gắn trên module. 4: Sơ đồ chân kết nối LCD 20x4 2.2 Thông số kỹ thuật: Kích thƣớc: 41.3mm(H) Chuẩn giao tiếp I2C 1 jumper điều chỉnh ON/OFF đèn màn hình. Nguồn sử dụng cho module là 2.
Tốc độ truyền dữ liệu lên đến 400Kbps. Địa chỉ mặc định: 0x27, có thể mắc vào I2C bus tối đa 8 module (3bit address set), địa chỉ mới 0x3F.4 CẢM BIẾN DHT11 2.1 Giới thiệu DHT11 là cảm biến nhiệt độ và độ ẩm. Nó ra đời sau và đƣợc sử dụng thay thế cho dòng SHT1x ở những nơi không cần độ chính xác cao về nhiệt độ và độ ẩm. DHT11 có chuẩn giao tiếp 1 dây data.
5: Module DHT11 tích hợp với 3 chân kết nối 2.2 Thông số kỹ thuật: Điện áp hoạt động: 3-5. Dòng sử dụng khi truyền dữ liệu: 2. Tần số lấy mẫu tối đa: 1Hz. Thời gian truyền tín hiệu tối đa: 20ms.