Blynk入門:シンプルなDIYIoTデバイス

Blynk入門:シンプルなDIYIoTデバイス

Blynk [Broken URL Removed]は、モノのインターネット(IoT)サービスであり、デバイスからのセンサーデータのリモートコントロールと読み取りを可能な限り迅速かつ簡単にするように設計されています。この記事では、Blynkとは何か、どのように機能するかを正確に説明し、NodeMCUおよびRaspberryPi開発ボードを使用したサービスのさまざまな使用法に関する2つの短いサンプルプロジェクトを提供します。





マイクロコントローラーを使用してスマートオブジェクトの開発を開始することはかつてないほど容易になり、IoTデバイスの人気は近年急速に高まっています。 ArduinoやRaspberryPiのような開発ボードを使用して、家の電源ソケットからモーション起動のクリスマスデコレーションまですべてを制御できます。





初心者にとって問題となる可能性のある領域の1つは、コーディングとネットワーキングです。 Blynkは、広範なコーディングの必要性を排除し、スマートフォンのどこからでもデバイスに簡単にアクセスできるようにすることを目的としています。愛好家や開発者は無料で使用できますが、有料で商用利用することもできます。企業はBlynkを使用して独自のアプリやシステムを作成し、独自のブランドで販売できます。





Blynkは、サービスを機能させるために独自のサーバーとライブラリを使用しますが、それが主な強みであると思われるのはBlynkアプリです。

Blynkアプリを入力してください

Blynkアプリは、AndroidとiOSで無料で利用できます。これはプロジェクトの開始点であり、IoTセットアップのカスタムコントロールを構築するための使いやすいドラッグアンドドロップシステムを備えています。ワークフローは高速です。新しいプロジェクトを開始すると、広範なリストから開発ボードを選択するように求められ、接続方法も選択されます。次に、アプリは、Blynkサーバーを介してデバイスに接続するための認証トークンを電子メールで送信します。



4GBと8GBのRAMを混ぜることができますか

制御要素は呼ばれます ウィジェット :ボタン、スライダー、ジョイスティック、グラフ、テキストフィードバックなど、さまざまな種類の入力方法と出力表示。 LED、LCDディスプレイ、さらにはライブストリーミングビデオ用の定型化されたコントロールを備えたコンポーネント固有のウィジェットもあります。 Twitterへの自動投稿やカスタム通知などの機能を追加するウィジェットも注目に値します。

アプリは無料ですが、すべての「エネルギー」コストを与えることで、一度に使用できるウィジェットの数を制限します。このアプリでは、2,000の残高を利用でき、必要に応じてさらに購入することもできます。





提供された開始バランスは、ここにリストされているサンプルプロジェクトには十分すぎることがわかりましたが、セットアップがより複雑な場合は、すぐにジュースが不足する可能性があります。

各ウィジェットには、名前と色を変更できる編集メニューがあります。次に、送信する値の範囲とともに、影響を与えるピン(ボード上のピンか、Blynkの仮想ピンの1つ)を選択します。グラフやテキストボックスなどの出力表示の場合、更新する頻度を選択することもでき、貴重な帯域幅を節約できる可能性があります。





Blynkは、アプリとハードウェア間のユーザー設定接続である「仮想」ピンに命令を割り当てる機能も備えています。したがって、アプリの1つのボタンを使用して、デバイスでさまざまなイベントをトリガーできます。これらの使用方法については、この記事の後半で説明します。

アプリはあなたのプロジェクトを他の人と共有するオプションを提供します。電子メールで送信したり直接スキャンしたりできるQRコードが生成され、Blynkアプリを持っている人なら誰でも使用できます。共有する相手はプロジェクトに変更を加えることができないため、デバイスの制御を共有するための迅速で便利な方法になります。ただし、他のユーザーがハードウェアにアクセスするには、アプリ内のプロジェクトが実行されている必要があることに注意してください。

ハードウェアへのアクセスを許可せずにプロジェクトを共有することもできます。これは、照明のオンとオフを切り替えずにアプリの使用方法をユーザーに教えるための優れた方法です。

アプリの作成は非常に迅速で直感的であることがわかりました。作成したら、右上隅にある再生記号を押すと、すぐに使用を開始できます。後で変更する必要がある場合は、同じボタンを押すだけで編集モードに戻ることができます。

