장치 액세스는 EMQX 메시지 서버, 암호화 및 인증을 사용하고, 프런트 엔드는 Vue를 사용하며, 데이터베이스는 ESP32, ESP8266, Raspberry를 사용합니다. Pi 등의 시스템 아키텍처 다이어그램은 다음과 같습니다.
시스템 모니터링: 작업 로그, 로그인 로그, 시스템 로그, 온라인 사용자, 서비스 모니터링, 연결 풀 모니터링, 캐시 모니터링 등
제품 관리: 제품, 제품 모델, 제품 카테고리, 제품 펌웨어, 장치 인증 코드 등
장치 관리: 제어, 그룹화, 타이밍, 로그, 통계, 위치 지정, 공유, 구성, 비활성화, OTA 업그레이드, 자동 등록, 섀도우 모드, 실시간 모니터링, 암호화 인증 등
EMQ 관리: Mqtt 클라이언트, 리스너, 메시지 주제, 메시지 구독, 플러그인 관리, 규칙 엔진, 리소스
하드웨어 SDK: WIFI 및 MQTT 연결, 객체 모델 응답, 실시간 모니터링, 모니터링 데이터의 정기적인 보고, AES 암호화, NTP 시간 등을 지원합니다.
객체 모델 관리: 속성(장치 상태 및 모니터링 데이터), 기능(특정 작업 수행), 이벤트(장치가 클라우드에 사전에 보고)
기타 기능: 멀티 테넌시, 통계, 뉴스 정보, 알림 및 공지, TDengine 시계열 데이터베이스 지원
기능 개발 및 개선 계획: 장치 알람, 장면 연결, 스마트 스피커와의 클라우드-클라우드 연결, 장치 네트워크 구성, 타사 로그인, SMS 로그인, APP 인터페이스 사용자 정의, 비디오 스트림 처리 등
관련 기술: Spring boot, MyBatis, Spring Security, Jwt, Mysql, Redis, TDengine, EMQX, Mqtt 등
개발 도구: IDEA
웹 측
관련 기술: ES6, Vue, Vuex, Vue-router, Vue-cli, Axios, Element-ui 등
개발 도구: Visual Studio Code
모바일 단말(Android/Ios/WeChat 애플릿/H5)
관련 기술: uniapp, uView, uChart
개발 도구: HBuilder
하드웨어 측면
관련 기술: ESP-IDF, Arduino, FreeRTOS 등
개발 도구: Visual Studio Code 및 Arduino
암호화 인증(권장)
간편인증
EMQX에서 지원하는 기타 인증 방법
2. 장치 상호 작용
게시 모델, 장치 정보 및 시계 동기화와 관련된 Mqtt 주제
구독 모델, 장치 업그레이드 및 시계 동기화와 관련된 Mqtt 주제
이 프로젝트는 ESP8266 칩을 사용하고 Arduino를 기반으로 개발된 샘플 SDK를 제공합니다. (디바이스 버닝은 대부분의 개발 보드에 포함되어 있는 Ch340과 같은 직렬 포트 모듈을 사용합니다.) 배선도는 다음과 같습니다.