Tiện ích Live Server

Một phần của tài liệu Xây dựng hệ thống vườn thông minh (Trang 47)

Nếu phân tích sâu vào source code thì ta sẽ nhận thấy extension này được phát triển trên một bộ core cùng tên, tích hợp thêm nhiều tính năng, nhưng chung quy lại vẫn xoay quanh 2 tính năng cơ bản:

Cho phép gửi HTTP REQUEST lên các service, việc mà các bạn khơng thể thực hiện với giao thức file:// vì lý do an ninh, bảo mật.

Tự động reload lại trang khi có sửa đổi trong các file được theo dõi (watch), giúp tốc độ code tăng đáng kể.

CHƯƠNG 3: TÍNH TỐN THIẾT KẾ VƯỜN THƠNG MINH3.1 Tính tốn thiết kế nhà kính 3.1 Tính tốn thiết kế nhà kính

Chọn các vật liệu xây dựng nhà kính:

Ống thép mạ kẽm: Phần khung cần phải chắc chắn để nâng đỡ tồn bộ sức nặng của nhà kính, chống chịu các yếu tố bão, gió, đồng thời chịu được mơi trường nóng ẩm mà khơng bị gỉ. Vì vậy nhóm lựa chọn ống thép mạ kẽm để làm khung nhà kính.

Hình 3.30: Ống thép mạ kẽm

Màng nhựa PE: Màng phủ nhà kính yêu cầu độ bền, dai khi tiếp xúc liên tục với nắng, gió nhưng cũng cần có khối lượng nhẹ. Màng nhựa chất liệu Polyetylen (PE) là loại vật liệu phù hợp nhất cho việc sử dụng làm màng phủ nhà kính. Màng PE sử dụng cho nhà kính có độ dày 200 micromet và có độ bền trên 3 năm.

Hình 3.31: Màng PE

Các kích thước của khung nhà kính: Chiều rộng: 8m

Chiều dài: 18m Chiều cao tường: 3m Chiều cao đến đỉnh: 4.5m

Khoảng cách giữa các vì kèo: 4.5m Mơ hình 3D nhà kính:

3.2 Tính chọn các cơ cấu chấp hành

3.2.1 Tính chọn máy bơm

Với diện tích trồng 18x8m, theo quy chuẩn, có thể trồng được 13 hàng cây, mỗi hàng cây cách nhau 60cm. Trong hàng dài 18m mỗi cây cách nhau 40cm vậy mỗi hàng trồng được 45 cây. Mỗi cây sử dụng một béc tưới nhỏ giọt bù áp có lưu lượng 6 lít /giờ.

Qua đó tính được hệ thống cần lưu lượng nước tối thiểu là:

V = N x L (m3/h)

Trong đó: V là lưu lượng nước tối thiểu của máy bơm N là số lượng cây

L là lưu lượng nước mỗi béc nhỏ giọt

V = 13x45x6 = 3510 lít/h = 3.5 m3/h

Mỗi béc tưới nhỏ giọt hoạt động ổn định dưới áp suất 0.03 bar. Ta tính được áp suất cần cung cấp tại đầu đường ống là:

P = N x p (bar)

Trong đó: P là áp suất tối thiểu máy bơm N là số lượng cây

p là áp suất hoạt động mỗi béc tưới

 P = 0.03x13x45 = 17.55 bar

Nên chọn máy bơm có lưu lượng và cột áp cao hơn ít nhất 1,5 lần (tùy theo điều kiện địa hình) thơng số u cầu hoạt động của thiết bị. Nhằm đảm bảo mức độ làm việc của máy bơm được tốt nhất. Bởi vì, ngồi áp suất u cầu để thiết bị tưới hoạt động thì phải cộng thêm phần tổn hao áp suất trong hệ thống đường ống khi qua lọc, bộ châm dinh dưỡng, co, tê, giảm v.v… Vậy ta có thể chọn máy bơm có lưu lượng từ 5m³/giờ và cột áp từ 26m trở lên.

