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

Thiết kế và thi công hệ thống giám sát thủy canh trên nền tảng internet of things

82 12 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

Định dạng
Số trang 82
Dung lượng 6,66 MB

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

Nội dung

Ở Việt Nam, NNĐT bước đầu đã được nhiều thành phố đưa vào mục tiêu phát triển như một yếu tố quan trọng trong hệ thống cung cấp thực phẩm cho các vùng đô thị để đáp ứng quy mô của các th

Trang 1

THÀNH PHỐ HỒ CHÍ MINH

THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỦY CANH TRÊN NỀN TẢNG INTERNET OF THINGS

ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG

GVHD: TẠ VĂN PHƯƠNG SVTT: ĐỖ VŨ ANH DUY MSSV:11941039

SKL 0 0 4 5 5 4

Trang 2

KHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ-CÔNG NGHIỆP

GVHD: Ths Tạ Văn Phương SVTH : Đỗ Vũ Anh Duy MSSV: 11941039

Trang 3

PHIẾU ĐÁNH GIÁ KHÓA LUẬN TỐT NGHIỆP

(Dùng cho giáo viên hướng dẫn)

I Thông tin chung

- Họ và tên sinh viên: Đỗ Vũ Anh Duy MSSV: 11941039

- Tên đề tài: Hệ thống giám sát thủy canh trên nền tảng internet of things

- Họ và tên giáo viên hướng dẫn: Tạ Văn Phương

II Nhận xét về khóa luận

2.1.Đánh giá chung (hoàn thành bao nhiêu phần trăm mục tiêu của đề tài):

2.2.Ưu điểm của đề tài:

2.3.Khuyết điểm của đề tài:

2.4.Thái độ làm việc của sinh viên:

2.5.Kết quả chính thu được:

2.6.Đề nghị: Được bảo vệ Không được bảo vệ

Tp HCM, ngày … tháng…năm 2017

Giáo viên hướng dẫn

BÔ MÔN ĐIỆN TỬ CÔNG NGHIỆP

Trang 4

Mục Lục

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Error! Bookmark not defined.

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Error! Bookmark not defined.

LỜI CAM ĐOAN Error! Bookmark not defined.

LỜI CẢM ƠN Error! Bookmark not defined.

DANH MỤC HÌNH Error! Bookmark not defined.

DANH MỤC BẢNG Error! Bookmark not defined.

TÓM TẮT 6

CHƯƠNG 1 : TỔNG QUAN 10

1.1 Tổng quan về lãnh vực nghiên cứu 10

1.2 Mục tiêu đề tài 10

1.3 Nhiệm vụ và giới hạn đề tài 10

1.3.1 Nhiệm vụ 10

1.3.2 Giới Hạn 11

1.4 Phương Pháp Nghiên cứu 11

1.5 Tóm tắt đề tài 11

CHƯƠNG 2 : Cơ Sở Lý Thuyết 12

2.1 Lý Thuyết Điện Tử 12

2.1.1 Khảo sát board vi điều khiển arduino uno 12

2.1.3 Khảo sát module Wifi ESP 8266 Node MCU 15

2.1.4 Module RTC 18

2.1.5 Module PH DFRobot 19

2.1.6 LCD 16x2 20

2.1.8 Các chuẩn giao tiếp truyền dữ liệu 21

2.1.8 Giao thức MTTQ-IOT 26

Trang 5

2.1.9 Lập trình PHP và MySQL 29

2.2 Lý thuyết nông nghiệp 36

2.2.1 Quá trình phát triển cây trồng 36

2.1.2 Những yếu tố ảnh hưởng đến sự phát triển của cây trồng 37

2.2.3 Khái niệm rau sạch (rau an toàn) 40

2.2.4 Thủy Canh 41

2.2.6 Giá thể cho hệ thống thủy canh 42

CHƯƠNG 3 : Thiết Kế Hệ Thống 44

3.1 Thiết kế phần cứng hệ thống 44

3.1.2 Thiết kế sơ đồ nguyên lý 46

3.2 Thiết kế giao diện và chức năng Website 51

3.2.1 Thiết kế giao diện website 51

2.1.2 Thiết Kế Chức Năng 54

3.3 Thiết kế lưu đồ 56

3.3.1 Lưu đồ chương trình chính 56

3.3.2 Lưu đồ chương trình con 59

CHƯƠNG 4 : Kết Quả 62

4.1 Kết quả thi công sản phẩm 62

4.2 Kết quả chạy thử nghiệm 64

CHƯƠNG 5 : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 77

5.1 Kết luận 77

5.2 Hướng phát triển 77

Trang 6

Danh Mục Hình

2.1: Board Arduino uno 12

2.2: Sơ đồ chân Arduino uno 14

2.3: Module Wifi ESP8266 Node MCU 15

2.4: Module RTC 18

2.5: Module pH DF Robot 19

2.6: Dạng sóng điều khiển LCD 20

2.7: Cấu trúc mã JSON 22

2.8: nội dung gửi đi của mã JSON 22

2.9: cấu trúc truyề dữ liệu UART 23

2.10: Sơ đồ kết nối thiết bị dùng I2C truyền dữ liệu 24

2.11: Dạng sóng mô tả cách truyền bit dữ liệu 25

2.12: Dang sóng mô tả cách truyền dữ liệu I2C Bus 26

2.13: Quá trình subscribe từ client 27

2.14: Quá trình gửi dữ liệu giữa các client 27

2.15: Java, CSS, HTML 32

2.16: Mô tả chức năng CSS 34

2.17: Quá trình gieo hạt và nẩy mầm 36

2.18: Quá trình phát triển cây trồng 36

2.19: Quang phổ phù hợp cho cây 39

2.20: Hệ thống thủy canh hồi lưu 42

3.1: Sơ đồ khối hệ thống 44

3.2: Sơ đồ kết nối toàn mạch 46

