이전에 Home Assistant의 기기를 Homekit에 등록하는 방법을 해봤었는데요.



그런데 말입니다.

제가 샤오미 1세대 로봇청소기를 쓰고 있는데요. 얘는 등록이 안되어 있어요... 

https://www.home-assistant.io/components/homekit/ 에 보면 이유가 나와있는데요.


지원되는 컴포넌트에 vacuum이 없어요.


그래서 좀 다른 접근이 필요해요. 


우리가 할 작업은 가상 스위치를 이용하는 겁니다. 

가상의 스위치를 만들고 그 스위치를 켜면 로봇청소기를 작동시키고, 끄면 집으로 돌아가게 설정을 하는거죠.

스위치에 다음을 추가합니다.

- platform: template
switches:
mivacuum:
friendly_name: ""
value_template: "{{ is_state('vacuum.xiaomi_vacuum_cleaner','cleaning') }}"
turn_on:
service: vacuum.start
data:
entity_id: vacuum.xiaomi_vacuum_cleaner
turn_off:
service: vacuum.return_to_base
data:
entity_id: vacuum.xiaomi_vacuum_cleaner

잠깐 설명하자면 friendly_name 은 사용하고자 할 이름입니다.

value_template은 스위치의 상태를 나타내는데 True면 켜짐이고 False 면 꺼짐이에요.

is_state('vacuum.xiaomi_vacuum_cleaner','cleaning') 는 로봇청소기의 상태가 cleaning 즉, 청소중 인지를 물어보는 명령이에요. 청소 중이면 True 가 되어 켜짐 상태가 되고, 아니면 False 가 되어 꺼짐 상태가 되죠.

밑에 있는 turn_on 은 켜있을 때 할 작업, turn_off 는 꺼져있을 때 작업이에요.


이렇게 저장하고 HA를 재시작하면..


짜잔!! 로봇청소기가 등록이 되었어요. 저걸 키면 로봇청소기가 작동을 하게 됩니다. 


참 쉽죠? 이제 시리에게 "로봇청소기 켜" 로 명령을 할 수가 있어요!!



물론 여기에 좀더 다양한 옵션들을 넣을 수도 있을거예요. 하지만 로봇청소기에 기능은 켜고 끄고말고는 거의 안써서 저렇게만 등록해도 사용하는데 전혀 문제가 없을거예요. 


아직은 연구 중이라서 켜고 끄고만 해뒀는데 기기에 문제가 생겼을때의 처리도 한번 생각을 해봐야 될거 같기도 하더라고요.

그건 차후에 알아보고 수정해 두겠습니다.



요즘 들어 애플 홈킷(Apple HomeKit)에 빠져들어 있습니다.

다만 아직 기기를 지를 시기는 아니라서 지르지는 않고 

레트로파이를 설치해서 오락기로 쓰던 라즈베리파이를 삭제하고 하스비안(Hassbian)을 설치했습니다.


제목의 작업을 하기 위해서는 Home Assistant(이하 HA)가 설치된 운영체제가 필요합니다.

나스에 docker를 이용하여 설치하거나, 저처럼 라즈베리파이에 Hassbian 같은 놈들을 설치해서 쓰더라고요.


제가 쓰게 될 내용은 Hassbian 0.84.1이 기준이 될 겁니다. 

파일의 경로가 다를 수도 있으니 확인을 한 후 수정하기 바랍니다.


Hassbian의 설치는 이전 작성글을 확인해보세요.



HA의 기기들은 아주 쉽게 홈킷으로 등록이 가능한데요.


우선 서버에 파일을 하나 설치해줘야되요.

$ sudo apt install libavahi-compat-libdnssd-dev


그리고 configuration.yaml 파일에 homekit: 만 추가해주면 됩니다.

이렇게요.


간단하죠?


그리고 HA를 재시작하고 홈킷에 등록을 해봅시다.

홈 앱을 실행해봅시다.

   

액세서리 추가를 누르고 "코드가 없거나 스캔할 수 없습니까?" 이거를 누르고 오른쪽 그림에 뜨는 Home Assistant Bridge를 선택합니다.


그럼 8자리 번호를 물어보는데요. HA 설정 페이지에 가면 번호가 떠 있을겁니다. 이렇게요.

입력을 해주면 등록이 완료되고 HA에 등록된 기기들을 홈킷에 등록할 수 있죠.



