[개발] IoT 프로젝트

in mini.topia2 months ago

안녕하세요 @realmankwon 입니다.

몇 달동안 회사에서 개발 중인 IoT 관련 프로젝트가 끝이 보입니다.
처음에는 간단한 온습도 측정을 하고 모니터링하는 것만 만들기로 했었는데 기능들이 하나 둘 추가되더니 지금은 일이 좀 커졌습니다.

라즈베리 파이에 릴레이 제어가 가능한 보드를 끼워서 이걸 통해서 자동문을 제어하는 것이 제일 처음 추가된 기능입니다.
사진처럼 라즈베리 파이 위에 릴레이 2개가 있는 보드를 꽂은 것입니다.
물론 프로그램을 해줘야 하고 node.js로 처리를 하였습니다.

이것만 하면 임팩트가 없다며 거리 센서를 추가하여 내부에서 외부로 나갈때는 자동으로 문이 열리도록 하는 기능을 추가하였습니다.
이것은 라즈베리 파이에 아두이노를 연결하고 아두이노에 거리 센서를 연결하여 처리하였습니다.
코로나 시대에 자동문 버튼을 안 누를 수 있으니 편하게 이용하게 되었습니다.

그리고는 스마트폰을 이용해서 인증된 사람만 들어올 수 있도록 QR 코드, NFC, 앱 버튼 클릭 등이 가능하도록 안드로이드 앱을 개발했습니다.
이 또한 코로나 덕분에 지문 인식을 못하도록 막으면서 사원증을 상시 가지고 다녀야 하는데 사원증이 없이 나왔다가 못 들어가는 경우가 많아서 사용자들이 엄청 좋아라고 하고 있습니다.

거기에 다시 추가가 된 것이 온도 체크를 하고 37.5도 이하일 때만 자동문이 열리도록 하는 것입니다.
이제는 외부인이 온도 체크하는 기능을 개발하고 다음주면 설치를 하게 됩니다.
요즘 미용실이나 병원에 가면 화면에 얼굴이 보이고 온도 측정을 하는 기기라고 생각하시면 됩니다.

시험삼아 1곳에만 설치했던 자동문 제어 기기도 이제는 모든 자동문에 설치를 하게 되었습니다.
개발자로서 반응도 좋고 잘 쓰이는 건 좋지만 그만큼 부담이 커지는군요.
여러곳에 설치가 되게 되니 아무래도 성능을 업그레이드 시켜야 할 것 같아서 보드 구성을 좀 바꾸었습니다.

기존에는 라즈베리파이 1, 2를 썼었는데 최신형인 라즈베리파이 4를 사용하였고 릴레이를 위한 보드는 쓰지않았습니다.

대신 아두이노에서 릴레이를 제어할 수 있도록 납땜을 좀 하고 프로그램을 수정하였습니다.

이런 걸 만들다 보니 점점 더 다른 것도 만들고 싶은 생각이 들긴 하는군요 ㅎㅎ
라즈베리파이나 아두이노는 예전에 했던 것을 다시 하는 거라 어렵지 않았지만 안드로이드 앱과 C#에서의 openCV 처리가 처음하는 것이 무척 어려웠습니다.
덕분에 야근도 자주하고 sct, upvu, 스몬봇 관련 개발을 할 시간이 턱없이 부족하게 되었습니다.

빨리 바쁜 일들이 끝나고 다시 스팀관련 개발에 신경을 쓸 수 있게 되길 ^^