3.3: Sơ đồ kết nối arduino và esp 47

3.4: Sơ đồ kết nối RTC, LCD qua I2C 48

3.5: Sơ đồ kết nối giữa arduino với pH meter 49

3.6: Sơ đồ kết nối với tải qua module relay 50

3.7: Giao diện cơ bản 52

3.8: Lưu đồ chương trình chính cho arduino 56

3.9: Lưu đồ chương trình chính cho ESP 8266 58

Trang 7

3.10: Lưu đồ xử lý tín hiệu của Arduino 59

3.11: Lưu đồ hiệu chỉnh pH tự động 59

3.12: Lưu đồ xử lý tín hiệu của arduino từ esp 60

4.1: Mạch layout 62

4.2: Mạch in kết nối phần cứng sau thi công 63

4.3: Mạch in kết nối phần cứng sau thi công 63

4.4: LCD hiển thị thông tin ban đầu 64

4.5: Wifi do hệ thống phát ra 65

4.6: Giao diện setup wifi cho hệ thống 65

4.7: Giao diện nhập ID và Password cho hệ thống trên máy tính 65

4.8: Hệ thống hiển thị địa chỉ MAC 66

4.9: Hệ thống đã bắt đầu hoạt động 66

4.10: Giao diện đăng nhập 67

4.11: Giao diện đăng kí tài khoản 67

4.12: Giao diện đăng nhập tài khoản 68

4.13: Giao diện sau khi đăng nhập thành công 68

4.14: Giao diện add pro file 68

4.15: Giao diện Del profile 69

4.16: Khung chọn loại cây đang trồng 69

4.17: Giao diện Del profile 70

4.18: Khung chọn loại cây đang trồng 70

4.19: Khung chọn loại cây đang trồng 71

4.20: Khung điều khiển ở chế độ tự động 72

4.21: Khung điều khiển ở chế bằng tay 72

4.22: Giao diện hiển thị ở chế độ Image 73

4.23: Giá trị pH đo được ở bồn chứ dd thủy canh 73

4.24: Giá trị pH đo của nước cốt chanh 74

4.25: Hệ thống đang hoạt động ở chế độ auto 74

4.26 : Hệ thống hoạt động ở chế độ manual 75

4.27: Chế độ manual bơm 3 75

Trang 8

Danh Mục Bảng

2.1: Điện áp quy đổi giá trị pH 20

2.2: Nội dung QoS0 28

g 2.3: Nội dung QoS1 28

2.4: Nội dung QoS2 28

2.5: Cấu trúc dữ liệu MySQL 31

2.6: E.C của mỗi loại cây trồng 40

3.1: Thông tin truy cập Broker 54

Trang 9

TÓM TẮT

Trong đề tài “Hệ thống giám sát thủy canh trên nền tảng internet of

things” này, hệ thống thực hiển chức năng hiển thị thông tin hệ thống như Ph, thời

gian trồng, thời gian thu hoạch, loại cây Điều khiển một số chức năng như bật tắt đèn, máy bơm, cân chỉnh pH cho hệ thống

Ngoài ra giao diện điều khiển cho phép kiểm soát nhiều bộ điều khiển thông qua địa chỉ MAC của module wifi ESP 8266

Trang 10

Đặt vấn đề

Nước ta vốn là nước nông nghiệp, nghề trồng rau đã có ở nước ta từ xa xưa, Việt Nam chính là trung tâm khởi nguyên của nhiều loại rau trồng song do chịu ảnh hưởng của một nền nông nghiệp lạc hậu và tự túc trong nhiều thế kỷ qua, cho nên

sự phát triển nghề trồng rau ở nước ta kém xa so với trình độ canh tác của thế giới Những năm gần đây mặc dù ngành trồng rau có khởi sắc, nhưng trên thực tế vẫn chưa theo kịp nhiều ngành khác trong sản xuất nông nghiệp Mặt khác tốc độ đô thị hóa ở nước ta trong những năm gần đây tăng khá nhanh, và đặc biệt là sau khi Việt Nam gia nhập WTO Các nước đang phát triển như Việt Nam, tổng số dân cả nước sống ở khu vực đô thị đến năm 2020 sẽ đạt khoảng 80%, bằng các nước công nghiệp phát triển hiện nay như ở châu Âu, Mỹ, Australia…Ðất nông nghiệp chỉ còn 20-30%, và tất nhiên đều là nông nghiệp đô thị Vì vậy chiến lược phát triển đô thị bền vững gắn liền với phát triển nông nghiệp đô thị là xu hướng tất yếu

Nông nghiệp đô thị (NNÐT) không chỉ có ý nghĩa to lớn về xã hội và nhân văn, mà lợi ích kinh tế cũng khá lớn Trên thế giới, gần một phần ba rau,quả, thịt, trứng cung ứng cho đô thị là từ NNÐT, và hàng vạn cư dân ở New York (Mỹ) có vườn trồng rau trên sân thượng Nhiều thành phố lớn thuộc Trung Quốc như Bắc Kinh, Thượng Hải, Quảng Châu… NNÐT đã cung cấp đến 85% nhu cầu về rau xanh

Ở Việt Nam, NNĐT bước đầu đã được nhiều thành phố đưa vào mục tiêu phát triển như một yếu tố quan trọng trong hệ thống cung cấp thực phẩm cho các vùng

đô thị để đáp ứng quy mô của các thành phố ngày một tăng nhanh Tuy nhiên, ở những thành phố lớn như Hà Nội, thành phố Hồ Chí Minh, Hải Phòng, Đà Nẵng và các khu đô thị lớn khác trên cả nước, hiện nay người tiêu dùng chủ yếu vẫn tiêu thụ rau không rõ nguồn gốc được vận chuyển vào từ các vùng sản xuất ngoài thành phố Và thực tế là khó có thể kiểm soát được người trồng rau thực hiện việc vệ sinh