Hình 3.33: Bơm CM100

Thơng số kỹ thuật của CM100:

Nguồn điện: 220V / 50Hz

Công suất

bơm: 750W

Cột áp: 25,2m – 32,5 m Hút sâu: 8m

Lưu lượng nước tối đa: 6000 l/h Đường kính ống hút, xả: 25 mm (1")

3.2.2 Tính chọn quạt thơng gió

Đối với nhà kính 8x18 m2, chiều cao hông nhà 3,0 m, chiều cao đến đỉnh 4.5m ta cần tính được thể tích của nhà kính xấp xỉ:

V = Chiều dài x chiều rộng x chiều cao

=> V = 8x18x3+8x1.5x0.5x18=540 (m3)

Tiếp theo ta cần biết tổng lượng khơng khí trao đổi trong nhà kính, ở đây theo quy chuẩn chúng ta có số lần tuần hồn gió trong 1h là 70 lần, có nghĩa là cứ hơn 1 phút lại có 1 lần trao đổi hết lượng khơng khí trong nhà kính. Như vậy tổng lượng

khơng khí cần dùng:

T = X x V (m3/h)

Trong đó: X là số lần thay đơi khơng khí.

V là thể tích khơng gian.

=> T = 70 x 540 = 37800 m3

Qua tìm hiểu nhóm đã tổng hợp được một số model quạt thơng gió:

Bảng 3.2: Thống kê một số mẫu quạt

Model Đường kính cánh (mm) Tốc độ quạt (vịng/p hút) Điện áp đầu vào (kW) Cường độ dịng điện (A) Lưu lượng khí (m3/h) Kích thước (mm) Khối lượng (kg) BNF-620 500 1400 0.37 1 12.000 620*620*370 23 BNF-900 750 630 0.55 1.5 20.000 900*900*400 43 BNF-1000 900 610 0.75 2 30.000 1000*1000*400 47 BNF-1100 1000 600 0.75 2 32.500 1100*1100*400 50

BNF-1220 1100 460 1.1 2.8 38.000 1220*1220*400 63

BNF-1380 1250 439 1.1 3.8 44.500 1380*1380*400 71

Dựa vào lưu lượng khí cần lưu thơng đã được tính tốn và bảng thơng số một sơ mẫu quạt thơng gió, nhóm chọn sử dụng quạt thơng gió mẫu BNF-900.

Vậy số lượng quạt BNF-900 cần dùng được tính theo cơng thức:

N = T/Q

Trong đó: T là tổng lượng khơng khí cần dùng.

Q là lưu lượng gió của quạt (m3/h).  N = 37800/20000=2 (chiếc)

Các thơng số và hình ảnh cụ thể mẫu quạt BNF-900: Điện áp nguồn: 220V / 50Hz

Cơng suất: 550W

Lưu lượng gió: 20.000 m3/h Tốc độ: 630 rpm

Độ ồn: 65 dB

Đường kính cánh: 750 mm

Trọng lượng: 43 kg

3.3 Tính tốn, thiết kế hệ thống điện, điện tử

3.3.1 Thiết kế hệ thống điện

a) Sơ đồ cấu tạo cơ bản hệ thống:

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

Chức năng từng khối:

Khối nguồn: Cung cấp nguồn cho toàn bộ hoạt động của hệ thống bao gồm: khối xử lý trung tâm, khối giao tiếp wifi, khối webserver, khối điều khiển trực tiếp và hiển thị, khối cảm biến, khối relay và khối cơ cấu chấp hành

Khối xử lý trung tâm: Thu thập dữ liệu từ các thiết bị sau đó xử lý và điều khiển khối chấp hành và khối hiển thị.

Khối giao tiếp wifi: Để giao tiếp giữa khối điều khiển trung tâm và server, là cầu nối trung gian để nhận và gửi dữ liệu điều khiển các thiết bị điện trong khu vườn.

Khối webserver: Xây dựng giao diện web và mobile app để hiển thị, lưu trữ dữ liệu, đồng thời cho phép người dùng thao tác, điều khiển gián tiếp hệ thống thông qua Wifi.

