Xin lỗi, trình duyệt của bạn không hỗ trợ JavaScript!
Đăng nhập

Cách xây dựng thiết bị ghi dữ liệu điện ngoại tuyến với Docker

Cách xây dựng thiết bị ghi dữ liệu điện ngoại tuyến với Docker

Điều gì xảy ra khi một đồng hồ điện được lắp đặt tại một trạm điện mặt trời, nhà máy, cabin hay dự án tạm thời mà không có kết nối Internet ổn định?

Bảng điều khiển trên đám mây không thể nhận dữ liệu khi kết nối không khả dụng. Một máy chủ công nghiệp đầy đủ có thể phức tạp một cách không cần thiết. Trong nhiều trường hợp, yêu cầu thực tế đơn giản hơn:

Lưu giữ mọi số đo ngay tại chỗ, giúp việc truy xuất bản ghi trở nên dễ dàng, và tiếp tục vận hành mà không cần truy cập Internet.

Hướng dẫn này trình bày cách xây dựng một thiết bị ghi dữ liệu điện ngoại tuyến bằng đồng hồ năng lượng Wi-Fi IAMMETER và IAMMETER-Docker chạy trên router hoặc máy chủ nhỏ tại chỗ. Đồng hồ gửi số đo qua mạng Wi-Fi nội bộ, Docker lưu chúng thành các tệp CSV, và kỹ thuật viên có thể lấy các tệp này sau đó qua trình duyệt hoặc ổ USB.

Thiết bị ghi dữ liệu điện ngoại tuyến IAMMETER-Docker

Để chọn sản phẩm và xem tổng quan kiến trúc ngắn gọn hơn, hãy xem giải pháp Offline Energy Datalogger.

1. Kịch bản triển khai

Hãy xét một hệ thống điện mặt trời nhỏ ở vùng xa, cần các số đo về phát điện và lưới điện để phân tích kỹ thuật sau này.

Địa điểm có:

  • nguồn điện và thiết bị điện mặt trời;
  • một đồng hồ năng lượng Wi-Fi IAMMETER;
  • một router hoặc máy tính nhỏ có thể chạy Docker;
  • Wi-Fi nội bộ giữa đồng hồ và router;
  • không có kết nối Internet cố định, hoặc kết nối quá không ổn định để tải lên liên tục.

Người vận hành không cần theo dõi bảng điều khiển trên đám mây mỗi ngày. Thay vào đó, kỹ thuật viên đến định kỳ và thu thập các tệp số đo.

Kiến trúc này cũng phù hợp với:

  • một cabin không nối lưới;
  • mạng nhà máy tách biệt khỏi Internet công cộng;
  • một đợt kiểm toán điện tạm thời;
  • một công trường xây dựng;
  • việc thử nghiệm thiết bị trong phòng thí nghiệm;
  • một đường giám sát dự phòng cho địa điểm có kết nối không ổn định.

2. Vì sao nên dùng router nội bộ làm thiết bị ghi dữ liệu?

Một router có khả năng chạy Docker có thể đảm nhận cả hai phần của hệ thống nội bộ:

  1. một điểm truy cập Wi-Fi cho đồng hồ năng lượng;
  2. một máy chủ Docker nội bộ để lưu trữ các số đo.
Hệ thống điện
       │
       ▼
Đồng hồ năng lượng IAMMETER
       │
       │ Chỉ Wi-Fi nội bộ
       ▼
Router có khả năng chạy Docker
       │
       ├── IAMMETER-Docker
       ├── Lưu trữ CSV nội bộ
       ├── Tải xuống qua trình duyệt
       └── Xuất qua USB (tùy chọn)

Đường truyền dữ liệu này không cần đến đám mây công cộng. Chỉ cần đồng hồ, router và thiết bị lưu trữ vẫn được cấp điện và kết nối trong mạng nội bộ, việc mất kết nối Internet không làm gián đoạn ghi dữ liệu tại chỗ.

