DDclient를 통해 Cloudflare에 DDNS 설정하기

1. 개요 집에서 사용하는 라즈베리파이의 특정 포트를 외부 도메인과 연결을 하여 SSL로 서비스 할 필요가 있었다. 이에 SSL 서비스를 위해 클라우드플레어랑 연동을 했고 우리집 IP는 유동적으로 변하기에 DDNS도 설정할 필요가 있어 그 과정을 작성해본다. 2. DDclient 설치 DDclient는 아래 URL에서 다운로드 받을 수 있다. https://github.com/ddclient/ddclient 하지만 나는 아래와 같이 패키지 설치로 설치하였다. $ apt-get install …

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 통신 하기

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 …

ROBOCOPY 사용법

기본 사용법 robocopy 원본 대상 옵션 미러링 카피(/MIR) 하위 디렉토리까지 복사, 원본에 없는 파일이나 디렉토리를 자동 삭제. robocopy E:\사진모음 F:\사진모음 /MIR /LOG+:Backup_%date%.log 옵션 설명 ——————————————————————————- ROBOCOPY :: Windows용 견고한 파일 복사 ——————————————————————————- 시작됨: 2020년 2월 23일 일요일 오후 1:19:16 사용법 :: ROBOCOPY 원본 대상 [파일 [파일]…] [옵션] 원본 :: 원본 디렉터리(드라이브:\경로 또는 \\서버\공유\경로) 대상 :: …

라즈베리파이에 Mi-Connector 설치하기

1. 개요 샤오미 가습기(모델명:CJXJSQ02ZM)를 Smartthings에서 컨트롤 하고자 라즈베리파이에 Mi-Connector를 설치하여 보았습니다. 2. 라즈베리파이 설정 우선 라즈베리파이 공식 홈페이지에서 라즈비안(어감이 좋지 않네요…Raspbian) 최신버전을 다운로드 합니다. 저는 콘솔에서만 작업할 예정이므로 ‘Raspbian Buster Lite’를 다운로드 했습니다. Raspbian : https://www.raspberrypi.org/downloads/raspbian/ Raspbian Buster with desktop and recommended software 라즈비안 데스크톱 이미지에 Python,Scratch와 같은 프로그램들이 미리 설치되어있는 버전 Raspbian Buster with …