How to send AT command to WizFi360-EVB-Pico using Kaluma.js

이경은·2022년 12월 13일
0
post-thumbnail

1. Introduction

이 컨텐츠에서는 kaluma 기초 사용법과 wizif360을 활용해서 wifi에 연결하고, AT 커맨드를 보내는 방법에 대해서 설명합니다.

This tutorial explains how to use kaluma basics and how to connect to WiFi using WizFi360 and send AT commands.

1.1. What is Kaluma?

kaluma는 작고 효율적인 RP2040을 위한 자바스크립트 런타임입니다. 더 자세한 내용은 아래의 링크를 참조하세요.
https://kalumajs.org/

2. Getting Started (Turn on the built-in LED)

2.1. Upload the firmware

아래의 링크에서 .uf2 펌웨어 파일을 다운로드한 후, 피코 보드에 업로드합니다.
https://kalumajs.org/download/

2.2. Install Kaluma CLI

kaluma가 설치된 pico를 프로그래밍 하기 위해서는 kaluma cli가 설치되어 있어야 합니다. 여기에서는 node.js가 설치되었다는 전제하에 진행합니다.

# kaluma 설치
npm install -g @kaluma/cli

설치가 완료되었다면 Cmd 창에서 아래 명령어를 실행하면 도움말을 확인하고, 연결된 시리얼 포트의 이름을 확인할 수 있습니다.

# 도움말 확인
kaluma help

# 포트 확인
kaluma ports 

2.3. 터미널로 접속하기

Putty 또는 TeraTerm 같은 시리얼 터미널 프로그램을 통해 Pico에 접속해서 명령어를 보냅니다.
.hi 명령어를 보내면 kaluma의 환영 메시지가 출력됩니다.

.hi

2.4. 내장 LED 켜기

터미널에서 아래의 명령어를 차례대로 입력하면 내장 LED에 불이 들어옵니다.
digitalWrite(25, HIGH)를 보내면 불이 켜지고, digitalWrite(25, LOW) 명령을 보내면 불이 꺼지게 됩니다.

> pinMode(25, OUTPUT);
> digitalWrite(25, HIGH);


3. WizFi360에 AT Command 보내기

Kaluma의 기본 예제에서는 기본 Pico 보드에 ESP8266를 연결해서 와이파이 통신을 구현했습니다.
하지만 이 튜토리얼에서는 보드에 내장된 WizFi360을 활용해서 와이파이 통신을 구현합니다.

3.1. UART

아래의 명령어들을 터미널에서 입력합니다. UART 통신을 위한 포트와 기타 옵션들을 설정합니다.
마지막 명령어를 입력하면, 설정한 포트와 기타 옵션 정보를 확인할 수 있습니다.

> const {UART} = require('uart');
> let uart1 = new UART(1, {baudrate: 115200, tx: 4, rx: 5, bufferSize: 1024});
> uart1.on('data', d=>{print(String.fromCharCode.apply(null, d))});

_native에 있는 것들은 UART 객체를 생성할 때 옵션으로 설정할 수 있습니다.

3.2. AT Command 보내기

3.2.1. AT 모드 확인

WizFi360에 제대로 연결되었고 AT 커맨드에 정상적으로 반응하는지 확인합니다.
UART1을 통해서 Pico로 AT\r\n 문자열을 송신하면, 전송된 명령어의 에코가 수신된 후 결과 OK가 수신됩니다.

> uart1.write('AT\r\n');

3.2.2. 초기화 명령

ready가 나오면 초기화가 잘 된 것이다.

> uart1.write('AT+RST\r\n');

3.2.3. MAC address 확인

> uart1.write('AT+CIPSTAMAC_CUR?\r\n');

3.2.4. wifi 모드 설정

WizFi360을 Station mode로 설정한다.

> uart1.write('AT+CWMODE_CUR=1\r\n');

3.2.5. DHCP 모드 설정

DHCP 를 활성화한다.

> uart1.write('AT+CWDHCP_CUR=1,1\r\n');

3.2.6. WiFi 연결

사용 가능한 AP에 연결합니다. 사용할 WIFI 라우터의 SSID와 PASSWORD를 입력하고 명령어를 보냅니다.

> uart1.write('AT+CWJAP_CUR="WIFI_SSID","WIFI_PASSWORD"\r\n');

연결에 성공하면 아래처럼 출력됩니다.

이렇게 해서 Kaluma를 사용해서 WizFi360-EVB-Pico에 AT 커맨드를 보내고, WiFi 연결하는 방법에 대해서 알아보았습니다. WizFi360의 다양한 AT 커맨드는 링크에서 확인할 수 있습니다.


참조
https://kalumajs.org/
https://github.com/kaluma-project/kaluma
https://javascript.plainenglish.io/physical-computing-with-javascript-1-8-lets-get-started-642a9954adb2
https://javascript.plainenglish.io/physical-computing-with-javascript-8-8-connecting-to-internet-151ba3dfce59

profile
Web Developer

0개의 댓글