개발자/Arduino

openweathermap 온도 데이터를 섭씨온도로 변환

지구빵집 2020. 10. 13. 13:36
반응형

 

 

 

읽어 온 데이터를 char 배열이라고 하자.

우선 온도 데이터 char 배열을 String으로 변환한다.

캘빈 데이터를 섭씨 온도로 변화하는 방법은 K - 273.15 = 섭씨 온도가 된다.

 

코드로 옮기면 아래와 같다.

 

// Print the data extracted from the JSON
void printclientData(const struct clientData* clientData) {
  Serial.print("Temp = ");
  String receivedTemp = clientData->temp;  
  Serial.print(receivedTemp.toFloat()-273.15);
  Serial.println(" ℃");
  Serial.print("Humidity = ");
  Serial.print(clientData->humidity);
  Serial.println(" %");
}

 

결과는 

 

18.5 ℃

7 5%

 

이런 과정을 밟기 위해 알아야 할 기본적인 C/C++ 문법을 살펴보면 우선 아두이노 라이브러리 중 toFloat( ) 함수에 대해 알아보자. 

 

toFloat( )

설명 타당한 스트링을 float으로 변환합니다. 입력 문자열은 숫자로 시작해야합니다. 문자열에 숫자가 아닌 문자가 포함 된 경우 함수는 변환 수행을 중지합니다. 예를 들어 문자열 "123.45", "123"및 "123fish"는 각각 123.45, 123.00 및 123.00으로 변환됩니다. '123.456'은 대략 123.46입니다. 부동 소수점의 정밀도는 6 ~ 7 자리이며 더 긴 문자열은 잘릴 수 있습니다.

문법 myString.toFloat()
매개변수 myString: a variable of type String
반환 float
스트링이 숫자로 시작하지 않으면, 0이 반환됨. 

 

다른 문자열 함수는 나중에 보기로 해요. 

 

 

openweathermap 서울 날씨

 

 

 

 

반응형