무선 온습도계

STM8S003F3 / NRF24L01 / AM2303 / ESP8266를  이용하여 무선 온습도계를 만들었다.

전원 정보
STM8S003F3  –  2.95 V to 5.5 V operating voltage / Running 5mA, halt 70µA
NRF24L01 – 1.9 to 3.6V  / Transmit 11.3mA (max), Receive 12.3mA(max), power down 900nA
AM2303 – 3.3V to 5.5V / Dormancy 15µA, Measuring 500µA
ESP8266 – 접속프로토콜에 따라 상이, 아래의 테이블 참조

ESP8266모듈은 값을 송신받아 WiFi망을 통해 웹서버로 올리는 게이트웨이 역할을 한다.

아래는 완성품

송신기 ( STM8S003F3, NRF24L01, AM2303)
송신기는 두개를 만들어서 각각 실내, 실외를 측정할 수 있게 하였다. 5분마다 1회 측정하여 전송하며 이외의 시간은 HALT 명령어 수행.
5vto3.3v 구간을 없애기 위해 레귤레이터 제거하고 다이오드 연결, 배터리 완충시 NRF24에 걸리는 전압이 데이터시트의 MAX보다 0.3v정도 높은데 다행히 정상작동.
600mAh 배터리 사용했는데 배터리 소모가 자연방전되는 수준(2달간 0.2v 하락)
처음에 DHT11을 사용했는데 이건 오차, 편차가 심해도 너무심한수준… 그냥AM2303오는동안 연습용으로 사용함…
로직아날라이저로 값읽어오는거 만드느라 고생좀 했음….

수신기, 게이트웨이 (ESP-12e, NRF24L01, 전원보드)
송신기로부터 데이터를 수신하여 WiFi를 통해 웹서버로 전달.
얘는 전력소모가 상당한수준, 900mAh 배터리 사용하였으나 반나절 조금 더 버팀. WiFi 연결유지에 많은 전력이 소모되는듯..

디스플레이
mysql과 php로 highcharts.js 사용하여 출력

결론
뭔가 잘못했는지 몰라도 송수신거리가 5M도 안됨…(원래그런건가.. 벽하나 못뚫음, LNA는 비활성 )
STM8말고 아두이노 쓰자…. 저전력이긴한데 코드작성하기 너무힘들다.
좀 오래 두고두고 쓸려고 심혈을 기울여 작업했는데 게이트웨이쪽 배터리가 너무 빨리닳아서 ㅈㅈ…

2 thoughts on “무선 온습도계”

  1. 이거 너무 지난 글에 댓글을 다는게 아닌가 싶습니다만, 그리고 아실수도 있습니다만..
    ESP 와이파이 모듈에 펌웨어를 작성하면 수신모듈 없이 바로 웹서버로 데이터를 업로드 할수 있습니다.
    특정 시간 단위로 온도 측정하고 딥슬립을 반복하면 배터리도 오래가는 것 같습니다.
    ESP 개발 SDK또한 오픈소스로 배포되고 있습니다.

    1. 관심가져주셔서 감사합니다.
      저도 ESP에 바로 모듈 올리는것도 고려했었는데 저려미 STM8을 사용하고 ESP8266을 게이트웨이로 만드는거로 진행하였습니다.
      지금 생각해보면 NRF24모듈 낭비해가면서 저도 왜그랬는지 과거의 저에게 물어보고싶네요 ㅎㅎ;
      이거말고도 NRF24를 이용해서 BLE 브로드캐스팅으로 측정값 전달하는걸 만들어보고싶었는데 여태 진행은 못해봤습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *