IKKIM

πŸ”§ RCMS κ΄€λ¦¬μž μ‚¬μ΄νŠΈ κΈ°λŠ₯ 개발

RCMS κ΄€λ¦¬μž νŽ˜μ΄μ§€ ν™”λ©΄ 일뢀
RCMS κ΄€λ¦¬μž νŽ˜μ΄μ§€ ν™”λ©΄ 일뢀
RCMS κ΄€λ¦¬μž νŽ˜μ΄μ§€ - 각쒅 λ‘œλ΄‡ μ„€μ • λ³€κ²½ κΈ°λŠ₯
RCMS κ΄€λ¦¬μž νŽ˜μ΄μ§€ - 각쒅 λ‘œλ΄‡ μ„€μ • λ³€κ²½ κΈ°λŠ₯

πŸ“Œ ν”„λ‘œμ νŠΈ κ°œμš”

  • λ‘œλ΄‡μ˜ 운영 섀정을 μ›Ήμ—μ„œ κ΄€λ¦¬ν•˜λŠ” κ΄€λ¦¬μž μ‹œμŠ€ν…œ(RCMS)μž…λ‹ˆλ‹€.
    μ™ΈλΆ€ 업체가 μš΄μ˜ν•˜λ˜ μ‹œμŠ€ν…œμ„ λ‚΄λΆ€ 개발둜 μ „ν™˜ν•œ 이후, λ‘œλ΄‡ 운영 μ„€μ • κΈ°λŠ₯κ³Ό μ‚¬μš©λŸ‰ μ‹œκ°ν™”λ₯Ό λ‹΄λ‹Ήν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • λͺ©μ μ§€ μ’Œν‘œ, 순찰 경둜, μž₯μ†Œ 및 측수, μ•ˆλ‚΄ μŠ€μΌ€μ€„, TTS 멘트, κ΄‘κ³  이미지 λ“±
    ν˜„μž₯μ—μ„œ 반볡되던 μˆ˜λ™ μ„€μ • μž‘μ—…μ„ μ›Ή UI둜 μ „ν™˜ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • 특히 λͺ©μ μ§€ μ’Œν‘œλŠ” 기쑴에 λͺ©μ μ§€λ§ˆλ‹€ λ‘œλ΄‡μ„ μ‹€μ œλ‘œ μ΄λ™μ‹œμΌœ ν•˜λ‚˜μ”© 기둝해야 ν–ˆμŠ΅λ‹ˆλ‹€.
    λ‘œλ΄‡μ΄ μƒμ„±ν•œ μ£Όν–‰ λ§΅ μœ„μ—μ„œ 클릭으둜 μ§€μ •ν•˜λ„λ‘ λ°”κΎΈμ–΄, 건물당 1μ‹œκ°„ κ°€κΉŒμ΄ 걸리던 μž‘μ—…μ„ 10λΆ„ μ΄λ‚΄λ‘œ μ€„μ˜€μŠ΅λ‹ˆλ‹€.
  • μ½˜ν…μΈ  μ‚¬μš©λŸ‰ 데이터 μ‹œκ°ν™” κΈ°λŠ₯을 톡해, 운영 데이터λ₯Ό 기반으둜 ν•œ μ½˜ν…μΈ  μ „λž΅ 수립이 κ°€λŠ₯ν•˜λ„λ‘ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

πŸ§‘β€πŸ’» μ£Όμš” κΈ°μ—¬

