Giao thức MQTT

Một phần của tài liệu Thiết kế và thi công hệ thống IOT chăm sóc vườn cây dùng pin năng lượng mặt trời (Trang 32)

Kiến trúc mức cao của MQTT gồm hai thành phần chính là Broker và Client.

Trong đó Broker được coi như là trung tâm, nó là điểm giao của tất cả các kết nối đến từ client. Nhiệm vụ của nó là nhận messeage theo hàng đợi rồi chuyển chúng tới một địa chỉ cụ thể.

23

Client thì được chia thành hai nhóm chính là xuấn bản và giỏi. Client là các thành phần phần mềm hoạt động tại edge divice nên chúng được thiết kế để có thể hoạt động một cách linh hoạt. Nhiệm vụ của Client là xuất bản các messenge lên các chủ đề cụ thể hoặc theo dõi một chủ đề nào đó để nhận messenge từ chủ đề này.

3.6.4 Giao thức truyền dữ liệu bằng Bluetooth.

Bluetooth là chuẩn kết nối khơng dây có tần số 2,4 Ghz. Đây là cơng nghệ giúp trao đổi dữ liệu giữa các thiết bị điện tử với nhau tạo thành mạng cục bộ nhỏ.

Khi hai thiết bị được kết nối với nhau bằng bluetooth có thể chia sẽ tập tin giữa hai thiết bị. Do là một chuẩn điện tử, nó bắt buộc các hãng sản xuất các thiết bị phải tuân thủ các tiêu chuẩn kỹ thuật chung nhằm tạo sự tương thích tối ưu giữa các thiết bị với nhau.

Hình 3.8: Bluetooth kết nối các thiết bị. [3]

Các chuẩn kết nối bluetooth từ xưa đến nay gồm:

Bluetooth 1.0 và 1.0B: đạt tốc độ xấp xỉ 1Mbps nhưng công nghệ này lại gặp

24

Bluetooth 1.1 đây là bản được chuẩn hóa theo tiêu chuẩn IEEE 802.15 và là

phiên bản sửa lỗi của phiên bản 1.0 nhưng không thay đổi tốc độ.

Bluetooth 1.2 phiên bản được cải thiện hơn về việc làm giảm thời gian dị tìm

và tăng tốc độ kết nối hơn so với 1.1 lên tới 721kbs/s.

Bluetooth 2.0 + EDR: là phiên bản được công bố năm 2007, phiên bản này ổn

định hơn và cho tốc độ chia sẻ nhanh hơn, đồng thời giảm mức độ tiêu thụ năng lượng.

Bluetooth 2.1 + EDR: đây là phiên bản nâng cấp của 2.0 với sự cải thiện về hiệu

năng và tiết kiệm năng lượng hơn so với những phiên bản trước. Một nhược điểm của phiên bản này là nó khơng cho phép truyền những file có dung lượng lớn (khoảng 1GB trở lên), thế nên nếu muốn chuyển những file có dung lương từ 1 đến 2GB trở lên giữa các thiết bị thì chỉ có thể dùng cáp sạc USB để truyền.

Bluetooth 3.0 + HS: phiên bản này được SIG công bố vào ngày 21/4/2009 với

sự tốc độ truyền tải dữ liệu lên tới 24Mbps. Ngoài ra, phiên bản này giúp các thiết bị tương tác tốt hơn, tăng khả năng kết nối và tiết kiệm năng lượng hơn nhờ chức năng điều khiển năng lượng nâng cao.

Bluetooth 4.0 + LE: SIG công bố phiên bản 4.0 vào ngày 30/6/2010 là sự kết

hợp giữa Classic Bluetooth, Bluetooth high speed và Bluetooth Low Energy . Phiên bản này giúp những thiết bị kết nối với nhau nhanh hơn với công nghệ Bluetooth HS và tiết kiệm năng lượng hơn so với các phiên bản trước bằng công nghệ Bluetooth LE.

