SemTechのLora Modem Designers Guide(AN1200.13)で定義された式の基本的な反応UIは、Thing Network(TTN)の頻度計画で使用されているデータレートの放送時間を示し、TTNパブリックネットワークに適用される制限を示します。
https://avbentem.github.io/airtime-calculatorで動作していることを参照してください。
次のバージョンには次のものが含まれます。
データレートが表示される頻度計画は、Things Networkの頻度です。それらは、頻度計画とロラワン地域パラメーターv1.0.2RBに基づいており、config.jsonで定義されています。
一部の頻度計画には、アップリンクとダウンリンクのデータレートが非常に異なります。これらの異なる「領域」は、US902(Uplink)やUS902 DL(ダウンリンク)など、このアプリケーションで定義されています。他の人は、EU868のようなデータレートの(ほとんど)を共有しています。
両方の国とロラワンの仕様は、最大デューティサイクルまたは最大滞留時間制限を定義する場合があります。いくつかの国で何らかの頻度計画を使用できる場合、異なる国では依然として異なる法的制限を課す可能性があります。そして:
仕様の表に記載されているデューティサイクルの制限は、法的制限ではなく、ロラワンが課した制限であることに留意することが重要です。商用デバイスを構築し、それらをロラワン認定にしたい場合は、仕様に従う必要があります。開発デバイスは、仕様に完全に準拠する必要はありません。すべてのデバイス(Lorawanであろうとなかろうと、ゲートウェイまたはノード、商業または開発)は、お住まいの国に適用される法的制限に準拠する必要があります。
[...]
ロラワンが課したデューティサイクルは、ノードのみに適用されます。ゲートウェイは、技術的にはロラワンではなくロラデバイスにすぎないため、ロラワンの仕様は適用されません。通常、規制上の義務サイクルの制限は、任意の送信機に適用されます。
AS923のように:
ロラワン1%の最大デューティサイクルは、923.20および923.40 MHzのみに適用されます。
400ミリ秒の滞留時間はオーストラリアには適用されない場合があります。
Lorawan仕様は、滞留時間設定に応じて、および可能なリピーターのカプセル化のサポートの有無にかかわらず、最大ペイロードサイズの複数のオプションを定義します。
初期の仕様では、これらの選択肢は、最大滞留時間が適用されない場合に頻繁に小さな最大値がリストされるため、非常に混乱しています。ただし、2020年2月のロラワン地域パラメーターRP002-1.0.1は、滞留時間の制限に関係なく、マクペイロードが230バイトを超えることはないと述べており、そのバージョンでは数字も調整されています。
この計算機は、RP002-1.0.1からの最大ペイロードサイズを使用しています。これにより、リピーターのカプセル化の可能性があり、最大滞留時間を考慮しません。デバイスがリピーターの下で動作しない場合、最大サイズは少し大きくなる可能性があります。滞留時間が定義されている場合、それらは最大ペイロードサイズに関係なく電卓で警告を生成し、それらの滞留時間が適用されないユーザーがまだ正しい(より高い)最大ペイロードサイズを見ることができます。
ペイロードサイズを変更すると、LORAパケットペイロードとヘッダーを構成するシンボルの数に常に影響するとは限りません。たとえば、これは、12バイト対12のアプリケーションペイロードサイズで非常に表示されます。これは、LORA無線変調、インターリーブ、前方エラー修正によって引き起こされる予想される結果です。グリッドの下のグラフはこれを視覚化します。
SemtechのLora Modem Designers Guide(AN1200.13)は、特にプリアンブルの長さ(信号を検出するため)、コーディングレート(CR、前方エラー補正のため)、ヘッダーモード(コードレート、ペイロード長、CRCなどの詳細を含むLORAヘッダーを含めるため)、および低データレートの最適化モード(Crytal Change on Eshing of the Contile in the comes of the now in semate in of the exasing in ofs of the exect in seftary)を定義します。 Lorawanの場合、これらは構成できないため、ユーザー入力として公開されません(URLを介して非デフォルト値が設定されている場合はCRを除く)。
Lorawanの場合、プリアンブルの長さは常に8、CRは常に4/5、Loraレベルのヘッダーは常に含まれ、125 kHzのSF11およびSF12では低データレート最適化モードがアクティブです。
ブラウザのコピーイベントは次のようにマッピングされます。
テキストが選択されている場合は、それをコピーします。これはブラウザによって処理されます。
それ以外の場合、ツールチップがアクティブな場合は、テキストをコピーします。これにより、HTMLとプレーンテキスト形式の両方が生成されます。デスクトップブラウザでは、ツールチップをコピーするためにキーボードが必要です。
または、結果をコピーします。これはHTMLのみをサポートします。
結果グリッドのラインが<br>される場合、これはn TTNフォーラムで使用されるようにn HTMLから談話のマークダウンへの自動変換に非常に固有の形式を使用します。回避策として、 <br>は<br>として出力されます。これは、談話の編集者で予想されるように処理されますが、他の場所に貼り付けると編集が必要です。もちろん、静的な結果を使用することは、とにかくあまり役に立ちません。
text/plainの場合、談話はHTMLよりも長い場合はプレーンテキストコンテンツを好むため、URLは追加されません。
このアプリケーションは共有可能なURLを念頭に置いて作成されたため、ほとんどすべてのユーザー入力が更新されたURLを生成します。
/<network>/<region>[/<parameters>] 、EG /ttn/eu868および/ttn/us902/6,14,cr48 。
<parameters>はコンマ区切りリストであり、次のことを定義します。
cr45の1つ、 cr46 、 cr47 、 cr48から取得したコーディングレートLinkAdrReqのような1つ以上のMacコマンドデフォルト値は<parameters>セグメントに含まれていません。これは現在適用されます:
cr45 :ロラワン用に固定されていますすべてのパラメーターがデフォルトを使用する場合、 <parameters>セグメントとそのスラッシュは除外されます。
GitHubページからこのシングルページアプリケーションを提供するには、カスタム404ページにJavaScriptリダイレクトを使用したいくつかのトリックが必要です。残念ながら、一部のブラウザ(Braveなど)は、「Waybackマシンで保存されているバージョンが利用可能かどうかを確認したいですか?」などのオプションを表示しようとする場合があります。予想されるリダイレクトを適切に実行する場合でも。最終200 OKがBraveの一部のサイトのバナーを削除する理由は不明ですが、GitHubページではそうではありません。
このプロジェクトは、Create Reactアプリでブートストラップされました。
Plotlyに限られたバンドルを使用する(ビルドから約690 kbを削除)、完全なバンドルのタイピングを使用している間、 tsconfig.jsonでpathsエイリアス構成が使用されます。ただし、テストまたはビルディング中に、Reactアプリの作成は大胆に削除します。
> react-scripts build
The following changes are being made to your tsconfig.json file:
- compilerOptions.paths must not be set (aliased imports are not supported)
...
TypeScript error in /src/components/result/Graph.tsx(1,20):
Could not find a declaration file for module 'plotly.js-basic-dist'
それを軽減するために、代わりにextendsを備えたいくつかのトリックが使用されます。これによりnpm testとnpm run buildの同じメッセージが表示され、ベースtsconfig.jsonをかなりフォーマットしますが、最終的にはextendsに触れず、 tsconfig-paths.jsonを使用しません。
プロジェクトディレクトリで、実行してください。
npm install
すべての依存関係をダウンロードします。ピア依存関係の欠落に関する警告を安全に無視できます。
npm start
開発モードでアプリを実行します。 http:// localhost:3000を開いて、ブラウザで表示します。編集すると、ページがリロードされます。また、コンソールに糸くずエラーも表示されます。
npm test
インタラクティブウォッチモードでテストランナーを起動します。詳細については、実行中のテストに関するCreate Reactアプリのドキュメントを参照してください。
npm test -- --coverage
カバレッジ付きのシングルテスト実行。
npm run lint 、 npm run lint:es 、 npm run lint:style or npm run lint:pretty
手動ですべてのリンジターとよりきれいに実行するか、コード、スタイルヒート、または残りのファイルのみを実行します。コミット前のフック(以下を参照)とは異なり、これは段階的なファイルに限定されません。
npm run build
Linterを実行し、(すべてが)成功した場合にのみ、 buildフォルダーに生産用のバンドルを最小限に抑えたアプリをビルドします。
/ttn/eu868/1,2のようなURLを最初にロードせずにロードできることを確認するには/ Apache .htaccessファイルを参照してください。
サブフォルダー用に構築するには、 "homepage": "/some/path/to/airtime-calculator"をpackage.jsonに設定します。これは、常にルートフォルダーからロードされる開発サーバーに影響しません。ルートフォルダーに展開するには、 "/"に設定するか、まったく設定しないでください。展開に関するCreate Reactアプリのドキュメントも参照してください。
コミット前のフックにより、糸くずエラーとフォーマットエラーがコミットできないことが保証されます。きれいなルールがリナーによって定義される可能性のある任意のフォーマットルールに取って代わることを許可するために、ESLINTとSTYLELINTの両方のプラグインとして実行され、どちらでも処理されない少数のファイルタイプを明示的に実行するように構成されています。
コミット前のフックは、段階的な変更を一時的に隠しているリントステージを使用していることに注意してください。これにより、IDEの外側で変更されたファイルに関するIDEショーの警告が発生する可能性があります。
Sourcetreeが黙ってコミット前のフックを静かにスキップするかもしれないことに注意してください。
言語とフレームワークでstylelintを有効にします|スタイルシート| stylelint 、およびオプションで編集者の標準検査を無効にします|検査| CSS 。 (たとえば、WebStormは@import-normalize; App.scssでは好きではありませんが、 // noinspection CssInvalidAtRuleを使用して、このコードの特定の検査を既に抑制しています。)
.prettierrc.yamlのよりきれいな設定はtrailingComma: es5を定義します。 「このプロジェクトのためにきれいに基づいてコードスタイルを使用しますか?」ウェブストームでは、これによりコーディングスタイルが得られます|句読点|トレーリングコンマ:マルチラインのときに追加します。残念ながら、これは関数パラメーターにも適用されます。これにより、再フォーマットコードのOption-Command-Lにヒットするときに過度のコンマが追加されます(ただし、よりきれいなフォレマット用のオプションシフトコマンド-Pではありません)。それを避けるために、手動でウェブストームを設定して、トレーリングコンマ:キープを使用します。
.editorconfigのエディター設定は、 max_line_lengthを定義します。これは、再フォーマットコードのオプションコマンドLを押すときに使用されますが、プレイティアを使用してフォーマットにオプションシフトコマンド-Pを使用する場合ではありません。