μμ±: 2026-07-24
μν: μ€κ³ μλ£, ꡬν λκΈ°
μμΉ: “μ λ μ κΉ¨μ§ κ²” β ν proot/DeepSeek μ€νκ³Ό 물리μ μΌλ‘ λΆλ¦¬
μ€κ³ λͺ©ν
νΈλ 1μ AI μμ‘΄μ± μμ΄ μλνλ κ²½λ λ°λͺ¬μ΄λ€. Claude Code μΈμ
μ΄ μ£½μ΄λ, DeepSeek APIκ° λ€μ΄λΌλ, proot Ubuntuκ° κΉ¨μ Έλ μμΉΒ·λ°°ν°λ¦¬Β·μ΄μ μ νΈ λ³΄κ³ λ μ λ λ©μΆμ§ μμμΌ νλ€.
μν€ν
μ²
Termux (Android λ€μ΄ν°λΈ, proot μκ° μλ)
β
βββ care-daemon.sh β ν¬λ‘ μΌλ‘ λ§€ NλΆ μ€ν (μμ bash)
β βββ termux-battery-status β λ°°ν°λ¦¬ μλ/μ¨λ/μΆ©μ μν
β βββ termux-location β GPS μμΉ (network fallback)
β βββ termux-telephony-device β μ
λ£°λ¬ μ νΈ + λ€νΈμν¬ νμ
β βββ termux-notification β λ‘컬 μλ¦Ό (λΉμμ)
β
βββ care-reporter.sh β μμ§λ λ°μ΄ν° β ν
λ κ·Έλ¨ DM μ μ‘
β βββ curl β Telegram Bot API
β βββ TG_CHAT_HELENA (ν¬λ λ)
β βββ TG_CHAT_PASTOR (λͺ©μ¬λ)
β
βββ care-state.json β μν μ μ₯ (μ΄μ κ°κ³Ό λΉκ΅ν΄ μ΄μ κ°μ§)
βββ last_battery_pct
βββ last_location
βββ last_report_time
βββ anomaly_flags
μ proot Ubuntu μκ° μλκ°
| proot Ubuntu |
Termux λ€μ΄ν°λΈ |
| DeepSeek/CC μΈμ
μ΄ μ£½μΌλ©΄ κ°μ΄ λ©μΆ€ |
CCμ 무κ΄νκ² λ
립 μ€ν |
| Python venv, node λ± μμ‘΄μ± λ¬΄κ±°μ |
μμ bash + curl + termux-api |
| pip λΉλ μ€ν¨ λ± λ³μ λ§μ |
μμ‘΄μ± κ±°μ μμ |
| μ€νμ β κΉ¨μ§λλ‘ μ€κ³λ¨ |
보μμ β μ κΉ¨μ§λλ‘ μ€κ³λ¨ |
κ°μ§ νλͺ©
1. λ°°ν°λ¦¬ μ΄μ
| 쑰건 |
μ‘μ
|
| μλ < 15% (λ°©μ μ€) |
μ¦μ λ³΄κ³ + “μΆ©μ νμ” μλ¦Ό |
| μλ κΈκ° (1μκ° λ΄ 30% μ΄μ νλ½) |
μ΄μ λ³΄κ³ |
| μ¨λ > 45Β°C |
μ¦μ λ³΄κ³ + “ν° κ³Όμ΄” κ²½κ³ |
| μΆ©μ μ€ β λΉμΆ©μ μ ν (μΈμΆ κ°μ§) |
μ κΈ° λ³΄κ³ μ ν¬ν¨ |
2. μμΉ μ΄μ
| 쑰건 |
μ‘μ
|
| GPS 2μκ° μ΄μ 무μλ΅ |
μ΄μ λ³΄κ³ |
| μμΉκ° νμ λ°κ²½ 500m λ° (μ§ μ΄ν) |
μ νμ λ³΄κ³ (μΈμΆ μ μμΌ μ μμ) |
| 6μκ° μ΄μ μμΉ λ³λ μμ |
μ°λμ€ μ²΄ν¬ (“μμ§μ μμ”) |
3. νλ ν¨ν΄
| 쑰건 |
μ‘μ
|
| Nμκ° μ΄μ νλ©΄ ON μ΄λ²€νΈ μμ |
μ°λμ€ μ²΄ν¬ |
| Nμκ° μ΄μ ν΅ν/λ¬Έμ μμ |
μ°Έκ³ μ 보 (μ μμΌ μ μμ) |
| μλ²½ μκ°λ λΉμ μ νλ |
μ΄μ λ³΄κ³ |
4. μ°κ²°μ±
| 쑰건 |
μ‘μ
|
| WiFi RSSI κΈκ° (μ°κ²° λκΉ) |
κ²½κ³ |
| μ
λ£°λ¬ μ νΈ 0 |
κ²½κ³ (ν΅ν λΆκ° μν) |
| μΈν°λ· μ°κ²° λκΉ (ping μ€ν¨) |
λ‘컬 μλ¦Ό + 볡ꡬ μ μ¬λ³΄κ³ |
λ³΄κ³ μ²΄κ³
μ κΈ° λ³΄κ³ (λ§€ 1μκ°)
π’ [μ κΈ°] 14:00
λ°°ν°λ¦¬: 68% / 37.6Β°C / μΆ©μ μ€
μμΉ: μμΈμ ββꡬ (GPS)
WiFi: U+NetFA1B (-47dBm)
μν: μ μ
μ΄μ λ³΄κ³ (μ¦μ)
π΄ [μ΄μ] 15:23
λ°°ν°λ¦¬ κΈκ°: 45% β 18% (40λΆ)
νμ¬ μμΉ: μμΈμ ββꡬ
λ§μ§λ§ νλ: 14:05
μ¦μ νμΈ νμ!
μ°λμ€ μ²΄ν¬ (λ―Έμλ΅ μ μμ€μ»¬λ μ΄μ
)
π‘ [μ°λμ€] 16:00
6μκ° λμ μμΉ λ³λ μμ.
λ°°ν°λ¦¬ μ μ(72%).
β λλμκ² νμΈ μ°λ½ κΆμ₯.
μμ€μ»¬λ μ΄μ
κ²½λ‘
1μ°¨: ν
λ κ·Έλ¨ DM β ν¬λ λ
β (15λΆ λ¬΄μλ΅)
2μ°¨: ν
λ κ·Έλ¨ DM β λͺ©μ¬λ
β (30λΆ λ¬΄μλ΅ + μκΈ μν©)
3μ°¨: 119 μ κ³ (μλ β μλ μ κ³ λ λ²μ κ²ν νμ)
μ€μΉ μμΉ
/data/data/com.termux/files/home/
βββ care/
β βββ care-daemon.sh β λ©μΈ λ°λͺ¬
β βββ care-reporter.sh β λ³΄κ³ λͺ¨λ
β βββ care-state.json β μν μ μ₯
β βββ care.conf β μ€μ (ν ν°, μκ³κ°, chat_id)
crontab:
# λ§€ 15λΆ μ κΈ° 체ν¬
*/15 * * * * bash ~/care/care-daemon.sh
AI ν΅ν© μ§μ (μ νμ , λΆλ¦¬λ μ±λ)
- Claude Codeλ
care-state.jsonμ μ½μ΄μ λμ보λ νμ κ°λ₯
- CC μΈμ
μ
care-daemon.shμ μμ‘΄νμ§ μμ (λ¨λ°©ν₯ μ½κΈ°)
- CCκ° μ£½μ΄λ λ°λͺ¬μ λ
립μ μΌλ‘ κ³μ μ€ν
- CCκ° care-state.jsonμ ν΅ν΄ μ΄μ ν¨ν΄ νμ΅ κ°λ₯ (μ₯κΈ°)
ꡬν μ°μ μμ
| # |
κΈ°λ₯ |
λμ΄λ |
μν |
| 1 |
λ°°ν°λ¦¬ λͺ¨λν°λ§ + λ³΄κ³ |
ν |
μ€κ³ μλ£ |
| 2 |
GPS μμΉ μμ§ + λ³΄κ³ |
ν |
μ€κ³ μλ£ |
| 3 |
μ κΈ° λ³΄κ³ (1μκ°) |
ν |
μ€κ³ μλ£ |
| 4 |
μ΄μ κ°μ§ (μκ³κ°) |
μ€ |
μ€κ³ μλ£ |
| 5 |
μμ€μ»¬λ μ΄μ
κ²½λ‘ |
μ€ |
μ€κ³ μλ£ |
| 6 |
νλ ν¨ν΄ νμ΅ |
μ |
μ₯κΈ° κ³Όμ |
μ£Όμμ¬ν
- μ λ proot Ubuntu μμμ μ€ννμ§ μλλ€. Termux λ€μ΄ν°λΈ crontabλ§ μ¬μ©.
- AI(Claude Code)λ μλΉμμΌ λΏ, μμ‘΄μ±μ΄ μλλ€.
- μμΉ λ°μ΄ν°λ ν
λ κ·Έλ¨ DMμΌλ‘λ§ μ μ‘. κ³΅κ° μ±λ, GitHub, Discord 곡κ°λ°©μΌλ‘ μμ§ μκ².
- 119 μλ μ κ³ λ μ€ν μνμ΄ μμΌλ―λ‘ 1μ°¨/2μ°¨ μ¬λ νμΈ ν μλ μ€ν.