Bluetooth 4.1: đây là phiên bản nâng cấp của Bluetooth 4.0, mang đến tốc độ

truyền tải dữ liệu nhanh hơn và giúp các thiết bị di động thông minh dễ dàng kết nối hơn so với trước đây.

Bluetooth 4.2: được cơng vào ngày 2/12/2014 với những đặc tính được cải tiến

25

3.6.5 Chuẩn giao tiếp One – Wire.

Chuẩn giao tiếp 1 dây (1 wire) do hãng Dallas giới thiệu. Trong chuẩn giao tiếp này chỉ cần 1 dây để truyền tín hiệu và làm nguồn ni (nếu khơng tín dây mass). Là chuẩn giao tiếp khơng đồng bộ và bán song công (half-duplex). Trong giao tiếp này tuân theo mối liên hệ chủ tớ một cách chặt chẽ. Trên một bus có thể gắn 1 hoặc nhiều thiết bị slave nhưng chỉ có một master có thể kết nối đến bus này. Bus dữ liệu khi ở trạng thái rãnh (khi khơng có dữ liệu trên đường truyền) phải ở mức cao do vậy bus dữ liệu phải được kéo lên nguồn thông qua một điện trở. Giá trị điện trở này có thể tham khảo trong datasheet của thiết bị/các thiết bị slave.

Hình 3.9: Chuẩn giao tiếp One – Wire. [3]

Để giao tiếp được với vi điều khiển, tín hiệu trên bus 1 wire chia thành các khe thời gian 60 µs. Một bit dữ liệu được truyền trên bus dựa trên khe thời gian (time slots). Các thiết bị slave khác nhau cho phép có thời gian quy định khác nhau. Nhưng quan trọng nhất trong chuẩn giao tiếp này là cần chính xác về thởi gian . Vì vậy để tối ưu đường truyền thì cần một bộ định thời để delay chính xác nhất .

26

Hình 3.10: Giao tiếp One – Wire. [3]

Bốn thao tác hoạt động cơ bản của bus 1 wire là Reset/Presence, gửi bit 1, gửi bit 0, và đọc bit cụ thể là:

Write 1 (gửi bit 1): Master kéo xuống 0 một khoảng A (us) rồi về mức 1 khoảng B (us).

Write 0 (gửi bit 0): Master kéo xuống 0 khoảng C (us) rồi trả về 1 khoảng

D.

Read (Đọc một Bit) : Master kéo xuống 0 khoảng A rồi trả về 1 delay khoảng E rồi đọc giá trị slave gửi về delay F (us).

Restart : Master kéo xuống 0 một khoảng H rồi nhả lên mức 1 sau đó cấu

hình Master là chân In delay I (us) rồi đọc giá trị slave trả về. Nếu bằng 0 thì cho phép giao tiếp, nếu bằng 1 đường truyền lỗi hoặc slave đang bận.

27

CHƯƠNG 4: THIẾT KẾ MƠ HÌNH 4.1 Thiết kế sơ đồ khối hệ thống. 4.1 Thiết kế sơ đồ khối hệ thống.

Hệ thống gồm 7 khối ghép lại với nhau theo nhiều hướng tạo nên một hệ thống hoạt động ổn định được trình bày trong sơ đồ khối sau.

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

Khối nguồn: Cung cấp nguồn cho toàn bộ hoạt động của hệ thống bao gồm:

28

Khối xử lý: 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 Internet: Xây dựng giao diện, 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 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 bằng nút nhấn.

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 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. Hình ảnh thực tế của các khối trong sơ đồ hệ thống được kết nối với nhau.

29

4.2 Khối xử lí.

4.2.1 Nodemcu ESP32.

