BuhoCleanerを使ってみた

SSDサイズというのは時間経過とともに段々圧迫されていきますが、SSDの領域(ゴミ)クリーナーとしてBuhoCleanerの評価が良さそうなので使ってみました

無償版は削除できるのが3GBまでなので途中で削除止まったので、有償版購入して実行してみた、永久ライセンスで2,980円也、永久といってもどこかで使用不能にはなるのですが、Macのデスク容量512GBが現在購入価格で3万円相当だから、およそ50GB削除できれば見合う計算か、まあそれ以外に動作が軽くなる可能性もあるわけだし

スキャンでジャンク22GBと出たので、そのまま削除実行

実行結果で、

20GBぐらいは増加してるようだ、まあ定期的なゴミ取りツールとして見れば妥当なところか、

メニューには他の機能もあるけど、Mac OSの基本機能との差は何なのかな?

追記:常駐しててこんな画面がワンクリックで現れるから、アクティビティモニターより使いやすいかも

 

admin

HUB75 LEDにプレゼンターの名前表示

Apache + PHP配下で動いているプレゼン管理アプリにHUB75 LEDアレイつないでプレゼンターの名前を表示するようにした

全体の構成は以下の図の通りで、発表管理アプリは他人が作ったものなのでソースコードの公開は無し、発表者リストのトップの名前をHUB75 LEDに表示するようにしてみた

<発表管理画面>

このトップにあるゲスト20を@以下はjsで削除(最大全角4文字、半角8文字までの表示制限)してgolangサーバーにfetch、golangサーバーにはjs用の口を作って、CORS対応にしています

jsで発表者の並べ替え対応しているので、並べ替えが発生するとeventListenerを起動してgolangサーバーにfetchするようになってます

https://github.com/chateight/golang/tree/master/image

golangサーバー側のソースはこんな感じ、

 

jsで追加部分のコードを抜き出すとこんな処理、ブラウザのjsキャッシュが残っていて結構ハマりました

// notify top presenter name
//
function notifyTopPresenter() {
  const firstItem = document.querySelector("#presentersList .list-item");
  if (firstItem) {
    const name = firstItem.querySelector(".presenter-name")?.textContent || "";
    const event = new CustomEvent("topPresenterChanged", {
      detail: { name: name.trim() },
    });
    document.dispatchEvent(event);
  }
}

