このIoT2050アプリケーションには、データを収集して分散化し、無線を介して送信するタスクがあります。 LPWANテクノロジーの長距離(LORA)は、この目的に使用されます。 IoT2050はロラワンゲートウェイとして機能します。 Things NetworkまたはThings Stack Community Editionからのグローバルな無料のLorawan(長距離ワイドエリアネットワーク)は、ネットワークサーバーとして使用されます。このマニュアルでは、ゲートウェイのソフトウェアとハードウェア構造について説明します(エンドデバイスの構成と機能(センサーなど)は、アプリケーションの個々の目的に依存するため、このマニュアルでは説明されていません):

アプリケーションには、次のハードウェアコンポーネントが必要です。
注文リストにすべての個々の部品を表示することもできます。
Simatic IoT2050のArduino UNOインターフェイスは、IC880A濃縮器を統合するために使用されます。この目的には、ピンの割り当てを組み合わせたアダプターシールドが必要です。濃縮器には5Vが供給されます。
このアプリケーションで使用されているアダプターシールドは自己構築されていました。必要なコンポーネントは、注文リストから取得できます。構造の詳細については、プロジェクトファイル(.pro)、Schematicファイル(.sch)、およびレイアウトファイル(.kicad_pcb)に記載されています。
Lorawan Concentorator IC880Aは、複数のチャネルに異なる広がり係数を使用して複数のLORAパケットを同時に受信するように設計されたマルチチャネル高性能トランスミッター/レシーバーモジュールです。このゲートウェイの完全なRFフロントエンドとして、濃縮モジュールIC880Aをゲートウェイに統合できます。
次の図は、ロラワンゲートウェイの完全なハードウェア構造を示しています。アンテナ(2 DBIダイポールアンテナ863-870MHzをRP SMAで接続)をIC880Aモジュールに接続するには、SMAアダプターを逆にするU.FLを使用します。コンセントレーターは、アダプターシールドとともにIoT2050のArduino UNOインターフェイスに接続されています。

このマニュアルには、次のソフトウェアが使用されています。
IoT2050の最初の試運転については、セットアップを参照してください。 Simatic IoT2050フォーラムでさらにヘルプを得ることができます。
セットアップで作業した後、システムのアップデートを実行する必要があり、 GITをインストールする必要があります。これのために次のコマンドが実行されます。
sudo apt-get update
sudo apt-get install git
Putty経由でSHH接続を確立し、次のコマンドを使用します。
iot2050setup
Use the arrow keys: "Peripherals" -> "Configure Arduino I/O" -> "Enable SPI on IO10-IO13" -> "Enable"
Use ESC to exit the iot2050setup


GithubからLora Basics™ステーションの最新バージョンをクローンするには、次のコマンドを使用します。
cd /home
git clone https://github.com/lorabasics/basicstation.git
これで、クローンの一部であるsetup.gmkファイルは、IoT2050がツールチェーンの正しいディレクトリを保存するために適応する必要があります。これを行うには、次のコマンドを使用してエディターでファイルを開きます。
cd /home/basicstation/
nano setup.gmk
キーの組み合わせによりCTRL+C Aライン仕様はNano-Editorに表示できます。

