์ฑ„๋„ํ†ก ์•„์ด์ฝ˜

ESP32 IoT ๊ฐœ๋ฐœ ๊ธฐ์ดˆ - ํ•˜๋“œ์›จ์–ด๋ถ€ํ„ฐ FreeRTOS๊นŒ์ง€

์ด ๊ณผ์ •์€ ESP32์™€ IoT ๊ฐœ๋ฐœ์„ ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ํ•™์Šต์ž๊ฐ€ ํ™˜๊ฒฝ ์„ธํŒ… โ†’ ์–ธ์–ด ๊ธฐ์ดˆ โ†’ ํ•˜๋“œ์›จ์–ด ์ œ์–ด โ†’ RTOS ํ™œ์šฉ๊นŒ์ง€ ์ตํžˆ๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ • ๋ชฉํ‘œ๋Š” ํฌ๊ฒŒ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. - ESP32 ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ณผ ๊ธฐ๋ณธ ํˆด ์‚ฌ์šฉ ๋Šฅ๋ ฅ ์Šต๋“ - C ์–ธ์–ด์™€ ESP-IDF ๊ตฌ์กฐ ์ดํ•ด - FreeRTOS ํƒœ์Šคํฌ ๋ฐ ๊ธฐ๋ณธ ๋™๊ธฐํ™” ๋ฐฉ์‹ ์ดํ•ด - GPIOยทI2CยทSPIยทUART๋ฅผ ํ†ตํ•œ ํ•˜๋“œ์›จ์–ด ์ œ์–ด ๊ฐ€๋Šฅ - ์ €์žฅ์†Œ์™€ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ ์ดํ•ด ๋ฐ ๊ฐ„๋‹จํ•œ ๋ฐ์ดํ„ฐ ์˜๊ตฌ ์ €์žฅ ๊ตฌํ˜„ ๊ฐ€๋Šฅ

(5.0) ์ˆ˜๊ฐ•ํ‰ 3๊ฐœ

์ˆ˜๊ฐ•์ƒ 25๋ช…

๋‚œ์ด๋„ ์ž…๋ฌธ

์ˆ˜๊ฐ•๊ธฐํ•œ ๋ฌด์ œํ•œ

์‹ค์Šต ์ค‘์‹ฌ
์‹ค์Šต ์ค‘์‹ฌ
ํ† ์ดํ”„๋กœ์ ํŠธ
ํ† ์ดํ”„๋กœ์ ํŠธ
iot
iot
์‹ค์Šต ์ค‘์‹ฌ
์‹ค์Šต ์ค‘์‹ฌ
ํ† ์ดํ”„๋กœ์ ํŠธ
ํ† ์ดํ”„๋กœ์ ํŠธ
iot
iot
๋„ค์ด๋ฒ„
๋ฐฐ๋‹ฌ์˜๋ฏผ์กฑ

๋ฐฐ๋‹ฌ์˜๋ฏผ์กฑ

์— ๊ด€์‹ฌ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค๋„ ๋“ฃ๋Š” ์ค‘!

๋„ค์ด๋ฒ„
๋ฐฐ๋‹ฌ์˜๋ฏผ์กฑ

๋ฐฐ๋‹ฌ์˜๋ฏผ์กฑ

์— ๊ด€์‹ฌ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค๋„ ๋“ฃ๋Š” ์ค‘!

์ˆ˜๊ฐ• ํ›„ ์ด๋Ÿฐ๊ฑธ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”

  • ESP-IDF์™€ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์„ค์น˜ยท์„ค์ •ํ•˜๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œยทํ”Œ๋ž˜์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • C ์–ธ์–ด์™€ ESP-IDF ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ปดํฌ๋„ŒํŠธยท๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•ด ์ฝ”๋“œ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • FreeRTOS๋ฅผ ์ด์šฉํ•ด ํƒœ์Šคํฌ, ํ, ์„ธ๋งˆํฌ์–ด, ํƒ€์ด๋จธ ๋“ฑ ๊ธฐ๋ณธ์ ์ธ ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • GPIO, I2C, SPI, UART๋ฅผ ํ†ตํ•ด ์„ผ์„œ์™€ ์ฃผ๋ณ€ ์žฅ์น˜๋ฅผ ์ œ์–ดํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • NVS์™€ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•ด ์„ค์ •๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ESP32 IoT ๊ฐœ๋ฐœ,
