본문 바로가기

스마트홈 IoT

컴퓨터 켜기 자동화의 끝판왕 (WOL, AOS, 비콘)

728x90

728x90

 
 
요즘 회사는 내부망과 외부망을 분리해서 사용하는 곳이 대부분입니다.
외부 인터넷망 PC는 유해차단시스템(SSL복호화)이 존재하여 온전히 PC를 사용하려면
집 컴퓨터를 사용하는것이 좋습니다.
 
집 컴퓨터를 사용 하는 방법은 2가지가 있습니다.
 
1. DEX + 날개셋한글입력기 + 스마트폰 인터넷 사용 (블루투스 키보드,마우스 필요)
2. 외부 오픈된 포트로 mstsc(RDP) 사용
//폐쇄망의 경우에는 당연히 사용불가~
 
1번의 경우에는
외부에 오픈된 포트가 80,443 포트뿐일 때
스마트폰 보안카메라를 부착하고 들어가는 곳에서 사용 가능한 방법입니다.
 
2번의 경우에는
일부 포트를 열어 줬을 때, 열린 포트를 확인하고 
집에 있는 PC의 원격데스크톱 포트를 3389에서 열린 포트로 변경해 줍니다.
 
아 까먹을까 봐 말하지만 
윈도우 라이센스는 크랙된 버전이 아닌 정품을 사용하시고
윈도우 보안패치는 항상 최신으로 유지하고
secpol.msc (로컬보안정책) -> 계정정책-> 계정잠금 임계값 설정은 필수로 하셔야 합니다
크랙툴을 사용 시 본인 컴퓨터의 주도권을 툴 제작자에게 준다고 보시면 됩니다.
 
자 다시 이어서 설명드리겠습니다.
 
[네트워크 접근 환경]
해당 포트는 공유기에서 포트포워딩이 되어 있는 상태여야만 접근이 가능합니다.
또는 iptime 공유기 에서 vpn 기능 중 pptp 를 사용하면 윈도우에서 내부망으로 접근이 가능합니다.
이럴 경우 외부에 포트 오픈을 하지 않아도 원격 데스크톱을 내부망 아이피로 접근해서 사용할 수 있습니다.
 
[WOL 기능 활성화]
BIOS 모드에서 Wake On Lan 기능을 활성화해야 합니다.
 
[윈도우OS 에서  IOT LINK 프로그램 설치]
MQTT( Message Queuing Telemetry Transport ) 프로토콜을 사용하여
홈어시스턴트와 연동할 수 있게 해 줍니다.

 


 


[IOT Link 다운로드]

 

IOT Link | Service to provide Internet Of Things (IOT) integration with Windows using MQTT.

Downloads Here you can find the latest binaries for IOT Link Service. IOT Link - v2.2.2 Released by Alexandre Leites on 2020-10-08 Download IOTLink_Installer_v2.2.2.exe Release Notes: Fixed LWT not sending causing sensors to display as unavailable. Fixed m

iotlink.gitlab.io

 
 

 

다음 다음을 눌러 설치 후에 Open Configuration File을 열어  HA 서버의 아이피와 mqtt 포트, 계정을 입력해 줍니다.

 

 
[mqtt 브로커 설정 내역 참고]

 
 
ps 저는 mqtt 계정도 별도로 생성해 놨습니다 (월패드의 fully 브라우저 계정으로 사용)

 
PC상태가 홈어시스턴트서버와 연동되었다면 아래와 같은 구성요소가 발견됩니다.
(해당 구성요소는 작동 중 아님, 작동 중으로 자동화 하시면 안 되고
작동불가, 작동 중 상태로만 구분할 수 있으니 자동화할 때 참고 하세요)

 
 
이제 홈어시스턴트에서 WOL 기능을 작동할 스위치를 만들어 줍니다.
(필수 조건은 같은 홈어시스턴트서버와 PC가 C class 대역대에 있어야만 WOL이 작동할 수 있습니다)

 
 