55行目から66行目は#でコメントアウトする必要があり、68〜72行は次のように変更する必要があります。
CC=/usr/bin/gcc
LD=/usr/bin/ld
AR=/usr/bin/ar
OD=/usr/bin/objdump
OC=/usr/bin/objcopy
さらに、76行目は次のように編集する必要があります。
export LD_LIBRARY_PATH=/usr/local/lib
次のコマンドでファイルを保存して閉じます。
CTRL+X -> to exit editing
Y -> to save the changes
Enter -> to confirm the filename
パッケージフォワーダーステーションを構築するには、ディレクトリ/home/basicstation/で次のコマンドを使用します。
make platform=rpi variant=std
基本的なステーションがコンパイルされた後、4つのサブフォルダーを備えたbuild-rpi-stdと呼ばれる新しいフォルダーが表示されました。サブフォルダーbinにコンパイルされたバイナリstationを見つけることができます。
特に指定されていない限り、次のコマンドとアクションは常にこのディレクトリ( /home/basicstation/build-rpi-std/bin/ )で実行されます。
ファイルstation.confで指定されている基本ステーションには、一部の構成が必要です。既製のファイルStation.confをディレクトリにコピーします(ヒント:ツールWinSCPを使用してファイルを転送できます)。
LORA Basics™ステーションには、接続するためにLorawan®ネットワークサーバー(LNS)を装備する必要があります。この例では、ポート8887を備えたStack Community Edition Serverが使用されています。これは、ファイルtc.uriで指定されています。既製のファイルtc.uriをディレクトリにコピーします。
これには、ルート証明書が必要です。次のコマンドを使用して証明書を取得し、ファイルtc.trustを直接作成できます。
curl https://letsencrypt.org/certs/isrgrootx1.pem.txt -o tc.trust
別のルート証明書を使用することもできます。これは、文字なしでtc.trustファイルに挿入する必要があります<> :
-----BEGIN CERTIFICATE-----
<insert root certificate here>
-----END CERTIFICATE-----
SX1301ベースバンドチップを備えたIC880Aモジュールは、オンになるたびにリセットする必要があります。ただし、このリセットは、チップのHALによって実行されません。したがって、Pythonスクリプトは、外部からそれを実行するために書かれています。 PythonスクリプトIC880A_RESET.pyをディレクトリにコピーします。その後、デジタルI/Oピン4は出力として設定する必要があります。これは、リセットピンとして使用されるためです。
iot2050setup
Use the arrow keys: "Peripherals" -> "Configure Arduino I/O" -> "Enable GPIO" -> Set PIN 4 as output
Use ESC to exit the iot2050setup

次のステップは、Pythonスクリプトを実行するシェルスクリプトを追加することです。このスクリプトは、後でstationバイナリの開始とともに実行されます。既製のファイルreset_gw.shをディレクトリにコピーします。このシェルスクリプトでは、濃縮器のハードウェアリセット用の以前に作成されたPythonスクリプトが呼び出されます。スクリプトには、次のコマンドを使用して実行可能な権利を提供する必要があります。
chmod 755 reset_gw.sh
サーバーでの登録のためにゲートウェイのEUIを取得するには、プログラムstationを一度開始する必要があります(実行はまだ完全に機能していません):
./station
ゲートウェイのEUIは、IoT2050のMACアドレスで構成されており、ステーションが開始された後、コンソール出力に表示されます。

アプリケーションは、主要な組み合わせCTRL+Cで停止できます。
最後に、Things Stack Community Editionでゲートウェイを承認するには、APIキーをtc.keyというファイルに保存する必要があります。これを行うには、ゲートウェイをStack Stack Community Editionに登録する必要があります。これは、次の手順で説明されています。Webページにログインした後、地域が選択されます。その後、新しいゲートウェイを追加できます。このためには、前の図のゲートウェイEUIと同様に、一意のゲートウェイIDを入力する必要があります。さらに、この地域の頻度計画が選択されます。さらに、ゲートウェイのステータスが公開されているかどうかを選択できます。必要なすべての構成は、次の図に示されています。

新しいゲートウェイを登録した後、APIキーを承認のために生成する必要があります。キーが生成される前に、名前が割り当てられます。さらに、データ交換用のゲートウェイサーバーとゲートウェイとしてリンクするための個々の権利が与えられます。 APIキーを作成した後、コピーして緊急に保存する必要があります。これは、後で暗号化され、したがって見えないためです。


次のコマンドを使用してtc.keyファイルを構築し、 xxxの代わりに以前にコピーしたAPIキーを使用します。
export LNS_KEY="xxx"
echo "Authorization: Bearer $LNS_KEY" | perl -p -e 's/rn|n|r/rn/g' > tc.key
これにより、基本ステーションの設置と構成が完了します。これで、ステーションはコマンドで手動で開始できます。
./station
インストールと認証が成功した場合、ステーションが開始され、ゲートウェイは、Stack Community Editionのコンソールにconnectedように表示されます。

