오케이 구글, 좋은 아침이야.

"오케이 구글, 좋은 아침이야" 눈을 뜨면 이렇게 하루를 시작한다. 

 

구글 홈의 스피커에서는 오늘 날씨, 자고 있었던 기간의 특별한 뉴스, 일정을 알려주고 전등을 켜준다.

집을 나갈 때는, 집안의 전등, 공기 청정기와 집안의 콘센트의 전원을 꺼준다. 

 

집에 없는 사이에는 로봇 청소기가 스케줄링에 따라 자동으로 청소를 한다. 그리고 누가 집을 드나들 때마다 스마트폰의 노티피케이션으로 알려준다. 

 

마찬가지로 퇴근을 하여 집을 들어오면 거실 등을 켜주고, 공기 청정기가 돌아가고 콘센트의 전원을 켜 준다. 

불과 얼마 전까지는 먼 이야기처럼 들렸겠지만, 이제는 아주 가까운 이야기고 또한 구성하기 쉽다. 

 

홈 iot와 홈 자동화 대해 오래전부터 관심을 가지고 있었지만, 그때 당시에는 구성하기에는 비용이 많이 들고 만들기 자체가 복잡했다. 하지만 1-2년 사이에 중국의 힘 때문에 그런지 각정 모듈 및 센서의 가격이 엄청나게 저렴해져서 만들기 쉽다.

 

예전에는 스마트 전구 하나만 구입하려 해도 2-3만 원은 훌쩍 뛰어넘었는데, 이제는 5-7천 원 사이로 구입할 수 있다. 그래서 각종 센서와 모듈 값을 검색해보았고 이제는 구성해도 큰 비용이 들지 않을 것 같아서, 와이프 몰래 하나 둘 주문을 넣었다. 

 

구입 목록

기존에 구글 홈(네스트) 미니와 구글 홈(네스트) 허브를 각각 하나씩 둘 다 가지고 있었다. 거실에 구글 홈 허브, 안방과 딸 방에 각각 1개씩 구글 홈 미니를 배치해 두었다.

 

구글 네스트 허브 11.5만 원 https://coupa.ng/bNHygH

구글 네스트 미니 38500원 https://coupa.ng/bNHynN

구글 네스트 시리즈는 당근 마켓을 잘 찾아보면 안 쓰는 것들이 저렴하게 올라온다. 

스마트 전구 RGB 색변환 가능 약 $7.38 무료배송 https://s.click.aliexpress.com/e/_AbEK7x

스마트 플러그 1개 $9.19 또는 4개 $30.39 무료배송 https://s.click.aliexpress.com/e/_AMIMb3

IR 리모컨 컨트롤 허브 $9.94 무료배송 https://s.click.aliexpress.com/e/_AW79id

스마트 Wi Fi 도어 센서 도어 열림/닫힘 감지기 $6.27 무료배송 https://s.click.aliexpress.com/e/_AVhJoZ

SONOFF 기본 R2 미니 DIY 모듈 와이파이 라이트 스위치 $4.74 무료배송 https://ko.aliexpress.com/item/4000390205431.html

 

설치 및 설정

LED 전등에는 SONOFF 와이파이 라이트 스위치를 간단하게 전선만 연결해서 달아주면 된다. 전기 지식이 0 거나 하면 반드시 두꺼비집의 전원을 다 내리고 달기 바란다. 

 

 

그 외 다른 모듈은 설치라고 할 것도 없다. 그냥 전원만 연결하고 제조사의 앱에서 Wi Fi 2.4 Ghz 연결하고 기기만 등록한 후, Google Home 앱에서 장치만 불러오면 아래와 같이 잘 구성된 것을 확인할 수 있다. 그리고 LG U+ TV UHD2세대, 샤오미 공기 청정기, 샤오미 로봇 청소기는 기본적으로 Google Home을 지원한다. 

 

 

구형 리모컨 기기도 스마트 기기로 변신 가능

