MicroPython的午睡(50) ATOMLite、やらかしTZ、カレンダ変換

TZ_BUG
Joseph Halfmoon

前回、ATOMLiteで温湿度を測ってサーバーのNode-REDに報告をあげるようにいたしました。測定テストで温湿度の日変化を測るべし、とてATOMLiteを動かしたまま眠りについて発覚しました。アイキャッチ画像を御覧じろ。25時?RTCがそういうこと言う?私のバグでした、トホホ。NTPで得たUTCと、報告用のJSTの変換の間違い。

“MicroPython的午睡(50) ATOMLite、やらかしTZ、カレンダ変換” の続きを読む

トホホな疑問(41) ラズパイmicroSDのバックアップ、リストアの落とし穴?

microSD cards
Joseph Halfmoon

Raspberry Piは、microSDカードをストレージにしています。時々microSD全体を「イメージ」にしてバックアップされている方も多い筈。バックアップはHDD宛てなので問題ないですが、イメージからmicroSDへのリストア(レストア?)時にトラブるケースを体験。考えてみれば当たり前なんでありますが。

“トホホな疑問(41) ラズパイmicroSDのバックアップ、リストアの落とし穴?” の続きを読む

鳥なき里のマイコン屋(144) ラズパイPico、Arduino環境で外付けRTC接続

RPi_RTC4543_DUT
Joseph Halfmoon

前回、PlatformIOがいつの間にかラズパイPicoのRP2040に対応(Arduinoプラットフォームのみ)していたので吉例のLチカでその動作を確認しました。今回は、外付けのRTCからカレンダ時刻を読み込んで「使えるじゃん」と納得する、と。普通にArduinoのつもりでプログラムできる感じなのでSDKに比べると大分敷居が下がった感じもします。個人の好みだけれども。

“鳥なき里のマイコン屋(144) ラズパイPico、Arduino環境で外付けRTC接続” の続きを読む

ソフトな忘却力(9) 最適化とthread数、RPi3とRPi4ではまた違うのだ

Graph elapsed time - thread
Joseph Halfmoon

前回は、スレッド数に反比例して処理時間が短くなるサンプルプログラムに、コンパイラの最適化オプション効かせたら、マルチスレッドが効かなくなったのを目にしました。今回は、サンプルに「手を入れて」「スレッド化の効果あり」に無理やり変更の上、実行環境をラズパイ3からラズパイ4へ変えてみます。CPUの馬力が違うとまた違う。一筋縄ではいきまへん。

“ソフトな忘却力(9) 最適化とthread数、RPi3とRPi4ではまた違うのだ” の続きを読む

手習ひデジタル信号処理(7) STM32F446、巡回型移動平均2/3

MOVING_AVG2_MOD_BlockDiagram
Joseph Halfmoon

前回から引き続きの「巡回型移動平均」の2回目は、「巡回型に潜む魔物」を「かいまみる」予定でした。しかし魔物の召喚に失敗した模様。フツーに動いてしまいました。これではいけない、と無理やり魔物を登場させてみましたが、本当に無理やり、何やっているの?という感じ。こういう意外な挙動も「巡回型」?

“手習ひデジタル信号処理(7) STM32F446、巡回型移動平均2/3” の続きを読む

忘却の微分方程式(20) Maxima、三角関数の試行錯誤、思ったようには動かんな

Max_trigexpand_EC
Joseph Halfmoon

前回、MathematicaとMaximaの三角関数を使いってみましたが、三角関数の展開など、どうしてよいやらサッパリでした。今回は、Maxima中心に三角関数の加法定理とか積を和に直す公式とかを練習してみます。遥かな昔、高校のときにやった筈の物(とっくに忘れているけれど。)

“忘却の微分方程式(20) Maxima、三角関数の試行錯誤、思ったようには動かんな” の続きを読む

ブロックを積みながら(42) Node-RED、いろいろ作れるTemplateノード

template_ec
Joseph Halfmoon

今回試用してみますのは Template ノードです。テンプレートの所定位置に受信オブジェクト値の一部を「差し込んで」文字列を完成させるもの。素の文字列だけではなくてソースの生成もできる。作った文字列をJSONオブジェクトにパースして送り出す機能もあり、便利なノードです。とりあえず簡単なところを味わってみました。