ํ•˜๋“œ์›จ์–ด๋ถ€ํ„ฐ FreeRTOS๊นŒ์ง€ ์™„๋ฒฝ ๋งˆ์Šคํ„ฐ!

ESP32์™€ IoT ๊ฐœ๋ฐœ, ์–ด๋””์„œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์•ผ ํ• ์ง€ ๋ง‰๋ง‰ํ•˜์‹ ๊ฐ€์š”?
ํ™˜๊ฒฝ ์„ค์ •๋ถ€ํ„ฐ C ์–ธ์–ด, FreeRTOS, ํ•˜๋“œ์›จ์–ด ์ œ์–ด๊นŒ์ง€,
์‹ค๋ฌด์—์„œ ๋ฐ”๋กœ ํ†ตํ•˜๋Š” ํƒ„ํƒ„ํ•œ ๊ฐœ๋ฐœ ์—ญ๋Ÿ‰์„ ์Œ“์•„๋ณด์„ธ์š”.


ESP32 IoT ๊ฐœ๋ฐœ ๊ธฐ์ดˆ
ํ•˜๋“œ์›จ์–ด๋ถ€ํ„ฐ FreeRTOS๊นŒ์ง€ ์‹ค์ „ ๊ฒฝํ—˜์„ ์Œ“์Šต๋‹ˆ๋‹ค.

์ด ๊ณผ์ •์€ ESP32์™€ IoT ๊ฐœ๋ฐœ์„ ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ํ•™์Šต์ž๊ฐ€ ํ™˜๊ฒฝ ์„ธํŒ… โ†’ C ์–ธ์–ด ๊ธฐ์ดˆ ๋ณต์Šต โ†’ ํ•˜๋“œ์›จ์–ด ์ œ์–ด โ†’ FreeRTOS ๊ธฐ๋ฐ˜ ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น๊นŒ์ง€ ํ•œ ๋ฒˆ์— ์ตํžˆ๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•œ ์‹ค์ „ ์ž…๋ฌธ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

ESP32 ๊ฐœ๋ฐœ,
์‹ค๋ฌด ํ”„๋กœ์ ํŠธ๋กœ ์™„์„ฑํ•˜๊ธฐ

์ด ๊ฐ•์˜๋Š” ๋‹จ์ˆœํžˆ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ๋”ฐ๋ผ ์น˜๋Š” ๊ณผ์ •์ด ์•„๋‹™๋‹ˆ๋‹ค.
โ€œ์™œ ์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋Š”์ง€โ€, โ€œ๋ฐ์ดํ„ฐ์‹œํŠธ๋Š” ์–ด๋””๋ถ€ํ„ฐ ๋ด์•ผ ํ•˜๋Š”์ง€โ€, โ€œ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ ๋ฌด์—‡์„ ์˜์‹ฌํ•˜๊ณ  ์–ด๋–ค ๋กœ๊ทธ๋ฅผ ์ฐ์–ด์•ผ ํ•˜๋Š”์ง€โ€๊นŒ์ง€ ํ•จ๊ป˜ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์„ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๊ณ  ์„ค๊ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค.

Section 1 - ๊ฐ•์˜ ์†Œ๊ฐœ ๋ฐ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์ค€๋น„

๋ณธ ์„น์…˜์—์„œ๋Š” ESP32 IoT ๊ฐœ๋ฐœ ๊ณผ์ •์„ ์†Œ๊ฐœํ•˜๊ณ , ์‹ค์Šต์— ํ•„์š”ํ•œ ESP-IDF ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ • ๋ฐ VS Code ์„ค์ •์„ ์ƒ์„ธํžˆ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ESP32 ์นฉ๊ณผ ๋ชจ๋“ˆ์˜ ์ข…๋ฅ˜๋ฅผ ๋น„๊ตํ•˜๋ฉฐ ํ•™์Šต ๋ชฉํ‘œ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

Section 2 - ESP32 ๊ธฐ๋ณธ ๊ธฐ๋Šฅ ๋ฐ C ์–ธ์–ด ํ™œ์šฉ

