일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 주식
- MQTT
- 라즈베리파이
- 해외주식
- 월패드
- 힐스테이트 광교산
- Apple
- esp32
- matter
- 현대통신
- 빅데이터분석기사
- 홈네트워크
- 나스닥
- Espressif
- 국내주식
- Home Assistant
- Bestin
- 매터
- Python
- 파이썬
- 공모주
- ConnectedHomeIP
- 미국주식
- 배당
- RS-485
- raspberry pi
- cluster
- SK텔레콤
- homebridge
- 애플
- Today
- Total
목록Flask (7)
YOGYUI
기존에 내가 구현해둔 Bestin 홈네트워크 - Homebridge 연동 코드는 Python의 Flask 패키지를 활용해 웹서버를 구동하게 된다 https://github.com/YOGYUI/HomeNetwork/tree/main/IPark-Gwanggyo GitHub - YOGYUI/HomeNetwork: HomeNetwork(Homebridge) Repo HomeNetwork(Homebridge) Repo. Contribute to YOGYUI/HomeNetwork development by creating an account on GitHub. github.com [IPark-Gwanggyo/app.py] from Include import get_home from web import create_..
3. Implementation 우선, 256개 Timestamp에 대한 하행 호출 패킷을 모으기 위해 다음과 같이 코드를 짜봤다 (패킷을 리스트에 담는데, 동일한 timestamp 값을 모은적이 있다면 패스, 리스트 자체를 직렬화해서 로컬에 저장) import os from SerialComm import SerialComm from SmartParser import SmartParser if __name__ == '__main__': import time import pickle picklepath = './smart_elevator_down_packets.pkl' os.system('clear') ser1 = SerialComm() ser2 = SerialComm() par = SmartParser..
Ajax (Asynchronous JavaScript and XML) Ajax - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 다른 뜻에 대해서는 에이젝스 문서를 참조하십시오. 다른 뜻에 대해서는 아이아스 문서를 참조하십시오. Ajax(Asynchronous JavaScript and XML, 에이잭스)는 비동기적인 ko.wikipedia.org Flask 자체의 기술적 내용에 해당하는 포스팅은 아니다 Ajax 사용에 대한 예시 (page update에 대한 요청은 페이지가 수행하고, 서버는 라우팅만 잘 구현해주면 된다) [Structure] + proj + templates - index.html - app.py index.html에서 1초에 한번씩 update POST 호출하여 ..
Flask web server 구현 시 인증 절차를 위해 데코레이터 함수를 직접 구현하는게 일반적이다 관련 링크: https://eddmann.com/posts/using-basic-auth-and-decorators-in-pythons-flask/ 하지만 IoT 서버 구동과 같은 단순한 인증 절차만 필요할 경우 Flask_HTTPAuth같은 extension을 설치해 간단하게 해결할 수 있다 (로그아웃같은 기능은 session 별도 구현 필요) 본 포스팅에서는 Flask_HTTPAuth를 활용한 HTTP Basic 인증에 대한 예시만 다룬다 HTTP Digest 인증, (JWS/JWT) 토큰 인증 방식 / user-role 등에 대한 내용은 공식 페이지에서 참고하도록 한다 [Structure] + pr..
[5] 마무리 거실, 침실, 컴퓨터방 모두 적절하게 액세서리 추가 { "accessory": "Thermostat", "name": "Living room thermostat", "apiroute": "http://localhost:9999/heat/room1", "temperatureDisplayUnits": 0, "currentRelativeHumidity": false, "heatOnly": true, "maxTemp": 40, "minTemp": 5, "minStep": 0.5, "listener": true, "port": 12345, "manufacturer": "Bestin", "serial": "yogyui thermostat", "model": "Bestin", "pollInterval"..
[3] 서버 구현하기 기존에 구현해둔 Flask 서버 코드에 난방 관련 코드를 추가하자 아직 어떤 homebridge plug-in을 쓸지 결정하지 않았으므로 뼈대만 구축해둔다 RoomInfo 클래스에 난방 관련 (On/Off, 현재 온도, 설정 온도) 속성 추가 Serial 통신 객체 추가 Serial Packet Parsing (난방 관련) 구문 추가 # app.py import os import sys import time import queue import requests from typing import List from flask import Flask, request, json, render_template from common import RoomInfo from Serial485.Seri..
[4] HTTP 서버 구축 테스트 라즈베리파이에 연결된 RS-485 to USB 디바이스를 외부에서 접근 가능하게 하는 여러 방법 중 가장 보편적인 방법은 HTTP 서버를 구축하는 것이라고 생각했다 (외부에서 인터넷을 통한 접근, 궁극적으로는 아이폰/아이패드 활용) JAVA, Node.js, 혹은 Python Flask, Python Django 등 다양한 프레임워크로 서버 구축을 해보았는데, 경험상 빠른 프로토타이핑에는 Flask가 제일 좋아 보여 선택했다 (시리얼 통신 프로토타이핑을 파이썬으로 하는 바람에...) 추후 안정성이나 사용자 인증같은 부가기능을 사용하기 위해 Node로 교체할 지 여부는 TODO로 남겨놓기로 한다 https://flask.palletsprojects.com/en/1.1.x/..