Skip to content

implements overall features using java

Notifications You must be signed in to change notification settings

heewonn09/iot_server

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

87 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“Œ Building RCS [๋นŒ๋”ฉ ์›๊ฒฉ๊ด€๋ฆฌ ์‹œ์Šคํ…œ]

๋ชฉ์ฐจ

  1. ์„œ๋น„์Šค ์†Œ๊ฐœ
  2. ํ”„๋กœ์ ํŠธ ๊ธฐํš์„œ
  3. ์ฃผ์š” ๊ธฐ๋Šฅ
  4. ํŒ€์› ์†Œ๊ฐœ
  5. ์‹œ์—ฐ ๋ฐฉ๋ฒ•

์„œ๋น„์Šค ์†Œ๊ฐœ

HDC๋žฉ์Šค NOVA FullStack ๊ณผ์ •, 1ํŒ€์˜ First ํ”„๋กœ์ ํŠธ Repository ์ž…๋‹ˆ๋‹ค.
์Šค๋งˆํŠธ ๋นŒ๋”ฉ์„ ์ฃผ์ œ ๊ฐ ๋””๋ฐ”์ด์Šค๋“ค์— ๋Œ€ํ•œ ์›๊ฒฉ ์ œ์–ด, ์ž๋™ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.
๊ถŒํ•œ์— ๋”ฐ๋ผ ์ง€์›๋˜๋Š” ์„œ๋น„์Šค๋ฅผ ๊ตฌ๋ถ„ํ•˜์˜€์œผ๋ฉฐ,
ํฌ๊ฒŒ ์ „์ฒดํ†ต์ œ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ด€๋ฆฌ์ž์™€, ๊ฐ ์˜คํ”ผ์Šค ๋ณ„ ๋ถ€๋ถ„ ์‚ฌ์šฉ์ž ์—ญํ• ๋กœ ๊ตฌ๋ถ„์ด ๋ฉ๋‹ˆ๋‹ค.


ํ”„๋กœ์ ํŠธ ๊ธฐํš์„œ

ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ๋„

์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜
SA.png
ERD
ERD_Final.png
MQTT API
image

ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ํŠธ๋ฆฌ (JAVA)

๐Ÿ“ฆsrc
 โ”ฃ ๐Ÿ“‚main
 โ”ƒ โ”ฃ ๐Ÿ“‚java
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“œsmartbuilding.sql // Database, Tables ์ƒ์„ฑ ์‹œ ์‹คํ–‰ํ•  sqlํŒŒ์ผ
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“œMain.java // psvm ๋ฉ”์„œ๋“œ๋กœ java๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์ฒซ ํŒŒ์ผ
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚dao // DB ์ž‘์—… (CRUD) ์„ ์ˆ˜ํ–‰ํ•˜๋Š” DAO ํŒŒ์ผ์ด ๋“ค์–ด๊ฐ€๋Š” ํด๋”
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚dto // ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ํ˜•์‹์„ class, DTO ๋‹จ์œ„๋กœ ๋“ค์–ด๊ฐ€๋Š” ํด๋”
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚mqtt //MqttClient ํด๋ž˜์Šค๋ฅผ ํ†ตํ•ด Connect, Sub/Pub ๊ฐ€ ๊ตฌํ˜„๋œ ํŒŒ์ผ ํด๋”
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚controller // ํ”„๋กœ์ ํŠธ์—์„œ ์ฃผ์š” ๊ธฐ๋Šฅ๋“ค์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋กœ์ง8
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚service // ๊ฐ ๊ธฐ๋Šฅ ๋ณ„๋กœ ๋กœ์ง ๊ตฌํ˜„ํ•˜๋Š” ํด๋”
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚util // DB Connection, ANSI Escape Codes ๋“ฑ static์œผ๋กœ ์ดˆ๊ธฐ ์ƒ์„ฑํ•˜๋Š” ๋ฐ์ดํ„ฐ
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚config // Broker ์„œ๋ฒ„, DB ์„œ๋ฒ„์™€ ๊ด€๋ จ๋œ ๋ฏผ๊ฐ์ •๋ณด๋“ค์ด ๋“ค์–ด๊ฐ€๋Š” ํด๋” (๊นƒ์— ์•ˆ์˜ฌ๋ฆผ)
 โ”ƒ โ”ƒ โ”— ๐Ÿ“‚view // ์ฝ˜์†” ํ™”๋ฉด, UI๋ฅผ ๋„ฃ๋Š” ํด๋”

ํ”„๋กœ์ ํŠธ ์ผ์ • (25.10.21 - 25.10.29)