ESP32์˜ ๊ธฐ๋ณธ์ ์ธ ๋กœ๊น…, ๋”œ๋ ˆ์ด, ๋‚œ์ˆ˜ ์ƒ์„ฑ ๊ธฐ๋Šฅ์„ ์‹ค์Šตํ•˜๊ณ  LED ์ œ์–ด ๋ฐ ํ‚ค๋ณด๋“œ ์ž…๋ ฅ์„ ํ†ตํ•ด ํ•˜๋“œ์›จ์–ด๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ๋˜ํ•œ, C ์–ธ์–ด์˜ ํ•ต์‹ฌ์ธ ๊ตฌ์กฐ์ฒด, ํฌ์ธํ„ฐ, ํ•จ์ˆ˜ ํฌ์ธํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

Section 3 - ESP-IDF ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ๋ฐ ์ปดํฌ๋„ŒํŠธ ๊ด€๋ฆฌ

ESP-IDF ํ”„๋กœ์ ํŠธ์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๊ณ , C ๋ฐ H ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ตํž™๋‹ˆ๋‹ค. ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ปดํฌ๋„ŒํŠธ์˜ ๊ฐœ๋…๊ณผ ์™ธ๋ถ€ ์ปดํฌ๋„ŒํŠธ ์ถ”๊ฐ€ ๋ฐ ํ™œ์šฉ ๋ฐฉ๋ฒ•์„ ์ƒ์„ธํ•˜๊ฒŒ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Section 4 - FreeRTOS ์‹ค์‹œ๊ฐ„ ์šด์˜์ฒด์ œ ์‹ฌ์ธต ํ•™์Šต

์‹ค์‹œ๊ฐ„ ์šด์˜์ฒด์ œ์ธ FreeRTOS์˜ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. ํƒœ์Šคํฌ ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ, ํƒœ์Šคํฌ ์•Œ๋ฆผ, ๋ฎคํ…์Šค, ์„ธ๋งˆํฌ์–ด, ํ, ์ด๋ฒคํŠธ ๊ทธ๋ฃน, ํƒ€์ด๋จธ ํ™œ์šฉ๋ฒ•์„ ์ตํžˆ๋ฉฐ ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น ํ™˜๊ฒฝ์—์„œ์˜ ํšจ์œจ์ ์ธ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.

Section 5 - ESP32 ๋””๋ฒ„๊น… ๋ฐ ์„ค์ • ๊ด€๋ฆฌ

ESP32 ๊ฐœ๋ฐœ ์‹œ ํ•„์ˆ˜์ ์ธ ๋””๋ฒ„๊น… ๊ธฐ๋ฒ•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜๋™ ๋””๋ฒ„๊น… ๋ฐฉ๋ฒ•๊ณผ ์Šคํƒ ํŠธ๋ ˆ์ด์Šค๋ฅผ ํ™œ์šฉํ•œ ์˜ค๋ฅ˜ ๋ถ„์„ ๋ฐฉ๋ฒ•์„ ์ตํžˆ๊ณ , Menuconfig๋ฅผ ์ด์šฉํ•œ ํ”„๋กœ์ ํŠธ ์„ค์ • ๋ฐ ์‚ฌ์šฉ์ž ์ •์˜ ์„ค์ •์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.

Section 6 - ESP32 ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ ๋ฐ ์ €์žฅ์†Œ ํ™œ์šฉ

ESP32์˜ SRAM, PSRAM, ํ”Œ๋ž˜์‹œ ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๊ณ , ๋™์ /์ •์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐ ์Šคํƒ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋ฒ•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, NVS์™€ SPIFFS ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์˜๊ตฌ์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‹ค์Šตํ•ฉ๋‹ˆ๋‹ค.

Section 7 - GPIO ๋ฐ ์•„๋‚ ๋กœ๊ทธ/๋””์ง€ํ„ธ ์ž…์ถœ๋ ฅ ์ œ์–ด

