はじめに:オンライン教材の多くはクラウドサービスを利用していますが、今回は実験用に構築したサーバーを使用したので、その過程を記録していきます。
1. サーバー構築
1.クラウドサーバーを利用する
クラウドサーバーにはさまざまな種類があり、インターネット上にも多くの教えがあるので、ここではあまり説明しませんが、実験に使用したAlibaba Cloudの国内サーバーは後ほど紹介します。
2. 独自のサーバーを構築します - Dell R620 (この実験で使用)
今回の実験は単体でサーバーを立てるのがメインでしたが、整理していたら灰を食べさせたくないR620があったのでサーバーを立てることができました。
私たちが使用する U ディスク インストール システムは、ここで参照できます。
ubuntu 18.04 U ディスクのブートディスクの作成_AllyLi0224 のブログ-CSDN ブログ_U ディスクの作成 Ubuntu システム ディスクの作成
ブートディスクを焼き付けた後、BIOS 設定を実行し、オペレーティング システムをインストールします。デモでは説明できない資料が多数あります。プロセスは仮想マシンの作成と同じです。仮想マシンをプレイしたことがある人なら誰でも理解できます。
インターフェイスに入ったら、ネットワーク、ファイアウォール構成、主にファイアウォール ポート構成とルーター構成を構成する必要があります。これは、バックグラウンドでセキュリティ グループを直接管理できるクラウド サーバーとは異なり、自社構築サーバーであるためです。
1) リモートコントロールアーティファクトRustdesk
サーバーの基本設定が完了したら、リモート コントロールを実行する必要がありますが、サーバーのモニターやその他のリモート コントロールを取り除くことができます (サーバーは電源コードとネットワーク ケーブルを接続するだけでほこりを吸い続けることができます)。ここでは、安全性が高く、TLS 暗号化を備えたオープンソース ソフトウェアの Rustdesk を推奨します。
インストール: クライアントとサーバーのバージョンが多数あるため、インストールを明確に確認する必要があります。
次に、メッセージサーバーを選択します
1.rabbitmq
Rabbitmq の Web ページは初心者にとってあまりフレンドリーではありません。すべて英語ですが、emqx と比較すると、帯域幅と耐えられるデータ量の点で大きな利点があります。欠点は、構築と設定のプロセスが emqx に比べてあまり単純ではないことです。私も構築しましたが、簡単な実験にはempqxが簡単なので、ここの情報を参照してください。
【学習のお供】Kuangshen氏のRabbitMQメモ(RabbitMQの簡単な使い方)
RabbitMQ のインストールと構成 (SSL の開始) とテスト ケース - プログラマーが求めた
Rabbitmq-c ソースコードの初期解説 (1) - プログラマー募集
RabbitMQ の MQTT プラグインに基づいて MQTT サービスを構築し、送受信テストに MQTTX を使用する - プログラマーが求めた
2.emqx (この実験で使用)
empx をサーバーにインストールするには、公式 Web サイトのマニュアルを参照してください。これは非常に明確ですhttps://www.emqx.io/zh/downloads?os=Ubuntu
独自のオペレーティング システムを選択し、ワンクリックでインストールします
利用ガイドはサーバー構築だけでなく、モバイル端末の設定(シングルチップマイコンの設定、WeChatアプレットの設定、Webページの設定)においても非常に重要ですので、導入後はIPを変更しないでください。
自分で構築したサーバーは、1) Linux ファイアウォール 2) ルーター ファイアウォール のポートが開いているかどうかに注意する必要があります。
学校で構築したのですが接続できず、エラーを確認したところpingが通っていないことがわかり、ネットワーク管理者に連絡したところ、学校が攻撃を防ぐためにすべてのポートを閉じていたことが分かり、外部ネットワークにアクセスできませんでした。後から抜いたチャイナユニコムのネットワークケーブルでは、ルーターのページにログイン後、使用するポートが開放され、外部ネットワークからのpingが通るようになりました。
以下のコードを入力すると、empxが正常に動作しているかどうかが判定され、使用されているポートも確認できます。
sudo systemctl status emqx
次に、Web バージョンの emqx にログインし、外部 IP またはドメイン名を入力します。ポート番号は18083です。
ここでは監視されているポートも確認できます。新しくインストールされた empx には ssl がない可能性があり、ws と tcp の 2 つしかありません。これを開くにはサーバーに ssl をインストールする必要があります。
8883、1883、8083、8084、18083 およびその他のポート、8083 は主に非暗号化 WebSocket プロトコル ポート (ws) に使用され、8084 は WeChat アプレット接続 (wss) に使用される暗号化ポート、18083 は主に EMQX コントロールへのアクセスに使用されます。 1883 は基本的な TCP ポートで、MCU がサーバーに接続するためのポートです。8883 は暗号化されたポート (https) です。
WeChat アプレット開発ドキュメントには、セキュリティ上の理由から WebSocket/TLS プロトコルのみがサポートされていると記載されているため、この実験では、アプレットをサーバーに接続して使用するために wss プロトコルのポートを開く必要があります。
暗号化が必要な WeChat アプレットを作成する場合を除き、ほとんどの人にとって、SSL をオンにする必要はありません。この部分は後ほど紹介します。
emqx にはクライアントがあり、mqtttx などのクライアントを使用する必要がなく、テストに非常に便利です
今後の更新は以下の通り
3、クライアント
1. デバイス側(シングルチップマイコン)
2.モバイル端末(WeChatアプレット)
3. デスクトップ (mqttx)
間違いがある場合は、コメントして時間内に修正してください。ありがとうございました