Kiến trúc này gọn nhẹ, nhưng không phải lựa chọn duy nhất. IAMMETER-Docker cũng có thể chạy trên Raspberry Pi, NAS hoặc máy chủ Linux. Hãy chọn thiết bị chủ dựa trên dung lượng lưu trữ, nguồn cấp, điều kiện môi trường và yêu cầu bảo trì.

3. Những gì bạn cần

Hãy chuẩn bị các thành phần sau:

  • một đồng hồ năng lượng Wi-Fi IAMMETER một pha, hai kênh hoặc ba pha;
  • một router, Raspberry Pi, NAS hoặc máy chủ có khả năng chạy Docker;
  • dung lượng lưu trữ lâu dài đủ cho khoảng thời gian ghi dữ liệu dự kiến;
  • kết nối Wi-Fi hoặc LAN nội bộ;
  • thiết bị lưu trữ USB (tùy chọn) để xuất tệp trực tiếp;
  • một laptop hoặc điện thoại có thể tham gia mạng nội bộ để cấu hình và truy cập bằng trình duyệt.

Với phương án triển khai trên router, các hệ thống dựa trên OpenWRT như FriendlyWrt hoặc iStoreOS là những lựa chọn phổ biến, miễn là phần cứng được chọn có thể chạy Docker và có đủ dung lượng lưu trữ.

Lập kế hoạch lưu trữ

Trước khi lắp đặt, hãy quyết định:

  • địa điểm có thể hoạt động bao lâu giữa hai lần đến kiểm tra;
  • có bao nhiêu đồng hồ hoặc kênh sẽ được ghi;
  • tần suất thu thập tệp;
  • có cần một bản sao lưu nội bộ thứ hai hay không;
  • điều gì sẽ xảy ra khi dung lượng lưu trữ đầy.

Đừng chỉ dựa vào dung lượng lưu trữ nhỏ tích hợp trong router mà không kiểm tra dung lượng và độ bền ghi. Hãy dùng một thiết bị lưu trữ lâu dài phù hợp cho các triển khai không người trực.

4. Chuẩn bị IAMMETER-Docker trước khi chuyển sang ngoại tuyến

Image Docker và mọi gói cần thiết thường phải được tải xuống trước khi địa điểm hoàn toàn ngoại tuyến.

Trên một mạng chuẩn bị có kết nối:

  1. cài Docker trên router hoặc máy chủ;
  2. tải image iammeter/iammeter hiện tại;
  3. tạo các thư mục lâu dài cho dữ liệu ứng dụng và các tệp CSV của datalogger;
  4. khởi động container;
  5. kiểm tra truy cập bằng trình duyệt;
  6. đổi mật khẩu mặc định;
  7. thử ghi dữ liệu với đồng hồ thực tế;
  8. chỉ sau đó mới chuyển thiết bị đến địa điểm ngoại tuyến.

Thư mục datalogger phải được mount để lưu CSV:

docker run -d \
  --name myiammeter \
  --restart always \
  -p 5050:5050 \
  -p 1883:1883 \
  -e TZ=Etc/UTC \
  -v "$PWD/data:/app/data" \
  -v "$PWD/datalogger:/app/datalogger" \
  iammeter/iammeter

Hãy thay TZ=Etc/UTC bằng múi giờ thực tế của địa điểm. Thời gian nội bộ chính xác là điều thiết yếu khi sau này các dấu thời gian trong CSV được đối chiếu với hồ sơ bảo trì, sản xuất hoặc sự cố.

Về Docker Compose, sao lưu và nâng cấp, hãy dùng hướng dẫn triển khai IAMMETER-Docker đầy đủ.

5. Kết nối đồng hồ với router nội bộ

Hãy cấu hình đồng hồ tham gia mạng Wi-Fi nội bộ của router.