์ž‘์—… ํ•ญ๋ชฉ ์‹œ์ž‘ ๋‚ ์งœ ์ข…๋ฃŒ ๋‚ ์งœ ๊ธฐ๊ฐ„(์ผ)
ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ์„ค๊ณ„ 2025-10-21 2025-10-22 2
ํ”„๋กœ์ ํŠธ UI ์„ค๊ณ„ 2025-10-22 2025-10-22 1
ํ”„๋กœ์ ํŠธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ 2025-10-22 2025-10-27 6
ERD ๊ตฌ์กฐ ์ž‘์„ฑ 2025-10-23 2025-10-25 3
MQTT API ์„ค๊ณ„ 2025-10-24 2025-10-25 2
์ „์ฒด ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ๋ฐ ์˜ค๋ฅ˜ ์ˆ˜์ • 2025-10-27 2025-10-28 2
์ตœ์ข… ๊ฒ€ํ†  ๋ฐ ๋ฐœํ‘œ 2025-10-29 2025-10-29 1

๐Ÿ› ๏ธ ๊ธฐ์ˆ  ์Šคํƒ

๊ฐœ๋ฐœํ™˜๊ฒฝ ์–ธ์–ด ๋ชจ๋“ˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
Eclipse Java paho-mqtt
mysql-connector-java
MySQL
VSCode Python paho-mqtt
RPi.GPIO
MySQL

์ฃผ์š” ๊ธฐ๋Šฅ

1. ๋กœ๊ทธ์ธ / ํšŒ์›๊ฐ€์ž…

์ž…๋ ฅํ•œ ID, PW ๊ฐ’์œผ๋กœ ํšŒ์› ์กฐํšŒ๋ฅผ ํ•˜๊ณ , ๊ถŒํ•œ์— ๋งž๊ฒŒ ๊ด€๋ฆฌ์ž / ์‚ฌ์šฉ์ž ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•œ๋‹ค.
ํšŒ์›๊ฐ€์ž… ์‹œ ํšŒ์› ์ •๋ณด๊ฐ€ ์ถ”๊ฐ€๋˜๋ฉฐ, ์‚ฌ์šฉ์ž ๊ถŒํ•œ์œผ๋กœ ๊ฐ€์ž…๋œ๋‹ค.

2. ์ถœ์ž…๋ฌธ ์ œ์–ด ๊ธฐ๋Šฅ

๋กœ๊ทธ์ธํ•œ ํšŒ์›์˜ ๊ถŒํ•œ๊ณผ ์ถœ์ž…๋ฌธ์„ ๋น„๊ตํ•˜๊ณ , ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ๋ฌธ์„ ์›๊ฒฉ์œผ๋กœ ์—ฐ๋‹ค.
Mqtt ํ† ํ”ฝ์„ ํ†ตํ•ด ํ•ด๋‹น ์ถœ์ž…๋ฌธ์„ ์—ด๊ณ , ํ•ด๋‹น ๋ฐ์ดํ„ฐ ๋กœ๊ทธ๋ฅผ DB์— ์ €์žฅํ•œ๋‹ค.
์ œ์–ดํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์ฝ˜์†”์— ์ œ์–ด ๊ฑฐ๋ถ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , ํ•ด๋‹น ๋ฐ์ดํ„ฐ ๋กœ๊ทธ๋ฅผ DB์— ์ €์žฅํ•œ๋‹ค.

3. ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ ์ œ์–ด ๊ธฐ๋Šฅ

์ฝ˜์†” ํ™”๋ฉด ๋””๋ฐ”์ด์Šค ๋™์ž‘ ๊ฒฐ๊ณผ ๊ธฐ๋Šฅ ์„ค๋ช…
์—˜๋ฆฌ๋ฒ ์ดํ„ฐ ์กฐ์ž‘์ด ๊ฐ€๋Šฅํ•œ ์œ ์ €๋“ค์˜ ๋ชฉ๋ก์„ ์ฝ˜์†”์— ์ถœ๋ ฅํ•œ๋‹ค.
์œ ์ €๋งˆ๋‹ค ์–ด๋–ค ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€, ๋ช‡ ์ธต์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋“ฑ์˜ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
์—˜๋ฆฌ๋ฒ ์ดํ„ฐ ๋””๋ฐ”์ด์Šค์™€ Mqtt ํ†ต์‹ ์„ ํ†ตํ•ด ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ์˜ ํ˜„ ์œ„์น˜์™€ ์ƒํƒœ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
์—˜๋ฆฌ๋ฒ ์ดํ„ฐ ์ด์šฉ ์—ฌ๋ถ€๋ฅผ ๋ณ€๊ฒฝ์‹œํ‚จ๋‹ค. ์ •์ง€์‹œํ‚ฌ ๊ฒฝ์šฐ ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์—†๋‹ค.
์—˜๋ฆฌ๋ฒ ์ดํ„ฐ์˜ ํ˜„์žฌ ์œ„์น˜๋ฅผ ํ™•์ธํ•˜๊ณ , ํ˜„์žฌ ์œ„์น˜ํ•ด ์žˆ๋Š” ์ธต๊ณผ ์›ํ•˜๋Š” ์ธต์„ ์ž…๋ ฅํ•ด ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๋ฅผ ์›€์ง์ธ๋‹ค.
์—˜๋ฆฌ๋ฒ ์ดํ„ฐ ํ˜ธ์ถœ, ์ด๋™๊ณผ ๊ด€๋ จ๋œ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ DB์—์„œ ๊ฐ€์ ธ์™€ ์ „์ฒด ์ถœ๋ ฅํ•œ๋‹ค.

