nCube:Thyme for Arduino Application : nCube Air (Korean) nCube Air Setup & Execution - IoTKETI/nCube-Thyme-Arduino GitHub Wiki

nCube-Air Setup & Execution

1. nCube-Air Source Code Setup


lib/OneM2MClient/examples/nCube-Air ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” nCube-Air.ino ์†Œ์Šค ์ฝ”๋“œ๋ฅผ src ๋””๋ ‰ํ† ๋ฆฌ์— ๋ณต์‚ฌํ•˜๊ณ , ๊ธฐ์กด src ๋””๋ ‰ํ† ๋ฆฌ์— main.cpp ํŒŒ์ผ์„ ์‚ญ์ œํ•œ๋‹ค.


nCube-Air.ino ํŒŒ์ผ์„ src ๋””๋ ‰ํ† ๋ฆฌ์— ๋ณต์‚ฌํ•œ ๊ฒฐ๊ณผ์ด๋‹ค.


nCube-Air.ino ์†Œ์Šค ์ฝ”๋“œ์˜ 120~127 ๋ผ์ธ ์ค‘ 122 ๋ผ์ธ์€ AE์˜ ์ด๋ฆ„์„ ์„ค์ •ํ•˜๋Š” ๋ผ์ธ์ด๋‹ค.

// Information of CSE as Mobius with MQTT
const String FIRMWARE_VERSION = "1.0.0.0";
String AE_NAME = "air1-keti";
String AE_ID = "S" + AE_NAME;
const String CSE_ID = "/Mobius2";
const String CB_NAME = "Mobius";
const char* MOBIUS_MQTT_BROKER_IP = "203.253.128.161";
const uint16_t MOBIUS_MQTT_BROKER_PORT = 1883;

์œ„์˜ ์˜ˆ์ œ ์ฒ˜๋Ÿผ air1์—์„œ ์ž์‹ ๋งŒ์˜ AE ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊พธ์–ด์ค€๋‹ค.

2. nCube-Air Source Code Upload


USB ์ผ€์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์—ฌ Adafruit Feather M0 ๋ณด๋“œ์™€ PC๋ฅผ ์—ฐ๊ฒฐํ•œ๋‹ค.

์œ„์—์„œ ์ˆ˜์ •ํ•œ nCube-Air.ino ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผ ํ•˜๊ณ , Adafruit Feather M0 ๋ณด๋“œ๋กœ ์—…๋กœ๋“œ ํ•ด์•ผํ•œ๋‹ค.
VS Code์˜ ์™ผ์ชฝ ์‚ฌ์ด๋“œ๋ฐ”์—์„œ PlatformIO IDE ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ณ , PROJECT TASKSํƒญ์˜ Upload ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค.
Upload ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด PlatformIO IDE๋Š” ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜๊ณ  ์—ฐ๊ฒฐ๋œ ๋ณด๋“œ๋กœ ์—…๋กœ๋“œ ํ•œ๋‹ค.
์—…๋กœ๋“œ๊ฐ€ ๋ชจ๋‘ ์™„๋ฃŒ๋˜๊ณ  ๋‚œ ๋’ค์— ์ƒํƒœ ์ฐฝ์— SUCCESS ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚œ๋‹ค.

3. nCube-Air Execution


nCube-Air ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ์ƒํƒœ์™€ WiFi ์—ฐ๊ฒฐ์— ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ์‹œ๋ฆฌ์–ผ ๋ชจ๋‹ˆํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
VS Code์˜ ์™ผ์ชฝ ์‚ฌ์ด๋“œ๋ฐ”์—์„œ PlatformIO IDE ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ณ , PROJECT TASKSํƒญ์˜ Monitor ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค.


์‹œ๋ฆฌ์–ผ ๋ชจ๋‹ˆํ„ฐ๋ฅผ ๋ณด๋ฉด, ํ˜„์žฌ nCube-Air๊ฐ€ Provision ๋ชจ๋“œ์ž„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
nCube-Air๋Š” WiFi ์—ฐ๊ฒฐ์„ ํ†ตํ•ด์„œ MQTT ํ”„๋กœํ† ์ฝœ๋กœ Mobius์™€ ํ†ต์‹ ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์—…๋กœ๋“œ ํ•œ ์งํ›„์˜ nCube-Air๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” WiFi AP๋ฅผ ์•Œ ์ˆ˜ ์—†๋‹ค.
๋”ฐ๋ผ์„œ nCube-Air๊ฐ€ ์Šค์Šค๋กœ WiFi AP๋กœ ๋™์ž‘ํ•˜๋ฉด์„œ ์›น์„œ๋ฒ„๋ฅผ ๊ตฌ๋™ํ•จ์œผ๋กœ์จ, ์‚ฌ์šฉ์ž๊ฐ€ nCube-Air๊ฐ€ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” WiFi AP ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋„๋ก ๋™์ž‘ํ•˜๋Š”๊ฒƒ์ด Provision ๋ชจ๋“œ์ด๋‹ค.
Provision ๋ชจ๋“œ์— ์žˆ๋Š” nCube-Air์— WiFi ๋กœ ์ ‘์†ํ•˜์—ฌ, nCube-Air์˜ ์›น ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด์„œ nCube-Air๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” WiFi AP ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด, nCube-Air๊ฐ€ WiFi AP ๋ชจ๋“œ๋ฅผ ํ•ด์ œํ•˜๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ WiFi ์ •๋ณด๋ฅผ ์ด์šฉํ•˜์—ฌ WiFi AP์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋‹ค.


