chakokuのブログ(rev4)

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

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

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

動作を確認するため、RPiにWebIOPiをインストールする

背景:WebIOPiについて異常動作の相談を受けたので自分のRPiに入れて動作を確認する 異常動作:daemon起動にするとWebIOPiのloop関数が正常に動作しない 結論:既知の不具合のようで、workaroundでの回避手段が必要 お詫び:編集でミスしたようで、記事の途…

ヨメ不在でカレーを作る(サバカレー)(再)

背景:香りがきついから自宅でカレーを作るのを禁止されている 取り組み:今日はヨメがいない→(家族分の)カレーを作る 結果:突き抜けるほどのスパイス感はないけど、普通に食べられるカレーができた 詳細: 材料は以下(4人分) スパイス: ・クミンシー…

memo: DTFT/DFT

【理工学部講義】物理情報数学C (フーリエ ラプラス Z変換) - YouTube https://youtu.be/xvX8aaok0PE https://www.youtube.com/watch?v=COooukoXqZQwww.udemy.com (そもそも英語がよく分かっていないが、講師がインドの方のようで、さらに難解)Raspberry Pi …

コードのデータを作ってI2Sで鳴らしてみる

やりたい事:440HzのSin波を作って鳴らしてみたけど、スピーカの特性によるのか矩形波のようなBEEP音になっていた。試しにコードの波形を作って鳴らしてみる どうせならマイナーな、ラドミの和音の波形を作ってみる。 できたこと:和音の波形を作ってI2S制御…

I2S接続のSpeaker(M5 STACK社のSpeaker2 Hat (MAX98357))をMicroPython/I2Sで制御して鳴らす

