
前回の記事ではADCを実行する際の参照電圧としてXBeeの電源電圧を使用した場合の解説を行いました。通常は、XBeeの電源電圧は三端子レギュレータやDC-DCコンバータを用いて定電圧を供給されることが一般的です。しかし、電池動作のリモートXBeeにおいて、電池の寿命を延ばすために電池を直接接続することも可能です。XBee3の電源電圧の電圧範囲は以下のとおりです。
推奨電圧(標準) | 3.3 V |
最小電圧 | 2.1 V |
最大電圧 | 3.6 V |
例えば電圧3.6Vの電池をXBeeの電源電圧として使用した場合、電池が消耗して電池の電圧が2.1VになるまでXBeeに給電することできます。ところが、この場合にXBeeの電源電圧をADCの参照電圧として使用した場合は、参照電圧の正確な計測が必要となります。
この他にも、電池動作のリモートXBeeの電源電圧をモニタリングする際に電源電圧を検出する必要に迫られる場合も考えられます。Digiは詳細を公表していませんが、XBee3ではADCを用いずに内部基準電圧を用いて電源電圧をモニタリングしています。この値を知るためにはMicroPython Terminalを用いる必要があります。そこで今回はMicroPython Terminalに関して解説します。
(1)MicroPythonが使用可能なファームウェア
XBee3のMicroPython Terminalは、すべてのファームウェアで使えるわけではありません。MicroPythonが使えるかどうかは、ファームウェアの種類とバージョンによって決まります。
以下のファームウェアではMicroPython(およびMicroPython Terminal)が使用可能です:
ファームウェア種別 | 使用可否 | 備考 |
802.15.4(`XB3-24`) | 使用不可 | MicroPython非対応 |
Zigbee(`XB3-24ZB`) | 使用可能 | Zigbee 3.0以降で有効(Zigbee THも含む) |
DigiMesh(`XB3-24DM`) | 使用可能 | DigiMesh対応ファームウェアで有効 |
Wi-Fi(`XB3-24WB`) | 使用不可 | 対象外 |
(2)ボーレートの設定
ボーレート(baud rate:通信速度)とは、シリアル通信(UART)でデータを送受信する際の速度のことです。DigiによるとMicroPythonをXBee3で使用する場合、MicroPythonが入力に応答性を持つように、最適なボーレートである115200bpsの使用を推奨しています。
このボーレートが推奨される理由は、XBeeモジュールと接続デバイス間の効率的なデータ転送を可能にするのに十分な速度であり、遅延を最小限に抑え、スムーズな動作を保証するからです。さらに、XBee3のUARTハードウェアが標準対応であり、XCTUやMicroPython Terminalも115200 bpsを前提に設計されており、USB-UART変換モジュールとの互換性が高いことが理由となります。
以上のことを考慮しリモートXBeeのファームウェアの設定をZigbeeに変更します。
UpdateボタンをクリックしUpdate firmwareのダイアログを表示させ、以下のように設定してUpdateをクリックします。

さらに、APをMicro Python REPL[4]に設定し、BDを115200[7]に設定します。 REPL は Read Evaluate Print Loop の略です。

Toolsのメニューの中からMicroPython Terminalを選択します。

MicroPython Terminalのダイアログの左上のボタンでモジュールを接続します。

カーソルがブリンクしている状態でエンターを押すとプロンプト>>>が表示されます。
最初は1行ずつ対話形式で入力するスクリプト実行で確認していきましょう。
例えばプロンプトにprint(“Hello”)と入力してエンターを押すとHelloがプリントされます。

これでMicroPython Terminalの準備ができました。次回はMicroPythonを用いて電源電圧を表示させてみます。