정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

오렌지보드 통신관련 질문입니다.
witu | 2017-12-14

https://kocoafab.cc/make/view/596

작품 만들고 있습니다.

---------------------------------------------------------------------------------------

// 서버에 날씨 데이터 호출 함수
void httpRequest() {
  Serial.println();

  // close any connection before send a new request
  // this will free the socket on the WiFi shield
  client.stop();

  // 제대로 서버에 연결되었을 경우
  if (client.connect(server, 80)) {
    Serial.println("Connecting...");

    // HTTP 요청을 보냄
    client.print("GET /data/2.5/weather?q=Seoul,kr&appid=");  // 서울의 날씨를 확인 (다른 지역의 날씨를 확인할려면 중간에 Seoul,kr 부분을 "지역,나라"로 바꿔주시면 됩니다.)
    //client.print("GET /data/2.5/weather?q=london,uk&appid=");  // 지역 변경 참고
    client.print(VARID);
    client.println(" HTTP/1.1");
    client.println("Host: api.openweathermap.org");
    client.println("Connection: close");
    client.println();

    // note the time that the connection was made
    lastConnectionTime = millis();
    getIsConnected = true;

    // neopixel LED에 흰색불 점등
    for (int i = 0; i < strip.numPixels(); i++) {
      strip.setPixelColor(i, 255, 255, 255);
      strip.show();
    }
  }

  // 제대로 서버에 연결이 되지 않았으면 Connection failed 메세지와 함께 neopixel LED에 적색불 점멸
  else {
    Serial.println("Connection failed");
    getIsConnected = false;
    errorLED();
  }
}

-----------------------------------------------------------------------------------------------------

위 주소에서 가져온 코딩의 일부분입니다.

client.print("GET /data/2.5/weather?q=Seoul,kr&appid="); 에서 Seoul,kr 대신 Tokyo,jp로 바꾸기만 하면

다른 지역의 날씨를 얻는 것이 가능한데

 

const int Button1 = 2;

const int Button2 = 3;

 

#define SEOUL "GET /data/2.5/weather?q=Seoul,kr&appid="

#define TOKYO "GET /data/2.5/weather?q=Tokyo,jp&appid="

 

이렇게 버튼을 연결하고 if문을 쓰던지해서 1번 버튼 누르면 서울 날씨를 읽고

 2번버튼을 누르면 일본 날씨를 읽을 수 있게 하고싶은데 어떻게 해야할까요?

 

이전글   |    아두이노 UNO보드와 MINI 5mp 카메라 오류 관련 질문입니다. ... 2017-12-14
다음글   |    피에조 소자에 대해 질문드립니다. 2017-12-15