자 여기까지가 홈어시스턴트와 PC를 mqtt로 연동하고 wol 스위치를 만들어 킬 수 있는 단계까지 왔습니다.
 
 
여기서부터는 선택입니다.
 
컴퓨터 종료 버튼과 종료 알림 버튼을 만들 수도 있습니다.

 
 
해당 버튼은 스크립트를 만들어야 합니다.

 
저 같은 경우에는 아래와 같이
title, message 설정을 해주고
알림 창이 뜰 때 알림 창을 클릭하면 원하는 주소로 리다이렉션 할 수 있게 해 놨습니다.

{ "title": "컴퓨터 끄세요", "message": "이번판 끝나고 또 게임하면 강제로 종료 됩니다.", "launchParams": "toast://open/https://search.naver.com/search.naver?sm=tab_hty.top&where=nexearch&ssc=tab.nx.all&query=%EB%A0%88%EB%93%9C%EC%B6%94%ED%8C%8C+%ED%94%84%EB%A1%9C%ED%95%84&oquery=IOTLINK&tqi=xxxxxxxxxxvlqosK8ssm0y61Rssssssnh-000000" }

 
 

 



이제 비콘을 활용한 자동화를 소개하기 전에

내용이 더 길어져서, 루즈해질 것 같으니
최종 자동화가 어떤 지부터 먼저 보여드릴게요

 

GPS를 사용한 방식, WiFi 를 사용한 방식도 거의 완벽한 자동화를 구축할 수 있지만
비콘 블루투스 방식이 가장 확실한 재실 방법이기 때문입니다.
 

 

if:
  - condition: trigger
    id:
      - 회사 비콘 재실센서 재실 감지 됬을때
then:
  - if:
      - condition: and
        conditions:
          - condition: state
            entity_id: person.redchupa
            state: not_home
          - condition: time
            weekday:
              - mon
              - tue
              - wed
              - thu
              - fri
            after: "08:20:00"
            before: "09:20:00"
    then:
      - if:
          - condition: or
            conditions:
              - type: is_not_running
                condition: device
                device_id: c6ff99f60a44bfc59dba40081b6bfb11
                entity_id: e4e5a339daba9d03a8da4c483df6de11
                domain: binary_sensor
              - condition: state
                entity_id: >-
                  binary_sensor.redchupadesktop_power_redchupadesktop_power_status
                state: unavailable
        then:
          - metadata: {}
            data: {}
            target:
              entity_id: switch.redchupadesktop
            action: switch.turn_on
          - action: notify.mobile_app_sm_f946n
            metadata: {}
            data:
              message: 현재 레드추파가 사무실에 도착해서 집 컴퓨터를 켰습니다. 오늘 하루도 좋은 하루 되세요.

 
 
 
이렇게 자동화를 구성하면 회사에 도착하면 컴퓨터가 꺼져있을 때 알아서 집 컴퓨터를 켜줍니다
공휴일 시간 위치 와이파이 등을 체크할 필요도 없지요
 
그래도 혹시 몰라 시간, 위치 정도는 겸해서 같이 자동화를 해놨습니다.
 
 


[여기서부터 블루투스 비콘 부분을 시작]

 
 
저는 Android 사용자여서 안드로이드폰을 바탕으로 작성하였습니다.

 

(IOS는 플스타님이 작성한 카페 게시글을 참고하세요)
ps. 플스타님 너무 감사해요~

 

비콘을 활용한 도어락 자동화(IOS 버전)

안녕하세요! 플스타 입니다! 이번 5월 가정의 달을 맞이하여 가족을 위한 스마트홈, 가족을 위한 를 소개 드리고자 합니다. 본문 제목과 같이 저는 IOS 사용자이며, 아이폰...

cafe.naver.com

 

 


자동화를 구현하기 위한 준비물은 아래와 같습니다.