최근 레트로파이가 설치되어 있던 게임기(라즈베리파이)를 분해해서 하스비안(Hassbian)을 설치하였습니다.

제가 솔직히 제일 처음 이쪽 관심을 가지게 된건 애플 iOS(이제는 macOS까지)에 들어있는 홈 앱 때문입니다.

HomeKit 이라는 방식으로 작동하는 기기 뿐 아니라 지원안하는 기기도 프로그램(?)의 도움을 이용해서 사용해 보려고요.

그래서 찾은게 Home Assistant 였죠.


물론 Home Assistant 를 설치하는 방법은 여러가지가 있습니다만 여러 사이트와 카페를 검색하면서 우리집에 가장 적용이 쉬운 방법이 라즈베리파이에 Hassbian을 설치하는거 였어요.


그래서 라즈베리파이에 Hassbian을 설치하는 방법에 대해서 적어보려고 합니다.



1. microSD 카드로 Hassbian 복사하기


우선 파일부터 받아야겠죠? PC에 파일을 받읍시다.


SD카드로 이미지를 복사하는 방법이 여럿 존재하는데 전 쉬운 방법을 택했습니다.


자신에게 맞는 프로그램을 받으세요. 전 맥을 쓰고 있어서 맥용 프로그램을 받아 설치했습니다.

Etcher를 실행하면 다음 화면이 뜹니다.


왼쪽 첫번째 버튼을 클릭하고 다운받은 Hassbian을 선택합니다. 압축을 안풀고 zip파일 그대로 쓰면 됩니다.

두번째 버튼을 누르고 설치할 SD카드를 선택하세요. 마지막으로 Flash!를 누르면 복사가 시작됩니다.

복사가 끝나고 제대로 복사가 이루어졌는지 확인작업을 한번 하고 완료가 됩니다.


2. (선택) 와이파이 설정하기 

위 과정이 끝나면 SD카드가 자동으로 마운트해제(usb 꺼내기와 같은 의미)되어 있습니다. 뺏다가 다시 껴서 인식을 시켜주세요.

그리고 SD카드로 이동해서 다음의 파일을 하나 만듭니다.

wpa_supplicant.conf 

country=KR

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1


network={

    ssid="YOUR_SSID"

    psk="YOUR_PASSWORD"

}


ssid에는 와이파이 이름을 적고, psk에는 비밀번호를 적고 저장합니다.


이제 SD카드를 빼고 라즈베리파이에 끼운 후 부팅을 하면 설치가 완료됩니다.


3. Home Assistant 접속

인터넷 주소창에 주소를 치고 들어가면 HA 의 처음 화면이 나오게 됩니다.


약간 기다림의 시간이 필요할 수 있습니다. Hassbian은 설치 후 최초 부팅시 업데이트를 하고 앱을 초기화 하기 때문이죠.

안뜨면 기다렸다가 다시 들어가보면 됩니다. 전 한 10분? 잘 기억은 안나지만 그정도 기다린거 같아요.


4. (선택) 접속이 안되는 경우

충분히 기다렸는데도 안된다면 문제가 있는거겠죠.

ssh 접속을 합니다. 보통 윈도우에서는 putty라는 프로그램을 다운받아 접속하면 됩니다.

Host Name 에 hassbian.local , Port에 22, 바로밑에 SSH를 선택하고 connect 를 누르면 접속이 됩니다. 

아이디 pi, 초기 비밀번호 raspberry 로 로그인을 하세요.

Host Name: hassibian.local

Port: 22

username: pi

password: raspberry


그러면 hassbian 특유의 이모티콘과 간단한 시스템 정보를 출력하고 로그인이 됩니다.

거기에 밑에 내용을 쳐요.

pi@hassbian:~ $ cd /home/homeassistant/.homeassistant/

pi@hassbian:/home/homeassistant/.homeassistant $ ls


($를 기준으로 앞에는 글자가 벌써 적혀있지요. 뒤의 내용만 적으면 됩니다. 

참고로 pi@hassbian:/home/homeassistant/.homeassistant 의 의미는 pi라는 사용자가 hassbian에 접속해서 

/home/homeassistant/.homeassistant 폴더에 이동해 있다 라는 뜻이에요.

앞으로는 $ 앞의 내용은 생략하고 $ 뒤의 내용만을 적도록 할게요.)


