project FLP์ ๊ธฐ๊ธฐ์ ํ๋ก๋, PCB, FW ์ฝ๋ ๋ฑ์ด ๋ด๊ธด ํ์ผ์ ๋๋ค. ํธ์คํธ ๊ธฐ๊ธฐ์ ํ๋ ์ ์ํฌ๋ ESP-IDF๋ฅผ ์ด์ฉํ์๊ณ Espressif ide๋ฅผ ์ด์ฉํ์ฌ์ CMAKE ํ์์ ํ๋ก์ ํธ๋ก ์ ์๋์์ต๋๋ค. ํฐ๋ฏธ๋ ๊ธฐ๊ธฐ์ ํ๋ ์ ์ํฌ๋ STMCUBE๋ฅผ ์ด์ฉํ์์ต๋๋ค. host ๊ธฐ๊ธฐ์ ๊ฐ์๊ฒฝ์ฐ MCU๋ ESP32-WROOM-32E๋ฅผ ์ด์ฉํ์์ผ๋ฉฐ terminal๊ธฐ๊ธฐ์ ๊ฒฝ์ฐ STM32F103C8T6์ ์ฌ์ฉํ์์ต๋๋ค.
- 433MHz ๋์ญ ํต์ ์ ์ํด SX1278 ๋ชจ๋ ๊ธฐ๋ฐ์ ์ํ ๋ ๋งค์นญ์ ํฌํจํ LoRa RF ๊ณตํต ํ๋ก ์ค๊ณ
- MCP73831(Li-Po ์ถฉ์ ) ๋ฐ AP2112K-3.3(LDO)์ ์ฌ์ฉํ์ฌ USB-C/๋ฐฐํฐ๋ฆฌ ์ ๋ ฅ์ ๋ฐ๋ 3.3V ์ ์ ์์คํ ๊ณตํต ํ๋ก ๊ตฌ์ฑ
- CP2104 USB-to-UART ๋ธ๋ฆฟ์ง IC์ USB-C ์ปค๋ฅํฐ๋ฅผ ์ฌ์ฉํ PC ์๋ฆฌ์ผ ํต์ ๋ฐ ํ์จ์ด ๋ค์ด๋ก๋ ๊ณตํต ํ๋ก ๊ตฌํ
- L86-M33 GPS ๋ชจ๋์ ํ์ฌํ์ฌ ์์น ์ ๋ณด ์์ง์ ์ํ ๊ณตํต ํ๋ก ๋ฐ ์ํ ๋ ์ธํฐํ์ด์ค ์ค๊ณ
- Host(ESP32) ๋ณด๋์ ํ์จ์ด์ ํจ์จ์ ์ธ ๋๋ฒ๊น ์ ์ํ JTAG ์ธํฐํ์ด์ค ํ๋ก ์ถ๊ฐ ์ค๊ณ
- Host(ESP32) ํ์จ์ด๋ C ์ธ์ด์ ESP-IDF(FreeRTOS)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก, Terminal(STM32F103) ํ์จ์ด๋ C ์ธ์ด์ HAL ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐํ์ฌ LoRa ํต์ ์์คํ ์ ๊ตฌ์ถ
- Terminal์ UART2๋ก GPS ๋ชจ๋์ NMEA ์ผํ ์ค๋ฅผ ํ์ฑํ๋ฉฐ, 5์ด ์ฃผ๊ธฐ ๋๋ 'ํธ์ถ'/'์ํ' ๋ฒํผ ์ ๋ ฅ ์ ๊ณ ์ ID, GPS ์ขํ, Target ID, ์ํ ์ํ๋ฅผ "ID,Lat,Lon,TargetID,Danger" ํ์์ ๋ฌธ์์ด ํจํท์ผ๋ก LoRa ์ ์ก
- Host๋ SPI๋ฅผ ํตํด ์ด LoRa ํจํท์ ์์ , split_lora_response ํจ์๋ก ํ์ฑํ์ฌ Target ID๋ฅผ ํ์ธํ๊ณ , TerminalDevice ๊ตฌ์กฐ์ฒด ๋ฐฐ์ด๋ก ๊ด๋ฆฌ๋๋ ๋จ๋ง๊ธฐ ๋ชฉ๋ก์ ์ต์ GPS ์ขํ์ ์ํ ์ํ๋ฅผ ๊ฐฑ์
- Host๋ Wi-Fi(AP+STA ๋ชจ๋)๋ก ์ธํฐ๋ท์ ์ฐ๊ฒฐํ๋ฉฐ, WSS ํด๋ผ์ด์ธํธ๋ฅผ ํตํด ์๊ฒฉ ์๋ฒ๋ก ๋ชจ๋ ๋จ๋ง๊ธฐ ์ ๋ณด์ ์์ฒด GPS ์์ ์ ๋ณด๋ฅผ ํตํฉํ์ฌ ์ฃผ๊ธฐ์ ์ผ๋ก JSON ์ ์ก
- Wi-Fi AP ๋ชจ๋์์ Captive Portal ๊ธฐ๋ฅ์ ํฌํจํ ์น ์๋ฒ๋ฅผ ๊ตฌ๋ํ์ฌ ์ฌ์ฉ์์๊ฒ Wi-Fi ์ฐ๊ฒฐ ์ ๋ณด ๋ฐ AP ์ ๋ณด ์ค์ ํ์ด์ง๋ฅผ ์ ๊ณตํ๋ฉฐ, ์ด ์ค์ ๊ฐ๋ค๊ณผ ๋ฑ๋ก๋ ๋จ๋ง๊ธฐ ID ๋ชฉ๋ก์ NVS์ ์์ ์ ์ฅ
- ํน์ GPIO ๋ฒํผ(CTRL + FIND_HOST) ์กฐํฉ์ ํตํด 10์ด๊ฐ '๋จ๋ง๊ธฐ ๋ฑ๋ก ๋ชจ๋'๋ก ์ง์ ํ๋ฉฐ, ์ด ๋์ ์์ ๋ "REG,,<TARGET_ID>" ํ์์ LoRa ๋ฑ๋ก ์์ฒญ ํจํท์ ์ฒ๋ฆฌํ์ฌ ์๋ก์ด ๋จ๋ง๊ธฐ๋ฅผ ์์คํ ์ ์ถ๊ฐํ๊ณ NVS์ ์ ์ฅ