죄송합니다. 귀하의 브라우저는 JavaScript를 지원하지 않습니다!

MQTT 브로커를 통한 실시간 에너지 데이터 구독(2025년 버전)

1. 소개

IAMMETER-클라우드전문적인 에너지 모니터링 및 태양광 관리 플랫폼입니다. IAMMETER-Cloud는 강력한 시각화 및 보고 기능 외에도 유연한 데이터 인터페이스를 제공합니다. 이를 통해 맞춤형 요구 사항을 가진 사용자는 IAMMETER-Cloud를데이터 미들웨어, 코드를 통해 프로그래밍 방식으로 데이터를 검색합니다.

코드를 사용하여 IAMMETER-Cloud에서 데이터를 얻는 두 가지 주요 방법은 다음과 같습니다.

  • 데이터를 통해 구독하세요IAMMETER의 MQTT 브로커(이 기사의 초점)
  • IAMMETER-Cloud 공식 전화아피스

이 가이드에서는 IAMMETER MQTT 토픽을 구독하는 방법, 데이터 구조(단상 및 3상 미터 모두)를 해석하는 방법, 작동하는 Python 및 Node.js 예제를 구현하는 방법을 설명합니다.


2. IAMMETER MQTT 브로커 개요

메모:IAMMETER MQTT 브로커는 원래 다음과 같이 설계되었습니다.개발 및 테스트 서비스편의를 위해 제공되는 표준 IAMMETER-Cloud 제품에는 포함되지 않습니다(단, 5년 이상 안정적으로 운영되어 왔습니다). 운영 환경이나 대규모 배포의 경우, 다음을 설정하는 것이 좋습니다.자체 MQTT 브로커.

IAMMETER MQTT 브로커 구성

매개변수 설명
브로커 주소 mqtt.iammeter.com
포트 1883(비SSL)
사용자 이름 / 비밀번호 에서 생성되어야 합니다IAMMETER 클라우드 → 설정 → MQTT 설정MQTT 설정 스크린샷
주제 형식 장치/{SN}/실시간
페이로드 형식 JSON

⚠️ 중요한:하다~ 아니다여기에서 IAMMETER Cloud 로그인 자격 증명을 사용하세요. 다음이 필요합니다.전용 MQTT 사용자 이름과 비밀번호를 만듭니다.IAMMETER 클라우드 대시보드에서.

MQTT 모드를 사용하도록 IAMMETER 미터 구성

IAMMETER 미터를 다음으로 설정하세요.MQTT 업로드 모드(보다펌웨어 구성 가이드)을 입력하고 IAMMETER MQTT 브로커 매개변수를 입력합니다.

미터를 MQTT 업로드 모드로 설정하고 IAMMETER MQTT 브로커 매개변수를 구성합니다.


3. MQTT 주제 형식

각 IAMMETER 장치는 다음 주제에 따라 실시간 데이터를 게시합니다.

장치/{SN}/실시간

어디{SN}는 측정기의 일련 번호입니다. 예를 들어, 기기의 일련 번호가DA2BED94주제는 다음과 같습니다.

장치/DA2BED94/실시간

이 주제를 구독하면 지속적으로 실시간 측정 데이터를 받을 수 있습니다.


4. 데이터 형식

4.1 단상 미터 데이터 형식

단상 IAMMETER 미터는 다음과 같이 JSON 형식으로 실시간 데이터를 게시합니다.

{
"method": "1-272",
"mac": "B0F8932A295C",
"version": "i.91.062T6",
"server": "em",
"SN": "DA2BED94",
"Data": [227.02, 1.81, 296.0, 21699.98, 0.00, 50.01, 0.72]
}
인덱스 필드 설명 단위
1 전압 현재 선간 전압 V
2 현재의 현재 라인 전류
3 유효 전력
4 포워드 에너지 수입 에너지(소비) kWh
5 역에너지 수출 에너지(피드인, 태양광) kWh
6 빈도 그리드 주파수 헤르츠
7 역률 현재 역률 피에프

🟢 노트:

  • 양의 힘 → 에너지 소비
  • 음의 전력 → 에너지 수출(예: 태양광 피드인)

4.2 3상 미터 데이터 형식(WEM3080T / WEM3046T / WEM3050T)

3상 IAMMETER 미터는 각 상에 해당하는 3개의 배열을 사용하여 유사한 JSON 형식으로 데이터를 게시합니다.

{
"method": "4-9",
"mac": "849DC2CEC625",
"version": "i.91.062T6",
"server": "em",
"SN": "CB0A0CFB",
"EA": {
"Reactive": [
[-111.0, 0.000, 176.750],
[-113.0, 0.000, 179.110],
[-114.0, 36.120, 144.410]
]
},
"Datas": [
[225.9, 1.260, 194.0, 305.110, 0.000, 49.99, 0.87],
[225.8, 1.260, 193.0, 302.690, 0.000, 49.99, 0.86],
[225.9, 1.260, 192.0, 300.890, 0.000, 49.99, 0.86]
]
}

