前回の記事「Blynk Internet of Things-ESP8266+DHT11を使って温湿度センサーを作る」では、センサーを作ってBlynkで接続し、温度と湿度を同時に表示しましたが、表示方法をもっと広げたいと思った時に「エネルギー」では足りないと言われました。
これは、サーバーリソースの乱用を防ぐためにBlynkによって設定されたペイウォールであり、各登録ユーザーはデフォルトで1000以上の「エネルギー」を持っていますが、1つまたは2つのウィジェットを追加するのに十分です。 または、私のように、無制限の「エネルギー」を持つようにプライベートBlynkサーバーを構築します。
私はすでにBlynkネットワーク上でアプリを実行していますが、「エネルギー」の制限により、モジュールを追加することはできず、有料で追加することができます。
価格は安くはありません、そして私は非常にうるさい人です、保存して保存することができます、存在しないものを支払う、この記事の主な内容は自作のBlynkサーバーサービスを構築することです。
リナックスサーバー
パブリック IP アドレス
いくつかのLinuxの基本
BlynkはGitHubでサーバーをオープンソース化して、簡単にデプロイできるようにしました:https://github.com/blynkkk/blynk-server
オープンソースをありがとう!
[ドキュメント] (https://github.com/blynkkk/blynk-server)でJavaバージョン「11」が必要であることがはっきりしているので、インストールしてみましょう。 私のシステムはUbuntuです、インストールする次のコードを入力してください:
sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update -q sudo apt install -y openjdk-11-jdk
インストールが完了したら、「java -version」コマンドを使用して、バージョンが11かどうかを確認します。
次のコードを使用してサーバーを取得します。
mkdir blynk && wget -O blynk/server-0.41.6-java8.jar "https://github.com/blynkkk/blynk-server/releases/download/v0.41.6/server-0.41.6-java8.jar"
センサー データを保持するつもりなので、データベースをインストールする必要があります。 PostgreSQL データベースをインストールするには、次のコードを使用します。
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ 'lsb_release -cs'-pgdg main" >> /etc/apt/sources.list.d/pgdg.list' wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add - sudo apt-get update sudo apt-get install postgresql postgresql-contrib
wget https://raw.githubusercontent.com/blynkkk/blynk-server/master/server/core/src/main/resources/create_schema.sql wget https://raw.githubusercontent.com/blynkkk/blynk-server/master/server/core/src/main/resources/reporting_schema.sql
アクセス許可の問題を回避するために、tmp フォルダーに移動します。
MV create_schema.sql /tmp MV reporting_schema.sql /tmp
1. データベースに接続すると、次のコードはPostgreSQLバージョンを出力します。
sudo su - postgres ティッカー
2.BLynk DB とレポート データベースを作成し、ユーザーとテーブルをテストします。
\i /tmp/create_schema.sql \i /tmp/reporting_schema.sql
3. PostgreSQL を終了する
\q
公式はサーバーを構成するための非常にわかりやすい構成ファイルを提供し、ドキュメントはここ、 設定ファイルはここにありますが、ここでは各パラメータの特定の役割については説明せず、変更したものをいくつか言います。
設定ファイルをダウンロードする
wget -O blynk/server.properties https://raw.githubusercontent.com/blynkkk/blynk-server/master/server/core/src/main/resources/server.properties
どのエディターを使用する場合でも、エディターの次のフィールドを変更し、必要でない場合は、デフォルトにすることができます。
1. SSL を有効にする
server.ssl.cert= "certificate.crt" の絶対アドレスをここに入力します。 server.ssl.key= ここに「証明書.key」の絶対アドレスを入力します。 server.ssl.key.pass=
2. データベースを有効にする
有効.db=真 enable.raw.db.data.store=true
3.ホストを変更すると、私のサーバーにはパブリックIPがあり、ドメイン名解決を行うため、ここでホストを変更する必要があります。
サーバー.host=ここでドメイン名を設定します
4.ユーザー名とパスワードを変更する
admin.email=ここにユーザー名を設定してください admin.pass = ここにパスワードを設定します
実行する前にファイルを確認し、上記の手順に従うと、ファイルツリーは次のようになります。
ブリンク ├── サーバー-0.41.6-java8.jar └── サーバープロパティ
次のコマンドを使用してサーバー側を起動します。
CDブリンク java -jar server-0.41.6-java8.jar -dataFolder /root/blynk -serverConfig /root/blynk/server.properties #可能和你的文件位置不一致、実際のアドレスに変更してください。
すべて問題がなければ、次のフィールドが出力されます。
Blynk サーバー 0.41.7-SNAPSHOT が正常に起動しました。 すべてのサーバー出力は、フォルダ '/root/blynk/logs' ファイルに格納されます。
Blynkクライアントを開き、「ログインをクリック>」、「信号をクリック>」、「>カスタムをクリック」、「サーバー情報を入力」、「OK」>「アカウントパスワードを入力」>「次へ」>テキストが少しわかりにくい場合がありますので、下の図でお召し上がりください。
サーバーを変更した後、同時に IoT ノードのコードも変更する必要があります。
まずは前回の記事「Blynk Internet of Things-ESP8266+DHT11を使って温湿度センサーを構築する」「ソフトウェア」>「認証トークンを取得する」で詳しく書かれている認証トークンの更新が必要なので、ここでは繰り返さない。
最も重要なことは、サーバー構成情報を更新することです, 私たちは自己構築のBlynkサーバーであるため, ノードの接続情報にサーバーのドメイン名とポートを入力してください, そうでなければ、それはまだ公式のBlynkサーバーに接続されています. 次のコードを変更します。
void setup() { Serial.begin(9600);// デバッグコンソール Blynk.begin(auth, ssid, pass,"blynk.tstrs.me",8080); 最後の2つのフィールドは、サーバー接続構成、ドメイン名、またはIPとポートです。 dht.begin(); timer.setInterval(2000, sendUptime); }
ここで、ポート8080は 'server.properties'ファイルで変更できます。
このようなサービスは継続的である必要があり、少なくとも {% ラベル success@99.99999999999999999 %}% が使用可能である必要があります。 😝
私はそれがとても得意なので、新しいスクリプトblynkであるscreenを使用します。
ナノブリンク
1. 次のコードを入力して保存します。
#!/bin/bash 画面-X-Sブリンクが終了しました screen -S blynk -d -m -- sh -c "java -jar /root/blynk/server-0.41.6-java8.jar -dataFolder /root/blynk -serverConfig /root/blynk/server.properties; エグゼクティブ$SHELL」
2. 実行可能なアクセス許可を付与します。
chmod +x ブリンクス
3. crontabを開く:
クロンタブ-e
4. 末尾に次のコードを追加して保存します。
0 1 /root/blynks > /dev/null 2>&1
5.change 'nano rc.local':
ナノRC.ローカル
6. 末尾に次のコードを追加します。
/ルート/ブリンク
次に、./blynksを実行してBlynk-serverをバックグラウンドで実行し、毎日0:00に自動的に再起動し、サーバーの再起動後にも起動します。
書くのに良い頭痛、あとがきが食べられました。 😶
-EOF-
リファレンス
AJAX テクノロジーを使用してアクセス速度を最適化する
vlmcsd でアクティブ化
ブログに小さな機能を追加して、ChatGPT の威力を示します。
jQuery ajax の使い方の簡単な紹介
この記事のコードの 90% は、コメントを含めて ChatGPT によって書かれています 😂.
目次
人気タグ
その他の言語
サイト情報