Blynkサーバー

デバイスを制御するアプリを作成したら、そのアプリとの通信方法について2つのオプションがあります。

Blynkクラウドサーバーは、高速で応答性が高く、無料で使用できます。 Wi-Fiデバイスへの接続は、生成された認証コードをArduinoスケッチにコピーし、Wi-Fiの詳細を提供するのと同じくらい簡単です。 Raspberry Piの場合、Blynkは、認証コードを使用して同じ効果で実行できるテストスクリプトを提供します。この記事の後半では、Blynkライブラリを使用してサービスに接続する独自のスクリプトを作成します。

2番目のオプションは あなた自身をホストする Blynkサーバー。 Blynkは、コンピューターから実行できるオープンソースのNettyベースのJavaサーバー、またはRaspberryPiを提供します。これには、機能とセキュリティの点で一部のユーザーにさまざまな利点がありますが、ここでの例では、提供されているBlynkクラウドサーバーの使用に集中します。

ブリンクライブラリ

ブリンクの3番目で最後の要素は Blynkライブラリ 。このライブラリは、開発ボードの膨大なリストと連携して、アプリとハードウェア間の通信を可能にします。

最も単純な方法で必要なのは、ライブラリをインストールし、提供されている注釈付きのサンプルスケッチの1つをロードすることだけです。

ブリンク:初期設定

スマートフォンにBlynkアプリをインストールし、アカウントを作成します。認証トークンが送信される場所であるため、実際にアクセスできる電子メールアドレスを使用していることを確認してください。次に、プロジェクトを作成し、使用するボードとそのボードへの接続方法を選択します。ここでの両方の例はWi-Fi経由で接続しますが、Bluetooth、イーサネット、さらにはGSM経由の接続も可能です。

プロジェクトを作成します。これにより、認証トークンが自動的に送信されます。届かない場合は、プロジェクト設定アイコン(小さなナット)を選択し、デバイスを選択して、[電子メール]を選択することで再送信できます。

次に、BlynkWebサイトからBlynkライブラリをインストールします。 Arduinoの場合、ファイルをにコピーしてライブラリをインストールします Arduino>ライブラリ フォルダ。あなたがArduinoに不慣れであるならば、ここにあります 始めるためのガイド

Raspberry Piの場合、最初にNode.jsがインストールされていることを確認する必要があります。必要に応じて、この記事にNode.jsをインストールするためのガイドがあります。

まず、Piが最新であり、ビルドエッセンシャルパッケージがインストールされていることを確認します。

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential

次に、をインストールします ノードパッケージマネージャー 、 NS オンオフ ライブラリ、および 点滅 これをターミナルウィンドウに入力してライブラリを作成します。

sudo npm install -g npm
sudo npm install -g onoff
sudo npm install -g blynk-library

Blynkテストスクリプトを実行すると、すべてが機能したことを確認できます。

blynk.js [YourAuthorizationTokenHere]

すべてが機能している場合、次のようになります。

エラーが発生した場合は、NPM、OnOff、およびBlynkライブラリを再インストールする前に、Piが最新であり、Node.jsの最新バージョンがインストールされていることを確認してください。

NodeMCUによるクイックセットアップ

この最初の例は、Blynkを使用して単純なシステムをセットアップするのがいかに速いかを示しています。コーディングは不要で、一度セットアップすると完全にスタンドアロンになります。ボードがWi-Fi接続にアクセスできる限り、スマートフォンを使用してどこからでもアクセスできます。

まず、ブレッドボードに簡単な回路を設定します。接続ピン D0 LEDの正のレッグに接続し、220オームの抵抗を介してGNDピンに戻します。

BlynkアプリでNodeMCUプロジェクトを開きます。右側で、を選択します ボタン メニューからウィジェット。プロジェクトのボタンを選択して、そのプロパティメニューを開きます。ここで名前を付けて、NodeMCUボードのどのピンに影響を与えるかを選択できます。選択する ピンD0 出力リストから、一時的なプッシュスイッチではなく、オンとオフのスイッチにするためのスイッチモード。

戻る(すべての変更は自動的に保存されます)を押してから、右上隅にある再生アイコンを押してアプリを起動します。この同じボタンをいつでも押して、プロジェクトの編集に戻ることができます。