Provision ๋ชจ๋“œ์—์„œ๋Š” Red LED๊ฐ€ ๋น ๋ฅด๊ฒŒ ์ ๋ฉธํ•˜๊ณ , Green LED๊ฐ€ ์ ๋“ฑ๋œ ์ƒํƒœ๊ฐ€ ์œ ์ง€๋œ๋‹ค.


Adafruit Feather M0 ๋ณด๋“œ์˜ WiFi ๋ชจ๋“ˆ ์œ„์— ๋ถ™์–ด์žˆ๋Š” ์Šคํ‹ฐ์ปค์˜ ์ •๋ณด์ค‘์— MAC ์ฃผ์†Œ์˜ ๋งˆ์ง€๋ง‰ ๋„ค ์ž๋ฆฌ์˜ ๋ฌธ์ž๋ฅผ ๊ธฐ์–ตํ•˜๊ณ ,


๋žฉํƒ‘ ๋˜๋Š” ์Šค๋งˆํŠธํฐ์˜ WiFi๋ฅผ ์ด์šฉํ•˜์—ฌ wifi101-[MAC ์ฃผ์†Œ ๋งˆ์ง€๋ง‰ ๋„ค ์ž๋ฆฌ]๋กœ ๊ฒ€์ƒ‰๋˜๋Š” WiFi AP์— ์—ฐ๊ฒฐํ•œ๋‹ค.


WiFi AP์— ์—ฐ๊ฒฐํ•œ ๋’ค์—, ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์—ด์–ด http://wifi101.local URL๋กœ ์ ‘์†ํ•˜์—ฌ ์•„๋‘์ด๋…ธ์˜ WiFi ์„ค์ • ํŽ˜์ด์ง€์— ์ ‘์†ํ•œ๋‹ค.


WiFi ๋ชจ๋“ˆ์˜ ํŽŒ์›จ์–ด ๋ฒ„์ „์— ๋”ฐ๋ผ WiFi ์„ค์ • ํŽ˜์ด์ง€์˜ ๋ชจ์–‘์— ์ฐจ์ด๊ฐ€ ๋‚  ์ˆ˜ ์žˆ๋‹ค.
Network Name ๋˜๋Š” SSID์—๋Š” nCube-Air๊ฐ€ ์ด์šฉํ•  WiFi AP์˜ SSID๋ฅผ ์ž…๋ ฅํ•˜๊ณ , Pass phrase ๋˜๋Š” PASSWORD์—๋Š” AP์˜ ํŒจ์Šค์›Œ๋“œ๋ฅผ ์ž…๋ ฅํ•œ ํ›„ connect ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค.


์ž…๋ ฅํ•œ WiFi AP์— nCube-Air๊ฐ€ ์—ฐ๊ฒฐ๋˜๊ณ  ๋‚œ ์ดํ›„์—, ์‹œ๋ฆฌ์–ผ ๋ชจ๋‹ˆํ„ฐ๋ฅผ ํ†ตํ•ด์„œ ์ ‘์†ํ•œ WiFi AP์˜ ์ด๋ฆ„๊ณผ nCube-Air๊ฐ€ ํ• ๋‹น๋ฐ›์€ IP์ฃผ์†Œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
์ดํ›„, nCube-Air๋Š” Mobius์— ๋ฆฌ์†Œ์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์„ผ์„œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋กœ๋“œํ•˜๋ฉฐ, ์‹œ๋ฆฌ์–ผ ๋ชจ๋‹ˆํ„ฐ๋ฅผ ํ†ตํ•ด์„œ ์ด ๊ณผ์ •์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

WiFi ์—ฐ๊ฒฐ์ด ๋œ ์ดํ›„์—๋Š” Red LED๊ฐ€ ์†Œ๋“ฑ๋˜๊ณ , Green LED๊ฐ€ ์ ๋“ฑ๋˜๋ฉฐ, ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ WiFi๋ฅผ ํ†ตํ•ด์„œ Mobius๋กœ ์—…๋กœ๋“œ ํ•  ๋•Œ Orange LED๊ฐ€ ์ ๋ฉธํ•œ๋‹ค.

์ด๋กœ์„œ nCube-Air์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ nCube-Air์— ์—…๋กœ๋“œ ํ•˜๊ณ , ๋™์ž‘์‹œํ‚ค๋Š” ๊ฒƒ์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค.

Contents

  1. Indroduction
  2. Development Environment Setup
  3. nCube-Air Board & Sensors Setup
  4. nCube-Air Setup & Execution
  5. nCube-Air Data Retrieve & LED Control
  6. nCube-Air Date Retrieve with oneM2M API
โš ๏ธ **GitHub.com Fallback** โš ๏ธ