준비물
- 안드로이드 휴대폰
- 스마트싱스 허브 3세대
- ST 가상재실 감지 센서 (새림이 님이 만들어주신)
- 비콘(건전지 or USB) / 비콘 감지 어플
- SASM 자동화
- MacroDroid Pro 앱 (uuid 비콘 장치 스캔 + WebHook 사용)

- 홈어시스턴트 서버 (선택)  // ST로만 자동화 하셔도 됩니다.
 
 
 
저는 요 녀석을 구매하였습니다.

 
 
FeasyBeacon 앱을 설치하고
본인의 비콘이라는 걸 구분해야 되니
name을 변경해 주시고
pin번호를 변경해 주세요


 
macrodroid 앱 설치 후에 설정에서 실험 중 기능을 활성화하세요

 

 


그러면 트리거에서 ibeacon uuid 값을 스캔할 수 있게 됩니다.
 
해당 트리거를 잡을 수 있다면 이제  
웹훅(HTTP GET 요청)을 사용해야 합니다.
 
새림이 님이 만들어 주신 가상 스위치를 활용해야 합니다.
ps. 새림이님 감사해요
 

 
 
사슴(SASM)에서 아래 코드를 import 해 주세요
 
 

[{"id":"4b6338a3.308c88","type":"function","z":"6483d093.a364c","name":"ble_on_request","func":"msg.headers = {};\nmsg.method = \"POST\";\nmsg.url = \"https://api.smartthings.com/v1/devices/장치ID/commands\" ;\nmsg.headers['Authorization'] = \"Bearer 토큰입력\";\nmsg.payload = {\n  \"commands\": [\n    {\n      \"component\": \"ble\",\n      \"capability\": \"pilotgreen48610.presenseswitch\",\n      \"command\": \"on\"\n    }]\n}\nreturn msg;","outputs":1,"noerr":0,"x":244.00000381469727,"y":373.8999996185303,"wires":[["7d977290.d4ecbc"]]},{"id":"6ae46f61.b77b1","type":"http in","z":"6483d093.a364c","name":"","method":"get","url":"/bleoff","isUnique":true,"endpoint":"https://as-1bac94f5-3153-4a6d-acfd-68f22cc2bb1d.app.scf.ane2.devground.io/6483d093.a364c/bleoff","upload":false,"x":99.00000381469727,"y":478.89998626708984,"wires":[["df7acc25.19bb2"]]},{"id":"7d977290.d4ecbc","type":"http client","z":"6483d093.a364c","name":"","method":"use","ret":"txt","url":"","useAuth":false,"x":374.00000762939453,"y":373.8999996185303,"wires":[["a7e25f22.843a8"]]},{"id":"7edd12e7.f9049c","type":"http in","z":"6483d093.a364c","name":"","method":"get","url":"/bleon","isUnique":true,"endpoint":"https://as-1bac94f5-3153-4a6d-acfd-68f22cc2bb1d.app.scf.ane2.devground.io/6483d093.a364c/bleon","upload":false,"x":100,"y":373.8999996185303,"wires":[["4b6338a3.308c88"]]},{"id":"997dba5a.2d0a08","type":"http client","z":"6483d093.a364c","name":"","method":"use","ret":"txt","url":"","useAuth":false,"x":373.0000114440918,"y":478.89998626708984,"wires":[["dbdd6d3b.d8935"]]},{"id":"a7e25f22.843a8","type":"http response","z":"6483d093.a364c","name":"","statusCode":"200","headers":{},"x":512.0000076293945,"y":373.8999996185303,"wires":[]},{"id":"dbdd6d3b.d8935","type":"http response","z":"6483d093.a364c","name":"","statusCode":"200","headers":{},"x":511.0000114440918,"y":478.89998626708984,"wires":[]},{"id":"df7acc25.19bb2","type":"function","z":"6483d093.a364c","name":"ble_off_request","func":"msg.headers = {};\nmsg.method = \"POST\";\nmsg.url = \"https://api.smartthings.com/v1/devices/장치ID/commands\" ;\nmsg.headers['Authorization'] = \"Bearer 토큰입력\";\nmsg.payload = {\n  \"commands\": [\n    {\n      \"component\": \"ble\",\n      \"capability\": \"pilotgreen48610.presenseswitch\",\n      \"command\": \"off\"\n    }]\n}\nreturn msg;","outputs":1,"noerr":0,"x":243.00000762939453,"y":478.89998626708984,"wires":[["997dba5a.2d0a08"]]}]

 
 
 
 
 
// (SASM 제어 토큰 생성 부분은 카페 반가움님의 글을 참고하세요)
ps 반가움님 정말 감사해요!! ㅠㅠ

 

