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

・サービス化して、自動起動するようにしておく
・応答の音量を大きくする
・応答準備ができたらわかるようにする
・リセットスイッチでサービスの再起動する
サービス化して、自動起動するようにしておく
手放しで起動しただけで使えるようにサービス化しておく。
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 key/switch/LED/sound being queried (e.g. SW_DOCK). ダメだね。見えるようになっていない。 これは、ちょっと手がかかりそうなのでパスか。 オリジナル投稿:
#M5StackLLM セッションをローカル実行する -3-|kinneko|pixivFANBOX
https://kinneko.fanbox.cc/posts/9470491



