MicroPython的午睡(44) MQTTでJSON-OBJ送信、M5ATOMLite

uJsonFlow
Joseph Halfmoon

前回 MQTT Subscribe ができたので、MicroPythonで動いているM5ATOM LiteとNode-REDを動かしているRaspberry Pi 3機で上り下りの通信がOKとなりました。今回は、通信内容をJSON化して後で拡張しやすいようにしてみたいと思います。まずはPublish側から。使用するMicroPythonモジュールはujsonです。

“MicroPython的午睡(44) MQTTでJSON-OBJ送信、M5ATOMLite” の続きを読む

ブロックを積みながら(37) Node-RED、何でもあり?Functionノード、その1

FunctionNodeEC
Joseph Halfmoon

前回はInjectとDebugノードでした。今回は「コア」ノードの中でも、「何でもありそうで」とても1回で覚えきれそうにないFunctionノードを使用してみたいと思います。以前から見よう見まねで使ってはいるのですが表面的。いろいろやってみたいと思うので今回は「その1」ということで。「その2」は他のノードも一巡した後でかな、何時やるんかい?

“ブロックを積みながら(37) Node-RED、何でもあり?Functionノード、その1” の続きを読む

ぐだぐだ低レベルプログラミング(30) RISC-V、AND命令に隠された?凸凹

Joseph Halfmoon

前回、RISC-Vにmv(move)命令は実は無いのだ、という衝撃?の事実をおさらいしました。今回は、and(論理積)命令です。andみたいなプリミティブな操作の命令に何か細工をする余地などあるのか?ま、当然「工夫」があるわけですが。でもね、andとorとxorは一緒、流石に。1回で3命令進捗!

“ぐだぐだ低レベルプログラミング(30) RISC-V、AND命令に隠された?凸凹” の続きを読む

ソフトな忘却力(3) リモートVS Code、CMake Toolsでcmakeするのだ

VSCodeExts
Joseph Halfmoon

CMakeには随分昔からお世話になっているような気がしますが、よくわかっていないです。何かの折に「ディレクション」のまま走らせるばかりで、自分で積極的に使ったことが無いので身につきません。しかし、最近ラズパイPicoなどやっておりますとCMake必須。この際少し勉強しておこうという気になりましたです。 “ソフトな忘却力(3) リモートVS Code、CMake Toolsでcmakeするのだ” の続きを読む

鳥なき里のマイコン屋(138) ラズパイPico、外付けDAC、MCP4725接続

Joseph Halfmoon

別シリーズにてSTM32マイコンのAD、DAを動かしているので、ラズパイPicoでもやってみるか、と思い立ちました。しかし、ラズパイPicoにはADの搭載はあるものの、DAはありません(PWMはあり。)また別件にてラズパイPico用の1ビットDACボードも頂いたのですが、今回は外付け12bit DAを接続してみます。

“鳥なき里のマイコン屋(138) ラズパイPico、外付けDAC、MCP4725接続” の続きを読む

手習ひデジタル信号処理(1) ADからDA、ポーリング方式をなぞってみる

AD2DApollingDUT
Joseph Halfmoon

デジタル信号処理を学び直すべし、ということで三上直樹先生著のご本を購入部品も購入し回路を作成、そして関連の雑誌記事発見、と準備に3回もかけてしまいました。いよいよネタバレにならない程度に本文を学んでいきたいと思います。まずはプログラムがビルドできるところからかな。インポートできるみたいだし、何もすることがない?

“手習ひデジタル信号処理(1) ADからDA、ポーリング方式をなぞってみる” の続きを読む

忘却の微分方程式(14) 変数と関数の入力、MathematicaとMaxima

wolfEC002
Joseph Halfmoon

そのうち微分方程式など苦にならなくなるかと儚い期待をいだきつつ勉強させていただいておりますのは、Raspberry Piを利用したWolfram言語プロジェクト により無償でMathematicaが使えるお陰です。とはいえ、今のところ不届きにもMaximaでも似たことをやって比べておる、と。急急如律令!

“忘却の微分方程式(14) 変数と関数の入力、MathematicaとMaxima” の続きを読む