an toàn thực phẩm như thế nào Báo chí và các phương tiện thông tin liên tục phản ánh về những ca ngộ độc thực phẩm, về sự mất an toàn của các vùng sản xuất rau,

về sự tồn dư thuốc bảo vệ thực vật, nhiễm độc kim loại và nhiễm khuẩn…đặc biệt là các vùng sản xuất rau cung cấp cho đô thị

Trang 11

Theo thống kê của Tổ chức Lao Động Quốc tế (ILO), hằng năm trên thế giới

có trên 40.000 người chết trong tổng số 2 triệu người ngộ độc rau Tại VN, thống kê mới nhất của ngành y tế cho biết, trong vài năm gần đây, tính riêng số người ngộ độc thực phẩm phải nhập viện cấp cứu do nguồn rau, củ thiếu an toàn đã lên đến con số hơn 700 người

Trong khi đó, người tiêu dùng ngày càng nhận thức rõ được tầm quan trọng của rau xanh trong bữa ăn hàng ngày, họ ăn nhiều rau hơn, và nhu cầu về rau an toàn cũng lớn hơn Nhưng các vùng sản xuất rau lại chưa xây dựng được lòng tin cho người tiêu dùng, mặc dù họ sẵn sàng trả giá cao gấp nhiều lần cho một sản phẩm rau an toàn

Vậy tại sao không gây dựng lòng tin cho người tiêu dùng bằng cách cho họ dùng chính sản phẩm mà họ tự tay làm ra

Vậy còn với những người sống ở thành phố ? Với diện tích chật hẹp của căn nhà nội thành, họ có thể tự sản xuất được rau xanh cho bữa ăn của gia đình mình không ? Điều đó là hoàn toàn có thể thực hiện được, nếu như sân nhà, ban công hay sân thượng của họ có một chút ánh sáng tự nhiên và bỏ ra một ít chi phí cho hệ thống cộng với một chút công chăm sóc

Để góp phần thực hiện được điều đó, đã có nhiều đố án được nghiên cứu để trồng rau trong nhà, trên ban công, sân thượng … như: ứng dụng kỹ thuật thủy canh bằng hộp xốp, kỹ thuật khí canh Tuy nhiên những phương pháp nói trên yêu cầu kỹ thuật tương đối phức tạp, tỷ mỷ, và chăm sóc khó nên chưa được phổ biến và chưa ứng dụng được công nghệ

Đứng trước thực trạng này, chúng tôi tiến hành nghiên cứu đề tài:

Thiết kế và thi công hệ thống giám sát thủy canh trên nền tảng internet of things

Góp phần cải tiến và phổ biến các mô hình trồng rau thủy canh tại nhà trong

đô thị Đây sẽ là một hệ thống sản xuất rau an toàn theo phương pháp thủy canh nhưng đơn giản, dễ dử dụng và đảm bảo cung cấp đủ thức ăn xanh cho bữa ăn gia

Trang 12

các mô hình trồng rau theo phương pháp này sẽ làm tăng thêm thảm xanh cho môi trường đô thị Theo tính toán của các nhà khoa học nếu mỗi hộ chỉ “trồng” 3 đến

4 , chúng ta sẽ có thêm khoảng 1 triệu thảm xanh luân chuyển nằm tại các ban công, sân thượng, sân nhà Phương pháp này còn tận dụng được không gian, diện tích dư thừa nơi ban công, sân thượng, sân nhà

Trang 13

CHƯƠNG 1 : TỔNG QUAN

1.1 Tổng quan về lãnh vực nghiên cứu

Phương pháp trồng cây thủy canh (rau sạch) từ lâu đã được nhiều quốc gia có nền nông nghiệp công nghệ áp dụng rộng rãi Tuy nhiên ở nước ta công nghệ này vẫn còn khá mới lạ với nông dân và với những hộ gia đình hướng tới nhu cầu thực phẩm sạch hay còn gọi là rau sạch Ưu điểm của phương pháp trồng cây thủy canh này là tạo ra môi trường tốt nhất cho cây, kiểm soát được dinh dưỡng, giảm chi phí cho phân bón cũng như loại trừ và kiểm soát được sâu bệnh

Vấn đề về rau sạch hiện nay đang là một vấn đề cấp thiết của xã hội Cùng với

sự tăng trưởng của xã hội, con người hiện nay nhu cầu không chỉ là ăn ngon, mặc đẹp mà phải còn hợp vệ sinh đảm bảo sức khỏe cho con người Tuy nhiên trong khi

mà nguồn cung thực phẩm chủ yếu từ việc trồng trọt truyền thống ngày càng không đảm bảo được vệ sinh điều này đồng nghĩa với việc sức khỏe con người đang bị đe dọa khi ăn phải những thực phẩm như vậy Vậy đâu là giải pháp để giải quyết vấn

đề này, chính từ thực tế như vậy nhóm quyết định chọn đề tài “Hệ thống giám sát thủy canh trên nền tảng IOT”

1.2 Mục tiêu đề tài

Đề tài này sử dụng module esp8266 giao tiếp wifi kết hợp với arduino qua đó giám sát hệ thống thủy canh, đảm bảo độ ổn định pH của dung dịch thủy canh, kiểm soát thời gian chiếu sáng cho cây trồng qua mạng Giao diện điều khiển qua website thân thiện với người dùng Sử dụng arduino để giám sát và cập nhật dữ liệu

1.3 Nhiệm vụ và giới hạn đề tài

1.3.1 Nhiệm vụ

Thiết kế và thi công mô hình hệ thống thủy canh

Thiết kế giao diện giám sát và điều khiển qua mang

Khảo sát module wifi ESP 8266 Node MCU

Thiết kế và lập trình để kết nối arduino với module wifi

Nghiên cứu giao thức MQTT - IOT