[SASM] SASM 입문자를 위한 가이드

2025년 삼성 정책 변경으로 인해 2025년 이후 발행된 ST토큰으로는 사용불가 또는 제한이 있습니다 개요 SASM 입문자분들이 조금씩 늘어나는 듯 한데, SASM은 가이드...

cafe.naver.com

 
 
 

 
해당 노드에서 DeviceID와  본인의 SASM 제어용 토큰 값을 입력해 주세요

 
 
 
DeviceID는 찾기는 현록님이 만들어주신 걸 쓰면 편해요
ps. 현록님 감사해요 

 

Smartthings 장치 조회 도우미 - 현록

Smartthings 장치 조회 도우미 - 현록

blackdeery.github.io

 
 
 
Deploy 하면
정상적으로 됐다면 스마트싱즈앱에서 기기 찾기를 하면
가상 재실 센서 기기가 발견될 겁니다
 
아래와 같이 자동화 설정해 주세요

 

 
 
 
 
 
 
메크로드로이드앱에서
트리거(발동), 동작은 아래와 같이 설정하면 됩니다.

 
 
 
Flow 는 아래와 같습니다.
 
메크로드로이드 앱에서 ibeacon 장치의 uuid가 발견되면 -> 웹요청을 보내면 -> SASM 받아서 -> 스마트싱즈앱 -> HA
 
 
저는 ST 장치와 HA 장치가 연동되어 있어서 HA에서 자동화를 합니다.

(ST <-> HA 연동 부분은 레이군 교수님의 글을 참고 하세요)

현재는 많이 변했고 꾀 복잡합니다만 삽질하다보면 가능합니다

 

//ps. nabu casa 유료 서비스를 이용하면 간단하게 연동할수 있다고 합니다~

 

그리고 HA에서 웹훅을 받는 방법은 아직 공부를 못해봤어요...
그렇게 하는 방법을 알면 굳이 ST로 할 필요는 없을 거 같긴 합니다.

 


아무튼간에  재실 감지를 완벽히 활용하려면
 
와이파이, GPS, 모션센서, 카운터센서, mmwave 재실감지센서, 블루투스장치연결, 블루투스저전력 비콘장치
등을 자유자재로 활용해야 합니다.
 
 
도움이 되길 바라며 이상으로 본글을 마무리하겠습니다
 
좋은 자동화되세요^^
 

728x90
오리온 비쵸비 비스켓 5p, 125g, 1개 코메드 서랍장 CMD-602 (6칸), 1개 아이클리어 루테인지아잔틴, 30정, 3박스 세인 멀티테스터기 UK 831LN, 1개 피크미터 비접촉식 검전기 고급형, 1개 지엠지 웜그립 터치 방수 방한 안전장갑 L2005WS, 1개 알파오 무탈피 순간접속 커넥터 IT-44(전선규격 2.0-2.5sqmm) 10개 구글 네스트 허브 맥스, 차콜 삼정 국산 AC 8자 백색 코드 화이트 전원케이블, 3m, 1개 접착식 다용도 스티커 홀더, 투명, 10개 벡셀 아이프라임 알카라인 AAA건전지, 20개입, 1개 엘가토 스트림덱 네오 8Key 매크로 커스터마이징 StreamDeck-Neo