次に、Arduino IDEを開き、ツールメニューからNodeMCUボードとポートを選択します。このメニューにボードが表示されない場合は、ESP8266ライブラリをインストールする必要がある場合があります(このガイドが役立つはずです)。

次に、ライブラリで提供されているESP8266スタンドアロンスクリプトBlynkを開きます。 ファイル>例> Blynk> Boards_WiFi> ESP8266_Standalone 。認証トークンのプレースホルダーをメールで受け取ったものに置き換え、Wi-Fiの詳細を入力します。

char auth[] = 'YourAuthToken';
char ssid[] = 'YourNetworkName';
char pass[] = 'YourPassword';

スケッチを新しい名前で保存し、ボードにアップロードします。これで、アプリのボタンを押すと、LEDがオンまたはオフになります。動作しない場合は、アプリの再生アイコンを押していることを確認してください。

このような単純なケースでは、Blynkのセットアップは非常に高速です。

また、これはBlynkサーバーを使用しているため、ボードが自宅のWi-Fi接続にアクセスでき、スマートフォンがモバイルデータにアクセスできる限り、どこからでもボードを制御できることにも注意してください。

ラズベリーパイのブリンク

Blynkテストスクリプトを使用すると、Raspberry Piで上記の例とまったく同じ方法でBlynkを使用できますが、Blynkの仮想ピンが提供するより深い機能がいくつかあります。これについては後で説明します。

BlynkはNode.jsを使用して動作するため、今日作成するコードはJavascriptになります。あなたがその言語に不慣れであるならば、これは始めるための素晴らしい入門書であるはずです。

Blynkライブラリを使用して、ドアセンサーが開いているか閉じているかを報告し、ドアが開いたときに携帯電話にメールとプッシュ通知を送信するアプリを作成します。

必要になるだろう:

  • ドアマグネットスイッチ(リードスイッチとも呼ばれます)
  • 1x 1k?抵抗器
  • 1x 10k?抵抗器
  • 1x 220?抵抗器
  • 1x LED
  • ブレッドボードとフックアップワイヤー

ブレッドボードを次のように設定します。

マイクロソフトオフィスに代わる最高の無料の代替品

BlynkのライブラリはPiのピンのGPIO番号を使用するため、このプロジェクト全体でそれらを使用することに注意してください。 5VピンとGNDピンをブレッドボードの電源レールに接続します。 Raspberry PiのGPIOピン22をLEDアノードに接続し、カソードを220を介してアースレールに接続しますか?抵抗器。 GPIOピン17を1kの片側に接続しますか?抵抗器、そして10を接続しますか?反対側への抵抗、および電源レールの5V側。最後に、リードスイッチを電源レールの片側のGND側に接続し、1k?と10k?抵抗器はもう一方で出会う。このプルアップ抵抗の設定により、スイッチが開いたときにピン17の電圧がHighになります。

Blynkアプリで新しいプロジェクトを作成し、RaspberryPiボードを選択します。ウィジェットメニューから、ラベル付きの値、電子メール、および通知ウィジェットを選択します

ラベル付きの値を選択して名前を付け、を選択します 仮想ピンV0 入力ピンとして。情報の表示方法を変更することもできます。この場合、[ラベル]タブの/ pin /の前に「ドアは」を追加します。読み取り頻度の値はデフォルト設定のままにしておくことができますが、これを変更して、異なるレートでアプリにデータを送信することもできます。

ウィジェットが機能するにはウィジェットが存在している必要がありますが、後でコードに追加するため、実際には電子メールウィジェットに電子メールアドレスを入力する必要がないことに注意してください。

アプリの外観に満足したら、右上隅にある[再生]ボタンを押します。

次に、という新しいスクリプトを作成します blynkdoor.js 。完全なコードは完全に注釈が付けられて利用可能です ここ

sudo nano blynkdoor.js

まず、Blynkライブラリをインポートし、認証キーを追加して、スクリプトで使用するBlynkのインスタンスを作成する必要があります。

var blynklib = require('/usr/local/lib/node_modules/blynk-library');
var AUTH ='PasteAuthorizationCodeHere'
var blynk = new blynklib.Blynk(AUTH);