ESP32 là một series các vi điều khiển trên một vi mạch, năng lượng thấp có hỗ trợ WiFi và dual-mode Bluetooth (Bluetooth chế độ kép). Dòng ESP32 sử dụng bộ vi xử lý Tensilica Xtensa LX6 ở cả hai biến thể lõi kép và lõi đơn, và bao gồm các công tắc antenna tích hợp, RF balun, bộ khuếch đại công suất, bộ khuếch đại thu nhiễu thấp, bộ lọc và module quản lý năng lượng. ESP32 được chế tạo và phát triển bởi Espressif Systems, một công ty Trung Quốc có trụ sở tại Thượng Hải, và được sản xuất bởi TSMC (Taiwan Semiconductor Manufacturing Co., Ltd) bằng cách sử dụng công nghệ 40 nm. ESP32 là sản phẩm kế thừa từ vi điều khiển ESP8266.

ESP32 có thể lập trình giống như arduino hoặc vi điều khiển khác, ngồi ra ESP32 cịn có thể kết nối wifi hoặc internet.

ESP32 có thể được dùng làm module Wifi bên ngoài, sử dụng firmware tập lệnh AT (Attention command) tiêu chuẩn bằng cách kết nối nó với bất kỳ bộ vi điều khiển nào sử dụng UART nối tiếp hoặc trực tiếp làm bộ vi điều khiển hỗ trợ Wifi, bằng cách lập trình một chương trình cơ sở mới sử dụng SDK được cung cấp. Các chân GPIO cho phép IO Analog và Digital, cộng với PWM, SPI, I2C,..

30 Thông số kỹ thuật :

 IC chính: ESP32.

 Bộ xữ lí: ESP32-D0WDQ6.

 Chip nạp và giao tiếp UART: CP2102.

 Chuẩn giao tiếp: UART/GPIO/ADC/DAC/SDIO/PWM/I2C/I2S.

 Bluetooth: Bluetooth 4.2.

 Dãy tần số: 2.4G ~ 2.5G.

 Cấp nguồn: 5VDC MicroUSB hoặc Vin.

 Dòng danh định : 0.5A.

 GIPO giao tiếp mức 3.3VDC.

 Tương thích hồn tồn với trình biên dịch Arduino.

 Kích thước: 48.26 x 25.4 mm.

31

4.2.2 Lý do chọn Nodemcu ESP32.

 Kết nối được với mạng Wi-Fi và Internet.

 Lập trình dễ dàng, ngôn ngữ dễ học, tương tự ngôn ngữ C, C++.

 Giá thành rẻ nhưng đáp ứng đầy đủ những gì người dùng cần thiết

 Dễ bảo quản, sửa chữa và tin cậy .

 Dung lượng đủ để đáp ứng chứa được những chương trình phức tạp.

 Giao tiếp được các thiết bị thông minh khác: máy tính, điện thoại, nối mạng.

 Việc gắn các cảm biến hay module cho Nodemcu ESP32 dễ dàng bằng cách gắn phía trên board tạo thành tầng dễ dàng và gọn gàng.

4.2.3 Phần mềm lập trình Nodemcu ESP32.

Phần mềm sử dụng là phần mềm Arduino IDE. IDE là phần mềm hỗ trợ phát triển tích hợp, viết tắt của từ (Integrated Development Environment) dùng để soạn thảo, biên dịch code và nạp chương trình cho board mạch Arduino,ESP32, ESP 8266,..

32

4.3 Khối cảm biến.

Yêu cầu của khối cảm biến: khối này sẽ có nhiệm vụ thu thập các thơng số của môi trường để cung cấp chúng cho khối xử lý trung tâm có thơng số để từ đó có những xử lý, điều chỉnh để phù hợp nhất với sự phát triển và sinh trưởng của các cây trồng trong khu vườn. Ở đề tài này, các thơng số mà nhóm quan tâm tới là thơng số về nhiệt độ môi trường, độ ẩm đất. Ứng với mỗi thơng số có rất nhiều sự lựa chọn trên thị trường với nhiều mức giá cũng như tính năng khác nhau. Ví dụ như với u cầu đo nhiệt độ thì có các sự lựa chọn như: LM35, DS18B20, DHT11, DHT22,.. hay các cảm biến trong công nghiệp với dải nhiệt độ đo rất cao, độ chính xác rất lớn.

