산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

ESP8266과 DHT22 온습도 센서로 와이파이 기상 관측소 만들기

부품 및 소모품

부품 수량
ESP8266 ESP-01 모듈 1
DHT22 온습도 센서 1
브레드보드 1
점퍼 와이어 1
UDOO USB/시리얼 디버그 모듈 (또는 FTDI 어댑터) 1
아두이노 우노 (ESP8266 프로그래밍용) 1

프로젝트 소개

오랜 기간 야외 기상 데이터를 자동으로 수집해 스프레드시트에 기록하고 싶어서 소형 기상 관측소를 직접 제작했습니다. 단순히 재미로 시작한 프로젝트지만, 지역 농업 환경 모니터링에도 활용할 수 있겠다는 생각이 들었습니다.

1단계: 하드웨어 준비

ESP8266과 DHT22 온습도 센서로 와이파이 기상 관측소 만들기
준비된 부품들

2단계: ESP8266 펌웨어 업로드

아두이노 우노를 USB-시리얼 변환기로 이용해 ESP8266에 스케치를 업로드합니다. 주의: 이렇게 하면 ESP8266의 순정 펌웨어가 지워집니다. 복구하려면 별도 과정이 필요하니 참고하세요.

ESP8266과 DHT22 온습도 센서로 와이파이 기상 관측소 만들기
ESP8266 프로그래밍 연결도

3단계: DHT22 센서 연결

ESP8266과 DHT22 온습도 센서로 와이파이 기상 관측소 만들기
DHT22 센서 브레드보드 연결
ESP8266과 DHT22 온습도 센서로 와이파이 기상 관측소 만들기
상세 회로도
ESP8266과 DHT22 온습도 센서로 와이파이 기상 관측소 만들기
배선 상세

4단계: ThingSpeak 채널 통신 확인

미리 생성해 둔 ThingSpeak 채널과 정상적으로 통신하는지 확인합니다. 채널 작성 API 키와 채널 번호가 필요합니다.

ESP8266과 DHT22 온습도 센서로 와이파이 기상 관측소 만들기
ThingSpeak 채널 설정 화면

데이터 전송에 필수적인 코드 라인:

#include <ThingSpeak.h>
unsigned long myChannelNumber = 167xxx;
const char * myWriteAPIKey = "VXXXXV86RWRXX9Y";

ThingSpeak.writeField(myChannelNumber, 1, h, myWriteAPIKey); // 습도
delay(20000);
ThingSpeak.writeField(myChannelNumber, 2, t, myWriteAPIKey); // 온도
delay(20000);

5단계: 전원 공급 고려사항

ESP8266은 순간적으로 많은 전류를 소모합니다. PC USB 포트만으로는 부족할 수 있으니 외부 전원(예: 3.3V 레귤레이터 또는 리튬 배터리)을 병행해 안정적으로 공급하세요.

ESP8266과 DHT22 온습도 센서로 와이파이 기상 관측소 만들기
외부 전원 병행 연결 예시

6단계: 센서 확장 아이디어

ThingSpeak 무료 채널은 최대 8개 필드까지 기록 가능합니다. 기압계(BMP280 등), 풍속계, 토양 수분 센서 등을 추가해 더 풍부한 기상 데이터를 수집해 보세요.

완성 코드 (temphumwifi.ino)

#include <ThingSpeak.h>
#include <DHT.h>
#include <ESP8266WiFi.h>

#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);

unsigned long myChannelNumber = 167319;
const char * myWriteAPIKey = "XXXP9V86RWR7R9Y";
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";

WiFiClient client;
WiFiServer server(80);

void setup() {
  Serial.begin(115200);
  delay(10);
  dht.begin();

  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println(WiFi.localIP());

  ThingSpeak.begin(client);
}

void loop() {
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  Serial.print("Humidity: ");
  Serial.println(h);
  Serial.print("Temperature: ");
  Serial.println(t);
  delay(2000);

  ThingSpeak.writeField(myChannelNumber, 1, h, myWriteAPIKey);
  delay(20000);
  ThingSpeak.writeField(myChannelNumber, 2, t, myWriteAPIKey);
  delay(20000);
}

회로도

ESP8266과 DHT22 온습도 센서로 와이파이 기상 관측소 만들기
ESP8266 + DHT22 + ThingSpeak 전체 회로도

제조공정

  1. 라즈베리 파이와 파이썬으로 원격 온도 센서 만들기 – 단계별 가이드
  2. 라즈베리 파이 기상 관측소 만들기: 매일 이메일로 날씨 데이터 전송
  3. 라즈베리 파이 & DS18B20으로 다중 센서 온도 & 조도 모니터링 시스템 구축
  4. 라즈베리 파이 센서 및 액추에이터 제어 마스터하기: 가속도계, 서보 모터, 데이터 스트리밍
  5. 습도 센서 검증 및 보정으로 정밀 측정 달성하기
  6. Windows 10 IoT Core에서 SHT15로 정확한 온도 & 습도 모니터링
  7. MAX6675 IC로 아두이노 포텐타 H7에 열전대 센서 연동하기
  8. DHT11 온습도 센서 + LED 표시등 + 피에조 부저 프로젝트
  9. 스마트 IoT 자 제작: ESP8266, 아두이노 & 초음파 센서로 실시간 모니터링
  10. 강 건강 모니터: 아두이노 기반 수질 측정 시스템