また、OnOffライブラリをインポートし、リードスイッチとLEDを設定する変数を宣言する必要があります。また、Blynkアプリで設定した仮想ピンの変数も作成します。

var Gpio = require('onoff').Gpio,
reed = new Gpio(17, 'in', 'both'), //register changes 'both' when switch is opened and closed
led = new Gpio(22, 'out');
var virtualPin = 0;

今、私たちは使用するつもりです 見る OnOffライブラリの関数を使用して、リードスイッチの変更を監視します。ドアスイッチはどちらかにあります 0 また 1 、そしてその値が変化するたびに、その変化をLEDピンに書き込みます。

reed.watch(function(err,value){
led.writeSync(value);

この値を使用して、Blynkアプリにデータを送信することもできます。ドアが閉じている場合は、ラベル付き値ウィジェットでそれを確認できるようにする必要があります。ドアが開いたら、通知とメールでお知らせします。これはifステートメントで行い、 virtualWrite通知する 、 と Eメール Blynkライブラリの関数。 Blynkの完全なドキュメントは次のとおりです。 ここ

if(value==0){
blynk.virtualWrite(virtualPin,'Closed');
console.log('Door Closed');
};
if(value==1){
blynk.notify('The door just opened!');
blynk.email('email@address.here', 'Front Door', 'The front door just opened.');
blynk.virtualWrite(virtualPin,'Open');
console.log('Door Open');
};
});

これで、リードスイッチが値の変更を登録するたびに、データが仮想ピンに送信されます。アプリの通知ウィジェットへのドアが開いている場合は、コンソールに書き込みます。最後の中括弧は、開始した場所からのものであることに注意してください。 見る 上記の機能。

最後に、プログラムの終了時にピンをリセットする必要があります。これはと同じです GPIO.cleanup() あなたはおそらくすでに精通しているでしょう。

process.on('SIGINT', function () {
led.unexport();
reed.unexport();
});

コードを保存して終了します。ノードを使用してスクリプトを実行します。

sudo node blynkdoor.js

これで、磁石をリードセンサーから離すと、ドアが開いたことを通知する通知が表示され、ラベルの付いた表示が変わるはずです。スイッチをもう一度閉じると、ラベルの付いた表示が再び変わるのがわかります。

プッシュ通知を受信するには、Blynkアプリが携帯電話で実行されている必要がありますが、アプリが実行されているかどうかに関係なくメールは機能します。

これまでBlynkで過ごした短い時間の中で、非常に使いやすいサービスのようです。最も簡単な方法で、コーディングの知識がない人でも簡単にDIYホームオートメーションシステムを構築できます。コーディングの知識が少し増えると、さらに強力になり、アプリのボタンを1回押すだけで、はるかに複雑なシステムと複数のイベントトリガーが可能になります。

このプロジェクトはBlynkの基本的な紹介でしたが、ここで取り上げた内容は、ほとんどすべてのホームオートメーションまたはマイクロコントローラープロジェクトで簡単に変更できます。

ブリンクを使用したことがありますか?あなたは私たちと共有したいサービスを使用しているクレイジーで複雑なシステムを持っていますか?以下のコメントでお知らせください!

画像クレジット: ジュゼッペ・カッカヴァーレ YouTube.com経由

共有 共有 つぶやき Eメール キヤノン対ニコン:どちらのカメラブランドが優れていますか?

キヤノンとニコンは、カメラ業界で最も有名な2社です。しかし、どのブランドがより良いカメラとレンズのラインナップを提供していますか?

次を読む
関連トピック
  • DIY
  • スマートホーム
  • Arduino
  • ラズベリーパイ
  • ホームオートメーション
  • モノのインターネット
  • エレクトロニクス
著者について イアン・バックリー(216件の記事が公開されました)

Ian Buckleyは、ドイツのベルリンに住むフリーランスのジャーナリスト、ミュージシャン、パフォーマー、ビデオプロデューサーです。マッドサイエンティストになることを期待して、執筆中やステージ上にいないときは、DIYの電子機器やコードをいじっています。

イアン・バックリーのその他の作品

ニュースレターを購読する

ニュースレターに参加して、技術的なヒント、レビュー、無料の電子書籍、限定セールを入手してください。

購読するにはここをクリックしてください
カテゴリ Diy