Trang 14

Nghiên cứu và tính toán phương pháp hiệu chỉnh pH

Lắp ráp các khối điều khiển vào mô hình

Chạy thử nghiệm hệ thống thủy canh

Cân chỉnh hệ thống

Viết báo cáo

Báo cáo đề tài tốt nghiệp

1.3.2 Giới Hạn

Vì tính chất của hệ thống rất phức tạp và cần có nhiều thời gian hơn để nghiên cứu nên người thực hiện đề tài chưa thực thiện được

Mạch đo EC cho hệ thống

Chưa áp dụng được giải thuật điều khiển vào việc cân chỉnh pH

Giao diện điều khiển chưa hoạt động được trên điện thoại thông minh

1.4 Phương Pháp Nghiên cứu

Đọc các tài liệu có liên quan

Tìm ra các hướng tiếp cận khác nhau thuộc lĩnh vực nghiên cứu

Quan sát và thực nghiệm trên sản phẩm thực tế

Đánh giá kết quả thực nghiệm và tìm ra các hướng giải quyết mới để đi đến thống nhất và hoàn thiện đề tài nghiên cứu

Chương 4: Kết quả thực hiện

Chương 5: Kết luận và hướng phát triển đề tài

Trang 15

CHƯƠNG 2 : Cơ Sở Lý Thuyết

2.1 Lý Thuyết Điện Tử

2.1.1 Khảo sát board vi điều khiển arduino uno

2.1: Board Arduino uno

Arduino UNO R3 là một board mạch thiết kế với bộ vi xử lý trung tâm là vi điều khiển AVR ATMega328p Có 14 chân đầu vào / đầu ra số ( trong đó có 6 đầu được sử dụng như đầu ra PWM ), 6 đầu vào analog, 2 UARTs ( cổng nối tiếp phần cứng ), một 16 MHz dao động thạch anh, kết nối USB , một jack cắm điện, một đầu ICSP, và một nút reset Chứa tất cả mọi thứ cần thiết để hỗ trợ các vi điều khiển, chỉ đơn giản là kết nốinó với một máy tính bằng cáp USB hoặc nguồn điện ngoài, với một bộ chuyển đổi AC thành DC hoặc pin để bắt đầu

Bộ nhớ chương trình 32KB trong đó có 0.5KB được sử dụng bởi bootloader, dung lượng RAM là 2KB, 1KB EEPROM Mega tương thích với hầu hết các lá chắn được thiết kế cho các ArduinoDuemilanove hoặc Diecimila

Thông số kỹ thuật:

Vi điều khiển: Atmega 328P 8bit

Điện áp hoạt động: 5V

Điện áp đầu vào (đề nghị): 7-12V

Điện áp đầu vào (giới hạn): 6-20V

Số chân I/O Digital: 14 (trong đó 6 chân cung cấp đầu ra PWM)

Trang 16

Dòng DC mỗi chân I/O: 30 mA

Trang 17

và dựa trên nền tảng C/C++ rất quen thuộc với người làm kỹ thuật Và quan trọng là

số lượng thư viện code được viết sẵn và chia sẻ bởi cộng đồng nguồn mở là cực kỳ lớn

Môi trường lập trình arduino IDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là Windows, Macintosh OSX và Linux Do có tính chất nguồn mở nên môi trườnglập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng có kinh nghiệm

Trang 18

2.2.1.1 ADC

Arduino sử dụng ADC 10 bit chuyển đổi 5v đầu vào

Công thức :

2.1.3 Khảo sát module Wifi ESP 8266 Node MCU

ESP8266 Node MCU là một SoC của hãng Espressif System dùng cho các ứng dụng di động, cung cấp khả năng kết nối wifi tới các hệ thống khác với mức giá thấp nhất với các tính năng tốt nhất Giá bán lẻ module ESP8266 trên thị trường hiện nay chỉ khoản 200.000 đồng Module được hàn sẵn các chân ngõ ra và tích hợp antenna trên mạch

Module ESP8266 hoạt động với nguồn điện áp 3.3V và tiêu thụ dòng tối đa 215mA

2.3: Module Wifi ESP8266 Node MCU 2.1.3.1 Chức năng chân:

Tx,Rx : Chân giao tiếp theo chuẩn UART của module

RST : Reset module

CH_PD : Được nối lên mức cao để module hoạt động

ESP8266 có các chức năng cơ bản sau:

Hỗ trợ chuẩn wifi 802.11 b/g/n protocol

Hỗ trợ Wi-Fi direct ( P2P ) , Access Point mềm

Tích hợp giao thức TCP/IP stack

Trang 19

Tích hợp LNA, khuếch đại công suất

Hỗ trợ diversity antenna

SDIO 2.0, SPI, UART

Độ lợi công suất phát +19,5dBm ở chế độ 802.11b

Công suất tiêu thụ khi ở chế độ nghỉ ít hơn 1mW

Thời gian khởi động từ chế độ nghỉ và bắt đầu truyền dữ liệu ít hơn 2ms

Module ESP8266 NODE MCU được sản xuất ban đầu với frimwave AT, người dùng có thể flash lại frimwave khác để sử dụng như các bộ frimwave dùng mã lua lập trình

2.1.3.2 Chế độ hoạt động

OFF: chân CHIP_PD được duy trì mức thấp RTC ngừng hoạt dộng Tất cả

thanh ghi được xóa

DEEP SLEEP: RTC được mở, những bộ phận khác của module vẫn đóng

RTC internal recovery memory lưu các thông tin kết nối WiFi

SLEEP: Chỉ có RTC chạy dao động thạch anh stops Hệ thống sẽ được đánh

thức bởi một trong số các bộ phận sau : MAC, host, RTC timer, ngắt ngoài

WAKEUP: Hệ thống khởi động lại từ chế độ sleep

AT+CWQAP

Thoát Access Point

