TasMind๋ Tasmota ํ์จ์ด๊ฐ ์ค์น๋ ๋ชจ๋ ์ฅ์น๋ฅผ AI ๊ธฐ๋ฐ ์์ฐ์ด๋ฅผ ํตํด ์ ์ด, ๊ด๋ฆฌ, ๋ชจ๋ํฐ๋งํ๋ฉฐ, ๋ณต์กํ ์์ ์ ์ํ ์ํฌํ๋ก์ฐ์ ์๋๋ฆฌ์ค ์์ฑ์ ์ง์ํ๋ ํตํฉ ํ๋ซํผ์ ๋๋ค. ์ค๋งํธํ, ์ค๋งํธํ, ์ค๋งํธ๊ณต์ฅ, ์ค๋งํธ๋น๋ฉ ๋ฑ ๋ค์ํ ์์ญ์์ ๋จ์ผ ๊ธฐ๊ธฐ๋ถํฐ ๋ค์ค ์ฅ์น๋ค๊น์ง ์๋๋ฆฌ์ค์ ๊ธฐ๋ฐํด ์๋ํฉ๋๋ค.
AI ์์ฐ์ด ์ ์ด, ์ค์๊ฐ ๋ชจ๋ํฐ๋ง, ๋ณต์กํ ์ํฌํ๋ก์ฐ ๋ฐ ์๋๋ฆฌ์ค ์์ฑ๊น์ง โ ์ค๋งํธํ, ์ค๋งํธํ, ์ค๋งํธ๊ณต์ฅ, ์ค๋งํธ๋น๋ฉ์ ํตํฉ ๊ด๋ฆฌํ์ธ์.
"๊ฑฐ์ค ์ ๋ฑ ์ผ์ค", "์จ์ค ๊ธ์ ๋ฐธ๋ธ ์ด์ด์ค" โ ์์ฐ์ด๋ก ๋ชจ๋ Tasmota ๊ธฐ๊ธฐ๋ฅผ ์ ์ดํฉ๋๋ค. Gemini, Qwen, Gemma, Llama, DeepSeek ๋ฑ ๋ค์ํ LLM์ ํ์ฉํฉ๋๋ค.
์จ๋, ์ต๋, ์ ๋ ฅ๋ ๋ฑ ์ผ์ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ ์ฐจํธ๋ก ํ์ธํ๊ณ , SSE๋ฅผ ํตํด ๊ธฐ๊ธฐ ์ํ ๋ณํ๋ฅผ ์ฆ์ ๊ฐ์งํฉ๋๋ค.
AI๊ฐ ์ฌ์ฉ ํจํด์ ํ์ตํ์ฌ ์๋ํ ๊ท์น์ ์ ์ํฉ๋๋ค. "ํด๊ทผ ์๊ฐ์ ์กฐ๋ช ์๋ ์ผ๊ธฐ" ๊ฐ์ ์๋๋ฆฌ์ค๋ฅผ ์ฝ๊ฒ ์ค์ ํ์ธ์.
Google OAuth ์ธ์ฆ, JWT ํ ํฐ, ๋๋ฐ์ด์ค๋ณ ACL, ๊ด๋ฆฌ์ 2FA, ๊ฐ์ธ์ ๋ณด ๋น์๋ณํ โ ์ํฐํ๋ผ์ด์ฆ๊ธ ๋ณด์์ ์ ๊ณตํฉ๋๋ค.
MQTT ํ๋กํ ์ฝ์ ํตํด Tasmota ํ์จ์ด ๊ธฐ๊ธฐ์ ์ง์ ํต์ ํฉ๋๋ค. Zigbee, Wi-Fi, ์ ํฐ, ์๋์ง ๋ฏธํฐ ๋ฑ ๋ชจ๋ ๋๋ฐ์ด์ค๋ฅผ ์ง์ํฉ๋๋ค.
Neo4j ๊ธฐ๋ฐ Knowledge Graph๋ก ๊ธฐ๊ธฐ, ์ผ์, ์ฌ์ฉ์, ๊ท์น ๊ฐ์ ๊ด๊ณ๋ฅผ ์๊ฐํํ๊ณ AI์ ์ถ๋ก ์ ํ๋๋ฅผ ๋์ ๋๋ค.
Google ๊ณ์ ์ผ๋ก ๊ฐํธํ๊ฒ ๊ฐ์ ํ์ธ์. ์ด์ฉ์ฝ๊ด๊ณผ ๊ณ ์ ์๋ณ์ ํ์ฉ์ ๋์ํ๋ฉด ๊ฐ์ ์ด ์๋ฃ๋ฉ๋๋ค. ๊ฐ์ธ์ ๋ณด๋ ์ ์ฅ๋์ง ์์ต๋๋ค.
๋ณด์์ ์ํด ๊ด๋ฆฌ์๊ฐ ๊ฐ์ ์์ฒญ์ ๊ฒํ ํ๊ณ ์น์ธํฉ๋๋ค. ์น์ธ์ด ์๋ฃ๋๋ฉด ์ด๋ฉ์ผ ์์ด๋ ๋ฐ๋ก ์๋ฆผ์ ๋ฐ์ ์ ์์ต๋๋ค.
Tasmota ๊ธฐ๊ธฐ๋ฅผ ๋ฑ๋กํ๊ณ , AI ์ฑ๋ด๊ณผ ๋ํํ๋ฉฐ ์ค๋งํธํ/์ค๋งํธํ/์ค๋งํธ๊ณต์ฅ/์ค๋งํธ๋น๋ฉ์ ๊ด๋ฆฌํ์ธ์. ์ผ์ ๋ฐ์ดํฐ, ์๋ํ ์ํฌํ๋ก์ฐ ๋ฐ ์๋๋ฆฌ์ค, ๋ช ๋ น ์ด๋ ฅ๊น์ง ๋ชจ๋ ํ ๊ณณ์์.
์ค๋งํธํ, ์ค๋งํธํ, ์ค๋งํธ๊ณต์ฅ, ์ค๋งํธ๋น๋ฉ ๋ฑ ๋ค์ํ ์์ญ์์ AI ๋น์์ ์์ฐ์ด๋ก ๋ํํ๋ฉฐ ๋จ์ผ ๋ฐ ๋ค์ค ๊ธฐ๊ธฐ๋ฅผ ์ ์ดํ๊ณ ์๋ํ ์ํฌํ๋ก์ฐ ์๋๋ฆฌ์ค๋ฅผ ์ค๊ณํ๋ ๊ฐ์ด๋์ ๋๋ค.
๊ธฐ๊ธฐ์ ๋ฆด๋ ์ด ์ค์์น ๋ฐ ์ผ์์ ํ๊ธ ๋ณ๋ช ์ ์ง์ ํ๊ณ , ์ฌ๋ฌ ๊ธฐ๊ธฐ๋ฅผ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ด ํจ๊ป ์ ์ดํ๊ธฐ ์ํ ๊ฐ์ ๋ ธ๋ ๊ด๋ฆฌ ๊ฐ์ด๋์ ๋๋ค.
test_tasmota ๊ธฐ๊ธฐ์ AM2301-04 ์ผ์ ์ ๋ณด๋ '์๋ฐฉ์ผ์'๋ผ๋ ์ด๋ฆ์ผ๋ก ์กฐํํ๊ณ ์ ์ดํ ์ ์์ต๋๋ค.
tasmota_ai2, tasmota_ai4
ํ์ฌ ๋ฑ๋ก๋ ๊ธฐ๊ธฐ ์ค์์ ๋๋ค์์ด ์๋ ๊ฒ๋ค์ ๋ชจ๋ ์ฐพ์์ค์ด๋ฆ(๋๋ ๋ณ๋ช
)์ด ์ง์ ๋์ง ์์ ์ฅ์น๋ ์ค์์น, ์ผ์๊ฐ ์์ด?์ฅ์น ID 'test_device'์ ์ด๋ฆ์ '2์ธต'์ผ๋ก ์ง์ ํด์คtest_tasmota์ฅ์น์ ์ฐ๊ฒฐ๋ power4 ์ค์์น์ ์ด๋ฆ์ ์ถ์
๊ตฌ๋ฑ์ผ๋ก ์ง์ ํด์คtest_tasmota ์ฅ์น์ ์ฐ๊ฒฐ๋ AM2301-04 ์ผ์์ ์ด๋ฆ์ ์๋ฐฉ์ผ์๋ก ์ง์ ํด์คํ์ฐ์ค1์ ์ฐ๊ฒฐ๋ AM2301-04์ผ์์ ์ด๋ฆ์ ๊ฑฐ์ค์ผ์๋ก ๋ณ๊ฒฝํด์คํ์ฐ์ค1์ ์ฐ๊ฒฐ๋ ์ค์์น ์ด๋ฆ ์ฃผ๋ฐฉ๋ฑ์ ์๋ฐฉ๋ฑ ์ผ๋ก ๋ณ๊ฒฝํด์ค์ค๋๋ ์ผ์ ์ ๋ฆฌํด ์ค (์ ๋ น ๋
ธ๋ ์ ๊ฑฐ)5๋ถ ์ด์ ํต์ ์ด ๋๊ธด ์ค๋๋ ์ผ์์ ์ฅ์น ์ญ์ ํด์ค10๋ถ ์ด์ ํต์ ์ด ๋๊ธด ์ค๋๋ ์ผ์์ ์ฅ์น ์ญ์ ํด์ค๊ธฐ๊ธฐ์ ์ผ์ง/๊บผ์ง ์ ์ด์ ๋๋ถ์ด ํ ๋ ๋ฉํธ๋ฆฌ ์ ์ก ์ฃผ๊ธฐ(TelePeriod) ์ค์ , ์ ์ ํ ๋ณต๊ตฌ ๋ชจ๋(PowerOnState) ๋ณ๊ฒฝ, ๊ทธ๋ฆฌ๊ณ ํ์ด๋จธ ์ค์ ๋ฐ ๋๋ ์ด๊ฐ ์กฐํฉ๋ Backlog ๋ค์ค ์คํ ๊ธฐ๋ฅ์ ๋๋ค.
cmnd/ํ์ฐ์ค1/POWER1 = ON (๊ธฐ๊ธฐ ์๋ต: {"POWER1":"ON"})
cmnd/ํ์ฐ์ค1/TelePeriod = 300
cmnd/ํ์ฐ์ค1/Backlog = Power1 ON; Delay 100; Power1 OFF
;)์ผ๋ก ์ฌ๋ฌ ๋ช
๋ น์ด๋ฅผ ์ฎ์ด ๋จ ํ๋์ MQTT ํจํท์ผ๋ก ์์ฐจ ์คํํ๋๋ก ๋ช
๋ น์ ๋ฌถ์ด ๋ณด๋ด๋ ๊ณ ๊ธ ์ฐ๊ฒฐ ๊ธฐ๋ฅ.
ํ์ฐ์ค1์ ์ฐ๊ฒฐ๋ ๊ฑฐ์ค๋ฑ ์ค์์น ์ผ์ค / ๊บผ์คํ์ฐ์ค1์ ์ฐ๊ฒฐ๋ ์ฃผ๋ฐฉ๋ฑ ์ค์์น ๊บผ์ค์ฅ์น ํ์ฐ์ค1์ ์ํ ๋ณด๊ณ (Telemetry) ์ฃผ๊ธฐ๋ฅผ 10๋ถ์ผ๋ก ๋ณ๊ฒฝํด์ค์ฅ์น ํ์ฐ์ค1์ ์ํ ๋ณด๊ณ (Telemetry) ์ฃผ๊ธฐ๋ ์ผ๋ง์ธ๊ฐ?์ฅ์น test_agent์ ์ํ ๋ณด๊ณ (Telemetry) ์ฃผ๊ธฐ๋ ์ผ๋ง์ธ๊ฐ?์ฅ์น ํ์ฐ์ค1์ ์ ์ ํ ์ ์ ์ผ์ง ์ํ๋ฅผ '์ด์ ์ํ ๊ธฐ์ต'์ผ๋ก ์ค์ ํด ์ค์ฅ์น ํ์ฐ์ค1์ ๊ฑฐ์ค๋ฑ์ ์ผ๋ฉด 30์ด ๋ค์ ์๋์ผ๋ก ๊บผ์ง๋๋ก ํ์ด๋จธ๋ฅผ ์ค์ ํด ์ค (3์ด/300์ด ๊ฐ๋ฅ)ํ์ฐ์ค1์ ๊ฑฐ์ค๋ฑ์ ์ผ๋ฉด ์๋์ผ๋ก ๊บผ์ง๋ ํ์ด๋จธ๋ฅผ ํด์ ํด์ค์ฅ์น ํ์ฐ์ค1์ power1, power2, power3, power4์ ์๋ก Interlock(์ํธ ์ ๊ธ)์ผ๋ก ์ค์ ํด ์คํ์ฐ์ค1์ [power1, power2], [power3, power4] ๊ฐ๊ฐ ์ธํฐ๋ก์ผ๋ก ์ค์ ํด ์คํ์ฐ์ค1์ ์ ์1์ ์ผ๊ณ , 10์ด ๋๊ธฐํ ๋ค์ ์ ์1์ ๋ค์ ๋๋ ๋ช
๋ น์ ๋ฐฑ๋ก๊ทธ(Backlog)๋ก ๋ณด๋ด์ค์ค๋งํธ ๋ธ๋ผ์ธ๋ ๋ฆด๋ ์ด ์ ์ด ์ค์ , ์ฐจ๊ณ ๋ฌธ ์ ์ฉ ๋ชจ๋ ์ ์ฉ, ์์ ํ ์ด๋ฆฌ๊ณ ๋ซํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์ค๊ตฌ๋ ๋ชจํฐ ์๋ ์๊ฐ ๊ต์ ๋ฐ ์ ๋ฐ ๊ฐ๋ฐฉ์จ ์ ์ด์ ๋๋ค.
cmnd/ํ์ฐ์ค1/Backlog = SetOption80 1; ShutterRelay1 1
ShutterOpenDuration1 12.5)ShutterCloseDuration1 11.2)
ํ์ฐ์ค1์ ๋ธ๋ผ์ธ๋(์
ํฐ) ๊ธฐ๋ฅ์ ํ์ฑํํ๊ณ , ์
ํฐ1์ ์ ์ด ๋ฆด๋ ์ด๋ฅผ 1๋ฒ์ผ๋ก ์ง์ ํด์ค์
ํฐ2์ ์ ์ด ๋ฆด๋ ์ด๋ฅผ 3๋ฒ์ผ๋ก ์ง์ ํด์คํ์ฐ์ค1์ ์
ํฐ๋ฆด๋ ์ด2๋ฅผ ์ ์3๋ฒ์ผ๋ก ์ง์ ํด์คํ์ฐ์ค1์ ์
ํฐ ๋์ ๋ชจ๋๋ฅผ '์ฐจ๊ณ ๋ฌธ ๋ชจ๋(one relay garage mode)'๋ก ๋ณ๊ฒฝํด์คํ์ฐ์ค1์ ์
ํฐ ๋์ ๋ชจ๋๋ฅผ 1 ๋ก ๋ณ๊ฒฝํด์คํ์ฐ์ค1์ ์
ํฐ1์ด ์์ ํ ์ด๋ฆฌ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ 12.5์ด๋ก, ์์ ํ ๋ซํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ 11.2์ด๋ก ์ค์ ํด์คํ์ฐ์ค1์ ์
ํฐ1์ ์ ๋ฐ๋ง ์ด๋ฆฌ๊ฒ 50% ์์น๋ก ์ด๋์์ผ ์ค๋ค์ํ ๊ธฐ๊ธฐ์ ์จ์ต๋ ๋ฐ ์๊ฐ ์กฐ๊ฑด์ ๊ธฐ๋ฐ์ผ๋ก ์๋ํ ์ ์ฑ (DSL)์ ์ค๊ณ/๋ฑ๋กํ๊ณ , ์ค์ ๊ธฐ๊ธฐ๋ค์ ๋ฐ์ธ๋ฉํ์ฌ ๋ฐฑ์๋ ๋๋ Tasmota ๊ธฐ๊ธฐ ๋ก์ปฌ ๋ฃฐ๋ก ์ปดํ์ผํ๋ ๋ค๋ชฉ์ ์ ์ด ๊ณผ์ ์ ๋๋ค.
system#boot ๋ณ์ ๋ฆฌ์
๋ฐ ์จ์ต๋ ๊ฐ์ง)tasmota_ai2tasmota_ai5tasmota_ai2 ๊ธฐ๊ธฐ์ ๋นํ์ฑ MQTT ์ ์ก: cmnd/tasmota_ai2/Rule1 "", Rule2 ""
repeat (์กฐ๊ฑด ๋ง์กฑ ์ ์ง์ ์ ์ด ์ ์ก), once (1ํ ์๋ ํ ๋ฃฐ ๋๊ธฐ), toggle (์ฐธ์ผ ๋ ๊ฐ๋, ๊ฑฐ์ง์ผ๋ก ํด์ ์ ์์ํ ๋ณต์ ๋กค๋ฐฑ)์ด ์์ต๋๋ค.
์ค๋งํธํ ๋๋ฉ์ธ์ ์๋ก์ด ์๋ํ ์๋๋ฆฌ์ค ํ
ํ๋ฆฟ์ ๋ฑ๋กํด์ค์๋๋ฆฌ์ค sc_09f2c9e6์ ์จ์ต๋ ์ผ์๋ tasmota_ai2์ am2301์ ์ ์ฉํ๊ณ ๊ฑฐ์ค๋ฑ, ์ฃผ๋ฐฉ๋ฑ๊ณผ ํํ๊ธฐ, ์์ด์ปจ๋ค์ ๊ฐ์ ๋
ธ๋์ ๋งคํํด ์ ์ฉํด์ค. ์คํ ๋ชจ๋๋ toggle๋ก ์ค์ ํด์ค์๋๋ฆฌ์ค sc_09f2c9e6์ ์จ์ต๋ ์ผ์๋ tasmota_ai2์ am2301์ ์ ์ฉํ๊ณ ์ก์ถ์์ดํฐ๋ค์ ํ์ปจํธ๋กค ๊ฐ์ ๋
ธ๋์ ๋ค์ ๋งคํํด์ ์ ์ฉํด์ค. ์คํ ๋ชจ๋๋ once๋ก ์ค์ ํด์ค์พ์ ํ ๊ฐ๋ ์๋๋ฆฌ์ค์ ์์ฑ๋ ๊ท์น์ toggle ๋ชจ๋์ผ๋ก ๋ณ๊ฒฝํด์คํ์ฐ์ค1์ Rule1์ ํ์ฑํํด์ค / ๊บผ์คํ์ฐ์ค1์ Rule1 ๋ช
๋ น์ ON Switch1#State DO Power2 ON ENDON๋ก ๋ณ๊ฒฝํด์คํ์ฐ์ค1์ Rule1 ๋ช
๋ น์ ON Switch1#State DO Power1 ON ENDON๋ก ์ค์ ํด์คtasmota_ai2 ์ฅ์น์ Rule1, Rule2, Rule3๋ฅผ ๋ชจ๋ ๋นํ์ฑํํ๊ณ ์ญ์ ํด์ค์๋๋ฆฌ์ค์ ์ํด ์ ์ฉ๋ ๋ฃฐ ๊ท์น ๋ฆฌ์คํธ ๋ณด์ฌ์ค / ๋ชจ๋ ์ญ์ ํด์ค์ต๋ ๊ด๋ จ ์๋๋ฆฌ์ค ๊ฒ์ํด์ ์๋ ค์ค์ค์ 4์~11์ ์ฌ์ด์ ์จ๋๊ฐ 28๋ ์ด์์ด๊ณ ์ต๋๊ฐ 50% ์ดํ์ด๋ฉด ๋ถ๋ฌด๊ธฐ๋ฅผ ์ผ๊ณ , 22๋ ์ดํ๊ฑฐ๋ ์ต๋๊ฐ 75% ์ด์์ด๋ฉด ๋ถ๋ฌด๊ธฐ๋ฅผ ๋๋ ์ค๋งํธํ ์จ์ต๋ ๋ถ๋ฌด ์ ์ด ์์คํ
์๋๋ฆฌ์ค๋ฅผ ๋ง๋ค์ด์คTasmota ํ์จ์ด ๊ธฐ๊ธฐ์ ์ค์๋์ ํผํ๊ณ , ๋ฃฐ ์์ง ๋น๋ ์ ๋ฐ์ํ ์ ์๋ ์ฃผ์ ์ฅ์ ๋ฐ ๋ฌผ๋ฆฌ์ ๋ถํ ์์์ ์ฐจ๋จํ๊ธฐ ์ํด ๋ฐ๋์ ์ง์ผ์ผ ํ ๊ฐ์ด๋๋ผ์ธ์ ๋๋ค.
๋ฐฑ๋ก๊ทธ ๋ค์ค ๊ฒฐํฉ ์ ์ก(์: ์ผ๊ณ ์ผ์ ์๊ฐ ๋ค ๋๊ธฐ)์ ๊ตฌํํ ๋๋ PulseTime์ ๋ณต์กํ ๊ณต์ ๋์ **๋ฐ๋์ `Delay` ๋ช
๋ น์ด(0.1์ด ๋จ์)**๋ฅผ ์ฌ์ฉํด ์์ ๋ณํ ์ค๋ฅ๋ฅผ ์์ฒ ์ฐจ๋จํ์ธ์.
- ์ฌ๋ฐ๋ฅธ ์: Backlog Power1 ON; Delay 100; Power1 OFF (10์ด ๋๊ธฐ ํ ์์ ์ข
๋ฃ)
์๊ฐ ์กฐ๊ฑด(์: 04:00~11:00)๊ณผ ์ผ์ ์๊ณ๊ฐ(์: ์จ๋ 28๋ ์ด์)์ด ๊ฒฐํฉ๋ ์๋๋ฆฌ์ค ์ค๊ณ ์, ์ด๋ฅผ ๊ฐ๋ณ step ์กฐ๊ฑด์ผ๋ก ์ชผ๊ฐ์ ๋ง๋ค๋ฉด ๋ฃฐ ์์ง์ด ์กฐ๊ฑด๋ค์ ๊ฐ๊ฐ ํ๊ฐํ์ฌ "์์น ์๋ ๋ฐค ์๊ฐ์๋ ๋ถ๋ฌด๊ธฐ๊ฐ ๋๋" ์ค์๋์ด ์ผ์ด๋ฉ๋๋ค.
๋ฐ๋์ ๋จ์ผ step ๋ด์ **"and": [ {์กฐ๊ฑด1}, {์กฐ๊ฑด2} ] ๊ตฌ์กฐ๋ก ๋ฌถ์ด์** ๋จ์ผ ๋ธ๋ก์ผ๋ก ํ๊ฐ๋๋๋ก ์์ฑํด์ผ ํฉ๋๋ค.
๋ธ๋ผ์ธ๋, ์
ํฐ ๋ฑ ๋ชจํฐ๋ก ๊ตฌ๋๋๋ ๋ถํ์ ์ ๋ฐฉํฅ(์ฌ๋ฆผ)๊ณผ ์ญ๋ฐฉํฅ(๋ด๋ฆผ) ์ ์ด ๋ฆด๋ ์ด์ ๋์์ ์ ์์ด ๊ณต๊ธ๋ ๊ฒฝ์ฐ **๋ชจํฐ ๋ชจ๋์ด ๋ฌผ๋ฆฌ์ ์ผ๋ก ํ๋ฒ๋ฆด ์ํ**์ด ์์ต๋๋ค. ์ ์ด ๋ฆด๋ ์ด๋ฅผ ๋งคํํ๊ธฐ ์ ์ ๋ ์ฑ๋์ **์ธํฐ๋ก์ผ๋ก ๋ฐ๋์ ๋ฌถ์ด๋์ด์ผ** ํฉ๋๋ค.
- ์ค์ ์์: Interlock 1,2 (1๋ฒ๊ณผ 2๋ฒ ๋ฆด๋ ์ด์ ์ํธ ์ ๊ธ ํ์ฑํ)
Tasmota ๋ฌผ๋ฆฌ ๊ธฐ๊ธฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ง๊ณ ์คํํ ์ ์๋ ๊ท์น์ ์ต๋ 3๊ฐ(๊ฐ ์ฌ๋กฏ๋น 511์ ์ดํ)์
๋๋ค. ์๋๋ฆฌ์ค ์ปดํ์ผ ์ ์ฌ๋กฏ ํ๊ณ๋ฅผ ๋๋ ๋ฃฐ๋ค์ ์๋์ผ๋ก **์๋ฒ ๋ฃฐ ์์ง(TimescaleDB ๊ธฐ๋ฐ) ํด๋ฐฑ**์ผ๋ก ๋์ด๊ฐ๋ฉฐ, ์ด ๊ฒฝ์ฐ ๊ฒ์ดํธ์จ์ด ์๋ฒ์ ๋คํธ์ํฌ๊ฐ ์ฐจ๋จ๋๋ฉด ์ด๊ณผ ๋ฃฐ์ ์๋ํ์ง ์๋ ํ๊ณ๊ฐ ์์ต๋๋ค.
๐ ์๊ณ์ด ๋ถ์ ํ์์กด ๋ฐ์ดํฐ ์ผ๊ด์ฑ ์ง์นจ
analytics_query ๋๋ analytics_anomaly ๋ถ์ ๋ฐ์ดํฐ ์กฐํ ์, ์๋ฒ์ ๊ธฐ๊ธฐ ๊ฐ์ ํ์์กด ๋ถ์ผ์น(์: Berlin vs Seoul)๋ก ์ธํด ์๋ต ์๊ฐ์ด "ํ์ฌ๋ณด๋ค ๋ฏธ๋ ์๊ฐ"์ผ๋ก ํฌ๋งทํ
๋๋๋ผ๋, ์ด๋ ํ์์กด ์คํ์
์ ์ํ ์ฐ์ฐ์์ ์ ์ ์ํ์ด๋ฏ๋ก ๋ถ์์ ๊ฑฐ๋ถํด์๋ ์ ๋ฉ๋๋ค.
TasMind๋ ์ฌ์ฉ์์ ๊ฐ์ธ์ ๋ณด๋ฅผ ์์งํ๊ฑฐ๋ ์ ์ฅํ์ง ์์ต๋๋ค.
์ด๋ฉ์ผ, ์ด๋ฆ ๋ฑ ๊ฐ์ธ์ ๋ณด๋ ์๋ฒ์ ์ ์ฅ๋์ง ์์ต๋๋ค. ๊ณ ์ ์๋ณ์์ ํด์๊ฐ๋ง ์ฌ์ฉํฉ๋๋ค.
๊ฐ์ ํ ๊ด๋ฆฌ์์ ์น์ธ์ด ์์ด์ผ ์๋น์ค๋ฅผ ์ด์ฉํ ์ ์์ด, ๋ฌด๋ถ๋ณํ ์ ๊ทผ์ ๋ฐฉ์งํฉ๋๋ค.
๊ด๋ฆฌ์ ๊ณ์ ์ Google Authenticator ๊ธฐ๋ฐ 2๋จ๊ณ ์ธ์ฆ์ ์ ์ฉํ์ฌ ๋ณด์์ ๊ฐํํฉ๋๋ค.
์ต์ํ์ ์ด์ฉ์ฝ๊ด๊ณผ ๊ณ ์ ์๋ณ์ ํ์ฉ ๋์๋ง ์๊ตฌํ๋ฉฐ, ์ธ์ ๋ ํ์ธํ ์ ์์ต๋๋ค.
Google ๊ณ์ ํ๋๋ก AI ๊ธฐ๋ฐ ์์ฐ์ด ์ ์ด ๋ฐ ์๋๋ฆฌ์ค ์๋ํ์ ์ธ๊ณ์ ์ ์ฅํ์ธ์.
๋ฌด๋ฃ๋ก ์์ํ๊ธฐ