1. 개요
SmartThings Edge driver(스마트싱스 엣지 드라이버)는 SmartThings의 제품의 타입을 식별하는 SmartThings Edge 베이스의 소프트웨어 드라이버이다.2. 상세
SmartThings Edge 아키텍처를 베이스로 SmartThings에 IoT 제품의 타입과 Capability를 인식하고 SmartThings Hub에 IoT 제품을 붙인다.SmartThings Hub에 깔아서 돌린다. 인터넷이 없어도 직접 허브에서 로컬로 돌아간다. 이 것은 같은 SmartThings Edge 아키텍처를 쓰는 허브에서 실행되는 루틴과 같다.
SmartThings Edge Driver는 드라이버 파트가 100% Lua 스크립트로 이루어져있다. 따라서 Lua의 가볍고 빠른 스피드를 그대로 쓸 수 있다.
SmartThings 앱의 플러그인 페이지를 만들 수도 있다.
2.1. 구조
2.1.1. Fingerprint
핑거프린트(Fingerprint)는 지문이라는 뜻이 있으며, SmartThings Edge Driver에서는 제품의 모든 기능(Capability)을 정확히 SmartThings Hub에 온보딩 하는 데에 있어야 하는 기기 프로필(Device Profile)이다.엣지 드라이버에서는 fingerprints.yaml 파일에서 관리한다.
2.1.2. 채널
2.1.3. 드라이버
2.2. 공식 엣지 드라이버
공식 엣지 드라이버는 SmartThings 클라우드에 저장되어 있는 엣지 드라이버이다.Works With SmartThings 제품을 연결할 때 클라우드에 있는 엣지 드라이버를 SmartThings Hub에 자동으로 설치해준다. 그러므로 Works With SmartThings제품을 연결할 때 유저가 별도로 커스텀 엣지 드라이버를 찾지 않아도 된다.
공식 엣지 드라이버로 연결할 수 없는 제품이면서, Works With SmartThings제품이 아닌 제품은 커스텀 엣지 드라이버를 SmartThings Hub에 깔아서 연결해야 한다.
2.3. 커스텀 엣지 드라이버
커스텀 엣지 드라이버는 SmartThings 유저가 스스로 만든 드라이버이다.SmartThings Edge 프레임워크에서 돌아갈 수 있어서 SmartThings Hub에 깔 수 있다.
3. 쓰는 법
Edge Driver를 쓰려면 내 삼성계정에서 쓰는 SmartThings에 SmartThings Hub가 있어야 한다.- 1. Edge Driver의 채널을 등록할 수 있는 초대 링크(Invitation)을 들어간다
- 2. 삼성계정에 로그인 한다.
- 3. [ACCEPT]를 눌러서 채널에 접속한다
- 4. My Hubs에 있는 내 SmartThings Hub에 채널을 등록하기 위해 [Enroll]을 누른다.
- 5. 채널이 SmartThings Hub에 등록되었다. [Available Drivers]에서 채널에 등록 된 드라이버를 볼 수 있다.
- 6. 원하는 드라이버에 있는 [Install]을 눌러서 Edge Driver를 SmartThings Hub에 설치한다.
3.1. SmartThings Hub에 설치한 엣지 드라이버를 보는 법
아래의 방법으로 커스텀 엣지 드라이버를 볼 수 있다. SmartThings 클라우드에 있는 SmartThings의 공식 엣지 드라이버는 이 방법으로 보이지 않는다.3.1.1. SmartThings 앱에서 보기
- 1. SmartThings 앱에서 기기 탭에 있는 내 SmartThings Hub의 카드를 눌러서 플러그인 페이지에 들어간다.
- 2. 액션바에 있는 [더 보기] > [드라이버]에서 내 SmartThings Hub에 깔린 엣지 드라이버의 채널과 드라이버를 볼 수 있다.
3.1.2. SmartThings Advanced Web App에서 보기
- 1. SmartThings Advanced Web App에 들어간다.
- 2. [Hub] > [허브 이름]에서 나의 SmartThings Hub를 찾는다.
- 3. Installed Drivers에서 나의 SmartThings Hub에 깔린 Edge Driver를 볼 수 있다.
3.1.3. SmartThings CLI에서 보기
4. 리스트
- 공식 엣지 드라이버
- SmartThings Drivers
SmartThings 개발자 그룹에서 배포하는 공식 커스텀 엣지 드라이버이다. - SmartThings Drivers (Beta)
원글 : SmartThings Community
SmartThings 개발자 그룹에서 배포하는 공식 커스텀 엣지 드라이버이다. SmartThings 커뮤니티에서 공개되었다. SmartThings 최초의 커스텀 엣지 드라이버이다. - Aeotec Edge Drivers
Aeotec 홈페이지
Aeotec에서 공식으로 만드는 커스텀 엣지 드라이버이다. Aeotec 홈페이지에 올라와 있다.
5. 지원
5.1. 지원 프로토콜
- LAN
- Thread
- Matter
- Zigbee
- Z-Wave
6. 개발
6.1. 엣지 드라이버를 만드는 법
6.1.1. 노 코드 엣지 드라이버로 만들기
6.1.2. SmartThings CLI로 만들기
6.1.2.1. 개발하기 앞서 있어야 하는 것
- 삼성 계정
- SmartThings Hub
38.x 버전 이상 - SmartThings CLI
- Lua
5.3 이상 - SmartThings Lua 라이브러리
- SmartThings Console
6.1.2.2. 라이브러리
- Driver 라이브러리
- Capability 라이브러리
- Matter 라이브러리
- Zigbee 라이브러리
- Z-Wave 라이브러리
6.1.2.3. SmartThings CLI로 Edge Driver를 온보딩
- SmartThings Developers의 Get Started With the SmartThings CLI 문서
- SmartThings의 SmartThings CLI 깃허브 레포지토리에서 최신 버전의 SmartThings CLI를 받는다
7. 기타
- SmartThings Grovvy IDE가 있었던 때에 SmartThings Edge Driver로 허브에 붙인 IoT 제품을 SmartThings Grovvy IDE에서 보면 Type이 placeholder로, Device가 Cloud로 잘못 나왔다. SmartThings 클라우드와 SmartThings Hub는 SmartThings Edge Driver로 연결한 제품의 타입과 로컬 네트워크인지 아닌지를 잘 일고 있으며, 제품이 엣지로 붙은 것을 알아내지 못하는 SmartThings Grovvy IDE에서만 그렇게 보이는 것이다. Why does my Edge-enabled device say it is cloud-connected in the Graph IDE? 참조