chakokuのブログ(rev4)

テック・コミック・DTM・・・ごくまれにチャリ

お越しいただきありがとうございます。

このブログでは主に以下の内容を記載しています(自分の記録用)。 何か作った話(自分は何かを作るために生きている..できたらクスっと笑えるものや、アートと絡みたい)(何かに手を出しても続かず、飽きるのが問題) 音楽(AerophoneやDTM(FL-Studio))を勉…

メモ:MCP(Model Context Protocol)を理解する(霧の中)

背景:技術解説関係で、MCPを理解する必要あり。人に教えられまで自分はMCPって全く知りませんでした。そもそもLLM流行りすぎてちょっと引いてた*1。。 結論:半日ぐらい情報収集した程度の理解ですが、、MCPとはLLMに最新データ取得、データ加工、ファイル…

M5STACK AtomS3 (ESP32 S3)にMicroPythonを入れる

やりたいこと:手元にM5STACK AtomS3 (LCD付き)*1があったのでこれにMicroPythonを入れてGameControllerに仕立てる。 まずやること:MicroPythonを入れる、LCDを使えるようにする 結論:MicroPythonを入れて、LCDが動くところまでは確認 詳細:M5STACK AtomS…

ローカル環境にMQTT Brokerを構築して性能を調べる

背景:MQTT Brokerを使ったゲームを作る必要あり 課題:無料で使えるPublic MQTT Brokerは遅延が大きかったり、Quotaが掛かっていて、性能上に不足である。一方、AWS IoTは有料であり、試行錯誤していると無料枠を超えて有料になるかもしれない。 取り組み:…

LLM from scratch; tokenizerを作成

背景:LLMを理解すべくLLM from scratch本でプログラムを書く 進捗:「2.2 テキストをトークン化する」(P21) 課題:文書をLLMで扱うには、単語をトークン(ID)に置き換える必要がある。このためトークナイザが必要 取り組み:自作トークナイザを作成 結論…

またもやDTM(何度めのトライか分からない)

背景:これまで自分でテクノ音楽を作りたいと思って*1トライしたが途中で挫折した(どうやってスキルを身につけたらいいのか分からない、試行錯誤しているうちに飽きる)。時間ができたので再度取り組む 取り組み:とりあえずオーディオインタフェースを買っ…

生成AI(Claude Sonnet 4)で、県民アルアルクイズを作ってみる

背景:マイコンだって生成AIしたい・・・ネタの続き 課題:AWS Bedrockが提供する言語モデルの中で安価な Nova Microを使って県民アルアルクイズを作ってみたが、指定した問題を生成できなかった 取り組み:高性能な Claude Sonnet 4で県民アルアルの問題を…

某学校様向け研修教材;マイコンだって生成AI(仮)

背景:ある学校様向けにマイコンプログラミングの研修を行うことになり教材を検討中・・・Lチカから始めて、I2C、シリアル接続ときて、WebAPIに進み、生成AIの活用の流れで授業を進めたい 取り組み:マイコンから直接生成AIのAPIに繋ぐのは認証等が大変なの…

DesktopマシンをUbuntu専用機にする

背景:一時期熱くなっていたLLMの理解に関して、すぐに飽きて放置していた。が、仕事上も普段使いでLLMが必須になるにつれもう少し理解したいと思うようになった 取り組み:LLM from Scratch (本としては、LLM自作入門)をやってみる。最低限、Attentionを自…

またもやサバカレー

今日は好きに料理つくってええとなったのでまたサバカレー 材料は以下(4人分)(配分修正済み) クミンシード 小4 コリアンダー 小4 ターメリック 小4 カイエンペッパー 小1/3 玉ねぎ 1.5玉 トマト(水煮缶詰) サバ水煮 2缶 (煮始めてから中盤以降に投入)…

gdbの操作をpythonで自動化

背景:これまではgdbのxコマンドを使ってSTM32C0のレジスタを手動で参照、設定していた 課題:毎回手動だとアドレスを忘れるし、何が正しかったか分からなくなる 対策:gdbではpythonスクリプトが動かせるので、手作業だったレジスタ操作を自動化できる 結果…

STM32C0でUART

背景:STM32C0をハンドアセンブルで動かしたい。動かしたいとは、クロスコンパイラを必要とせず、スタンドアローンで対話的にプログラミングできるようにしたい*1 取り組み:Lチカができたので、次はUARTを動かしてみる。UARTでホストPCとやり取りができたら…

STM32C0でハンドアセンブルでLチカ

背景:おちゃめなマイコン、SMT32C011J4Mが気に入って、ハンドアセンブルでプログラムに取り組む 課題:前回ADDが実行できたので、次はLチカをやってみる 結論:いろいろあったが*1Lチカはできた。どれぐらいの早さでチカチカしているのか周波数を計測したと…

STM32C0に対してGDBでRAM領域に機械語を書いて実行してみる (ADD命令)

背景:ぱっと見ただけだと、TTLかOPアンプにしか見えないSTM32C0*1に興味が湧いて、アセンブラやコンパイラを使わず手でプログラムすることにした。 やりたいこと:GDB+OpenOCDで機械語を手で書き込み実行する。flashにもツールを使わず手で書き込む。最終的…

最新版のOpenOCDを使いたいのでビルド -> なんとかデバッグ環境できた

背景:STM32C0をOpenOCD+RaspberryPi(GPIO)でデバッグできるようにする(ST-Linkどっかにいったので) 課題:RPi用のDebianに入っているOpenOCDではSTM32C0をサポートしていない(正確にはconfigファイルが無い) 取り組み:Gitからソースを落としてきてビルドし…

