스위치 HTML 만들기
- 스위치 핀 번호 지정 하기
- "config.h"에 기존 방식과 동일하게 'if defined'을 통해 핀 번호를 지정 해 줍니다.
- 저희가 쓰는 칩은 2번과 0번 을 'out' 과 'in' 으로 사용 합니다.
- 이때 2번 핀을 스위치 용으로 0번 핀을 컴퓨터의 현재 상태 인식용으로 사용 하였습니다.
- 가장 아래 "_LSH_REMOTE_POWER_SW_TRIGGER" 는 후에 스위치 함수를 미리 정의 해 두었습니다.
- 그 후 esp3d.cpp파일에 스위치 버튼 클릭시 함수를 정의 하고 output, input 을 정의 해 줍니다.
- 스위치 코딩하기
- 스위치의 작동 방식은 'argument' 로 "SW"값을 보내서 "ON"일경우 켜고 "OFF"일 경우 끄도록 하였습니다.
- 마찬가지로 "PROC_WEB_API" 함수 안에 넣어 주었습니다.
- 추가적으로 현재 상태를 확인 할 수 있도록 "JSON" 에 "SW" 말고 "STATUS"도 추가 하여 현재 상태를 읽을 수 있게
하였습니다.
- 스위치는 현재 켜져 있으면 ON 명령을 듣지 않고 반대일경우도 동일하게 만들었습니다.
- 스위치 HTML 코딩하기
- 우선 완성본의 사진입니다.
- 코드 전체를 중간에 넣을 순 없으니 젤 마지막에 적어 두고 중요한 부분만 잘라서 설명 드리도록 하겠습니다.
- 버튼 눌렀을때 "ON", "OFF" 신호를 보내는 함수 입니다.
- 현재 상태를 불러와서 CURR_STATUS 위치에 표시 해 주는 역할을 하는 함수입니다.
- 완성본 사진에서 OFF 상태를 띄고 있습니다.
- 완성 및 실행 해 보기
- 처음 생각 했던 대로 점프선을 이용해서 아래와 같이 컴퓨터 메인보드와 파워스위치 사이에 연결 해 주었습니다.
- 그 후 접속해 컴퓨터를 꺼 보았습니다.
- 아래 영상은 컴퓨터 끄는 장면입니다.
- 사용 후기및 개선점
- 몇일간 사용해 본 결과 외부에서 사용하기 굉장히 편리 하였으며 특히 기존의 목적이었던 화면 공유 어플(저의 경우에는 moonlight 를 사용하였습니다. 따른거 다 써봤는데 이게 레이턴시가 젤 빠르더군요) 을 사용할때 굉장히 만족 스러웠습니다.
- 하지만 iptime 이 오랫동안 접속하지 않은 ip 를 강제로 sleep 시켜 버리는 기능이 있는건지 3일 정도 사용하지 않다가 켤려고 하면 첫 시도때는 칩에 붙지 못하고 5분즘 후에 다시 시도해야 붙을 수 있는 불편함이 있었습니다.
- 이는 주기적으로 ping 을 요청해 iptime 에서 sleep 을 시키지 못하게 하는 방법으로 해결 할 수 있을것 같습니다.
- 끝!!
- 지금까지 여러가지 프로젝트를 해봤지만 이렇게 블로그에 적는건 처음인데 확실히 정리도 잘 되고 머릿속에 오래 남네요 ㅎㅎ 앞으로도 시간 나면 종종 할 프로젝트들 정리 해야겠네요