Với một hệ thống lắp đặt ở xa:

  • dành một địa chỉ IP ổn định cho đồng hồ;
  • tránh các thiết lập mạng khách hoặc cách ly client vốn chặn giao tiếp nội bộ;
  • kiểm tra tín hiệu Wi-Fi tại đúng vị trí lắp đặt cuối cùng;
  • cấp điện cho router và đồng hồ từ một nguồn đáng tin cậy;
  • ghi lại SSID, cách đánh địa chỉ và vị trí thiết bị cho kỹ thuật viên tiếp theo.

Giao tiếp giữa đồng hồ và IAMMETER-Docker không cần truy cập Internet. Hai thiết bị chỉ cần kết nối được với nhau trong mạng nội bộ.

6. Trỏ đồng hồ đến datalogger nội bộ

Trong WebUI hiện tại của đồng hồ, hãy cấu hình dịch vụ IAMMETER-Docker nội bộ làm đích tải lên. Quy trình datalogger sử dụng địa chỉ của router hoặc máy chủ Docker, ví dụ:

http://<router-local-ip>:5050

Đặt địa chỉ tải lên nội bộ cho IAMMETER-Docker

Hãy dùng một địa chỉ IP luôn ổn định. Không nhập localhost: theo góc nhìn của đồng hồ, localhost là chính đồng hồ chứ không phải router Docker.

Sau khi lưu cấu hình tải lên:

  1. chờ tệp hoặc bản ghi đầu tiên xuất hiện;
  2. so sánh giá trị trực tiếp với các số đo nội bộ của đồng hồ;
  3. xác nhận đúng số pha hoặc số kênh;
  4. kiểm tra chiều của CT và dấu của công suất tác dụng;
  5. xác nhận dấu thời gian dùng đúng múi giờ mong muốn;
  6. khởi động lại cả hai thiết bị một lần để kiểm tra khả năng tự phục hồi.

Trong quy trình datalogger CSV này, không cần tạo thủ công đồng hồ trong giao diện giám sát chính của IAMMETER-Docker trước khi bắt đầu ghi dữ liệu.

7. Lấy tệp CSV bằng trình duyệt

Hãy tham gia cùng mạng nội bộ và mở:

http://<docker-host-ip>:5050/datalogger

Thông tin đăng nhập mặc định được tài liệu hóa là:

Username: admin
Password: admin

Hãy đổi mật khẩu này trong quá trình chạy thử nghiệm thu.

Duyệt và tải xuống các tệp CSV điện ngoại tuyến

Từ trang datalogger, người dùng có thể tải xuống hoặc xóa các tệp CSV đã lưu.

Trước khi xóa bất cứ thứ gì:

  1. tải xuống các tệp cần thiết;
  2. xác nhận các tệp đã sao chép mở được bình thường;
  3. kiểm tra khoảng ngày và kích thước tệp;
  4. lưu thêm một bản sao khi dữ liệu quan trọng;
  5. chỉ xóa tệp nội bộ theo chính sách lưu trữ của địa điểm.

Lấy dữ liệu qua trình duyệt là cách đơn giản nhất khi kỹ thuật viên có thể kết nối laptop hoặc điện thoại vào mạng của địa điểm.

8. Xuất dữ liệu bằng ổ USB

Một số phương án triển khai trên router có thể dùng quy trình cắm nóng USB. Khi cắm ổ USB, router sẽ sao chép các tệp CSV mới nhất vào đó.

Điều này hữu ích khi:

  • địa điểm bị tách biệt về mặt vật lý;
  • người vận hành không nên truy cập giao diện quản trị router;
  • các tệp cần được chuyển cho một nhóm khác;
  • cần một quy trình hiện trường đơn giản và lặp lại được.