λ‘œλ΄‡ μ£Όν–‰ λ§΅ 기반 μ’Œν‘œ 및 경둜 νŽΈμ§‘κΈ°

  • 고객사별 μ½˜ν…μΈ  μ œμž‘ μ‹œ λͺ©μ μ§€ μ’Œν‘œ μž…λ ₯이 λ°˜λ³΅λ˜μ–΄, 개인 μž‘μ—…μš©μœΌλ‘œ λ§Œλ“€μ–΄ μ“°λ˜ μ’Œν‘œ 취득 도ꡬλ₯Ό
    관리 μ‹œμŠ€ν…œμ— νŽΈμž…ν•  것을 직접 μ œμ•ˆν•˜κ³  κ΅¬ν˜„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • λ‘œλ΄‡μ΄ μƒμ„±ν•œ μ£Όν–‰ λ§΅ μœ„λ₯Ό 클릭해 λͺ©μ μ§€ μ’Œν‘œμ™€ 도착 λ°©ν–₯을 μ§€μ •ν•˜κ³ ,
    μ§€μ •ν•œ λ°©ν–₯을 지도에 ν™”μ‚΄ν‘œλ‘œ 확인할 수 μžˆλ„λ‘ κ΅¬ν˜„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • Canvas둜 λ§΅ 픽셀을 νŒμ •ν•΄ μž₯μ• λ¬Όκ³Ό λ²½ 인접 μœ„μΉ˜λŠ” μ§€μ • 자체λ₯Ό μ°¨λ‹¨ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
    차단 μ˜μ—­μ„ μ‹€μ œλ³΄λ‹€ μ—¬μœ  있게 μž‘μ•„, 벽에 뢙은 μ’Œν‘œκ°€ μ„ νƒλ˜μ§€ μ•Šλ„λ‘ μ²˜λ¦¬ν–ˆμŠ΅λ‹ˆλ‹€.
  • 순찰 λͺ¨λ“œμš©μœΌλ‘œ μ΅œλŒ€ 30개 지점을 μˆœμ„œλŒ€λ‘œ λ°°μΉ˜ν•˜λŠ” μˆœν™˜ 경둜 νŽΈμ§‘μ„ μ§€μ›ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
    지점 μΆ”κ°€, 볡사, μˆœμ„œ 확인이 κ°€λŠ₯ν•©λ‹ˆλ‹€.

λ‘œλ΄‡ 운영 μ„€μ • 관리

  • μž₯μ†Œ 및 측수 선택, λͺ©μ μ§€ λͺ©λ‘, μ•ˆλ‚΄ μŠ€μΌ€μ€„, TTS 멘트λ₯Ό μ›Ή UIμ—μ„œ κ΄€λ¦¬ν•˜λ„λ‘ κ΅¬ν˜„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • λ‘œλ΄‡ 화면에 λ…ΈμΆœν•  κ΄‘κ³  이미지λ₯Ό μ—…λ‘œλ“œν•΄ λ“±λ‘ν•˜λŠ” κΈ°λŠ₯을 κ΅¬ν˜„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • μ €μž₯된 섀정은 APIλ₯Ό 톡해 λ°±μ—”λ“œλ‘œ μ „λ‹¬λ˜λ©°,
    λ‘œλ΄‡ μ½˜ν…μΈ λŠ” μž¬λ‘œλ“œ 이벀트λ₯Ό λ°›μ•„ μž¬μ‹œμž‘ 없이 κ°±μ‹ λ©λ‹ˆλ‹€.
  • ν˜„μž₯ κ²½λΉ„ 관리센터 λ‹΄λ‹Ήμžκ°€ λΉ„κ°œλ°œμžλ‘œμ„œ 직접 μŠ€μΌ€μ€„κ³Ό κ΄‘κ³  화면을 μš΄μ˜ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

데이터 μ‹œκ°ν™”

  • λ‘œλ΄‡ μ½˜ν…μΈ μ—μ„œ μˆ˜μ§‘λœ μ‚¬μš© 둜그λ₯Ό 월별/일별 및 μ½˜ν…μΈ  μ’…λ₯˜λ³„λ‘œ μ§‘κ³„ν•˜μ—¬
    Chart.js λ§‰λŒ€/μ„ ν˜• 차트둜 μ‹œκ°ν™”ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • μ–΄λ–€ μ•ˆλ‚΄ μ½˜ν…μΈ κ°€ μ‹€μ œλ‘œ μ‚¬μš©λ˜λŠ”μ§€ λ°μ΄ν„°λ‘œ 확인해,
    고객사별 μ½˜ν…μΈ  ꡬ성을 μ‘°μ •ν•˜λŠ” 데 ν™œμš©ν•  수 μžˆλ„λ‘ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