GPIO ํ•€์„ ์ด์šฉํ•œ ์ถœ๋ ฅ, ์ž…๋ ฅ, ์ธํ„ฐ๋ŸฝํŠธ ์ฒ˜๋ฆฌ ๋ฐ ๋””๋ฐ”์šด์‹ฑ ๊ธฐ๋ฒ•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, DAC, ADC๋ฅผ ํ†ตํ•œ ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ ์ฒ˜๋ฆฌ์™€ LEDC ๋ฐ PWM์„ ํ™œ์šฉํ•œ ์ œ์–ด, ํ„ฐ์น˜ ์„ผ์„œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Section 8 - ์ฃผ๋ณ€ ์žฅ์น˜ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ ์‹ค์Šต

UART, I2C, SPI ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์ฃผ๋ณ€ ์žฅ์น˜์™€ ์—ฐ๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‹ค์Šตํ•ฉ๋‹ˆ๋‹ค. ๋ธ”๋ฃจํˆฌ์Šค ๋กœ๊น…, ์„ผ์„œ ๋ฐ์ดํ„ฐ ์ˆ˜์‹ , SD ์นด๋“œ ๋ฐ SSD ๋””์Šคํ”Œ๋ ˆ์ด ์—ฐ๋™ ๋“ฑ IoT ํ”„๋กœ์ ํŠธ์— ํ•„์ˆ˜์ ์ธ ํ†ต์‹  ๊ธฐ์ˆ ์„ ์ตํž™๋‹ˆ๋‹ค.

์ด ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉด ์–ป๊ฒŒ ๋˜๋Š” ๊ฒƒ๋“ค

Point 1. ESP32 ์‹ค์ „ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•

ESP-IDF์™€ ํˆด์ฒด์ธ์„ ์ง์ ‘ ์„ค์น˜ํ•˜๊ณ , ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑยท๋นŒ๋“œยทํ”Œ๋ž˜์‹œยท๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ์ „ ๊ณผ์ •์„ ์Šค์Šค๋กœ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ๋กœ๊ทธ ์˜ต์…˜๊ณผ ์‹œ๋ฆฌ์–ผ ๋ชจ๋‹ˆํ„ฐ ํ™œ์šฉ๋ฒ•์„ ์ตํ˜€, ์ฝ”๋“œ ๋ณ€๊ฒฝ โ†’ ๋นŒ๋“œ โ†’ ๋””๋ฒ„๊น…๊นŒ์ง€์˜ ๊ฐœ๋ฐœ ์‚ฌ์ดํด์„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋Œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


Point 2. C์–ธ์–ด์™€ ESP-IDF ๊ตฌ์กฐ ์ดํ•ด

C ์–ธ์–ด ๋ฌธ๋ฒ•์„ ESP-IDF ์Šคํƒ€์ผ์— ๋งž๊ฒŒ ๋ณต์Šตํ•˜๊ณ , ํ—ค๋”ยท์ปดํฌ๋„ŒํŠธยท๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‚˜๋ˆ„์–ด ๋ชจ๋“ˆํ˜• ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ ์ฝ”๋“œ๋ฅผ ๋”ฐ๋ผ ์น˜๋Š” ์ˆ˜์ค€์„ ๋„˜์–ด, โ€œ์ด ๊ธฐ๋Šฅ์€ ์–ด๋–ค ๋ชจ๋“ˆ๋กœ ๋ถ„๋ฆฌํ•ด์•ผ ํ•˜๋Š”์ง€โ€๋ฅผ ํŒ๋‹จํ•˜๊ณ  ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ๊ฐ์„ ๊ธฐ๋ฅด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.


Point 3. FreeRTOS ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น

FreeRTOS์˜ Task, Queue, Semaphore, Timer๋ฅผ ์‚ฌ์šฉํ•ด ์—ฌ๋Ÿฌ ์ž‘์—…์ด ๋™์‹œ์— ๋™์ž‘ํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ์„ ์ˆœ์œ„์™€ ์Šค์ผ€์ค„๋ง ๊ฐœ๋…์„ ์ดํ•ดํ•˜๊ณ , ๋กœ๊ทธ๋ฅผ ํ†ตํ•ด โ€œ์ง€๊ธˆ ์–ด๋–ค Task๊ฐ€ ๋ฌด์—‡์„ ํ•˜๊ณ  ์žˆ๋Š”์ง€โ€๋ฅผ ๋ถ„์„ํ•˜๋ฉฐ ๋””๋ฒ„๊น…ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ตํžˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.


