void loop() {
if (client.connected()) {
while (client.available() && !SuccessCall) {
//라인을 기준으로 문자열을 저장한다.
String line = client.readStringUntil('\n');
//Serial.println(line);
//시간
int temp11 = line.indexOf("</hour>");
if (temp11 > 0) {
String tmp_str = "<hour>";
String wt_hour = line.substring(line.indexOf(tmp_str) + tmp_str.length(), temp11);
Serial.print("hour is ");
Serial.println(wt_hour);
}
//온도
int temp = line.indexOf("</temp>");
if (temp > 0) {
String tmp_str = "<temp>";
String wt_temp = line.substring(line.indexOf(tmp_str) + tmp_str.length(), temp);
Serial.print("temperature is ");
Serial.println(wt_temp);
}
//날씨 정보
int wfEn = line.indexOf("</wfEn>");
if (wfEn > 0) {
String tmp_str = "<wfEn>";
String wt_twfEn = line.substring(line.indexOf(tmp_str) + tmp_str.length(), wfEn);
Serial.print("weather is ");
Serial.println(wt_twfEn);
if (wt_twfEn == "Rain") {
colorWipe(strip.Color(0, 0, 255), 50);
colorWipe1(strip1.Color(0, 0, 255), 50);
colorWipe2(strip2.Color(0, 0, 0), 50);
colorWipe3(strip3.Color(0, 0, 0), 50);
}
else if (wt_twfEn == "Lightning") {
colorWipe(strip.Color(255, 255, 255), 50);
colorWipe1(strip1.Color(0, 0, 0), 50);
theaterChase2(strip2.Color(255, 150, 0), 50);
//colorWipe2(strip2.Color(255, 150, 0), 50);
colorWipe3(strip3.Color(0, 0, 0), 50);
}
else if (wt_twfEn == "snow") {
colorWipe(strip.Color(100, 155, 255), 50);
colorWipe1(strip1.Color(0, 0, 0), 50);
colorWipe2(strip2.Color(0, 0, 0), 50);
colorWipe3(strip3.Color(100, 155, 255), 50);
}
else {
colorWipe(strip.Color(255, 255, 255), 50);
colorWipe1(strip1.Color(0, 0, 0), 50);
colorWipe2(strip2.Color(0, 0, 0), 50);
colorWipe3(strip3.Color(0, 0, 0), 50);
}
}
//습도
int reh = line.indexOf("</reh>");
if (reh > 0) {
String tmp_str = "<reh>";
String wt_reh = line.substring(line.indexOf(tmp_str) + tmp_str.length(), reh);
Serial.print("Humidity is ");
Serial.println(wt_reh);
SuccessCall = true;
}
}
}
if (millis() - lastConnectionTime > postingInterval) { //interval 시간이 충족되었다면
connectToServer(); //데이터 호출
}
}
저희가 https://kocoafab.cc/make/view/668를 참고하여 만드는 와중에 한국 RSS로 안된다는 것을 알고, OPENWHEATHERMAP을 참고하여 날씨 정보 받아오는것을 성공하였는데, 저희가 이제 네오픽셀을 제어하여야하는데 이게 한국 RSS코드에 맞춰줘 있어서 그런지 날씨 정보를 네오 픽셀에 적용이 되지가 않네요.... 어떻게 해야 적용이 될까요???....
|