πŸ”§ 기술 선택 및 섀계 κ³ λ―Ό

문제 상황

  • λͺ©μ μ§€ μ’Œν‘œλ₯Ό μ–»μœΌλ €λ©΄ λͺ©μ μ§€λ§ˆλ‹€ λ‘œλ΄‡μ„ μ‹€μ œλ‘œ κ·Έ μžλ¦¬κΉŒμ§€ μ΄λ™μ‹œμΌœ μ’Œν‘œλ₯Ό ν•˜λ‚˜μ”© 기둝해야 ν–ˆμŠ΅λ‹ˆλ‹€.
    건물 ν•˜λ‚˜μ— λͺ©μ μ§€κ°€ 슀무 κ³³ κ°€κΉŒμ΄ λ˜λ‹€ λ³΄λ‹ˆ, μ„ΈνŒ… ν•œ λ²ˆμ— ν•œ μ‹œκ°„ κ°€κΉŒμ΄ κ±Έλ ΈμŠ΅λ‹ˆλ‹€.
  • ν˜„μž₯ μ„ΈνŒ…μ€ ν•˜λ“œμ›¨μ–΄ μ„€μΉ˜νŒ€μ΄ λ‹΄λ‹Ήν•˜λŠ”λ°, μ’Œν‘œ μž‘μ—…λ§Œμ€ κ°œλ°œμžκ°€ 직접 κ°€κ±°λ‚˜ μ›κ²©μœΌλ‘œ 지원해야 ν–ˆμŠ΅λ‹ˆλ‹€.

ν•΄κ²° 방법

  • λ‘œλ΄‡μ΄ 주행을 μœ„ν•΄ 이미 생성해 λ‘” 맡을 κ·ΈλŒ€λ‘œ ν™œμš©ν–ˆμŠ΅λ‹ˆλ‹€.
    이 λ§΅μ—λŠ” 원점 μœ„μΉ˜μ™€ ν”½μ…€λ‹Ή μ‹€μ œ 거리가 ν•¨κ»˜ μ €μž₯λ˜μ–΄ μžˆμ–΄,
    λ§΅ μœ„μ˜ ν•œ 점을 ν΄λ¦­ν•˜λŠ” 것과 λ‘œλ΄‡μ„ κ·Έ 자리둜 μ΄λ™μ‹œμΌœ μ’Œν‘œλ₯Ό μ½λŠ” 것이 같은 값을 λƒ…λ‹ˆλ‹€.
  • λ‹€λ§Œ ν΄λ¦­ν•œ μœ„μΉ˜κ°€ 항상 μœ νš¨ν•œ 것은 μ•„λ‹ˆμ—ˆμŠ΅λ‹ˆλ‹€.
    λ§΅μ—μ„œ 검정은 μž₯μ• λ¬Ό, νšŒμƒ‰μ€ 미탐색 μ˜μ—­μ΄λ―€λ‘œ 흰색 μ˜μ—­λ§Œ ν—ˆμš©ν•˜λ„λ‘ Canvas둜 픽셀을 νŒμ •ν–ˆμŠ΅λ‹ˆλ‹€.
  • κ²½κ³„κΉŒμ§€ κ·ΈλŒ€λ‘œ ν—ˆμš©ν•˜λ©΄ 벽에 뢙은 μ’Œν‘œκ°€ μž‘ν˜€ λ‘œλ΄‡μ΄ μ§„μž…ν•˜μ§€ λͺ»ν•˜λŠ” λ¬Έμ œκ°€ μžˆμ–΄,
    차단 μ˜μ—­μ„ μ‹€μ œλ³΄λ‹€ μ—¬μœ  있게 μž‘μ•˜μŠ΅λ‹ˆλ‹€.
    μ •λ°€ν•œ 방식은 μ•„λ‹ˆμ—ˆκ³ , μ§€κΈˆμ΄λΌλ©΄ λ‘œλ΄‡ 크기λ₯Ό κΈ°μ€€μœΌλ‘œ μ—¬μœ  거리λ₯Ό κ³„μ‚°ν–ˆμ„ κ²ƒμž…λ‹ˆλ‹€.