Skip to content

gdsckoreahackathon2022/16_ActionForGreen

Repository files navigation

Welcome to ActionForGreen ๐Ÿ‘‹

png_1

  • CO2 Emission system for low CO2 emission.
  • ๊ฐ€๊ตฌ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ „๊ธฐ, ๋‚œ๋ฐฉ, ์ž๊ฐ€์šฉ, ์ˆ˜๋„, ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ๋Ÿ‰์„ IoT ๊ธฐ๊ธฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ฒดํฌํ•˜๊ณ , ์ฒดํฌํ•œ ์‚ฌ์šฉ๋Ÿ‰์„ ํƒ„์†Œ ๋ฐฐ์ถœ๋Ÿ‰์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๊ฐœ์ธ๋ณ„ ํƒ„์†Œ ๋ฐฐ์ถœ๋Ÿ‰์„ ํ•œ ๋ฒˆ์— ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ธฐํ›„ ๋ณ€ํ™”์— ๋Œ€ํ•œ ๊ฒฝ๊ฐ์‹ฌ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋„๋ก ์ด์šฉ์ž์˜ ํƒ„์†Œ ๋ฐฐ์ถœ๋Ÿ‰์„ ๋ณด๊ณ ์„œ๋ฅผ ๋ฉ”์ผ๋กœ ์ „์†กํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. <<<<<<< HEAD
  • ์„œ๋น„์Šค ์ด ์ด์šฉ์ž์™€์˜ ์„์ฐจ์™€๋„ ๊ฐ„ํŽธํ•˜๊ฒŒ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์–ด ์ž์‹ ์˜ ํƒ„์†Œ ๋ฐฐ์ถœ๋Ÿ‰์ด ์ƒ์œ„ ๋ช‡ ํผ์„ผํŠธ์ธ์ง€ ์ฒดํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โญ๏ธ๊ธฐ๋Œ€ ํšจ๊ณผ

  • ์ „๊ธฐ, ๋‚œ๋ฐฉ๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ์˜จ์‹ค๊ฐ€์Šค ๋ฐฐ์ถœ์˜ ์ฃผ๋ฒ” ์ค‘ ํ•˜๋‚˜์ธ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ ๋“ฑ์— ๋Œ€ํ•ด์„œ๋Š” ์ธ์ง€ํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ƒํ™œ ์† ์˜ˆ์ƒํ•˜์ง€ ๋ชปํ–ˆ๋˜ ์ด์‚ฐํ™”ํƒ„์†Œ(CO2)์˜ ๋ฐฐ์ถœ์„ ์‚ฌ์ „์— ๊ฐ์ง€ํ•˜๊ณ  ์˜ˆ๋ฐฉํ•จ์œผ๋กœ์จ ๊ธฐํ›„ ๋ณ€ํ™”์˜ ์›์ธ์ด ๋˜๋Š” ํƒ„์†Œ ๋ฐฐ์ถœ์„ ์‹ค์ œ๋กœ ์ค„์ด๊ณ , ์„์ฐจ ํ™•์ธ์„ ํ†ตํ•ด ์‹ค์งˆ์ ์ธ ๊ฒฝ๊ฐ์‹ฌ๊ณผ ์‹œ๋ฏผ ์ฐธ์—ฌ๋ฅผ ์ด๋Œ์–ด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์„œ๋น„์Šค ์ด ์ด์šฉ์ž์™€์˜ ์ด์‚ฐํ™”ํƒ„์†Œ ๋ฐฐ์ถœ๋Ÿ‰๊ณผ๋„ ๊ฐ„ํŽธํ•˜๊ฒŒ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์–ด ์ž์‹ ์˜ ํƒ„์†Œ ๋ฐฐ์ถœ๋Ÿ‰์ด ์ƒ์œ„ ์–ผ๋งˆ ์ •๋„์ธ์ง€ ์ฒดํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โญ๏ธ๊ธฐ๋Œ€ ํšจ๊ณผ

  • ์ „๊ธฐ, ๋‚œ๋ฐฉ๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ์˜จ์‹ค๊ฐ€์Šค ๋ฐฐ์ถœ์˜ ์ฃผ๋ฒ” ์ค‘ ํ•˜๋‚˜์ธ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ ๋“ฑ์— ๋Œ€ํ•ด์„œ๋Š” ์ธ์ง€ํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ƒํ™œ ์† ์˜ˆ์ƒํ•˜์ง€ ๋ชปํ–ˆ๋˜ ์ด์‚ฐํ™”ํƒ„์†Œ(CO2)์˜ ๋ฐฐ์ถœ์„ ์‚ฌ์ „์— ๊ฐ์ง€ํ•˜๊ณ  ์˜ˆ๋ฐฉํ•จ์œผ๋กœ์จ ๊ธฐํ›„ ๋ณ€ํ™”์˜ ์›์ธ์ด ๋˜๋Š” ํƒ„์†Œ ๋ฐฐ์ถœ์„ ์‹ค์ œ๋กœ ์ค„์ด๊ณ , ์‹ค์งˆ์ ์ธ ๊ฒฝ๊ฐ์‹ฌ๊ณผ ์‹œ๋ฏผ ์ฐธ์—ฌ๋ฅผ ์ด๋Œ์–ด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    377a7ad8c7aa17828a3fb9ab41259c9c531a0740

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

