[IoT] 클라우드 플랫폼

정재훈·2022년 5월 17일
0

IoT

목록 보기
3/6

ThingSpeak 란?

ThingSpeak는 클라우드 기반으로 동작되는 데이터 분석 솔류션이다.
채널생성 및 필드 생성하기
API Keys 탭에서 Write Key 복사하기
channel settings에서 channel ID도 복사하기

아두이노 IDE 라이브러리 매니저에서 thingspeak 설치
예제 > thingspeak > esp32 > writesinglefield 예제 띄우기

ssid, pw, channel ID, write API key를 헤더에 입력하여 esp32에 업로드 시켜보면, 웹사이트에서 그래프가 20초마다 생길 것이다.

delay(20000) - 20초보다 짧게 주면 돈을 더 줘야하기 때문에, delay(20000)으로 고정하자!

Firebase

Firebase : 구글에서 제공하는 플랫폼 서비스로 Cloud Database 구축 용도이다. 개발자가 OS 에 관계없이 앱을 만들수 있으며 앱에서 필요로 하는 기능을 API 형태로 제공한다.

프로젝트 생성 후 빌드 > Firestor Database로 이동후 데이터베이스 만들기 > 테스트 모드에서 시작 으로 데이터베이스 생성하기
빌드 > Realtime Database > DB 만들기 > 테스트 모드로 생성하기
생성한 Realtime Database의 주소 복사하기
프로젝트 설정 > 서비스 계정 > DB 비밀번호에서 비밀번호 복사하기

아두이노 IDE 라이브러리 매니저에서 Firebase ESP 32 Client 설치
예제 > Firebase ESP 32 Client > esp32 > writesinglefield 예제 띄우기

#include <WiFi.h>
#include <FirebaseESP32.h>

#define FIREBASE_HOST "haha"  	 // 데이터베이스 주소
#define FIREBASE_AUTH "hoho"	// 데이터베이스 키

FirebaseData firebaseData;
FirebaseJson json;

#define WIFI_SSID "huhu"
#define WIFI_PASSWORD "hehe"

void setup()
{
  Serial.begin(115200);
  
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  Serial.print("Connecting to Wi-Fi");
  while (WiFi.status() != WL_CONNECTED)
  {
    Serial.print(".");
    delay(300);
  }
  Serial.println();
  Serial.print("Connected with IP: ");
  Serial.println(WiFi.localIP());
  Serial.println();
  
  Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION);
  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
}

void loop()
{
    String str= "hello world!";
    
    json.set("payload", str);
    Firebase.pushJSON(firebaseData, "/response", json); // 보내기, 송신
    Serial.println("PATH: " + firebaseData.dataPath());
    Serial.println("PUSH NAME: " + firebaseData.pushName());    
    
    delay(2000);
}
profile
여러 방향으로 접근하는 개발자

0개의 댓글