4.3.1 Cảm biến nhiệt độ.

Cảm biến DHT11 là cảm biến có chức năng đo nhiệt độ và độ ẩm. Cảm biến DHT11 sử dụng chuẩn giao tiếp 1 dây (giao tiếp digital 1-wire truyền dữ liệu duy nhất). Cảm biến được tích hợp bộ xử lý tín hiệu giúp dữ liệu nhận về được chính xác mà khơng cần phải qua bất kỳ tính tốn.

Hình 4.6 : Cảm biến DTH11. [12]

Thông số kỹ thuật :

 Điện áp hoạt động : 3V - 5V (DC).

 Dải độ ẩm hoạt động : 20% - 90% RH, sai số ±5%RH.

 Dải nhiệt độ hoạt động : 0°C ~ 50°C, sai số ±2°C.

 Tần số lấy mẫu tối đa: 1 Hz.

33

Hình 4.7 : Kết nối DHT11 với Nodemcu ESP 32.

Cách thức giao tiếp của cảm biến DHT11 và Arduino:

Cảm biến DHT11 sử dụng chuẩn giao tiếp OneWire, giao tiếp qua ESP32 thơng qua 1 dây tín hiệu duy nhất. Khi đó thiết bị là ESP32 muốn giao tiếp với DHT sẽ tạo ra các khe thời gian khác nhau. Dựa vào thời gian và các mức điện áp tương ứng với từng khoảng thời gian đó mà DHT sẽ thực hiện các lệnh tương ứng cần thực hiện. Mục đích chọn DHT11:

 Dễ kết nối với khối nguồn .

 Chi phí rẻ phù hợp với kinh tế.

 Tuổi thọ và độ bền cao.

 Đáp ứng được vấn đề thu nhập thông về nhiệt độ ngồi mơi trường.

 Phù hợp với mục tiêu của đề tài và mô hinh.

4.3.2 Cảm biến độ ẩm đất.

Cảm biến độ ẩm đất dùng để đo độ ẩm trong đất. Hai đầu đo của cảm biến được cắm vào đất để phát hiện độ ẩm. Dùng dây nối giữa cảm biến và module chuyển đổi. Thông tin về độ ẩm đất sẽ được đọc về và gửi tới module chuyển đổi.

34

Module chuyển đổi có cấu tạo chính gồm một IC so sánh LM393, một biến trở, 4 điện trở dán 100 ohm và 2 tụ dán. Biến trở có chức năng định ngưỡng so sánh với tín hiệu độ ẩm đất đọc về từ cảm biến. Ngưỡng so sánh và tín hiệu cảm biến sẽ là 2 đầu vào của IC so sánh LM393. Khi độ ẩm thấp hơn ngưỡng định trước, ngõ ra của IC là mức cao (1), ngược lại là mức thấp (0).

Hình 4.8 : Cảm biến độ ẩm đất. [13]

Thông số kỹ thuật :

 Điện áp hoạt động: 3.3V-5V.

 Độ phân giải: 10bit.

 IC so sánh : LM393.

 D0 : đầu ra tín hiệu số ( 0 và 1 ).

 AO: Đầu ra Analog (Tín hiệu tương tự).

35

Hình 4.9 : Kết nối cảm biến độ ẩm đất với Nodemcu ESP32.

Cảm biến độ ẩm đất:

Cảm biến độ ẩm đất dùng để đo độ ẩm trong đất. Hai đầu của cảm biến được cắm vào đất để phát hiện độ ẩm. Dùng dây nối giữa cảm biến và module chuyển đổi. Thông tin về độ ẩm đất sẽ được đọc về và gửi tới module chuyển đổi.

