반응형

 

 

esp8266wifi 보드끼리MQTT 9편 비접촉전류센서(SCT013-030)를 이용한 에너지모니터링(wemos d1r1/사물인터넷(iot)시리즈#58/녹칸다/포로리야공대가자)
-이번편의 핵심아이디어는 클라이언트가 스마트폰이 아니라 사물인터넷보드(wemos d1r1)끼리 MQTT메시지를 주고받는 것이다!
-하나의 보드가 publish한 메시지를 단일 혹은 복수개의 보드가 subscribe한다음 정보를 표시하거나 어떤 동작을 하게끔 구현하는 예제이다!
-스마트폰을 MQTT Client로 활용하면 GUI가 모두 훌륭하게 구현되어 있기 때문에 활용하기엔 좋으나, 때때로 보드끼리 데이터를 주고 받을 필요가 있다!
-사물인터넷보드 3개를 준비해서 각각 A, B, C라고 해보자!
-A는 1602LCD와 버튼(택트스위치) 2개가 달려있고 C에 있는 릴레이를 제어할 수 있도록 하자!
-B는 비접촉전류센서(SCT013-030)가 달려있고 순간전력과 전력량의 정보를 MQTT로 publish해서 A의 화면에 나올 수 있도록 하자!
-C는 릴레이가 달려있어서 220V전원을 제어할 수 있다! A에서 날라오는 메시지에 따라서 전원제어를 해보자!

 


예제 220-1-1 사물인터넷보드(wemos d1r1)에 버튼 2개와 1602LCD 1개를 연결했다!
 버튼1은 D5에 연결하고 원격으로 릴레이를 on하는 버튼이다!
 버튼2는 D6에 연결하고 원격으로 릴레이를 off하는 버튼이다!
 1602lcd는 i2c모듈이 연결된 모듈이고 SDA를 D4에 SCL을 D3에 연결했다!
 비접촉전류센서(SCT013-030)가 연결된 사물인터넷보드가 MQTT로 publish하는 메시지를 LCD에 출력하고,
 버튼을 이용해서 릴레이가 연결된 사물인터넷 보드를 제어해서 220V전구를 켰다가 껏다가 해보라!
 릴레이제어 topic : nockanda/relay (0을보내면 off, 1을보내면 on)
 비접촉전류센서 topic : nockanda/i(전류),nockanda/w(W), nockanda/wh(Wh)

220-1-1.txt
0.00MB


예제 220-1-2 (비접촉전류센서(SCT013-030)이 연결된 사물인터넷 보드용 코드)
  비접촉 전류센서를 A0에 연결하고 측정한값을 MQTT를 이용해서 publish하라!

220-1-2.txt
0.00MB


예제 220-1-3 (릴레이가 달린 사물인터넷보드(wemos d1r1) 전용 코드)
 사물인터넷보드에 릴레이를 D3 에 연결했다!
 버튼이 달린 사물인터넷보드가 publish하는 메시지를 subscribe해서
 릴레이를 작동시켜서 220V전구를 제어하라!

220-1-3.txt
0.00MB


예제 220-2-1 직전예제에 추가해서 유저가 시리얼모니터로 입력한값을 제한값으로 사용해보자!
 누적전력사용량(wh)값이 유저가 입력한값보다 커지면 릴레이를 자동으로 off시켜라!
 만약 유저가 제한값을 입력한다면 1회용으로 릴레이를 자동으로 off시켜라!
 무슨말이냐면 평소에는 그냥 수동으로 동작하다가 유저가 시리얼로 값을 날린 그때만 한번 작동하는 것이다!

220-2-1.txt
0.00MB


예제 220-2-2 (220-1-2와 동일)

220-2-2.txt
0.00MB


예제 220-2-3 (220-1-3과 동일)

220-2-3.txt
0.00MB

관련라이브러리(pubsubclient)

https://pubsubclient.knolleary.net/

관련라이브러리(emonlib)

https://github.com/openenergymonitor/EmonLib

관련라이브러리(LiquidCrystal_I2C)

https://github.com/johnrickman/LiquidCrystal_I2C

레퍼런스코드(비접촉전류센서튜토리얼#201)

https://bota.tistory.com/1442

반응형
Posted by 덕력킹
,