トホホな疑問(16) Raspberry Pi、i2cdetect

この間、ラズパイのI2Cの先にセンサを付けたりしていて思ったです。いわゆるマイコンのシリアルインタフェースにセンサなどを付けた場合、デバックしようとすると「結局、信号に聞くのが一番早道」だったりします。けれどもRaspberry Piのようなシステムの場合、i2ctoolsという便利なツールがあるので、それにお任せで済ませてしまう。でもね、ツールの出力も見れば疑問が湧いてくる。やはり一度、「信号に聞いて」おいた方が安心かも。

“トホホな疑問(16) Raspberry Pi、i2cdetect” の続きを読む

トホホな疑問(15) Python、lxml、複数xsdファイル

第13回」で Pythonのlxmlモジュールを使って、デフォルト名前空間が定義されたxmlファイルでXPath使うときはどしたら良いのかしら、と考え込みました。今日は今日とて、またlxmlモジュールで、xsdスキーマファイルが複数あるときに、どうやってバリデーションをばかけたらよかでしょうかとまたまた考え込んでしまいました。

“トホホな疑問(15) Python、lxml、複数xsdファイル” の続きを読む

トホホな疑問(14) Python, smbusモジュール

ラズパイに3角測量センサ接続」という話題で、何気にPythonの

smbus

というモジュールを使ってしまいました。理由は、PythonからI2Cを使うときに「よく使われているみたい」だったから。しかし、I2Cではなくsmbusです。遠い昔の朧げな記憶によれば、smbusは主にノートPC向けに始まった規格の筈。確かにI2Cベースだった気もしますが、そのあたり記憶もあやふや。それにsmbusモジュールのインタフェース関数が一体どのようなI2Cバス制御をしているのか実体が分からない。「簡易ロジアナ」で観察する元気もないし。。。

“トホホな疑問(14) Python, smbusモジュール” の続きを読む

トホホな疑問(13) Python、lxml、デフォルト名前空間とXPath

私なんぞは「その筋」の専門家でもなんでもないので、XMLと向き合わなければならないことなどさほど多くはありません。時折あるそんな機会も、とりあえずPythonでlxml使っておけばOK、てな感覚でおりました。XPath便利ですし、lxmlは速いのではないですかね。でもね、たまに困ることがあります。名前空間の指定されているXML、それもプリフィックス無し、デフォルト名前空間というやつが含まれるとき。そういうときはどうしたらよいんでしょうか?

“トホホな疑問(13) Python、lxml、デフォルト名前空間とXPath” の続きを読む

トホホな疑問(12) Python3移行、文字列数値変換にハマる

昨日に続いてPythonネタです。数か月前にPython3へ移行始めた件、何かの投稿の中に書きました。今年いっぱいでPython2.7のサポート終了、来年からはPython3に天下統一、ということで急に不安になったがためですね。ま、もともとそんなに特殊なものは書いていなかった(筈)なので、順調に移行(というか手動移植による両用化)できていると思っていたのです。が、やっぱりね、ハマりました。それもとてもプリミティブなところに。

“トホホな疑問(12) Python3移行、文字列数値変換にハマる” の続きを読む

トホホな疑問(11) Python、空listの繰り返し

普段、あまりモノを考えずにPythonのコードを感覚的に書いているからだと思うのですが、時々、ハマります。今回は、便利な *演算子、掛け算だけでなく、文字列やリストにも使えるアレ、を考え無しに空リストに使ってハマった件を書かせていただきます。ま、後で見てみれば馬鹿馬鹿しい、けれども、ハマったときには見えていない。。。

“トホホな疑問(11) Python、空listの繰り返し” の続きを読む

トホホな疑問(10) cuDNN, サンプル動かないのもある

Jetson Nano楽しく使っております。JETPACK SDKという名のもとにインストールされているライブラリなどを順次確かめてみてもおります。今回は、DNN用のcuDNNというライブラリのサンプルプログラムを動かしてみていたときの疑問です。まあ、インストールイメージに含まれていたソースと言えども、必ずしも全てがJetson Nanoでは動かない、というだけのことなんでありますが。動かす前に気が付かないでいると、動かした後で何で?となるのです。 “トホホな疑問(10) cuDNN, サンプル動かないのもある” の続きを読む

