Xem mẫu
- Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2021)
Thiết Kế Hệ Thống Giám Sát Và Điều Khiển
Trạm Thu Phát Sóng Di Động (BTS) Theo Mô
Hình IoT
Hồ Như Tuấn1, Nguyễn Tiến Đạt2, Phan Vũ Huỳnh Tuấn2, Thái Hồng Hải2, Lê Đức Hùng2*
(1)
Viễn thông Tiền Giang (VNPT Tiền Giang)
(2)
Khoa Điện tử - Viễn Thông, Trường Đại học Khoa học Tự nhiên – ĐHQG TP.HCM
(*)
Email: ldhung@hcmus.edu.vn
Abstract—Bài báo trình bày kết quả xây dựng và thực hiện công việc tính toán các thông số từ cảm biến dòng điện,
thi hệ thống giám sát – điều khiển hệ thống máy lạnh tại điện thế, nhiệt độ và phát hiện trạng thái hoạt động của máy
trạm BTS theo thời gian thực. Hệ thống được xây dựng theo phát điện. Mô-đun thu phát Wifi ESP32 sẽ thực hiện công việc
mô hình IoT, mỗi node trong hệ thống được thiết kế sử dụng giao tiếp với máy chủ quản lý của hệ thống, truyền các dữ liệu
STM32 để tính toán và đo thông số về dòng điện (sai số ± được tính toán từ vi điều khiển STM32 đến máy chủ, và nhận
0.002A), điện thế (sai số ±15V khi có điện 220V chạy qua các lệnh điều khiển từ máy chủ đến Node.
cảm biến, sai số +0.15V khi không có điện chạy qua cảm
biến) và trạng thái hoạt động của máy lạnh, nhiệt độ môi
trường (sai số ±0.0625oC) tại trạm BTS. Dựa vào các thông
số đó, thiết bị có thể giám sát tình trạng hoạt động của máy
lạnh thông qua các điều kiện về thông số đo được. Bên cạnh
đó, thiết bị sử dụng bộ mã hóa AES-128 được triển khai trên
mô-đun thu phát Wifi ESP32 để mã hóa các dữ liệu được
lưu trữ tại Flash Memory của vi điều khiển bao gồm thông
tin mạng Wifi, trạng thái kết nối của thiết bị. Ngoài ra, thiết
bị sẽ được kết hợp với các Blynk API (mã nguồn mở) để
giao tiếp truyền/nhận dữ liệu về dòng điện, điện thế, trạng
thái hoạt động, nhiệt độ, điều khiển thiết bị, cảnh báo đến
máy chủ. Các thông số này sẽ được người giám sát trạm
BTS theo dõi thông qua ứng dụng trên điện thoại di động.
Hình 1. Mô hình hệ thống giám sát trạm BTS dựa trên IoT.
Keywords- TEE, Base Transceiver Station (BTS),
Advanced Encryption Standard – 128 (AES-128), Blynk IoT
Sau khi máy chủ quản lý tập trung nhận các dữ liệu về hệ
Platform, Internet of Things.
thống làm mát, dựa vào DeviceID của từng Node, máy chủ sẽ
I. GIỚI THIỆU
cung cấp Restful API tương ứng với từng Node, khi đó giám
Trong những năm gần đây, các mô hình Internet of Things
sát viên có thể truy cập vào dữ liệu của thiết bị mong muốn.
đang trở nên phổ biến trong nhiều lĩnh vực khác nhau tại Việt
Hệ thống cung cấp một giao diện trên ứng dụng Blynk hiển
Nam. Hệ thống được xây dựng nhằm mục đích giải quyết các
thị các thông số quan trọng, chức năng điều khiển, thông tin
vấn đề về việc giám sát và vận hành còn tồn đọng trong thời
mạng WIFI đang kết nối. Giám sát viên có thể truy cập vào để
gian dài cho hệ thống làm mát tại các trạm BTS. Bởi vì, quy
giám sát từng máy lạnh tại mỗi trạm BTS. Sơ đồ hệ thống được
trình giám sát và vận hành hệ thống máy lạnh đang được thực
đề xuất được trình bày trong Hình 2.
hiện thủ công bởi các nhân viên giám sát hoặc bộ định thời bằng
cơ, ngoài ra khoảng cách vị trí của các trạm BTS là khá xa nhau,
để có thể di chuyển giữa các trạm sẽ tốn rất nhiều thời gian và
công sức. Tuy nhiên, để nhiệt độ phòng máy đạt chuẩn, đôi khi
các nhân viên giám sát đã để cho 02 máy lạnh hoạt động cùng
lúc gây ra sự lãng phí rất lớn về chi phí tiền điện. Do đó, xây
dựng hệ thống ứng dụng IoT để giám sát và vận hành hệ thống
máy lạnh sẽ giải quyết được các vấn đề về lãng phí tài nguyên
nêu trên, góp phần tăng tuổi thọ thiết bị và đảm bảo chất lượng
dịch vụ viễn thông. Ngoài ra, việc ứng dụng mô hình IoT sẽ
giúp việc quản lý và giám sát trở nên hiệu quả hơn và sẵn sàng Hình 2. Mô hình hoạt động của hệ thống đề xuất.
ứng phó ngay lập tức khi phát hiện sự cố xảy ra với hệ thống
làm mát. Mô hình hệ thống giám sát trạm BTS trên mô hình IoT II. QUÁ TRÌNH XỬ LÝ TẠI VI ĐIỀU KHIỂN STM32
được trình bày trong Hình 1. II. 1. Đo nhiệt độ môi trường
Hệ thống được triển khai trên một máy chủ quản lý tập trung Node dùng cảm biến DS18B20 dạng chân cắm để đo nhiệt
và các node IoT, các node được thiết kế riêng biệt để ứng dụng độ môi trường nhằm giảm độ lớn sai số so với cảm biến LM35
cho mô hình này. Node dùng hai vi điều khiển là (sai số ở LM35 là ±0.25, sai số ở DS18B20 là ±0.0625). Ngoài
STM32F103C8T6 và ESP32. Vi điều khiển STM32 sẽ thực ra, cảm biến DS18B20 cho dữ liệu nhiệt độ đầu ra là dữ liệu số
ISBN 978-604-80-5958-3 392
- Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2021)
(giao tiếp với vi điều khiển thông qua chuẩn One-wire) và độ giá trị Rtổng) với mục đích là chia điện thế xuống điện thế nhỏ
nhạy cao, điều này phù hợp với môi trường có ẩm ướt hoặc có hơn. Hai ngõ vào vi sai được mắc qua một điện trở Rs (R45) =
không khí lạnh. 220 . Với dòng qua Rs được tính như sau:
220√2
=
ổ
Sau đó, ta tính ra điện áp vi sai ngõ vào là Ur = Is × Rs phần
điện áp vi sai này cũng được khuếch đại như phần trước và đọc
ADC. Khi có giá trị ADC, ta có thể suy ngược về giá trị điện
thế qua tải (được cấp ở ngõ vào là header J4 ban đầu).
III. QUÁ TRÌNH XỬ LÝ TẠI MÔ-ĐUN ESP32
Hình 3. Thiết kế cảm biến trên Node. III. 1. Truyền/nhận dữ liệu
- Nguồn cấp: 3.3V Các dữ liệu cơ bản về hệ thống làm mát được tính toán tại
- Độ phân giải: 12 bits STM32 và lưu trữ trong một mảng dữ liệu bao gồm 21 bytes.
- Thời gian chuyển đổi nhiệt độ tối đa: 750ms. Chuẩn giao tiếp được dùng giữa hai vi điều khiển là SPI, trong
- Sai số: ±0.0625℃ đó ESP32 đóng vai trò là Master, STM32 là Slave. Mỗi 2 giây,
II. 2. Đo độ lớn dòng điện Master sẽ gửi mã yêu cầu nhận dữ liệu từ slave (0x04), sau khi
nhận được mã yêu cầu slave sẽ gửi 21 bytes dữ liệu (mảng
gpSpiTxBuffer[]) lập tức cho Master. Quá trình truyền nhận
dữ liệu giữa STM32 và ESP32 được trình bày trong Hình 6.
Hình 6. Quá trình truyền/nhận dữ liệu qua SPI
Hình 4. Mạch đo dòng điện. Định dạng của 21 Bytes dữ liệu:
Mạch đo dòng điện được thiết kế theo cấu trúc là một mạch - gpSpiTxBuffer[0..7]: Dữ liệu điện thế của máy lạnh 1
khuếch đại vi sai thông thường (Hình 4). Với ngõ vào là dòng và 2.
điện (được mắc qua cảm biến dòng với tỷ lệ vòng là 1:1000), - gpSpiTxBuffer[8..15]: Dữ liệu điện áp của máy lạnh 1
thông qua điện trở shunt Rs đi kèm với cảm biến dòng để biến và 2.
đổi thành điện thế và cấp vào header J5, thông qua mạch khuếch - gpSpiTxBuffer[16..19]: Dữ liệu nhiệt độ tại trạm BTS.
đại vi sai sử dụng Op-Amp MCP601T và dùng STM32 giao - gpSpiTxBuffer[20]: Trạng thái hoạt động của máy phát
tiếp thông qua ADC để đọc giá trị điện áp và tính toán ngược điện.
lại để suy ra dòng điện. Giả sử dòng điện qua tải trên hệ thống Các dữ liệu sẽ được chuẩn hóa và gửi đến Blynk Server
là 100A, sau khi qua cảm biến dòng thì trở thành 0.1A (100mA). thông qua Blynk API. Quá trình gửi được chia theo các tác vụ
Giữa hai chân cảm biến dòng có mắc một điện trở Rs = 10 , từ khác nhau và lặp lại theo chu kì thời gian như Hình 7.
đó điện thế ta thu được để cấp vào mạch khuếch đại vi sai là
0.1 × 10 = 1 . Điện áp vi sai này được khuếch đại tùy
thuộc vào tỷ số R32/R42 = 10 trên hình. Khi đó, điện áp ở ngõ ra
là Vcur = 10V và được đọc vào bởi STM32 sử dụng bộ ADC.
Từ đó ta có thể rút ra công thức tổng quát để tính dòng điện qua
tải:
× 1000
= ×
×
II. 3. Đo độ lớn điện thế
Hình 7. Phân chia các tác vụ theo thời gian.
Theo hình bên trên, các tác vụ sẽ được thực hiện theo chu
kỳ như sau:
- Nhận lệnh điều khiển từ Blynk Server: 1 giây:
- Nhận dữ liệu từ STM32: 2 giây
Hình 5. Mạch đo điện thế. - Gửi dữ liệu đó đến Blynk Server: 2 giây.
Tương tự, ta có mạch đo điện thế như Hình 5 với nguyên lý - Kiểm tra tín hiệu và kết nối với máy chủ: 3 giây.
vẫn là mạch khuếch đại vi sai đơn. Trong trường hợp này, ngõ - Kiểm tra cảnh báo người dùng có dữ liệu bất thường: 3
vào được đưa qua mạng lưới gồm nhiều điện trở 22 (mang giây.
ISBN 978-604-80-5958-3 393
- Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2021)
Quá trình kiểm tra dữ liệu theo các điều kiện phát hiện sự Để tăng tính bảo mật cho các thông tin WiFi, trước khi được
cố ở Bảng 1 như sau: lưu vào Flash Memory thì các thông tin này sẽ được mã hóa
thông qua kỹ thuật mã hóa khóa đối xứng AES-128.
Bảng 1. Bảng điều kiện phát hiện sự cố.
Ngưỡng Thời
Quyết định
cảnh báo gian đếm
Cảnh báo
25℃
giám sát
30 giây cho người Hình 9. Quá trình mã hóa/giải mã thông tin WiFi.
lạnh) giám sát
30 giây cho người
bật máy Blynk để truyền/nhận dữ liệu giữa Client (các Node) và Server.
giám sát
lạnh) Quá trình nhận lệnh từ Blynk Server đến Client diễn ra như
Hình 10 bên dưới:
Để có thể dễ dàng sử dụng và tăng tính linh hoạt cho chương
trình, nhóm tác giả đã lập trình cho các tác vụ này như một tính
năng có thể đăng ký. Khi người quản trị hệ thống yêu cầu thêm
một chức năng, và chức năng này trên mô-đun Wifi ESP32 cần
thực hiện thêm một tác vụ nữa để đáp ứng chức năng mong
muốn. Nhóm chỉ cần lập trình hàm thực hiện chức năng, sau đó
đăng ký hàm đó vào “Lịch trình” hoạt động của chương trình.
Để đăng ký cần hai thông tin bắt buộc, đó là: địa chỉ hàm thực
hiện chức năng được yêu vầu và chu kỳ thời gian thực hiện. Các
bước sử dụng bộ “Lịch trình” được trình bày theo lưu đồ Hình
8 sau.
Hình 10. Quá trình nhận lệnh điều khiển từ Blynk Server.
Tại Client sau khi tạo kết nối với Blynk Server thông qua
mã “Authentication Token” được xác thực riêng, địa chỉ IP của
máy chủ đang thực thi Blynk Server và Blynk port (cổng 8080)
thành công, Client và Server sẽ tiến hành đồng bộ dữ liệu đối
chiếu thông qua các Virtual Pin được cấu hình thông qua ứng
dụng Blynk. Bảng danh sách các Virtual Pin được trình bày như
Bảng 2 như sau.
Bảng 2. Bảng danh sách Virtual Pin
Virtual
Tên Chức Năng
Pin
Điều khiển V1,
RELAY_VIRTUAL_PIN
bật/tắt máy lạnh V4
Hình 8. Quá trình đăng ký hàm chức năng vào bộ “Lịch trình”. Cập nhật thông V2,
VOL_VIRTUAL_PIN
số điện thế V5
Trong đó: Cập nhật thông V3,
CUR_VIRTUAL_PIN
- *functionTask: Là địa chỉ hàm thực hiện chức năng số điện áp V6
muốn thêm vào “Lịch trình” Cập nhật thông
- Timeout: là thời gian chu kỳ của tác vụ đó (chu kỳ nhỏ TEMP_VIRTUAL_PIN số nhiệt độ môi V7
nhất là 0.1 giây) trường
Các tác vụ được đăng ký nếu có chu kỳ trùng nhau thì sẽ Cập nhật trạng
được thực hiện lần lượt dựa vào thứ tự đăng ký của tác vụ đó. DYNAMO_VIRTUAL_PIN thái hoạt động V11
máy phát điện
III. 2. Mã hóa thông tin WIFI Cảnh báo có sự
RELAY_WARNING_ V13,
Theo sơ đồ Hình 9, tại Flash Memory của mô-đun thu phát cố xảy ra ở máy
VIRTUAL_PIN V14
Wifi ESP32, thông tin về WiFi là tên WiFi (SSID) và mật khẩu lạnh
(Password) sẽ được mã hóa và lưu theo từng vùng nhớ được
thiết kế tại bộ nhớ. Trong bộ nhớ sẽ lưu trữ ba thông tin WiFi Tại Node, thông tin nhận là các lệnh điều khiển máy lạnh
mà vi điều khiển có thể truy cập. Mỗi thông tin WiFi sẽ được và trạng thái kết nối giữa các Node và mạng WiFi trong hệ
cấp 128 ô nhớ để lưu trữ (mỗi ô nhớ là 1 byte), bộ nhớ được thống.
chia thành ba vùng địa chỉ bao gồm 0x0001 – 0x0080, 0x0081 Bên cạnh đó, Client sẽ truyền dữ liệu đến Server theo quá
– 0x0100, 0x0101 – 0x0180. trình ở Hình 11 bên dưới.
ISBN 978-604-80-5958-3 394
- Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2021)
Dựa trên các thông số từ việc kiểm tra, nhóm thực hiện đã
thêm các điều kiện hoạt động gây sự cố để kiểm tra các tính
năng cảnh báo sự cố đến người giám sát thông qua ứng dụng
Blynk. Các sự cố sẽ được cảnh báo thông qua ứng dụng Blynk
được thể hiện trong Hình 13(b).
Hình 11. Quá trình truyền dữ liệu.
Các thông số về điện áp, điện thế, nhiệt độ, cảnh báo, trạng
thái hoạt động của máy phát điện là các đối tượng mà Node sẽ
truyền đến Server để lưu trữ tại cơ sở dữ liệu. Quá trình truyền
này sẽ được thực hiện theo từng tác vụ đã được phân chia ở
Mục III.1. Khi kết thúc một quá trình truyền, Node sẽ nhận
được một phản hồi từ Server để xác nhận đã nhận được đầy đủ
các thông số dữ liệu.
IV. KẾT QUẢ
Hệ thống sẽ ghi nhận các giá trị thông số về hệ thống làm
mát bao gồm hai máy lạnh tại trạm BTS, các thông số được ghi
nhận lại là điện áp, điện thế, nhiệt độ môi trường tại trạm BTS, (a) (b)
trạng thái hoạt động của máy nổ. Trong quá trình thực hiện, Hình 13. Kết quả hoạt động của hệ thống (a) và cảnh báo sự cố
nhóm thực hiện có tiến hành kiểm tra các chức năng qua việc với máy lạnh cho người giám sát (b) trên ứng dụng Blynk.
điều khiển với các thiết bị bao gồm đèn huỳnh quang, quạt gió,
sạc laptop. Quá trình kiểm tra được thực hiện tại phòng thí Khi có sự cố xảy ra, ứng dụng Blynk sẽ cảnh báo với từng
nghiệm. trường hợp ở Bảng 4 như sau:
Bảng 3. Kết quả đo được từ các thiết bị
Thiết bị Đèn Quạt gió Trạm Nhiệt Bảng 4. Các trường hợp và nội dung cảnh báo
huỳnh hàn độ tại Trường hợp Vị trí Cảnh báo
quang phòng Máy lạnh hoạt RELAY Sáng đèn màu đỏ
Nhiệt độ 27.5 - động không đúng WARNING - “ON”
28℃ công suất
Điện thế 218–235V 219–235V 218 – Phát hiện điện thế VOLTAGE DEV VOLTAGE
235V bất thường WARNING
Kết quả hệ thống IoT bao gồm bo mạch phần cứng được Nhiệt độ môi TEMPERATURE Overheat
trình bày trong Hình 12 và giá trị đo nhiệt độ, điện áp và điện trường vượt Warning
thế trên ứng dụng Blynk được thể hiện trong Hình 13(a). ngưỡng cho phép
Trạm mất điện DYNAMO ACTIVE
STATUS
Kết nối thất bại UPDATE WIFI CONNECTING
hoặc gặp sự cố
Ngoài ra, kỹ thuật mã hóa khóa đối xứng AES-128 phù hợp
với việc triển khai trên mô-đun Wifi ESP32, quá trình mã hóa
và giải mã diễn ra trong thời gian rất ngắn không ảnh hưởng
đến tốc độ thực thi các tác vụ và chương trình chính. Các thông
tin mã hóa và kết quả được hiển thị ở Bảng 5. Các thông tin bên
dưới được mã hóa bởi khóa:
key[16] = {0x44, 0x45, 0x53, 0x4c, 0x41, 0x42, 0x4b,
0x48, 0x54, 0x4e, 0x2d, 0x56, 0x4e, 0x50, 0x54, 0x31}
Bảng 5. Bảng kết quả thông tin mã hóa dùng AES-128
Plaintext (text) Key (Hex) Cipher text
(Hex)
VNPT-TG.AP.P.TCLD 44 45 53 4c 4b 50 9f c9
41 42 4b 48 a4 00 f9 0b
54 4E 2d 56 ec b3 39 d3
4e 50 54 31 a1 69 1f d4
Hình 12. Bo mạch hệ thống IoT cho trạm BTS.
ISBN 978-604-80-5958-3 395
- Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2021)
KHCN1AAAAAAAAAAA 44 45 53 4c 56 f4 4b 08
41 42 4b 48 5c fb e0 2f
54 4E 2d 56 91 91 67 5c
4e 50 54 31 4a 14 ba f1
Hoomi smart home 44 45 53 4c bf 44 71 bf
41 42 4b 48 67 40 e2 2f
54 4E 2d 56 0f 7d 24 6b
4e 50 54 31 28 86 22 33
1234567890000000 44 45 53 4c 83 4c 11 58
41 42 4b 48 58 45 67 7b
54 4E 2d 56 46 c9 14 81
4e 50 54 31 e1 77 32 02
deslab2610000000 44 45 53 4c 98 1a 04 e9
41 42 4b 48 74 90 c2 6d
54 4E 2d 56 19 19 ab 28
4e 50 54 31 ed 34 1e 17
nhathongminh0000 44 45 53 4c 5e bc 8b 68
41 42 4b 48 d1 3c 44 86
54 4E 2d 56 af 28 27 ea
4e 50 54 31 9a f0 da d2
V. KẾT LUẬN
Nghiên cứu đã hoàn thành việc xây dựng Node và các chức
năng cơ bản của Server để vận hành một hệ thống IoT, cơ sở
dữ liệu và giao diện người dùng trên ứng dụng Blynk, sau đó
đã tiến hành chạy demo hệ thống tại các môi trường khác nhau,
thiết bị điều khiển khác nhau. Tuy nhiên, hệ thống chưa đạt
được tính bảo mật thông tin cao trong quá trình truyền nhận dữ
liệu, các thiết kế mạch đo thông số vẫn còn sai số tương đối
trong quá trình chạy thực tế. Mục tiêu tiếp theo của nghiên cứu
là hoàn thiện các thiết kế về mạch đo, ứng dụng kỹ thuật OTA
(Over-the-Air) cho mô-đun thu phát Wifi ESP32 để có thể cập
nhật chương trình từ xa đúng với tinh thần của các Node trong
hệ thống IoT. Ngoài ra, nhóm sẽ tiếp tục phát triển cơ sở dữ
liệu, máy chủ và giao diện trên trình duyệt Web cho người giám
sát có thể theo dõi nhiều Node cùng một cửa sổ trình duyệt
nhằm tăng tính chất quản lý tập trung của hệ thống.
TÀI LIỆU THAM KHẢO
[1] “Annoucing the ADVANCED ENCRYPTION
STANDARD (AES)”, page 1-38, Nov 26, 2021.
[2] Nabilah Binti Mazalan, Jabatan Kejuruteraan Elektrik,
Politeknik Merlimau, “Application of Wireless Internet in
Networking using NODEMCU and Blynk App”, page 1-7,
2019.
[3] A. Jothivelu and S. P. Simon, "A Smart BTS/Node B
Network Monitoring and Control using IoT," 2019
Fifteenth International Conference on Information
Processing (ICINPRO), pp. 1-5, 2019.
[4] P. A. M. Hambali, Syamsuddin, M. R. Effendi and E. A. Z.
Hamidi, "Prototype Design of Monitoring System Base
Tranceiver Station (BTS) Base on Internet of Things," 2020
6th International Conference on Wireless and Telematics
(ICWT), pp. 1-6, 2020.
ISBN 978-604-80-5958-3 396
nguon tai.lieu . vn