Point 4. ํ•˜๋“œ์›จ์–ด, ์ €์žฅ์†Œ ๋ฐ๋ชจ

GPIO, I2C, SPI, UART๋ฅผ ํ†ตํ•ด ๊ฐ์ข… ์„ผ์„œ์™€ ์ฃผ๋ณ€ ์žฅ์น˜๋ฅผ ์ œ์–ดํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์ˆ˜์‹ ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”๋ถˆ์–ด NVS์™€ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ํ™œ์šฉํ•ด ์„ค์ • ๊ฐ’๊ณผ ์ธก์ • ๋ฐ์ดํ„ฐ๋ฅผ ํ”Œ๋ž˜์‹œ์— ์ €์žฅํ•˜๊ณ , ESP32์˜ ๋ฉ”๋ชจ๋ฆฌยท์ €์žฅ์†Œ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜์—ฌ ์ž‘์€ IoT ์žฅ์น˜์˜ ์ „์ฒด ๋™์ž‘ ํ๋ฆ„์„ ์„ค๊ณ„ยท๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


ESP32์™€ IoT ๊ฐœ๋ฐœ, ์–ด๋””์„œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์•ผ ํ• ์ง€ ๋ง‰๋ง‰ํ•˜์‹ ๊ฐ€์š”?


โœ”๏ธ ESP32 ๋ฐ ์ž„๋ฒ ๋””๋“œ ๊ฐœ๋ฐœ ์ž…๋ฌธ์ž

  • C์–ธ์–ด์™€ ESP-IDF ํ™˜๊ฒฝ ์„ค์ •๋ถ€ํ„ฐ ์ฐจ๊ทผ์ฐจ๊ทผ ๋ฐฐ์šฐ๊ณ  ์‹ถ์œผ์‹  ๋ถ„

  • ํ•˜๋“œ์›จ์–ด ์ œ์–ด์˜ ๊ธฐ๋ณธ ์›๋ฆฌ๋ฅผ ์ง์ ‘ ์‹ค์Šตํ•˜๋ฉฐ ์ดํ•ดํ•˜๊ณ  ์‹ถ์œผ์‹  ๋ถ„

  • ๋‚˜๋งŒ์˜ IoT ๊ธฐ๊ธฐ๋ฅผ ๋งŒ๋“ค์–ด๋ณด๊ณ  ์‹ถ๋‹ค๋Š” ๊ฟˆ์„ ๊ฐ€์ง„ ์ž…๋ฌธ์ž

โœ”๏ธ C ์–ธ์–ด ๊ธฐ๋ฐ˜์˜ ์ž„๋ฒ ๋””๋“œ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์„ ์Œ“๊ณ  ์‹ถ์€ ๊ฐœ๋ฐœ์ž

  • ESP-IDF ํ”„๋ ˆ์ž„์›Œํฌ์™€ C์–ธ์–ด ๋ฌธ๋ฒ•์„ ์—ฐ๊ณ„ํ•˜์—ฌ ํ•™์Šตํ•˜๊ณ  ์‹ถ์œผ์‹  ๋ถ„

  • FreeRTOS์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ํƒœ์Šคํฌ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•์„ ์ตํžˆ๊ณ  ์‹ถ์œผ์‹  ๋ถ„

  • ๋‹ค์–‘ํ•œ ํ•˜๋“œ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค(GPIO, I2C, SPI, UART) ํ™œ์šฉ ๋Šฅ๋ ฅ์„ ํ‚ค์šฐ๊ณ  ์‹ถ์œผ์‹  ๋ถ„

