Trạm thu thập dữ liệu khu vực

Một phần của tài liệu THIẾT kế hệ THỐNG điều KHIỂN và GIÁM sát PHÂN tán vườn THÔNG MINH sử DỤNG VI điều KHIỂN THÔNG QUA MẠNG LORA và INTERNET (Trang 72 - 79)

CHƯƠNG 3 : MƠ HÌNH VƯỜN THÔNG MINH PHÂN TÁN TRONG ĐỀ TÀI

4.2. Trạm thu thập dữ liệu khu vực

Tương tự như khi thiết kế trạm điều khiển trung tâm, trạm thu thập dữ liệu khu vực sử dụng dụng Arduino làm bộ xử lý chính. Arduino kết nối với Module Lora để truyền nhận dữ liệu với trạm điều khiển trung tâm, đồng thời cũng kết nối với các Module cảm biến để thu thập dữ liệu tại khu vực cần thiết. Trạm khu vực cũng cần thiết kế phần cứng và phần mềm.

4.2.1. Thiết kế phần cứng

Arduino kết nối với Module Lora thơng qua chuẩn truyền thơng SPI. Vì ở trạm khu vực, nhóm sử dụng cả hai loại vi điều khiển là Arduino Uno và Arduino Nano, vì vậy khi thiết kế phần cứng, nhóm sẽ thiết kế mạch cho cả hai loại vi điều khiển này. Sơ đồ mạch điện tử trạm thu thập dữ liệu khu vực được trình bày như hình 4.10 và

Hình 4. 10: Sơ đồ mạch điều khiển chính trạm khu vực sử dụng Arduino Uno Trong sơ đồ mạch điện trên, Arduino cịn 5 chân thừa đó là A2, A3, A4, A5 và Trong sơ đồ mạch điện trên, Arduino cịn 5 chân thừa đó là A2, A3, A4, A5 và D2. Các chân này có thể sử dụng để mở rộng mạch điện cho cơ cấu chấp hành. Hoặc có thể sử dụng để mở rộng đầu vào cảm biến, ví dụ cảm biến cường độ ánh sáng, cảm biến mưa, ...

Hình 4. 11: Sơ đồ mạch điều khiển chính trạm khu vực sử dụng Arduino Nano Tương tự như mạch điều khiển sử dụng Arduino Uno, mạch điều khiển sử dụng Tương tự như mạch điều khiển sử dụng Arduino Uno, mạch điều khiển sử dụng Arduino Nano cũng có các chân thừa là: A4, A5, A7, D3, D8, D9. Ta có thể sử dụng

A4 và A5 để mở rộng đầu ra hoặc đầu vào I2C. Các chân cịn lại có thể mở rộng đầu vào cảm biến. Việc mở rộng đầu ra, nhóm em sử dụng IC 74HC595 để mở rộng đầu cho cơ cấu chấp hành. Sơ đồ mạch cơ cấu chấp hành điều khiển các thiết bị được mơ tả như hình 4.12:

Hình 4. 12: Sơ đồ mạch điện cơ cấu chấp hành của các khu vực trung tâm

Sau khi đã thiết kế thành công sơ đồ mạch điện phần cứng của các trạm khu, ta vẽ mạch in để có thể tiến hành thi cơng phần cứng. Mạch in phần cứng của các trạm khu vực được trình bày như hình 4.13 và hình 4.14:

Hình 4. 14: Sơ đồ mạch in sử dụng Arduino Nano

4.2.2. Lưu đồ thuật tốn

Lưu đồ thuật tốn chương trình chính của trạm thu thập dữ liệu khu vực được trình bày trong hình 4.15.

Khi trạm khu vực bắt đầu hoạt động, Arduino bắt đầu thực hiện việc kết nối vào Module Lora. Việc kết nối với Lora tương tự như ESP8266 kết nối Lora. Sau khi đã kết nối Lora thành công, các cảm biến sẽ được khởi tạo. Sau khi hồn tất các cơng việc này, Arduino tiếp tục thực hiện một vịng lặp vơ hạn.