๐Ÿ“†๊ฐœ๋ฐœ ๊ธฐ๊ฐ„

2022.02.02~2022.02.05

๐Ÿ‘๋ชฉํ‘œ

  • API ๊ด€๋ฆฌ ๋“ฑ ์ž‘์—…์— ํ•„์š”ํ•œ ์‚ฌํ•ญ์„ ํ˜‘์˜ ํ›„ Notion ํ™œ์šฉํ•˜์—ฌ ํ˜‘์—…
  • GitHub Commit, Merge, Branch ๋ถ„๋ฆฌํ•˜์—ฌ ํ˜‘์—… ํ”„๋กœ์ ํŠธ ์ง„ํ–‰
  • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ํ”„๋ก ๋“œ์—”๋“œ/๋ฐฑ์—”๋“œ ๊ตฌํ˜„
  • ๊ฐ€์ƒ IoT ๋Œ€์‹œ๋ณด๋“œ(์ปจํŠธ๋กค ํŒจ๋„) ๋””์ž์ธ ๋ฐ ๊ตฌํ˜„
  • ์‚ฌ์šฉ์ž๋งˆ๋‹ค ๊ฐ€์ƒ IoT ๋Œ€์‹œ๋ณด๋“œ์—์„œ์˜ ๋ฐฐ์ถœ๋Ÿ‰ ์ฟผ๋ฆฌ ๊ตฌํ˜„

๐Ÿ‘Œ Usage

Front-end(Client Program)

npm update
npm run start
  • ํ”„๋กœ์ ํŠธ์˜ ์ตœ์ƒ์œ„ ๊ฒฝ๋กœ์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

Back-end(Server, Firebase) ํ•„์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ ์„ค์น˜

ํ˜„์žฌ๋Š” ๋ฐฐํฌ๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

npm i firebase-tools // ๊ตฌ์„ฑ์š”์†Œ ์„ค์ •
firebase login // firebase ๋กœ๊ทธ์ธ
cd srever/functions // server ํด๋”์˜ functions(๋ฐฐํฌ๋˜๋Š” firebase functions๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.) ๋กœ ์ด๋™
npm i // dependency ์„ค์น˜
firebase deploy // ๋ฐฐํฌ

