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

published_with_changes 更新日: event_note 公開日:

labelBlynk labelIoT labelRaspberry pi

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

引用元:Blynk

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

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

undefined

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

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


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


Blynk Local Server Library(非公式)

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

代わりのライブラリです。コミュニティにいつも登場するPeteKnightさんがアップロードされています。
PeteKnight  Regular   
@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アドレスを調べる。

PCのコマンドプロンプトを利用して、ipconfigとやり、デフォルトゲートウェイに表示されるアドレスが、ルータのIPアドレスになります。192.から始まる数値文字列です。



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

ここの編集作業はVNC ViewerからRaspberry pi を開いて、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ビットまでを固定して、それがネットワークアドレスである事を表示しています。



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

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

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


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

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

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



3)Log in

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

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



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

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



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

1) Auth Tokenの発行

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

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


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

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


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


2) Arduino スケッチへの反映

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

#define BLYNK_PRINT Serial
#include 
#include 
#include 
// 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