Hành vi cắm nóng USB phụ thuộc vào nền tảng router và cấu hình của nó; nó không tự kích hoạt chỉ bằng việc cắm ổ vào mọi máy chủ Docker. Hãy kiểm tra toàn bộ quy trình trước khi triển khai tại hiện trường:

  1. cắm một ổ thử nghiệm trống và được hỗ trợ;
  2. chờ quá trình sao chép hoàn tất;
  3. tháo ổ an toàn;
  4. xác nhận các tệp CSV mới nhất đã có trên ổ;
  5. lặp lại sau khi khởi động lại;
  6. ghi lại mọi đèn trạng thái, thời gian chờ hoặc quy trình tháo ổ.

9. Bạn có thể làm gì với dữ liệu CSV?

Các tệp CSV rất linh hoạt và có thể dùng mà không cần máy chủ giám sát gốc.

Các công việc tiếp theo thường gặp gồm:

  • xem lại điện áp và dòng điện theo thời gian;
  • tính mức tiêu thụ điện năng hoặc sản lượng điện mặt trời theo từng giai đoạn;
  • xác định các sự kiện công suất tác dụng đỉnh;
  • so sánh các pha trong hệ thống ba pha;
  • đối chiếu hành vi tiêu thụ điện với hồ sơ sản xuất hoặc hồ sơ thiết bị;
  • nhập dữ liệu vào Excel, Python, MATLAB hoặc cơ sở dữ liệu;
  • chuẩn bị báo cáo kiểm toán năng lượng ngắn hạn;
  • lưu trữ số đo thô để điều tra sau này.

Hãy giữ kèm bối cảnh sau với mỗi tập dữ liệu:

  • số sê-ri của đồng hồ;
  • tên địa điểm và mạch điện;
  • pha hoặc kênh được gán;
  • tỷ số CT khi dùng CT bên ngoài;
  • múi giờ;
  • ngày lắp đặt và ngày thu thập;
  • mọi sự cố mất điện hoặc thay đổi cấu hình đã biết.

Một tệp CSV thiếu bối cảnh này có thể rất khó diễn giải sau nhiều tháng.

10. Kiểm tra nghiệm thu trước khi rời địa điểm

Một thiết bị ghi dữ liệu không người trực cần được kiểm tra như một hệ thống hoàn chỉnh, chứ không phải từng thiết bị riêng lẻ.

Kết nối

  • Đồng hồ kết nối lại sau khi khởi động lại router.
  • Container Docker tự khởi động.
  • Đồng hồ tiếp tục tải lên mà không cần can thiệp thủ công.
  • Trang datalogger trên trình duyệt vẫn truy cập được.

Chất lượng dữ liệu

  • Điện áp, dòng điện, công suất và điện năng đều hợp lý.
  • Số pha và việc gán kênh là đúng.
  • Chiều nhập/xuất được hiểu rõ.
  • Dấu thời gian và múi giờ là đúng.

Lưu trữ và truy xuất

  • /app/datalogger được mount vào thiết bị lưu trữ lâu dài.
  • Các tệp CSV vẫn còn sau khi khởi động lại container.
  • Tải xuống qua trình duyệt hoạt động.
  • Xuất qua USB hoạt động nếu đây là một phần của quy trình hiện trường.
  • Dung lượng lưu trữ và chính sách lưu giữ được ghi lại.

Bảo mật

  • Mật khẩu mặc định đã được thay đổi.
  • Các cổng 5050 và 1883 không bị lộ ra mạng không tin cậy.
  • Thông tin đăng nhập quản trị router được lưu trữ an toàn.
  • Việc truy cập USB vật lý phù hợp với yêu cầu bảo mật của địa điểm.

11. Các sự cố hiện trường thường gặp

Không thấy tệp CSV nào xuất hiện

  • Xác nhận /app/datalogger đã được mount.
  • Kiểm tra xem đồng hồ có thể kết nối tới IP của máy chủ Docker và cổng 5050 hay không.
  • Kiểm tra lại đích tải lên của đồng hồ.
  • Xem log của IAMMETER-Docker.
  • Kiểm tra quyền của thư mục và dung lượng lưu trữ còn trống.

