Windows 11からM5Stack LLM モジュール に触ってみる(2)環境設定とアプリケーション


前回に引き続きLLM モジュールを触ってみます。

開発環境としてArduino IDE (2.3.6)を使います。

Arduino IDE からのメッセージ送信や結果などの表示にM5Stack CoreS3 SE を使ってみます。

 

 

 

 

 

 

 

 

 

 

 

PCと接続

 

 

 

 

 

 

 

 

アプリケーションではllmを使った生成AIでチャットをやってみます。

元ネター>Module LLM-LLM Generative Dialoge

 


環境設定1

Windows側にArduino IDE をインストールしてツールを設定

 

 

 

 

 

 

 

インストールして起動したらメニュのファイルー>基本設定からM5Stack 開発用のボード情報などを設定します。

 

 

 

 

 

 

 

 

 

 

 

Arduino IDE は基本英語版なので、Language は日本語に変えておきます。

またボード情報のURLにはコピー・ペーストしてOKをクリック。

 

 

 

 

 

 

 

 

 

 

メニュのTool ->Board->Boards Manager を開いてM5Stackを検索してインストールします。

 

 

 

 

 

 

 

再起動して日本語表示。

再度ツールのボードマネージャーからボードとしてM5CoreS3 を選択します。

 

 

 

 

 

 

 

 

 

 

 

 

 

ポートは COM n (AirM2M_CORE_ESP32C3) と表示されているものを選びます。

LLM モジュールのライブラリ追加

メニュのスケッチー>ライブラリをインクルードー>ライブラリを管理を開きます。

M5ModuleLLM を検索してインストールします(依存ライブラリM5Unifiedもプロンプトに従ってインストール)。

 

 

 

 

 

 

 

 

 

 

 

一旦Arduino IDE は終了。

 


環境設定2

ここではModule LLM – LLM 生成型対話をやってみるので、それ用の設定をします。

元ネタ Module LLM – LLM Generative Dialogue

LLM モジュール側にライブラリをインストールします。

Tera Term を使います。

Tera Term のインストールに関しては前回のWindows 11からM5Stack LLM モジュール に触ってみる(1)アクセス編

WindowsからLLM モジュールにアクセスの項を参照してください。

Tera Term は上記Arduino IDE とは違うポートで開きます(CH340 と書かれたポート)。

 

 

 

 

 

 

メニュの設定ー>端末を開いて通信速度を115200に設定します。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CoreS3 SE のポートからUSBケーブルを抜いておきます。

LLM モジュールのType-C ポートに電源を供給するとモジュールが起動します。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

llm-llm のパッケージをインストール

base model の qwen2.5-0.5B-prefill-20eをインストールします。ただ、これはaptのリポジトリにはもうないみたいなので、ダウンロードしてインストールします。

wgetで降ろしてもいいのですがモデルのサイズが大きのでLLM モジュールのそれでは時間がかかります。母艦のWindowsでダウンロードしてscpで転送した方が速いかも…..。

ダウンロード先 Download llm-model-qwen2.5-0.5B-prefill-20e

debファイルがダウンロードされます。

Windows側でターミナルを開いてダウンロード場所に移動します。

ip a でLLM モジュールのアドレスを調べておきます。

で、転送。

転送されたローカルにあるdebをaptでインストールします。

ところで、lib-llm は1.3だけど、1.6以上が必要ですよと言われた場合、

上と同様に1.8のdebファイルをダウンロードしてインストールします。

lib-llm (1.8)

scpで転送してaptでインストール

 

ところでデフォルトのllm-llmのバージョンは1.3なのでllm-llmも1.9にアップグレードしておきます。

llm-llm(1.9)

 

バージョン確認

 

Tera Term を終了して、LLM モジュールからケーブルを抜いて、再度CoreS3 SE のポートにケーブルを挿しておきます。

 

 

 

 

 

 

 


アプリケーション

Arduino IDE を再起動したらメニュー>ツールからボードとポートを再設定しておきます。

 

新しいスケッチに以下のようなLLM CoreS3のソースコードをコピー・ペーストします。

 

矢印ボタンをクリックして書き込みます。

 

コンパイル後、CoreS3 SEにデプロイされます。

 

 

 

 

 

 

 

 

 

 

CoreS3 SE 側

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Arduino IDE からチャットを開始するために、シリアルモニターを開きます。

 

 

 

 

 

 

 

 

 

 

 

設定で改行とボーレート(115200)をこのように選択。

 

 

 

 

 

 

 

 

 

 

メッセージ欄に例えば「How are you ? 」と入れてリターン。これでメッセージがシリアル通信でCoreS3に送られます。

 

 

 

 

 

 

 

 

 

 

 

メッセージはLLM モジュールで処理されチャットの内容が推論されて表示されます。

 

 

 

 

 

 

 

 

 

 

 

この程度のQ&A ならかなり高速にやりとりされています。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Appendix

今回はCoreS3 SE を使っていますが、Gray でもできます(もう販売終了になってますから中古市場にしかありませんけど)。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Arduino IDE の変更点は以下の2点。

ボード情報は「M5Core 」、ポートは「Silicon Labs CP210x USB to UART Bridge」

 


Next

Gray のバッテリをスタックすれば、単体で起動します。Grayのバッテリは110mAh程度なのであまり持ちません。なお、M5Stack のType-Cポートから充電することができます。

CoreS3 SEの電源系ボタンはPowerとResetの2ケ所あります。

 

 

 

 

 

 

 

 

 

どちらかを6秒ほど長押しすると電源が切れるのですが、もう一方から起動することはできないようです。電源は切ったボタンからのみ起動もできます。

ところで、外部からメッセージを受信する方法は?Wi-Fi?

Google のAIが教えてくれました。

M5Stackに外部から文字列を送信するには、USBシリアル通信、Wi-Fi、またはBluetooth通信を利用します。PCから文字列を送信する場合は、M5Stackのプログラムで該当する通信手段(Serial.print()WiFiClientBluetoothSerialなど)を呼び出し、送信された文字列を受け取って表示または処理させます。

……だそうです。

 

 

 

 

 

 

 

 

 

 

 


関連ページ

Windows 11からM5Stack LLM モジュール に触ってみる(1)アクセス編

Windows 11からM5Stack LLM モジュール に触ってみる(2)環境設定とアプリケーション

Windows11からM5Stack LLM モジュール に触ってみる(3)アプリケーション(TTS)

Windows11からM5Stack LLM モジュール に触ってみる(4)アプリケーション(SerialTextAssistant + TTS)

LLM モジュール のSerialTextAssistant + TTS のシリアルモニタにPythonを使ってみる

 


 

Be the first to comment

Leave a Reply

Your email address will not be published.


*