- API 란 무엇이며 어떻게 유용합니까?
- 1. OpenHAB REST API
- 2. Mozilla Web Things API
- 3. OpenWeatherMap
- 4. EmonCMS API
- 6. Adafruit IO API
- 7. 홈 어시스턴트 API
- 8. Things Network API
- 9. ThingSpeak.io REST API
- 10. EdgeX 파운드리
오늘날의 연결된 세상에서 씬 인터넷 (IoT)은 더 이상 전문가들이 던지는 유행어가 아닙니다. 이건 정말이야!! 그리고 삶을 바꾸고, 더 나은 서비스를 촉진하고, 프로세스를 개선하고, 새로운 기회를 제공하고, 수익을 늘리는 등 우리 주변의 모든 곳에서 찾을 수 있습니다.
아직 인터넷에 연결되지 않은 수십억 개의 새로운 장치로 인해 IoT의 영향은 이러한 장치가 제공하는 데이터를 활용하여 사회적 및 상업적 성장을 달성함으로써 IoT 장치 자체를 넘어 여러 다른 응용 프로그램에 확실히 영향을 미칠 것입니다. 이는 IoT 솔루션이 배포되지 않은 오늘날 대부분의 조직이 API를 사용하여 다른 사람이 배포 한 장치에서 생성 된 데이터에 액세스함으로써 여전히 이점을 얻을 수 있기 때문에 이미 일어나고 있습니다.
API 란 무엇이며 어떻게 유용합니까?
두문자어 API는 Application Programming Interface의 약자이며 새로운 것이 아니며 IoT에 국한되어 오랫동안 소프트웨어 개발에 사용되었습니다. API 는 다양한 서비스를 제품에 쉽게 통합 할 수 있도록하여 한 언어로 작성된 애플리케이션을 다른 언어로 작성된 소프트웨어에서 사용할 수 있도록하여 전체 인프라 및 제품 개발에 필요한 시간을 줄여줍니다. 이러한 동일한 이점은 현재 다양한 애플리케이션에서 API를 사용하여 IoT 애플리케이션으로 이전되어 여러 장치를 결합하고 연결하여 새롭고 흥미로운 워크 플로를 해결하고 IoT에 대한 보이지 않는 가능성을 드러내는 데이터를 노출합니다.
새로운 서비스 (예: Spotify)에 가입 할 때 일반적으로 "Gmail을 사용하여 로그인"또는 "Facebook을 사용하여 로그인" 과 같은 옵션을 접했을 것 입니다. 이들은 가입 절차를 쉽게하기 위해 Google / Facebook에서 Spotify에 제공하는 API 일뿐입니다. 여기서 API는 이름, 이메일 ID, 전화 번호 등과 같은 기본 사용자 세부 정보를 Spotify와 공유하고 가입 절차를 통해 시간을 절약 할 수 있도록 도와줍니다. 마찬가지로 다양한 애플리케이션 요구 사항에 따라 다양한 API를 사용할 수 있습니다.
소프트웨어와 마찬가지로 다양한 작업에 사용할 수있는 여러 IoT API가 있지만 대부분은 일반적으로 무료로 제공되지 않습니다. 오늘의 튜토리얼에서는 개발 비용과 시간을 줄이는 데 도움이 되는 매우 유용한 (우리의 의견으로는) 오픈 소스 IoT API 상위 10 개를 살펴 보겠습니다. 이러한 API는 개방형이며 무료 (또는 무료 패키지 포함)이며 전문가뿐만 아니라 제작자, 애호가 및 유용하다고 생각하고 사용 약관에 동의하는 거의 모든 사람이 사용할 수 있습니다. 이러한 API는 특정 순서없이 나열되고 카테고리에서 무작위로 선택되었으며 다른 작업을 수행하기 때문에 비교할 수 없을 것입니다.
1. OpenHAB REST API
OpenHAB (Open Home Automation Bus)는 스마트 장치 와 "그렇지 않은"가정용 장치를 한 곳에서 연결하고 제어 하는 데 도움이되는 오픈 소스, 기술에 구애받지 않는 홈 자동화 플랫폼입니다. 사용자 정의 정보 및 사용자 정의 도구를 사용하여 장치별로 사용자 정의 작업을 수행 할 수 있습니다. 이를 달성하기 위해 openHAB는 openHAB REST API를 통해 액세스 할 수있는 특정 기능과 작업을 분류하고 구획화합니다.
openHAB REST API를 통해 사용자는 플랫폼과 관련된 모든 장치의 데이터, 장치 자체 (사물) 및 바인딩에 액세스 할 수있을뿐만 아니라 openHAB에 연결된 장치의 상태, 동작 또는 속성을 변경하는 명령과 작업을 실행할 수 있습니다.. API와의 상호 작용은 HTTP 프로토콜을 기반으로합니다. 따라서 작업시 안전하고 안전한 연결을 보장하는 것이 중요합니다. openHAB 웹 사이트에 따르면 openHAB REST API를 통해 가능한 상호 작용 중 일부는 다음과 같습니다.
- 외부 애플리케이션에서 openHAB 데이터 검색
- 외부 애플리케이션 (예: 일부 동작 감지기 또는 감시 카메라)에서 openHAB에 데이터를 주입하고 이벤트를 트리거합니다.
- openHAB 바인딩 / 사물 또는 항목을 검사하고 현재 상태, 매개 변수 또는 문제에 대해 알아 봅니다.
- 다른 프로그램의 openHAB와 상호 작용 많은 프로그래밍 언어와 자동화 도구가 REST API를 쉽게 사용할 수 있습니다.
- Tasker와 같은 휴대폰에서 타사 소프트웨어를 사용하여 차고 문 열기
API 사용에 대한 문서, 더 많은 예제 및 자세한 지침은 OpenHAB 웹 사이트 에서 찾을 수 있습니다.
openHAB와 함께 사용되는 Tasker와 같은 타사 앱은 API가 IoT 경제학을 어떻게 개방하여 체인을 따라 추가적인 가치 창출 기회를 제공하는지에 대한 큰 포인터입니다.
2. Mozilla Web Things API
Mozilla는 자유롭고 개방 된 웹을 방어한다는 사명을 가진 비영리 단체이며, 웹 사물 API는 웹 참여를 IoT로 확장하려는 노력을 나타냅니다. Web Things 웹 사이트에 따르면 Web Things API는 사용자가 World Wide Web에서 연결된 모든 장치 에 고유 한 URL 을 제공하여 모든 IoT 장치에 대한 통합 응용 프로그램 계층으로 사용할 수 있도록합니다.
대부분의 다른 IoT API와 마찬가지로 Web Things API는 REST를 기반으로하며 사용자가 다음을 수행 할 수 있습니다. 장치의 속성에 액세스하고, 각 장치의 현재 상태를 확인하고, 명령을 실행하여 장치의 상태를 변경하거나 작업을 수행합니다. WebThings API를 사용하면 각 리소스가 URL을 사용하여 독립적으로 참조되기 때문에 장치의 각 측면을 나타내는 리소스에 쉽게 액세스 할 수 있습니다. 더 많은 정보는 Mozilla IoT 웹 사이트에서 찾을 수 있습니다.
3. OpenWeatherMap
OpenWeatherMap은 웹 서비스, 모바일 및 최근 IoT 애플리케이션 개발자에게 현재 날씨, 예보 및 과거 데이터를 포함한 날씨 관련 데이터 (온도, 습도, 강우량 등)에 대한 액세스를 제공하는 웹 기반 서비스입니다. OpenWeatherMap을 통해 사용할 수있는 데이터는 DIY 기상 관측소에서 기상 방송 서비스, 공항 기상 관측소 및 기타 여러 소스에 이르기까지 다양한 소스에서 제공됩니다. ESP8266을 사용하여 인터넷에서 날씨 데이터를 읽기 위해 Arduino와 함께 Openweather Map을 사용하는 방법에 대해 이미 논의했습니다.
데이터는 OpenWeatherMap API를 통해 이러한 데이터를 활용하여 작업을 알리고 자동화하는 IoT 솔루션을 구축 할 수있는 방식으로 처리 및 정렬됩니다. 예를 들어, API를 통해 예측 데이터를 경보 시스템 / 장치에 입력하여 농민에게 여러 다른 가능성 중에서 폭우 가능성을 경고 할 수 있습니다.
OpenWeatherMap의 대부분의 기능은 유료이지만 무료 패키지에는 대부분의 IoT 프로젝트에 매우 잘 지원할 수있는 매우 유용한 기능이 있습니다. API에 대한 문서 및 기타 세부 정보는 openWeatherMap 웹 사이트 에서 찾을 수 있습니다 .
4. EmonCMS API
EmonCMS 는 데이터 처리, 로깅 및 시각화를 위한 강력한 오픈 소스 웹 앱입니다. 이름에서 알 수 있듯이 환경 데이터를 분석하여 오픈 소스 에너지 모니터링 장치를 용이하게하기위한 OpenEnergyMonitor 그룹의 노력의 산물입니다. 본질적으로 여러 에너지 모니터링 의 데이터 가있는 데이터 시각화 도구입니다.센서를 볼 수 있습니다. 개발자가 플랫폼에 쉽게 액세스 할 수 있도록 로컬 호스트 (LAN) 또는 인터넷을 통해 실행할 때 플랫폼과 상호 작용할 수 있도록 연결 API가 생성되었습니다. EmonCMS API를 사용하면 사용자가 플랫폼에서 에너지 장치의 상태를 업데이트하고 여러 다른 기능과 함께 플랫폼에서 장치 상태를 나타내는 판독 값 및 기타 매개 변수를 얻을 수 있습니다 (장치가 호환되는 경우).
차세대 에너지 기반 IoT 솔루션에 데이터 시각화를 추가하고 싶으십니까? EmonCMS가 필요한 것일 수 있습니다. 플랫폼 및 API에 대한 자세한 정보는 웹 사이트에서 찾을 수 있습니다.
5. 입자 API
Particle API는 개발자가 플랫폼에서 쉽게 작업 할 수 있도록 Particle에서 개발 한 애플리케이션 프로그래밍 인터페이스입니다. Particle.IO 는 디바이스 하드웨어, 셀룰러 통신, 디바이스 클라우드 및 애플리케이션 인터페이스를 제공하는 업계의 진정한 엔드-투-엔드 IoT 솔루션 제공 업체 중 하나입니다. 이전에는 가정 자동화 목적으로 입자 클라우드를 Raspberry Pi와 함께 사용했습니다.
Particle API를 사용하면 개발자가 Particle의 전체 기능에 쉽게 액세스하고 다른 응용 프로그램 및 장치와 통합 할 수 있습니다. 파티클에 따르면 API는 개발자가 장치의 펌웨어에 함수를 작성한 다음 실시간으로 사물의 애플리케이션 측에서 사용하기 위해 호출 할 수 있도록합니다. 일부 API 메소드의 예로는 Wi-Fi 끄기 및 켜기, 기기 연결, 기기 상태 전환, 데이터 획득 및 일반적으로 기기 관리가 있습니다.
API에 대한 문서 및 기타 세부 정보는 ParticleIO 웹 사이트 에서 찾을 수 있습니다.
6. Adafruit IO API
Adafruit는 DIY 전자 제품 세계에서 가장 인기있는 브랜드 중 하나이며 IoT 솔루션을위한 Adafruit IO 플랫폼 을 출시하기로 한 결정 은 제조업체 / 전자 애호가 커뮤니티에서 호평을 받았습니다. 플랫폼은 그 이후로 계속 성장해 왔으며 저를 포함한 많은 제작자에게 서비스를 제공했습니다. Adafruit IO 플랫폼은 기본적으로 Adafruit IO API에 의해 구동되는 데이터 시각화 기능이 있는 장치 클라우드입니다. 우리는 이미 Adafruit IO를 PIC 및 ESP 및 Raspberry Pi와 같은 기타 개발 플랫폼과 함께 사용했습니다.
Adafruit 에 따르면 Adafruit IO HTTP API는 사용자에게 HTTP를 말할 수있는 모든 프로그래밍 언어 또는 하드웨어 환경에서 Adafruit IO 데이터에 대한 액세스를 제공합니다. 이를 통해 데이터를 기반으로 조치를 취하고 장치에 정보를 전송하여 장치의 변화에 영향을 미치는 시스템을 설계 할 수 있습니다.
Adafruit IO 플랫폼은 작업하기 가장 쉬운 플랫폼 중 하나이며 DIY IoT 프로젝트에서 가장 좋아하는 플랫폼 중 하나입니다. 문서 및 자세한 내용은 Adafruit IO 웹 사이트에서 찾을 수 있습니다.
7. 홈 어시스턴트 API
Home Assistant는 openHAB와 유사한 커뮤니티 주도의 오픈 소스 홈 자동화 시스템 입니다. 다른 플랫폼과 마찬가지로 Home Assistant는 Home Assistant 제어 서비스를위한 데이터 메소드에 대한 액세스를 제공하는 Home Assistant Python REST API에 의해 구동됩니다.
이를 통해 사용자는 구성을 편집하고, Home Assistant 인스턴스에 대한 기본 정보를 반환하고, 부트 스트랩에 필요한 모든 데이터를 반환하고, 이벤트 개체 배열을 반환하는 등의 작업을 수행 할 수 있습니다. API는 이벤트 이름, 리스너 수 등이 포함 된 JSON 인코딩 된 객체 만 수락하고 반환합니다. Python 3을 기반으로하며 등록이 웹 또는 모바일 앱을 통해 수행되었는지 여부에 관계없이 등록 된 모든 가정용 장치를 손쉽게 추적하고 제어 할 수 있습니다. API에 대한 문서 및 자세한 내용은 Home Assistant 웹 사이트 에서 찾을 수 있습니다 .
8. Things Network API
LoRa는 다른 기능 중에서도 장거리, 저전력 소비로 인해 선택의 통신 채널 중 하나가되었습니다. Things Network (TTN)는 LoRa 기반 IoT 솔루션 의 개발을 촉진하기위한 개방형 인프라를 구축하기 위해 글로벌 개방형 LoRaWAN 네트워크를 구축하려는 오픈 소스 커뮤니티 주도 노력 입니다. 따라서 TTN은 최대 보안 및 확장 성을 갖춘 개방형 도구 세트와 글로벌 개방형 네트워크를 제공합니다. Lora를 처음 사용하는 경우 LoRa 및 LoRaWAN 소개에 대한 자세한 기사를 참조하십시오.
TTN 플랫폼과의 상호 작용은 두 가지 주요 API에 의해 주도됩니다. TTN 데이터 API 및 TTN 응용 프로그램 관리자 API. 데이터 API를 사용하면 장치에서 이벤트 및 메시지를 수신하고 장치로 메시지를 보낼 수 있으며 일반적으로 장치와 정보를 교환 할 수 있습니다. 반면에 Application Manager API는 응용 프로그램, 게이트웨이 및 장치를 관리하는 데 사용됩니다. Data API는 MQTT 프로토콜을 기반으로하며 SDK를 통해 개발에 사용하거나 MQTT와 직접 사용할 수 있으며 Application Manager API는 HTTP 프로토콜을 기반으로합니다. 이 API에 대한 자세한 내용은 The Things Network 웹 사이트에서 확인할 수 있습니다.
9. ThingSpeak.io REST API
ThingSpeak는 IoT 장치를위한 최고의 오픈 소스 클라우드 플랫폼 중 하나로 간주됩니다. 특히 몇 년 전 Mathworks에 인수 된 후 MATLAB과의 통합으로 인해 장치에서 데이터를 처리하는 데 가장 적합한 플랫폼 중 하나입니다. 사용자는 MATLAB을 사용하여 데이터 를 업로드, 집계, 분석 및 시각화 할 수 있습니다.MATLAB 소프트웨어를 별도로 획득 할 필요가 없습니다. 위의 모든 사항은 ThingSpeak API 사용을 용이하게합니다. 위에서 언급 한 대부분의 다른 API와 마찬가지로 ThingSpeak API는 사용자를 허용합니다. 센서 데이터를 수집 및 저장하고, 데이터 및 연결된 장치의 현재 상태를 검색하고, 데이터를 기반으로 이벤트를 자동화하고, IoT 장치의 상태를 기반으로 트리거를 설정하고, 다른 기능 중에서 트위터와 같은 소셜 미디어 플랫폼과 통합합니다. ThingSpeak에 대해 자세히 알아 보려면 ThingSpeak가 Arduino, Raspberry PI, ESP 등과 같은 다양한 마이크로 컨트롤러와 함께 사용 된 이전 IoT 프로젝트를 확인하십시오.
- Arduino 및 ThingSpeak를 사용하여 인터넷을 통한 실시간 온도 및 습도 모니터링
- Arduino 및 ThingSpeak를 사용하여 인터넷을 통한 심장 박동 모니터링
- Raspberry Pi 기상 관측소: 인터넷을 통한 습도, 온도 및 기압 모니터링
- ESP8266 및 Arduino를 사용한 IoT 기반 환자 모니터링 시스템
API 사용의 이점으로 자동 변환되는 ThingSpeak의 일부 기능은 다음과 같습니다.
- 표준 IoT 플랫폼을 사용하여 데이터를 ThingSpeak 플랫폼으로 전송하기위한 간편한 장치 구성.
- 타사 소스를 사용하여 센서 데이터 및 데이터 집계를 실시간으로 시각화 합니다.
- IoT 분석은 일정 또는 이벤트를 기반으로 실행됩니다.
- MATLAB 분석, RESTful 및 MQTT API.
- 서버 설정 및 웹 소프트웨어 설치없이 IoT 시스템의 프로토 타이핑 및 구축이 가능합니다.
- Arduino 및 Raspberry Pi와 같은 인기있는 개발 플랫폼과의 호환성
- 데이터에 대해 자동으로 작업하고 작업을 자동화합니다.
- Twitter와 같은 타사 서비스와의 통합. 이것이 유용한 상황의 좋은 예는 수위를 자동으로 트윗하는 IoT 솔루션입니다.
무료 호스팅 API 외에도 ThingSpeak API는 오픈 소스이며 GitHub에서 개인 서버에서 다운로드 할 수 있습니다.
10. EdgeX 파운드리
EdgeX Foundry는 오픈 소스 구성을 기반으로 하는 IoT 플랫폼 의 오픈 소스 에코 시스템입니다. EdgeX Foundry API는 클라이언트 등록, 스케줄링 및 로깅을 포함한 서비스를위한 여러 엔드 포인트를 제공 합니다. API에는 REST 아키텍처가 있으며 인증을 위해 OAuth 2.0을 사용합니다. Edgex에는 네트워크에 연결된 각 장치에 연결된 일련의 마이크로 서비스가 있습니다.
각 마이크로 서비스에는 사용할 수있는 몇 가지 중요한 API 호출이 있습니다.
- 장치 서비스 등록
- 장치 프로비저닝
- 장치에서 Edgex 플랫폼으로 데이터를 전송합니다.
- 다른 애플리케이션에서 사용하기 위해 Edgex 플랫폼에서 데이터 읽기
- 무엇보다도 데이터 내보내기.
API에 대한 문서 및 자세한 내용은 EdgeX Foundry 웹 사이트에서 찾을 수 있습니다.
그게 내 목록입니다! 그러나이 목록은 IoT-Plotter 와 같은 다른 API와 내가 목록에 추가 할 수 있었던 다른 API 가 떠오르 기 때문에 완전하지 않습니다. 작업 한 Open IoT API에 대한 의견을 자유롭게 남겨주세요. 귀하의 의견은 다른 사람들이 프로젝트에서 사용할 API 또는 플랫폼을 선택하는 데 큰 도움이 될 수 있습니다.
다음 시간까지.