Việc ghi dữ liệu dừng sau khi mất điện

  • Xác nhận container dùng chính sách tự khởi động lại.
  • Kiểm tra thiết bị lưu trữ của router có được mount đúng sau khi khởi động hay không.
  • Kiểm tra xem đồng hồ có kết nối lại Wi-Fi hay không.
  • Hãy thử với một lần khởi động lại có kiểm soát trước khi rời địa điểm.

Dấu thời gian trong CSV sai

  • Đặt múi giờ của Docker theo vị trí lắp đặt.
  • Xác nhận đồng hồ hệ thống của router.
  • Ghi lại các thay đổi giờ mùa hè khi có liên quan.

Tệp có tồn tại nhưng giá trị có vẻ sai

  • Kiểm tra hướng và cách đấu dây của CT.
  • Kiểm tra model đồng hồ và cấu trúc kênh.
  • Áp dụng đúng tỷ số CT cho các lắp đặt WEM3046T/WEM3046TE.
  • So sánh tệp CSV với các giá trị trực tiếp nội bộ của đồng hồ.

Ổ USB không nhận được tệp

  • Xác nhận router hỗ trợ và đã bật quy trình cắm nóng cần thiết.
  • Kiểm tra khả năng tương thích của hệ thống tệp và dung lượng trống.
  • Xem log của router.
  • Dùng cách tải xuống qua trình duyệt làm phương án dự phòng.

12. Ghi dữ liệu ngoại tuyến, cảnh báo thời gian thực hay giám sát đầy đủ?

Các chức năng này của IAMMETER-Docker giải quyết những vấn đề khác nhau:

Yêu cầu Điểm khởi đầu phù hợp nhất
Giữ các số đo CSV liên tục mà không cần Internet Chế độ datalogger ngoại tuyến được mô tả trong hướng dẫn này
Theo dõi giá trị từng giây và ghi cảnh báo ngưỡng Giám sát công suất thời gian thực và cảnh báo
Dùng bảng điều khiển, báo cáo lịch sử và API ngay tại chỗ Hướng dẫn triển khai IAMMETER-Docker
Dùng MQTT, MySQL hoặc chuyển tiếp ra bên ngoài Cấu hình IAMMETER-Docker nâng cao
So sánh lựa chọn tự vận hành, đám mây và hệ thống tùy chỉnh Các lựa chọn giám sát tự vận hành

Hãy chọn kiến trúc nhỏ nhất đáp ứng đúng yêu cầu thực tế. Một đợt kiểm toán ngoại tuyến có thể chỉ cần lưu CSV, trong khi một dự án quản lý năng lượng lâu dài có thể hưởng lợi từ nền tảng giám sát đầy đủ.

13. Từ mô hình tham chiếu đến địa điểm của bạn

Kiến trúc tham chiếu rất đơn giản:

Một đồng hồ IAMMETER
        +
Một router hoặc máy chủ có khả năng chạy Docker
        +
Thiết bị lưu trữ nội bộ lâu dài
        =
Thiết bị ghi dữ liệu điện ngoại tuyến

Trước khi chọn phần cứng, hãy xác định:

  • đo một pha, hai pha hay ba pha;
  • số kênh cần thiết;
  • dòng điện tối đa và loại CT;
  • thời gian ngoại tuyến dự kiến;
  • quy trình lưu trữ và truy xuất;
  • có thể bổ sung chuyển tiếp lên IAMMETER-Cloud sau này hay không.

Hãy dùng trang giải pháp Offline Energy Datalogger để xem lại mô hình triển khai và chọn đồng hồ phù hợp. Với người dùng muốn có router được cấu hình sẵn, hãy liên hệ support@devicebit.com.

Tùy chọn router được cấu hình sẵn cho ghi dữ liệu điện nội bộ

Cập nhật lần cuối: 17 tháng 7, 2026.

Lên đầu