Khối điều khiển trực tiếp và hiển thị: Cho phép người dùng theo dõi các thông số môi trường, thao tác điều khiển trực tiếp ngay trên màn hình.

Khối cảm biến: Bao gồm các cảm biến có nhiệm vụ thu thập các thông số của môi trường để dựa vào các thơng số đó điều khiển, giám sát khu vườn.

Khối module Relay: Đóng ngắt các tiếp điểm theo sự điều khiển của ngõ ra ESP32 để điều khiển thiết bị. Cách ly giữa mạch công suất và mạch điều khiển.

Khối chấp hành: Sẽ gồm các thiết bị mà sẽ giúp điều chỉnh các thông số, các cơ cấu của khu vườn để giữ cho khu vườn ln ở điều kiện thích hợp nhất

b) Lựa chọn Aptomat bảo vệ hệ thống

Ta đã tính tốn và chọn được các cơ cấu chấp hành cho hệ thống, từ đó ta tính được tổng cơng suất tiêu thụ tối đa:

Trong đó: là tổng cơng suất các bơm là tổng công suất các quạt

 750 + 550 x 2 = 1850 (W)

Hệ thống sử dụng điện lưới 220V, ta tính được I của hệ thống: I1 == =10.5 A

Do hệ thống có thiết bị động cơ, dịng của Aptomat cần gấp 2 đến 2.5 lần dòng của hệ thống:

I2 = 2.5 x I1 = 26.25 A

Vậy ta lựa chọn Aptomat cho hệ thống điện có dịng điện định mức là 32A

Hình 3.36: Aptomat c) Thiết kế mạch điện

Hình 3.37: Thiết kế mạch điện

Sơ đồ đấu nối từ relay ra bơm và quạt:

Hình 3.38: Sơ đồ đấu nối từ relay ra bơm và quạt

Hình 3.39: Sơ đồ đấu nối LCD với ESP32

3.3.2 Lựa chọn cảm biến

a) Cảm biến nhiệt độ DS18B20

Cảm biến nhiệt độ DS18B20 là cảm biến (loại digital) đo nhiệt độ mới của hãng MAXIM với độ phân giải cao (12bit). IC sử dụng giao tiếp 1-Wire rất gọn gàng, dễ lập trình. IC cịn có chức năng cảnh báo nhiệt độ khi vượt ngưỡng và đặc biệt hơn là có thể cấp nguồn từ chân data (parasite power).

Thơng số của Cảm biến nhiệt độ DS18B20 dây mềm:  Nguồn: 3 – 5.5V

 Dải đo nhiệt độ: -55 đến 125 độ C ( -67 đến 257 độ F)  Sai số: +- 0.5 độ C khi đo ở dải -10 – 85 độ C

 Độ phân giải: người dùng có thể chọn từ 9 – 12 bits  Chuẩn giao tiếp: 1-Wire (1 dây).

 Có cảnh báo nhiệt khi vượt ngưỡng cho phép và cấp nguồn từ chân data.  Thời gian chuyển đổi nhiệt độ tối đa: 750ms (khi chọn độ phân giải 12bit).  Mỗi IC có một mã riêng (lưu trên EEPROM của IC) nên có thể giao tiếp

nhiều DS18B20 trên cùng 1 dây

 Ống thép khơng gỉ (chống ẩm, nước) đường kính 6mm, dài 50mm  Đường kính đầu dị: 6mm

Cảm biến nhiệt độ DS18B20 không giống các loại cảm biến khác khi sử dụng chuẩn giao tiếp 1-Wire. Khác với các chuẩn giao tiếp khác: với I2C hoặc UART cần 2 dây, SPI cần 4 dây để truyền nhận dữ liệu, chuẩn giao tiếp 1-Wire đúng như tên gọi của nó chỉ cần một dây để có thể truyền và nhận dữ liệu, do đó nó có tốc độ thấp, chủ yếu sử dụng cho việc thu thập dữ liệu, truyền nhận dữ liệu thời tiết, nhiệt độ, công việc không yêu cầu tốc độ quá cao. Vì giao tiếp 1-Wire chỉ sử dụng 1 dây để nối nguồn và truyền dữ liệu nên khi ở trạng thái rảnh thì nó cần phải ở mức cao. Do đó, cần kết nối dây này với nguồn thơng qua điện trở (pull_up resistor).