IR 리모컨 컨트롤 허브 경우는 리모컨 입력을 대신해 준다. 기존에 IR 리모컨을 사용하고 있었던 것을 대부분 지원해 준다. 집에 있는 10년이 훌쩍 넘은 삼성 에어컨에 연결을 하니 온도 설정 등이 제대로 동작한다. TV, 셋톱도 목록에 있어 불러와서 테스트해보니 잘 동작한다. 

 

응용

장기 여행을 갈 때, 저녁에 집의 전등을 스케줄을 줘서 켜고 끌 수 있다. 그리고 외출 시 전기장판, 에어컨 등 전기료가 많이 나오는 것들을 켜놓고 까먹고 나와서 전기 요금 폭탄을 막는 것도 방지할 수 있다.

 

또한 스마트 플러그 같은 경우에는 전기 사용량을 실시간으로 확인할 수 있고, 월별 등으로도 기록 가능해서 얼마만큼 전기를 사용하는지 확인 가능하다.

 

그리고 그룹으로 묶어서 루틴을 설정하면 집에서 나가고 들어올 때, 전등과 공기 청정기를 묶어서 끄고 켜고 할 수 있게 해준다. 

 

연동 영상

지금까지 구입해서 연동할 것을 동영상 촬영을 해 보았다. 은근히 누워 있으면서 움직이기 귀찮을 때 불 켜고 끄는 것과 티브이 끄는 것은 편리하다. 

https://www.youtube.com/watch?v=nsP9bZBJD6o

 

마무리

가격이 비싸지 않으니 하나씩 주문해서 연동하는 맛이 있다. 어렵지도 않으면서 뭔가 첨단 기기를 사용하고 있는 느낌이랄까?

다음은 도어 센서를 구입해서 창문을 열면 공기 청정기를 끄고, 닫으면 켜고, 현관문을 열고 들어오면 "아빠 왔다!"를 집안 곳곳에 울리게 해 줘야겠다.

가장 좋은 건 누워서 졸릴 때 전원 끄러 안 일어나도 되고, 더 이상 딸(또는 동생)을 안 불러도 된다.... 

 

* 위 상품 링크로 구입 시 필자에게 업체 측에서 일정 금액의 수수료를 제공합니다.

 

Posted by KraZYeom

댓글을 달아 주세요

부재: Wi-Fi 멈춤 현상 해결하기

프롤로그 - 와이프의 잔소리

"자기야 요즘 무선인터넷이 자주 멈춰... 고쳐..."

 

최근 들어 Wi-Fi에 멈춤 현상이 잦아지고 있었다. 처음에는 AiMesh 때문에 그런 현상이 생기는 줄 알고 AiMesh도 풀어보고, 설정도 다시 최적의 값을 찾기 위해 노력을 했지만 멈춤 현상은 줄어들 기미를 보이지 않았고 여전히 발생했다.

 

또한 평소 Mesh 네트워크 안에 최근에 휴대폰 장비를 많이 구비하는 바람에 23대라는 많은 양의 장비들이 공유기에 묶여 있는 이유도 있다고 생각했다.

 

문제는 1대가 먹통이 되면 네트워크 안에 있는 장비 모두 Wi-Fi 가 멈추는 현상이 발생했다. 공유기의 문제였던 것이다.

 

간이 해결방법이라곤 네트워크를 2.4GHz에서 5 GHz로 바꾼다거나 모바일 장비에서 잠깐 Wi-Fi를 껐다 켜면 되긴 했다.

 

최근에 갑자기 발생해서 구글링을 했지만 해결책도 나오지 않고, 딱히 원인을 찾기도 힘들었는데, 오늘 다시 검색을 해보니 ASUS 공유기 무선인터넷 끊김현상 해결 후기라는 글을 발견했다.

 

기존에도 RT-AC68U 2 대중 1대는 여름을 대비하여 쿨링팬 작업을 하나 해놓은 게 있었으나 소음, 전기 먹는 것 등을 고려해서 꺼놓고 생활하고 있었다.

