Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
students
eue
Commits
1bc87193
Commit
1bc87193
authored
Aug 09, 2021
by
KangMin An
Browse files
Update: git ignore 수정. 문서 수정.
parent
aa44a862
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
1bc87193
...
@@ -22,18 +22,26 @@
...
@@ -22,18 +22,26 @@
## 1. 프로젝트 구성
## 1. 프로젝트 구성
∟ arduino
∟ arduino
∟ code
∟ code
∟ main_inside
∟ main_inside
∟ main_outside
∟ main_outside
∟ info.md
∟ info.md
∟ client
∟ client
∟ server
∟ public
∟ (data)
∟ src
∟ src
∟ components
∟ pages
∟ utils
∟ server
∟ data
∟ admAddressCode.csv( 출처 : https://sgis.kostat.go.kr›upload›census›adm_code)
∟ config
∟ src
∟ controllers
∟ controllers
∟ data_processing
∟ data_processing
∟ rdb_setting
∟ db
∟ models
∟ routers
∟ routers
∟ views
∟ views
...
@@ -76,76 +84,83 @@ git clone https://github.com/dorakang612/EUE.git
...
@@ -76,76 +84,83 @@ git clone https://github.com/dorakang612/EUE.git
> - 이미 설치를 해두셨다면 바로 아래부터 진행합니다.
> - 이미 설치를 해두셨다면 바로 아래부터 진행합니다.
>
>
> - 최근에는 Arduino에서 Online IDE를 서비스해주는 것 같습니다. 아두이노를 많이 다루지 않아도 되므로, 필요에 따라 IDE설치 보다 Online IDE를 사용하는 것을 고려해보시기 바랍니다.(해당 내용은 추후 서비스 사용 후 수정 예정)
> - 최근에는 Arduino에서 Online IDE를 서비스해주는 것 같습니다. 아두이노를 많이 다루지 않아도 되므로, 필요에 따라 IDE설치 보다 Online IDE를 사용하는 것을 고려해보시기 바랍니다.(해당 내용은 추후 서비스 사용 후 수정 예정)
> <br>
<br>
2.
프로젝트에서 다음의 두 파일을 수정합니다.
2.
프로젝트에서 다음의 두 파일을 수정합니다.
-
arduino/code/main_inside/main_inside.io
1.
arduino/code/main_inside/main_inside.io
-
arduino/code/main_outside/main_outside.io
2.
arduino/code/main_outside/main_outside.io
위의 두 파일에 대해 본인의 상황에 맞게 다음의 것들을 수정합니다.
-
수정할 것.
1.
SSID (공유기의 이름)
2.
SSPW (공유기의 비밀번호)
3.
EUEIP (웹사이트 아이피주소)
4.
EUEPORT (웹사이트 포트번호)
1.
SSID (공유기의 이름)
<br>
2.
SSPW (공유기의 비밀번호)
3.
EUEIP (웹사이트 아이피주소)
4.
EUEPORT (웹사이트 포트번호)
<br>
3.
아두이노 메인보드를 PC에 연결합니다.
3.
아두이노 메인보드를 PC에 연결합니다.
<br>
<br>
4.
실내용 아두이노 보드에는 main_inside.io를 업로드합니다.
4.
실내용 아두이노 보드에는 main_inside.io를 업로드합니다.
<br>
<br>
5.
외부용 아두이노 보드에는 main_inside.io를 업로드합니다.
5.
외부용 아두이노 보드에는 main_inside.io를 업로드합니다.
> 프로젝트를 진행하는데 있어 사용한 모듈 정보는 arduino/info.md를 참고하시면 됩니다.
> 프로젝트를 진행하는데 있어 사용한 모듈 정보는 arduino/info.md를 참고하시면 됩니다.
>
> 모듈 정보를 참고하여 RTC 모듈의 시간을 현재 시간으로 설정합니다.
> 2021.08.09 현재 데이터 수집기 동작이 원활하지 않아, 향후 보완 예정입니다.
<br>
<br>
### 3-2. Client (React)
### 3-2. Client (React)
<br>
1.
/client 경로로 이동하여 다음의 명령어를 실행합니다.
### 3-3. Server (Express.js)
```
console
npm install
```
<br>
<br>
1
.
/
server 경로상으로 이동한 뒤 다음의 명령어를 실행합
니다.
2
.
/
client 경로에서 다음의 명령어를 실행하여 Client를 동작시킵
니다.
```
console
```
console
npm
in
sta
ll
npm sta
rt
```
```
위의 명령어를 통해 프로젝트가 사용하는 모든 node module들을 설치합니다.
<br>
<br>
2.
Mysql을 통해 Database를 생성합니다.
### 3-3. Server (Express.js)
각자의 OS에 맞는 방법으로 MySQL 서버에 접속해 주신 뒤, DataBase를 생성해줍니다.
<br>
<br>
3
.
생성된 Database 상에서 다음의 명령어를 입력해 Relation들을 생성
합니다.
1
.
/server 경로상으로 이동한 뒤 다음의 명령어를 실행
합니다.
```
console
```
console
mysql>
source
server/src/rdb_setting/eue.sq
l
npm instal
l
```
```
위의 명령어를 통해 프로젝트가 사용하는 모든 node module들을 설치합니다.
<br>
<br>
4
.
/server 경로상으로 이동한 뒤 rdb_setting/dbsetting.js를 다음의 명령어로 실행
합니다.
2
.
PostgreSQL을 통해 Database를 생성
합니다.
```
console
각자의 OS에 맞는 방법으로 PostgreSQL 서버에 접속해 주신 뒤, DataBase를 생성해줍니다.
npx babel-node rdb_setting/dbsetting.js
```
<br>
위의 명령어를 통해 Location에 관련된 Relation들에 data가
입력
됩
니다.
3.
/server/config 경로에 있는 config_public.js를 복사하여 config.js를 생성하고, 자신의 환경에 맞도록 변수들의 값을
입력
합
니다.
<br>
<br>
5
.
/server 경로상에서 다음을 입력해 서버를 시작합니다. (개발용 서버 동작)
4
.
/server 경로상에서 다음을 입력해 서버를 시작합니다. (개발용 서버 동작)
```
console
```
console
npm run dev:server
npm run dev:server
...
...
server/.gitignore
View file @
1bc87193
...
@@ -7,7 +7,7 @@ package-lock.json
...
@@ -7,7 +7,7 @@ package-lock.json
config/config.js
config/config.js
# Project Data
# Project Data
/data
/data
/init.sql
# Python Cache
# Python Cache
__pycache__
__pycache__
...
...
server/API명세서.md
View file @
1bc87193
...
@@ -48,7 +48,7 @@
...
@@ -48,7 +48,7 @@
user_info
:
—
사용자
정보
—
,
user_info
:
—
사용자
정보
—
,
weather_out
:
—
실외
날씨
데이터
—
,
weather_out
:
—
실외
날씨
데이터
—
,
weather_in
:
—
실내
(
사용자
개인
)
날씨
데이터
—
,
weather_in
:
—
실내
(
사용자
개인
)
날씨
데이터
—
,
weather_predict
:
-
사용자
날씨
데이터를
통한
예측
값
-
,
weather_predict
:
—
사용자
날씨
데이터를
통한
예측
값
—
,
error
:
—
에러
—
,
error
:
—
에러
—
,
}
}
}
}
...
...
server/Data명세서.md
View file @
1bc87193
...
@@ -71,6 +71,8 @@ PostgreSQL DB를 이용하여, 날씨 데이터와 분석 결과를 저장합니
...
@@ -71,6 +71,8 @@ PostgreSQL DB를 이용하여, 날씨 데이터와 분석 결과를 저장합니
| :------: | :----------: | :-------: | :-------: | :---: | :--------: | :-------: | :-------: | :----: |
| :------: | :----------: | :-------: | :-------: | :---: | :--------: | :-------: | :-------: | :----: |
| Contents | 날짜 및 시각 | 실외 온도 | 실외 습도 | 기압 | 풍속 | 실내 온도 | 실내 습도 | 광도 |
| Contents | 날짜 및 시각 | 실외 온도 | 실외 습도 | 기압 | 풍속 | 실내 온도 | 실내 습도 | 광도 |
<br>
## File Format (2021.08.04 - 진행)
## File Format (2021.08.04 - 진행)
데이터 분석용 파일의 형식은 csv이며 내용은 다음과 같습니다.
데이터 분석용 파일의 형식은 csv이며 내용은 다음과 같습니다.
...
@@ -83,7 +85,20 @@ PostgreSQL DB를 이용하여, 날씨 데이터와 분석 결과를 저장합니
...
@@ -83,7 +85,20 @@ PostgreSQL DB를 이용하여, 날씨 데이터와 분석 결과를 저장합니
## Preprocessing
## Preprocessing
1.
사용자 정보(email, loc_code, using_aircon)를 검색합니다.
1.
사용자의 외부와 내부 날씨 데이터를 DB에서 검색합니다.
2.
사용자의 수 만큼 데이터 분석을 반복합니다.
3.
사용자 한명에 대해 날씨 정보를 담은 csv파일을 생성합니다.
-
날씨 정보는 약 20,000 개의 데이터를 사용하기 위해 5개월 단위를 검색해 사용합니다.
-
날씨 정보는 약 20,000 개의 데이터를 사용하기 위해 5개월 단위를 검색해 사용합니다.
2.
검색된 날씨 정보들을 바탕으로 csv파일을 생성합니다.
3.
csv파일을 pandas를 통해 dataframe으로 변경한 뒤, z-score로 변환 합니다.
4.
z-score, 평균(mean), 표준편차(std)를 반환하며 종료합니다.
<br>
## Main Process
<br>
## Save Result
1.
전처리 과정에서 발생한 평균과 표준편차를 json 형태로 변환합니다.
2.
데이터 분석결과 발생한 모델과 가중치 파일을 blob 형태로 변환합니다.
3.
json & blob 데이터들을 DB에 저장합니다.
server/data/admAddressCode.csv
0 → 100755
View file @
1bc87193
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment