๐ก work work work/BLE8 iOS BLE - CoreBluetooth : APIs https://www.youtube.com/watch?v=YHeCH-OfWY0&list=LL&index=7&t=1356s ์ด ๊ฐ์๋ฅผ ๋ฐํ์ผ๋ก ์์ฑํ bluetooth ์ฐ๊ฒฐ ๊ณผ์ ์ ๋ฐ๋ฅธ iOS coreBluetooth API๋ค์ ๋ํด ์ ๋ฆฌํด๋ณด์๋ค. (1) Device Discovery CBCentralManager : ์ค์บ๋, Advertising Peripherals์ ๊ฐ์ GAP Central ์ ์ฐจ ์ด๊ธฐํ๋ฅผ ์ํ API ์ ๊ณต (์ฃผ๋ณ๊ธฐ๊ธฐ ๊ฒ์, ์ฐ๊ฒฐ : CentralManager) with CBCentralManagerDelegate (2) Connect CBCentralManager : ํน์ Peripheral๊ณผ ์ฐ๊ฒฐ์ ์ด๊ธฐํ ํ ์ ์๋๋ก ํด์ค๋ค. CBCentralManagerDelegate : ์ฐ๊ฒฐ.. 2022. 2. 7. BLE ์ฑ ์ ๋ฆฌ - 6 : GAP(๊ฒ์์ ์ฐ๊ฒฐ), GATT(์๋น์ค์ ํน์ฑ) 1. GAP (๊ฒ์์ ์ฐ๊ฒฐ) ๋๋ฐ์ด์ค๊ฐ BLE ๋คํธ์ํฌ์ ํฉ๋ฅํ ์ ์๊ฒ ์ฑํํ ์ ์๋ 4๊ฐ์ง ์ญํ ์ ์ง์ ํ๋ค. (1) Broadcaster : ๋ธ๋ก๋์บ์คํฐ ์ ๊ธฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐฐํฌํ๋ ์ ์ก ์ ์ฉ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ์ต์ ํ๋ฅผ ํ๋ค. ์ฃผ๊ธฐ์ ์ผ๋ก ๊ฒ์ ํจํท์ ๋ฐ์ดํฐ์ ํจ๊ป ์ ์กํ๋ค. ์ ๋๋ฒํ์ด์ง ์ด๋ฒคํธ๋ฅผ ์ก์ ํ๋ค. transmitter๋ฅผ ๊ฐ๊ณ ์์ผ๋ฉฐ, ๋์์ receiver๋ ์์ ์ ์๋ค. ๋งํฌ ๊ณ์ธต ์ ๋๋ฒํ์ด์ ์ญํ ์ ์ฌ์ฉํ๋ค. (2) Observer : ์ต์ ๋ฒ ๋ฐฉ์ก ํผ์ด๋ก๋ถํฐ ๊ฒ์ ํจํท์ ํฌํจ๋ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ค. receiver๋ฅผ ๊ฐ๊ณ ์์ผ๋ฉฐ, ๋์์ transmitter๋ ์์ ์ ์๋ค. ๋งํฌ ๊ณ์ธต ์ค์บ๋ ์ญํ ์ ์ฌ์ฉํ๋ค. (3) Central : ์ค์์ฅ์น ํญ์ ์ฐ๊ฒฐ์ ๊ฐ์์, ๋๋ฐ์ด์ค๊ฐ ๋คํธ์ํฌ ์.. 2022. 1. 26. BLE ์ฑ ์ ๋ฆฌ - 5 : L2CAP, ATT, SM, GATT, GAP 1. L2CAP : ๋ ผ๋ฆฌ์ ๋งํฌ ์ ์ด ๋ฐ ์ ์ฉ ํ๋กํ ์ฝ Logical Link Control and Adaption Protocol ๋ธ๋ฃจํฌ์ค ํ๋กํ ์ฝ ์คํ ์์์ ํธ์คํธ ๋ถ๋ถ์ ํต์ฌ ๊ณ์ธต ๊ธฐ๋ฅ ์ํํธ์จ์ด์ ์ธ ์์ ๊ณ์ธต๊ณผ ํ์ ๋ฌผ๋ฆฌ์ ์ธ ๊ณ์ธต๊ณผ์ ๋ฐ์ดํฐ ํต์ ์ฐ๊ฒฐ ์ง์ ์ ์ ๋ ฅ ๋ธ๋ฃจํฌ์ค๋ฅผ ์ํด L2CAP ๊ณ์ธต์ - ์์ฑ ํ๋กํ ์ฝ(ATT) : BLE ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ์ดํฐ ๊ตํ์ ๊ธฐ๋ณธ์ ํ์ฑ - ๋ณด์ ๊ด๋ฆฌ์ ํ๋กํ ์ฝ(SMP) : ํผ์ด๋ค ์ฌ์ด์์ ๋ณด์ํค๋ฅผ ์์ฑํ๊ณ ๋ฐฐํฌํ ์ ์๋ framework ์ ๊ณต ์ด ๋๊ฐ์ง ๋ผ์ฐํ ํ๋กํ ์ฝ์ ๋ด๋นํ๊ณ ์๋ค. ํน์ง ์ฐ๊ฒฐ์ฑ ๋ฐ ๋น์ฐ๊ฒฐ์ฑ ๋ฐ์ดํฐ ํต์ ์๋น์ค๋ฅผ ๋ชจ๋ ์ง์ ๊ฐ๋ฅ (BLE์์๋ ๋น์ฐ๊ฒฐ์ฑ๋ง ์ง์) ๋ค์คํ(Multiplexing) ์ฐ๊ฒฐ ์ง์ ํ๋ฆ์ ์ด, ์ฌ์ ์ก ๊ธฐ๋ฐ ์๋ฌ์ ์ด.. 2022. 1. 25. BLE ์ฑ ์ ๋ฆฌ - 4 : BD_ADDR, ๊ฒ์์ ์ค์บ๋, HCI 1. ๋ธ๋ฃจํฌ์ค ๋๋ฐ์ด์ค ์ด๋๋ ์ค (BD_ADDR) ์ด๋๋ท MAC ์ด๋๋ ์ค์ ์ ์ฌํ ๋ธ๋ฃจํฌ์ค ๋๋ฐ์ด์ค์ ๊ธฐ๋ณธ ์๋ณ์ (48๋นํธ, 6byte) ์ ํ ํผ๋ธ๋ฆญ ๋๋ฐ์ด์ค ์ด๋๋ ์ค: ๊ณ ์ ๋จ, BR/EDR, ๊ณต์ฅ์์ ํ๋ก๊ทธ๋๋ฐ ๋ Address, IEEE ๋ฑ๋ก ๊ธฐ๊ด์ ๋ฑ๋ก, ๋๋ฐ์ด์ค์ ์๋ช ๊ธฐ๊ฐ๋์ ๋ณํ์ง ์์ ๋๋ค ๋๋ฐ์ด์ค ์ด๋๋ ์ค: ๊ณ ์ or ๋์ ์์ฑ, ์ค์ฉ์ ์ธ BLE Usecase๋ค์ด ๋ง๋ค 2. ๊ฒ์์ ์ค์บ๋ ๊ฒ์ ํจํท์ ๋๊ฐ์ง ์ฉ๋ ์ ์ฒด ์ฐ๊ฒฐ ์ค์ ์ ์ค๋ฒํค๋๊ฐ ํ์ํ์ง ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ๋ฐ์ดํฐ ๋ฐฉ์ก ์ฌ๋ ์ด๋ธ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ์ด๋ค์๊ฒ ์ฐ๊ฒฐ ๊ฐ ๊ฒ์ ํจํท์ ์ต๋ 31๋ฐ์ดํธ์ ๊ฒ์ ๋ฐ์ดํฐ ํ์ด๋ก๋๋ฅผ ๊ธฐ๋ณธ ํค๋์ ๋ณด์ ํจ๊ป ์์ฉ ๊ฒ์ ํจํท ์ ํ์ ์ธ๊ฐ์ง ๋ค๋ฅธ ํน์ฑ์ ๋ฐ๋ผ ๋ถ๋ฅ (1) ์ฐ๊ฒฐ์ฑ (2) ์ค์บ๋ ๊ฐ๋ฅ์ฑ (.. 2022. 1. 24. BLE ์ฑ ์ ๋ฆฌ - 3 : ํ๋กํ ์ฝ ๊ธฐ์ด ํ๋กํ ์ฝ ์คํ์ ๊ธฐ๋ณธ๊ตฌ์ฑ์์๋ ๊ฐ๊ฐ ์๋์ ์ํด ํ์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ฌ๋ฌ ๊ณ์ธต์ผ๋ก ๋๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ต์์ ๊ณ์ธต ๋ชจ๋ ๊ฒ์ ๋ก์ง, ์ฌ์ฉ์ ์ธํฐํ์ด์ค, ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ํฌํจํ๋ ๋ถ๋ถ ํธ์คํธ GAP, GATT ๋ฐ ๋ ผ๋ฆฌ์ ๋งํฌ ์ ์ด ๋ฐ ์ ์ฉ ํ๋กํ ์ฝ(L2CAP) ์์ฑํ๋กํ ์ฝ(ATT), ๋ณด์ ๊ด๋ฆฌ์(SM) ํธ์คํธ์ธก ํธ์คํธ ์ปจํธ๋กค๋ฌ ์ธํฐํ์ด์ค(HCI) ๊ณ์ธต์ ํฌํจ ์ปจํธ๋กค๋ฌ ์ปจํธ๋กค๋ฌ์ธก HCI, ๋งํฌ๋ ์ด์ด(LL), ๋ฌผ๋ฆฌ์ ๊ณ์ธต(PHY) Physical: 2.4 GHz ISM ๋์ญ์์ 1 Mbps์ ์๋๋ก ํจํท ์ก์์ ์ญํ (์ค์ Bluetooth Analog Signal๊ณผ ํต์ ํ ์ ์๋ ํ๋ก๊ฐ ๊ตฌ์ฑ๋์ด ์์) LL (Link Layer): 5๊ฐ์ง์ RF ์ํ ์ ์ด (standby, advertising, sca.. 2022. 1. 21. BLE ์ฑ ์ ๋ฆฌ - 2 : ํ๋กํ ์ฝ, ํ๋กํ์ผ 1. ํ๋กํ ์ฝ vs ํ๋กํ์ผ ํ๋กํ ์ฝ: ๋ฐ์ดํฐ๊ฐ ํผ์ด๊ฐ์ ํจ๊ณผ์ ์ผ๋ก ์ ์ก๋๋๋ก ํ์ฉํ๋ ์๋ก ๋ค๋ฅธ ํจํท ํฌ๋งท, ๋ผ์ฐํ , ๋ฉํฐ ํ๋ ์ฑ, ์ธ์ฝ๋ฉ, ๋์ฝ๋ฉ์ ๊ตฌํํ๋ ๊ณ์ธต ํ๋กํ์ผ: ๋ชจ๋ ๋๋ฐ์ด์ค์ ํ์ํ ์์ ์ ๊ธฐ๋ณธ๋ชจ๋๋ ํน์ ํ Usecase๋ฅผ ๋ค๋ฃจ๋ ๊ธฐ๋ฅ์ Vertical slice๋ก์จ ํ๋กํ ์ฝ์ด ์ด๋ป๊ฒ ์ฌ์ฉ๋์ด์ผ ํ๋์ง ์ ์ 2. ์ผ๋ฐ ํ๋กํ์ผ ๊ท๊ฒฉ์ ์ํด ์ ์ํ๋ค. ์ผ๋ฐ ์ก์ธ์ค ํ๋กํ์ผ(GAP) : ๋ณธ์ง์ ์ผ๋ก BLE์ ์ต์์ ์ ์ด๊ณ์ธต. ๋ชจ๋ BLE Device๋ค์๊ฒ ํ์, ๋ชจ๋ ์ค์ํด์ผ ํจ. ์ผ๋ฐ ์์ฑ ํ๋กํ์ผ(GATT) : BLE์ ๋ฐ์ดํฐ ๊ตํ์ ์ฒ๋ฆฌ, ๊ธฐ๋ณธ ๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ ์ ์ฐจ ์ ์. >> ํ๋กํ ์ฝ ์คํ๊ณผ ์ํธ์์ฉํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ง์ ์ง์ ์ผ๋ก์จ API๋ฅผ ์ํ ๊ธฐ์ด๋ก ์ฌ์ฉ๋๋ค. 3. Usecas.. 2022. 1. 20. ์ด์ 1 2 ๋ค์ LIST