โœ”๏ธ IoT ํ”„๋กœํ† ํƒ€์ž… ์ œ์ž‘ ๋ฐ ํŽŒ์›จ์–ด ๊ฐœ๋ฐœ ์—ญ๋Ÿ‰์„ ๊ฐ•ํ™”ํ•˜๊ณ  ์‹ถ์€ ๋ฉ”์ด์ปค ๋ฐ ์—”์ง€๋‹ˆ์–ด

  • ์„ผ์„œ ๋ฐ ๋ชจ๋“ˆ์„ ESP32์— ์—ฐ๊ฒฐํ•˜์—ฌ ์‹ค์ œ ์ž‘๋™ํ•˜๋Š” ํ”„๋กœํ† ํƒ€์ž…์„ ๋งŒ๋“ค๊ณ  ์‹ถ์œผ์‹  ๋ถ„

  • NVS, SPIFFS ๋“ฑ์„ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ณ  ์‹ถ์œผ์‹  ๋ถ„

  • ์ œํ’ˆํ™” ์ „ ๋‹จ๊ณ„์—์„œ ํ•„์š”ํ•œ ํŽŒ์›จ์–ด ๊ฐœ๋ฐœ ๊ฒฝํ—˜๊ณผ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ์„ ๊ธฐ๋ฅด๊ณ  ์‹ถ์œผ์‹  ๋ถ„


์ด์ œ ๋ณต์žกํ•œ ์ด๋ก ์€ ๊ทธ๋งŒ! ESP32์™€ ํ•จ๊ป˜๋ผ๋ฉด ๋ˆ„๊ตฌ๋‚˜ IoT ๊ฐœ๋ฐœ์ž๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ•˜๋“œ์›จ์–ด๋ถ€ํ„ฐ FreeRTOS๊นŒ์ง€, ์—ฌ๋Ÿฌ๋ถ„์˜ IoT ํ”„๋กœ์ ํŠธ๋ฅผ ํ˜„์‹ค๋กœ ๋งŒ๋“ค์–ด๋ณด์„ธ์š”.

์ˆ˜๊ฐ• ์ „ ์ฐธ๊ณ  ์‚ฌํ•ญ


์‹ค์Šต ํ™˜๊ฒฝ

  • Windows ์šด์˜์ฒด์ œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  • ESP-IDF ๊ฐœ๋ฐœ ๋„๊ตฌ ๋ฐ VS Code ์„ค์น˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.


์„ ์ˆ˜ ์ง€์‹ ๋ฐ ์œ ์˜์‚ฌํ•ญ

  • C ์–ธ์–ด ๊ธฐ๋ณธ ๋ฌธ๋ฒ•์„ ์ดํ•ดํ•˜๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค.

  • ์ž„๋ฒ ๋””๋“œ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์ด ์—†์–ด๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

  • ESP32 ๋ณด๋“œ 1๊ฐœ ์ด์ƒ ์ค€๋น„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ํ•™์Šต ์ž๋ฃŒ

  • ์‹ค์Šต ํ”„๋กœ์ ํŠธ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ์ฐธ๊ณ ์šฉ ESP-IDF ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.


์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • ESP32 ๋ฐ ์ž„๋ฒ ๋””๋“œ ๊ฐœ๋ฐœ์„ ์ฒ˜์Œ ์‹œ์ž‘ํ•˜๋Š” ์ž…๋ฌธ์ž

  • C ์–ธ์–ด๋ฅผ ํ•™์Šตํ•˜๋ฉฐ ํ•˜๋“œ์›จ์–ด ์ œ์–ด๋ฅผ ๋ฐฐ์šฐ๊ณ  ์‹ถ์€ ํ•™์ƒยท๊ฐœ๋ฐœ์ž

  • ESP-IDF ํ™˜๊ฒฝ๊ณผ FreeRTOS ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ์„ ๋ฐฐ์šฐ๊ณ  ์‹ถ์€ ์ž„๋ฒ ๋””๋“œ ๊ฐœ๋ฐœ์ž

  • ์„ผ์„œยท๋ชจ๋“ˆ์„ ESP32์— ์—ฐ๊ฒฐํ•ด IoT ํ”„๋กœํ† ํƒ€์ž…์„ ๋งŒ๋“ค๊ณ  ์‹ถ์€ ๋ฉ”์ด์ปค(Maker)

  • ์ œํ’ˆํ™” ์ „ ๋‹จ๊ณ„์˜ ํŽŒ์›จ์–ด ๊ฐœ๋ฐœ ๊ฒฝํ—˜์„ ์Œ“๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • ๊ธฐ๋ณธ์ ์ธ C ์–ธ์–ด ๋ฌธ๋ฒ•

  • ๊ธฐ๋ณธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฒฝํ—˜

  • ํ•˜๋“œ์›จ์–ด ๊ธฐ์ดˆ ์ง€์‹

  • MCU ๊ฐœ๋ฐœ ๊ฒฝํ—˜

  • ๊ธฐ๋ณธ ๋„คํŠธ์›Œํฌ ๊ฐœ๋…