4. Office ๋ณ„ ๋””๋ฐ”์ด์Šค ์ œ์–ด ๊ธฐ๋Šฅ

์‚ฌ๋ฌด์‹ค๋งˆ๋‹ค ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ๋””๋ฐ”์ด์Šค ๋ชฉ๋ก๋“ค์ด ๋‹ค๋ฅด๋‹ค. ๊ถŒํ•œ์— ๋”ฐ๋ผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋ฌด์‹ค ๋ชฉ๋ก๋“ค์„ ์ถœ๋ ฅํ•˜๊ณ , ์–ด๋–ค ์‚ฌ๋ฌด์‹ค์„ ์ œ์–ดํ•  ์ง€ ์„ ํƒํ•œ๋‹ค.
์‚ฌ๋ฌด์‹ค ์„ ํƒ ์‹œ, ๋””๋ฐ”์ด์Šค ๋ชฉ๋ก๋“ค์ด ์ถœ๋ ฅ๋˜๊ณ , ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ์•ก์ถ”์—์ดํ„ฐ๋ฅผ ์„ ํƒํ•ด ์ œ์–ด ์—ฌ๋ถ€๋ฅผ ์„ ํƒํ•˜๊ฒŒ ํ•œ๋‹ค.

5. ์ฃผ์ฐจ์žฅ ๊ด€๋ฆฌ ์ œ์–ด ๊ธฐ๋Šฅ

์ฝ˜์†” ํ™”๋ฉด ๋””๋ฐ”์ด์Šค ๋™์ž‘ ๊ฒฐ๊ณผ ๊ธฐ๋Šฅ ์„ค๋ช…
IMG_2905 ์‹ค์ œ ์‹œ์—ฐ ์žฅ๋ฉด โ€” ์ฐจ๋Ÿ‰์ด ์ง„์ž…ํ•˜๋ฉด ๊ฒŒ์ดํŠธ๊ฐ€ ์ž๋™์œผ๋กœ ์—ด๋ฆฌ๊ณ , ์ฐจ๋Ÿ‰์ด ์ง€๋‚˜๊ฐ„ ๋’ค ์ž๋™์œผ๋กœ ๋‹ซํžˆ๋Š” ๊ณผ์ •.
MQTT ์‹ค์‹œ๊ฐ„ ํ†ต์‹  ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘.
์„œ๋ฒ„(Java)์—์„œ MQTT ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹  ํ›„, parking_space ๋ฐ parking_log ํ…Œ์ด๋ธ”์— ์ž…ยท์ถœ์ฐจ ๊ธฐ๋ก ์ €์žฅ.
๊ด€๋ฆฌ์ž๋Š” ์ฝ˜์†” ๋ฉ”๋‰ด์—์„œ ์ „์ฒด ์ฃผ์ฐจ ํ˜„ํ™ฉ ๋ฐ ์ฐจ๋Ÿ‰ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿš— ์ฃผ์ฐจ์žฅ ์‚ฌ์šฉ์ž ๊ธฐ๋Šฅ