저렇게 쳤을때 아무런 내용없이 바로 ' pi@hassbian:/home/homeassistant/.homeassistant $ ' 이 나온다면 설치작업이 제대로 안된거예요.

다음의 명령어를 입력해서 설치 작업을 다시 시작해 줍니다.

sudo systemctl start install_homeassistant.service


그리고 파일리스트가 주르륵 나오면 설치가 된거고 아직 초기화 작업 중이니까 조금만 더 참고 기다려봅니다.


그렇게 기다림의 시간이 끝나면 설치가 완료된 Home Assistant 페이지를 보게 될거예요.



Retropie를 다운

http://blog.petrockblock.com/retropie/retropie-downloads/


압축푸세요.




MicroSD 포맷을 위해 SDformatter 다운

https://www.sdcard.org/downloads/formatter_4/





Retropie 설치를 위한 Win32 disk imager 다운

http://sourceforge.net/projects/win32diskimager/


관리자 권한으로 실행

(안하면 오류)






https://github.com/RetroPie/RetroPie-Setup/wiki/Setting-Up-Wifi



WPA/WPA2

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
auto wlan0
iface wlan0 inet dhcp
   wpa-ssid "NETWORK_NAME"
   wpa-psk "NETWORK_PASSWORD"

you can also add wireless-power off at the end if you have issues with your wifi dongle turning off and on a lot and not being able to maintain a connection.

WEP

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
auto wlan0
iface wlan0 inet dhcp
   wireless-essid NETWORK_NAME
   wireless-key NETWORK_PASSWORD

Open Network (암호가 없을때)

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
auto wlan0
iface wlan0 inet dhcp
  wireless-essid NETWORK_NAME
  wireless-mode managed


sudo service networking restart


sudo raspi-config


1. Expand Filesystem

자동으로 리사이즈

Finish 하고 재부팅



관리자 암호 설정

sudo passwd root



Virtual Gamepad 설치

https://github.com/RetroPie/RetroPie-Setup/wiki/Virtual-Gamepad


### Install Node.js

sudo apt-get update && sudo apt-get upgrade
wget http://node-arm.herokuapp.com/node_latest_armhf.deb
sudo dpkg -i node_latest_armhf.deb


### Install Virtual Gamepad (Must Be Run As Root!)

su
git clone https://github.com/miroof/node-virtual-gamepads
cd node-virtual-gamepads
npm install


### Enable Virtual Gamepad on Boot

sudo npm install pm2 -g
sudo pm2 start main.js
sudo pm2 startup
sudo pm2 save





'리눅스' 카테고리의 다른 글

우분투 18.04 VPN 서버 구축 (IKEv2)  (14) 2019.01.09

이제부터 블로그는 편한 글씨체보다는 조금 더 리뷰같은 느낌으로 적어보도록 하겠습니다.

원래는 그냥 개인 공간으로 나중에 까먹을 것들을 적기 위해서 썼는데, 아무래도 글을 적으면 다른 분들도 읽어보실지 모르니.. ㅎㅎ


전부터 쓰던 메인 컴퓨터는 리눅스 민트였습니다. 

우분투는 10버전인가부터 unity로 바뀌곤 영 쓰기가 별로라 한번 바꿔봤더니 깔끔하고 쓸만해서 계속 써왔었죠.

하지만 이제는 맥북을 메인으로 쓰기 시작하면서 이전에 물려있던 모니터 2개를 전부다 맥에다가 연결을 해버리곤 

우분투는 원격으로만 사용하려고 마음을 먹었습니다.


우선은 나름 편할 것, 그리고 이전의 우분투 화면을 그대로 가져와서 쓸 수 있을 것.

이 2가지를 목표로 검색을 해보려고 했지만 귀차니즘이 발생하여 그냥 이전에 써왔던 걸 그대로 쓰기로 했습니다.


이번에 소개할 것은 x2go 입니다.

x2go는 무료 소프트웨어로 사용자의 데스크탑에 원격 접속하기 위해 만들어진 프로그램입니다.

현재 계속 개발단계인데요. 

서버용은 아직 리눅스를 대상으로만 존재를 합니다.

하지만 클라이언트용은 윈도우와 맥 두개다 지원을 하기 때문에 나름 편리하다 할 수 있겠습니다.

