#M5StackLLM セッションをローカル実行する -3-

あとは、些細な環境調整。

 ・サービス化して、自動起動するようにしておく

 ・応答の音量を大きくする

 ・応答準備ができたらわかるようにする

 ・リセットスイッチでサービスの再起動する

 サービス化して、自動起動するようにしておく

 手放しで起動しただけで使えるようにサービス化しておく。


root@m5stack-LLM:~# vi /etc/systemd/system/llmwake.service
root@m5stack-LLM:~# cat /etc/systemd/system/llmwake.service
[Unit]

Description=Telnet JSON Communication Service for LLM

After=multi-user.target


[Service]

Type=simple

ExecStart=/usr/bin/python3 /root/llm.py

Restart=always

RestartSec=5

User=root

WorkingDirectory=/root


[Install]

WantedBy=multi-user.target


root@m5stack-LLM:~# systemctl enable llmwake.service

Created symlink /etc/systemd/system/multi-user.target.wants/llmwake.service → /etc/systemd/system/llmwake.service.


root@m5stack-LLM:~# systemctl start llmwake.service


root@m5stack-LLM:~# systemctl status llmwake.service

● llmwake.service - Telnet JSON Communication Service for LLM

Loaded: loaded (/etc/systemd/system/llmwake.service; enabled; vendor prese>

Active: active (running) since Wed 2025-02-19 22:46:33 JST; 13s ago

Main PID: 44517 (python3)

Tasks: 1 (limit: 2357)

Memory: 9.7M

CPU: 560ms

CGroup: /system.slice/llmwake.service

└─44517 /usr/bin/python3 /root/llm.py

Feb 19 22:46:33 m5stack-LLM systemd[1]: Started Telnet JSON Communication Servi>

 応答の音量を大きくする

 デフォルトの音量だと、TTSのアウトプット音が小さい。

 設定は、Audioの中でやる。パラメータは"playVolume": 0.5のところ。騒々しい展示場所でのデモに使う予定なので、最大は10なので10にしておくかな。

 10にしても、そこまでデカくはないのはスピーカーがこんなチャチなやつなので仕方がないか。

 応答準備ができたらわかるようにする

 システムの起動は、音とLEDでわかるのだけど、llmサービスの準備ができたのがわからないのは不便だ。音は別に作るのが面倒なので、LEDも色を変えるかな。

 起動中は赤で、起動後は緑なので、安直に使っていない青にしとく。

 subprocessとかめんどい。返り値は取れなくていいので、osモジュールでos.systemで起動したらいいかな。


import os
os.system("echo 0 > /sys/class/leds/R/brightness; echo 0 > /sys/class/leds/G/brightness; echo 255 > /sys/class/leds/B/brightness")

 リセットスイッチでサービスの再起動する

 そういえば、リセットスイッチがあるのだけど、これって使えるのかな?

 なんかイベント割り込みが起きているか、evtestコマンドで調べてみる。


root@m5stack-LLM:~# sudo apt-get install evtest

Reading package lists... Done

Building dependency tree... Done

Reading state information... Done

The following additional packages will be installed:

evemu-tools libevemu3

The following NEW packages will be installed:

evemu-tools evtest libevemu3

0 upgraded, 3 newly installed, 0 to remove and 117 not upgraded.

Need to get 40.7 kB of archives.

After this operation, 210 kB of additional disk space will be used.

Do you want to continue? [Y/n] y

(snip)


root@m5stack-LLM:~# sudo evtest

No device specified, trying to scan all of /dev/input/event*

USAGE:

Capture mode:

evtest [--grab] /dev/input/eventX

--grab grab the device for exclusive access

Query mode: (check exit code)

evtest --query /dev/input/eventX

is one of: EV_KEY, EV_SW, EV_LED, EV_SND

can either be a numerical value, or the textual name of the

key/switch/LED/sound being queried (e.g. SW_DOCK).

 ダメだね。見えるようになっていない。

 これは、ちょっと手がかかりそうなのでパスか。


オリジナル投稿:
#M5StackLLM セッションをローカル実行する -3-|kinneko|pixivFANBOX
https://kinneko.fanbox.cc/posts/9470491