libp2p-lora-transport libp2pノードがloraを介して通信できます。添付されたLORAブリッジを備えたLIBP2Pノードを使用すると、「プロトコル」として使用することができます。たとえば、これを使用して、LIBP2Pノードがロラワンゲートウェイにセンサーデータを報告できるようにすることができます。別の可能性は、複数の異なるLIBP2Pノードが添付されたLORAブリッジを備えたLIBP2Pノードを介してデータを中継することを許可することです。
有効なCインストールが必要で、1.13+に移動し、WIRINGPIライブラリをインストールします。
次のハードウェアがテストされています。
arduinobridgeincludesrc/draginoArduino Mega + Dragino Lora GPSシールドを使用して、「Lora Bridge」と呼ばれるスケッチがArduinoに展開されます。このスケッチは、2つのことを担当しています。
Arduinoシリアルインターフェイスに直接接続するLIBP2Pホストは、Arduinoに接続するブリッジハンドラーを登録します。このブリッジハンドラーは、シリアルインターフェイスにデータを書き込むための2つのチャネルを作成します。1つはシリアルインターフェイスからデータを読み取ります。その後、ゴロウチンが起動され、それが書き込みチャネルからデータを引き出し、シリアルインターフェイスにパイプします。書き込みに使用できるデータがない場合は、シリアルインターフェイスからデータを読み取ることができるかどうかを確認します。可能であれば、データを読み取り、読み取りチャネルから送信します。誰もチャネルから受信するのを待っていない場合、データは単に破棄されます。
ブリッジは、シリアルインターフェイスから外されるすべてのメッセージが適切にフォーマットされていることを保証します(Carrats ^に包まれています^ )。
操作には2つのモードがあります。
この実装には、セキュリティが提供されていません。データはそのまま処理され、そのデータがClearTextにある場合、Snoop Onを聴いている人のために、データがLora Radioを介してCleartextで送信されます。つまり、データをプライベートにしたい場合は、このブリッジを通過するには、暗号化する必要があります。このブリッジを輸送(非プロトコルモード)として使用する場合は、ブリッジを通過するデータを手動で暗号化することなく、合理的に優れたセキュリティ層を提供するため、プライベートLibp2p群を使用することをお勧めします。プロトコルモードでブリッジを使用する場合、これはメッセージを手動で暗号化する必要があることを意味します。
プロトコルモードでは、認可されたピアはブリッジを介してデータを読み取り/書き込むことができるため、特定のピアアクセスのみを許可してください。
Arduinoのシリアルインターフェイスは、LIBP2PノードがLORAモジュールにアクセスできるようにするために使用されます。 Arduinoからlibp2pノードにデータが送信されるたびに、メッセージは^にラップされます。たとえば、別のLoraノードにhelloを送信したい場合は、 ^hello^送信する必要があると言います。ロラブリッジの制御は、単一の文字「コントロール文字」を介して行われます。現在の制御文字は次のとおりです。
1デバッグモードのトグルすべての非ファームタコードは、AGPLV3に基づいてライセンスされています