물론 리눅스용은 존재하지 않아요. 리눅스는 그냥도 쉽게 원격 접속이 가능하잖아요. ㅎㅎ

x2go는 ssh를 통해 접속을 하기 때문에 ssh 서버도 설치가 되어 있어야 됩니다.

원격접속을 하려고 마음 먹었다면 아마도 ssh는 이미 설치를 하셨을거라 생각되니 이 부분은 그냥 넘어가도록 하죠.




http://x2go.org



우선 우분투에 x2go 서버를 설치를 해보도록 하죠.

서버에도 설치방법은 나와있습니다. 제가 쓰는 운영체제가 리눅스 민트라 이것을 기준으로 말씀드리겠습니다.

참고로 우분투도 리눅스 민트와 같은 명령어로 사용이 가능합니다.


python기반의 소프트웨어라 python의 설치가 먼저 필요하죠.

# sudo apt-get install python-software-properties


그다음 저장소등록과 설치를 하면 모든게 끝납니다. 딱히 설정이 없더라고요.

# sudo add-apt-repository ppa:x2go/stable

# sudo apt-get update

# sudo apt get install x2goserver x2goserver-xsession



다음으로 맥에 클라이언트 프로그램을 설치를 해야겠죠.

사이트에서 macosx용으로 다운 받아서 설치를 해주면 끝납니다.


그리고 실행을 해주고 설정을 세션을 등록을 해줍시다.



여기서 Session Type을 Connect to local desktop으로 설정을 해주세요.

그리고 Connection탭이나 Setting 탭은 알아서 설정을 해주세요. 딱히 설정을 안해도 상관은 없어서 일부러 캡쳐도 안했습니다.


그리고 접속을 해봅시다. 패스워드 잘 입력하세요! 한글 설정이 되어 있는 상태에서 패스워드 입력하면 틀리다고 그럽니다.



보통 자기가 쓰는 메인 윈도우는 0번이에요. 그러니 0번을 선택하고 오른쪽에 Full access 를 클릭하세요.


그럼 접속이 되면서 모든게 끝납니다.

창이 작다고요? 늘리세요. 알아서 데스크탑 창이 늘어나요. ㅎㅎ




x2go 클라이언트는 화면을 보여주는 프로그램으로 X11을 쓰더군요. 이게 기본으로 설치가 되어 있는지 모르겠어요.

만약에 안된다면 X11을 설치를 해보세요. 

용량이 된다면 맥 앱스토어에서 xcode를 설치하세요.


저는 x2go를 설치하기 전에 먼저 xcode를 설치를 해놔서 문제가 생길지 여부는 잘 모르겠습니다.






'즐거운 맥라이프' 카테고리의 다른 글

Fraise - 맥에서 FreeFEM++ 사용하기  (0) 2014.02.26
TeXnicle - 맥에서 Tex을 사용하기  (0) 2014.02.26

아무래도 전공이 전공이다보니 컴퓨터를 돌리는 경우가 많다. 

이전에는 ALBERTA를 썼었는데 요즘은 FreeFEM++를 주로 사용한다.


FreeFEM++의 맥 설치는 눈감고도 할 수는 없지만 눈을 뜨고 있다면 누구나 쉽게 할 수 있다.


이것도 문제는 어떠한 에디터를 쓸 것이냐가 관건이 되겠지.

무엇보다도 syntax highlight가 필요해!! 문법강조.. 명령어에 색이 칠해져 있어야지 보기도 편하고 코딩하기도 편하니..


이전에 리눅스에서 쓰던 에디터는 맥용으로는 없다. 새로운게 필요해..

뒤지고 또 뒤졌다. 앱스토어에 올라와 있는 유료앱이 있다더라. 

Smultron이라고 4.99달러에 팔고 있다.

syntax highlight까지 되는데 가격도 뭐 그리 세지도 않고..


하지만 더 찾아봤다. 혹시나 하는 마음에.. 

그래 혹시나 꽁짜가 있을까 하는 부푼 가슴을 안고 찾기만 하면 그돈으로 소주를 몇병 더 먹을 수 있다는 신념으로..


그래서 찾았다. Fraise !


https://www.macupdate.com/app/mac/33751/fraise


