블로그를 Cafe24 웹호스팅에서 Amazon lightsail로 이전했습니다. 이전하며 아래 부분이 놀라웠고 공부하는셈 치고 좀 더 써봐야겠습니다. 1. 클릭 몇번으로 워드프레스 설치가 그냥 되는구나? 2. 月 $3.5면 커피 한잔 값인데? (月 $5 짜리로 해야 워드프레스가 무리 없이 돌아가더라…) 3. 간단한 명령어로 SSL 설정(Let’s Encrypt), 게다가 주기적으로 인증서 갱신까지 자동으로?
DDclient를 통해 Cloudflare에 DDNS 설정하기
1. 개요 집에서 사용하는 라즈베리파이의 특정 포트를 외부 도메인과 연결을 하여 SSL로 서비스 할 필요가 있었다. 이에 SSL 서비스를 위해 클라우드플레어랑 연동을 했고 우리집 IP는 유동적으로 변하기에 DDNS도 설정할 필요가 있어 그 과정을 작성해본다. 2. DDclient 설치 DDclient는 아래 URL에서 다운로드 받을 수 있다. https://github.com/ddclient/ddclient 하지만 나는 아래와 같이 패키지 설치로 설치하였다. $ apt-get install …
ST-Connector(Edge용 LG-Connector) 설치하기
1. 개요 LG 가전 기기를 Smartthings에서 컨트롤 하고자 라즈베리파이에 ST-Connector를 설치하여 보았습니다. 2. 라즈베리파이에 Docker 설치 이제 SSH를 통해 원격으로 접근이 가능하다면 Docker를 설치해봅시다. 아래 명령어를 통해 Docker 설치 스크립트를 받습니다. wget get.docker.com -O get-docker.sh sudo bash get-docker.sh 도커가 잘 실행되고 있는지 확인해 봅시다. $ ps -aux | grep docker root 1565 31.4 8.7 1007824 …
Smartthings 공휴일 Edge 스위치 만들기
1. 개요 Smartthings는 2022년 10월 16일 16시(KST)부터 Groovy로 작성된 DTH와 스마트앱 지원이 종료된다고 공지되었다. 이에 현재 사용중인 다수 기기들과 스마트앱을 Edge Driver로 전환할 필요가 생겼다. 그 중 구글캘린더와 연동해서 부엉이님이 만드신 스마트앱을 대체해보았다. My Day-off : https://blog.weekendproject.net/243 2. 준비물 라즈베리파이, NAS 등 개인 서버 3. MQTT Broker 설치 먼저 MQTT Broker와 파이썬용 MQTT 모듈을 설치한다. …
RS485 패킷 분석 관련 참고자료
RS485 패킷을 확인하다 보니 국내 표준이 있어 글을 남긴다. o 산업통상자원부 국가기술표준원(원장 제대식)은 홈네트워크 기기 교체시 발생하는 소비자의 불편 해소 및 소비자선택권 보장을 위해 국가표준(이하 KS)을 제정하였다고 밝혔다. o 그간 홈네트워크 중심기기와 주변기기의 통신규약(프로토콜)이 기기제조사별로 상이해 제조사간 기기호환이 곤란하고, 기기 고장시 소비자들은 교체기기를 구하기 힘든 애로를 겪어왔다. o 이번에 제정된 KS표준은 홈네트워크 제조 기업 간의 …
라즈베리파이로 RS485 통신 하기 (suroup 활용)
1. 개요 아파트의 각종 장비들을 제어하기 위해 기존에는 스마트폰 앱을 분석해 사용했으나 아파트 서버 장애시 제어가 안되는 등의 문제가 발생했습니다. 그래서 홈 네트워크에 직접 장비를 연결해 RS485 패킷을 Wi-Fi로 연결해 제어코자 합니다. 2. 준비물 라즈베리파이, Elfin EW11A 3. EW11 전원 연결 알리에서 주문한 EW11의 연결 커넥터를 보면 총 4개의 선이 연결되고 가운데가 전원입니다. +, – …
python 쓰레드를 uWSGI로 서비스시 문제점
최근 python thread로 타이머를 구현, 이를 uWSGI로 서비스 하는 과정에서 thread가 동작하지 않아 관련 내용을 정리함. 예제코드는 아래와 같음. import time import threading from flask import Flask i = 0 def thread_run(): global i while True: i += 1 time.sleep(3) app = Flask(__name__) th = threading.Thread(target=thread_run) th.start() @app.route('/') def index(): return str(i) if __name__ == …
Flask 서비스를 위한 uWSGI + Nginx 설정
1. 필요 패키지 설치 $ sudo apt-get install python3 python3-pip nginx $ sudo pip3 install virtualenv $ sudo pip3 install uwsgi 2. Virtualenv 설정 $ virtualenv .server $ source .server/bin/activate (.server) $ pip3 install flask (.server) $ pip3 install uwsgi uwsgi를 또 설치한 이유는 코드에서 uWSGI decorators를 사용하기 위함임 3. Flask 코드 작성 # server.py …
Smartthings 뉴앱에서 타일 구성하기
최근 아파트 월패드 시스템과 Smartthings를 연동을 위해 DTH를 뉴앱에 호환되도록 작성을 했다. 그런데 각종 타일들이 원하는대로 구성이 안되는 것을 확인, 힘들게 방법을 찾아 기록해둔다. 우선 Smartthings 클래식 앱과는 다르게 뉴앱은 vid(Device id로 추정)를 지정하면 타일이 자동으로 구성된다. 그럼 vid를 어디서 확인할 수 있느냐? 아직까지 Smartthings 뉴앱의 타일 구성 등 DTH 작성에 대한 공식적인 문서는 없다. …
라즈베리파이에 LG-Connector 설치하기
Smartthings에 집에 있는 LG 건조기를 연동하기 위해 lg-connector를 라즈베리파이에 설치해보았다. 참고 : https://github.com/fison67/LG-Connector/blob/master/README.md 라즈베리파이에 LG-Connector 설치 sudo mkdir /docker sudo mkdir /docker/lg-connector sudo chown -R pi:pi /docker sudo docker pull fison67/lg-connector:0.0.5 sudo docker run -d –restart=always -v /docker/lg-connector:/config –name=lg-connector –net=host -e TZ=Asia/Seoul fison67/lg-connector:0.0.5 LG-Connector 설정 1. Open LG Connector web settings page (http://X.X.X.X:30020/) 2. Default …