注釈
こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。
参加する理由は?
エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。
独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。
特別割引:最新製品の独占割引をお楽しみください。
祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。
👉 私たちと一緒に探索し、創造する準備はできていますか?[ここ]をクリックして今すぐ参加しましょう!
2. Blynkからデータを取得する¶
この章では、Blynkを使用して回路を制御する方法を学びます。インターネットを介してLEDを点灯させましょう!
必要な部品
このプロジェクトでは、以下のコンポーネントが必要です。
キット全体を購入すると非常に便利です。こちらがリンクです:
名前 |
このキットのアイテム |
リンク |
|---|---|---|
3 in 1 Starter Kit |
380+ |
以下のリンクからそれぞれ個別に購入することもできます。
コンポーネントの紹介 |
購入リンク |
|---|---|
- |
|
1. 回路を組む
注釈
ESP8266モジュールは安定した動作環境を提供するために高電流が必要ですので、9Vの電池が接続されていることを確認してください。
2. ダッシュボードを編集
以前作成した Quickstart Device に移動し、 edit dashboard アイコンをクリックします。
データストリームは、Blynk上のウィジェットとR3ボード上のコードが互いを認識できるようにします。
完全な設定プロセスを体験するには、データストリームページからすべてのデータストリームを削除します。
Virtual Pin タイプのデータストリームを作成し、これを使用してBlynkのスイッチでLEDを制御します。
Virtual Pin を設定します。ボタンとLEDはONとOFFのみが必要なので、データタイプを
Integerに設定し、最小値と最大値を0と1に設定します。
Web Dashboard ページに移動します。
既存のウィジェットを削除します。
左側の Widget Box から switch ウィジェットをドラッグ&ドロップします。
今、設定します。
Datastream を以前に設定したものとして選択します。
Datastreamを選択すると、いくつかのカスタム設定が表示されます。それを確認したら、保存をクリックします。
最後に、 Save And Apply をクリックします。
3. コードの実行
3in1-kit\iot_project\2.get_data_from_blynkのパスの下の2.get_data_from_blynk.inoファイルを開くか、このコードを Arduino IDE にコピーしてください。Template ID、Device Name、およびAuth Tokenを自分のものに置き換えてください。使用しているWiFiのssidとpasswordも入力する必要があります。詳しいチュートリアルについては、 1.3 R4ボードをBlynkに接続する を参照してください。正しいボードとポートを選択した後、 Upoad ボタンをクリックします。
シリアルモニタを開く(ボーレートを115200に設定)し、成功した接続のようなプロンプトが表示されるのを待ちます。
注釈
接続時に
ESP is not respondingというメッセージが表示された場合は、以下の手順に従ってください。9Vの電池が接続されていることを確認してください。
RSTピンを1秒間GNDに接続してESP8266モジュールをリセットし、それを抜きます。
ボードのリセットボタンを押します。
こうした操作を3〜5回繰り返す必要があることもありますので、お待ちください。
Blynkに戻ると、ステータスがオンラインに変わり、blynkのスイッチウィジェットでR4ボードに接続されたLEDを制御できるようになります。
Blynkをモバイルデバイスで使用したい場合は、 モバイルデバイスでのBlynkの使用方法 を参照してください。
どのように動作するのか?
このプロジェクトのコードと前章の 1.3 R4ボードをBlynkに接続する のコードの違いは以下の行です。
const int ledPin=6;
BLYNK_WRITE(V0)
{
int pinValue = param.asInt(); // ピン V0 からの受信値を変数に代入する
// 以下も使用できます。
// 文字列 i = param.asStr();
// ダブル d = param.asDouble();
digitalWrite(ledPin,pinValue);
}
void setup()
{
pinMode(ledPin,OUTPUT);
}
ledPinの pinMode および digitalWrite に関しては、既によく知っていると思いますので、再度説明しません。注目すべきは BLYNK_WRITE(V0) 関数です。
これにより、Blynkの V0 の値が変わると、Blynk.Cloudはデバイスに「私は Virtual Pin V0に書き込んでいます」と伝え、デバイスはこの情報を取得すると何かを実行できるようになります。
前の手順で V0 データストリームを作成し、それをスイッチ ウィジェットに適用しました。
これは、Switch Widget を操作するたびに BLYNK_WRITE(V0) がトリガーされることを意味します。
この関数には2つの指示を書きました。
int pinValue = param.asInt();
V0の値を取得し、変数 pinValue に割り当てます。
digitalWrite(ledPin,pinValue);
BlynkのスイッチウィジェットがLEDを制御できるように、取得したV0の値をledPinに書き込みます。