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말고 아두이노 쓰자…. 저전력이긴한데 코드작성하기 너무힘들다.
좀 오래 두고두고 쓸려고 심혈을 기울여 작업했는데 게이트웨이쪽 배터리가 너무 빨리닳아서 ㅈㅈ…