Hình 3.41: Giao tiếp 1-Wire

Giao tiếp 1-Wire có hai chế độ làm việc là standard và overdrive. Khi làm việc ở chế độ standard thì tốc độ truyền dữ liệu là 15 kbps, với chế độ overdrive là

111 kbps. Chuẩn giao tiếp 1-Wire tuân theo mơ hình master-slave. Trên một đường truyền dữ liệu có thể gắn nhiều thiết bị slave, nhưng chỉ có duy nhất một thiết bị là master.

Trong giao tiếp 1-Wire, đường dây luôn được giữ ở mức cao (High). Các thao tác hoạt động cơ bản của bus sẽ được quy định bởi thời gian kéo đường truyền xuống mức thấp (Low).

Hình 3.42: Truyền dữ liệu

Gửi bit 1: Khi muốn gửi đi bit 1, thiết bị Master sẽ kéo bus xuống mức 0 trong một khoảng thời gian A (µs) và trở về mức 1 trong khoảng B (µs).

Gửi bit 0: Thiết bị Master kéo bus xuống mức 0 trong một khoảng thời gian C (µs) và trở về mức 1 trong khoảng D (µs).

Đọc bit: Thiết bị Master kéo bus xuống 1 khoảng A (µs). Trong khoảng thời gian E (µs) tiếp theo, thiết bị master sẽ tiến hành lấy mẫu. Có nghĩa trong E (µs) này, nếu bus ở mức 1, thiết bị master sẽ đọc bit 1. Ngược lại, nếu bus ở mức 0 thì master sẽ đọc được bit 0.

Reset: Thiết bị Master kéo bus xuống 1 khoảng thời gian H (µs) và sau đó về mức 1. Khoảng thời gian này gọi là tín hiệu reset. Trong khoảng thời gian I (µs) tiếp theo, thiết bị master tiến hành lấy mẫu. Nếu thiết bị slave gắn với bus gửi về tín hiệu 0, (tức bus ở mức 0), master sẽ hiểu rằng slave vẫn có mặt và q trình trao đổi dữ liệu lại tiếp tục. Ngược lại nếu slave gửi về tin hiệu 1 (bus ở mức 1) thì master hiểu rằng khơng có thiết bị slave nào tồn tại và dừng quá trình.

b) Cảm biến độ ẩm đất điện dung SEN0193

Hình 3.43: Cảm biến độ âm đất điện dung SEN0193

Cảm biến độ ẩm đất điện dung là loại cảm biến độ ẩm đất mới, có độ bền và tuổi thọ cao hơn nhiều các loại cảm biến điện trở thơng thường. Cảm biến đo độ ẩm đất này có thể hoạt động với điện áp 3.3V đến 5.5V, vì vậy nó phù hợp để sử dụng với hầu hết các loại vi điều khiển.

Mạch cảm biến sử dụng mạch tạo xung NE555 với tụ điện trong mạch để tính tần số là hai bản cực được thiết kế về hai mặt PCB. Khi ở môi trường ẩm, hơi nước bao quanh 2 bản cực như môi trường điện môi. Mật độ nước càng lớn thì hằng số điện mơi càng cao dẫn tới điện dung của mạch tạo tần số tăng nên tần số sẽ giảm xuống (f = 1/ (R.C)) và ngược lại. Tần số này đưa qua mạch lọc thông thấp sẽ xuất hiện mức điện áp tương ứng với giá trị độ ẩm đất ở chân AOUT.

Thông số kỹ thuật:

Điện áp hoạt động: 3,3 - 5,5 VDC Điện áp đầu ra: 0 - 3 VDC.