// listener for topPresenterChanged event
//
document.addEventListener("topPresenterChanged", function (e) {
  let name = e.detail.name || "";
  name = name.trim().replace(/^["“”'‘’]+|["“”'‘’]+$/g, "");
  name = name.split("@")[0];

  const formData = new FormData();
  formData.append("text", name);
  console.log("先頭の発表者:", name);
  fetch("http://rasp-b.local:8000/uploadText_js", {
    method: "POST",
    //headers: { "Content-Type": "application/json" },
    body: formData
  })
  .then(res => res.text())
  .then(msg => console.log("サーバー応答:", msg))
  .catch(err => console.error("通信エラー:", err));
});

しばらく運用して改良点は反映の予定

 

admin

geminiのAPI経由の使用可能モデル変更されてるね

https://isehara-3lv.sakura.ne.jp/blog/2025/04/28/ラズパイ5のchatbot機能を統合/

4月にラズパイ5で作ったchatbot久々に動かそうとしたら動かない、より正確にはDifyからのレスポンスが返らない(回答が空か短すぎると言われる)、さらに調べるとgeminiへのqueryがエラーになっている

5月あたりにgoogleの対応が変わっていて、古いモデル名は使えなくなっているらしい、以下のFlash 001用のようなモデルは終了で末尾がlatestのモデルを選択したら動いた

変更後、

確認はcurlで、

curl -X POST 'http://localhost/v1/chat-messages' \
--header 'Authorization: Bearer app-***** your api key' \
--header 'Content-Type: application/json' \
--data-raw '{
    "inputs": {},
    "query": "What are the specs of the iPhone 13 Pro Max?",
    "response_mode": "streaming",
    "conversation_id": "",
    "user": "abc-123",
    "files": [
      {
        "type": "image",
        "transfer_method": "remote_url",
        "url": "https://cloud.dify.ai/logo/logo-site.png"
      }
    ]
}'

但し、最近無償版は混雑しているようで、割と頻繁にbusyで帰ってくるから、使いたいなら有償にしなさいよと言ってるようだ、それならばローカルLLMの選択もありだよね

 

admin

sesame関連の電池の仕様と寿命のまとめ

sesameデバイスの種類が増えてきたので、電池の仕様のまとめ

sesameの電池型格
————————-

・セサミ5:CR123A

・セサミタッチ:CR2

・リモコン:CR2450*(1~3個)

・オープンセンサー:CR1632

セサミ5とセサミタッチはそこそこ大容量電池、消費電力多そうだし(一年ぐらいで見とくのが良さそう)、リモコン(電池3個で3年)はそこそこで、オープンセンサーはおそらくライフ中(10年有効とか)に電池交換の機会はなさそうだ

 

admin

この機能に、フロントエンド(アナログ信号の前処理)追加、

https://isehara-3lv.sakura.ne.jp/blog/2025/07/02/オシロスコープのスイープとトリガ条件を追加/

① AC入力のマイナス側も扱えるように、GNDレベルをVss/2 = 1.65 V付近にする、ゲインはフルスケール考慮して-6db

② 次の処理でゲイン6db(プラス方向にしか振れないパルス用)と0db(AC信号用)の選択をデジタルポテンショメーター使ってできるようにした(ただし、i2cバスで値を書き込んでもレスポンスまともだけだけど結果は無視された状態、つまり電源投入状態のwiperが中点状態のまま)、目的はADCの前にダイナミックレンジを確保したかったから

後の処理ではオシロスコープとするには、ADCから読み取った値が反転しているから元に戻す処理必要だけど、コードには未反映

https://github.com/chateight/dsp

回路図とi2cのタイムチャートをアップロードしてあります

 

admin

 

 

 

sesame(smart lock)のアップデート

一ヶ月半使って、不自由に感じたところをアップデート、痒いとこに手が届く製品はちゃんと標準で用意されてます

    1. ドアを開放したままにしたい時でもセサミのタイマーで自動ロックされてしまう
    -> オープンセンサーでセサミタイマーロックは無効にしてオープンセンサーのタイマを使う、ただしセサミタイマーロック無効にするとドア解錠した後にドアを開かないと、オープンセンサにもトリガ条件入らないから、再度自動でロックされない問題あり
    2. いちいちアンロックでセサミのノブを回すのが面倒
    -> リモコンオープナー(クローズ機能付き)を使う

おそらくこの運用でしばらくは問題ないと思う、あとはドアアンロックで顔認証使うとかだけど、それは今のセサミタッチが壊れた時かな

P.S. リモコンオープナーの電池残量不安定(一週間経過後に60%とかになっていて、尚且つその値は不安定で90%以上に回復してる時もある)、sesameに問い合わせると改善検討中との回答、CR2450を3個使いにした方が安定そうだから電池追加で手配した、元々が電池3個入るようになっているのもそのための考慮のように思う

 

admin

オシロスコープのスイープとトリガ条件を追加

概ねどんなオシロスコープにもある表示モードは、

・トリガーモード

・フリーランモード

・ワンショットモード

昨日までの実装はトリガーモードだけだったので、フリーランモードを追加した

該当部分のロジックは、以下のコード、

要はおよそ4ms(2μs*2*1000)の間にトリガー要件が発生しないと、そこからADCのデータ取得して表示しています

ワンショットモードは、トリガーモードで一度条件発生したら以降のトリガーは無効にするだけだろうから包含されていて設定だけの問題

この機能を追加するだけで、普通のオシロスコープらしくなります

ADCの入力開放でフリーラン状態の写真、入力開放だと概ね0.8Vぐらいに見えるようです、何らかの入力保護回路は入っているんだろうけども

 

admin