티스토리 뷰
1. 계획
(1) 출입 로그 관리
RTC모듈을 이용해 마지막으로 문이 열린 시간을 웹/앱에서 확인할 수 있도록 한다.
(2) 케이스 제작
실제 집 문에 부착해야 하므로 별도의 케이스가 필요하다.
열이 발생할 경우를 대비하여 통풍구와 초음파 센서 맞춤 2개의 구멍과
여러 데이터 핀, 전원 공급 핀들이 지나갈 수 있는 구멍이 필요하다!
2. 구현
(1) 출입 로그 관리
이 부분을 구현하면서 기초 예제 게시판에 올려둔 글로 자세한 설명을 생략하겠습니다!
( http://cafe.naver.com/arduinoguide/3722 )
웹에서 문자열로 날짜 / 시간으로 구분되어 볼 수 있도록 문자열 처리가 필요하다.
그리고 초음파 센서에 의해 문 열림이 감지될 경우 서버에 시간을 전달하는 방식으로 구현했다.
잘 작동할 때 기분이 정~ 말 좋습니다..
^^___^^
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | void timeSetting(){ char tmp[50] = {0}; // 초기화 msg[0] = 0; if (RTC.read(tm)) { itoa(tm.Day,tmp,10); // 날짜 strcat(msg,tmp); strcat(msg," "); strcat(msg,monthName[tm.Month-1]); // 달 이름 변환 strcat(msg,", "); if(tm.Hour < 10 ) strcat(msg,"0"); itoa(tm.Hour,tmp,10); // 시간 strcat(msg,tmp); strcat(msg,":"); if(tm.Minute < 10 ) strcat(msg,"0"); itoa(tm.Minute,tmp,10); // 분 strcat(msg,tmp); strcat(msg,":"); if(tm.Second < 10 ) strcat(msg,"0"); itoa(tm.Second,tmp,10); // 초 strcat(msg,tmp); } } |
msg[0] = 0;
문자열 함수 특성 상 널(null)문자 위치를 이용해 모든 함수가 구동되는 점을 이용하여
0번 index에 널 문자를 넣어줌으로 문자열 전체가 초기화되게끔 했습니다.
위와 같이 구현 후 메인loop에서 Set함수를 사용하였습니다!
(2) 케이스 제작
케이스 제작을 위해 다이소에서 나무로 된 무언가를 2개 샀습니다!
자세한 설명은 사진으로 대체합니다.
찍찍이를 문과 케이스에 부착하여 원할 때마다 탈부착 하여 디버깅할 수 있도록 하였습니다!
케이스 내부에 완충제를 듬뿍넣어서 보드에 손상가지 않도록하였습니다.
그리고 리뷰 때 썼던 내용처럼 MODLINK의 포장 케이스가 너무 이뻐서.. 어떻게 비슷하게 만들려고 노력했습니다!
그래서 위로 열 수 있도록 경첩도 위에 달았구요!
얼추 색감이 비슷해보여서 기분이 좋네요..
3. 마무리
이제 마지막 게시물에서 구동 영상, 코드 리뷰 간단하게하고
총평! 하고 마무리 지어야겠네요..
며칠동안 정~말 고생하면서도 재밌었네요
마지막까지 모두 화이팅~~
'IOT-MODLINK' 카테고리의 다른 글
[Project – 스마트 도어락] [완성] 코드 리뷰, 설치 그리고 작동 영상 (0) | 2017.12.20 |
---|---|
[IoT-MODLINK] RTC모듈을 이용한 실시간 시간확인! (0) | 2017.12.19 |
[IoT-MODLINK] 웹/앱 UI를 더 이쁘게 꾸미자! (0) | 2017.12.19 |
[Project – 스마트 도어락] 4. 조명 효과 & 외부 전원 공급하기 (0) | 2017.12.17 |
[Project – 스마트 도어락] 3. 열림/닫힘 상태 확인하기 (0) | 2017.12.17 |