simulator(python) /src/data_generator/d_g_main.py ๋ฅผ ์‹คํ–‰์‹œ์ผœ, ๊ฐ€์ƒ์œผ๋กœ ๋žœ๋ค ๊ฐ’์˜ ์œ ์ €๋ฅผ ๋งŒ๋“ค๊ณ , 20์ผ์น˜์˜ iot ๋ฐ์ดํ„ฐ๋ฅผ ๋žœ๋ค ์ƒ์„ฑํ•˜์—ฌ ์„œ๋ฒ„์— ๋ณด๋‚ด์ค€๋‹ค. (* test.db์— ์žˆ๋Š” serial ๋“ค์ด, ์ด ํ”„๋กœ๊ทธ๋žจ ๋‚ด์—์„œ send_data()๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์•ˆ์— ์žˆ๋Š” serial ๋งˆ๋‹ค ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด์ค€๋‹ค. ์ฆ‰ d_g_main.py๋ฅผ ์‹คํ–‰ํ•ด ๊ฐ€์ƒ์˜ ์‹œ๋ฆฌ์–ผ ๋“ค๊ณผ ์œ ์ €๋“ค์„ ๋งŒ๋“œ๋ ค๋ฉด, test.db๋ฅผ ๋ฆฌ์…‹ํ•˜๊ณ  ๋‹ค์‹œํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.) skip_1_day.py ๋ฅผ ์‹คํ–‰ํ•ด ๋ฐœํ‘œ์šฉ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ๋ณด์—ฌ์ฃผ์—ˆ๋‹ค.

๐Ÿ˜„Author

๐Ÿ‘ค ActionForGreen Team GDSC Hackathon

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

  • ์ดํœ˜์ฐฌ: ํ”„๋ก ํŠธ์—”๋“œ ๋ฐ ๋””์ž์ธ, ํŒ€์žฅ (๋Œ€์‹œ๋ณด๋“œ ํ™”๋ฉด ๋ฐ ๋ฐฑ์—”๋“œ API ์—ฐ๋™)
  • ๋‚จ๋„ํ•˜: ๋ฐ์ดํ„ฐ ํ”„๋กœ์„ธ์‹ฑ, iot ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ์ƒ์„ฑ
  • ํ•œ๊ฐ•๋ฏผ: ํ”„๋ก ํŠธ์—”๋“œ ๋ฐ ๋””์ž์ธ (๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž… ํ™”๋ฉด)
  • ๊ฐ•๋ณด๊ถŒ: ์„œ๋ฒ„, ๋ฐฑ์—”๋“œ ๋ฐ API ๊ด€๋ฆฌ

๐Ÿ”ง์‚ฌ์šฉ ๊ธฐ์ˆ 

  • Tech Stack : React, Node.js, Firebase
  • Front-end(FE): React
  • Back-end(BE): Firebase + Express.js

โค๏ธ ํ–ฅํ›„ ๋ฐœ์ „ ๊ณ„ํš

์‚ฌ๋žŒ๋“ค์—๊ฒŒ ํƒ„์†Œ ๋ฐฐ์ถœ ์•Œ๋ฆผ๋งŒ์œผ๋กœ ๊ฒฝ๊ฐ์‹ฌ ์œ ๋ฐœ์— ๋‹ค์†Œ ํ•œ๊ณ„๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ธ์„ผํ‹ฐ๋ธŒ๋ฅผ ์ง€๊ธ‰ํ•˜๋Š” ๋ฐฉ์•ˆ์„ ๊ณ ๋ คํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ActionForGreen์€ ํ˜„์žฌ ์ˆ˜์ต์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ง์ ‘ ์ธ์„ผํ‹ฐ๋ธŒ ์ง€๊ธ‰์€ ๊ณค๋ž€ํ•˜์ง€๋งŒ, ์ง€์ž์ฒด, ์ •๋ถ€, ํ™˜๊ฒฝ๋ถ€, ๊ทธ๋ฆฌ๊ณ  ๊ด€๋ จ ๊ธฐ์—…๊ณผ ์—ฐ๊ณ„ํ•˜์—ฌ ์ธ์„ผํ‹ฐ๋ธŒ๊ฐ€ ์‹ค์งˆ์  ์ด์šฉ์ž์—๊ฒŒ ์ง€๊ธ‰๋œ๋‹ค๋ฉด ์ข‹์€ ๋ฐ˜์‘์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž‘์—… ๋‚ด์—ญ

deploy

https://16-action-for-green-fdx145yl0-kasterra.vercel.app/