삽질 작업

다시 생각이 나서 기존에 1대에 2개의 쿨링팬을 붙였던 것을 1개로 바꾸고, 나머지 1대에 1개를 장착해주었다. 공유기 구조상 2개를 다는 것보다 1개를 다는 게 더 쿨링이 잘된다는 이야기가 있다. 아니면 쿨러 한 개는 안으로 넣고, 나머지 하나는 밖으로 바람을 빼주는 것도 좋을 듯하다.

 

USB의 전기는 5V로 동작하는데 쿨러는 12V 짜리다. 연결을 하면 5V에 맞게 낮춰진 RPM으로 동작한다. 어차피 병렬로 2개를 장착을 하니 2.5V로 되어서 펜 RPM이 낮아져서 쿨링 효율은 비슷할 것 같기도 하다. 5V만으로도 소음이 약간 발생하기에 2개를 장착을 하면 소음면에서는 이득일 수도 있겠다.

 

암튼 귀찮으니 1개로 마음먹고 집에 굴러다니는 USB 케이블을 절단해서 +- 극과 펜의 +-극을 잘 연결해주고 시험 삼아 꽂아보니 잘 동작하고 온도도 확 떨어지는 것을 확인했다. 그리고 그루 건으로 장착을 해주고, 그릴도 붙여줘서 혹시나 모를 사고에 대비했다.

 

결과

아래 코드를 사용하여 RT-AC68U ssh에 접속해서 CPU와 Wi-Fi 모듈의 온도를 체크해보았다.

 

삽질 전

krazyeom@RT-AC68U-D1E0:/tmp/home/root# ./get_temp.sh
Main - CPU: 80, Wi-Fi: 67
Mesh - CPU: 74, Wi-Fi: 64

삽질 후

krazyeom@RT-AC68U-D1E0:/tmp/home/root# ./get_temp.sh
Main - CPU: 55, Wi-Fi: 48
Mesh - CPU: 51, Wi-Fi: 45

CPU는 23~25, Wi-Fi 모듈은 19도 정도 떨어지는 것을 확인할 수 있다. 아직까지는 멈춤 현상이 발생하지 않는다. 이걸로 해결되었으면 좋겠지만.. 잘 안되어서 다른 공유기를 사고 싶기도 하다. 하핫.

Posted by KraZYeom

댓글을 달아 주세요

0. 준비

ssh 관련 권한은 아래와 같이 설정한다.

