사물 인터넷 기술
你好(중국어 "Hello"), 저는 싱가포르에 거주하고 있으며 2006년부터 Robert Bosch의 소프트웨어 엔지니어로 일하고 있습니다. 저는 IoT에 열정적이며 다양한 IoT 플랫폼에서 장치 간의 성공적인 상호 작용을 결정하는 개방형 표준을 믿습니다. . 그렇기 때문에 클라우드 기반 도구를 제공하여 IoT 장치를 균일하게 설명하고 개방형 IoT 표준을 기반으로 다양한 IoT 플랫폼에 통합하는 것을 목표로 하는 Eclipse IoT Vorto 프로젝트에 적극적으로 기여하고 있습니다. IoT 괴짜와는 별개로 저는 젓가락 기술을 연습할 수 있는 아시아 요리를 즐깁니다. 코트에서 친구들과 테니스 공을 몇 개 치는 모습도 볼 수 있습니다.
스마트 팩토리, 홈 등의 사례를 보면 커넥티드 디바이스는 기업의 비용과 자원 효율성을 향상시킬 뿐만 아니라 생활의 안전성과 편의성도 높이고 있다. 수많은 장치 및 센서 제조업체로 인해 제조업체, 플랫폼 및 통합업체에 새로운 과제가 대두되고 있습니다.
주요 문제는 연결된 장치가 원활하게 통신할 수 있도록 하는 방법입니다. 다양한 제조업체, 기술 및 시스템에 관계없이 클라우드 플랫폼을 사용합니다. 과거에 개발자는 동일한 API를 가진 제한된 장치 집합을 위해 특별히 설계된 IoT 솔루션을 구축했습니다. 장치 유형을 변경하거나 장치 제조업체를 전환할 때 새 장치와 작동하려면 장치 통합에 시간이 많이 걸리는 리팩토링이 필요했습니다.
대규모 작물 농장에서 자산 추적을 위한 IoT 솔루션을 통합할 계획이라고 상상해 보십시오. 현재 위치뿐만 아니라 트랙터, 쟁기 및 기타 농업 장비의 온도와 가속도를 추적하고 싶을 것입니다.
올바른 IoT 장치를 선택할 때 다음 두 가지 질문이 나타납니다.
<울>여기에서 오픈 소스 Eclipse Vorto가 등장합니다.
출처:이클립스 보토
Eclipse Vorto는 Vorto Information Model이라는 추상화 계층과 연결된 장치의 속성 및 기능과 같은 모든 메타 정보를 설명하는 DSL(도메인 특정 언어)을 제공합니다.
추상화 계층을 추가하여 유사한 기능을 가진 다양한 유형의 장치를 사용할 수 있는 일관된 인터페이스를 만듭니다.
Eclipse Vorto 프로젝트는 4가지 주요 구성 요소를 기반으로 합니다.
<울>Eclipse Vorto는 완전한 오픈 소스이며 Bosch의 관리 하에 Eclipse IoT Working Group 내에서 개발되었습니다.
독일 컴퓨터 공학 학생으로서 저는 지난 1년 반 동안 Bosch에서 3개의 다른 부서에서 과제를 수행했습니다. 저는 특히 오픈 소스와 EduTech 기술에 관심이 있습니다. IoT와 자동화는 사람들이 살고, 일하고, 삶을 즐기는 방식을 변화시키고 개선할 수 있는 엄청난 잠재력을 가지고 있다고 믿습니다. 열정적인 학습자이자 개발자인 저는 항상 새로운 기술과 도구를 배우고 싶어합니다. 정규 업무 외에도 Instagram을 위한 세계 최대의 무료 오픈 소스 자동화 봇을 구축하여 현재 유지하고 있습니다. 여가 시간에는 친구들과 등산, 해외 여행을 즐깁니다.
이 추상화를 더 잘 이해하기 위해 더 구체적인 예를 살펴보겠습니다. 밀 작물을 수집하는 데 사용되는 차량과 자산을 추적하려는 농업 기업을 상상해 보십시오. 여러 수확기, 트랙터 및 기타 자산이 있는 대규모 농장에서 각 차량이 사용된 시간과 위치 기록을 알고 싶습니다.
이러한 종류의 정보를 온도 및 습도 값과 결합하면 모든 차량 및 자산에 대한 스마트한 유지 관리 계획을 실행할 수 있습니다. 각 차량 및 자산의 위치는 도난 방지 기능도 제공합니다.
이러한 기능을 제공하는 솔루션 중 하나는 Bosch의 TRACI(자산 추적 솔루션)입니다.
출처:Bosch.IO이 특정 장치의 디지털 모델을 생성하려면 TRACI 정보 모델을 조립하는 데 사용할 몇 가지 기본 빌딩 블록이 필요합니다.
추적 장치의 가장 중요한 구성 요소 중 하나는 배터리입니다. 각 장치의 배터리 상태를 모니터링할 수 있도록 기능 블록이라고 하는 상태를 설명할 수 있습니다.
펑션 블록은 나중에 다른 장치 정보 모델에서 재사용할 수 있는 일반 모델입니다.
다음과 같이 정의할 수 있습니다.
네임스페이스 org.eclipse.vorto 버전 1.0.0 표시 이름 "배터리" 설명 "배터리용 펑션블록" 카테고리 주변기기 org.eclipse.vorto.Voltage 사용; 1.0.0 functionblock 배터리 확장 org.eclipse.vorto.Voltage { 상태 { float여기에서는 기능 블록 에 대해 설명합니다. 0에서 100 사이의 필수 숫자 값을 포함하는 일부 엔터티를 추상적으로 설명합니다.
우리의 상태는 백분율 값이기 때문에 이것을 다시 추상화하여 별개의 구성 요소를 재사용할 수 있도록 할 수 있습니다. 따라서 Datatype . 여기에서 0과 100 사이의 숫자 값과 동일한 제한이 있는 엔터티(이 경우 백분율)를 정의할 수 있습니다.
네임스페이스 org.eclipse.vorto.types 버전 1.0.0 표시 이름 "백분율" 설명 "백분율 데이터 유형" 카테고리 단위 엔티티 비율 { float이 데이터 유형을 생성하면 배터리 기능 블록 내에서 가져와서 사용할 수 있으며 구체적인 구현을 대체합니다.
네임스페이스 org.eclipse.vorto 버전 1.0.0 표시 이름 "배터리" 설명 "배터리용 펑션블록" 카테고리 주변기기 org.eclipse.vorto.types.Percentage 사용; 1.0.0 org.eclipse.vorto.Voltage 사용; 1.0.0 functionblock 배터리 확장 org.eclipse.vorto.Voltage { 상태 { 백분율로 표시된 필수 남은 용량 } }온도 센서와 같은 TRACI 장치에 통합된 모든 센서에 대해 이 프로세스를 반복할 수 있습니다. , GPS , 가속 및 연결 모듈 . 그런 다음 모든 기능 블록을 Vorto 정보 모델에서 조합할 수 있습니다. 그러면 코드 생성기가 장치 통합 코드 스텁을 생성하는 시작점으로 사용할 수 있습니다.
네임스페이스 com.bosch.ps 버전 1.0.0 표시 이름 "Traci" 설명 "Traci용 정보 모델" org.eclipse.vorto.Geolocation 사용; 1.0.0 org.eclipse.vorto.Acceleration 사용; 1.0.0 org.eclipse.vorto.MagneticStrength 사용; 1.0.0 org.eclipse.vorto.Temperature 사용; 1.0.0 org.eclipse.vorto.Battery 사용; 1.0.0 org.eclipse.vorto.Connectivity 사용; 1.0.0 정보 모델 Traci { 기능 블록 { 배터리로 배터리 지리적 위치로서의 위치 가속도로서의 가속도 온도로서의 온도 MagneticStrength를 MagneticStrength로 연결로서의 블루투스연결 연결성으로서의 lorawanConnectivity } }알겠습니다. 이 모든 작업을 무엇을 위해 합니까?
이제 TRACI 장치와 유사한 기능을 가진 다른 제조업체의 장치를 사용하려고 한다고 가정해 보겠습니다. 우리는 이미 TRACI 장치를 통합하는 IoT 솔루션을 만들었으며 다른 제조업체의 장치와 작동하도록 시스템을 리팩토링하는 것은 큰 고통이 될 것입니다.
기능 블록과 데이터 유형이 이미 정의되어 있으므로 TRACI 모델과 동일한 기능 블록을 사용하는 새 장치에 대한 새 정보 모델을 정의할 수 있습니다.
TRACI 모델을 NimbeLink의 NL-AT2VS라는 비슷한 기능을 가진 제품과 비교해 보겠습니다.
네임스페이스 com.nimbelink.nl 버전 1.0.0 표시 이름 "NLAT2VS" 설명 "NLAT2VS용 정보 모델" org.eclipse.vorto.Geolocation 사용; 1.0.0 org.eclipse.vorto.Battery 사용; 1.0.0 org.eclipse.vorto.Connectivity 사용; 1.0.0 org.eclipse.vorto.Temperature 사용; 1.0.0 org.eclipse.vorto.Humidity 사용; 1.0.0 org.eclipse.vorto.Acceleration 사용; 1.0.0 정보 모델 NLAT2VS { 기능 블록 { 배터리로 배터리 가속도로서의 가속도 지리적 위치로서의 위치 온도로서의 온도 습도로서의 습도 연결로서의 wifiConnectivity 연결로서의 cellularConnectivity } }이 모델에서는 연결 모듈도 다르지만 여전히 추상 연결 기능 블록을 사용하고 있음을 알 수 있습니다. 추상화를 통해 많은 통합 오버헤드 없이 유사한 기능을 가진 다른 장치를 교체하거나 결합할 수 있습니다.
IoT 솔루션의 제조, 통합 및 개발과 관련된 엔터티의 다양성을 고려할 때 Eclipse Vorto의 가장 큰 이점을 얻을 수 있는 엔터티는 다음과 같습니다.
Eclipse Vorto는 장치 제조업체가 기존 인프라의 다른 장치와 상호 운용성을 가능하게 하는 데 도움이 될 수 있습니다. 유연성은 통합할 장치를 선택할 때 고객에게 큰 이점입니다.
기술 독립적인 정보 모델을 사용하여 장치 제조업체는 모든 종류의 대상 플랫폼에 대한 구현 방법을 생성하는 오버헤드를 방지합니다. 이렇게 하면 코드 생성기를 사용하여 구체적인 통합으로 변환할 수 있는 정보 모델을 게시하여 비용과 시간을 절약할 수 있습니다.
Eclipse Vorto 사용의 가장 큰 장점은 장치 프로토콜 레이어의 추가 진화가 장치 컨트롤러 로직에서 분리된다는 것입니다.
출처:Eclipse VortoIoT 플랫폼은 다양한 제조업체의 다양한 IoT 장치를 연결하고 다양한 프로토콜과 형식을 모두 지원해야 합니다. Eclipse Vorto의 코드 생성기를 사용하면 부분 또는 전체 소스 코드 생성을 통해 이러한 노력을 크게 줄일 수 있습니다.
또한 Vorto Repository는 플랫폼이 장치 기능을 JSON 스키마로 검색할 수 있도록 하는 런타임 저장소 역할을 합니다. 그런 다음 이러한 스키마를 디지털 트윈에서 해석 및 검증하거나 통신용 커넥터를 부트스트랩하는 데 사용할 수 있습니다.
이는 초기 개발 작업의 증가를 의미하지만 방대한 양의 장치와 IoT의 성장을 고려할 때 시간이 지남에 따라 보상을 받을 것입니다.
연결된 장치와 스마트 센서를 IoT 솔루션에 통합할 때 개발자는 다양한 장치 API를 다루어야 하므로 엄청난 코딩 오버헤드가 발생합니다. Eclipse Vorto는 장치 통합을 단순화하는 일반 코드 스텁을 제공하는 코드 생성기를 제공하여 관련된 개발 작업의 양을 줄일 수 있습니다.
출처:Eclipse Vorto장치에 대한 상호 운용성을 보장하고 인터페이스를 조화시킴으로써 Eclipse Vorto는 장치 제조업체, IoT 플랫폼 운영자 및 애플리케이션 개발자가 IoT 장치를 사용하는 방식을 변경할 수 있는 잠재력을 가지고 있습니다.
제조업체의 개발 작업을 줄이고 플랫폼 제공업체 및 통합업체의 장치 통합을 용이하게 하는 동시에 IoT 개발의 언급된 많은 과제를 해결할 수 있습니다.
프로젝트에 대해 더 자세히 알고 싶다면 GitHub 저장소를 확인하고 별표를 주세요.
시도할 수도 있습니다. Vorto Repository에서 제공되는 장치 생성, 통합 및 시각화를 위한 정교한 자습서를 사용하십시오.
사물 인터넷 기술
기업은 이미 사물 인터넷(IoT)의 실시간 정보를 활용하고 있습니다. DataStax의 엔터프라이즈 설계자이자 전략 비즈니스 고문인 Patrick Callaghan은 5G가 스트리밍되면서 말합니다. , 수십억 개의 IoT 장치에서 발생하는 데이터의 양이 폭발적으로 증가할 것입니다. 유연하고 빠른 속도로 데이터를 통합하는 데 적합한 아키텍처를 구축하는 기업은 경쟁 우위를 확보하게 될 것입니다. Gartner에 따르면 2020년까지 약 200억 개의 사물이 인터넷에 연결될 것입니다. , 모두 전례 없는 양의 데이터를 분출합니다. 동시
회사 네트워크에 자주 연결되는 직원용 가정용 기기는 전염병 기간 동안 IoT 취약성의 원인이었습니다. 올 여름에 발표된 보고서는 IoT 취약성의 위협이 증가하고 있음을 보여줍니다. 보고서에 따르면 IoT 장치에 대한 공격은 지난 2년 동안 700% 증가했습니다. 더 많은 기업이 IoT 기능을 채택함에 따라 조직과 소비자를 사이버 공격으로부터 안전하게 보호하기 위해 보안 우선 프로토콜을 채택해야 합니다. 투자 증가에도 불구하고 증가하는 IoT 취약성 IoT 공격에 대한 회사의 연례 연구인 Zscaler ThreatLabz 보고서