Cách thức giao tiếp của cảm biến độ ẩm đât và ESP32:

Cảm biến độ ẩm đất khi hoạt động sẽ trả về một giá trị Analog tương ứng với độ ẩm của từng loại đất đang đo, giá trị này sẽ được quy đổi thành giá trị số trải dài trong khoảng từ 0 đến 1023 tương ứng với 10 bit

Chân dữ liệu A0 sẽ được kết nối với ESP32 và từ giá trị từ 0 đến 1023 này, ESP32 sẽ quy đổi nó thành các giá trị % tương ứng với giá trị độ ẩm đất hiện tại đo được.

Mục đích chọn cảm biến độ ẩm đất:

 Đáp ứng được vấn đề thu nhập thơng số độ ẩm đất ngồi mơi trường.

36

 Chi phí rẻ phù hợp với kinh tế.

 Dễ kết nối với khối nguồn.

 Phù hợp với mục tiêu của đề tài và mơ hình.

4.3.3 Cảm biến cường độ ánh sáng.

Cảm biến cường độ ánh sáng là một thiết bị thụ động chuyển đổi “năng lượng ánh sáng” này cho dù có thể nhìn thấy hoặc trong các phần hồng ngoại của quang phổ thành tín hiệu điện.

Cảm biến cường độ ánh sáng là thiết bị cảm biến thơng minh có khả năng nhận biết các biến đổi của môi trường thông qua mắt cảm biến để kịp thời điều chỉnh ánh sáng cho phù hợp. Cảm biến này nhận biết ánh sáng và điều chỉnh thay đổi dựa trên các đi-ốt quang học.

Cảm biến cường độ ánh sáng thường được gọi là “Thiết bị quang điện” hoặc “Cảm biến ảnh” bởi vì năng lượng ánh sáng chuyển đổi (photon) thành điện (electron).

Hình 4.10: Cảm biến cường độ ánh sáng. [14]

Thông số kỹ thuật :

 Điện áp hoạt động : 3.3V – 5V DC.

37

 Kích thước : 36mm x 16mm

 Xuất tín hiệu Digital.

 IC so sánh : LM393. Mục đích chọn cảm biến ánh sáng:

 Dễ kết nối với khối nguồn.

 Chi phí rẻ phù hợp với kinh tế.

 Thiết bị có tính nhạy bén cao với mơi trường ánh sáng xung quanh.

 Tuổi thọ và độ bền cao.

Hình 4.11: Kết nối cảm biến ánh sáng với Nodemcu ESP32.

Cách thức giao tiếp của cảm biến ánh sáng và ESP32:

Cảm biến ánh sáng giao tiếp với ESP32 thông qua chuẩn giao tiếp I2C.Thông qua chân VO kết nối với chân VP của ESP32. Tín hiệu sẽ được gửi thơng qua chân VP, khi tín hiệu điều khiển gọi vào cảm biến ánh sáng, nó sẽ trả về cho thiết bị địa chỉ được quy định của nó thường là 0X23 hoặc 0X5C và địa chỉ này sẽ không thay đổi trong suốt q trình làm việc với ESP32 để qua đó thiết bị có thể nhận biết được chính xác đối tượng nó đang tiến hành giao tiếp.

38

4.5 Khối điều khiển và giám sát. 4.5.1 Nút nhấn. 4.5.1 Nút nhấn.

Nút nhấn (nút ấn) là một loại khí cụ dùng để đóng ngắt từ xa các thiết bị điện, máy móc hoặc một số loại q trình trong điều khiển.

Nút nhấn (nút ấn) thường đặt trên bảng điều khiển, ở tủ điện, trên hộp nút

Một phần của tài liệu Thiết kế và thi công hệ thống IOT chăm sóc vườn cây dùng pin năng lượng mặt trời (Trang 32)

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

(98 trang)