์•ˆ๋…•ํ•˜์„ธ์š”
๋ฌธ์šฉ์ค€์ž…๋‹ˆ๋‹ค.

์ปค๋ฆฌ์–ด์ธ์ฆ

30

๋ช…

์ˆ˜๊ฐ•์ƒ

3

๊ฐœ

์ˆ˜๊ฐ•ํ‰

4

๊ฐœ

๋‹ต๋ณ€

5.0

์ 

๊ฐ•์˜ ํ‰์ 

2

๊ฐœ

๊ฐ•์˜

์•ˆ๋…•ํ•˜์„ธ์š”, ๋ฌธ์šฉ์ค€์ž…๋‹ˆ๋‹ค.
์ €๋Š” ํ˜„์žฌ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์—์„œ Technical Support Engineer๋กœ ๊ทผ๋ฌดํ•˜๋ฉฐ, Microsoft 365, OneDrive, SharePoint, Copilot, Office ๋“ฑ Modern Work ๋ถ„์•ผ์˜ ๊ธฐ์ˆ  ์ง€์›์„ ๋‹ด๋‹นํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 2022๋…„ ์ž…์‚ฌ ์ดํ›„ IIS ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, Edge ๋ธŒ๋ผ์šฐ์ €, Azure Bot ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ์ „๋ฐ˜์˜ ์—”์ง€๋‹ˆ์–ด๋ง ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ฒฝํ—˜์„ ์Œ“์•„์™”์Šต๋‹ˆ๋‹ค.

๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์ด์ „์—๋Š” ์ž„๋ฒ ๋””๋“œยทIoT ์—”์ง€๋‹ˆ์–ด๋กœ ํ™œ๋™ํ•˜๋ฉฐ ๋‹ค์–‘ํ•œ ๋””๋ฐ”์ด์Šค ํŽŒ์›จ์–ด, BLE ํ†ต์‹ , GUI ๊ฐœ๋ฐœ ๋ฐ ํ”„๋กœ์ ํŠธ ๊ธฐ์ˆ  ๊ด€๋ฆฌ ๊ฒฝํ—˜์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์—˜๋ฆฌ์Šค(Elice)์—์„œ IoT ํŠธ๋ž™ ํ”„๋กœ์ ํŠธ ์ฝ”์น˜๋กœ ํ™œ๋™ํ•˜๋ฉฐ, ์ˆ˜๊ฐ•์ƒ๋“ค์˜ ๋””๋ฐ”์ด์Šค ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐ ์ž„๋ฒ ๋””๋“œ C ํ”„๋กœ์ ํŠธ๋ฅผ ์ง€๋„ํ•œ ๊ฒฝํ—˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŠนํžˆ, ํŽŒ์›จ์–ด ์„ค๊ณ„(nRF52, ESP32 ๋“ฑ), IoT ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ, M365 ๊ธฐ์ˆ  ์ง€์›์— ์ด๋ฅด๋Š” ๋„“์€ ๊ธฐ์ˆ  ์ŠคํŽ™ํŠธ๋Ÿผ์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ์ด๋ก ๊ณผ ์‹ค๋ฌด๋ฅผ ๊ท ํ˜• ์žˆ๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ €์˜ ๊ฐ•์˜๋Š” ๋‹จ์ˆœํ•œ ๊ธฐ๋Šฅ ์„ค๋ช…์„ ๋„˜์–ด ์‹ค์ œ ์—…๋ฌด์™€ ํ”„๋กœ์ ํŠธ์—์„œ ๋ถ€๋”ชํžˆ๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์‹ค์งˆ์  ์ง€์‹์„ ๋“œ๋ฆฌ๋Š” ๋ฐ ์ค‘์ ์„ ๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ๋ถ„๊ณผ ํ•จ๊ป˜ ์„ฑ์žฅํ•˜๋ฉฐ, ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์„ ๋ฐฐ์šฐ๊ณ  ํ™œ์šฉํ•˜๋Š” ์ฆ๊ฑฐ์›€์„ ๋‚˜๋ˆ„๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

