- APIとは何ですか?どのように役立ちますか?
- 1. OpenHAB REST API
- 2. Mozilla Web Things API
- 3. OpenWeatherMap
- 4. EmonCMS API
- 6. Adafruit IO API
- 7.ホームアシスタントAPI
- 8.シングスネットワークAPI
- 9. ThingSpeak.io REST API
- 10. EdgeX Foundry
今日の接続された世界では、モノのインターネット(IoT)は、専門家によって投げかけられる流行語ではなくなりました。それは本当です!!そして、私たちの周りにあり、人生を変え、より良いサービスを促進し、プロセスを改善し、新しい機会を提供し、収益を増やしています。
まだインターネットに接続されていない何十億もの新しいデバイスがあるため、IoTの影響は、これらのデバイスによって提供されるデータを活用して社会的および商業的成長を達成することにより、IoTデバイス自体を超えて他のいくつかのアプリケーションに確実にもたらされます。IoTソリューションが導入されていない今日のほとんどの組織は、APIを使用して他の人が導入したデバイスによって生成されたデータにアクセスすることで、IoTソリューションのメリットを享受できるため、これはすでに起こっています。
APIとは何ですか?どのように役立ちますか?
頭字語APIはApplicationProgramming Interfaceの略で、これらは新しいものではなく、IoTに限定されており、ソフトウェア開発で長い間使用されてきました。 APIは、さまざまなサービスを製品に簡単に統合できるようにし、ある言語で記述されたアプリケーションを別の言語で記述されたソフトウェアで使用できるようにし、インフラストラクチャ全体と製品開発に必要な時間を削減します。これらの同じ利点が現在IoTアプリケーションに移されており、さまざまなアプリケーションでAPIを使用してデータを公開し、複数のデバイスを組み合わせて接続して、新しく興味深いワークフローを解決し、IoTに関する目に見えない可能性を明らかにしています。
新しいサービス(Spotifyなど)にサインアップするとき、「Gmailを使用してサインインする」や「Facebookを使用してサインインする」などのオプションに出くわすことがよくあります。これらは、サインアップ手順を簡単にするためにGoogle / FacebookがSpotifyに提供するAPIに他なりません。ここで、APIは名前、電子メールID、電話番号などの基本的なユーザーの詳細をSpotifyと共有し、サインアップ手順の時間を節約するのに役立ちます。同様に、さまざまなアプリケーションのニーズに応じてさまざまなAPIを利用できます。
ソフトウェアの場合と同様に、さまざまなタスクに使用できるIoT APIがいくつかありますが、それらのほとんどは通常無料ではありません。今日のチュートリアルでは、開発コストと時間を削減するのに役立つ、非常に便利な(私たちの意見では)オープンソースIoTAPIのトップ10を見ていきます。これらのAPIはオープンで無料(または無料のパッケージ)であり、専門家だけでなく、メーカー、愛好家、そしてそれらが便利で利用規約に問題がない人なら誰でも使用できます。これらのAPIは特定の順序でリストされておらず、垂直市場全体でランダムに選択されており、さまざまなタスクを実行するため、おそらく比較できません。
1. OpenHAB REST API
オープンホームオートメーションバス(openHAB)は、テクノロジーに依存しないオープンソースのホームオートメーションプラットフォームであり、スマートデバイスと「それほどスマートではない」ホームデバイスを1か所で接続および制御するのに役立ちます。これにより、ユーザー定義の情報とユーザー定義のツールを使用して、デバイスによるユーザー定義のアクションを実行できます。これを実現するために、openHABは、openHAB REST APIを介してアクセスできる特定の機能と操作をセグメント化し、区分化します。
ユーザーは、openHAB REST APIを介して、プラットフォームに関連付けられているすべてのデバイス、デバイス自体(モノ)、およびバインディングのデータにアクセスできます。また、コマンドとアクションを発行して、openHABに接続されているデバイスの状態、動作、またはプロパティを変更できます。 。APIとの相互作用は、HTTPプロトコルに基づいています。そのため、作業するときは安全で安全な接続を確保することが重要です。openHABのWebサイトによると、openHAB RESTAPIを介して可能な対話には次のものがあります。
- 外部アプリケーションからopenHABデータを取得する
- 外部アプリケーション(一部のモーションディテクターや監視カメラなど)からopenHABにデータを挿入し、イベントをトリガーします
- openHABバインディング/モノまたはアイテムを検査し、現在の状態、パラメーター、または問題について学習します
- 他のプログラムからのopenHABとの相互作用; 多くのプログラミング言語と自動化ツールは、RESTAPIを簡単に利用できます。
- Taskerなどの携帯電話でサードパーティのソフトウェアを使用してガレージのドアを開ける
APIの使用に関するドキュメント、その他の例、および詳細な手順は、OpenHABのWebサイトにあります。
openHABで使用されているTaskerのようなサードパーティのアプリは、APIがIoTの経済性をどのように開放しているかを示す大きな指針であり、チェーンに沿って付加価値を生み出す機会を提供します。
2. Mozilla Web Things API
Mozillaは、無料でオープンなWebを守ることを使命とする非営利団体であり、Web Things APIは、Webへの参加をIoTにまで拡大する取り組みを表しています。Web Things Webサイトによると、Web Things APIを使用すると、ユーザーはWorld Wide Web上の接続されたすべてのデバイスに一意のURLを提供でき、すべてのIoTデバイスの統合アプリケーション層として使用できます。
Web Things APIは、他のほとんどのIoT APIと同様に、RESTに基づいており、ユーザーは次のことができます。デバイスのプロパティにアクセスし、各デバイスの現在の状態を判別し、コマンドを発行してデバイスの状態を変更したり、アクションを実行したりします。WebThings APIを使用すると、各リソースがURLを使用して個別に参照されるため、デバイスの各側面を表すリソースに簡単にアクセスできます。詳細については、Mozilla IoTWebサイトを参照してください。
3. OpenWeatherMap
OpenWeatherMapは、現在の天気、予報、履歴データなどの天気関連データ(温度、湿度、降雨量など)へのアクセスを、Webサービス、モバイル、最近ではIoTアプリケーションの開発者に提供するWebベースのサービスです。OpenWeatherMapを介して利用できるデータは、DIY気象観測所から気象放送サービス、空港気象観測所、およびその他のいくつかのソースに至るまでのソースから供給されています。Openweather MapをArduinoで使用して、ESP8266を使用してインターネットから気象データを読み取る方法についてはすでに説明しました。
データは、OpenWeatherMap APIを介して、これらのデータを活用してタスクに情報を提供し、自動化するIoTソリューションを構築できるように処理および並べ替えられます。たとえば、APIを介した予測データを警報システム/デバイスに入力して、他のいくつかの可能性の中でも特に豪雨の可能性について農家に警告することができます。
OpenWeatherMapのほとんどの機能は有料ですが、無料のパッケージには非常に便利な機能があり、ほとんどのIoTプロジェクトに十分に対応できます。APIに関するドキュメントやその他の詳細は、openWeatherMapのWebサイトにあります。
4. EmonCMS API
EmonCMSは、データを処理、ログ記録、視覚化するための強力なオープンソースWebアプリです。これは、名前が示すように、環境データを分析することによってオープンソースのエネルギー監視デバイスを容易にするためのOpenEnergyMonitorグループの努力の成果です。これは本質的に、複数のエネルギー監視からのデータが含まれるデータ視覚化ツールです。センサーを表示できます。開発者がプラットフォームに簡単にアクセスできるようにするために、ローカルホスト(LAN)またはインターネット経由で実行しているときにプラットフォームと対話できるようにする接続APIが作成されました。EmonCMS APIを使用すると、ユーザーはプラットフォーム上のエネルギーデバイスのステータスを更新し、他のいくつかの機能とともに、プラットフォームからデバイスの状態を示す読み取り値やその他のパラメーターを取得できます(デバイスに互換性がある場合)。
次のエネルギーベースのIoTソリューションにデータの視覚化を追加したいとお考えですか?EmonCMSはまさにあなたが必要とするものかもしれません。プラットフォームとAPIの詳細については、同社のWebサイトを参照してください。
5.パーティクルAPI
Particle APIは、開発者がプラットフォームを簡単に操作できるようにするために、Particleによって開発されたアプリケーションプログラミングインターフェイスです。Particle.IOは、業界の真のエンドツーエンドIoTソリューションプロバイダーの1つであり、デバイスハードウェア、セルラー通信、デバイスクラウド、およびアプリケーションインターフェイスを提供します。以前、ホームオートメーションの目的でRaspberryPiでParticleCloudを使用しました。
Particle APIを使用すると、開発者は、Particleの全機能に簡単にアクセスして、他のアプリケーションやデバイスと統合できます。パーティクルによると、APIを使用すると、開発者はデバイスのファームウェアに関数を記述し、それらを呼び出して、アプリケーション側でリアルタイムに使用できます。APIメソッドの例には、wifiのオンとオフの切り替え、デバイスの接続、デバイスの状態の切り替え、データの取得、および一般的なデバイスの管理が含まれます。
APIに関するドキュメントやその他の詳細は、 ParticleIOのWebサイトにあります。
6. Adafruit IO API
Adafruitは、DIYエレクトロニクスの世界で最も人気のあるブランドのひとつであり、しばらく前にIoTソリューション向けのAdafruit IOプラットフォームを立ち上げるという彼らの決定は、メーカー/エレクトロニクス愛好家のコミュニティから好評を博しました。それ以来、プラットフォームは成長を続けており、私を含む多くのメーカーにサービスを提供してきました。 Adafruit IOプラットフォームは、本質的には、とりわけデータ視覚化機能を備えたデバイスクラウドであり、すべてAdafruit IOAPIによって駆動されます。 PICやESPやRaspberryPiなどの他の開発プラットフォームでもAdafruitIOをすでに使用しています。
Adafruitによると、Adafruit IO HTTP APIは、HTTPを話すことができる任意のプログラミング言語またはハードウェア環境からAdafruitIOデータへのアクセスをユーザーに提供します。これにより、データに基づいてアクションを実行し、デバイスに情報を送信することでデバイスに変更を加えるシステムを設計できます。
Adafruit IOプラットフォームは、最も使いやすいプラットフォームの1つであり、DIYIoTプロジェクトで私のお気に入りの1つです。ドキュメントと詳細については、AdafruitIOのWebサイトを参照してください。
7.ホームアシスタントAPI
Home Assistantは、openHABに似た、コミュニティ主導のオープンソースのホームオートメーションシステムです。他のプラットフォームと同様に、Home Assistantは、HomeAssistant制御サービスのデータメソッドへのアクセスを提供するHomeAssistant Python RESTAPIによって駆動されます。
これにより、ユーザーは構成の編集、Home Assistantインスタンスに関する基本情報の返却、ブートストラップに必要なすべてのデータの返却、イベントオブジェクトの配列の返却などを行うことができます。APIは、イベント名、リスナー数などを含むJSONエンコードされたオブジェクトのみを受け入れて返します。これはPython3に基づいており、登録がWeb経由で行われたかモバイルアプリ経由で行われたかに関係なく、登録されたすべてのホームデバイスを簡単に追跡および制御するのに役立ちます。APIのドキュメントと詳細については、HomeAssistantのWebサイトを参照してください。
8.シングスネットワークAPI
LoRaは、他の機能の中でも特に長距離で低消費電力であるため、選択される通信チャネルの1つになりつつあります。 Things Network(TTN)は、オープンソースのコミュニティ主導の取り組みであり、グローバルなオープンLoRaWANネットワークを構築して、LoRaベースのIoTソリューションの開発を促進するオープンインフラストラクチャを作成します。そのため、TTNは、一連のオープンツールと、最大のセキュリティとスケーラビリティを備えたグローバルなオープンネットワークを提供します。 Loraを初めて使用する場合は、LoRaとLoRaWANの概要に関する詳細な記事を参照してください。
TTNプラットフォームとの相互作用は、2つの主要なAPIによって駆動されます。TTNデータAPIとTTNアプリケーションマネージャーAPI。Data APIを使用すると、デバイスからイベントやメッセージを受信したり、デバイスにメッセージを送信したりできます。通常、デバイスと情報を交換します。一方、Application Manager APIは、アプリケーション、ゲートウェイ、およびデバイスを管理するために使用されます。Data APIはMQTTプロトコルに基づいており、SDKを介して、またはMQTTを使用して直接開発に使用できますが、Application ManagerAPIはHTTPプロトコルに基づいています。これらのAPIの詳細については、The ThingsNetworkのWebサイトを参照してください。
9. ThingSpeak.io REST API
ThingSpeakは、IoTデバイス向けの最上位のオープンソースクラウドプラットフォームの1つと見なされています。これは、特に数年前にMathworksに買収された後、MATLABと統合されているため、デバイスからのデータを処理するための最良のプラットフォームの1つです。これにより、ユーザーはMATLABを使用してデータをアップロード、集約、分析、および視覚化できます。MATLABソフトウェアを個別に取得する必要はありません。上記のすべては、ThingSpeakAPIの使用を容易にします。上記の他のほとんどのAPIと同様に、ThingSpeakAPIではユーザーが使用できます。センサーデータの収集と保存、接続されたデバイスのデータと現在の状態の取得、データに基づくイベントの自動化、IoTデバイスの状態に基づくトリガーの設定、Twitterなどのソーシャルメディアプラットフォームとの統合などの機能があります。ThingSpeakの詳細については、ThingSpeakがArduino、Raspberry PI、ESPなどのさまざまなマイクロコントローラーで使用されてきた以前のIoTプロジェクトを確認してください。
- ArduinoとThingSpeakを使用したインターネット経由のライブ温度と湿度の監視
- ArduinoとThingSpeakを使用したインターネット経由の心拍数モニタリング
- Raspberry Pi Weather Station:インターネットを介した湿度、温度、圧力の監視
- ESP8266とArduinoを使用したIoTベースの患者監視システム
APIを使用する利点に自動的に変換されるThingSpeakの機能のいくつかは次のとおりです。
- 標準のIoTプラットフォームを使用してThingSpeakプラットフォームにデータを送信するための簡単なデバイス構成。
- サードパーティのソースを使用したセンサーデータとデータ集約のリアルタイム視覚化。
- IoT分析は、スケジュールまたはイベントに基づいて実行されます。
- MATLAB分析、RESTfulおよびMQTTAPI。
- サーバーのセットアップやWebソフトウェアのインストールなしで、IoTシステムのプロトタイピングと構築を可能にします。
- ArduinoやRaspberryPiなどの一般的な開発プラットフォームとの互換性
- データに自動的に作用し、タスクを自動化します
- Twitterなどのサードパーティサービスとの統合。これが役立つ状況の良い例は、水位を自動的にツイートするIoTソリューションです。
無料のホストAPIに加えて、ThingSpeak APIはオープンソースであり、GitHubでプライベートサーバーにダウンロードできます。
10. EdgeX Foundry
EdgeX Foundryは、オープンソース構成に基づくIoTプラットフォームのオープンソースエコシステムです。EdgeX Foundry APIは、クライアントの登録、スケジューリング、ロギングなどのサービスにいくつかのエンドポイントを提供します。APIにはRESTアーキテクチャがあり、認証にOAuth2.0を使用します。Edgexには、ネットワークに接続された各デバイスに接続された一連のマイクロサービスがあります。
各マイクロサービスには、以下に使用できるいくつかの重要なAPI呼び出しがあります。
- デバイスサービスを登録する
- デバイスのプロビジョニング
- デバイスからEdgexプラットフォームにデータを送信します。
- 他のアプリケーションで使用するためにEdgexプラットフォームからデータを読み取る
- とりわけ、データのエクスポート。
APIのドキュメントと詳細については、EdgeXFoundryのWebサイトを参照してください。
それが私のリストです!ただし、このリストは、IoT-Plotterなどの他のAPIや、リストに追加できた可能性のある他のAPIが頭に浮かぶため、完全なものではありません。使用したOpenIoTAPIに関するコメントをお気軽にドロップしてください。あなたのコメントは、他の人がプロジェクトで使用するAPIまたはプラットフォームを選択するのに大いに役立つ可能性があります。
次回まで。