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
Show whitespace changes
Inline
Side-by-side
README.md
View file @
1bc87193
...
@@ -28,12 +28,20 @@
...
@@ -28,12 +28,20 @@
∟ main_outside
∟ main_outside
∟ info.md
∟ info.md
∟ client
∟ client
∟ public
∟ src
∟ components
∟ pages
∟ utils
∟ server
∟ server
∟ (data)
∟ data
∟ admAddressCode.csv( 출처 : https://sgis.kostat.go.kr›upload›census›adm_code)
∟ config
∟ src
∟ 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>
2.
프로젝트에서 다음의 두 파일을 수정합니다.
<br>
-
arduino/code/main_inside/main_inside.io
2.
프로젝트에서 다음의 두 파일을 수정합니다.
-
arduino/code/main_outside/main_outside.io
위의 두 파일에 대해 본인의 상황에 맞게 다음의 것들을 수정합니다.
1.
arduino/code/main_inside/main_inside.io
2.
arduino/code/main_outside/main_outside.io
-
수정할 것.
1.
SSID (공유기의 이름)
1.
SSID (공유기의 이름)
2.
SSPW (공유기의 비밀번호)
2.
SSPW (공유기의 비밀번호)
3.
EUEIP (웹사이트 아이피주소)
3.
EUEIP (웹사이트 아이피주소)
4.
EUEPORT (웹사이트 포트번호)
4.
EUEPORT (웹사이트 포트번호)
<br>
<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