“ブロックを積みながら(42) Node-RED、いろいろ作れるTemplateノード” の続きを読む

MicroPython的午睡(49) ATOMLite、温湿度を測ってNode-RED報告

ATOMLite_Dashboard
Joseph Halfmoon

今回からようやく外付けのデバイスをM5ATOMLiteに接続して、ラズパイで走っているNode-REDとの間を繋ぐところに入ってまいります。その1は、ありがちな「温度、湿度」のご報告です。ここまでの準備で、回路も簡単、ソフトも簡単、ほとんど何もやることがないです。本当か?

“MicroPython的午睡(49) ATOMLite、温湿度を測ってNode-RED報告” の続きを読む

やっつけな日常(1) ラズパイ4のPython3でRTC-4543SAの読み書きテスト

4543DUT
Joseph Halfmoon

やっつけでご乱心な今回は、先週クロックの出力のみ確認してあった「RTC-4543SAモジュールのカレンダ・タイマを実際に読み書きしてみよう」の回です。読み書きに使うのはRaspberry Pi 4であります。ラズパイはネットワークに同期した実時間時計が使用できるので外付けRTCなど不要。RTCモジュールの初期化と動作確認の目的のみ。

“やっつけな日常(1) ラズパイ4のPython3でRTC-4543SAの読み書きテスト” の続きを読む

ぐだぐだ低レベルプログラミング(35) RISC-V、32ビットのアドレスをロードする小技

GD32VF103VBT6_EC
Joseph Halfmoon

前回条件分岐をやり、今回はロード、ストアのつもりだったのですが、1つ忘れていることに気づきました。32ビットの即値、つまりはメモリアドレスのロードです。RISC系CPUでは限られた命令のビット幅との兼ね合いで苦労する部分ですが、RISC-Vはカッコよく始末している方ではないかと思います。とりあえずシンボルアドレスをGETしてメモリロードをしてみます。 “ぐだぐだ低レベルプログラミング(35) RISC-V、32ビットのアドレスをロードする小技” の続きを読む

鳥なき里のマイコン屋(143) ラズパイPico、PlatformIOでArduino

Wiz000
Joseph Halfmoon

半年くらい前にはラズパイPicoに対応していなかった筈のPlatformIOが「Arduinoプラットフォーム」でPico対応をしていました。自分では何もしていないのですが、PC上でラズパイPicoのオブジェクトを生成できるようになってました。ボーっとして生きていても「自動で」世間の変化に追従できる?ありがたし。 “鳥なき里のマイコン屋(143) ラズパイPico、PlatformIOでArduino” の続きを読む

ソフトな忘却力(8) CMake、最適化オプションの置き場所。thread化の蹉跌?

SpeedGraph
Joseph Halfmoon

前回はPthreadを使って、スレッド数が多くなると処理時間が短くなるようなコードを書いてみました。今回はそれに最適化オプションを加えてみます。ヤバいな、ズルズルと深みにハマって行く感じがします。まずはCMakeの使い方もよく分かってないので、まずCMakeLists.txt内での最適化オプションの置き場所から調べないと。 “ソフトな忘却力(8) CMake、最適化オプションの置き場所。thread化の蹉跌?” の続きを読む

手習ひデジタル信号処理(6) STM32F446、巡回型移動平均1/3

BodeMAVG_CYC1
Joseph Halfmoon

前回は非巡回型移動平均で単刀直入、分かり易かったです。今回「から」3回は巡回型移動平均です。3回分なのは、三上先生のご方針が、「巡回型」でも同じことができることを示したのち、「巡回型に潜む魔物」を垣間見、さらに整数処理の「黒魔術」の一端に触れるという流れなのかな、と忖度した次第。ホントか?

“手習ひデジタル信号処理(6) STM32F446、巡回型移動平均1/3” の続きを読む

忘却の微分方程式(19) 三角関数、1回じゃ無理。MathematicaとMaxima

trig_EC
Joseph Halfmoon

今回は三角関数なんですけどね、正直1回じゃ理解するの無理。特にMaximaは使える関数とオプション制御の変数を適切に組み合わせないと所望の結果にたどりつけませぬ。今回は、とりあえずMathematicaのお題をなぞって、次回また演習してみるしかない。大丈夫か?

“忘却の微分方程式(19) 三角関数、1回じゃ無理。MathematicaとMaxima” の続きを読む