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

ThingSpeak Arduino 기상 관측소

구성품 및 소모품

Arduino UNO
× 1
Espressif ESP8266 ESP-01
× 1
DHT11 온도 및 습도 센서(3핀)
× 1
브레드보드(일반)
× 1
점퍼 와이어(일반)
× 1
SparkFun 브레드보드 전원 공급 장치 5V/3.3V
× 1

앱 및 온라인 서비스

ThingSpeak API
Arduino IDE
Microsoft Windows 10

이 프로젝트 정보

THINGSPEAK 아두이노 기상 관측소

IoT에 발 담그기

IoT에 발을 담그는 것은 사용 가능한 방대한 옵션 중에서 어디서부터 시작해야 할지 몰라서 초보자에게 어려울 수 있습니다. 신의 축복이 있는 씽스피크. 이 블로그는 다음과 같은 첫 번째 Thingspeak IoT 프로젝트를 안내합니다.

a) 저렴하고 접근성이 좋습니다.

b) 이해하기 쉬움

c) RAD COOL.

프로젝트 - Arduino와 ESP - 01 wifi 모듈을 사용하여 Thingspeak 클라우드에 데이터를 보내는 온도 및 습도 센서.

필요한 것

1. 아두이노 UNO

2. ESP - 01

3.DHT-11 센서

4.브레드보드

5. 브레드보드 전원 공급 장치

5. 전선 연결.

참고 - 이제 arduino를 사용하여 센서와 wifi 모듈에 전원을 공급할 수 있지만 Breadboard 전원 공급 장치 모듈과 같은 외부 소스는 작동 중인 wifi 모듈의 최대 전류 요구 사항을 보드에서 충족할 수 없기 때문에 더 좋습니다. 저를 믿으려고 노력했습니다

알겠습니다. 바로 들어가 보겠습니다.

연결

ESP -01

1. VCC - 3.3V

2. 접지 - 접지

3. CH_PD - 3.3V

4. 리셋 - 3.3V

5. TX - 2(아두이노)

6. RX - 3(아두이노)

DHT - 11

1. VCC - 5V

2. 아웃 - A0

3. 접지 - 접지

브레드보드 전원 공급 장치에서 점퍼를 3.3V로 설정하는 것을 잊지 마십시오.

이제 모든 것을 켜고 아무 것도 타거나 연기가 나지 않으면 지금까지는 좋습니다.

THINGSPEAK 설정

thingspeak 홈페이지로 이동합니다.

가입하고 온도와 습도 두 필드가 있는 새 채널을 만드십시오.

새 채널을 만들 때 API 키라는 것을 받게 됩니다.

우리는 나중에 이것들을 사용할 것입니다.

아두이노 IDE 설정

이제 이 단계는 코드를 실행하는 데 중요합니다. 도서관.

코드에서 2개를 사용하고 코드에서 3개를 사용합니다.

빨간색 상자에 강조 표시되어 있습니다.

SoftwareSerial.h는 내장 라이브러리이므로 문제가 없습니다.

1. 직접 설치해야 하는 라이브러리는 Adafruit 통합 센서 라이브러리와 DHT 센서 라이브러리입니다. 다운로드 링크

adafruit의 DHT 센서- https://github.com/adafruit/DHT-sensor-library

아다프루트 통합 센서 라이브러리- https://github.com/adafruit/Adafruit_Sensor

2. 둘 다 다운로드하고 IDE의 Add.ZIP 라이브러리 기능을 사용하여 추가합니다.

홈스트레치

코드는 여기에 있습니다 - https://github.com/imalwaysontheinternet/Weather-Stasion또는 여기에서 코드를 복사하여 스케치에 붙여넣으세요.

업로드하기 전에 코드에서 몇 가지 작업을 수행해야 합니다.

1. 여기에 쓰기 API 키를 붙여넣으세요.

2. 여기에 Wi-Fi SSID와 비밀번호를 입력하세요.

코드를 업로드합니다. 모든 것이 올바르게 완료되면 Thingspeak 채널이 다음과 같이 보일 것입니다.

