工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduino、Yaler、IFTTTを使用したIoTゲージ

コンポーネントと消耗品

>
Arduino Yun
× 1
サーボ(Tower Pro MG996R)
× 1
M3のナットとボルト
× 3
4mm合板
× 1

必要なツールとマシン

レーザーカッター
ホットグルーガン
AndroidまたはiOSフォン

アプリとオンラインサービス

>
IFTTTMakerサービス

このプロジェクトについて

<図>

(http://www.instructables.com/id/IoT-Gauge-with-Arduino-Yaler-IFTTT/から)

REST APIを使用してWeb対応のArduinoベースのIoTゲージを構築し、Yaler.netリレーサービス*を介してIFTTT.comマッシュアッププラットフォームに接続する方法。

これについて何がエキサイティングですか? Maker Channelを使用すると、IFTTTはカスタムWebhookをサポートして、DIYIoTプロジェクトを統合します。 2011年からそれを待っていました**。

DIYのモノのインターネットの古典であるWhereDialに触発された、IoTゲージは、所有者の現在の場所を示します。ハリーポッターのウィーズリー時計に少し似ています。

IoTゲージの設計とコードは一般的であり、たとえば次のように表示するためにも使用できます。気象条件。ロジックはクラウドにあり、ゲージはAPIを備えた単なるサーボです。

乾杯、@ tamberg

ダウンロード(Uno用)

  • Yaler Arduinoライブラリ、YalerEthernetServer.zip
  • Arduino Unoコード、IoTGaugeWebService.ino

*)私はYalerの創設者です。

**) 別のマッシュアッププラットフォームであるZapier は、常にカスタムWebhookをサポートしていました。

ステップ1:IoTゲージのレーザー切断と組み立て

<図> <図> <図> <図>

部品の製造

  • IoTゲージの設計ファイルをダウンロードする
  • 4mm合板からデザインをレーザーカット
  • 場所の名前(または必要なもの)を刻印するか、ペンで追加します

IoTゲージの組み立て

  • Arduinoにイーサネットシールドを追加します(Uno用)
  • Arduinoをベースプレートにねじ込みます(向きに注意してください)
  • 大きなフェースプレートをサーボに追加し、次に小さなフェースプレートを追加します
  • ベースプレートを両方のフェースプレートに貼り付け、すべてが揃っていることを確認します
  • インジケーターをフェースプレートに接着し、適切な向きになっていることを確認します
  • ジャンパー線を使用して、サーボをArduino(またはシールド)のピン9、5V、およびGNDに接続します
  • 時計の針を追加します(後で調整します)

ステップ2:IoT GaugeWebサービスArduinoコードをアップロードする

<図>

シンプルなWebサービス

IoTゲージの制御は非常に簡単です。 Webサービス(またはREST API)は着信要求をリッスンし、それに応じてサーボ位置を設定します。 IoTゲージは単なる「ダム」サーボです。ロジックをクラウドに保持すると、後で「頭脳」を交換できます。場所の代わりに気象条件を表示します。

Arduinoへのリモートアクセス

IFTTTクラウドサービスにIoTゲージへのアクセスを提供するには、Arduino RESTAPIがWebからアクセス可能でアドレス可能である必要があります。専門家は、ファイアウォールまたはルーターに例外を追加できます。ただし、これは非常に面倒な場合があるため、リレーサービスを使用します*。

Arduino Unoのインストール(Yunについては、以下を参照)

  • https://yaler.net/arduinoに示すように、YalerEthernetServer.zipライブラリをインストールします
  • IoTGaugeWebService.ino ArduinoUnoコードをダウンロードする
  • 必ず一意のMACアドレスを使用してください
  • RELAY_DOMAIN を置き換えます リレードメインを使用します。(リレードメインを取得するには、Yaler.netで無料トライアルアカウントにサインアップしてください)
  • コードをArduinoUnoにアップロードします

Arduino Yunのインストール(Unoについては、上記を参照)

  • https://yaler.net/arduino-yun
  • に示すように、YalerTunnelをインストールし、Webアクセスを有効にします。
  • IoTGaugeMailboxApi.ino ArduinoYunコードをダウンロードする
  • コードをArduinoYunにアップロードします

YunコードがUnoコードと異なるのはなぜですか?

Yunは、メールボックスと呼ばれる組み込みのRESTAPIを提供します。このAPIにWebからアクセスできるようにするために、YalerTunnel Linuxデーモンを使用します(Unoとは異なり、SSL暗号化もサポートしています)。すでに存在するものに基づいて構築することで、コードを簡素化できます。

両方のプログラムを見て、自分で決めてください。 YunのメールボックスAPIは完全ではありませんが(GETで値を変更できるため、厳密にはRESTfulではありません)、YunのLinux側で実行されるスクリプトに基づいており、Arduino側の貴重なメモリの使用量が少なくなっています。

*)リレーサービスの使用に満足できない場合は、リレーサービスを削除して、(Unoの場合は)ローカルサーバーのコメントを解除してください。

ステップ3:Curlを使用したArduinoWebサービスのテスト

<図>

コンピューターにCurlコマンドラインツールをインストールする

  • http://curl.haxx.se/からCurlをダウンロードしてインストールします
  • コンピューターでシェルを開き、 $ curl -v http://google.com/ を使用してCurlをテストします。

Arduino Yun APIの有効化(Unoをスキップ)

  • Yunに電力を供給し、少し待ってから、http://arduino.local/にアクセスします
  • ログインして設定をクリックします
  • 下にスクロールして、RESTAPIアクセスを開くに設定します
  • [構成して再起動]をクリックします

