Wars Lora Birdhouse Project
ツイートする別の方法をお探しですか?このプロジェクトでは、低コスト/低帯域幅のロラ無線を使用して、町中のテキストメッセージを渡すことができるシンプルなメッシュネットワークを構築する可能性を探ります。このタイプのネットワークは、バードハウスリピーターステーションの完全な(炭素中立)性質を活用できる緊急通信やその他のアプリケーションに役立ちます。このプロジェクトは、W1TKZのWellesley Amateur Radio Societyのメンバーによって行われています。このデザインは、ハムコミュニティの間で実験と知識の共有の精神で、アマチュア(非営利目的)の目的で利用可能になります。少なくとも、私たちは私たちの地域のいくつかの幸運な鳥のために家を作っています。
技術的な質問がある場合は、Bruce Mackinnon(KC1FSZ)にお問い合わせください。私は自家製のラジオプロジェクトに興味がありますが、その多くは私のQRZページにあります。
プロジェクトWikiはここにあります。
この鳥は飛びますか?見つけましょう!

デザインの概要
ネットワーク上のノードは、それぞれ +20dbm/100MW無線(SemTech SX1276)を含む自律的な太陽電池式の鳥類です。これらの鳥屋は、合理的な気象条件を想定して24時間365日実行されます。 USB接続されたデスクトップノードは、シリアル接続を介してコンピューターからネットワークにアクセスするために使用されます。インターネットゲートウェイノードも開発中です。
Lora Rangeの実験は広く文書化されています。あなたの走行距離は、地形、駅のハイトなどによって大きく異なります。テストは、郊外の地域で1 kmのリンク範囲が妥当であることを示しています。
周囲により簡単に溶け込むために、バードハウスパッケージが選択されました。このプロジェクトが環境に優しいものを望んでいます。
低電力のソーラーデザインにより、鳥屋を100%自律的にすることができます。これにより、太陽に曝露し、他のステーションへの視界が良好な場所にリピーターステーションを比較的簡単に設置できます。
デスクトップステーションモデルはUSB接続を搭載しており、バッテリー/ソーラーコンポーネントを搭載していませんが、RF/ファームウェアの観点からの鳥屋の繰り返しと同じです。
この決定は考慮されていますが、現時点ではBirdhouseはESP32マイクロコントローラーによって運営されています。より電力効率の高いSTM32プロトタイプが機能しています。
商品コンポーネントは、鳥屋のコストを最小限に抑えるために使用されています。私たちの目標は、ノードコストを50ドル未満に保つことです。
このソフトウェアは、パケットが家の間を「ホップ」できるようにするための最終目的地に到達できるようにする簡単なメッセージルーティングプロトコルをサポートしています。他のコントロールパケットは、エンジニアリングデータを抽出し、メッセージルーティングを制御するために使用されます。
33cmハムバンド(902-928 MHz)は、これが実験技術であり、現時点ではFCCパート15の認定を受けていないことを考えると使用されます。すべてのノードは、パート97ルールに基づいて、FCCライセンスのアマチュア/ハム無線オペレーターによってインストール/操作する必要があります。
5つのステーションの概念実証ネットワークがマサチューセッツ州ウェルズリーに建設されました。メッセージは、約1キロメートル離れた鳥屋間のホップを含む、メッシュ全体を往復して正常にルーティングされています。いつものように、アンテナの高さが重要です。家は、雪、氷、曇りの天候の長期間、ゼロ下の気温など、悪いニューイングランドの気象条件にさらされています。これは、私たちの木が再びそれらに葉を置いたときに、システムがどのように機能するかについての未解決の質問です!

