아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
진득한쇠오리110
진득한쇠오리11020.10.14

아두이노 오렌지보드 WiFi MQTT 질문

#include "WizFi250.h"

char ssid[] = "1234";

char password[] = "1234";

void setup() {

Serial.begin(115200);

delay(10);

Serial.println();

Serial.println();

Serial.println("Connecting to~");

Serial.println(ssid);

WiFi.begin(ssid, password);

while(WiFi.status() != WL_CONNECTED){

delay(500); // 0.5초

Serial.print(",");

}

Serial.println();

Serial.println("Wi-Fi Connected!");

Serial.println(WiFi.localIP());

}

void loop() {

}

원래라면 Serial.println("Wi-Fi Connected!");에 의해 Wi-Fi Connected!가 출력 되어야 하는데 왜 안될까요 ㅠㅠ

55글자 더 채워주세요.
답변의 개수
2개의 답변이 있어요!
  • while(WiFi.status() != WL_CONNECTED){

    delay(500); // 0.5초

    Serial.print(",");

    }

    위 루프구역에서 WL_CONNECTED 를 만나지 않았기에 무한루프를 돌고 있는것처럼 보이네요

    루프안에 카운트체크변수 a 같은것을 넣어서 해당 a값이 100을 넘으면 빠져나갈수 있는 if 문을 만들어보세요

    저 같으면 이렇게 체크해보겠습니다

    ==============================================

    추가글 )

    소스를 보니 WiFi.init() 이란 함수를 빼먹으셨네요

    Serial.begin(115200);
    WiFi.init();

    이렇게 해주셔야 합니다

    그리고 다음줄에

    // WizFi250 와이파이모듈이 잘 동작될 수 있는지 검사해 본다.
    if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println(“WiFi shield not present”);
    // 만일 문제가 있다면 여기서 홀딩한다.
    while (true);
    }

    즉, 어떤 기기를 사용하시려면 초기정보 셋팅후 init 이라는 초기화 함수를 불러주셔야 합니다

    안그러면 셋팅만 된 상태지 초기화가 안됩니다

    더 상세한 자료는

    http://www.ntrexgo.com/archives/33059

    위 링크 참고해보세요


  • 안녕하세요.

    WiFi.begin(ssid, password); while(WiFi.status() != WL_CONNECTED){ delay(500); // 0.5초 Serial.print(","); }

    에서 block되었기 때문입니다.

    우선은 wifi shield가 제대로 장착되었는지를 확인하는 code와

    while문안으로 WiFi.begin을 추가하는 것이 필요합니다.

    https://www.arduino.cc/en/Tutorial/LibraryExamples/ConnectWithWEP

    의 reference code를 참고 부탁드립니다.