RAK 831 LoraGatewayおよびRPi3の使用を開始する
このプロジェクトでは、RAK 831 LoraGatewayモジュールをバックホールとしてwifiで稼働させるために必要なすべての手順を実行します。
ストーリー
はじめに
このステップバイステップガイドは、RAKWirelessのすばらしいRAK831Loraラジオフロントエンドモジュールを使用して、独自のloraゲートウェイを開発したい開発者を対象としています。このガイドは、Raspberry pi ecoシステム、ハードウェア、および関連するDebianOSの基本的な知識があることを前提としています。このガイドは、RaspberryPiに存在するGPIOと周辺機器の基本的な知識も前提としています。さあ始めましょう:
LoRAとは何ですか?
LoRa Alliance™テクノロジー。 LoRaWAN™は、地域、国内、またはグローバルネットワーク内のワイヤレスバッテリ駆動のものを対象とした低電力ワイドエリアネットワーク(LPWAN)仕様です。 LoRaWANは、安全な双方向通信、モビリティ、ローカリゼーションサービスなど、モノのインターネットの主要な要件を対象としています。
礼儀Semtech
上の図は、Loraワイヤレスアーキテクチャのさまざまな部分を示しています。重要な部分のいくつかを以下に簡単に説明します:
LoRaテクノロジーとLoRaWANプロトコルの主な機能
>・ジオロケーション:GPSフリーの低電力追跡アプリケーションを可能にします
・低コスト:インフラストラクチャへの投資、運用コスト、エンドノードセンサーの3つの方法でコストを削減します
・標準化:グローバルな相互運用性の向上により、LoRaWANベースのネットワークとIoTアプリケーションの採用と展開がスピードアップします
・低電力:低消費電力向けに特別に設計されたプロトコルで、バッテリーの寿命を最大20年延長します
・長距離:単一の基地局は、密集した都市/屋内地域に深く浸透し、さらに最大30マイル離れた農村地域を接続します
・安全:組み込みのエンドツーエンドのAES128暗号化
・大容量:基地局ごとに数百万のメッセージをサポートし、多くの顧客にサービスを提供する公共ネットワーク事業者に最適です
RAK831はLorAラジオのフロントエンドです。つまり、着信loraデータパケットの受信者として機能し、それらをアグリゲーター管理ソフトウェア/ハードウェアホストに転送します。また、ホストボードの要求に基づいてLoRAデータパケットを送信することもできます。私たちの場合、ラズベリーパイ3はRAK831フロントエンドを制御するホストボードです。
バックホールの選択
一方、イーサネットの代わりにWiFiを選択する場合は、外部アンテナ付きのドングルを使用し、アンテナをエンクロージャーの外側に移動して、ボックス内のノイズを減らしてください。
ハードウェアをセットアップします:
何かを接続して電源を入れる前に、ラズベリーパイとRAK831モジュールで次の構成を行ってみましょう。
RASPBERRY PI
1)ラズベリーパイ3ボードを入手し、ラズビアンソフトウェアで8GBのマイクロSDカードを準備します。ソフトウェアがプリロードされたnoobssdカードを購入することもできます。 SDカードのOSをフラッシュする方法については、次の手順に従ってください:https://www.raspberrypi.org/learning/hardware-guide/
2)ラズベリーパイを5v2アンペアの電源に接続します。これは非常に重要です。 Loraモジュールは、アクティブなワイヤレストランザクション中に700 mAのピークを引き出す可能性があるため、ラズベリーパイに電力を供給するための優れた電源ブリックを備えています。
ラズベリーパイv3
RAK 831:
1)ボードの電源を入れる前に、キットに含まれているアンテナを入手して、アンテナネジ留め式端子に接続します。これは必須です。
Raspberry Pi v3、RAK831モジュールおよびLoraノード
接続の詳細:
Raspberry Piのピンレイアウトを理解するには、https://www.raspberrypi.org/documentation/usage/gpio/にアクセスしてください
注:
- リセットピンは、ラズベリーパイ3の任意のGPIOに接続できます。
- RAK 831ボードの損傷を防ぐために、電源ピンを正しく接続することが重要です。
SPIを有効にする:
SPIペリフェラルはデフォルトではオンになっていません。有効にするには、次の手順を実行します。
- sudoraspi-configを実行します。
- 下矢印を使用して、9つの詳細オプションを選択します
- A6SPIに矢印を付けます。
- SPI を有効にするように求められたら、[はい]を選択します 、
- カーネルモジュールの自動ロードについて尋ねられた場合も、[はい]を選択します。
- 右矢印を使用して[<完了>]ボタンを選択します。
- 再起動を求められたら、[はい]を選択します。
SPIのRaspi-config
> ls / dev / * spi *
/dev/spidev0.0 /dev/spidev0.1
これらは、それぞれチップイネーブルピン0および1上のSPIデバイスを表します。これらのピンは、Pi内に配線されています。通常、これはインターフェースが最大2つの周辺機器をサポートすることを意味しますが、複数のデバイスをデイジーチェーン接続して、単一のチップイネーブル信号を共有できる場合があります。
ボードに電源を供給します:
他のワイヤレスプロジェクトと同様に、ホストボードが電源ピンを介して提供できるよりも多くの電力を必要とする傾向があります。以下の2つのスキームは、RAK831とラズベリーパイ3に電力を供給する方法を列挙しています。
1)RaspberryPiから5vレールに電力を供給します
2)RaspberryPiとRAK831の5vレールに別々に電力を供給します
ソフトウェアのインストール:
Raspberry piで、次の手順を実行して、重要なソフトウェアをインストールします。
- SPIを有効にする:
raspi-configユーティリティを使用してSPIを有効にし([5]インターフェイスオプション-> P4 SPI)、ファイルシステムを拡張します([7]詳細オプション-> A1ファイルシステムを拡張します):
$ sudo raspi-config
- gitがインストールされていることを確認してください
Sudo apt-get update
Sudo apt-get upgrade
Sudo apt-get install git
- ラズベリーパイでWi-Fi接続を管理する
- Wi-Fiクレデンシャルを設定します(詳細についてはこちらを確認してください)
$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
そして、ファイルの最後に次のブロックを追加し、ネットワークに一致するようにSSIDとパスワードを置き換えます。
network ={
ssid =“ The_SSID_of_your_wifi”
psk =“ Your_wifi_password”
}
- インストーラーのクローンを作成してインストールを開始します
$ git clone -b spi https://github.com/ttn-zh/ic880a-gateway.git〜/ ic880a-gateway
$ cd〜 / ic880a-gateway
$ sudo ./install.sh spi
- インストール手順では、リモート構成を有効にするかどうかを尋ねられます。 「y」または「yes」と入力して、インストールを続行します。コマンドラインインストールの開始時に、スクリプトは次のステップで重要なゲートウェイEUIを表示します。注意してください!
- リモート構成オプションを使用する場合は、次のGateway Remote ConfigリポジトリにゲートウェイEUI(B827EBFFFE7B80CD.jsonなど)という名前のJSONファイルを作成したことを確認してください:https://github.com/ttn -zh / gateway-remote-config。リポジトリをフォークし、適切な構成で
.jsonファイルを追加してから、フォークされたリポジトリをコミットします。完了したら、プルリクエストをマスターリポジトリに送信すると、ファイルは翌日リポジトリに表示されます。サンプルのjsonを以下に示します:
{
"gateway_conf":{
"gateway_ID": "install.shコンソール出力に書き留めたID"、
"servers":[
{
“ server_address”:“接続先のルーター”、
“ serv_port_up”:1700、
“ serv_port_down”:1700、
“ serv_enabled”:true
}
]、
“ ref_latitude”:rak 831ゲートウェイの緯度、
“ ref_longitude”:rak 831ゲートウェイの経度、
“ ref_altitude”:40、
“ contact_email”:“ゲートウェイ所有者の連絡先メール”、
“ description”:“簡単な説明”
}
}
注:
有効なルーターのリストについては、次のリンクを確認してください:https://www.thethingsnetwork.org/wiki/Backend/Connect/Gateway
- デフォルトでは、インストーラーはRaspeberry Piのホスト名をttn-gatewayに変更します(ネットワーク内の他のRaspberry Piとの衝突を防ぐため)。これは、非リモート構成モードでオーバーライドできます。
- HURRAYゲートウェイが機能するはずです。 jsonファイルがRPi3に正しくダウンロードされるように、翌日にゲートウェイを再起動してください。
- のglobal_config.jsonは、次のように調整する必要があることに注意してください。
https://github.com/TheThingsNetwork/gateway-conf/blob/master/US-global_conf.json
ここで聞いた古いポリパケットフォワーダーの代わりにmp_pkt_fwdを使用して、提供された手順で同じものをインストールしたい場合:
https://github.com/kersing/packet_forwarder/tree/master/mp_pkt_fwd。ここでも、プロジェクトのルートにglobal_conf..jsonファイルが表示されます。必ずファイルを編集し(以下で説明するimpセクション)、コンパイル後に同じファイルをbinフォルダーにコピーしてください。
global_conf.json内のいくつかの構成可能なエンティティ:
global_conf.jsonファイルは、インストールスクリプトの実行後、プロジェクトディレクトリのベースから./bin/global_conf.jsonにあります。特定のゲートウェイ構成用にglobal_conf.jsonファイルで編集する可能性のあるエンティティのリストを次に示します。
1)「radio_0」または「radio_1」構成、特に周波数パラメーターと最小および最大周波数掃引パラメーター。
2)「gateway_conf」セクション。特にゲートウェイIDまたはゲートウェイのEUI。
3)同じgateway_confオブジェクト内のサーバーのアップポートとダウンポート、および使用可能な場合は独自のアプリケーションサーバーのアドレスのTTNサーバーアドレス。
ボードのリセット:
- シェルスクリプト経由:
LoRaドライバーがハードウェアにアクセスする前に、RAK831をリセットするための小さなシェルスクリプトを作成できます。シェルスクリプトの内容は、次の例のようになります(RaspberryPiのGPIO17(ピン11)がRAK831のリセットピンに接続されていることを前提としています):
#!/ bin / bash
echo“ 17”> / sys / class / gpio / export
echo“ out”> / sys / class / gpio / gpio17 / direction
echo“ 1”> / sys / class / gpio / gpio17 / value
sleep 5
echo“ 0”> / sys / class / gpio / gpio17 / value
sleep 1
echo“ 0”> / sys / class / gpio / gpio17 / value
これらの行は、「rak831_reset.sh」というファイルに保存できます。コンセントレータICをクリーンな状態にするには、起動するたびにこのスクリプトを1回呼び出す必要があります。
- Wiring pi経由:
#include
#include
#define GPIO_RESET_PIN 0 // wiringPiマッピングを参照してください!
int main(){
widgetPiSetup();
pinMode(GPIO_RESET_PIN、OUTPUT);
digitalWrite(GPIO_RESET_PIN、HIGH);
sleep(5);
digitalWrite(GPIO_RESET_PIN、LOW);
return;
}
ユーザーは、コンセントレーターICをクリーンな状態にするために、起動するたびにこのツールを1回呼び出す必要があります。
gcc -Wall-o点滅blink.c-lwiringPi
sudo ./blink
TTNネットワークへのゲートウェイを登録します。
詳細を読む:RAK 831 LoraGatewayとRPi3の使用を開始する
製造プロセス
- RaspberryPiとNagiosを使用して室温を監視する
- MoteinoとRaspberryPiを使用して室温を監視する
- センサーデータとRaspberryPiマイクロプロセッサーの統合
- SensorflareとRaspberryPiを備えた433MHzスマートホームコントローラー
- ラズベリーパイによるパン/チルトフェイストラッキング
- ラズベリーパイと湿度センサーを備えたエアロポニックス
- RaspberryPiでのA111パルスレーダーセンサーの使用
- TJBot入門
- 35ドルのNanoPiK1 Plusは、2倍のRAM(および異なるCPU)を備えたRaspberryPiのようなコンピューターです。
- LoRa – Raspberry Pi –シングルチャネルゲートウェイ–安い!
- RAK831LoRaゲートウェイとRPi3の使用を開始する