AT+CWMODE Chế độ Wifi

AT+CWMODE=<mode>

Giá trị <mode>

1: Máy trạm

Trang 20

3: Cả hai

AT+CWLAP

Liệt kê danh sách Access Point

AT+CWJAP

Truy cập Access Point

AT+ CWJAP =<ssid>,< pwd >

SSID : tên Access Point Pwd : Password Access Point

AT+CIPSTART

Chọn dùng UDP hay TCP

-single connection AT+CIPSTART= <type>,<addr>,<port>; 2) -multiple connection

AT+CIPSTART= <id><type>,<addr>, <port> -ví dụ với đa kết nối :

AT+CIPSTART=4,"TCP","X1.X2.X3.X4",9999

AT+CIPSEND Gửi dữ liệu

single connection(+CIPMUX=0) AT+CIPSEND=<length>

multiple connection (+CIPMUX=1) AT+CIPSEND= <id>,<length>

AT+CIPCLOSE

Đóng kết nối UDB/TCP

AT+CIFSR Lấy địa chỉ IP

AT+ CWSAP

Thiết lập Access Point

AT+ CWSAP= <ssid>,<pwd>,<chl>, <ecn> SSID : tên Access Point

Pwd : Password Access Point

Chl : Channel wifi

AT+

CIPSTATUS

Kiểm tra tình trạng kết nối

AT+

Thiết lập

ở chế độ AT+ CIPSERVER= <mode>[,<port> ]

Trang 21

CIPSERVER server Mode = 0 để đóng và 1 để mở

AT+ CIPMUX Thiết lập đa kết nối

DS3231 là IC thời gian thực giá rẻ, rất chính xác với thạch anh tích hợp sẵn có khả năng điều chỉnh nhiệt IC có đầu vào cho pin riêng, tách biệt khỏi nguồn chính đảm bảo cho việc giữ thời gian chính xác Thạch anh tích hợp sẵn giúp tăng độ chính xác trong thời gian dài hoạt động và giảm số lượng linh kiện cần thiết khi làm board

Trang 23

2.1: Điện áp quy đổi giá trị pH

Voltage (mv) pH value Voltage (mv) pH value

Nhìn vào dạng sóng ta có thể thấy được trình tự điều khiển như sau:

Điều khiển tín hiệuRS

Điều khiển tín hiệu R/W xuống mức thấp

Điều khiển tín hiệu E lên mức cao để cho phép

Xuất dữ liệu D7:D0

Điều khiển tín hiệu E về mức thấp

Điều khiển tín hiệu R/W lên mức cao trở lại

2.6: Dạng sóng điều khiển LCD

Trang 24

2.1.7 Các chuẩn giao tiếp truyền dữ liệu

2.1.7.1 Cấu trúc mã JSON

JSON (JavaScript Object Noattion) là 1 định dạng hoán vị dữ liệu nhanh Chúng dễ dàng cho chúng ta đọc và viết Dễ dàng cho thiết bị phân tích và phát sinh Chúng là cơ sở dựa trên tập hợp của Ngôn Ngữ Lập Trình JavaScript, tiêu chuẩn ECMA-262 phiên bản 3 - tháng 12 năm 1999 JSON là 1 định dạng kiểu text

mà hoàn toàn độc lập với các ngôn ngữ hoàn chỉnh, thuộc họ hàng với các ngôn ngữ

họ hàng C, gồm có C, C++, C#, Java, JavaScript, Perl, Python, và nhiều ngôn ngữ khác Những đặc tính đó đã tạo nên JSON 1 ngôn ngữ hoán vị dữ liệu lý tưởng Đây là 1 cấu trúc dữ liệu phổ dụng Hầu như tất cả các ngôn ngữ lập trình hiện đại đều hổ trợ chúng trong 1 hình thức nào đó Chúng tạo nên ý nghĩa của 1 định dạng hoán vị dữ liệu với các ngôn ngữ lập trình cũng đã được cơ sở hoá trên cấu trúc này

Cú pháp của JSON rất đơn giản là mỗi thông tin dữ liệu sẽ có 2 phần đó là key

và value, điều này tương ứng trong CSDL là tên field và giá trị của nó ở một record nào đó Tuy nhiên nhìn qua thì đơn giản nhưng nếu ta mổ xẻ nó ra thì có một vài điều như sau:

Chuỗi JSON được bao lại bởi dấu ngoặc nhọn {}