Kích thước: 98 x 23mm (LxW) Tín hiệu đầu ra: Analog

3.4 Thiết kế phần mềm

Hình 3.44: Thuật toán điều khiển

3.4.2 Thiết lập Firebase

Để bắt đầu sử dụng Firebase ta truy cập đến trang chủ ở địa

chỉ: https://firebase.google.com/ do Firebase là dịch vụ của Google nên ta đăng nhập bằng tài khoản Gmail của mình

Sau đó ta sẽ được chuyển đến giao diện như dưới đây, chọn và Add project.

Hình 3.46: Add project mới

Đặt tên cho Project và nhấn continue đến step 3

Ở đây ta chọn Default Account for Firebase rồi chọn Create project và đợi Firebase khởi tạo project của chúng ta

Hình 3.48: Chọn tài khoản

Sau khi khởi tạo project xuất hiện giao diện sau.

Hình 3.49: Tạo dự án thành cơng

Chúng ta có thể thấy một số dịch vụ nổi bật như:

Authentication: xây dựng các bước xác thực người dùng bằng Email,

ứng dụng. Hoạt động xác thực có thể giúp thơng tin cá nhân của người sử dụng được an tồn và đảm bảo khơng bị đánh cắp tài khoản.

Hosting: cung cấp dịch vụ lưu trữ nhanh và an toàn cho ứng dụng web, nội

dung tĩnh và động cũng như các dịch vụ vi mô của bạn.

Real-time Database (Cơ sở dữ liệu thời gian thực): là cơ sở dữ liệu NoSQL

được lưu trữ trên đám mây cho phép bạn lưu trữ và đồng bộ hóa dữ liệu giữa những người dùng của mình trong thời gian thực.

Đối với các ứng dụng đa nền tảng, tất cả các client đều sử dụng cùng một cơ sở dữ liệu. Nó được tự động cập nhật dữ liệu mới nhất bất cứ khi nào các lập trình viên phát triển ứng dụng. Cuối cùng, tất cả các dữ liệu này được truyền qua kết nối an tồn SSL có bảo mật với chứng nhận 2048 bit.

Trong trường hợp bị mất mạng, dữ liệu được lưu lại ở local. Vì thế khi có mọi sự thay đổi nào đều được tự động cập nhật lên Server của Firebase. Bên cạnh đó, đối với các dữ liệu ở local cũ hơn với Server thì cũng tự động cập nhật để được dữ liệu mới nhất.

Ở đây ta sẽ sử dụng Services Realtime Database của Firebase với mục đích làm cơ sở dữ liệu để cập nhật dữ liệu theo thời gian thực. Đầu tiên ta Create Realtime Database và chọn mặc định để đến step 2

Hình 3.51: Tạo cơ sở dữ liệu thời gian thực

Ở giao diện này, nếu ta đang phát triển dự án với mục đích để test các chức năng thì ta chọn test mode, nhưng database của chúng ta sẽ ở trạng thái open trong 30 ngày đầu tiên. Ngược lại khi ta cần một database để phục vụ cho mobile app hoặc các ứng dụng web chính thức thì ta chọn locked mode và database của chúng ta sẽ ở chế độ private và dưới các rules mà chúng ta thiết lập (ở đây ta chọn locked mode và Enable)

Hình 3.52: Chọn mục đích xây dựng dự án

Realtime Database được tổ chức theo dạng cây (trees), giống như dạng cây thư mục (folder tree) mà ta đã quá quen thuộc trong Windows Explorer. Tuy nhiên, một nhánh (branch) không được chứa đồng thời nhiều dữ liệu khác nhau. Trong Windows Explorer 1 thư mục mẹ có thể chứa nhiều thư mục con và các tập tin nằm ngang hàng với các thư mục con kia, trong thư mục con lại có các thư mục cháu và

Một phần của tài liệu Xây dựng hệ thống vườn thông minh (Trang 47)

Tải bản đầy đủ (DOCX)

(86 trang)
w