推定時間: 15 分前提条件: Twilio アカウント Cloudinary アカウントThinged.io アカウント ThingRaspberry Pi RPi カメラこのチュートリアルでは、Raspberry Pi で写真を撮り、それを cloudinary にアップロードし、Twilio を使用して mms 経由で送信できる thinged.io パーツを作成する手順を説明します。
Thinged.io プラットフォームへの独自の拡張機能を構築できるように、最初の Thinged パーツの作成とそれらの構造化の考え方について説明します。0: Thinged で Raspberry Pi をセットアップします。
ioRaspberry Pi を見て写真を撮る写真を Cloudinary にアップロードするTwilio を使用して MMS を送信するまとめ必要なアカウントを作成し、すべての API キーとトークンを取得するTwilio と Cloudinary のアカウントを作成したら、それぞれのダッシュボードからアカウント ID とアクセス トークンを取得できます。 2. Python 前提条件を使用して Raspberry Pi をセットアップする: アカウントを作成したら、Cloudinary および Twilio と通信するための要件を Raspberry Pi にインストールする必要があります。 sudo apt-get install python3-pippip3 install --user cloudinarypip3 install --user twilioDone.
2. Raspberry Pi カメラを構成する raspi-config:sudo raspi-config を使用して Raspberry Pi カメラ モジュールを有効にします。[インターフェイス オプション] を選択し、次に [カメラ] を選択して有効にします。Raspberry Pi を再起動します。
カメラをテストします:raspistill -v -o test.jpg3. Raspberry Pi でスクリプトをテストすると、これらの写真を撮るために使用できる github gist が作成されました。
このスクリプトを Raspberry Pi にダウンロードし、次の変数を編集します:cloudinary_cloud_namecloudinary_api_keycloudinary_api_secrettwilio_account_sidtwilio_auth_tokentwilio_from_numberphone_number スクリプト自体は非常にシンプルで、デフォルトで Raspbian にインストールされている raspistill ライブラリを使用して、raspberry pi から写真を取得する take_photo(photo_name) といういくつかの小さな関数で構成されています。指定された名前の写真をアップロードする upload_photo_to_cloudinary(photo_file_name) 。Twilio を使用して写真を送信する send_mms(to, message, media_url) 。
4. Thingedの作成。 Python スクリプトが Cloudinary と Twilio のシン ラッパーであったように、Thinged はシェル コマンドのシン ラッパーです。
モノは、コマンド ライン コマンドで取得および設定できる単なる状態であるパーツで構成されます。 コマンドの返されたテキストは get パーツの基礎を形成し、プレースホルダーは set コマンドの引数にステップインするために使用されます。 作成しているパーツは次のようになります。そこにはさまざまなキーがたくさんありますが、心配しないでください。実際には非常に単純です。
以下のパラメーターを分類しました: humanName パーツを識別するために使用できるわかりやすい名前。description わかりやすい説明なので、それがどのように機能するかを理解し、他の詳細を追加できます。 partId をランダムに生成した文字列です。
io を使用してパーツを識別し、API で使用してそれに値を設定します。type input、output、または inputOutput のいずれかで、パーツを使用して Thing から状態を取得するか、Thing に状態を設定するか、またはそれらの組み合わせを使用するかを定義します。 2 つ (設定することはできますが、他の場所で変更される可能性があるため、読み取る必要があります)。 入力には getCommand が必要で、出力には setCommand が必要です。
setCommand 値を設定するときに起動されるコマンド。 ここでは、Python スクリプトを指しているだけです。 これに値を追加すると、API を介してコマンドを設定すると、どこでもパーツの値に置き換えられます。
Python スクリプトは、他の方法でラズベリー パイにロードする必要があります。valueType これは、数値、文字列、または状態にすることができます。 前述のように、Thinged は基本的にコマンド ライン コマンドのシン ラッパーであるため、すべてがコマンド ラインで文字列に変換されます。
valueType は、パーツの状態に関する詳細を表示する GUI にとって重要です。 ここで、valueType は状態であり、離散的な数の状態が存在し、値に列挙できることを意味します。 これにより、GUI は 2 つの状態部分に対してナイス ボタンを表示し、3 つ以上の状態部分に対してドロップダウンを表示できます。
states 各状態は、異なる個別の可能性を表します。 Thinged.io は値が変化したときにのみセットをトリガーするため、ここでは個別の状態は互いに複製されますが、値は異なります。
regexes コマンドの応答を前処理する入力または入力出力パーツに役立ちます。Web ポータルまたは API を使用して、このパーツを作成します。 そこからパーツを Thinged に追加すれば完了です。
まとめ: パーツを作成した場合、GUI では次のように表示されます: スクリプトを pi にロードした場合など。 io サービスが実行され、すべてが完了しました。 ボタンを押してください。
このチュートリアルでは、thinged.io の出力パーツを使用して、raspberry pi、cloudinary、twilio のアカウントと、それらをすべてまとめた 42 行の Python を備えたスパイ カメラを作成しました。 thinged に関するその他のチュートリアルにご期待ください。
Ioだ
深センTigerWongテクノロジー株式会社
電話:86 13717037584
メール: info@sztigerwong.com
住所: シリコン バレー パワー デジタル工業団地、ビル A2、1 階、No. 龍華区観蘭街大福路22号
中国広東省深セン