MicroPython的午睡(43) MQTTでSubscribe、M5ATOM Lite

subscribeEC
Joseph Halfmoon

前回別件に行ってしまいましたが、今回は前々回の流れに戻ってMQTTのSubscribeを行ってみたいと思います。使用するMicroPythonは ESP32用の”generic” portです。M5ATOM Lite上での運用ですが、”generic”なので他のESP32デバイスでも動くと思います。

“MicroPython的午睡(43) MQTTでSubscribe、M5ATOM Lite” の続きを読む

ブロックを積みながら(36) Node-RED、何気に深いInjectとDebugノード

Inject and Debug Node
Joseph Halfmoon

前回、折角Node-REDのバージョンアップをかけたのに、それっきりになっておりました。Node-REDエディタのパレットに追加でインストールしたものは多くないので、今のうちに「一通り」端から使ってみるべし、という目標であります。「必要に応じて」(泥縄式ともいう)でマニュアル読んでも分かってない機能がいっぱいあるのね。

“ブロックを積みながら(36) Node-RED、何気に深いInjectとDebugノード” の続きを読む

ぐだぐだ低レベルプログラミング(29) RISC-VでMV(MOVE)命令、本当は無い

StartDebug
Joseph Halfmoon

前回、RISC-Vのアセンブラを再開できたので、今回からは1命令づつ命令を動かしていきたいと思います。最初はMOVE(RISC-VのニーモニックではMV)命令です。単なるレジスタ間の転送。しかし、そこにある「仕掛け」をみるとRISC-Vのやり方というものが理解できる感じがします。単なるMOVE、されどMOVEか。クセが強いのう。

“ぐだぐだ低レベルプログラミング(29) RISC-VでMV(MOVE)命令、本当は無い” の続きを読む

IoT何をいまさら(94) ATSAMD51、ArmのWFI命令使ってみた

WioTerminal_WFI_DUT
Joseph Halfmoon

前回『初回が0なのはプログラムの仕様<バグともいう>です。』など勝手なことを書いて「逃げて」しまいました、すみません。今回はバグ修正版? ArmのWFI(Wait for Interrupt)命令を使って、割り込みが発生するまで「低消費電力で」待ちを入れたいと思います。まあこれとても根本的な対策ではないのでありますが。

“IoT何をいまさら(94) ATSAMD51、ArmのWFI命令使ってみた” の続きを読む

鳥なき里のマイコン屋(137) ラズパイPico、C/C++SDKでPIO、サイド出力

LOGANADUT
Joseph Halfmoon

前回は、ラズパイPicoのユニークなPIO(Programable IO)でパラレル入出力をやってみました。ただし、出力タイミングはCPUからの書き込み次第でした。今回は、CPUタイミングを排除し、ハード側の一定のタイミングで出力するとともに、パラレル出力には必須のストローブ信号を付加してみたいと思います。

“鳥なき里のマイコン屋(137) ラズパイPico、C/C++SDKでPIO、サイド出力” の続きを読む

ソフトな忘却力(2) ラズパイ4でCプログラミング、libconfig

libconfigEC
Joseph Halfmoon

前回はコマンドラインオプションの取得用ライブラリ getopt でした。今回は、ファイルに書き込まれたコンフィギュレーション設定を読み取るための libconfigを使ってみます。最近私はPythonではJSON形式使っていますが、libconfigも分かり易いのではないかと。勿論、読み書き両対応。C/C++にも両対応。

“ソフトな忘却力(2) ラズパイ4でCプログラミング、libconfig” の続きを読む

Literature watch returns(29) トラ技2021.10月号、あれ?

TraGi202110
Joseph Halfmoon

久しぶりのCQ出版さんの「トランジスタ技術」誌です。2021年10月号。特集も「お役立ち」ですが、ちょっと気になる新連載が始まりました。三上直樹先生、『STM32マイコンではじまるPC計測』です。あれ、何か見覚えあるような。そうです前回のデジタル信号処理のご本の著者による連載。ちょうど準備済なんですわよ。

“Literature watch returns(29) トラ技2021.10月号、あれ?” の続きを読む