Hình 4. 16: Lưu đồ thuật tốn nhận dữ liệu Lora của trạm khu vực

Trong vòng lặp này, việc đầu tiên mà Arduino sẽ thực hiện đó là nhận dữ liệu từ mạng Lora. Lưu đồ thuật toán nhận dữ liệu Lora của trạm thu thập dữ liệu khu vực được trình bày như Hình 4.16. Theo như hình, Arduino sẽ thực hiện việc kiểm tra có hay khơng tín hiệu gửi dữ liệu tới đây, nếu khơng có tín hiệu thì Arduino sẽ trực tiếp kết thúc hàm nhận dữ liệu Lora, nhưng nếu có Arduino sẽ thực hiện việc đọc dữ liệu sau tín hiệu đầu tiên và lưu vào một biến tồn cục để xử lý. Sau khi đã có dữ liệu nhận về, dữ liệu này sẽ được mã hóa thành dạng JSON, sau đó sẽ được xử lý. Arduino sẽ kiểm tra “ID” trong chuỗi tín hiệu gửi đến, nếu ID có giá trị là 1, 2, 3 hoặc 4, Arduino sẽ lưu các giá trị điều khiển thiết bị được mang theo trong chuỗi dữ liệu gửi đến để

Arduino xử lý trong hàm Control Device. Ngược lại nếu như “ID” là 11, 12, 13, 14 thì Arduino sẽ tạo một chuỗi JSON chứa các giá trị dữ liệu nhiệt độ, độ ẩm khơng khí và độ ẩm đất để gửi sang trạm điều khiển trung tâm xử lý. Các giá trị ID là 1, 2, 3, 4 và 11, 12, 13, 14 tương đương với giá trị địa chỉ được nhóm cài đặt cho các node Lora để dễ xử lý tín hiệu. Giá trị 1 và 11 là địa chỉ của Node Lora trạm khu vực thứ nhất, tương tự, 2 và 12, 3 và 13, 4 và 14 là địa chỉ của các node Lora của trạm khu vực 2, 3, 4.

Khi đã thực hiện xong hàm nhận dữ liệu Lora, việc tiếp theo mà Arduino sẽ thực hiện trong vịng lặp vơ hạn là hàm đọc giá trị cảm biến. Việc đọc cảm biến được thực hiện 20 giây một lần. Nếu đã đọc được giá trị của các cảm biến, các giá trị này sẽ được lưu lại để khi có tín hiệu u cầu sẽ gửi qua trạm điều khiển trung tâm.

Khi đã hoàn thành đọc giá trị cảm biến, việc cuối cùng mà Arduino sẽ phải thực hiện đó là hàm điều khiển thiết bị (Control Device). Các tín hiệu điều khiển các thiết bị ở trạm khu vực sẽ được trạm điều khiển trung tâm gửi tới từng trạm khu vực. Mặt khác, tín hiệu điều khiển cịn có thể nhận được từ các nút nhấn tại các trạm khu vực. Khi nhấn nút điều khiển tại trạm khu vực, trạm khu vực sẽ gửi dữ liệu tới trạm trung tâm để cập nhật tín hiệu điều khiển lên CSDL. Khi trạm trung tâm đã cập nhật thành cơng, trạm trung tâm sẽ gửi tín hiệu trả về trạm khu vực thông báo rằng đã cập nhật thành công. Khi trạm khu vực đã nhận được hiệu trả về, trạng thái của thiết bị tương ứng với nút nhấn được nhấn sẽ thay đổi.

Một số hình ảnh thực tế về mạch điện tử của các trạm thu thập dữ liệu khu vực trong đồ án của nhóm ở Hình 4.17 và hình 4.18:

Một phần của tài liệu THIẾT kế hệ THỐNG điều KHIỂN và GIÁM sát PHÂN tán vườn THÔNG MINH sử DỤNG VI điều KHIỂN THÔNG QUA MẠNG LORA và INTERNET (Trang 72 - 79)

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

(162 trang)