์ฝ˜์†” ํ™”๋ฉด ๋””๋ฐ”์ด์Šค ๋™์ž‘ ๊ฒฐ๊ณผ ๊ธฐ๋Šฅ ์„ค๋ช…
๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž๋Š” ์ตœ๊ทผ ์ฃผ์ฐจ ๋‚ด์—ญ์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.์ตœ๊ทผ ์ž…์ฐจ ์‹œ๊ฐ„(last_in), ์ถœ์ฐจ ์‹œ๊ฐ„(last_out), ์ด ์ด์šฉ ํšŸ์ˆ˜(total_logs), ๋ˆ„์  ์ฃผ์ฐจ ์‹œ๊ฐ„(total_minutes)์„ ํ‘œ ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•œ๋‹ค.
์‚ฌ์šฉ์ž๊ฐ€ ์ฐจ๋Ÿ‰ ๋“ฑ๋ก ๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•˜๋ฉด updateVehicle() ๋ฉ”์„œ๋“œ๊ฐ€ ์‹คํ–‰๋œ๋‹ค.
์ด๋ฏธ ๋“ฑ๋ก๋œ ์ฐจ๋Ÿ‰์ด ์žˆ์„ ๊ฒฝ์šฐ ์ฝ˜์†”์— โ€œ์ด๋ฏธ ์ฐจ๋Ÿ‰์ด ๋“ฑ๋ก๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.โ€ ๋ฉ”์‹œ์ง€๊ฐ€ ์ถœ๋ ฅ๋˜๊ณ , ์ƒˆ๋กœ ๋“ฑ๋ก์€ ๋ถˆ๊ฐ€ํ•˜๋‹ค.
๋กœ๊ทธ์ธ ํ›„ getUserInfo() ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด users ํ…Œ์ด๋ธ”์—์„œ ์ž์‹ ์˜ ์ •๋ณด๋ฅผ ์กฐํšŒํ•œ๋‹ค.
์ด๋•Œ user_id, id, name, vehicle_no, access_level ๋“ฑ์˜ ํ•„๋“œ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.

6. ํ™”์žฌ ๊ฐ์ง€ ๋ฐ ๊ฒฝ๋ณด ๊ธฐ๋Šฅ

์ฝ˜์†” ํ™”๋ฉด ๋””๋ฐ”์ด์Šค ๋™์ž‘ ๊ฒฐ๊ณผ ๊ธฐ๋Šฅ ์„ค๋ช…
DHT11, MQ2 ์„ผ์„œ๋ฅผ ์ด์šฉํ•ด ์˜จ๋„ยท์Šต๋„ยท๊ฐ€์Šค ์ˆ˜์น˜๋ฅผ ์ธก์ •ํ•˜๊ณ , ์ธก์ •๊ฐ’์„ MQTT ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ๋ธŒ๋กœ์ปค๋กœ ์ „์†กํ•œ๋‹ค.
MQTT ๋ธŒ๋กœ์ปค๋กœ๋ถ€ํ„ฐ ์„ผ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋…(subscribe)ํ•˜์—ฌ DB(environment_data)์— ์‹ค์‹œ๊ฐ„ ์ €์žฅํ•œ๋‹ค.
Java ์ฝ˜์†” ํ”„๋กœ๊ทธ๋žจ์—์„œ DB์˜ ์ตœ์‹  ์„ผ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ณ , ์ž„๊ณ„๊ฐ’(์˜จ๋„ยท๊ฐ€์Šค)์„ ์ดˆ๊ณผํ•  ๊ฒฝ์šฐ ํ™”์žฌ ๊ฒฝ๋ณด(์‚ฌ์ด๋ Œ ๋ถ€์ € ๋ฐ LED ๋ฐ˜๋ณต ์ ๋“ฑ)๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค. ๊ด€๋ฆฌ์ž ๋ฉ”๋‰ด๋ฅผ ์ด์šฉํ•˜๋ฉด ๊ถŒํ•œ์ด ์–ด๋ฝ๋œ ๊ด€๋ฆฌ์ž๋Š” ์ˆ˜๋™์œผ๋กœ ๊ฒฝ๋ณด๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.
๋ฐœ์ƒํ•œ ํ™”์žฌ ์ด๋ฒคํŠธ๋ฅผ event_log ํ…Œ์ด๋ธ”์— ๊ธฐ๋กํ•˜๊ณ , ๊ฒฝ๋ณด ๋ฐœ์ƒ ์‹œ๊ฐ„ยท์žฅ์†Œยท์„ผ์„œ๊ฐ’์„ ํ•จ๊ป˜ ์ถœ๋ ฅํ•œ๋‹ค. ์ˆ˜๋™์œผ๋กœ ๊ฒฝ๋ณด๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ ๊ฒฝ์šฐ ์ˆ˜๋™์œผ๋กœ ํ•ด์ œํ•œ๋‹ค.

๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€ํŒ€์› ์†Œ๊ฐœ