トホホな疑問(9) ラズパイのBogoMipsのなぜ?

以前から気になっていたのです。ラズパイのBogoMips。model 1 B+は、

697.95

などという値を報告してくるのに、model 3 B+ は、

38.40

などという値です。実際に同じソフトウエアを走らせたら model 3 B+の方が、ずっと早いのに(ま、Pi 3 B+は4コアですがね)。クロックアップとかそんな問題以前の圧倒的な差、なぜでしょう。まあ、BogoMipsなどは「非科学的な値」だから信用するな、と言われても、この結果、何か理由がある筈。気になって夜も眠れない。。。 “トホホな疑問(9) ラズパイのBogoMipsのなぜ?” の続きを読む

トホホな疑問(8) Raspbianで ltrace 動きませぬ

しばらく前にRaspbian上でAudioインタフェース用のコマンド群がトラブったときに活躍したのが、システムコールをトレースしてくれる

strace

コマンドでした。お陰で何故止まってしまったように見えるのか理由が分かり、解決につながりました。ありがたい限り。この strace に似たコマンドで、ライブラリ呼び出しをトレースしてくれる

ltrace

というコマンドもあります。これをRaspbianの上で不用意にインストールして動かそうとしたところ、ハングしました。なぜ? “トホホな疑問(8) Raspbianで ltrace 動きませぬ” の続きを読む

トホホな疑問(7) Arm, PMCCNTRへのUSERモードアクセス

ちょっと思い立って、Raspberry Pi 3 model B+で、x86のRdtscみたいなサイクル数カウントをとろうとしたのです。Armにもサイクルカウンタはあるのですが、通常は特権アクセス。しかし、USERモードでもアクセス可にできるビットがあったので、これをONにしてUSERプログラムで測定すべし、と思ったところがまたまたハマリました。Pi 1 model B+であったならば顕在化しなかった問題であります。 “トホホな疑問(7) Arm, PMCCNTRへのUSERモードアクセス” の続きを読む

トホホな疑問(6) なぜハング、cuda-gdb

このところ、Jetson Nano用のOSイメージに最初から含まれているJetPackの中のツール類をあれこれ当たってみているのですが、ハングしました。デバッグに必須

cuda-gdb

です。これがハングしているのではデバッグもままなりません。いろいろ調べた結果、動くようになったので書き留めておきます。ま、ちゃんと調べずにとりあえず使ってみて、問題起きたらようやく調べるという、泥縄式がまずい、という自覚はあり、しかし、やめられまへん。 “トホホな疑問(6) なぜハング、cuda-gdb” の続きを読む

トホホな疑問(5) aplay -L、返ってこない

Jetson Nanoに、音声ファイルを食わせたいと思ったのであります。音から判定するようなAIも多いしね。既にRaspberry Pi上でテスト済のUSBオーディオインタフェース(大特価ウン百円)をつなげれば即OKと考えたのですが、あれれ

aplay -L

aplay -l

も戻ってきません。無限ループでもしている感じ。でも意外な所に原因がありました。1箇所直したら再生、録音問題なし。 “トホホな疑問(5) aplay -L、返ってこない” の続きを読む

トホホな疑問(4) Raspberry Pi、Google Home Mini 音を出す小ネタ

この間、Raspberry Pi ZeroにUSBオーディオを取り付けて、音声の録音と再生などを行ってみたことは書かせていただきました。Raspberry Piなどの音声関係については疎くて知らずにいたことも多いです。USBオーディオの記事で書かなかったことについてもメモを残しておくことにいたしました。なにせ記録せずに1週間もたつと皆忘れている今日この頃。 “トホホな疑問(4) Raspberry Pi、Google Home Mini 音を出す小ネタ” の続きを読む

トホホな疑問(3)PYTHONHOME、忘れてました

遅ればせながらも、Python3に移行しなければとようやく決意したのは、Raspberry Pi上で何度もpipを動かしていたためでした。何度も「警告」文が表示されるので、ああ、2020年になったら打ち切りだったのね、と認識を新たにいたしました。ギリギリになって慌てるのも嫌なのでいまから着手しておくかい、と思い至りました。私なんぞの使い方であれば、そんなに「ハマる」ところも無さそうだし。。。 “トホホな疑問(3)PYTHONHOME、忘れてました” の続きを読む