本来はMEMS MICを正しく実装したいのだが、デバッグ等でI2Sバスで音を確認できるといろいろ助かる。また、I2Sで扱うデータ仕様の理解も深まる。 そこで、I2S接続のSpeakerを波形データを作って鳴らしてみる。使ったパーツは、M5 STACK社のSpeaker2 Hat (MAX9…

I2S接続のMEMS MIC (MSM261S4030H0R )を使って録音してみる→かなり感度が悪い

やりたいこと:I2S仕様のMEMS MICをRPi Pico(RP2040)版MicroPythonから制御 8/11時点の結論:MicroPythonのI2Sライブラリを使ってバッファにデータ蓄積することはできた 課題:かなり感度が悪い。これでは録音というレベルではない。MSM261S4030H0R Fermion:…

memo: 雷センサAS3935

RaspberryPi 雷センサー AS3935 雷センサー を制御 https://www.wxbunka.com/cms/wp-content/uploads/2017/01/9-09.inaduma2_kagawa2.pdf 【雷センサ】AMS社 AS3935 雷距離センサー秋月ボードのデモプログラム【ESP32】 – Tom's Hobby 【雷センサ】AMS社 AS3…

memo: VPN

VPN Gateのメリットは?VPN接続方法も詳しく図解!|初心者!VPNトーーク!〜動画視聴・リモートワークを快適にするサイト〜自宅のRaspberry Piに外出先からアクセスする~中継サーバーを使おう - みかんのゆるふわ技術ブログ SoftEther VPN プロジェクト - …

組み込みRustで温湿度+気圧測定→課題は残るが一旦完成

背景:組み込みRustを使って、温湿度、気圧、CO2濃度を測ってThingspeakにアップしてスマフォでグラフを見たい 取り組み:気圧の計測ができていなかった。 結論:Rustで周辺I/Oを叩くプログラムはエラク苦労したが、なんとか仕上がって計測が可能になった詳…

ヨメ不在でカレーを作る(サバカレー)

背景:香りがきついから自宅でカレーを作るのを禁止されている 取り組み:今日は誰もいない→カレーを作る 結果:辛さ、スパイスは足りないものの、普通に食べられるカレーができた(コンブだしとサバ煮汁のお陰か) 詳細: スパイスを組み合わせて好きにカレ…

組み込みRustで温湿度+気圧測定→一難去ってまた一難

取り組み:MQTTがなんとか動くようになったので、、気圧センサをくっつけてみる 課題:Panicになる。なぜか?Peripherals::takeの行を足すだけでWiFiがおかしくなる。 let peripherals = Peripherals::take()?;Panicになっているのは、WiFiの起動のところな…

MQTTにPublishするがセッションが維持されない問題

課題:なんとかセンサ情報も取れるようになり、MQTTでThingspeakに計測データを投稿しようとするが、ブチブチ切れる症状が発生 取り組み:エラー原因を調べて、セッションが維持されるようにする。また、これまで動かしていた古いバージョンのアプリでどうい…

QMP6988用ドライバ、Soft I2CドライバをRustで作成する

背景:ESP32-C3で室内の温湿度、CO2、気圧を測りたい。だが周辺I/OのI2Cバスは1系統しかない(デイジー・チェーン接続してもいいけど、I2C HUBが必要になる。ちょっと大げさ) 課題:ソフトウエアによりGPIOポートを制御してI2Cバスを実現する(Soft I2Cドラ…

Rustのlifetimeについてリンクメモ

Rust勉強中 - その12 -> 参照とライフタイム #Rust - Qiita 所有権とライフタイム ライフタイムで参照を検証する - The Rust Programming Language 日本語版

Rust版 QMP6988 Driverを作る

背景:部屋の空気質(CO2、温度、湿度)をクラウドに上げて集計しているが、気圧が計測できていなかった。高精度の気圧センサ―らしいQMP6988を使って気圧を計測、集計する 課題:QMP6988はレジスタの値を読んだ後、補正が必要なのだが補正式が結構複雑。Ardui…

Amazonは不利なコメントは認めない??→時間がかかっているだけだったのかも

中国から真空管用のアウトプットトランスを買った。簡易包装だったので、トランスの側面がベコベコになっていた。まぁ断線はしていないので返品せずに使おうと思っている。だけど・・・ちょっと酷いなと思ったので、納期は◎だが、トランスの側面がデコボコと…

Rustでドライバを試作する(その2)

課題:I2Cバスで制御するドライバを書いていたが、どうしてもGPIOの方向を変えるコードをstruct型に閉じ込めた変数で実装することができなかった(借用のselfとデータの移動との矛盾が解消できず) 解決策:メソッド実行時、借用のselfではなく、所有権付き…

ESP32-C3/Rustの環境でSoft I2C ドライバを試作する (QMP6988用)

背景:ESP32-C3を搭載するM5 StampでI2C接続のCO2センサを接続して日々空気質を計測している。このセンサには気圧計がないので、気圧センサを追加したい(2つのセンサをI2Cで接続) 課題:I2Cのバスに並列で接続したらいいのだけど、I2C HUBが必要となり部品点…

RPi + GPIO + Node-RED memo

Debian GNU/Linux 12 (bookworm)nmcliによるIP固定化 sudo nmcli connection modify eth0 ipv4.addresses 192.168.10.100/24 sudo nmcli connection modify eth0 ipv4.gateway 192.168.10.1 sudo nmcli connection modify eth0 ipv4.dns 192.168.10.1,8.8.8.…

真空管アンプ製作に向けて、psvane製300Bを買った

残りの人生はアナログ、波形、音楽に時間を使おうと思っていて、まず真空管アンプを作ろうと思っています。中学生の頃、「ラジオの製作」という雑誌を買っていて、そこに載っていた300Bシングルアンプを何度も読んでいた*1。本物のWE製の300B真空管は高すぎ…

もろもろをすっ飛ばしてDFTを実装する

背景:MicroPython上で動かせる軽量FFTライブラリを作りたい 課題:微積・三角関数→フーリエ級数→フーリエ変換→離散フーリエ変換と積み上げて理解したかったけど、フーリエ変換→離散フーリエ変換の間がどうにも埋まらない 取り組み:途中の証明をすっ飛ばし…

そもそも何をやっているのか?のレベルでFFTを理解したい

背景:FFTを理解すべく式の展開を追いかけてきた 課題:式の展開は薄く理解したとしても、そもそも式が何を表しているのか分からず(特にフーリエ変換の式) 取り組み:数理演算ライブラリ(sympy)を使って、グラフ描画や微積の式展開を行いながら、フーリエ…

家族が出かけたのでカレーを作る→おいしくない

背景:香りがきついから自宅でカレーを作るのを禁止されている 取り組み:今日は誰もいない→カレーを作る 結果:全然おいしくないカレーができた。原因は不明(分量が少なすぎるから?煮込み時間が足りない?) 詳細: スパイスを組み合わせて好きにカレーを…

FFTの学習記録

分からないなりにもFFTを勉強中。フーリエ変換までは式の展開を辿りながらやってきた。この後は、離散フーリエ変換を理解して、FFT*1に到達する必要あり。 今後またFFTを勉強する必要が発生した場合を想定して、学習パスと使った資料を整理 FFTに至る学習パ…

memo: SAS

無償のSAS Ondemand SAS OnDemand for Academics SAS入門 #統計学入門 - Qiita 【SAS勉強会 -第1回-】SASの基本的な構成 - シー・エス・エス イノベーションラボ(ブログ) SASチュートリアル SAS統計パッケージ の使い方 SAS忘備録: SAS入門 https://cat…

台湾パインを買ってきたので食べる→糖度は13.8%

背景:ヨメサンが台湾パインを買ってきた 課題:フルーツを食べる時に家族の中で甘いかすっぱいで言い争いになる。今回は糖度計で糖度を測った 結論:糖度は13.8度であった。はたして、13.8度ってフルーツの中では甘い方なのかどうなのか? 詳細:普段は買わ…

改めて組み込み用Rustを入れる

課題:ずっと放置していた空気質観測プログラムに気圧計測を加えたい。久しぶりにRustでビルドするとエラーになった 対策:ビルド環境を作り直す(std用)*1 参考資料:Introduction - The Rust on ESP Book 結論:評価ボード(ESP32-C3-Devkit-RUST-1)を使った…

RPiにMathematicaを入れてみる

取り組み:RPiにMathematicaを入れてみる 結論:パッケージインストールで何の問題もなくインストールできた 詳細: 微積をやりなおそうとしていて、証明を追いかけるだけでなく、グラフとか微積が本当にそうなるのかをプログラムでも確認できたら理解も深ま…

Mathematicaは微積の勉強に役立つ?

フーリエ級数の勉強をしていて、sinΘとsinΘを掛け算して積分したら非0だが、sinΘとsin2Θを掛け算して積分したら0になる・・元の関数f(x)に含まれる波(sin/cos/nΘ)を知りたかったら、調査したい波を掛け合わせて積分して0か非0かで判断できる・・的な説明…