Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

2025-06-01から1ヶ月間の記事一覧

M5StackでCPUクロックを変更する前にシリアルのボーレートを弄ると表示がバグるので注意

M5StackのコアであるESP32系にはCPUクロックを落として省電力化する機能があります。 ただし、これの呼び出しタイミングを誤ると、シリアル通信などクロック依存のタスクに影響がでます。 そのため、CPUクロック変更命令はM5.begin()の前に呼び出しましょう…

NeoHex等のGroveに繋げるFastLED対応の光物をI2Cに繋いでもちゃんと動かないよ(戒め)

M5stack BasicのGroveポートに一個つないでた時には動いたNeoHex(WS2812B)が、 その列にエンコーダーユニット (M5Stack-U135)をつなぐと0番と1番のLEDだけ最大発光の緑や黄色になる奇妙な現象が発生。 まぁ何のことはなく、NeoHexはI2Cじゃないので無理…

.

.

.

.

.

.

.

.

FastAPIとuvicornサーバーを使った簡易ロボットサーバー その2:JSONをうける

実際のところ スクリプト # ownserver.py from fastapi import FastAPI, HTTPException from pydantic import BaseModel, Field from typing import Literal app = FastAPI() # リクエストボディのスキーマ定義 class RobotCommand(BaseModel): direction: L…

FastAPIとuvicornサーバーを使った簡易ロボットサーバー その1:環境構築

実際のところ 目標 JSONで記述されたロボットの動きを取り次ぐAPIサーバー on RasPi ライブラリのダウンロード pip3 install fastapi uvicorn[standard] 最小動作確認 # ownserver.py from fastapi import FastAPI app = FastAPI() @app.get("/") async def …

.

.

.

.

,

,

.

.

n8nでOpenAIとTelegramを連動する その2:Telegramの投稿からOpenAIのフローを経由して改めてbotへ

実際のところ 全体像 "HTTP Requests"は前回同様 msgモデルはPromptを{{ $json.result[0].message.text }}でうけるTelegramは{{ $json.output[0].content[0].text }}でうける 結果

n8nでOpenAIとTelegramを連動する その1:n8nのチャットUIからTelegramのbotへ

実際のところ チャット画面で指示して結果をTelegramにとばす Telegram Send a text Message 今回は固定動作なので、ChatIDはすでに有効なチャットIDを固定で入力しときます"Basic LLM Chain"ノードからは素のTextしか返ってこないので、投稿枠は {{ $json.t…

OpenAIのAPIをn8n用に有効にする

実際のところ 前提 すでにChatGPT Plusに登録済み 手順 ChatGPT側 platform.openai.com にアクセス、ChatGPTのと同じアカウントでログインAPI KEYの発行ページへ ここで発行されるキーを安全に確保しておく n8n側 Credentialsを追加 試しに実行してみると、…

【読書メモ】偽科学・ 珍学説読本

「図説」偽科学・珍学説読本作者:グレイム ドナルド原書房Amazon

.

.

n8n + Telegram botで簡易な対話UIをつくる その2:メッセージ多重読みの防止

実際のところ 全体図 各ノード execノード 今回はpodmanでn8nのインスタンスを作っているので、内部のtmpに保存するようにします cat /tmp/last_update_id 2>/dev/null || echo 0 HTTP Requestノード 前の処理で入手したlast_update_id をoffsetとして設定 …

n8n + Telegram botで簡易な対話UIをつくる その1:msgを判定してアクションを返す

BotFatherでつくったボットに対して処理系を実装し特定のコマンド(今回は'/hi')か否かでアクションを変えます 実際のところ 全体像 HTTP Requests 最後の一個だけとる https://api.telegram.org/bot{{YOUR_APP_TOKEN}}/getUpdates?offset=-1 IF {{ $json.r…

ナウなヤングのワークフロー自動化ツールn8n その3:POSTアクションを実装する

Execute commandでcurlを叩けますが、折角なのでHTTPリクエストを使ってやりましょう 実際のところ HTTP requests 受け手のnetcat postmanの同じコンテナにログインして $ nc -l -p 18080としてやれば中身を確認できます POST / HTTP/1.1 Host: 127.0.0.1:18…

ナウなヤングのワークフロー自動化ツールn8n その2:簡単なツールを作ってみる

実際のところ 全体像はこんな感じ Webhook クリックすると、こんなのが出てくるので POSTにしてJSONをそのまま流すように書き換え Code in Javascriptノード const item = items[0]; const now = new Date().toISOString(); item.json._meta = { id: now.rep…

ナウなヤングのワークフロー自動化ツールn8n その1:ホントの最小構成で環境構築

n8n(エヌエイトエヌ)*1はナウなヤング、あるいはAI驚き屋さんが好んで使うワークフロー自動化ツールです。 OSSで公開されているNode.jsベースのツールであり、REST APIやMQTT等をノードで連携させてワークフロー作成できるため、全体見通し・改良余地を…

.

.

.

.

UFJ銀行の合算記帳は3月末、9月末に区切りがくるのでその二ヶ月以内に記帳しないと実施される

実際のところ 忙しすぎて長い事記帳していないと「合算記帳」といって、後で追跡できなくなることがあります実施日 5月・11月(第3土曜日) 3月・9月の月末営業日時点で、通帳にご記帳いただいていない明細が一定件数以上ある口座が対象になります。3月・9月…

【イベントログ】Robomech2025@山形

steamdeck上のdistroboxでttyACM系に強引にでも接続しなくてはならないケース

実際のところ セキュリティ的に終わっているのですが、とにかく早く検証したい場合podmanなどで、あらかじめ lerobobox-backup:latesetというイメージを作っているケースではコマンドは以下の様になります。 distrobox create --name lerobobox-backup:lates…

コンテナエンジンpodmanをつかって使い捨てPython3.8環境をつくる

コンテナエンジンというとDockerが第一に思いつくタチでしたが、 RedHatのチームが作ってるPodmanという子も中々にスマートなようです。浅く使ってる身には旨みが感じられてませんでいたが、Dockerはデーモン依存でモノリスティック、Podmanはrootlessでデー…

機械学習の人に人気なLeRobot So101を作ってみる その6:データセットの登録

実際のところ HuggingFaceのアカウントを作ってデータを登録する トークンを登録 Hugging Face – The AI community building the future. HuggingFaceCLIで登録 これまでの手順を実施していれば入っている筈ですが、無い場合は $ pip install -U "huggingfac…

.

.