The Things Stack Webサイト - ゲートウェイの追加に関する詳細情報を受け取ることができます。
既製のシェルスクリプトStart.shをコピーして、 stationバイナリを呼び出します。スクリプトには、実行可能な権利を提供する必要があります。
chmod 755 start.sh
既製のSystemDサービスファイルIOT-2050-LORA-Gateway.Serviceをディレクトリ/etc/systemd/systemにコピーします。そのディレクトリに変更するには、次のコマンドを使用します。
cd /etc/systemd/system
サービスファイルは手動で開始し、次のコマンドでテストできます。
sudo systemctl start iot2050-lora-gateway.service
サービスとステーションの開始が成功した後、次のコマンドで終了できます。
sudo systemctl stop iot2050-lora-gateway.service
サービスのオートステルトを有効にするには、コマンドを使用します
sudo systemctl enable iot2050-lora-gateway.service
次の再起動の後、ゲートウェイはすべてのブーツで開始されます。
ゲートウェイはこれで使用できるようになりました。 End Devicesは、Stack Stack Community Editionを介してアプリケーションに追加できるようになりました。これにより、ゲートウェイを介してサーバーにデータを送信できます。ここでは、いくつかの可能なエンドデバイスを見つけることができます。サーバーにエンドデバイスを追加する方法はこちらで説明します
ノードレッドは、収集されたデータを視覚化するために使用されます。 Webエディターには、IoT2050およびポート1880のIPアドレスからアクセスできます。ノードレッドは、デフォルトでサンプル画像でAutoStartにあります。アクセスするには、IoT2050に接続されたPCでブラウザを開き、URL http://<IP of the IOT2050>:1880/を開きます。
これで、flows.jsonファイルをノードレッドにインポートできます。
Menu -> Import -> Select file for Upload

ノードは次のように調整する必要があります。
MQTT: [接続]タブにサーバーアドレスとシングススタックのポートを挿入します。すべてのメッセージをサブスクライブするには、トピックを#に設定します。

パスワードとしてユーザー名とMQTT-APII-KEYを入力します。アプリケーションの統合セッティングでこのApi-Keyを生成できます。



解析ノード:関数解析ノードでは、異なるdevice_id調整する必要があります(アプリケーションに応じて):

フローの説明:着信メッセージを処理するために、JavaScriptオブジェクトが最初に作成されます。次に、Uplinksが関数パースノードに解析され、各エンドデバイスの個々のメッセージを抽出します。さらに、ノードは3つの出力に拡張されます。したがって、各メッセージは出力に割り当てられ、エンドデバイスを表します。ダッシュボードライブラリとゲージノードを使用して、これらをダッシュボードに個別に組み込むことができます。
ビルド前のフローは、解析ノードの3つのエンドデバイスの組み合わせの例を示しています。 IDは、アプリケーションとThing Networkの設定に応じて調整する必要があります。
ダッシュボード:データを表示するには、ダッシュボードパレットをインストールして個別に構成できるようになりました。
Menu -> Manage Palette -> Install Tab -> Search and install the given libraries
完了: IoT2050へのフローをダウンロードするには、ボタンのDeployをクリックします
ノードレッドのダッシュボードを開くには、urlを開きますhttp://<IP of the IOT2050>:1880/ui
貢献してくれてありがとう。誰でも、問題セクションのこのリポジトリに関するバグ、不明確なドキュメント、およびその他の問題を自由に報告できます。さらに、誰もがプルリクエストを使用してこのリポジトリの変更を自由に提案できます。
以前にSiemens貢献者ライセンス契約(CLA)に署名したことがない場合、Pullリクエストを送信すると、システムは自動的にそうするように求められます。これは、CLAアシスタントのオンラインプラットフォームを介して便利に行うことができます。 CLAに署名されると、他のすべてのテスト段階が成功した場合、プルリクエストが自動的にクリアされ、マージできるようになります。
法的情報を読んでください。