데이터는 다음을 포함하는 목록입니다.세 개의 배열, 각각에 해당A, B, C 단계. 각 내부 어레이는 단상 어레이와 동일한 구조를 가지고 있습니다.데이터정렬.

인덱스 필드 설명 단위
1 전압 상 전압 V
2 현재의 상전류
3 유효 전력
4 포워드 에너지 수입 에너지 kWh
5 역에너지 수출된 에너지 kWh
6 빈도 그리드 주파수 헤르츠
7 역률 위상 역률 피에프

실제 전력 데이터 외에도무효전력 측정활성화되면 다음도 표시됩니다.에아섹션은 다음과 같습니다.

"EA": {
"반응형": [
[-111.0, 0.000, 176.750],
[-113.0, 0.000, 179.110],
[-114.0, 36.120, 144.410]
]
}

이 섹션에서는 다음을 보여줍니다.반응성 측정 데이터, 이는 다음에만 나타납니다.반응형 테스트 기능활성화되어 있습니다(아래 스크린샷 참조).

미터에서 반응성 측정 활성화

각 배열은 세 단계(A, B, C)를 나타내며 다음을 보여줍니다.무효 전력(Q in kVar)그리고무효 에너지(kVARh).

Q(kVar):무효 전력 - 양수 = 유도성, 음수 = 용량성kVARh:무효 에너지 - 각 단계에는 두 개의 kVARh 값이 포함됩니다. 하나는유도 부하그리고 하나는용량성 부하.


5. Python 예제: 실시간 데이터 구독

아래는 다음을 사용하는 Python 스크립트입니다.파호-mqtt도서관.

paho.mqtt.client를 mqtt로 가져오기
json 가져오기

# MQTT 브로커 구성
MQTT_BROKER = "mqtt.iammeter.com"
MQTT_PORT = 1883
MQTT_USER = "your_mqtt_username" # IAMMETER 클라우드 → MQTT 설정에서 설정
MQTT_PASS = "your_mqtt_password"
TOPIC = "device/DA2BED94/realtime" # 자신의 기기 SN으로 변경

# 브로커에 연결될 때 콜백
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("✅ IAMMETER MQTT 브로커에 성공적으로 연결됨")
client.subscribe(TOPIC)
print(f"📡 {TOPIC} 주제를 구독함")
else:
print(f"❌ {rc} 코드로 연결 실패")

# 메시지 수신 시 콜백
def on_message(client, userdata, msg):
payload = json.loads(msg.payload.decode())
print("📊 실시간 데이터 수신됨:")
print(json.dumps(payload, indent=2, ensure_ascii=False))

# MQTT 클라이언트 초기화
client = mqtt.Client()
client.username_pw_set(MQTT_USER, MQTT_PASS)
client.on_connect = on_connect
client.on_message = on_message

# 브로커에 연결하고 루프를 시작합니다.
client.connect(MQTT_BROKER, MQTT_PORT, 60)
client.loop_forever()

6. Node.js 예제

이 흥미로운 오픈소스 프로젝트를 시도해 보는 것을 추천합니다. 사용합니다.노드.jsIAMMETER MQTT 브로커에서 실시간 데이터를 구독하고 이를 시각화합니다.웹 UI멋진 실시간 대시보드를 만들어 보세요.

🔗 https://github.com/lewei50/iammeterJS


7. 실제 사용 사례

  1. 스마트 홈 자동화실시간 전력 데이터를 통합합니다.홈 어시스턴트또는노드-RED자동화 작업을 트리거합니다(예: 태양광 발전량이 높을 때 히터를 시작합니다).
  2. 로컬 데이터 시각화수신 MQTT 데이터를 저장합니다.인플럭스DB그리고 그것을 시각화해보세요Grafana 대시보드.
  3. 프라이빗 클라우드 또는 엣지 컴퓨팅IAMMETER 클라우드에 의존하지 않고도 맞춤형 분석이나 제어 논리를 위해 MQTT를 통해 실시간 전력 데이터를 직접 검색합니다.

8. 문제 해결

문제 가능한 원인 / 해결 방법
브로커에 연결할 수 없습니다 IAMMETER Cloud에 MQTT 사용자 이름/비밀번호가 올바르게 설정되어 있는지 확인하세요.
데이터가 수신되지 않았습니다 주제 형식을 확인하세요(장치/{SN}/실시간) 그리고 미터가 온라인 상태인지 확인하세요.
데이터 지연 네트워크 안정성이나 Wi-Fi 신호 강도를 확인하세요.
여러 미터 여러 주제를 동시에 구독할 수 있습니다(SN당 1개).

9. 결론

사용 중IAMMETER MQTT 브로커, 쉽게 접근 할 수 있습니다실시간 에너지 데이터 스트림IAMMETER 장치에서. 강력하고 유연한 방법으로로컬 대시보드, 스마트 자동화 또는 AI 기반 에너지 최적화 시스템.


📘 참고자료


내가 만들어 드릴까요?마크다운 형식의 블로그 게시물 버전(구문 강조 및 내장된 이미지 링크가 그대로 유지된 상태로 IAMMETER 공식 블로그에 게시할 준비가 되셨나요?)

맨 위