아두이노 오렌지보드 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!가 출력 되어야 하는데 왜 안될까요 ㅠㅠ
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를 참고 부탁드립니다.