問題タブ [bluetooth-mesh]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bluetooth - Raspberry Pi 用 Bluetooth メッシュ
問題
私は現在、Raspberry Pi 用の Bluetooth 通信ライブラリに取り組んでいます。単純なメッセージングをサポートするだけで済みます。主な要件は、分散化されていることです
したがって、Bluetooth メッシュが最適なソリューションになると考えました。このガイドに従ってLinux meshctl ツールをインストールしましたが、複数の Raspberry Pi 間でメッセージを送信する機能が見つかりませんでした。meshctl ツールは、Bluetooth メッシュ ネットワークのプロビジョニングと構成専用のようです。
これは正しいです?私が間違っている場合は訂正してください。
解決?
Zephyrは実行可能な代替手段ですか? Bluetoothメッシュに関しては、現在のところLinuxよりも進んでいるようです。
TLDR : Linux 用の meshctl ツールは、プロビジョニングと構成専用ですか? 代わりにZephyrを使用する必要がありますか?
c++ - Zephyr OS で BLE メッシュの長距離を有効にする方法
私は Bluetooth メッシュ ネットワーク ソリューションに取り組んでおり、範囲を広げる必要があります。
nrf52840 DK と nrf52840 ドングル、nrf5SDKforMeshv310 を使用しています。Nordic Devzone で、メッシュ用の NRF SDK で BLE 長距離モードを有効にするソリューションを見つけました。
ノート!ソリューションが Bluetooth Mesh 標準に準拠していないことは承知しています。
次の変更が nrf5 SDK for Mesh v310 に適用されました。
- Advertise.c では、set_default_broadcast_configuration() が radio_mode を変更して、RADIO_MODE_BLE_1MBIT の代わりに RADIO_MODE_NRF_62K5BIT を使用するようにしました。
- scanner.c で、scanner_config_reset() は、RADIO_MODE_BLE_1MBIT の代わりに RADIO_MODE_NRF_62K5BIT を使用するように scanner_config_radio_mode_set() を変更しました。
- radio_config.c では、radio_config_config() が最後に次のコードを追加しました。 /li>
Broadcast.c では、time_required_to_send_us() が追加されました。
同じファイルで RADIO_PREAMBLE_LENGTH_LR_EXTRA_BYTES = 9 を定義
radio_mode_to_us_per_byte[] の 5 番目の要素を 128 から 64 に変更しました。
ノート。長距離モードのラベルが間違っていること。ヘッダー ファイルでは RADIO_MODE_NRF_62K5BIT と呼ばれていますが、代わりに 125kbps BLE ロング レンジ モードに対応しています。
残念ながら、リレーに関しては、Zephyr を使用してフレンド機能をサポートするように求められており、NRF SDK に変更を適用した後、Zephyr はメッセージをリレーしていません。Zephyr 側で簡単な調査を行ったところ、上記の NRF SDK 用の BLE 長距離用のコード ビットが配置されており、次の Kconfig 設定を使用して有効にできることがわかりました。
しかし、Zephyr 側でメッセージが中継されていることはまだわかりません (J-Link RTT Viewer を使用)。また、Bluetooth とメッシュのログ レベルを DEBUG に上げようとしましたが、メッセージが不正な形式または拒否された兆候は見られません。
Zephyr側でどの方向に掘り下げる必要があるか、誰かがアイデアを持っているかもしれませんか?
floating-point - Bluetooth 浮動小数点表現
この Bluetooth メッシュの特性を実装しようとしています。
https://www.bluetooth.com/wp-content/uploads/Sitecore-Media-Library/Specifications/Mesh/Xml/Characteristics/org.bluetooth.characteristic.illuminance.xml . この特性は、ルクス値を 3 バイトで表します。
しかし、0x123456 のような値を実際の浮動小数点数に変換する方法がわかりません。標準の IEEE 754 規格は使用されていないようです。DecimalExponent
また、と の意味もわかりませんBinaryExponent
。
誰か助けてくれませんか?よろしく、ダーン