【運用編】Blink local Server をRaspberry Piで作る

published_with_changes 更新日: event_note 公開日:

labelBlynk labelIoT labelRaspberry pi

Blynkローカルサーバーの使い方(Legacy Blynk)

Blynkローカルサーバーの使い方(Legacy Blynk)

設置編ではRaspberry Pi Zero WにRasbianとBlynk Serverをインストールして、ローカルサーバを作りました。ここではその使い方についてまとめておきます。「アレクサ、部屋の温度を教えて」実現のための第3歩になります。

Blynkローカルサーバーのスクリーンショット

引用元:Blynk

Documentation for Blynk, the most popular IoT  platform for businesses.

Documentation for Blynk, the most popular IoT platform for businesses.

undefined

注意:この記事はLegacy Blynkに関する情報です。現在のBlynkIoTとは異なる点があります。

Blynkのサービスをのぞいてみると、Blynkが刷新されBlynkIoTになっていました。今までのBlynkはLegacy Blynkと呼ばれてサポート対象外になっています。

これを作ったのは2年くらい前(2019年)です。今はBlynkのサービスが新しくなりましたが、大変なことが書いてあるのに気づきました。Local serverがなくなったようです。Bluetooth(BLEも)なくなっています。したがって、このブログの内容はLegacy Blynkのアプリ(黒字ベース)限定です。

BlynkIoTのログイン画面

BlynkIoTは理解していないので、このブログはLegacy Blynkについてのものになります。
Blynkのlogin画面でupdateを促してますが、古いままにしておきます。いつまで使えるのでしょうか?

Legacy Blynkアプリのスクリーンショット

Blynk Local Server Library(非公式)

ローカルサーバーがサポートされなくなったので、ライブラリがGitHubから削除されていました。ここのBlynkコミュニティで話されています。(Where to download Blynk local server - Issues and Errors

代わりのライブラリです。コミュニティにいつも登場するPeteKnightさんがアップロードされています。

PeteKnightさんのアバター PeteKnight  Regular  Jul '21
@StarHelix if you read the topic in full then you’ll see that there is a copy here:

Raspberry Piを固定アドレスにする

RaspberryPiのIPアドレス

Raspberry Pi OS上では、初期状態であればIPアドレスは動的に変化するように設定されています。これは既に利用中のパソコンやスマートフォンなどにもIPアドレスが振られているため、これらと同じアドレスにならないように、接続されている環境に合わせて自動的にIPアドレスを割り当てるDHCP(Dynamic Host Configuration Protocol)という設定になっているからです。

固定IPが必要な場合
ラズベリーパイを使ってサーバー構築などする場合は、このサーバーに外部からアクセスするわけですが、この時にIPアドレスが固定されていないと、どのIPアドレスでアクセスすればよいのか分からなくなってしまいます。そのためファイルサーバーやフェブサーバーなどのサーバーを構築する際にはIPアドレスが変わらないように固定しておく必要があります。

引用元:Raspberry Pi のIPアドレスを固定にするには?

1)ルータのIPアドレスを調べる。

ipconfigのスクリーンショット

2)/etc/dhcpcd.confを編集する

ここの編集作業はVNC ViewerからRaspberry pi を開いて、LXTerminal上で行います。

LXTerminalのスクリーンショット

Raspberry Pi 192.168.0.22
ルーター 192.168.0.1

たっだので、nanoエディタを使って、設定ファイルの「/etc/dhcpcd.conf」を編集で開き、

$ sudo nano /etc/dhcpcd.conf

最下行の "#fallback static_eth0" の下に書き加えます。

interface wlan0
static ip_address=192.168.0.22/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

staticは固定という意味です。Wi-Fiなのでwlan0としましたが、有線LANならeth0です。また、#はコメントアウト行の意味です。

IPアドレスの設定の際に「/24」をつけるのはおまじないのようなもので、通常32ビットで表すIPアドレスの24ビットまでを固定して、それがネットワークアドレスである事を表示しています。

dhcpcd.conf編集のスクリーンショット

Blynkアプリでアカウントを作成し、ログインする。

1) Blynk APPで [Create New Account] をクリックします。

プロジェクトを保存し、どこからでも複数のデバイスからプロジェクトにアクセスするには、アカウントが必要です。これはセキュリティ対策でもあります。

Blynkアプリのスクリーンショット

2) [Server Setting] ボタンをクリックします。

サーバーをBlynkからCUSTOMに切り替え、ローカルサーバーのIPアドレスを[IP]フィールドに入力します。デフォルトのポート9443は変更しないでください。

[OK]をクリックして、ローカルサーバーの設定を終了します。

Blynkアプリのサーバー設定画面

3)Log in

メールアドレスとパスワードを入力し、[サインアップ]をクリックしてサーバーに接続します。

ローカルブリンクが正しく実行されていないか、IPアドレス設定が間違っている場合、APPは「Can't connect to Server, Try later…」と表示します。

Blynkアプリのログイン画面

4) サーバーの実行とIP設定に問題がない場合は、ウェルカムページが表示されます。

[Cool!Got it]をクリックすると、新しいプロジェクトUIに移動します。

Blynkアプリのウェルカムページ

New Projectの作成とトークン(Token)の発行

1) Auth Tokenの発行

新しいProject(たぶん、Arduino とかのデバイスをBlynk上で動かす仕組み)を作ると、ProjectごとにTokenがBlynkから発行されます。

Blynkアプリのトークン発行画面

Tokenが確認できたら、Emailを押してTokenを発行します。発行先は、mail.propertiesで指定したメールアドレスです。

Blynkアプリのトークン発行完了画面

【補足】他のTokenの入手方法

ブラウザで、https://192.168.0.22:9443/admin (アドレスはBlynk サーバー)とやるとBlynkの管理画面が出ます。

Blynk管理画面のスクリーンショット

ログインユーザをクリックして、下の方へスクロールしていくと、DevicesにTokenが書いてあります。

Blynk管理画面のトークン表示

2) Arduino スケッチへの反映

projectのArduinoスケッチを開き、発行されたTokenを反映させます。

#define BLYNK_PRINT Serial
#include <spi .h>
#include <ethernet .h>
#include <blynksimpleethernet .h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "YourAuthToken";

void setup()
{
  Serial.begin(9600); // See the connection status in Serial Monitor
  Blynk.begin(auth);  // Here your Arduino connects to the Blynk Cloud.
}

void loop()
{
  Blynk.run(); // All the Blynk Magic happens here...
}

3) Blynk接続の確認

Arduino IDEでprojectのスケッチをコンパイルとアップロードします。シリアルモニターで次のような表示になれば、Blynkの接続が成功です。

Blynk v.X.X.X
Your IP is 192.168.0.22
Connecting...
Blynk connected!

Powered by Blogger | Designed by QooQ

keyboard_double_arrow_down

keyboard_double_arrow_down