Curlを使用したIoTゲージのテスト

  • Arduinoに電源が入っていてインターネットに接続されていることを確認してください
  • * $ curl -vX POST http://RELAY_DOMAIN.try.yaler.io/mailbox/pos/3 <を使用して、サーボ位置を3(または1から5までの他の位置)に設定します。 / em> RELAY_DOMAIN を置き換えます 以前に使用したリレードメインを使用)
  • サーボが手を希望の位置に動かしたことを確認します(必要に応じて手を調整します)
  • 200 のようなものを取得するようにしてください OK カールコールへの応答として
  • 504 を取得した場合 Arduinoがオンラインでないか、タイプミスがあります

APIをCurlでテストする必要があるのはなぜですか?

Curlは標準のHTTPクライアントです。お使いのブラウザはGETリクエストをテストするのに最適であり、PUTおよびPOSTリクエストもテストするためのオンラインツールがあります。ただし、リダイレクトに従うなど、ブラウザが魔法を追加することがあります。したがって、IFTTTから送信されたような基本的なクライアントまたはサードパーティのWebhook呼び出しがWebサービスAPIにアクセスできることを確認したい場合は、Curlが最適です。

*)Unoの場合、リクエストを解析するコードは非常に寛容であるため、POST / mailbox / pos / 3はPUT / servo?pos =3と同様に機能します。

ステップ4:ArduinoをIFTTTMakerチャンネルに接続する

<図> <図> <図>

新しいIFTTTレシピを作成する(またはスキップして既存のレシピを追加する)

IFTTを使用すると、トリガーをアクションに接続するレシピを作成できます。

  • https://ifttt.com/myrecipes/personal/newにアクセスします(まだ登録していない場合は登録してください)
  • トリガーチャネルを選択するには、たとえば、 「Androidデバイス」または「iOSロケーション」を選択し、チャンネルアイコンを選択します
  • 次に、トリガーを選択します。 特定のWiFiネットワークに接続します (Androidの場合)
  • ネットワーク名または場所を入力してください
  • アクションチャンネルを選択するときは、メーカーを検索してください チャンネルを選択して選択します
  • 次に、アクションを選択します Webリクエストを作成します
  • URLを入力します http://REAY_DOMAIN.try.yaler.io/mailbox/pos/3 RELAY_DOMAIN を置き換えます 以前に使用したリレードメインを使用)
  • [方法]で[ P ]を選択します OST
  • コンテンツタイプとして、 application / x-www-form-urlencoded を選択します。
  • 本体は空のままにしておくことができます

既存のIFTTTレシピを追加する

IFTTTを使用すると、ユーザーはレシピを公開できます。 IoTゲージを制御するための2つのレシピは次のとおりです。

  • ここで「AndroidWiFiの場所からのIoTゲージの位置」レシピを開きます
  • または「iOSロケーションからのIoTゲージの位置」レシピはこちら
  • または「IoTGauge」レシピを検索*します。https://ifttt.com/recipes/search?q =IoT + Gauge
  • レシピのインスタンスをレシピに追加するには、追加をクリックします ボタン
  • WiFiネットワークの名前または場所(またはレシピで要求されるもの)を入力します
  • RELAY_DOMAIN を置き換えます 以前に使用したリレードメインのURLで
  • URLのposパラメータを1から5に調整して、現在地に一致させます
  • 場所ごとにレシピの別のインスタンスを追加します

*)IFTTTはまだMakerチャンネルレシピを検索結果に追加していないようです

ステップ5:IoTゲージ用のIFTTT実行ボタンを作成する

<図>

IFTTTDoアプリ

IFTTTは Do も提供します iOSおよびAndroid用のアプリ。アプリでは、手動でアクションをトリガーできます。これは、他のIFTTTレシピをテストするのに最適です。

通常のIFTTTレシピとは異なり、Do appレシピは(まだ?)共有したり公開したりすることはできません。したがって、最初から作成する必要があります。

新しいIFTTTDoボタンの作成

  • https://ifttt.com/products/do/buttonでDoButtonAndroidまたはiPhoneアプリを入手してください
  • やや煩わしいが必須の(?)イントロ画面を操作する
  • 右下の小さなアイコンを使用して、レシピのリストを表示します
  • 標識をタップしてから、チャンネルをタップします メーカーを検索します チャネル
  • 次に、アクションを選択します Webリクエストを作成します
  • URLを入力します http://REAY_DOMAIN.try.yaler.io/mailbox/pos/3 RELAY_DOMAIN を置き換えます 以前に使用したリレードメインを使用)
  • メソッドの場合 POST を選択します
  • コンテンツタイプの場合 application / x-www-form-urlencoded を選択します
  • 本体 空のままにすることができます
  • 追加をタップします ボタンを作成するには
  • 作成したレシピは、https://ifttt.com/myrecipes/doでオンラインで編集できます

以上です。お読みいただきありがとうございます。ご質問やご提案がございましたら、お気軽にお問い合わせください。

コード

Bitbucket

カスタムパーツとエンクロージャー

IoT_Gauge.zip

回路図


製造プロセス

  1. Arduinoを使用したDIYの最もシンプルなIV9Numitron時計
  2. MPU-6050を搭載したArduinoジャイロスコープゲーム
  3. IoTとAIで水生生物を救い、水質汚染と戦う
  4. MotionSense
  5. ロータリーエンコーダー付きDIYシンプル測定ホイール
  6. Arduinoの反発電磁浮上
  7. Arduino Powered Weather Balloon Datalogger
  8. ArduFarmBot-パート2:リモートステーションとIoTの実装
  9. シングルLEDマトリックスArduinoフリップクロック
  10. マイクロコントローラーラボ
  11. ArduinoNanoを搭載したハンドヘルドガイガーカウンター