NHÀ KÍNH ỨNG DỤNG IOT (có code)
Trang 1NHÀ KÍNH ỨNG DỤNG IOT
Trang 2DANH MỤC CÁC HÌNH VẼ
DANH MỤC CÁC BẢNG BIỂU
2
Trang 3ADC Analog-to-digital converter.
RISC Reduced instruction set computer
USART Universal Synchronous/Asynchronous Receiver
Trang 5CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI
1.1 Đặt vấn đề
Ngày nay nhu cầu về thực phẩm sạch, an toàn luôn là vấn đề được đặt lên hàng đầu,nhưng cùng với sự phát triển của các đô thị với mật độ dân số lớn con người lại tạo ranhững thực phẩm có sự can thiệp của các chất hóa học để tạo sự tươi ngon bắt mắt chothực thẩm Tình trạng bắp cải chứa thuốc tăng trưởng có nguồn gốc từ Trung Quốc, raumuống tưới nhớt, rau muống ngâm dung dịch để tạo màu xanh tươi… đã làm chochúng ta hoang mang và ngày càng mất lòng tin vào những nông sản có mặt trên thịtrường Chính vì lẽ đó việc tự trồng rau sạch là một giải pháp hiệu quả và an toàn chomỗi hộ gia đình
Ứng dụng công nghệ mạng máy tính vào trồng trọt là một trong những ý tưởng hay củaviệc nghiên cứu khoa học ngày nay, giúp con người tiết kiệm được nhiều thời gian vàcông sức nhưng vẫn đem lại năng suất, hiệu quả cao Con người có thể ở nhà sử dụngmáy tính hoặc điện thoại mà vẫn có thể quan sát và điều khiển trang trại của mình ởngoại thành giúp tiết kiệm thời gian nhân công hiệu quả
Trong đề tài này vấn đề được đặt ra là xây dựng một khu vườn thông minh trong nhàkính Trên cùng một diện tích đất chúng ta có thể trồng nhiều loại rau hoa màu khácnhau Với công nghệ tự động hóa chỉ cần chọn loại hoa màu muốn trồng với những yếu
tố điều kiện tăng trưởng Hệ thống sẽ tự động điều chỉnh môi trường để tăng khả năngphát triển của cây Bên cạnh đó cơ sở dữ liệu được liên tục đưa lên Website giúp chochúng ta có thể tra cứu dữ liệu bất kỳ lúc nào
1.2 Tình hình nghiên cứu trong và ngoài nước
Hiện nay trên thế giới đang phát triển các mô hình trồng cây thông minh phù hợptrong các đô thị lớn Khi mà diện tích đất sử dụng ngày càng thu hẹp, dân số ngày càng
Trang 6sân thượng giúp mang lại thực phẩm sạch không bị ô nhiễm Con người phải tạo ra mộtmôi trường nhân tạo với các yếu tố nhiệt độ, nước, gió, độ PH, ánh sáng,… cho câyphát triển, thế là những trang trại thông minh nhỏ ra đời trong các căn hộ Hơn thế nữaviệc trồng rau hoặc hoa tại căn hộ đem lại một môi trường tự nhiên xanh, sạch và cótính thẩm mỹ cao Xu thế phát triển ngày nay của thế giới về một khu vườn thông minhtrong căn hộ có thể tự động hóa tất cả mọi việc kể cả việc gieo trồng từ xa cũng như làthu hoạch tự động.
Trên thế giới ở các nước phát triển những mô hình trồng rau trong nhà ngày càng phổbiến như những lồng cây trồng tại bếp theo phương thức trồng thủy canh, sản phẩm rausạch có thể sử dụng trực tiếp mà không phải rữa lại với nước, với những bước trồngcực kì đơn giản và có thể theo dõi sự phát triển của cây, nhu cầu về thành phần dinhdưỡng, nhiệt độ, độ ẩm và ánh sáng được tối ưu hóa thông qua một ứng dụng nhỏ trênđiện thoại hơn thế nữa những lồng trồng cây nhỏ còn được dùng để trang trí tại một số
vị trí như nhà bếp, bàn ăn, bên cửa sổ…
Hiện nay tại Việt Nam đã ứng dụng hệ thống Smart Home với mục tiêu tiến tới hệthống Smart City, ngày càng có nhiều gia đình Việt Nam sinh sống tại những căn hộchung cư với diện tích nhỏ nhưng vẫn có thể trồng cây ngoài sân thượng, hoặc ngay tạikhông gian bếp bằng việc ứng dụng những mô hình thông minh vừa mang lại lợi íchsức khỏe mà còn đem lại tính thẩm mỹ cho ngôi nhà Những căn hộ được bán ra vớiviệc thiết kế hệ thống tự động hóa trong nhà kết hợp với hệ thống trồng cây thông minhđem lại sự tiện dụng và kinh tế cho gia chủ
1.3 Mục tiêu
Với tình hình phát triển của Smart Home ngày nay, đề tài tập trung vào xây dựng môhình vườn cây trong nhà kính theo hướng IoT có thể tự động hóa việc chăm sóc câydựa vào các loại cảm biến, vi điều khiển và các loại module truyền không dây Đề tàitập trung giải quyết những nhiệm vụ sau:
Nhà Kính Ứng Dụng Iot
Trang 7Các Cảm biến Khối xử lý Khối kết nối CSDL&Website
độ độ ẩm truyền dữ liệu về cho PIC (vi điều khiển) Vi điều khiển gửi dữ liệulên cho Esp (bộ phận so sánh) để thực hiện việc so sánh với điều kiện của cơ sở
dữ liệu, sau đó sẽ đưa ra các lựa chọn phù hợp nhất, sau đó Esp gửi lệnh về choPIC để thực hiện lệnh Tự động hóa gồm tưới phun sương để tạo độ ẩm, sử dụng
lò sưởi để giảm độ lạnh, dùng quạt để làm mát, hoặc khi cây thiếu ánh sáng thìđèn LED sẽ được bật để cung cấp lượng ánh sáng vừa phải Ngoài ra một mànhình LCD sẽ được đặt ngoài vườn để tiện cho việc theo dõi trực tiếp về nhiệt độ,
độ ẩm, ánh sáng phát triển của cây
- Một cơ sở dữ liệu cây trồng được lưu kết nối trên website: CSDL lớn gồm 50loại cây trồng khác nhau PIC (vi điều khiển) có thể lấy CSDL thông qua ESP để
có thông số điều kiện phát triển của cây Người sử dụng có thể sử dụng trực tiếpthông qua Website, có thể chọn loại cây cho hệ thống tự động chăm sóc hoặcxem những thông số về điều kiện phát triển của cây trồng hiện tại
- Người sử dụng có thể theo dõi từ xa cây trồng thông qua Website Những thông
số mà PIC nhận được từ cảm biến sẽ được xử lý và đẩy lên Website Ngoài ra cánhân có thể tự thay đổi các thông số của cơ sở dữ liệu theo mong muốn
1.4 Sơ đồ kết nối tổng quát của hệ thống
Hình 1-1: Sơ đồ kết nối của hệ thống
Khối điềukhiển
Trang 8Vi điều khiển sẽ nhận dữ liệu từ cảm biến sau đó nhờ cầu nối ESP8266 gửi dữ liệu lênWebserver Ngoài ra khi có yêu cầu từ Webserver vi điều khiển sẽ đọc dữ liệu màserver gửi yêu cầu Hệ thống xữ lý liên tục và thực hiện so sánh thông số thu được vàthông số tăng trưởng để điều chỉnh tạo ra các môi trường tốt cho cây
Nhà Kính Ứng Dụng Iot
Trang 9CHƯƠNG 2 HỆ THỐNG PHẦN CỨNGNội dung: So sánh, tìm hiểu linh kiện và chọn linh kiện chính.
2.1 Các loại cảm biến
Khối cảm biến:
- Sử dụng cảm biến: nhiệt độ, độ ẩm, ánh sáng Do các bảm biến trên có giá thành
rẻ, dễ sử dụng, dễ thay thế khi hư hỏng
- Chọn linh kiện chính: PIC16F877A, DHT11, BH1750
độ ẩm thuần là hơinước
SHT10 250.000đ Digital1 dây Độ bền, độ chính xácvà độ ổn định cao. Chỉ sử dụng được ởmôi trường không khí.DHT22 102.000đ Digital1 dây Chi phí rẻ, dễ lấy dữliệu.
Chỉ sử dụng ở nơithoáng mát, tránh ủkín và ánh nắng trựctiếp
DHT11 30.000 Digital1 dây Có được dữ liệu chínhxác mà không phải qua
bất kỳ tính toán nào
Khoảng đo và độchính xác thấp
Bảng 2-2: So sánh cảm biến ánh sáng
Cảm biến Giá thành Giao tiếp Ưu điểm Nhược điểm
BH1750 49.000đ I2C Không phải qua bất
kỳ xử lý hay tính toánnào
TSL2561 65.000đ I2C Độ bền, độ chính xác
và độ ổn định cao Khoảng đo tương đốithấp.Quang Trở 15.000đ Digital 1 Dễ sử dụng, nhỏ gọn Chỉ dùng để bật, tắt
Trang 10Để thực hiện việc tự động hóa điều chỉnh môi trường phù hợp cho cây, một hệ thốnggồm các cảm biến được sử dụng để thu thập thông tin thực tế của môi trường Các cảmbiến gồm:
Thông số kĩ thuật của DHT11 được trình bày trong bảng 2.1:
Bảng 2-3: Bảng thông số kỹ thuật cảm biến DHT11
Trang 11Sơ đồ nối dây giữa PIC và DHT11 được trình bày trong bảng 2.2:
Bảng 2-4: Sơ đồ nối dây cảm biến DHT11
- Bước 1: gửi tín hiệu Start:
+ MCU thiết lập chân DATA là Output, kéo chân DATA xuống mức 0 trongkhoảng thời gian >18ms Khi có tín hiệu MCU sẽ hiểu muốn đo giá trị nhiệt độ
và độ ẩm MCU đưa chân đất lên 1, sau đó thiết lập lại chân đầu vào
+ Sau khoảng 20us, DHT11 sẽ kéo chân DATA xuống mức thấp Nếu >20us màchân DATA không được kéo xuống thấp tức là không giao tiếp được vớiDHT11
+ Chân DATA sẽ ở mức thấp 80us sau đó nó được DHT11 kéo lên mức caotrong 80us Bằng việc giám sát chân DATA, MCU có thể biết được có giao tiếpđược với DHT11 không Nếu tín hiệu đo được DHT11 lên cao, khi đó hoànthiện quá trình giao tiếp giữa MCU với DHT11
- Bước 2: đọc giá trị trên DHT11: Sau khi giao tiếp được với DHT11, DHT11 sẽgửi liên tiếp 40 bit 0 hoặc bit 1 về cho MCU, tương ứng chia thành 5-byte kếtquả của nhiệt độ và độ ẩm
2.1.2 Cảm biến cường độ ánh sáng BH1750
Cảm biến cường độ ánh sáng BH1750 là một vi mạch cảm biến trong môi trường ánhsáng dùng kĩ thuật giao tiếp BUS I2C
Trang 12Hình 2-2: Cảm biến ánh sáng BH1750 [2]
Module này thu dữ liệu về ánh sáng môi trường, cho dữ liệu đo ra trực tiếp với dạngđơn vị LUX mà không cần phải tính toán chuyển đổi thông qua chuẩn truyền I2C.Thông số kĩ thuật BH1750 được trình bày trong bảng 2.3 BH1750 có thể đo đượckhoảng cường độ ánh sáng rộng 65535 Lux TỪ -40850C
Bảng 2-5: Thông số kỹ thuật cảm biến BH1750
Nhiệt độ hoạt động -400C- 850C
Sơ đồ nối dây giữa PIC và BH1750 trình bày trên bảng 2.4:
Bảng 2-6: Sơ đồ nối dây cảm biến BH1750
2.2 Vi điều khiển PIC 16F877A
PIC là một họ vi điều khiển được sản xuất bởi công ty Microchip Technology PIC là từviết tắt của “Programmable Intelligent Computer” bộ điều, là khiển giao tiếp ngoại vi.Hiện nay PIC 16F877A được sử dụng rộng rãi với ưu thế ứng dụng ngôn ngữ c/c++ dễ
sử dụng cho người mới lập trình, giúp học sinh/ sinh viên có thể tiếp cận trực tiếp Hơn
Nhà Kính Ứng Dụng Iot
Trang 13UART, I2C,… mà vẫn đáp ứng được nhu cầu của người sử dụng.
Ý nghĩa của 16F877A: 16xxx là độ dài của lệnh 14 bit và F là có bộ nhớ flash
Các đặc điểm cơ bản của vi điều khiển PIC:
+ Có MSSP Peripheal dùng cho các giao tiếp SPI, I2C và I2S
+ Có bộ nhớ nội EEPROM-có thể ghi hoặc xóa lên tới 1 triệu lần
+ Có khối điều khiển động cơ, đọc encoder
+ Có hỗ trợ giao tiếp qua USB
- Hình dạng thực tế:
Hình 2-3: Hình thực tế PIC16F877A [3]
- PIC 16F877A có hình dạng thực tế trên hình 2-3 có 5 port xuất, nhập, có 8kênh chuyển đổi A/D
- Bảng tóm tắt đặc điểm của PIC 16F877A:
Bảng 2-7: Tóm tắt thông số kỹ thuật PIC16F877A
Bộ nhớ chương trình Flash(14-bit word) 8K
Trang 14Hình 2-4: Sơ đồ chân PIC16F877A [4]
- PIC16F877A có tất cả 40 chân như hình 2-4, 40 chân trên chia thành 5 PORT, 2chân cấp nguồn, 2 chân GND, 2 chân thạch anh và một chân RESET mạch
- 5 port của PIC16F877A có tên: A,B,C,D,E bao gồm lần lượt 6,8,8,8,3 chân
- Cấu trúc bộ nhớ chương trình:
Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ flash có dung lượng 8Kword (1 word = 14 bit) Bộ nhớ chương trình không bao gồm bộ nhớ stack và khôngđược địa chỉ hóa bởi bộ đếm chương trình
2.3 Module truyền Wifi ESP8266
Module ESP8266 là module wifi giá rẻ, được dùng rộng rãi với các ứng dụng liên quanđến Internet và Wifi có thể dùng thay thế cho các module RF khác ESP8266 là mộtchip tích hợp cao, mở ra một thế giới Internet of Things (IoT)
Nhà Kính Ứng Dụng Iot
Trang 15Hình 2-5: ESP8266MOD V12 [5]
Tính năng của ESP8266
- SDIO 2.0, UART, SPI
- 32-pin QFN (Chip ESP8266)
- Tích hợp RF switch, balun, DCXO, 24dBm PA and PMU
- Kiến trúc giả miễn phí thế hệ đồng hồ độc quyền
- Tích hợp WEP, AES, TKIP và các công cụ WAPI
Sơ đồ chân và cách đấu nạp chương trình như hình 2.7:
Trang 16Hình 2-6: Sơ đồ dây nạp chương trình cho ESP8266MOD [6]
Chân RX của Esp sẽ kết nối với chân TX của PIC Chân TX của Esp sẽ kết nối vớichân RX của PIC Vcc, GPIO2, CH_PD được nối lên 3.3V GND, GPIO0, GPIO1 đượcnối xuống 0V, khi sử dụng GPIO0 được nối lên VCC
2.4 Màn hình hiển thị LCD 1602
Màn hình LCD hình 2-8:
Hình 2-7: Màn hình LCD 1602 [7]
Vss: Tương đương với chân GND – cực âm
Vdd: Tương đương với VCC- cực dương
Nhà Kính Ứng Dụng Iot
Trang 17D0-D7: dùng 8 chân dữ liệu Sử dụng 4 chân dữ liệu có thể tiết kiệm dây dẫn nhưngphải thay đổi thư viện LCD.
Backlight (Anode và Cathode): Bật tắt màn hình LCD
- Sơ đồ kết nối chân với PIC:
Bảng 2-8: Sơ đồ nối dây cảm biến DHT11
Trang 18Với xu hướng phát triển các hệ thống tự động hóa theo hướng IoT ngày càng nhiều,con người không cần phải tự dự đoán sự phát triển của cây trồng theo mùa nữa mà vẫn
có thể dễ dàng để cây sinh trưởng phát triển tốt dựa vào các thông số truyền từ cảmbiến Cảm biến nhiệt độ, độ ẩm cho cây trồng cho phép nhận biết được lượng nước cầnthiết cho cây để quyết định việc tưới nước hoặc không Khi nhiệt độ cao vượt quángưỡng sự sinh trưởng, máy lạnh sẽ được bật lên để điều hòa lại nhiệt độ cho cây Cảmbiến ánh sáng chọn lựa mức sáng phù hợp để bật đèn LED để cung cấp ánh sáng vừaphải
Những dữ liệu mà cảm biến truyền về PIC sẽ được xử lý và sau đó tự động điều khiểnlại hệ thống
Ngoài ra những thông số được thu thập sẽ được PIC chuyển lên Website thông quamodule wifi ESP8266, nhờ đó chúng ta có thể theo dõi điều kiện phát triển của cây bất
cứ nơi nào dùng điện thoại, máy tính, ipad có kết nối internet Điểm đặc biệt của hệthống trồng cây này là người sử dụng có thể tự thay đổi thông số của cây trồng trựctiếp trên web khi có nhu cầu thay đổi bất kì loại cây nào đó, nhờ đó chúng ta có thểtăng tính linh hoạt của việc trồng cây và trồng được nhiều loại hoa màu hơn
Từ cơ sở dữ liệu với các thông số sinh trưởng có sẳn trên server chúng ta chỉ cần chọnloại cây chúng đang trồng, những điều kiện phát triển sẽ được tự động thiết lập chocây Ngoài ra để thuận tiện cho việc theo dõi một màn hình hiển thị sẽ được thiết lậpngay tại vị trí trồng giúp chúng ta tiện theo dõi trực tiếp
3.2 Giải thuật chi tiết từng khối
3.2.1 Điều chỉnh nhiệt độ không khí
Nhà Kính Ứng Dụng Iot
Trang 19Bắt đầu
PIC đọc nhiệt độ từ cảm biến(Tcb) và gửi lên ESP
Tmin<Tcb <Tmax Nhiệt độ từ Server Tmin, Tmax PIC tắt máy sưởi, máy lạnh
T<Tmin T>Tmax
ESP gửi kí tự “g” cho PIC
ESP gửi kí tự “f” cho PIC
PIC bật máy sưởi, tắt máy lạnh Bật máy lạnh, tắt máy sưởi
ESP gửi kí tự “h” cho PIC
Hình 3-2: Lưu đồ giải thuật điều chỉnh nhiệt độ
Nhiệt độ được điều chỉnh theo lưu đồ hình 3-2: bằng cách bật/tắt máy lạnh/máy sưởi sửdụng dữ liệu nhiệt độ thu được từ cảm biến DHT11 Chân RA0 và RA1 của PIC được
Trang 20Độ ẩm từ Server Hmin, Hmax
PIC tắt máy phun sương và máy hút ẩm
H<Hmin H>Hmax
ESP gửi kí tự “k” cho PIC
ESP gửi kí tự “l” cho PIC
PIC bật máy phun sương tắt máy hút ẩmPIC bật máy hút ẩm, tắt máy phun sương
ESP gửi kí tự “j” cho PIC
kết nối với 2 LED lần lượt biểu trưng hệ thống máy lạnh và máy sưởi ESP8266 nhận
dữ liệu từ PIC và so sánh với nhiệt độ Tmin , Tmax nhận được từ trên CSDL
ESP8266 thực hiện so sánh nhiệt độ tức thời với khoảng nhiệt độ lý thuyết
Nếu nhiệt độ nằm trong khoảng Tmin-Tmax module Wifi gửi 1 kí tự cho PIC và PIC thựchiện lệnh tắt máy lạnh và máy sưởi
+ Khi nhiệt độ <Tmin: module Wifi gửi kí tự “g” cho PIC và PIC sẽ thực hiện lệnh tắtmáy lạnh, bật máy sưởi (LED ở chân RA0 tắt, RA1 sáng)
+ Khi nhiệt độ >Tmax: module Wifi gửi kí tự “h” cho PIC và PIC sẽ thực hiện lệnh bậtmáy lạnh, tắt máy sưởi (LED chân RA0 sáng, RA1 tắt)
3.2.2 Điều chỉnh độ ẩm
Nhà Kính Ứng Dụng Iot
Trang 21Hình 3-3: Lưu đồ giải thuật điều chỉnh độ ẩm
Độ ẩm được điều chỉnh theo lưu đồ hình 3-3: bằng cách bật/tắt máy phun sương/ máyhút ẩm sử dụng dữ liệu độ ẩm thu được từ cảm biến DHT11 Chân RA2 và RA3 của
Trang 22PIC được kết nối với 2 LED lần lượt biểu trưng hệ thống máy phun sương và máy hútẩm.
ESP8266 nhận dữ liệu từ PIC và so sánh với độ ẩm Hmin , Hmax nhận được từ CSDL sau
đó ESP8266 thực hiện việc so sánh độ ẩm tức thời với khoảng độ ẩm lý thuyết
Nếu độ ẩm nằm trong khoảng Hmin-Hmax module Wifi gửi một kí tự cho PIC và PICthực hiện lệnh tắt máy phun sương và máy hút ẩm
+ Khi độ ẩm <Hmin: module Wifi gửi kí tự “k” cho PIC và PIC sẽ thực hiện lệnh bậtmáy phun sương và tắt máy hút ẩm (LED ở chân RA2 sáng, RA3 tắt)
+ Khi độ ẩm >Hmax: module Wifi gửi kí tự “j” cho PIC và PIC sẽ thực hiện lệnh tắt máyphun sương và bật máy hút ẩm (LED chân RA2 tắt, RA3 bật)
3.2.3 Điều chỉnh ánh sáng
Nhà Kính Ứng Dụng Iot
Trang 23L<Lmin L>Lmax
ESP gửi kí tự “e” cho PIC
ESP gửi kí tự “d” cho PIC
PIC bật đèn trồng cây và mở màn che
PIC tắt đèn và kéo màn che ESP gửi kí tự “c” cho PIC
Hình 3-4: Lưu đồ giải thuật điều chỉnh ánh sáng
Trang 24Điều chỉnh độ ánh sáng theo lưu đồ hình 3-4: sử dụng cẩm biến BH1750, chân RA4 vàRA5 của PIC được kết nối với 2 LED lần lượt biểu trưng hệ thống đèn LED và mànche.
ESP8266 nhận dữ liệu từ PIC và so sánh với ánh sáng Lmin , Lmax nhận được từ trênCSDL Nếu ánh sáng nằm trong khoảng Lmin-Lmax , module Wifi gửi kí tự cho PIC vàPIC thực hiện lệnh tắt đèn LED và kéo màn che
+ Khi ánh sáng <Lmin: module Wifi gửi kí tự “e” cho PIC và PIC sẽ thực hiện lệnh tắtđèn LED và mở màn che (LED ở chân RE1 tắt, RA5 sáng)
+ Khi ánh sáng >Lmax: module Wifi gửi kí tự “c” cho PIC và PIC sẽ thực hiện lệnh bậtLED và đóng màn che (LED chân RE1 sáng, RA5 tắt)
Nhà Kính Ứng Dụng Iot
Trang 25CHƯƠNG 4 XÂY DỰNG WEBSITE GIÁM SÁT
Để xây dựng Website giám sát nhà kính từ xa, Mysql được dùng để lưu CSDL thôngtin sinh trưởng của cây trồng được kết nối lên Web và kết nối ngược xuống PIC.ESP8266 đóng vai trò liên kết hai chiều giữa khối điều khiển PIC tại vườn cây và khốiđiều khiển từ xa qua Website
4.1 Thiết kế giao diện
4.1.1 Ngôn ngữ PHP
PHP – là từ viết tắt của "Hypertext Preprocessor", là một ngôn ngữ lập trình được sửdụng ở phía server để tạo ra mã html trên client PHP thường được sử dụng do nó cónhiều ưu điểm như dễ viết, tốc độ truy xuất, dễ học, và được xem là một ngôn ngữ phùhợp với đối tượng muốn tìm hiểu và học lập trình web hiện nay
PHP thường đi kèm với MySQL, Apache, và hệ điều hành Linux (LAMP) do chạy trênmôi trường Webserver và được lưu trữ dữ liệu thông qua hệ quản trị cơ sở dữ liệu
• Apache là một phần mềm Webserver có nhiệm vụ tiếp nhận các yêu cầu từ trìnhduyệt người dùng và chuyển giao cho PHP xử lý và gửi trả lại kết quả cho trìnhduyệt
• MySQL đóng vai trò là nơi lưu trữ và truy vấn dữ liệu, tương tự như các hệ quảntrị cơ sở dữ liệu khác (Postgress, Oracle, SQL server )
• Linux là hệ điều hành mã có nguồn mở được sử dụng rất rộng rãi cho cácWebserver, các phiên bản được sử dụng nhiều nhất là RedHat Enterprise Linux,Ubuntu
Mô hình cách thức hoạt động:
Trang 26Hình 4-1: Cách thức hoạt động ngôn ngữ PHP
4.1.2 Môi trường lập trình Atom
Atom là text editor mới ra mắt và đang được đông đảo các lập trình viên trong cộngđồng lập trình đón nhận bởi rất nhiều những tính năng đáng thử của nó
• Open Source: được sử dụng miễn phí và người dùng còn có quyền xem và thayđổi source code của phần mềm và tự do đóng góp vào cộng đồng bằng việc pháttriển thêm cho phần mềm text editor này
Hơn thế nữa Atom được phát triển sử dụng các ngôn ngữ web như là: HTML,Javascript (NodeJS) và CSS Các ngôn ngữ này điều rất dễ học và gần như hầu hết cáclập trình viên đều am hiểu về các ngôn ngữ này
Nhà Kính Ứng Dụng Iot
Trang 27hành khác nhau như Windows, MacOS và tất cả các distribution phổ biến củaLinux Điều này giúp bạn yên tâm hơn khi phải làm việc cùng một lúc với cácngôn ngữ chạy trên các nền tảng khác nhau Ví dụ như khi bạn phải làm việccùng lúc với cả NET hay Java trên Windows và PHP trên Linux.
• Package Manager: Tương tự như Sublime Text, Atom hỗ trợ việc cài các góipackage để tạo thêm các tính năng cho phần mềm này Việc cài đặt và quản lýcác package được thực hiện một cách đơn giản thông qua package manager.Giống như mã nguồn của phần mềm này, tất cả các gói package cũng đều đượcmiễn phí và open source
4.2 Cơ sở dữ liệu
Phần mềm Xampp có hỗ trợ lưu cơ sở dữ liệu và có thể được tạo ra bằng tay Lưu trữ
dữ liệu từ vi điều khiển, cũng như lưu trữ dữ liệu về thông số cây trồng Khi thực hiệnchọn loại cây trồng từ trên Website thì mỗi loại cây trồng ứng với một ID ID này sẽtruyền những thông số của loại cây đó lên trên giao diện Web
Sau đây là bảng thông số sinh trưởng của một số loại cây trồng được thực hiện trongdatabase của Mysql
Bảng 4-1: Bảng thông số sinh trưởng của một số loại cây trồng[10]
Ánh sáng(MIN)(LUX)
Ánh sáng(MAX)(LUX)
Trang 28Bắt đầu khởi tạo Esp wifi, PIC nhận dữ liệu từ ESP8266, nếu tín hiệu nhận được từ Esp
là một mã tương ứng thì PIC sẽ setup điều kiện (nhiệt độ, độ ẩm, ánh sáng) cho cây.Nếu nhiệt độ cao thì dùng quạt làm mát, độ ẩm thấp thì tưới, phun sương, thiếu ánhsáng thì bật đèn LED Chương trình sau đó sẽ gửi các dữ liệu thông số về điều kiệnhiện tại của cây gửi lên web
4.4 Phương pháp cân bằng môi trường
Hình 4-2: Cân bằng nhiệt độ trong nhà kính
Đối với các thiết bị như máy làm mát dùng để điều khiển nhiệt độ, chỉ có 2 trạng tháibật và tắt, nhưng biến đổi môi trường từ từ, khi nhiệt độ vượt ra ngoài mức an toàn thìtiến hành bật cho đến khi nhiệt độ về lại mức tối ưu
Đối với ánh sáng, vì ánh sáng từ đèn có thể điều khiển độ sáng được, đồng thời ánhsáng làm thay đổi môi trường tức thời( vì khi bật đèn thì ngay lập tức độ sáng tăng),nên cần điều chỉnh từ từ, khi Esp báo độ sáng thấp, ta cần để đèn mức sáng thấp nhất,rồi tăng dần độ sáng đến khi nào Esp báo độ sáng đủ
Tương tự với độ ẩm
Nhà Kính Ứng Dụng Iot
Trang 29Hình 4-3: Đồ thị biểu diễn giá trị cảm biến trong 24h
Sử dụng phương pháp trung bình, nhiệt độ tại một thời điểm có thể lấy là nhiệt độ trugbình trong 2 giờ, tức là từ lúc trước thời gian tính 1 giờ và kết thúc tại sau thời giantính 1 giờ Ví dụ ta lấy trung bình lúc 1h20, lấy trung bình tất cả các giá trị trong thờigian từ 0h20 đến 2h20 để tính trung bình
Do phương pháp này nên đồ thị sẽ có đường cong, nếu loại bỏ phép trung bình, đồ thị
sẽ có hình xung vuông, vì các giá trị của cảm biến đọc được chỉ là những số nguyên(cảm biến kém chất lượng, độ sai số cũng khá lớn)
Ở ví dụ, sử dụng cảm biến DHT11 có sai số khá lớn với độ ẩm là 5% và nhiệt độ là 2độ
CHƯƠNG 5 KẾT QUẢ THỰC HIỆN
5.1 Kết quả thi công phần cứng
Với các yêu cầu kỉ thuật của đề tài, mạch nguyên lý và mạch in được thiết kế như hìnhsau:
Trang 30Hình 5-1: Schematic của mạch sử dụng phần mềm Protues
Hình 5-2: Layout của mạch sử dụng phần mềm Protues
Nhà Kính Ứng Dụng Iot
Trang 31Giả sử ta chọn cây trồng là Hoa Hướng Dương có thông số cây trồng như sau:
Id Name Nhiệt độ
(MIN)(0C)
Nhiệt độ(MAX)( 0C)
Ánh sáng(MIN)(LUX)
Ánh sáng(MAX)(LUX)
Độ ẩm(MIN)
Độ ẩm(MAX)
5.3 Kết quả xây dựng Website
5.3.1 Giao diện Website
Trang 32Hình 5-5: Giao diện Website
5.3.2 Truyền dữ liệu từ PIC lên ESP8266
ESP8266 nhận dữ liệu từ PIC thông qua Serial, ta có thể kiểm tra dữ liệu này thông quaphần mềm hiển thị dữ liệu qua cổng COM nếu cổng COM nhận được dữ liệu thì Esp
có nhận dữ liệu Việc hiển thị dữ liệu thông qua hình 5-6:
Nhà Kính Ứng Dụng Iot
Trang 33Hình 5-6: Truyền dữ liệu từ PIC lên Esp
5.3.3 Xây dựng CSDL trên Mysql
Xây dựng cơ sở dữ liệu trên myphpadmin với chương trình tạo máy chủ webserver.Giao diện xây dựng cơ sở dữ liệu về thông số của các lọa cây như sau:
Hình 5-7: Cơ sở dữ liệu của cây trồng
5.3.4 Kết quả giao tiếp truyền dữ liệu lên Website
Trang 34Hình 5-8: Truyền dữ liệu lên Website
5.3.5 Kết quả phân tích dữ liệu bằng đồ thị
Hình 5-9: Đồ thị nhiệt độ, độ ẩm và ánh sáng
CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG THỰC HIỆN
Nhà Kính Ứng Dụng Iot
Trang 35Đồ án đã hoàn thành được các nội dung chính bao gồm: Sử dụng các cảm biến nhiệt
độ, độ ẩm, ánh sáng để theo dõi và điều chỉnh nhiệt độ, độ ẩm, ánh sáng sao cho phùhợp với từng loại cây trồng Sử dụng LCD để hiển thị những giá trị của cảm biến.Chăm sóc cây khi điều kiện cây trồng không phù hợp như khi cây thiếu độ ẩm có thểtưới thêm nước, thiếu ánh sáng có thể bật đèn LED để thêm ánh sáng cho cây
• Xây dựng CSDL của cây trồng với nhiều loại cây trồng khác nhau, CSDL đượclưu trong mysql và có thể truy xuất tại giao diện Web
• Theo dõi từ xa hệ thống trồng cây thông qua Webserver vì những thông số màPIC nhận được từ cảm biến đã được xử lý và gửi lên Website Ngoài ra cá nhân có thể
tự thay đổi các thông số của cơ sở dữ liệu theo mong muốn trên Web
• Tự động điều khiển các chức năng đóng ngắt để điều khiển các thiết bị có trongnhà kính để đảm bảo môi trường phù hợp với sự phát triển của từng loại cây trồng.Tuy nhiên đồ án còn một số hạn chế về độ trễ về thời gian của dữ liệu từ PIC gửi lêntrên Webserver khoảng 5s-10s, thời gian điều khiển tự động 10s – 20s Mặc dù có độtrễ như vậy nhưng trong ứng dụng chăm sóc cây thì độ trể này là có thể chấp nhậnđược
6.2 Hướng phát triển
Trong tương lai hệ thống có thể được áp dụng phát triển với quy mô lớn hơn, những hộgia đình nhỏ có thể trồng cây ở nhiều nơi khác nhau, ứng dụng Web có thể thực hiệnviệc trồng cây ở nhiều nơi như ban công nhà bếp hay ở trong phòng khách để chăm sóccây kiểng
Ngoài ra nếu khắc phục được nhược điểm về độ trễ thời gian truy xuất dữ liệu thì mô
Trang 36Nhà Kính Ứng Dụng Iot
Trang 37TÀI LIỆU THAM KHẢO
[1] Dương Minh Trí (1997), Sơ đồ chân linh kiện điện tử, Nhà xuất bản Khoa Học KỹThuật
[2] Nguyễn Bính, Điện tử công suất (2000), Nhà xuất bản Khoa Học Kỹ Thuật
[3] Lâm tăng Đức, Trần Đình Khôi Quốc (2007), Giáo trình kỹ thuật xung-số, Đại HọcBách Khoa Đà Nẵng
[4] Nguyễn Văn Minh Trí, Lâm Tăng Đức (2008), Ghép nối và điều khiển thiết bịngoại vi, Đại Học Bách Khoa Đà Nẵng
[5] Nguyễn Ngọc Khánh, Nguyễn Hiếu Nghĩa (2004), Hệ thống thu thập và xử lý dữliệu cho ngôi nhà thông minh, ĐH Sư Phạm Kỹ Thuật TP HCM
[6] Văn Thế Minh (1997), Kỹ thuật vi xử lý, Nhà xuất bản Giáo dục
[7] SIMCom, AT Commands Set, Hardward Design Module Sim900A
Các trang web tham khảo:
Trang 38//#fuses PROTECT, NOWDT, BROWNOUT, NOWRT //INTRC_IO, //
//#fuses NODEBUG, PUT,CPD // FCMEN, NOMCLR, NOIESO, //
#fuses hs, noput, nowdt, noprotect, nodebug, nobrownout, nolvp, nocpd, nowrt //
#use delay(clock = 20M) //
#use rs232(uart, baud = 9600, parity = N, bits = 8, stop = 1, timeout = 10) //
float nhiet_do, do_am; //
unsigned int8 c; //
UNSIGNED long lux = 0; //
//UNSIGNED int8 dh_nhiet_do, dh_nhiet_do2, dh_do_am, dh_do_am2; //
Nhà Kính Ứng Dụng Iot