๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
[BSS ์์ ํ๊ณ ๊นจ๋ํ ์งํ์ฒ ํ์น ๋ฐ ์ดํ ์ต์ข ] DEMO ๋ณธ๋ฌธ
๐ฉ๐ป IoT (Embedded)/Arduino
[BSS ์์ ํ๊ณ ๊นจ๋ํ ์งํ์ฒ ํ์น ๋ฐ ์ดํ ์ต์ข ] DEMO
์ง์ง์ํ์นด 2023. 12. 22. 10:58728x90
๋ฐ์ํ
๐ ์์ ํ ์งํ์ฒ
๐ฉ BSS (Best Safety Subway)
- ๋น์ฆ๋์ค ์ง์ ์์คํ BSS (Business Support System) : ํต์ ์กฐ์ง์ด ๋ชจ๋ ๊ณ ๊ฐ ๋๋ฉด ํ๋์ ๊ด๋ฆฌํ๊ณ ๊ฐ์ํํ๋ ๋ฐ ๋์์ด ๋๋ ๋ค์ํ ์ํํธ์จ์ด ํ๋ก๊ทธ๋จ
- ์์ ํ๊ณ ๊นจ๋ํ ์งํ์ฒ ํ์น ๋ฐ ์ดํ ~ !
๐ฉ ์ถ์ง ๋ฐฐ๊ฒฝ ๋ฐ ํ์์ฑ
- ์์ด ๋ฐ ์ฌ๊ณ ๋น๋ฒํ๊ฒ ์ผ์ด๋จ
- ์คํฌ๋ฆฐ ๋์ด ๊ณ ์ฅ ๋ฌธ์
- ์ถํด๊ทผ ์์ฌ ์ฌ๊ณ ์ํ ๋์
- ๊ฐ์ ์ ์ผ๋ก ์ด์ฐํํ์ ๊ณผํฌํ ์๊ฐํ๋ก “์ํ” ์์ ์ ๋ฌ
๐ฉ ์๋น์ค ๋ด์ฉ
- Staion ์งํ์ฒ ์ญ
- ์งํ์ฒ ๊ธฐ๊ด์ฌ์๊ฒ ์๊ธ ์ํฉ ๋ฐ ๋ฐฉํด๋ฌผ ๊ฐ์ง ์๋ฆฌ๊ธฐ
- MQTT ํต์ ์ผ๋ก ์๋ฆผ
- ๋ช ๋ฒ ์ถ์ ๋ฌธ์ธ์ง ์๋ฆผ
- ์ด๋ก์ ๋ ธ๋์ ๋นจ๊ฐ์์ผ๋ก ๊ฝ ์ฐจ์์ผ๋ฉด ์ด์ฐํํ์ ๊ณผํฌํ๋ก, ์ฌ๋๋ค์ด ๋ฌด์์์ ์ ํ ๊ฒ์
- ์ ์ฐจ์ญ์ ์ด์ํ ๋ผ์ด๋ ์ผ์๋ก ๋ฐฉํด๋ฌผ ๊ฐ์ง
- ์ ์ฐจ์ญ์ ์คํฌ๋ฆฐ ๋์ด ์ด๋ฆด ์ ์๊ธ ์ํฉ ์๋ฆผ
- ์งํ์ฒ ๊ธฐ๊ด์ฌ์๊ฒ ์๊ธ ์ํฉ ๋ฐ ๋ฐฉํด๋ฌผ ๊ฐ์ง ์๋ฆฌ๊ธฐ
- Subway ์งํ์ฒ ๋ด
- ์ฐ์ ํฌํ ๋๋๋ฅผ ์งํ์ฒ ๋ด๋ถ ์ญ ํ๋ฌ์ ์๊น๋ก ํ์
๐ฉ ๊ฐ๋ฐ ์์คํ ํ๊ฒฝ
โ๏ธ ๊ฐ๋ฐ ํ๊ฒฝ
- Linux
โ๏ธ ์์ ์์
- Arduino UNO R4 WIFI
- MQ-135 ์๋์ด๋
ธ ์ ํด๊ฐ์ค/๊ณต๊ธฐ์ง ์ผ์ ๋ชจ๋ x 3
- NH3, NOx, ์์ฝ์ฌ, ๋ฒค์ , ์ฐ๊ธฐ ๋ฐ CO2๋ฅผ ํฌํจํ ๊ด๋ฒ์ํ ๊ฐ์ค๋ฅผ ๊ฐ์ง
- ์ด์ํ ์ผ์ x 2
- ์คํฌ๋ฆฐ ๋์ด ์ฌ์ด์ ํ๋์ฉ ๋๊ณ ์ผ์ชฝ or ์ค๋ฅธ์ชฝ ๊ฐ์ง
- RGB LED
- LCD x 2
- BUTTON x 2
- ํ๋กํ ํ์
- ์คํฌ๋ฆฐ ๋์ด x 2
- ( ๊ฐ ์คํฌ๋ฆฐ ๋์ด ์ฌ์ด์ ์ด์ํ ์ผ์ ) X 2
- ( ๊ฐ ์คํฌ๋ฆฐ ๊ณ ์ฅ ์ ๋ฌด๋ฅผ ์๋ ค์ฃผ๋ ์์ ๋ฒํผ ์ผ์ ) X 2
- ( ๊ฐ ์งํ์ฒ ์นธ๋ง๋ค ์ ํด๊ฐ์ค/๊ณต๊ธฐ์ง ์ผ์ ) X 3
- ๊ฐ ์คํฌ๋ฆฐ ๋์ด์ LCD ํ๋ฌ & LED
โ๏ธ ๊ธฐ์
- MQTT ํต์
- ์ฅ์ ๋ฌผ ๊ฐ์ง & ์คํฌ๋ฆฐ ๋์ด ๊ณ ์ฅ → ๊ธฐ๊ด์ฌ์ ์๋ฆผ
- FreeRTOS
- โญ RTOS ์ค์๊ฐ(Real Time)
- ์ด์์ฒด์ (Operating System)์ ์ฝ์
- ์ ํ๋ ์๊ฐ๋ด์ ์ํ๋ ์์ ์ ๋ชจ๋ ์ฒ๋ฆฌํ๋๊ฒ์ ๋ณด์ฅํ๋ ์ด์์ฒด์
- ๋ฉํฐํ์คํน ํ๊ฒฝ์์ Task ์ฒ๋ฆฌ์๊ฐ์ ์ผ๊ด๋๊ฒ ์ ์งํ๊ธฐ ์ํ ์ฉ๋๋ก ์ฌ์ฉ
- ์๋ถํ ์์คํ ํ์์ ์ฐ์ ์์ ๊ธฐ๋ฐ ์ค์ผ์ค๋ง์ ํตํด ์ฐ์ ์์๊ฐ ๋์ task๊ฐ ๋จผ์ ์์ ์ ์ฒ๋ฆฌํ ์ ์๊ฒ ํจ
- ๐ณ ํ์คํฌ (Task)
- 1๏ธโฃ ๊ฐ task์๋ ์ฐ์ ์์๋ฅผ ํ ๋นํ๋ฉฐ ์ซ์๊ฐ ๋์์๋ก ํฐ ์ฐ์ ์์๋ฅผ ์๋ฏธํ๋ค. ์ฐ์ ์์๋ 0๋ถํฐ configMAX_PRIORITIES๊น์ง ํ ๋น์ด ๊ฐ๋ฅํ๋ค. ์ฐ์ ์์๊ฐ ๋์ task๋ ๋ฎ์ task๋ฅผ ์ ์ (preemption)ํ ์ ์๊ณ , ์ด๋ context switching์ด ๋ฐ์ ๋์ผํ ์ฐ์ ์์ ์ฌ์ด์์๋ round robin์ ์ฌ์ฉ
- 2๏ธโฃ Task๋ return value๊ฐ ์์ผ๋ฉฐ (void*) ํ์ ์ผ๋ก ์ฌ๋ฌ ์๋ฃํ์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ ์ ์๋ค
- 3๏ธโฃ Task๋ ์ผํ์ฉ task์ ์ฃผ๊ธฐ์ task 2๊ฐ์ง ์ข ๋ฅ
- โญ RTOS ์ค์๊ฐ(Real Time)
๐ฉ ์ฌ์ฉ์ ์ธํฐํ์ด์ค
๐ฉ ๊ฐ๋ฐ ์ผ์
๐ฉ ๊ด๋ จ ๋งํฌ
- GitHub - Johannes4Linux/libmosquitto_examples: Some examples about how to use libmosquitto
- GitHub - knolleary/pubsubclient: A client library for the Arduino Ethernet Shield that provides support for MQTT.
- ESP8266๊ณผ MQTT ํต์ ์ฌ์ฉํด๋ณด๊ธฐ
- MQ-135 ์๋์ด๋ ธ ์ ํด๊ฐ์ค/๊ณต๊ธฐ์ง ์ผ์ ๋ชจ๋ [SZH-SSBH-038]
- FreeRTOS ์ฌ์ฉํ๊ธฐ
- [FreeRTOS] 7. ํ์คํฌ ๊ด๋ จ API ์ปค๋
๐ฉ DEMO
๐ Station
๐ Subway
๐ DB
๐ง๐ ์์ฑ๋ณธ
728x90
๋ฐ์ํ
'๐ฉโ๐ป IoT (Embedded) > Arduino' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Comments