*보관됨* = IoT 관리 웹 서버 구축 방법 = 안녕 얘들아 나는 취미 프로그래머이고 약간의 조언이 필요합니다 간단히 말해서 집에서 Philips Hue 램프 및 기타 IoT 장치를 제어할 수 있는 작은 웹 앱을 만들고 싶습니다. 나는 이미 Python에서 Hue API를 가지고 놀았고 훌륭하게 작동하는 몇 가지 스크립트를 가지고 있습니다. 또한 다른 장치에서 SSH별로 명령을 실행하는 스크립트도 있습니다. 그래서 다음 단계로 UI가 잘 보이는 웹 앱을 만들고 싶습니다. 과거에는 작은 Android 앱도 만들었습니다. 처음에는 Kotlin으로, 그 다음에는 Flutter와 Firebase로, Flutter에서 작동하는 어느 정도 멋진 UI를 얼마나 쉽게 얻을 수 있는지 놀랐습니다. Flutter가 웹 앱으로도 사용될 수 있다는 것을 알고 있지만 이것이 이에 적합한 도구라고 생각하지 않습니다. 나는 React와 Angular를 살펴보고 초보자 가이드를 통해 작업했습니다. Flutter와 비교할 때 보기 좋게 만들기 위해 더 많은 작업을 해야 하는 것처럼 보이지만 더 나은 템플릿이 필요할 수도 있습니다. 내 상상 속에서 나는 현재 상태를 수집하기 위해 하나의 스크립트를 트리거하고 싶습니다. 스크립트는 그것을 일부 JSON 파일에 쓰고 UI는 멋진 그래프 또는 다이어그램을 표시합니다. 그런 다음 버튼을 누르면 다른 파일을 작성하고 파일을 읽고 그에 따라 조명 색상을 변경하는 스크립트를 실행합니다. 이제 솔직히 말해서 무엇을 시작해야 할지 조금 헤매고 있습니다. 내가 수집한 것에서 Angular로 프런트 엔드를 구축한 다음 내 조명 또는 구성 스크립트의 상태를 저장하고 로드할 수 있는 "파일 시스템"으로 MongoDB를 가질 수 있습니다. 그러면 DB를 내 UI에 연결하기 위해 API가 필요하다고 생각합니다. 나는 적어도 부분적으로 옳기를 바랍니다 :D JS/TS로 시작하여 Angular 또는 React로 UI를 만드는 것이 올바른 방향이라고 생각하십니까? 아니면 이것이 내 의도에 완전히 잘못된 것입니까? 당신의 조언을 주셔서 감사합니다! 당신은 확실히 여기에서 올바른 길을 가고 있습니다. 당신이 놓치고 있는 부분은 모든 것을 서버 사양으로 묶는 것입니다. 귀하의 경우에 내가 할 일은 웹 페이지를 제공하는 서버를 구축하는 것입니다. 웹 페이지는 서버에 의해 노출된 REST API로 HTTP 요청을 다시 보냅니다. 서버는 프런트 엔드 웹 페이지, 스크립트, DB 간의 중앙 연결 지점입니다. 서버를 거치지 않고 웹페이지에서 DB로 접속하거나 전등 상태를 변경하지 마세요. API 엔드포인트를 정의합니다. 조명을 제어하고 싶다고 가정해 보겠습니다. 아마도 다음이 필요할 것입니다: 인증 토큰 받기 [ HTTP GET/api/token with creds in header], returns token or 401 Get status of devices [ HTTP GET /api/devices with token in header], returns JSON status of all devices Get status of lights [ HTTP GET /api/devices/lights with token in header] returns JSON status of all lights Control a single light [ HTTP POST /api/light/ with token in header, payload specifying RGB], returns empty 200 on valid request, 422 otherwise And so forth. Once you have an API spec you can develop whatever you want to first; the server code for the API (Django is good if you're comfortable with Python), the front-end code, the server code for integrating your scripts or the DB. As long as the API is sufficiently specified then the parts will all talk to each other nicely. Separation of concerns makes it simple to build some bits, mock others up, modify and replace as needed A tip: don't write anything to files if you're just sending JSON data around. The server itself can *probably* just call all the script code directly with no need to pass files, and can definitely serve the JSON via HTTP to the web page for display purposes This sounds like a fun project. Can you tell me a little about your end goal with it? Maybe I’ll do something like it at my house. I guess what I’m wondering is aside from being a fun project, what (if any) controls does it give you over your devices that don’t come sort of “baked in” via remote controls or apps for example that may come with the device. Just would like to hear about your real world advantages of doing this == About Community == Members Online