WIFI 모듈를 station 모드에서 Hard Coding(정해진) AP에 접속해보는 어플리케이션이다. WIFI station이 AP에 접속하기 위해서는 SSID 와 PW가 필요하다.
1. WIFI station 데모 구현내용
데모위치 | demos/wifi/station/ |
선언 및 정의 부분 |
#include “mxos.h”
#define app_log(M, …) MXOS_LOG(CONFIG_APP_DEBUG, “APP”, M, ##__VA_ARGS__)
#define SSID “snowyang”
#define PASSPHRASE “mxchip123”
void wifi_status_notify(int event, void *arg);ㅇ
main |
♦ 네트워크를 초기화 하고, user 함수가 시스템 notification(event) 메시지를 받을 수 있도록 등록한다. ♦ 주어진 SSID 와 PW로 접속을 진행한다. |
int main(void)
{
/* Initialize network(Wi-Fi, TCP/IP) */
mxos_network_init();
/* Register Wi-Fi status notification */
mxos_system_notify_register(mxos_notify_WIFI_STATUS_CHANGED, wifi_status_notify, NULL);
app_log(“connecting to %s…”, SSID);
/* Connect now! */
mwifi_connect(SSID, PASSPHRASE, strlen(PASSPHRASE), NULL, NULL);
return 0;
}
wifi_status_notify |
시스템으로 부터 전달받은 event에 따라 DBG 시리얼포트로 로그메시지를 출력 |
void wifi_status_notify(int event, void *arg)
{
switch (event)
{
case NOTIFY_STATION_UP:
app_log(“Connected”);
break;
case NOTIFY_STATION_DOWN:
app_log(“Disonnected”);
break;
}
}
2. WIFI station 데모 동작확인
데모를 컴파일 하고 실행파일을 flash에 다운로드 → mxos make wifi.station@emw3080 download jtag=jlink
♦ 접속 실패의 경우 DBG 시리얼포트의 로그메시지 → demo에 있는 SSID와 PW를 그대로 사용해서 나온 결과
♦ 접속 성공의 경우 DBG 시리얼포트의 로그메시지 → 소스코드에 정의(define)되어 있는 SSID와 PW 주변의 AP의 정보로 바꾸어 준다.
// #define SSID “snowyang” ← 주석 처리
// #define PASSPHRASE “mxchip123” ← 주석 처리
#define SSID “EDWORKS2” // by momo.2020.07.19, no comment
#define PASSPHRASE “edw12345” // by momo.2020.07.19, no comment
|
코드를 저장(CTRL+S)하고 다시 컴피일해서 코드를 실행하여 DBG 시리얼포트로 실행결과를 확인한다.
3. 추가 시험 → DBG 시리얼포트로 SSID, PW 입력 받기