67
Bước 3: Nhập thông tin và làm theo hướng dẫn của Firebase để tạo Project Nhập “Project name” và nhấn “Continue”.
Giao diện tên Firebase muốn khởi tạo được hiển thị như Hình 3.53
Hình 3. 53 Nhập thơng tin cho Project Firebase mới
68
Chọn vào “Create project” chờ cho Firebase tạo Project Tùy chọn Configure Google Analytics như Hình 3.54
Hình 3. 54 Tùy chọn Configure Google Analytics
Như vậy việc tạo Project FireBase đã được hồn thành và có thể đưa vào sử dụng. Giao diện trên khi hồn tất việc tạo Firebase như Hình 3.55
Hình 3. 55 Giao diện Project Firebase khi hồn tất
69
Bước 4: Tạo Realtime Database trong Firebase
Chọn Realtime Database để tạo1một1cơ1sở1dữ1liệu Chọn vào “Create Databse” để hoàn tất
Trang để tạo Realtime Database trên Firebase như Hình 3.56
Hình 3. 56 Tạo Realtime Database trên Firebase
Hình 3. 57 Chọn vị trí lưu cơ sở dữ liệu
70
Tùy vào mục đích sử dụng mà lựa chọn chế độ cho Project:
START in locked mode: Dữ liệu của bạn sẽ đặt mặc định ở chế độ riêng tư. Quyền truy cập đọc/ghi của máy khách sẽ chỉ được cấp theo các quy định bảo mật của bạn Trang Set up database thiết lập “START in locked mode” như Hình 4.63
START in test mode: Dữ liệu của bạn sẽ được mở để cho phép truy cập nhanh. Tuy nhiên bạn phải cập nhật quy luật của mình trong vịng 30 ngày để cho phép đọc/ghi dài hạn.
Trang Set up database thiết lập “Start in test mode” như Hình 3.58
Hình 3. 58 Chế độ “START in test mode”
71
Realtime database khởi tạo và thiết lập được hiển thị như Hình 3.59
Hình 3. 59 Tạo và thiết lập Realtime Database trên Firebase
3.8.2. Lập trình Node-RED liên kết cơ sở dữ liệu Firebase
Node-RED là một công cụ phát triển dựa trên nền tảng Node.js, được tích hợp trên thanh cơng cụ Programming nhằm tạo một Webserver mà bạn có thể cấu hình tùy chỉnh các chức năng kéo thả các khối lệnh trên trình duyệt Web. Một ứng dụng Node-Red hoạt động theo mơ hình “luồng” dữ liệu. Một “luồng” bao gồm các khối lệnh (gọi là Node) liên kết nhau theo dạng Input (dữ liệu vào) → Operation (xử lý) → Output (trả kết quả). Truy cập vào giao diện Node-Red trên Control BMS Software
Bước 1: Đăng nhập vào phần mềm Control BMS Software
Bước 2: Đầu tiên ở trang giao diện chính của phần mềm BMS, chọn mục “System” rồi chọn “Programming” để hiển thị trang lập trình Node-Red.
Truy cập vào trang lập trình Node-Red trên phần mềm Control BMS Software được hiển thị như Hình 3.60
72
Hình 3. 60 Thanh cơng cụ Programming
Để tiến hành lập trình Node-Red ghi dữ liệu từ các điểm dữ liệu trên phần mềm Control BMS Software lên dữ liệu Firebase cần có các khối như sau:
Khối inject: Khối bắt đầu của một luồng dữ liệu để cài đặt thời gian cập nhật dữ liệu lên cơ sở dữ liệu Firebase khi điểm dữ liệu trên phần mềm Control BMS Software có thay đổi.
Khối inject như Hình 3.61
Hình 3. 61 Khối inject
Khối http request: Đọc hoặc ghi giá trị từ điểm dữ liệu trên phần mềm Control BMS Software.
Khối http requets như Hình 3.62
Hình 3. 62 Khối http request
73
Khối function: Khối chức năng dùng để xử lý giá trị đọc về từ khối http request. Chức năng của khối sẽ khác nhau phụ thuộc vào code lập trình trong từng khối.
Khối function như Hình 3.63
Hình 3. 63 Khối function
Khối Add Firebase: Khối gửi dữ liệu lên lưu trữ Firebase như Hình 3.64
Hình 3. 64 Khối Add Firebase
Khối filter: Chỉ xuất dữ liệu khi có sự cập nhật như Hình 3.65
Hình 3. 65 Khối filter
74
3.8.3. Thiết lập giám sát và vận hành giữa Node-RED và Firebase
a. Node-RED nhận lệnh điều khiển từ Firebase
Hình 3. 66 Sơ đồ flow chương trình nhận lệnh điều khiển từ Firebase
Cấu hình cho các khối lập trình Node-Red nhận tín hiệu điều khiển từ Firebase được giải thích theo các bước sau:
Bước 1: Thiết lặp chu kỳ vòng lặp cho “Khối inject”
Chọn “Khối inject” và thiết lập thời gian cập nhật dữ liệu từ point trên BCU ghi lên lưu trữ Firebase.
Có thể dùng 1 hoặc nhiều “Khối inject” để quét giá trị của một Point hoặc nhiều Points tùy theo thời gian muốn quét dữ liệu.
75
Các thơng tin cấu hình cho Khối inject được thể hiện như Hình 3.67
Hình 3. 67 Cấu hình khối injectName: Đặt tên cho khối inject (Thời gian quét) Name: Đặt tên cho khối inject (Thời gian quét)
Repeat: Cài đặt chức năng lặp lại và thời gian (Interval) Every: Cài đặt chu kỳ lặp theo giờ, phút, giây (1s)
76
Bước 2: Thiết lập địa chỉ lưu trữ dữ liệu Firebase cho “Khối Add Firebase”
Hình 3. 68 Cấu hình khối Add Firebase
Firebase: Link liên kết đến cơ sở dữ liệu Firebase (https://lsig5a-1-default- rtdb.firebaseio.com/ )
Child Path: Nơi dữ liệu được ghi trong Firebase
Method: Phương thức truyền dữ liệu (phương thức “get” để lấy dữ liệu từ Firebase)
77
Bước 3: Lựa chọn phương thức cập nhật dữ liệu thông qua “Khối filter”
Chọn Mode: block unless value changes – Chỉ cho dữ liệu đi qua khi có sự thay đổi giá trị của biến payload.
Hình 3. 69 Cấu hình khối filter
78
Bước 4: Lựa chọn phương thức xử lý dữ liệu qua “Khối http request”
Hình 3. 70 Cấu hình khối http request
Method: Phương pháp lấy dữ liệu từ các Point list. Ở đây, ta chọn Method “GET” để lấy dữ liệu.
URL: Đường link liên kết các Point dữ liệu đã được tạo trên BCU với ID là địa chỉ các Point
http://controlbms:3000/points/update_points?386d46aef0fe7606efe497d4={{{payl oad}}}
79
Trong đó:
Update_points: Cú pháp cập nhật giá trị vào Point Payload: biến lưu giá trị mặc định của Node-RED
b. Node-RED đưa dữ liệu từ BCU lên Firebase
Hình 3. 71 Sơ đồ flow chương trình đưa dữ liệu lên Firebase
80
Cấu hình cho các khối lập trình Node-Red ghi dữ liệu lên Firebase được thực hiện theo các bước:
Bước 1: Thiết lập “Khối inject” tương tự như Bước 1 mục 3.8.3
Bước 2: Thiết lập “Khối http request” tương tự như Bước 4 mục 3.8.3 Trong đó:
Method: GET
URL:http://controlbms:3000/points/point_value?point_id=386d45a383626006efa1
0637
Trong đó: points/point_value là cú pháp lấy giá trị từ Point
Payload: Kiểu vận chuyển dữ liệu giữa các khối (để mặc định là Ignore) Return: Kiểu dữ liệu trả về (kiểu chuỗi/ kiểu nhị phân/ chuỗi Json). Name: Đặt tên cho khối http request
Bước 3: Lựa chọn phương thức cập nhật dữ liệu thông qua “Khối filter” tương tự như Bước 3 mục 3.8.3
Bước 4: Đưa dữ liệu lên Firebase thông qua “Khối Add Firebase” tương tự như Bước 2 mục 3.8.3
Method: “SET” để cập nhật dữ liệu lên Firebase
c. Node-RED điều khiển biến tần theo tín hiệu cảm biến AMT1001
Hình 3. 72 Sơ đồ flow chương trình điều khiển theo cảm biến
Bước 1: Cài đặt thời gian lặp lại quá trình đẩy dữ liệu lên Firebase qua “Khối inject” như Bước 1 mục 3.8.3
Bước 2: Thiết lập cấu hình đọc dữ liệu của các Point cho “Khối http request” như Bước 4 mục 3.8.3
81
Method: “GET”.
URL: Đường link liên kết các Point dữ liệu đã được tạo trên BCU với ID là địa chỉ các Point.
http://controlbms:3000/points/get_points?386d44ae83626006efa10624&386d45a3836260 06efa10637
Trong đó:
Points/get_points là cú pháp lấy giá trị từ 2 Point giá trị nhiệt độ của cảm biến và chế độ chạy.
Bước 3: Lập trình điều kiện và chế độ vận hành cho biến tần cũng như động cơ qua “Khối function”
Hình 3. 73 Cấu hình khối function
82
Function: Chương trình lập trình Lưu đồ điều khiển theo cảm biến
Hình 3. 74 Lưu đồ điều khiển theo cảm biến
83
Hàm Function được viết như sau: const low1 = []; for(i = 0; i < 2; i++) { low1[i] = Number(msg.payload.data[i].point_value) msg.payload1 = low1[0]; msg.payload2 = low1[1]; } var dataraw;
if ((msg.payload1 < 52.4)&(msg.payload2 == 2)) dataraw = 0; if ((msg.payload1 > 52.5)&(msg.payload2 == 2)) dataraw = 2; if (msg.payload2 == 1) dataraw = 0; msg.payload= dataraw;
return msg;
Giải thích hàm Function:
Vịng lặp for: Đọc và lưu giá trị từ 2 point nhiệt độ và mode vào mảng low1. Biến
msg.payload1 lưu giá trị nhiệt độ và biến msg.payload2 lưu giá trị mode.
Biến dataraw được khởi tạo để quy định chạy/ dừng cho biến tần: chạy thuận “2” hoặc dừng “0”. Giá trị của dataraw được lưu vào msg.payload là biến lưu giá trị cập nhật vào point BCU.
Câu lệnh if: Nếu giá trị nhiệt độ lớn hơn giá trị cài đặt và mode đang ở chế độ 2 (biến tần vận hành phụ thuộc vào cảm biến) thì biến dataraw = 2 tương ứng với động cơ chạy. Ngược lại, nếu giá trị nhiệt độ nhỏ hơn giá trị cài đặt hoặc mode đang ở chế độ 1 (biến tần vận hành theo lệnh người điều khiển) thì biến datadraw
= 0 tương ứng động cơ dừng.
Bước 4: Lựa chọn phương thức cập nhật dữ liệu thông qua “Khối filter” tương tự như Bước 3 mục 3.8.3
Bước 5: Đọc cập nhật giá trị thông qua “Khối http request” tương tự Bước 4 mục 3.8.3 84
URL:
http://controlbms:3000/points/update_points?386d46aef0fe7606efe497d4={{{payload}}}
Trong đó:
Update_points là cú pháp ghi giá trị từ biến payload vào point điều khiển chạy dừng.
3.9. Thiết kế giao diện Website
3.9.1. Xây dựng lưu đồ thiết kế và bố cục giao diện
a. Quy trình thiết kế giao diện Website như Hình 3.75
Hình 3. 75 Quy trình thiết kế giao diện Website
85
b. Xây dựng bố cục cho Website như Hình 3.76
Hình 3. 76 Bố cục trang Website
3.9.2. Thiết kế giao diện trên phần mềm Visual Studio Code
a. Tạo dự án trên phần mềm Visual Studio Code: Tạo thư mục chứa File của dự án trên máy tính
Tạo các File index.html, main.css, main.js trong cùng thư mục để làm các File chính cho việc lập trình Web.
86
Hình 3. 77 Hình giao diện phần mềm Visual Studio CodeÁp dụng các ngơn ngữ lập trình thơng dụng như HTML,CSS để tạo trang web. Áp dụng các ngơn ngữ lập trình thơng dụng như HTML,CSS để tạo trang web.
Chạy trang Web trên trình duyệt bằng cách nhấn phải chuột → Open with Live Server.
Hình 3. 78 Thao tác chạy trang Web trên trình duyệt
87
Giao diện Website khi chạy trên trình duyệt hiển thị như Hình 3.79
Hình 3. 79 Giao diện Website
b. Liên kết dữ liệu giữa Website và Firebase
Chọn vào “Project Overview”
Chọn vào biểu tượng Web (</>) để khởi chạy quy trình thiết lập
88
Hình 3. 80 Hướng dẫn liên kết Web
Hình 3. 81 Đăng ký tên Web
89
Nhấn vào “Continue to console” để tiếp tục sử dụng Firebase
Hình 3. 82 Thủ tục hồn tất đăng ký Web
Bước 3: Thực hiện sao chép Firebase SDK và dán vào Code Website Chọn “Project overview” và chọn “Project settings”
Ở tab General phần “SDK setup and configuration” chọn npm để hiển thị Code liên kết.
90
Hình 3. 83 Sao chép phần “SDK setup and configuration”
Sao chép Code liên kết dữ liệu và dán vào thẻ “script” vào File Website hiển thị dữ liệu từ Firebase.
Hình 3. 84 Dán Code liên kết vào thẻ “script”
91
Khai báo khởi tạo các giao thức giao tiếp với Firebase
Hình 3. 85 Khai báo các giao tiếp với Firebase
Như vậy việc liên kết dữ liệu giữa Firebase và Website đã được hồn thành. Việc cịn lại ta sử dụng những hàm như on(), once(), get(), push(), update(),... theo cấu trúc firebase đã quy định để đọc và gửi dữ liệu giữa web và firebase.
Hình 3. 86 Sử dụng hàm on() để đọc dữ liệu từ Firebase
Hình 3. 87 Sử dụng hàm set() để ghi dữ liệu lên Firebase
3.9.3. Đăng ký và cập nhật Web Local lên Web Hosting
Web Hosting là một dịch vụ online giúp tải lên Website hoặc ứng dụng Web lên Internet. Khi đăng ký dịch vụ Hosting, tức là thuê một chỗ đặt trên server chứa tất cả các File và dữ liệu cần thiết để Website chạy được. Để người khác cũng truy cập được vào Website của mình thay vì chỉ chạy được trong Localhost của bản thân, ta sẽ đăng ký Hosting và tải Website đó lên mạng.
92
Các bước đăng ký Hosting trên freevnn.com
Bước 1: Tạo tài khoản trên freevnn.com
Truy cập freevnn.com và chọn phần “Đăng ký”
Hình 3. 88 Truy cập trang và tiến hành đăng ký HostingNhập tên miền, mật khẩu, email và mã xác nhận rồi ấn “Đăng ký” Nhập tên miền, mật khẩu, email và mã xác nhận rồi ấn “Đăng ký”
Hình 3. 89 Thủ tục đăng ký Hosting
93
Vào email để xác nhận và active tài khoản
Sau khi kích hoạt tài khoản xong, bên freevnn sẽ cung cấp các thông tin như FTP hostname, FTP username, password,… phục vụ cho việc tải lên Website.
Bước 2: Đăng ký Hosting trên Cpanel
Sử dụng username và password mà freevnn cung cấp để đăng nhập trên trang cpanel.freevnn.com
Hình 3. 90 Đăng nhập tài khoản trên trang cpanel.freevnn.com
Hình 3. 91 Giao diện khi đăng nhập thành công
94
Bước 3: Upload Website bằng phần mềm FileZilla Client Phần Host nhập ftp.freevnn.com
Username và Password giống như freevnn đã cung cấp Port nhập 21, nhấn Quickconnect
Hình 3. 92 Thư mục chứa File của Website được hiển thịUpload tất cả các File của Website vào thư mục htdocs Upload tất cả các File của Website vào thư mục htdocs
Hình 3. 93 Upload File của Website vào thư mục htdocs
Như vậy việc tải lên Website đã hoàn thành, người dùng có thể truy cập vào trang web online theo địa chỉ đã đăng ký: http://van1911.freevnn.com
95
CHƯƠNG 4: VẬN HÀNH HỆ THỐNG – KẾT QUẢ
4.1. Vận hành biến tần trực tiếp trên Panel
Khi điều khiển biến tần qua giao tiếp Modbus RS485, cần lưu ý các thông số được cài đặt như sau:
Chế độ chạy “drv”: 3 Cài đặt tần số “frq”: 7
Các thông số được cài đặt như Hình 4.1, 4.2, 4.3 và 4.4
Hình 4. 1 Thơng số “drv”
Hình 4. 2 Cài đặt thơng số cho “drv”
96
Hình 4. 3 Thơng số “frq”
Hình 4. 4 Cài đặt thông số cho “frq”
Để vận hành biến tần trực tiếp, các thông số “drv”, “frq”được cài đặt về mặc định “drv” = 0: biến tần on/off qua nút nhấn trên Panel
“frq” = 0: cài đặt tần số qua nút nhấn trên Panel
97
4.2. Giám sát và vận hành hệ thống trên phần mềm Control BMS Software
Lưu đồ giải thuật và giám sát trên phần mềm Control BMS Software như Hình 4.5
Hình 4. 5 Lưu đồ giải thuật giám sát và vận hành biến tần trên Control BMS SoftwareĐể giám sát và vận hành trên phần mềm Control BMS Software, người dùng tiến hành Để giám sát và vận hành trên phần mềm Control BMS Software, người dùng tiến hành theo các bước:
Bước 1: Cấp nguồn cho BCU, DDC cho hệ thống; kết nối các thiết bị và kết nối BCU với máy tính
Có 2 cách kết nối BCU với máy tính:
Kết nối trực tiếp BCU với máy tính qua cáp Ethernet (địa chỉ IP của máy tính phải cùng lớp với địa chỉ IP của BCU)
Kết nối gián tiếp thông qua Router Wifi (địa chỉ IP của BCU phải cùng lớp với địa chỉ IP của Router)
98
Bước 2: Truy cập địa chỉ 192.168.1.69 trên trình duyệt và sử dụng tài khoản admin để đăng nhập
Khi đăng nhập thành công giao diện được thiết lập sẵn sẽ hiển thị như Hình 4.6
Hình 4. 6 Giao diện khi đăng nhập thành công
Bước 3: Chọn vào “BIẾN TẦN LS” để vào giao diện giám sát và vận hành biến tần. Giao diện giám sát gồm có các thơng số như: tần số, trạng thái chạy/dừng, thời gian tăng/giảm tốc, điện áp ra, dòng điện ra
Giao diện giúp0người0dùng0có0cái0nhìn0tổng quan về các thơng số khi vận hành và giám sát trạng thái của hệ thống.
99
Giao diện giám sát và điều khiển như Hình 4.7
Hình 4. 7 Giao diện giám sát và vận hành
Bước 4: Vận hành biến tần
Cài đặt tần số: Chọn vào “Set Frequency” trên giao diện và nhập tần số rồi ấn “Save Changes”.