現在、15のノードベータネットワークが計画段階にあります。これには、ハードウェアとファームウェアのアップグレードが含まれます。
商用ハードウェアを使用して構築された高速メッシュネットワークに興味がある場合、このプロジェクトはあなたのものではないかもしれません。代わりに、aredn(https://www.arednmesh.org)をご覧ください。 Arednチームは素晴らしい仕事をしています。
アーキテクチャの概要

ネットワークにアクセスするにはどうすればよいですか?
ユーザーは、USBシリアルポートが装備されているデスクトップステーションを使用してネットワークにアクセスします。デスクトップステーションは、バードハウスリピーターとまったく同じファームウェアを実行します。シリアルコマンドプロトコルは、ネットワーク上のメッセージを送信および受信するために使用されます。デスクトップステーションには、必要なRFコンポーネントがすべて搭載されており、ネットワーク上の本格的なノード(独自のアドレス付き)です。デスクトップノードは、USBポートから電源を入れることができるため、ソーラー/バッテリーの設置を使用しません。
現在、ユーザーはPCで実行されている従来のシリアル端末(つまり、パテなど)を使用してネットワークと対話します。特別なソフトウェアは必要ありません。人間工学を改善するために、Pythonデスクトップユーザーインターフェイスが計画されています。シリアルコマンドについては、後のセクションで説明します。
期待されるのは、ユーザーがネットワークに参加してネットワークカバレッジエリアを増やすために、自分のプロパティの有利な場所にバードハウスステーションを設置することです。これは、デスクトップステーションに必要な見通しがそれほど重要ではないことを意味します。これは、ネットワークへの「短いホップ」です。
もう1つのオプションは、デスクトップステーションをより長いフィードラインを使用して高品質のアンテナに接続し、2つのステーションの必要性を回避することです。どちらの構成でも問題ありません。
デスクトップステーションのパッケージはまだ確定されていません。現時点では、下の写真のように、部品は木材のブロックに取り付けられています。共鳴垂直アンテナとUSBケーブルがパッケージに含まれています。

どうすれば巣箱を手に入れることができますか?
ハードウェア/ファームウェアは、クラブプロジェクトの一環としてまだ洗練されています。すべてのファームウェア、KICADファイル、および木工のディメンションは、このサイトで、自分で鳥屋を建設したい人なら誰でも利用できます。
次のハードウェアイテレーション(V2)がテストされた後、コンポーネントをキット形式で利用できるようにします。
標高の高い戦略的な場所に住んでいて、完全に組み立てられたテスト済みのステーションが必要な場合は、1回無料で提供されます。 :-)
ネットワーク管理者に連絡して、ネットワーク上のノードアドレスを割り当ててください。
ネットワークを使用するにはハムである必要がありますか?
はい。使用しているラジオモジュールはパート15認定ではないため、パート97(アマチュア)ルールを使用して実行する必要があります。現在、ネットワークの非HAM ISMパート15バージョンの調査を行っており、ライセンスを受けていないユーザーが楽しさに参加しやすくしています。誰かがこの分野で専門知識を持っている場合は、GitHubでこのトピックを議論するためにコメントを追加してください。
FCCルールごと、パート15およびパート97ネットワークは互いに通信しません。
プロトコルドキュメント
ネットワークは、33cm(902-928 MHz)アマチュアバンドで実行されます。 33cmのARRLバンドプランのデジタル部分にある906.5 MHzで実行されています。 New England Spectrum Management Council(NESMC、https://www.nesmc.org/)902 MHzバンドプランによると、この頻度はバンドの「混合使用」セクションにあります。私たちの頻度は、NESMCデータベースに登録されており、このバンドの他の使用と適切に調整されています。
LORAメッセージペイロードは、FCC規制に準拠して文書化されています。設計のどこにも暗号化はありません。ここに含まれる情報は、リスナーがメッセージを解釈するために必要なすべてです。
標準のLORA物理パケット形式が使用されます。 LORAパラメーターの詳細:
- 125K帯域幅モード
- CRCが有効になっており、4/5コーディングレート
- 明示的なヘッダーモードが使用されます
- ロラ拡散因子9
- 12シンボルプリアンブル
SemTechドキュメントの物理レイヤーパケット形式の概要を次に示します。

LORAエンコードのより詳細な説明は、こちらをご覧ください。
上記のペイロードには、36バイトのヘッダーに続いて可変長さパケット形式が含まれています。詳細:
- 36バイト固定サイズ。
- バージョン(PV)は2(現時点で)です。
- パケットタイプ(PT)は、メッセージの性質/処理について説明します。以下のタイプの詳細。
- パケットID(PID)は、確認および重複パケットの除去に使用されます。 16ビット整数(リトルエンディアン)。
- コールサインは、必要に応じてスペースが付いたASCII形式の形式です。
- ソース/宛先アドレスは16ビット整数(リトルエンディアン)です。以下のアドレスの詳細。

ステーションアドレス指定スキーム
各ステーションには16ビットアドレスが割り当てられます。一部のアドレスには特別な意味があります。
- 0x0000:使用されていません
- 0x0001から0xffef:ネットワーク上の通常のステーションに使用。
- 0xfff0〜0xfffd:管理/メンテナンスの目的で使用される非ルーティングステーション。
- 0xfffe:他のメッシュへのゲートウェイステーション
- 0xffff:ブロードキャストアドレス
パケットタイプ
パケットタイプは次のように解釈されます。
- 0:使用されていません
- 1:信頼できる配信に使用される一般的な謝辞パケット。
- 2:ステーションID/ビーコンパケット。
- 3:pingリクエスト。
- 4:Ping Response(Pong)。
- 5:ステーションエンジニアリングデータリクエスト。
- 6:ステーションエンジニアリングデータ応答。
- 7:ネットワークパステストリクエスト。
- ステーションは、ネットワークを介してルーティングされているため、このメッセージにノードIDとラストホップRSSIデータを追加します。
- 8:ネットワークパステスト応答。
- ステーションは、ネットワークを介してルーティングされているため、このメッセージにノードIDとラストホップRSSIデータを追加します。
- 9:セキュリティシードを設定します。特権要求の検証に使用される種子を確立するために使用されます。
- 10:ルートリクエストを設定します。 (特権操作)
- 11:ルートデータリクエストを取得します。
- 12:ルートデータ応答を取得します。
- 13:ルートリクエストを発見します(将来の使用)。
- 14:ルート応答を発見します(将来の使用)。
- 15:ステーションリセットリクエスト。 (特権操作)
- 16:ステーションクロックリクエストを設定します。 (特権操作)
- 17:エンジニアリングカウンターのリクエストをリセットします。
- 18:ファームウェアの更新リクエスト(将来の使用、特権)
- 19-31 :(予約済み)
- 32:日常のテキストトラフィック。
- ASCII、フリーテキストペイロード。可変サイズ、最大サイズは128バイトです。
- 33:優先度/緊急テキストトラフィック。
- ASCII、フリーテキストペイロード。可変サイズ、最大サイズは128バイトです。
- 34:ルーチンバイナリ/データトラフィック。
- 可変サイズ、最大サイズは128バイトです。暗号化は許可されていません!
- 35:優先度/緊急バイナリ/データトラフィック。
- 可変サイズ、最大サイズは128バイトです。暗号化は許可されていません!
- 36:ステーションアラート。聞こえる可聴アラームなどに使用されます。
謝辞/重複排除
ほとんどのパケットタイプは、各ホップで確認されます。パケットタイプ1は、この目的に使用されます。これは、承認が元の送信者に届くことを意味するものではなく、各ステーションがACKを取得して、パケットがルートパスの次のステーションに引き渡されたことを示すことを意味します。
確認パケット(タイプ1)およびステーションIDパケット(タイプ2)は確認されていません。
ステーションは、パケットを受信する各ノードのカウンターを維持します。重複したパケットは、パケットIDカウンターに基づいて破棄されます。窓は、カウンターがラップされたときに混乱を避けるために使用されます。
ステーションエンジニアリングデータパケット
このパケットは、ステーションの状態を監視するために使用される技術データを返します。フォーマットは次のとおりです。
- 0-1:ファームウェアバージョン
- 2-3:MVのバッテリー電圧
- 4-5:MVのパネル電圧
- 6-9:秒単位の稼働時間
- 10-13:時間(エポックから数秒で)
- 14-15:ブートカウント
- 16-17:睡眠数
- 18-19:パケットカウントを受信します
- 20-21:ルーティングエラーカウント
- 22-23:温度(オプションがインストールされたとき)
- 24-25:湿度(オプションがインストールされたとき)
- 26-27:デバイスクラス
- 0:不特定
- 1:WARSデスクトップESP32
- 2:Wars Birdhouse ESP32
- 3:Wars Mesh Gateway STM32
- 4:Wars Internet Gateway STM32
- 5:WarsデスクトップSTM32
- 6:Wars Birdhouse STM32
- 28-29:デバイスの改訂
- 30-31:間違ったノードがパケットカウントを受信します
2バイトと4バイトの整数は、リトルエンディアン形式です。
ハードウェアの概要(エレクトロニクス)
Birdhouse Repeaterプロトタイプ(外部ビュー):

Birdhouse Repeaterプロトタイプ(内部エレクトロニクスビュー):

KC1FSZのQTHにあるタワーに取り付けられたバードハウスリピータープロトタイプ:

カスタムPCB(V2)は、統合を改善し、SMDはんだ付け機能なしでキットビルダーを容易にするために開発されました。このボードは、アンテナの実験を容易にするためのSMAコネクタも提供します。

ハードウェアノート
- 電圧測定値は、ソーラーパネルとバッテリーで行われます。
- V2回路図はここにあります。
ハードウェアの概要(木工)
リピーターノードは、簡単に組み立てられるように設計された標準化されたバードハウスエンクロージャーにパッケージ化されています。
6つの木片が必要です。コンポーネントは木ネジを使用して取り付けられています。巣箱は小鳥の種にとって完全に機能しています。
屋根は、初期ネットワークが展開された北緯42度での太陽光発電の推奨最適な構成に応じて、32度の角度で傾斜しています。デザインは、他の場所で調整する必要がある場合があります。
Birdhouse Repeaterプロトタイプ用の木材部品:

CloverLeaf On/Off-Rampの内側の木に取り付けられたツリーに取り付けられたリピータープロトタイプ:

マサチューセッツ州ニーダムのノースヒルの頂上に取り付けられたリピーターステーション。

木材カットリスト:
- 1 "x5"公称ストック(4.5 "実際)
- 側面:32度のマイターを備えた6 1/2 "最大長
- 1 "x6"公称ストック(5.5 "実際)
- 戻る:長さ10 "
- 下:6インチの長さ
- 屋根:テーブルソーに32度のベベルが付いた7 1/4 "長さ。(6 1/2"でフェンスをセット)
- フロント:3 3/4 "マックスの長さ32度のベベルにテーブルソー。穴1 1/2"直径。 (サイドを使用してこのPEICEを測定し、フェンスを調整して調整します)。
電動工具を使用するときは注意してください!
ソフトウェアの概要
LORAソフトウェアは完全に自家製です - 既製のドライバーは使用されていません。これは、はるかに多くの仕事とはるかに多くの学習を意味します。
すべてのノードは、ネットワークと対話するためのシリアルインターフェイスをサポートしますが、これはデスクトップノードにのみ接続されています。
シリアルコマンドプロセッサは、Phil Jensenによるこの非常に優れたプロジェクトを使用して実装されています。
現在、静的ルーティングメカニズムが使用されています。各ノードのルーティングテーブルはリモートで変更できます。動的ルーティングは、将来のフェーズで開発されます。
開発者情報
開発、IDEセットアップなどの情報については、プロジェクトWikiをご覧ください。
関連技術
- AREDN(アマチュア無線緊急メッシュネットワーク):WiFiテクノロジーを活用して、緊急通信をサポートするオフグリッドIPネットワークを作成する非常にクールなシステム。これらの人たちははるかに高速化しており、はるかに洗練されたハードウェアを使用しています。 Wars Birdhouse Projectは異なるワイヤレステクノロジーを使用しており、Ardenシステムと相互運用できません。 https://www.arednmesh.orgを参照してください。
- Loraham(https://github.com/travisgoodspeed/loraham):同様の領域を探索した素晴らしいオープンソースプロジェクト。この時点では、プロジェクトは非アクティブであるように見えます。
- ロラワン:星トポロジーで編成されたロラステーションを使用するクールなシステム。各星のハブは、パブリックインターネットへのゲートウェイです。この技術は暗号化を使用しており、アマチュアプロジェクトには合法ではありません。
- Dash7ワイヤレスネットワーク(https://en.wikipedia.org/wiki/dash7)。暗号化を使用するため、パート97には良くありませんが、それでも興味深いものです。
参照資料
- VE2DBEによるラジオモバイル:https://www.ve2dbe.com/english1.htmlは、ローカルエリア/LOS伝播を理解するための優れたプログラムです。
- Ubiquity Link Plannerは、潜在的なステーションサイト間の土地機能を理解するのに非常に役立ちます:https://link.ui.com/#.2q
- LORAルール、規制、用語:https://lora.readthedocs.io/en/latest/#rules-and-regulations
- LORA無線モジュール(RFM95W)のリファレンス:https://www.hoperf.com/modules/lora/rfm95.html
- LORA変調情報:https://www.frugalprototype.com/wp-content/uploads/2016/08/an1200.22.pdf
- 18650バッテリーのリファレンス:https://cdn.sparkfun.com/datasheets/prototyping/icr18650%202600mah%20datasheet.pdf
- LDO電圧レギュレーターの参照:https://ww1.microchip.com/downloads/en/devicedoc/mcp1700-low-quiescent-current-ldo-20001826e.pdf
- STM32L031マイクロコントローラーのリファレンス:https://www.st.com/resource/en/datasheet/stm32l031k6.pdf
- STM32L0ハードウェアデザインガイド:https://www.st.com/resource/en/application_note/an4467-getting-with-stm32l0xx-hardware-development-stmicroelectronic.pdf
- ESP32 D1 Miniの参照:https://wiki.csgalileo.org/_media/projects/internetofthings/d1_mini_esp32_-_pinout.pdf
- ESP32 ADコンバーターの非線形性の修正に関する記事:https://github.com/e-tinkers/esp32-ADC-Calibrate
- IPネットワークへのブリッジの作成に使用されるW5500のデータシート:https://cdn.sparkfun.com/datasheets/dev/arduino/shields/w5500_datasheet_v1.0.2_1.pdf
- ロラの物理層のリバースエンジニアリングについて話している非常に興味深い論文:https://www.epfl.ch/labs/tcl/wp-content/uploads/2020/02/Reverse_Eng_Report.pdf
詳細な部品リスト
(フォローする)
フックアップノート
列1
行0 -GND行1-供給GND行2 -IO33(バッテリー電圧センス)行3 -IO34(パネル電圧センス)行4 -Supply +VCC行5-パンネル行6-パンネル行7- +3.3V
列2
行0行1行2 -IO19(SPI MISO)行3 -IO23(SPI MOSI)行4 -IO18(SPI SCK)行5 -IO5(SPI NSS)行6 -IO26(無線RST)行7 -IO4(Radio Dio0)
さらなる実験のための領域
ハードウェア2.0(処理中)
- Surface Mountコンポーネントを使用した完全に統合されたPCB
- 超低電力マイクロプロセッサに切り替えます:STM32L031
- より堅牢なアンテナ実験のためのSMAコネクタ
ハードウェア(将来)
- 線形レギュレータをブーストコンバーターに置き換えて、バッテリーの使用量を改善します。
- 鳥類のパッケージを完成させて、鳥類のレジデンシーとの耐候性と完全な互換性を確保します。
- 安価なアンテナ。
- より長い距離リンクでアンテナを取得します。
- RFスイッチ2つのアンテナ間の動的スイッチングを可能にします。これにより、A/Bテスト、またはトランク用の方向/ゲインアンテナ、ローカルアクセスのためのオムニ方向アンテナを備えたステーションを容易にする可能性があります。
- 潜在的なステーションの場所を偵察するためのLCD RSSIディスプレイを備えたハンドヘルドステーション。
ソフトウェア
- より積極的な睡眠を使用して、電力効率を改善しました。 SX1276を活用して、受信中割り込みまたはチャネルアクティビティ検出(CAD)割り込み(CAD)割り込み(CAD)が不活性の期間中にシステムを眠らせます。
- ダイナミックルートの発見。現時点では、ルートは静的ですが、航空オーバーエアを変更できます。
- ノードがオフラインになっている場合は、保存して転送します。
- 重複配信を避けるためのメッセージシーケンス。
- ネットワーク時間同期。
- Pythonで書かれた、よりユーザーフレンドリーなデスクトップアプリケーション。これにより、作業のカジュアルなユーザーにとって容認されます。ネットワークと対話するエンドユーザー。
- ネットワークセキュリティ。
- オーバーザエア(OTA)ソフトウェアのアップグレード。
関連するFCC規制/ノート
- パート97.311は、スプレッドスペクトル(SS)ルールを定義しています。
- パート97.303(n)は、33cmバンドのルールを定義しています。基本的に、ハムは他のサービスとバンドを共有する必要があります。テキサス、ニューメキシコ、コロラド、ワイオミングにも地理的な制限があります。
- パート97.309(b)は、不特定のデータ排出コードについて説明しています。基本的に、すべての形式を明確に文書化する必要があります。上記を参照してください。
- この会社は認証を行い、認定プロセスに関する詳細なガイドを提供します。
宣伝
- このプロジェクトに関する記事(Dan Brown W1Danと共著)は、ARRL QSTマガジンの2023年7月号のクラブステーションコラムに掲載されています。これを公開することはリーグが良かったです。
- 素敵なハッカデイの記事はここにあります。この記事は、インターネットがダウンしているときにネットワークをバックアップとして使用できるという意味を考慮して、面白いことに気付きました。 LoraでNetflixをストリーミングすることは試していませんが、ビデオの品質は大きくないと思います。 :-)
- Zero Retries Newsletterは2023年6月にプロジェクトをカバーしました。SteveStrohN8Gnjはこの広く読まれたニュースレターで素晴らしい仕事をしており、彼の記事で「ひどく誤った情報を与えられ、「近視眼」と呼ばれることを光栄に思いました。 Lindsay Lohanがかつて言ったように、悪い宣伝のようなものはありません!
著作権情報
Copyright(c)2023 -Bruce Mackinnon KC1FSZ
この作業は、GNUパブリックライセンス(V3)の条件の条件でカバーされています。詳細については、ライセンスファイルを参照してください。
この作業は、アマチュアラジオコミュニティによって非営利的な使用のために利用可能になっています。任意の部品の再配布、商業使用、または販売は禁止されています。