์ด๋ฆ„ ์—ญํ•  ๋ฐ ๋‹ด๋‹น ๊ธฐ๋Šฅ
์–‘์ค€๊ธธ PM
MQTT ํ†ต์‹  ๊ตฌ์ถ•
ํ”„๋กœ์ ํŠธ ์ผ์ •๊ด€๋ฆฌ
์—˜๋ฆฌ๋ฒ ์ดํ„ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„
์กฐ์ˆ˜๋ฏผ ERD ์„ค๊ณ„ ๋ฐ DB ์—ฐ๋™
์ถœ์ž…๋ฌธ ๊ธฐ๋Šฅ ๊ตฌํ˜„
ํ™”์žฌ๊ฐ์ง€์„ผ์„œ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘
์ดํฌ์› ์ฃผ์ฐจ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„
์„ผ์„œ ๋กœ๊ทธ ์ˆ˜์ง‘
๊น€๊ด‘๋ฏผ IoT ์กฐ๋ช… ์ œ์–ด ๊ธฐ๋Šฅ ๊ตฌํ˜„
์˜จ์Šต๋„ ์„ผ์„œ ๋กœ๊ทธ ์ˆ˜์ง‘

์‹œ์—ฐ ๋ฐฉ๋ฒ•

์ž๋ฐ” ํ™˜๊ฒฝ์„ค์ •ํ•˜๊ธฐ

ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์— MySQL8.0, Mosquitto๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
์†Œ์Šค์ฝ”๋“œ ์‹คํ–‰ ์ „์— ๋ฏธ๋ฆฌ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๋Š”๊ฑธ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

1. ์†Œ์Šค์ฝ”๋“œ ๋‹ค์šด๋กœ๋“œ (Java)

์œ„ ํ”„๋กœ๊ทธ๋žจ์€ ์ž๋ฐ” ์†Œ์Šค์ฝ”๋“œ๋กœ, Eclipse ๋‚˜ Intellij ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฑธ ๊ฐ€์ •ํ•˜์— ์„ค๋ช…๋“œ๋ฆฝ๋‹ˆ๋‹ค.
๋จผ์ € ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋กœ์ปฌ ํ™˜๊ฒฝ์— ๋‹ค์šด๋กœ๋“œ ๋ฐ›์Šต๋‹ˆ๋‹ค.

git clone https://github.com/iot-building/iot_server.git

๋‹ค์šด๋ฐ›์€ ์†Œ์Šค์ฝ”๋“œ ๋‚ด์—” build.gradle ํŒŒ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
build.gradle ๋‚ด์— ๋ช…์‹œ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ๋ชจ๋‘ ๋ฐ›์•„์•ผ ์ •์ƒ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

2. config ํŒจํ‚ค์ง€์— .properties ํŒŒ์ผ ์ถ”๊ฐ€

2-1. broker.properties

ํŒŒ์ผ ๊ฒฝ๋กœ "src/main/java/config/broker.properties" ์— ํŒŒ์ผ์„ ๋งŒ๋“ ๋‹ค.
์œ„ ํŒŒ์ผ์—๋Š” broker.ip, broker.port๊ฐ€ ํฌํ•จ๋˜์–ด์•ผ ํ•œ๋‹ค.
๋กœ์ปฌ์—์„œ Mqtt ๋ธŒ๋กœ์ปค๋ฅผ ์‹คํ–‰ํ•  ๊ฒฝ์šฐ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž…๋ ฅํ•œ๋‹ค.

broker.ip = localhost
broker.port = 1883

2-2. db.properties

ํŒŒ์ผ ๊ฒฝ๋กœ "src/main/java/config/db.properties" ์— ํŒŒ์ผ์„ ๋งŒ๋“ ๋‹ค.
์œ„ ํŒŒ์ผ์—๋Š” db.ip, db.port, db.database, db.user, db.password ๊ฐ€ ํฌํ•จ๋˜์–ด์•ผ ํ•œ๋‹ค.
๋กœ์ปฌ์—์„œ MySQL ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•  ๊ฒฝ์šฐ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž…๋ ฅํ•œ๋‹ค.

db.ip = localhost
db.port = 3306
db.database = smart_building
db.user = '์‚ฌ์šฉํ•  db ์œ ์ €'
db.password = 'ํŒจ์Šค์›Œ๋“œ'

3. MySQL ํ…Œ์ด๋ธ” ์„ธํŒ…

smartbuilding.sql ํŒŒ์ผ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค(src/main/java/smartbuilding.sql).
์‹คํ–‰ ํ›„ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ํ…Œ์ด๋ธ”, ๊ธฐ๋ณธ ๋ ˆ์ฝ”๋“œ๋“ค์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ํ…Œ์ด๋ธ”์ด ํ•„์š”ํ•œ ์ง€๋Š” ERD๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

About

implements overall features using java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%