Skip to content

Latest commit

ย 

History

History
23 lines (19 loc) ยท 2.46 KB

File metadata and controls

23 lines (19 loc) ยท 2.46 KB

๊ตฌ์„ฑ

project FLP์˜ ๊ธฐ๊ธฐ์˜ ํšŒ๋กœ๋„, PCB, FW ์ฝ”๋“œ ๋“ฑ์ด ๋‹ด๊ธด ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ ๊ธฐ๊ธฐ์˜ ํ”„๋ ˆ์ž„ ์›Œํฌ๋Š” ESP-IDF๋ฅผ ์ด์šฉํ•˜์˜€๊ณ  Espressif ide๋ฅผ ์ด์šฉํ•˜์—ฌ์„œ CMAKE ํ˜•์‹์˜ ํ”„๋กœ์ ํŠธ๋กœ ์ œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„ ๊ธฐ๊ธฐ์˜ ํ”„๋ ˆ์ž„ ์›Œํฌ๋Š” STMCUBE๋ฅผ ์ด์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. host ๊ธฐ๊ธฐ์˜ ๊ฐ™์€๊ฒฝ์šฐ MCU๋Š” ESP32-WROOM-32E๋ฅผ ์ด์šฉํ•˜์˜€์œผ๋ฉฐ terminal๊ธฐ๊ธฐ์˜ ๊ฒฝ์šฐ STM32F103C8T6์„ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์„ธ๋ถ€๋‚ด์šฉ

Hardware

  • 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 ์ธํ„ฐํŽ˜์ด์Šค ํšŒ๋กœ ์ถ”๊ฐ€ ์„ค๊ณ„

Firmware

  • 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์— ์ €์žฅ