chmod 400 ~/.ssh
chmod 600 ~/.ssh/*

1. 실패

일반적으로 사용하는 ssk-keygen 이 asus 무선공유기에는 없다.

putty key generator로 key gen을 하고 openssh key로 export해서 id_rsa, id_rsa.pub 를 복사하고
target server .ssh/authorized_keys 에 등록을 한다.

ssh -i ~/.ssh/id_rsa user@host 를 입력을 하면 다음과 같은 에러가 난다.

ssh: Exited: String too long

일반적인 ssh와 달리 OpenWRT에서는 dropbear라는 ssh 클라이언트를 사용해서 생기는 문제이다.

krazyeom@RT-AC68U-8DF0:/tmp/home/root/.ssh# ssh -V
Dropbear v2019.78

2. 해결

dropbear로 키를 다음 명령어 dropbearkey -f id_rsa -t rsa로 생성하면 된다.
private key는 자동으로 id_rsa 파일로 저장된다. public키는 아래와 같이 보이기만해서 적당히 복사해서 사용한다.
public key를 저장하지 못했으면, dropbearkey -y -f id_rsa 다음 명령어로 다시 보이게 할 수 있다.

krazyeom@RT-AC68U-8DF0:/tmp/home/root# dropbearkey -f id_rsa -t rsa
Generating 2048 bit rsa key, this may take a while...
Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZaj90uKcWjEbpHb7XN23Cl08s/fPKRPF6jLy9NUOJ14cMSLMhxAlfRThqNfk6R/KwdbUQHJ2SmSnWeeltnQ2+Odh8Ux1.............VRB krazyeom@RT-AC68U-8DF0

public key를 id_rsa.pub 로 저장을 한다음

cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'
b@B's password:

다음부터는 ssh a@B 명령어로 접속을 한다. 또는 ssh -i ~/.ssh/id_rsa a@B 로 직접 private key 위치를 지정해서 실행해도 된다.

Posted by KraZYeom
TAG Asus, ssh

댓글을 달아 주세요

프롤로그

회사에서 진행하고 있는 오픈소스 데이터 분석 플랫폼 Brightics Studio에서 6월 초에 One Way ANOVA 시 에러 가 이슈로 등록이 되었고, 그냥 함수 버그겠지라며 대수롭지 않게 생각하고 있었다.

 

갑자기 8월 19일~20일 사이에 사내 게시판과 메일로 엄청나게 위와 동일한 이슈가 쏟아졌다. 메신저, 전화로까지 연락이 온다. 하하.

그러는 순간 마션의 첫 대사가 떠올랐다. 

 

 

“I'm pretty much fucked. That's my considered opinion. Fucked.”

아. 뿔. 싸. 씨. 발. 좆. 됐. 다.

 

그제야 이슈의 원인을 파악하기 시작했다. 

 

원인을 찾기 위해 에러 로그인 numpy.linalg.linalg.LinAlgError: SVD did not converge로 구글링을 해서 찾고 numpy 소스코드를 찾았지만 정확한 원인을 찾기 힘들었다.

 

왜... 소스코드를 제대로 파악을 못하니라고 잔소리를 들었지만... 아무리 찾아도 나오지 않았습니다... 팀장님? ㅠㅠ 

 

처음에는 사내 특정 솔루션을 설치하면서 윈도 업데이트를 해서 그것과 관련된 사이드 이펙트라고 파악했었는데, 그것도 문제가 아니었다. 어떤 사람은 발생하고 어떤 사람에게서는 나타나지 않았다. 

 

다행하게도 내 자리의 윈도 10 PC에서도 동일한 버그가 발생하였다. 그리고 마찬가지로 집에 있는 PC에서도 동일한 버그가 발생했다. 휴... 동일한 이슈가 발생한다는 건 얼마나 즐거운 건지 모르겠다. 재현이 된다는 거이기 때문이다.

 

윈도키+R => winver를 확인하니, 윈도 10, 버전 2004. 공통된 부분이었다. 이로서 버그의 힌트는 얻었고 다음날 돌아와서 발생한 사람에게서도 확인을 하니 모두 동일한 윈도 버전을 사용하고 있었다. 

 

... 그럼 원인이 윈도 10의 문제라고?
ㅇㅇ
그것도 딱 버전 2004에서만 발생을 한다.

 

윈도 10 이슈이니 아무리 구글링을 해도 코드를 뒤져도 원인이 당연히 나올 수 없었다. 

그래서 다시 제대로 된 검색어로 구글링을 하니 이제야 결과가 조금 보이기 시작했다. 

 

polyfit and eig regression tests fail after latest Windows 10 update #16744 
LinAlgError using scipy.signal.savgol_filter since windows 10 (2004) update #12747

 

공통된 의견은 윈도 10을 업데이트 한 뒤로 numpy와 scipy가 동작하지 않는다는 거였다. 최초 우리 쪽 이슈만 더 빨리 받아들였어도 더 빨리 해결책을 찾을 수 있었고 더 빨리 공유할 수 있었을 텐데 좀 아쉽긴 하다. 아래 삼천포에 설명한 pyarrow & jvm도 공유를 하지 못해서 아쉬웠다. 

 

삼천포

예전에도 비슷한 이슈 경험이 있었다. 그땐 numpy가 아니었지만 pyarrow에서 사용하는 jvm이 리눅스 커널 특정 버전 3개? 에서만 발생을 했다. JVM crashes after updating to kernel with patch for Stack Guard flaw CVE-2017-1000364 그 때도 버그 원인 찾고 해결책 찾느라 죽는 줄 알았다(아무도 안 알아주지만 ㅋㅋ). 지금이야 구글링해도 몇 건이라도 나오는데, 그때는 발견된 초창기라 나오지 않아서 정말 엄청 삽질을 하고 linux kernel을 업데이트했었다.

 

원인

  • 윈도 10, 버전 2004 업데이트

  • Windows 10, Version 2004 Update

 

해결방법

  • anaconda의 numpy와 디펜던시 라이브러리 사용

  • numpy+mkl(Intel® Math Kernel Library)와 디펜던시 라이브러리 사용

  • 기타 

anaconda를 사용하면 문제가 발생하지 않는다. 대다수 python 프로젝트는 anaconda를 사용해서 위 문제점이 빨리 발견되지 않은 것 같다. Brightics Studio에서는 특정 이슈때문에 https://www.python.org에서 제공하는 python을 사용하고 있었고 그냥 pip로 기타 라이브러리를 관리하고 있었다. 그래서 anaconda로 라이브러리를 변경했지만, 또 다른 버그?로 인해서 다시 원복을 했다. 그래서 2번째 방법으로 조치하기로 마음먹었다. 

삽질 목록

  1. anaconda로 이전 

    => sqlite에서 rank와 같은 windows 함수에서 또 다른 이슈 발생

  2. 원복

  3. numpy‑1.18.5+mkl‑cp36‑cp36m‑win_amd64.whl 만 설치

    => scipy를 사용하는 함수에서 값이 틀리게 나오는 이슈 발생

  4. scipy‑1.5.2‑cp36‑cp36m‑win_amd64.whl를 추가 설치

    => statsmodels를 사용하는 함수에서 에러 발생

  5. statsmodels‑0.11.1‑cp36‑cp36m‑win_amd64.whl를 추가 설치

    => numexpr 이슈 발생과 gensim을 사용하는 함수에서 에러 발생

  6. numexpr‑2.7.2‑cp36‑cp36m‑win_amd64.whl patsy‑0.5.1‑py2.py3‑none‑any.whl를 추가 설치 및 gensim에서 사용하고 있는 scipy 라이브러리 소스코드 변경

numpy와 연관된 라이브러리를 다 변경해주면 된다. 

Brightics Studio에서는 아래 5개 + 소스 코드 수정으로 눈에 보이는 버그는 다 잡은 것 같다. 

그러고 나서 One Way ANOVA 시 에러 이 이슈는 closed 시킬 수 있었고, 사내 게시판을 통해 조만간 패치된 버전을 릴리스 한다고 공지했다.

 

교훈

이번에도 느꼈다. 아무도 믿지 말자. 윈도도 MS도 사람도. 

Posted by KraZYeom

댓글을 달아 주세요

raywenderich 동영상 다운로드 받는 방법

창과 방패의 뚫고 막히는 것 처럼 자주 다운로드 받는 방법이 막힌다. 

딱 1년전에 Ray Wenderlich 동영상 다운로드 받기를 포스팅 했지만 금방 막혀버렸다.

이번에는 조금더 간단해졌다. 지난번에는 mmpeg 명령어로 스트리밍되는 것을 다운로드 받았다면, 이번에는 그냥 wget으로 받으면 땡이다.


사파리 상의 원하는 동영상에서 마우스 오픈쪽 버튼을 눌러 Show Frame Source를 클릭한다.


그리고 바로 아래에 frame source가 나타는데 그것을 Cmd + C를 해서 복사를 하고, Sublime Text와 같은 툴에 붙여넣기를 한다. 그리고 1080p, 720p 등으로 원하는 화질으로 찾기를 한다. 그러면 원하는 URL을 찾을 수 있고, 이 주소를 또 복사를 해서 터미널 창에서


wget https://xxx.xxx.xxxx/xxxxxxxx.mp4 명령어를 입력하면 다운로드 받을 수 있다.




Posted by KraZYeom

댓글을 달아 주세요