Các key, value của JSON bắt buộc phải đặt trong dấu nháy kép {"}, nếu đặt nó trong dấu nháy đơn thì đây không phải là một chuỗi JSON đúng chuẩn Nên trường hợp trong value của bạn có chứa dấu nháy kép thì hãy dùng dấu (\) để đặt trước nó, ví dụ học \"json là gì\" tại website freetuts.net

Nếu có nhiều dữ liệu (nhiều cặp key => value) thì ta dùng dấu phẩy (,) để ngăn cách

Các key của JSON bạn nên đặt chữ cái không dấu hoặc số, dấu _ và không có khoảng trắng., ký tự đầu tiên không nên đặt là số Điều này rất giống với nguyên tắc đặt tên biến trong PHP

Những cấu trúc này có thể đã được lồng vào nhau

Trang 25

Giao tiếp SPI và I2C có 1 dây truyền dữ liệu và 1 dây được sử dụng để truyền xung clock (SCL) để đồng bộ trong giao tiếp Với UART thì không có dây SCL, vấn đề được giải quyết khi mà việc truyền UART được dùng giữa 2 vi xử lý với nhau, đồng nghĩa với việc mỗi vi xử lý có thể tự tạo ra xung clock cho chính nó xử dụng Để bắt đầu cho việc truyền dữ liệu bằng UART, một START bit được gửi đi, sau đó là các bit dữ liệu và kết thúc quá trình truyền là STOP bit

Trang 26

2.9: cấu trúc truyề dữ liệu UART

Khi ở trạng thái chờ mức điện thế ở mức 1 (high) Khi bắt đầu truyền START bit sẻ chuyển từ 1 xuống 0 để báo hiệu cho bộ nhận là quá trình truyền dữ liệu sắp xảy ra Sau START bit là đến các bit dữ liệu D0-D7 (Theo hình vẽ các bit này có thể ở mức High or Low tùy theo dữ liệu) Sau khi truyền hết dữ liệu thì đến Bit Parity để bộ nhận kiểm tra tính đúng đắn của dữ liệu truyền (vấn đề này mình sẽ giải thích rõ hơn trong tài liệu CRC trong thời gian tới) Cuối cùng là STOP bit là 1 báo cho thiết bị rằng các bit đã được gửi xong Thiết bị nhận sẽ tiến hành kiểm tra khung truyền nhằm đả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:

Baund rate (tốc độ baund ): Khoảng thời gian dành cho 1 bit được truyền.Phải được cài đặt giống nhau ở gửi và nhận Frame : Khung truyền quy định về số bit trong mỗi lần truyền Start bit: là 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 Bit bắt buộc 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

Stop bit: là 1 hoặc các bit báo cho thiết bị rằng các bit đã được gửi xong Thiết

bị nhận sẽ tiến hành kiểm tra khung truyền nhằm đảm bảo tính đúng đắn của

dữ liệu Bit bắt buộc

Trang 27

2.1.7.3 I2C

I2C sử dụng hai đường truyền tín hiệu:

Một đường xung nhịp đồng hồ(SCL) chỉ do Master phát đi thường ở tần số 100kHz và 400kHz Mức cao nhất là 1MHz và 3.4MHz

Một đường truyền dữ liệu SDA theo 2 hướng

2.10: Sơ đồ kết nối thiết bị dùng I2C truyền dữ liệu

I2C truyền dữ liệu trên đường SDA nhưng chỉ ghi ở cạnh lên của xung clk lợi dụng điểm này ta có thể sử dụng 2 chân GPIO để làm chân giao tiếp mà không cần xung clk chính xác

SCL và SDA luôn được kéo lên nguồn bằng điện trở 4.7KOhm, tùy thiết bị có thể giao động từ 1KOm đến 4.7KOhm

I2C có hai chế độ hoạt động dựa vào tốc độ và theo số lượng thiết bị

Trang 28

Quá trình truyền dữ liệu:

Thiết bị A (chủ) xác định đúng địa chi của thiết bị B (con) cùng việc xác định địa chỉ thiết bị A sẽ.quyết định đọc hay ghi

Xác định địa chỉ thiết bị:

I2C sử dụng 7 bit để xác định địa chỉ Điểm mạnh của I2C chính là hiệu suất

và sự đơn giản một khối điều khiển trung tâm có thể điều khiển một mạng thiết bị

mà chỉ cần hai ngõ ra điều khiển

Định dạng truyền dữ liệu:

Dữ liệu được truyền theo từng bit, bit dữ liệu được truyền đi tại cạnh lên của SCL

2.11: Dạng sóng mô tả cách truyền bit dữ liệu

Bit start được xác định khi SDA HIGH to LOW và SCL đang ở mức HIGH Bit stop được xác định khi SDA LOW to HIGH và SCL đang ở mức HIGH Mỗi byte dữ liệu được truyền đi có 8 bits số lượng byte có thể truyền trong một lần là không hạn chế, sau khi truyền sẽ chờ tín hiệu ACK để báo đã nhận dữ liệu vậy mỗi lần I2C sẽ truyền 8 bit và nhận 1 bit

Bit có trọng số cao nhất (MSB) sẽ được truyền đi đầu tiên, các bít sẽ được truyền đi lần lượt Sau 8 xung clock trên dây SCL, 8 bit dữ liệu đã được truyền đi Lúc này thiết bị nhận, sau khi đã nhận đủ 8 bít dữ liệu sẽ kéo SDA xuống mức thấp tạo một xung ACK ứng với xung clock thứ 9 trên dây SDA để báo hiệu đã nhận đủ

8 bit Thiết bị truyền

Khi nhận được bit ACK sẽ tiếp tục thực hiện quá trình truyền hoặc kết thúc

Trang 29

2.12: Dang sóng mô tả cách truyền dữ liệu I2C Bus 2.1.8 Giao thức MTTQ-IOT

MQTT (Message Queuing Telemetry Transport) là một giao thức publish/subscribe bản tin, được thiết kế cho công nghệ M2M (Machine to Machine) sử dụng cho các thiết

bị Internet of Things với băng thông thấp, độ tin cậy cao và khả năng được sử dụng trong mạng lưới không ổn định

MQTT hoạt động dưới dạng client và mỗi khách hàng xử dụng hệ thống với cảm biến, vi xử lý vv… được coi là một client kết nối với sever hay còn gọi là (broker) qua giao thức TCP

Để có thể hiểu được MQTT hoạt động như thế nào cần hiểu được các định nghĩa sau "subscribe", "publish", "qos", "retain", "last will and testament (lwt)"

Subscribe và publish : client có vai trò là thiết bị đầu cuối , khi subscribe nghĩa

là đăng kí vào một kênh gửi nhận dữ liệu, một client có thể gửi và nhận từ nhiều client khác khi cùng đăng kí một kênh Thao tác client gửi dữ liệu vào kênh được gọi là publish

Trang 30

Ví dụ: Mạng 3 client và một broker client A và B sẽ Subscrise topic pH

Broker Client A

2.13: Quá trình subscribe từ client

Sau khi đã hoàn tất việc Subscribe Một thời điểm nào đó client C thực hiện việc gửi một giá trị pH = 5.5 đến topic pH , broker sẽ thực hiện việc gửi thông tin đến các client đã đăng kí topic pH

Broker Client A

“pH” = “5.5”

2.14: Quá trình gửi dữ liệu giữa các client

QoS : (Qualities of service) là cách thức client và broker xác nhận trong việc

“Publish” và “Subscribe” Có 3 loại QoS gồm các bước khác nhau có thể cho độ an toàn trong việc gửi nhận thông tin

Trang 31

QoS0 Broker/client sẽ gởi dữ liệu đúng 1 lần, quá trình gởi được xác nhận bởi

chỉ giao thức TCP/IP

2.2: Nội dung QoS0

QoS = 0 PUBLISH

->

Publish tin nhắn tới client đã subscribe

QoS1 Broker/client sẽ gởi dữ liệu với ít nhất 1 lần xác nhận từ đầu kia, nghĩa

là có thể có nhiều hơn 1 lần xác nhận đã nhận được dữ liệu

2.3: Nội dung QoS1

< -QoS2 Broker/client đảm bảm khi gởi dữ liệu thì phía nhận chỉ nhận được đúng

1 lần, quá trình này phải trải qua 4 bước bắt tay

2.4: Nội dung QoS2

Trang 32

2.1.9 Lập trình PHP và MySQL

2.1.9.1 PHP

PHP là viết tắt của chữ "Hypertext Preprocessor", đây là một ngôn ngữ lập trình được sử dụng để viết ở phía máy chủ (lập trình web) Hiện nay có rất nhiều ngôn ngữ có thể viết ở máy chủ như C#, Java, Python và PHP chính là một trong những ngôn ngữ của nhóm này

PHP có cú pháp đơn giản, tốc độ nhanh và nhỏ gọn, dễ học và thời gian để tiếp cập PHP ngắn hơn so với các ngôn ngữ lập trình khác nên hiện nay PHP đang chiếm số lương lập trình viên tương đối lớn, có thể gọi là lớn nhất Hiện phiên bản mới nhất hiện nay là PHP7, được cài đặt mặc định trên hầu hết sever linux

PHP sử dụng cặp thẻ mở <?php và thẻ đóng ?>, phía bên trong chính là nội dung của mã code PHP

Trong đề tài, PHP có nhiệm vụ giao tiếp với cơ sở dữ liệu MySQL và xuất ra Web cho người dùng dưới dạng HTML và Javascript

Module Session : Quản lý phiên sử dụng của người dùng, khác với cookie lưu trữ trên máy người dùng thì Session lưu trữ trên máy chủ, giúp định danh người dùng để cung cấp nội dung phù hợp cho từng người

Trang 33

từ trang chủ Nó có nhiều phiên bản cho các hệ điều hành khác nhau

Cũng giống như những hệ quản trị cơ sở dữ liệu khác như SQL Server, thì MySQL còn có một số đặc điểm nổi bật sau đây:

MySQL là hệ cơ sở dữ liệu sử dụng cho web

MySQL hoạt động trên một máy chủ (server)

MySQL phù hợp cho ứng dụng nhỏ và lớn

MySQL sử dụng cú pháp SQL

MySQL rất nhanh và dễ dàng sử dụng

MySQL hổ trợ nhiều nền tảng khác nhau như Windows, Linux

MySQL hoàn toàn miễn phí

Dữ liệu trong MySQL được lưu trữ dưới dạng bảng Mỗi bảng là tập hợp các

dữ liệu có quan hệ với nhau chứa các dòng và cột Cấu trúc database của MYSQL là database -> các table -> các field Ví dụ trong công ty cần quản lý nhân viên Tương ứng chúng ta sẽ có table Employee đơn giản như sau:

Trang 34

2.5: Cấu trúc dữ liệu MySQL

ID Name Gender Salaray

1 Nguyen Van A Male 3.000.000

2 Nguyen Van B Male 5.000.000

3 Nguyen Van C Male 10.000.000

Các câu lệnh MySQL cơ bản:

Trang 35

javascript sẽ cho phép thực hiện một số ứng dụng chức năng, hành vi thao tác trên các thành phần của trang web

2.15: Java, CSS, HTML HTML:

Trong đó cơ quan trọng nhất là HTML, viết tắt của HyperText Markup Language Ngôn ngữ này được phát triển bởi Tim Berners-Lee, cũng là người khai sinh ra World Wide Web và chủ tịch của World Wide Web Consortium (W3C – tổ chức thiết lập ra các chuẩn trên môi trường Internet)

Có hai loại là web động và web tĩnh Trong đó web tĩnh là web chỉ gồm mã HTML phí người dùng Muốn cập nhật phải chỉnh trực tiếp trong mã lệnh HTML web động là web tương tác được với người dùng thông qua jvascript, được thực thi phía máy chủ nhờ các ngôn ngữ như PHP Cấu trúc một tập tin HTML gồm nội dung nằm trong một cặp thẻ HTML.Cấu trúc tổng quát của một tài liệu HTML gồm các thẻ cơ bản sau :

Trang 36

Nội dung

</body>

</html>

Trong đó:

<!DOCTYPE html> là phần khai báo kiểu dữ liệu hiển thị là html để

trình duyệt (Browser) biết

<html> và </html> là cặp thẻ nằm ngoài cùng và nó có nhiệm vụ là bao hết nội dung của trang web lại Thẻ này là bát buộc

<head> và </head> là phần khai báo thông tin của trang web

<title> và </title> nằm bên trong thẻ <head> và đây chính là khai báo tiêu đề cho trang web

<body> và </body> là thành phần quan trọng nhất, nó chứa nhưng đoạn mã HTML dùng để hiển thị trên website

Các thẻ còn lại nằm trong thẻ <body> chính là các thẻ định dạng dữ liệu

Ngoài ra còn có các thẻ chuyên biệt để hiển thị nội dung, mỗi thẻ sẽ có các thuộc tính giúp quy định cách hiển thị ( có thể dùng CSS thay thế )

Trước đây khi chưa có CSS, những người thiết kế web phải trộn lẫn giữa các thành phần trình bày và nội dung với nhau Nhưng với sự xuất hiện của CSS, người

ta có thể tách rời hoàn toàn phần trình bày và nội dung Giúp cho phần code của trang web cũng gọn hơn và quan trọng hơn cả là dễ chỉnh sửa hơn

Trang 37

Phương thức hoạt động của CSS là nó sẽ tìm dựa vào các vùng chọn, vùng chọn có thể là tên một thẻ HTML, tên một ID, class hay nhiều kiểu khác Sau đó là

nó sẽ áp dụng các thuộc tính cần thay đổi lên vùng chọn đó

Một đoạn CSS có cấu trúc cơ bản như sau:

JavaScript là một ngôn ngữ lập trình của HTML và WEB Nó là nhẹ và được

sử dụng phổ biến nhất như là một phần của các trang web, mà sự thi hành của chúng cho phép Client-Side script tương tác với người sử dụng và tạo các trang web động Nó là một ngôn ngữ chương trình thông dịch với các khả năng hướng đối tượng

JavaScript được biết đến đầu tiên với tên Mocha, và sau đó là LiveScript, nhưng hãng Netscape thay đổi tên của nó thành JavaScript, bởi vì sự phổ biến như

Trang 38

2.0 năm 1995 với tên LiveScript Core đa năng của ngôn ngữ này đã được nhúng vào Netscape, IE, và các trình duyệt khác

Javascript là một ngôn ngữ lập trình kịch bản dựa vào đối tượng phát triển có sẵn hoặc tự định nghĩa ra, javascript được sử dụng rộng rãi trong các ứng dụng website Javascript được hỗ trợ hầu như trên tất cả các trình duyệt như Firefox, Chrome, thậm chí các trình duyệt trên thiết bị di động cũng có hỗ trợ

Trong HTML, Javascript được bao bởi cặp thẻ <script> … </script>

Các lợi thế của việc sử dụng JavaScript là:

Sự tương tác server ít hơn: Bạn có thể xác nhận đầu vào (input) người sử dụng trước khi gửi trang tới server Điều này làm tiết kiệm lưu lượng tải ở server, nghĩa là server của bạn tải ít hơn

Phản hồi ngay lập tức tới khách truy cập: Họ không phải chờ cho một trang web tải lại để thấy xem nếu họ đã quên nhập cái gì đó

Khả năng tương tác tăng lên: Bạn có thể tạo các giao diện mà phản ứng lại khi người sử dụng rê chuột qua chúng hoặc kích hoạt chúng thông qua bàn phím Giao diện phong phú hơn: Bạn có thể sử dụng javaScript để bao gồm những mục như các thành phần Drag và Drop (DnD) và các con trượt (Slider) để cung cấp một Rich Interface (Giao diện giàu tính năng) tới site khách truy cập của bạn

Trang 39

2.2 Lý thuyết nông nghiệp

2.2.1 Quá trình phát triển cây trồng

Cấy trồng trải qua ba giai đoạn: gieo hạt nẩy mầm, dinh dưỡng, sinh sản

2.17: Quá trình gieo hạt và nẩy mầm

Giai đoạn dinh dưỡng: đây là giai đoạn mà các cơ quan dinh dưỡng như rễ, lá, thân chiếm ưu thế, nhận thấy rõ nhất là cây lớn lên gia tăng về số lượng kích thước (sinh khối)

Giai đoạn sinh sản: cây hình thành các cơ quan và chức năng mới đó là cơ quan sinh sản như hoa, hạt,quả giúp duy trì nòi giống

2.18: Quá trình phát triển cây trồng

Trang 40

2.1.2 Những yếu tố ảnh hưởng đến sự phát triển của cây trồng

2.1.2.1 pH

Mặc dù là yếu tố bị bõ qua nhiều nhất nhưng ph đóng vai trò rất quan trọng trong hệ thống thủy canh pH được đo trên thang từ 1-14 với độ pH trung bình là 7 Nước mang tính axit có pH < 7 và bazơ là pH > 7

Nước tinh khiêt có sự cân bằng giữa (H+) và (OH-) do đó có độ pH = 7

Thang đo pH là logarit, có nghĩa mỗi đơn vị thay đổi đồng nghĩa với mười lần trong nồng độ ion (H+) và (OH-) nói cách khác, ph = 6 có tính axit gấp 10 lần so với pH = 7

Tại sao pH quan trọng trong thủy canh ?

Khi pH không nằm trong khoảng thích hợp sẽ ảnh hưởng rất lớn đến độ hấp thụ dinh dưỡng của cây trồng, bên dưới là bảng pH dành cho một số loại cây (bảng)

Độ pH của các loại cây khác nhau nhưng nhìn chung hầu hết các cây trồng nằm khoảng 6 đến 8.5

Các phương pháp cân chỉnh pH trong thủy canh:

Bộ lọc trung hòa pH: Nếu pH không quá thấp, có thể dùng các bộ lọc có vật liệu chính là Calcite (từ đá vôi) hoặc magnesia (magnesium oxide) để nâng pH Bộ lọc kiểu này có khả năng lọc cặn nên cần thường xuyên rửa ngược, tránh gây tắc nghẽn Các vật liệu trong bộ lọc tan từ từ và hao hụt dần Vì thế nên thường xuyên kiểm tra và bổ sung định kỳ Phương pháp này thường làm tăng lượng canxi và làm cho nước bị cứng hơn Do đó cần theo dõi độ cứng để có phương pháp điều chỉnh thích hợp Nếu độ cứng quá cao, lại cần phải làm mềm Muốn vật liệu sử dụng lâu bền hơn, nên trang bị thêm lọc cặn thô phía trước

Ngày đăng: 27/11/2021, 23:45

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