카테고리 없음

스위치 HTML 만들기

맏리믓 2022. 2. 10. 00:20

- 스위치 핀 번호 지정 하기

 - "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 상태를 띄고 있습니다.

- 완성 및 실행 해 보기

 - 처음 생각 했던 대로 점프선을 이용해서 아래와 같이 컴퓨터 메인보드와 파워스위치 사이에 연결 해 주었습니다.

 - 그 후 접속해 컴퓨터를 꺼 보았습니다.

 - 아래 영상은 컴퓨터 끄는 장면입니다. 

KakaoTalk_20220210_002345380.mp4
1.36MB

 

- 사용 후기및 개선점

 - 몇일간 사용해 본 결과 외부에서 사용하기 굉장히 편리 하였으며 특히 기존의 목적이었던 화면 공유 어플(저의 경우에는 moonlight 를 사용하였습니다. 따른거 다 써봤는데 이게 레이턴시가 젤 빠르더군요) 을 사용할때 굉장히 만족 스러웠습니다.

 - 하지만 iptime 이 오랫동안 접속하지 않은 ip 를 강제로 sleep 시켜 버리는 기능이 있는건지 3일 정도 사용하지 않다가 켤려고 하면 첫 시도때는 칩에 붙지 못하고 5분즘 후에 다시 시도해야 붙을 수 있는 불편함이 있었습니다.

 - 이는 주기적으로 ping 을 요청해 iptime 에서 sleep 을 시키지 못하게 하는 방법으로 해결 할 수 있을것 같습니다.

 

 

- 끝!!

 - 지금까지 여러가지 프로젝트를 해봤지만 이렇게 블로그에 적는건 처음인데 확실히 정리도 잘 되고 머릿속에 오래 남네요 ㅎㅎ 앞으로도 시간 나면 종종 할 프로젝트들 정리 해야겠네요