그래프 업데이트 사이에는 15초의 간격이 있습니다.

그래도 문제가 해결되지 않으면 아래 의견에 문제를 적어주세요. 언제든지 기꺼이 도와드리겠습니다. 이와 같은 추가 프로젝트 및 문의 사항이 있는 경우 virginrobotics.blogspot.com을 방문하십시오.

<섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

코드

<울>
  • 코드
  • 코드아두이노
    String myAPIkey ="여기에 API 키 쓰기"; #include #include ;SoftwareSerial ESP8266(2, 3); // Rx, Tx#define DHTTYPE DHT11#define DHTPIN A0DHT dht(DHTPIN, DHTTYPE,11);부유 습도, temp_f; 긴 writeTimer =17; 긴 시작 시간 =0, 긴 대기 시간 =0, 부울 릴레이1_st =거짓; 부울 relay2_st =거짓; unsigned char check_connection=0;unsigned char times_check=0;boolean error;void setup(){ Serial.begin(9600); ESP8266.begin(9600); dht.begin(); 시작 시간 =밀리(); ESP8266.println("AT+RST"); 지연(2000); Serial.println("와이파이 연결 중"); while(check_connection==0) { Serial.print("."); ESP8266.print("AT+CWJAP=\"와이파이 네트워크 이름\",\"패스워드\"\r\n"); ESP8266.setTimeout(5000); if(ESP8266.find("와이파이 연결\r\n")==1) { Serial.println("와이파이 연결"); 부서지다; } times_check++; if(times_check>3) { times_check=0; Serial.println("재접속을 시도합니다.."); } }} 무효 루프(){ waitTime =millis()-startTime; if (waitTime> (writingTimer*1000)) { readSensors(); writeThingSpeak(); 시작 시간 =밀리(); }} 무효 readSensors(무효){ temp_f =dht.readTemperature(); 습도 =dht.readHumidity();} 무효 writeThingSpeak(무효){ startThingSpeakCmd(); // 문자열 준비 GET String getStr ="GET /update?api_key="; getStr +=myAPIkey; getStr +="&필드1="; getStr +=문자열(temp_f); getStr +="&필드2="; getStr +=문자열(습도); getStr +="\r\n\r\n"; GetThingspeakcmd(getStr); } 무효 startThingSpeakCmd(무효){ ESP8266.flush(); 문자열 cmd ="AT+CIPSTART=\"TCP\",\""; cmd +="184.106.153.149"; // api.thingspeak.com IP 주소 cmd +="\",80"; ESP8266.println(cmd); Serial.print("시작 명령:"); 직렬.println(cmd); if(ESP8266.find("오류")) { Serial.println("AT+CIPSTART 오류"); 반품; }}문자열 GetThingspeakcmd(문자열 getStr){ 문자열 cmd ="AT+CIPSEND="; cmd +=문자열(getStr.length()); ESP8266.println(cmd); 직렬.println(cmd); if(ESP8266.find(">")) { ESP8266.print(getStr); 직렬.println(getStr); 지연(500); 문자열 messageBody =""; while (ESP8266.available()) { 문자열 줄 =ESP8266.readStringUntil('\n'); if (line.length() ==1) { messageBody =ESP8266.readStringUntil('\n'); } } Serial.print("MessageBody 수신:"); Serial.println(messageBody); 반환 messageBody; } else { ESP8266.println("AT+CIPCLOSE"); Serial.println("AT+CIPCLOSE"); } }

    회로도

    코드
    https://github.com/imalwaysontheinternet/Weather-Station

    제조공정

    1. Raspberry Pi 2 기상 관측소
    2. 라즈베리 파이 기상 관측소
    3. Weather Station V 2.0
    4. Arduino 디지털 주사위
    5. 아이언맨
    6. 나를 찾기
    7. Arduino 3D 인쇄 로봇 팔
    8. Arduino 가습기 제어
    9. $10 휴대용 Arduino 기상 관측소(AWS)
    10. eDOT - Arduino 기반 정밀 시계 및 기상 관측소