Yong Jun Moon | LinkedIn

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

79๊ฐœ โˆ™ (12์‹œ๊ฐ„ 2๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์ „์ฒด

3๊ฐœ

5.0

3๊ฐœ์˜ ์ˆ˜๊ฐ•ํ‰

  • fain9301๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    fain9301

    ์ˆ˜๊ฐ•ํ‰ 102

    โˆ™

    ํ‰๊ท  ํ‰์  4.7

    5

    100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ESP์— ๋Œ€ํ•œ ๊ธฐ์ดˆ ๋ฐ ํฅ๋ฏธ๋ฅผ ๋А๋ผ๊ธฐ์— ์ถฉ๋ถ„ํ•œ ๊ฐ•์˜์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ƒ์„ธํ•œ ํ™œ์šฉํ•˜๋Š” ๋ถ€๋ถ„์€ ๋งŽ์ด ์—†์–ด์„œ ์•„์‰ฝ์ง€๋งŒ, ๊ธฐ์ดˆ์™€ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ๊ตฌ์„ฑ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ๋งŽ์€ ๋‚ด์šฉ์„ ์••์ถ•ํ•ด์„œ ํฅ๋ฏธ ์œ„์ฃผ๋กœ ์ข‹์€ ๊ฐ•์˜์ธ ๊ฒƒ ๊ฐ™์•„์„œ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ์•„์‰ฌ์šด ์ ์€ ๋ฌด์ œํ•œ ๊ฐ•์˜๋กœ ๋‹ค์Œ์— ํ•ด์ฃผ์‹œ๋ฉด ๋” ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š”

    • ๋ฌธ์šฉ์ค€
      ์ง€์‹๊ณต์œ ์ž

      ๊ฐ•์˜ 100% ์ˆ˜๊ฐ• ๋ฐ ์ˆ˜๊ฐ•ํ‰ ์ž‘์„ฑํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! WiFi, ์›น ์„œ๋ฒ„, Bluetooth๋ฅผ ํฌํ•จํ•œ ์‘์šฉ ๊ฐ•์˜๋ฅผ ์ œ์ž‘ ์ค‘์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋‚ด์šฉ๋“ค์ด ๋๋‚œ ์ดํ›„์— ์‹ค์ œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋‚ด์šฉ๋„ ์ง„ํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค! ์ˆ˜๊ฐ• ๊ธฐํ•œ์€ ๋ฌด์ œํ•œ์œผ๋กœ ์—…๋ฐ์ดํŠธ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค!

  • ๊น€ํ•œ๋ด‰๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    ๊น€ํ•œ๋ด‰

    ์ˆ˜๊ฐ•ํ‰ 1

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    61% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    • ํ—ˆ์€์ƒ๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
      ํ—ˆ์€์ƒ

      ์ˆ˜๊ฐ•ํ‰ 33

      โˆ™

      ํ‰๊ท  ํ‰์  5.0

      5

      8% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

      • ๋ฌธ์šฉ์ค€
        ์ง€์‹๊ณต์œ ์ž

        ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๊ฐ€์„ ๋˜๊ธฐ ์ „ ๊ฒŒ์‹œ๋  ์‘์šฉ ๊ฐ•์˜์—๋Š” WiFi, ๋ธ”๋ฃจํˆฌ์Šค๋ฅผ ํฌํ•จํ•œ ๋‚ด์šฉ๋“ค์ด ์žˆ์œผ๋‹ˆ ๊ธฐ๋‹ค๋ ค์ฃผ์„ธ์š”~!

    ๋ฌธ์šฉ์ค€๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜

    ์ง€์‹๊ณต์œ ์ž๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

    ๋น„์Šทํ•œ ๊ฐ•์˜

    ๊ฐ™์€ ๋ถ„์•ผ์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

    ์‹ ๊ทœ๊ฐ€์ž… 25% ํ• ์ธ

    ์›” โ‚ฉ49,500

    5๊ฐœ์›” ํ• ๋ถ€ ์‹œ

    25%

    โ‚ฉ330,000

    โ‚ฉ247,500

    ํ‰์ƒ๊ต์œก์ด์šฉ๊ถŒ ์ง€์› ๊ฐ•์˜