〔マイコンのトップに戻る〕
[Xbeeの実験]
[MicroPython]
[PyCharm導入]
[PyCharmの操作]
[PyCharmで開発]
[Open]アイコンをクリックし開き接続します。
("Open"すると"Close"アイコンに変わります)
A [使用する前にXBeeファイルシステムをフォーマットする必要があります。 続けたいですか?]と
ダイアログボックスが開きます。
[Yes]ボタンを押せばフォーマットが始まります。
フォーマットが完了すると、"XBee側エリア"にデフォルトのディレクトが表示されます。
次回以降フォーマットする場合は、[Format]アイコンで行いましょう。
[ ディレクトリ構造 ]
XBee 3 Zigbee RFモジュールの内蔵フラッシュは、ファイルシステムの最上位ルートは /flash として
唯一のエントリです。
/flash 以外のファイルおよびディレクトリは、最上位ルートには作成できません。
/flash 内にのみ作成できます。
デフォルトでは、/flash にはMicroPythonモジュール用の"libディレクトリ"が含まれています。
[ パス ]
XBee3 Zigbee RFモジュールはその全ファイルを最上位ディレクトリ /flash に保存します。
起動時に、ATFSコマンドとMicroPythonはそれぞれそのディレクトリを現在の作業ディレクトリとして
使用します。
ファイルまたはディレクトリへのパスを指定すると、次のように解釈されます:
・スラッシュで始まるパスは「絶対」であり、操作可能となるには"/flash"で始まる必要があります。
・他の全てのパスは現在の作業ディレクトリからの相対パスです。
・ディレクトリ .. は親ディレクトリを参照する為、ディレクトリ"/flash/test"で"../filename.txt"を
操作すると、ファイル"/flash/filename.txt"にアクセスします。
・ディレクトリ。現在のディレクトリを参照するので、コマンドATFS lsは
現在のディレクトリ内のファイルを一覧表示します。
・名前の大文字と小文字は区別されないので、FILE.TXT、file.txt、FiLe.TxTは全て同じファイルを
参照します。
・ファイル名とディレクトリ名は64文字に制限されており、文字、数字、ピリオド、ダッシュ、
アンダースコアのみを含める事ができます。名前の末尾のピリオドは無視されます。
・ファイル又はディレクトリへの絶対パスは、最大255文字です。
[ 制限事項 ]
XBee3 Zigbee RFモジュールのファイルシステムには、従来のファイルシステムと比べていくつかの
制限があります。
・ファイルシステム上のファイルが削除されても、それが使用していたスペースは利用されません。
使用されているスペースを再利用する唯一の方法は、ファイルシステムをフォーマットする事です。
FS INFOコマンドは、利用可能な容量と削除されたファイルによって使用されている容量を示します。
・ファイルシステムは、一度に1つのファイルを書き込み用に開く事とができます。
・ファイルが書き込み用に開かれている間、ファイルシステムは新しいディレクトリを作成できません。
・ファイル名を変更する事はできません。(XCTUからはできます)
・OTAファームウェアアップデートを実行すると、ファイルシステムの内容は失われます。
OTAファームウェアのアップデート後、全てのファイルシステムデータとバンドルされている
MicroPythonコードは消去されます。
ファイルシステムの実行を続けるには、OTAファームウェアの更新が完了した後に
新しいファイルシステムをデバイスに送信する必要があります。
OTAファームウェアのアップデート後にファイルをデバイスに保存する方法については、
[XCTUを使用したOTAファイルシステムの更新(下記)]を参照して下さい。
[ XCTUインターフェース ]
6.4.0以降のXCTUリリースでは、[ツール]メニューにファイルシステムマネージャが含まれています。
既存のファイルやディレクトリの名前変更や削除に加えて、デバイスへのファイルのアップロードや
デバイスからのファイルのダウンロードを行う事ができます。
(エクスプローラーの様な操作感です、ファイル操作はファイルシステムマネージャを使いましょう)
ファイルシステムを実行するには、下記 [XCTUを使用したOTAファイルシステムの更新]の
1番と2番までは操作しておきましょう。(PS. 操作しなくても動作する様です)
その機能の詳細についてはXCTU User GuideのFile System manager tool セクションを参照下さい。
[ XCTUを使用したOTAファイルシステムの更新 ]
ここまでの操作でこちらの"《パソコンと繋いでみる》"までの操作を終了していて、
XBee3の「Configuration設定画面」が表示されているものとして説明します。
尚、XCTUバージョンはV.6.4.3での説明となります。
XCTUを使用してOTAファイルシステム更新を実行するには、次の手順を使用します:
1. 公開鍵と秘密鍵のペアを生成します。
2. XBee 3デバイスに公開鍵を設定します。
3. OTAファイルシステムイメージを作成します。
4. OTAファイルシステムのアップデートを実行します。
1.公開鍵と秘密鍵のペアを生成する
XCTUには、公開鍵と秘密鍵のペアを.pemファイルに保管する為に使用できる
ECDSA鍵ペア生成プログラムがあります。
[ファイルシステムキーペアの生成]ダイアログにアクセスするには:
a)XCTUメニューバーから[Tools]→[File System Mamager]を順にクリックして、
[ファイルシステムマネージャ]ダイアログボックスを開きます。
b)上に示すように[Keys]アイコンをクリックします。
c)[ファイルシステムキーペアの生成]ダイアログで@:[Generate]ボタンをクリックします。
d)両方のキー(A:private.pem/B:public.pem)を安全な場所に保存してダイアログボックスを
閉じます。
e)[ファイルシステムマネージャ]ダイアログボックスを閉じます。
2.XBee3デバイスに公開鍵を設定する
a)XCTUでターゲットデバイスの「Configuration設定画面」を開き、
ファイルシステムオプションのカテゴリに移動します。
b)"File System Public Key"の列で、[Configure]をクリックします。
c)[ファイルシステム公開鍵の構成]ダイアログボックスで、[Browse...]をクリックして、
上記で公開鍵を保存した"public.pem"ファイルを選択します。
これが行われると、公開鍵のHEX値がダイアログボックスの[公開鍵]セクションの下に
表示されます。
d)[OK]をクリックして、キーがデバイスに書き込まれる事を確認します。
(注)これはローカルでのみ実行できます。
現時点では、XBee3ファームウェアはファイルシステム公開鍵のリモート設定を
サポートしていません。
3.OTAファイルシステムイメージを作成する
OTAファイルシステムイメージを作成するには:
a)[ファイルシステムマネージャ]ダイアログボックスを開きます。
b)OTAファイルシステムイメージの生成元となるデバイスで[Open]を開きます。
("Open"すると"Close"アイコンに変わります)
c)[FS Image]アイコンをクリックします。
d)表示される[署名付きファイルシステムのイメージの生成]ウィンドウで、
[Browse...]をクリックして、秘密キーが保存されている"private.pem"ファイルを選択します。
e)パスが"Private Key file:"フィールドに表示されたら、[Save]をクリックして
"file_system_image.fs.ota"ファイルを保存します。
ファイルが正常に生成された場合は、
[ファイルシステムイメージが正常に保存されました]ダイアログボックスが表示されます。
4.OTAファイルシステムのアップデートを実行する (この操作は行っていないm(_ _)m)
a)ターゲットデバイスを追加するには、ソースデバイスから同じネットワーク内の無線の検出を
クリックします。
b)リモートデバイスで設定モードに入ります。
c)[Update]ボタンの横にある下矢印をクリックして、[ファイルシステムの更新]を選択します。
この[Update]ボタンの横にある矢印はリモートデバイスにしないと現れない。?
では4.の操作からはコーディネーターからのリモート操作っていうことかしら?
d)ターゲットノードを更新する必要がある、
OTAファイルシステムイメージ("file_system_image.fs.ota")を選択します。
e)[開く]をクリックします。
ファイルシステムイメージが完全に転送されてリモートデバイスにマウントされると、
XCTUはファイルシステムが正常に更新された事を通知します。
[ FS(ファイルシステム)]
FSはサブコマンドを含むコマンドです。
これらのサブコマンドはFSの引数です。
応答コマンドが成功すると、現在の作業ディレクトリの名前やファイルのリストなどの情報が返されます。
報告する情報がない場合はOKが返されます。
失敗した場合は、失敗したATコマンドに対する一般的なERROR応答の代わりに詳細なエラーメッセージが
表示されます。応答は、名前付きエラーコードとエラーの説明文です。
(注)エラーメッセージの正確な内容は将来変更される可能性があります。
全てのエラーは大文字の'E'で始まり、その後に1つ以上の大文字と数字・スペース、及び
エラーの説明が続きます。
独自のATコマンド解析コードを書く場合は、応答の最初の文字が大文字の'E'で有るか同かを
調べる事によって、FSコマンドの応答がエラーで有るか同かを判断できます。
FS(ファイルシステム)
パラメータを付けずに送信すると、FSはサポートされているコマンドの一覧を表示します。(上図参考)
FS PWD
現在の作業ディレクトリを表示します。現在の作業ディレクトリは常に"/"で始まり、
起動時のデフォルトは"/flash"です。
FS CD directory
現在の作業ディレクトリを"directory"に変更します。
現在の作業ディレクトリ、又はディレクトリに移動できない場合はエラーを表示します。
FS MD directory
ディレクトリ名"directory"を作成します。
成功すればOKを、要求されたディレクトリを作成できなければエラーを表示します。
FS LS [directory]
指定された"directory"内のファイルとディレクトリを一覧表示します。
directoryパラメータはオプションで、デフォルトはピリオド(.)です。
これは現在のディレクトリを表します。(上図参考)
一覧表示は空白行(0x0D)で終わります。
エントリは、0個以上のスペースで始まり、その後にファイルサイズ、又はディレクトリの場合は
文字列<DIR>が続き、その後に単一の空白文字とエントリの名前が続きます。
ディレクトリ名は、ファイルと区別する為にスラッシュ(/)で終わります。
<DIR> ./
<DIR> ../
<DIR> lib/
32 test.txt
FS PUT filename
XBeeスマートモデムでYMODEM受信を開始し、受信したファイルを"filename"に保存します。
YMODEM転送のブロック0にて送信されるファイル名は無視します。
XBeeスマートモデムは、
受信準備が整うとプロンプト:(Receiving file with YMODEM...)を送信します。
この時点で、端末エミュレータ(Ter Term等)でYMODEM送信を開始する必要があります。
コマンドが正しくない場合、応答はエラー応答で説明されている様にエラーになります。
FS HASH filename
ファイルのローカルコピーに対する検証を可能にする為に、SHA-256ハッシュファイルを表示します。
Windowsでは、コマンド certutil -hashfile test.txt SHA256 を使用してSHA-256ハッシュファイルを
生成できます。
MacとLinuxでは、shasum -b -a 256 test.txt を使用してください。
FS GET filename
XBeeデバイス上で"filename"のYMODEM送信を開始します。
送信準備が整うとプロンプト:(Sending file with YMODEM...)を送信します。
プロンプトが送信されたら、
ターミナルエミュレータ(Ter Term等)でYMODEM受信を開始する必要があります。
コマンドが正しくない場合、応答はエラー応答で説明されているようにエラーになります。
FS RM file_or_directory
"file_or_directory"で指定されたファイル又は空のディレクトリを削除します。
"file_or_directory"が存在しない、空でない現在の作業ディレクトリ、
又はその親ディレクトリのいずれかを参照している場合、このコマンドはエラーで失敗します。
(注)ファイルを削除しても、そのファイルが使用していたスペースは再利用されません。
ATFS INFOコマンドを使用して、削除されたファイルによって使用されている容量を確認できます。
上の"RM"コマンドが失敗しているのは、
ATコマンドモードの10秒タイムオーバーでキー入力が終了しなかった為です。
なので、"CT"コンフィグレーション設定で30秒設定に変更して行ったのが下の実行です。
"xbee3_test.txt"は適当にPCで作成後、
"ファイルマネージャー"でドラッグ&ドロップ操作でXBee3に送りました。
FS INFO
ファイルシステムのサイズについて報告し、使用中のバイト数、使用可能なバイト数、不良及び合計の
マークを表示します。
ほとんどの複数行ATコマンド出力と同様に、報告書はブランク行(0x0D)で終わります。
出力例:
204800 used
695296 free
0 bad
900096 total
FS FORMAT confirm
ファイルシステムをフォーマットし、デフォルトのディレクトリ構造のままにします。
フォーマットを確認する為の最初のパラメーターとして、confirmという語を渡します。
XBeeスマートモデムは、フォーマットが開始されると"Formatting ..."と応答し、
終了すると"OK"とそれに続くキャリッジリターンを表示します。
[ FK(ファイルシステム公開鍵)]
FKはデバイスのファイルシステム公開鍵を構成します。
65バイトの公開鍵は、無線でダウンロードされたファイルシステムがZigbeeファームウェアと互換性の
ある有効なXBee3ファイルシステムである事を確認する為に必要です。
詳しくは、XBee3デバイスで公開鍵を設定するを参照してください。
Parameter range
有効な65バイトのECDSA公開鍵
その他の受け入れられているパラメータ:
0 公開鍵をクリアする
1 公開鍵の上位48バイトを返します
2 公開鍵の下位17バイトを返します
Default
0
(注)デフォルト値の0は、公開鍵が設定されていない為、
全てのファイルシステムの更新が拒否される事を示します。
【きむ茶工房ガレージハウス】
Copyright (C) 2006-2019 Shigehiro Kimura All Rights Reserved.