Raspberry Pi をSWDデバッガ相当にしてCortex-Mのマイコンをデバッグする

とりあえずgdbを入れる sudo apt-get install gdb-multiarchOpenOCDもパッケージであるらしい sudo apt-get install openocdRPiのポートとマイコンを接続する。接続Pinは以下らしい SWCLK RPi 22pin (GP25) SWDIO RPi 18pin (GP24) GND RPi 20pinボード(乗…

STM32C0 かわいすぎる。。きゅん死

Cortex-M0で64bitしかも140円。。だが、プログラム開発は骨太(人にやさしいなインタプリタは動かないだろう)。CopilotによるとC以外にRustも動くらしいSTM32用Rustを使うと。初心に戻ってアセンブラで組むとか。。■追記 おもわず2つ発注してしまった。今後…

理解できるか分からないが、電磁気学の本「物理学レクチャーコース 電磁気学入門」を買った

背景:今は頼まれ仕事でマイコンプログラミングの解説文を作成しているが、一連の仕事が終わったらアンプとか作りたい。かつ、定数は自分で計算して決めたい。 課題:電気回路といえば電磁気学だろうということで*1*2、電磁気学を勉強しかけるが途方もなく難…

モードダイアルの働きがおかしいCanon EOS Kiss X50の分解掃除

背景:モードダイアルがおかしくなったCanon EOS Kiss X50を分解した(先日は本体の分解まで) 取り組み:モードダイアルの裏側のロータリスイッチを分解して掃除する。切り替え動作が安定するように接点復活剤を少し塗布する 詳細スイッチを分解する前に、…

ThingsBoardでCustom Widgetを作る

背景:ThingsBoardが少しづつ使えるようになってきた。できたら、自分が使いたいと思うWidgetでデータを可視化したい。 課題:TypeScript + Angularの組み合わせで新しいWidgetを作ることができるらしい。TutorialやManualを見て、簡単なCustomWidgetを作る …

Canon EOS Kiss X50のモードダイアルの働きがおかしく分解掃除(分解するところまで)

背景:長男が長年使っているCanon EOS Kiss X50のモードダイアルが調子悪いらしい。直せるか?と相談を受けた。テストすると、スイッチの接触が悪くて撮影モードが正しく切り替わらないようである。 取り組み:無理ない範囲で分解できるところまで分解して、…

RPi ModelB/RPi OS (debian book worm)にDockerを入れる

背景:これまで適当にdockerを入れていた。手順確認のためDocker社の推奨手順で入れる 詳細:OSバージョン確認 ( Version 12 / book worm) $ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 12 (bookworm)" NAME="Debian GNU/Linux" VERSION_ID="12" VE…

「仕組みからわかる大規模言語モデル 」を買った

背景:LLMが普通に使えるようになった。AIを活用したアプリ開発やファインチューニングでAIを自分用にカスタマイズしたい 課題:どう動いているのか内部がよく分からない。仕組みが分からないままに取り組んでも成果が得られず無駄な努力になる可能性あり 取…

簡単な家計簿アプリ(小遣い帳)を作りたい

2024年度を振り返ると、銀行口座はいつもちょこちょこ引き出していて、あとから見ると、なんで残金がこれだけなのか?!とか、それぞれ何に使ったのか分からない!!*1となる。また、確定申告の時に苦労する。だったら、引き出した都度メモできるアプリを使…

Python In Excelを使ってみる

背景:確定申告の時期となった。2024年度どれだけ部品代やら書籍代を支払ったかを振り返る(集約する) 課題:Excelマクロに詳しい人はピボットテーブルとかを駆使して、支払先別の円グラフとか簡単に書けるのだろうけど、マクロ全く分からない 取り組み:Pyth…

ThingsBoardを理解する

背景:今後組み込み研修やら各種レポートでThingsBoardを使いたい。理解が必要 取り組み:先人の方々がYoutube上とかWebサイトに解説記事をアップされているのでそれでまずは理解、だいたいわかったら動かしてみる 結果:RPiに接続したセンサの計測データをM…

PSRAMがサポートされたMicroPythonを使ってESP32 S3 SenseのOV2640を使って撮影する

背景:ESP32 S3 Senseを購入してCircuitPython/MicroPythonを使ってOV2640のカメラを制御していたが、画質が低い問題があった 取り組み:画質が低い理由として、frame bufferとしてPSRAMを指定することができず、ESP-IDFのcameraライブラリでメモリが足りな…

Seeed Studio XIAO ESP32S3 SenseにCircuitPythonファームを焼く、OV2640で撮影

背景:Maqueenに普通のCMOSカメラを取り付けたい*1 取り組み:ESP32S3 SenseがコンパクトなのでMicroPythonを入れてカメラを制御する 問題点:SeeedStudioがリリースしているMicroPythonは仕様がよく分からない。代替品として、CircuitPythonを使う 結果:Ci…

Seeed Studio XIAO ESP32S3 Senseを買った、MircoPythonを焼いてみる

ESP32S3 SenseはESP32S3にOV2640CMOSカメラ(1600 x 1200)が追加されている。Generic版ではカメラをサポートしていないので、カメラに対応したMicroPythonファームをDLする(サイトは参考URL)Wikiによると、esptoolを使って、firmware.binを焼いてくれとい…

音声で制御するMaqueenの件まとめ

背景:Huskylens+LEGO SPIKE の教材開発をすべきなのだが、LEGOが事務所にしかないので、LEGO SPIKEの代わりにMaqueen でAIカメラ付きカーを試作する まとめ:本来はHuskylensをどう制御するか?を検証するために始めた作業だったが音声制御の方が面白くてそ…