여기에서는 MXOS에서 제공하는 CLI 명령에 대한 기본적인 사용법에 대한 설명 한다. ⊗ 명령은 대소문자를 구분한다.
♦ help → 전체 명령리스트와 기능에 대한 쿼리,
♦ version → 통신모듈에 설치된 펌웨어 버전 쿼리
♦ echo → 입력한 명령에 대해 에코기능을 설정 또는 쿼리
◊ echo → echo 기능 쿼리, 현재 echo 기능이 enable 상태인지 disable 상태인지 표시
◊ echo off → echo off 명령 후 version 명령을 입력한 경우로 아래 그림을 참조한다.
“echo off” 명령 후 에코기능이 비활성화 되므로 명령행에 입력한 명령이 표시 되지 않고 있다. → 명령은 실제로 입력되고 있다.
♦ exit → CLI 명령 입출력을 종료, 이 후 명령은 입력되지 않는다. Reset/Power-Off/On 후에 명령 입력이 가능.
♦ scan → 주변에 있는 AP를 검색하여 나열한다. → void wifiscan_Command(CLI_ARGS) 가 호출 된다.
통신모듈 근처에 있는 AP들에 대한 AP의 MAC, SSID, 채널, 암호방식, 신호강도 등에 대한 리스트를 확인할 수 있다.
♦ wifistate → Wi-Fi의 접속상태 및 접속된 AP에 대한 정보를 쿼리 → void wifistate_Command(CLI_ARGS) 가 호출 된다.
첫 번째로 출력된 부분은 연결될 AP의 정보를 나열하는 경우로 SSID, 암호, BSSID 및 Retry 간격(밀리 초)에 대한 정보를 보이고 있다.
이후 접속 되었음을 표시하고 있으며, 두 번째 부분에서 접속된 AP의 SSID, 채널, 신호 강도 및 BSSID등에 대한 상태를 출력한다.
♦ wifidebug → WiFi 디버깅 기능 설정 또는 보기 → void wifidebug_Command(CLI_ARGS) 가 호출된다. argc=2 상태에서 WiFi 디버그 출력을 켜고 끄고는 argv[1]가 “on” 또는 “off”로 설정한다.
◊ 통신모듈이 Pairing 상태, 즉 AP에 접속을 시도하고 있는 중에 이 명령을 실행했을 때 출력되는 메시지는 아래와 같다.
⊗ 이 명령은 통신모듈이 부팅한 이후 명령을 입력해야 유효하다, 즉 통신 모듈이 재부팅을 하면 명령을 재 입력해야 기능이 활성화 된다.
◊ wifidebug off → wifi debug 기능을 끄는 것으로 출력되는 메시지는 아래와 같다.
♦ ifconfig → 통신모듈의 IP 정보들을 쿼리 → void ifconfig_Command(CLI_ARGS)가 호출된다
♦ ping → 통신모듈이 다른 장치와 의 IP로 통신 할 수 있는 상태인 지 테스트한다. → void ping_Command(CLI_ARGS)가 호출된다.
CLI에서 IP주소에 대해서 지원하고 있으며 도메인이름(domain name)에 의한 ping은 지원하고 있지 않다. 아래의 예에서는 192.168.1.1으로 ping을 하고 있다.
♦ arp → ARP 목록 쿼리 또는 지우기 → void arp_Command(CLI_ARGS))
Arp 명령은 한 개의 매개변수를 지원하며, show 와 clean으로 구분된다. show는 arp 캐시를 출력하는데 사용한다.
◊ 명령창에서 arp 명령을 실행하면 출력되는 메시지는 하기와 같다.
◊ 명령행에서 arp show 명령을 실행 → LAN 상으로 ping 명령 실행(예: 192.168.6.155) → 다시 arp show 명령을 실행
◊ 명령행에서 arp clean 명령을 실행하여 arp 캐시를 지운 후 , arp show 명령을 실행하면 출력 정보는 하기와 같다.
♦ dns → DNS 도메인이름(domain name) 으로 조사된 IP 주소를 쿼리 또는 삭제 → void dns_Command(CLI_ARGS)
◊ 명령행 에서 dns 명령을 입력하면 dns 명령 형식을 표시한다. → ⊕ 통신모듈은 wifi_uart transparent mode 데모를 실행하고, 네트워크에 접속되어 있는 상태로 만든다.
◊ 명령행에서 다음 명령을 입력한다. → dns show
◊ 이 상태에서 명령행에서 다음 명령을 실행한다. → dns www.baidu.com
◊ 명령행에서 다시 다음 명령을 입력한다. → dns show
◊ 명령행에서 다음 명령을 실행한다.→ dns clean
♦ sockshow → socket 상태를 쿼리 → void socket_show_Command(CLI_ARGS)가 호출 → 현재 시스템의 TCP 또는 UDP, BSD 소켓의 상태를 리스트로 보여준다.
♦ tasklist → 시스템의 현재 스레드(thread) 상태를 쿼리 → void task_Command(CLI_ARGS)가 호출된다.
⊕ Status: R(실행 중), S(중지 중), B(차단 중), ⊕ Prioty: 스레드(thread)의 우선 순위, ⊕ Stack: 스레드가 차지하고 있는 스택 공간, ⊕TCB: 스레드 작업의 블록의 크기
♦ memshow → 시스템의 현재 메모리 상태를 쿼리 → void memory_show_Command(CLI_ARGS)를 호출
♦ memdump → 지정한 메모리 주소부터 지정한 바이트(Byte) 수만큼 데이터 읽어와서 표시한다 → void memory_dump_Command(CLI_ARGS)를 호출한다.
다음의 명령을 예로 입력한다 → memdump 0x200003c0 6 → 명령 실행 결과는 지정된 주소 부터 시작하여 메모리 내용을 HEX(16진수) 포맷으로 보여준다.
♦ memset → 지정된 메모리 주소에 데이터를 설정 → void memory_set_Command(CLI_ARGS)
◊ 지정한 메모리주소 부터 명시한 데이터 값을 써넣는다. 명령은 다음과 같다. → memset 0x200003c0 01 02 03 04 05 06 → 써넣은 데이터 내용 확인: memdump 0x200003c0 6
⊕ 일부 메모리 영역은 쓸 수 없는 경우도 있다.
♦ memp → 메모리공간에 대한 할당목록(프로토콜 스택에 대한 cache memory)의 사용량을 쿼리 → void memp_dump_Command(CLI_ARGS)
♦ wifidriver → Wi-Fi 드라이버 동작 정보/상태를 쿼리 → void driver_state_Command(CLI_ARGS)
♦ reboot → MXOS 시스템을 다시 시작한다.
♦ tftp → tftp 프로토콜에 의한 파일 전송 → ⊗ 당분간은 지원되지 않습니다.
♦ time → 시스템 시간을 쿼리.
♦ ota → OTA 업그레이드를 수행한다. ⊗ 당분간은 지원되지 않습니다.
♦ flash → 플래시 공간 할당 목록 쿼리
♦ micodebug → MXOS 실행 로그 출력 기능 끄기 또는 켜기
◊ 명령행에서 다음 명령을 실행한다. → micodebug off
통신모듈을 데이터모드(Transparent mode) 상태로 동작시킨다. → Easylink를 통해 통신모듈을 서버의 IP에 연결한다 → 명령에 의해 로그정보가 출력 되지 않을 것이다..
◊ 명령행에서 다음 명령을 실행한다. → micodebug on
검증: 통신모듈을 데이터모드(Transparent mode) 상태로 동작시킨다. → Easylink를 통해 통신모듈을 서버의 IP에 연결한다 → 명령에 의해 로그정보가 출력 되는 것을 확인할 수 있다.