유료앱인 Smultron을 기반으로 했다더라? 엉? 유료를 따왔다고? 하고 알아보니 처음 시작은 같았는데 둘이 쪼개졌다네.

그래서 서로 비스므리 한가보다. 뭐 그런게 중요한건 아니니 넘어가고..

이것도 syntax highlight를 지원한다. 오예!




역시 색으로 이리저리 있어야 보기가 좋지.


그리고 설정만 잘 해놓으면 따로 FreeFEM++ 앱을 실행할 필요없이 에디터에서 바로 컴파일이 가능하다.

이거 되게 할려고 엄청 삽질을 했다.


커맨드 + B 를 눌러서 Command Window를 띄우자. 아무데에 추가를 해도 되는데 난 그냥 Other에다가 추가를 해놨다.



저리 쉬운걸 몰라서 삽질한거 보면 아직 맥입문이 얼마 안된게 티가 팍팍 난다.

단축키도 따로 설정해놨다. 커맨드 + R 로 하고 싶었는데 이건 따로 단축키 지정이 되어 있어서 하나 더 추가했다.


이렇게 해놓으면 단축키로 바로 컴파일이 가능하다. 

그런데 이상하게도 터미널창이 2개가 뜨는데 이건 아직 잘 모르겠다. 

Tex 작업을 하기 위해 돌아다녀보니 KTUG에 아주 쉽게 맥용 Tex 프로그램이 있었다.


http://www.ktug.or.kr


MacTex이라고 따로 있는데, 이게 고맙게도 2013년 11월 이후부터는 그냥 설치만 하면 모든 설정이 끝나버리게 바꼈다.


솔직히 Tex 설치가 어려울건 별로 없다. 문제는 어떠한 Editor를 사용하느냐겠지.


MacTex에는 기본적으로 TexWorks가 포함이 되어 있다. 하지만 문제는 내가 쓰지 않는다는 것이지.


이전에 리눅스민트에서도 다른 에디터를 써왔었기 때문에 좀 더 편하고 좋은 걸 찾아보기로 했다.


그래서 찾은게 TeXnicle.. 



솔직히 저런 템플릿이야 요즘 나오는 대부분의 에디터들은 다 지원을 한다. 저런건 솔직히 넣어봤자 전에 쓰던거 그대로 복사하는게 대부분 일테니

별로 필요성을 느끼진 못하겠지.


우선 TeXnicle의 장점은 뭐니뭐니해도 무료라는 점이다.


거기에 라이브 업데이트라고 해서 글을 수정하면 자동으로 컴파일을 해서 보여주는 것도 지원하는 모양인데 이건 솔직히 별로인거 같다. 

그냥 필요할때마다 컴파일 하는게 더 나아 보였다.

왼쪽 위에 있는 톱니바퀴 Typeset을 누르면 컴파일이 된다. 

물론 그전에 설정이 좀 필요하겠지.



요즘은 아무래도 pdflatex을 많이 쓴다. 물론 내 입장에서 말이다.

그림 넣기가 편해서 일지도.. ㅎㅎ


라이브 업데이트를 쓸 경우에는 elapsed time since last edit is greater than 쪽의 옵션을 선택해주는게 낫다.

첫번째 옵션으로 하면 너무 자주 컴파일을 한다.


TeXnicle에서는 View 는 별로 쓸일이 없을거 같다. 

아무래도 오른쪽에 pdf를 보여주기 때문이기도 하지만...

View를 하게 되면 pdf 뷰어 창이 떠버린다. 아 이거 어디서 끄는지도 모르겠어. 자동으로 창이 떠버린다.

그러니 그냥 Typeset만 누르도록 하자. 컴파일을 하면 자동으로 오른쪽의 뷰어창도 업뎃이 된다.


요즘엔 잡다한 컴파일 창 뜨는게 별로라 생각할지도 모르니 Errors Only로 바꾸도록 하자. 물론 좀 보고 싶으면 다른 옵션을 선택을 해도 되겠지.





아.. Forward, Inverse Search 둘 다 지원한다. 커맨드+클릭!


무료면서 쉽게 쓸 수 있는 프로그램이다. 

해킹을 당했다.


간만에 블로그에 들어와보려했더니 들어와지지를 않네..

이런 미친 대전노래방도우미 같으니..


덕택에 다음 고객센터 분들이 고생이 많으셨네.

+ Recent posts