2023年2月3日金曜日

SwitchBot Plug mini を分解した

 スイッチボットのプラグミニ(スマートプラグ)を分解した。

技適が外れるので二度と通電できないけどどうしても中身が見たくてやってみた。

一見してつなぎ目はないけど、溝の外側がつなぎ目で接着剤で固定されている。
一箇所溝を切ってヘラを差し込めばテコで外れるようになる。



ピンアサインが書いてあるので自分で技適取得済のマイコンを繋いでコード書ければスマートプラグとして再利用できそう。
マイコンはesp-c3らしい。
リレー
QLRELAY
JZC-11FH 005-1H1L
エネルギーメーターIC
BL0937
rms(実効値)型なのでワットチェッカーとかより正確に出てるってことだよね?
これが見れたので満足。

2022年3月24日木曜日

安いサーマルカメラ(サーモグラフィー)を買ったその2

その1の記事

https://phjkahby98327u5o0qwe709uli.blogspot.com/2019/11/blog-post.html

今回2台買ったのもを紹介する

1台目

UNI-T UTi260B


3万ぐらいした気がする

日本のamazonではボッタクリ価格しか無い

https://amzn.to/3tHrpfr

憶測だけどinfiray C200とそっくりなのでたぶんinfiray社がOEMで作ってる。

解像度が高い。

センサー性能が良い。

起動が遅い。

動作がもっさりしている。

機能充実。


UVC(USBカメラ機能)が使える

アナライズ用のサポートが有る。

このセンサー性能で3万は破格。買ってよかった。


2台目

hikvision DS-2TP31B-3AUF

hikvision H10を発熱検査用に最適化、カスタムした機種。
ファームウェアで25℃〜50℃までしか温度表示されないように意地悪されている。
測れないわけじゃなく温度表示をしないだけなので内部的には温度を取ってるし、熱画像は表示温度街も濃淡表示される。

値段は投げ売りで1万円だった。
そもそも個人的に絶対温度そんなにいらん。
リアルタイムで熱画像さえ見れればいいという感じなので大変安く購入できて喜ばしい。
(H10は2万7千ぐらいする)
ちなみに温度警報機能から間接的に絶対温度を測ることもできる。(実用的じゃない)

センサー性能は十分
起動が早い。
動作も軽い。
本体が軽い。
本体が小さい。
可視光カメラが無い。
アナライズ機能が無い。

フットワークが軽いので使ってて楽しい機種


比較

これら2機種とFLIR one proを比較してみた。

↑FLIRone pro

↑UTi260B

↑DS-2TP31B-3AUF


遠景はボヤけるので解像度の差が出にくい
FLIR one pro とUTi260Bは解像度以外の性能差は感じない。
DS-2TP31B-3AUFは今ひとつ濃淡のコントラストが低くぼやっとしている

白黒で近くの屋根を撮影するとわかりやすい
↑FLIR one pro 流石FLIR

↑UTi260B すっご。夜に撮影してこれが映るんだからとても楽しい。楽しくない?

↑DS-2TP31B-3AUF  のっぺりしてる。

FLIR one pro とDS-2TP31B-3AUFは解像度が一緒なので、センサー性能の差がハッキリ出て楽しい。

いやでも1万円だからねこれ。(ただし投げ売り)
昔買った1.1万円の奴なんかこんなんだからね。
※こんなんだからの参考画像



上の夜の屋根画像はあくまで弱点をわかりやすく晒しただけで、こうやって撮影する分にはFLIR one proと区別できない。
微妙な濃淡を読み取る必要がある用途に使用できないだけで、大体の用途に実用十分なスペックがある。
マクロレンズ付けてジャンク基板の修理とか、建物の漏水ヶ所調査とか、電線の発熱調査とか、室内の断熱不良ヶ所の可視化とか、その他熱を見たいなーって時に使える。
焼きたてのパンを探せ!!!!!

分解してみた

Q.なんでそんなことするの?
A.たのしいやろがい!

UTi260Bを分解する勇気は無かった。
DS-2TP31B-3AUFを分解してみた。

メイン基板。バッテリーの18650がi2c喋るらしい。RTC用のボタン電池がある。

サーマルセンサーモジュール。型番で検索したが何も引っかからなかった。
repton3.5と比べると馬鹿でかい。
仕様が顕になってRaspberry Piとかで使えたらクソ楽しいだろうなあこれ。

おわり

2020年4月13日月曜日

c++のstd::filesystemでコンパイルエラーが出る

Ubuntu18.04でc++17を学習していたらハマったのでメモ
c++のstd::filesystemを使用したコードをコンパイルできない。

異なる原因が2つあった

原因1
g++-8と明示的に指定してもg++-7が使われていた


まずgcc/g++のバージョンを確認する

g++ -v

ここでバージョン8以下であればg++-8をインストールする

sudo apt install g++-8

インストールしたらg++-8のバージョンを確認する

g++-8 -v

なんとここでversion7を使ってるとの結果が返答された。
g++-8を明示的に指定してもg++-7を参照しているとは夢にも思わなかった。

とりあえずlsコマンドで確認する

ls -l /usr/bin/g++*

lrwxrwxrwx 1 root root  5  5月 21  2019 /usr/bin/g++ -> g++-7
lrwxrwxrwx 1 root root 22 12月  4 23:25 /usr/bin/g++-7 -> x86_64-linux-gnu-g++-7
lrwxrwxrwx 1 root root  5  4月 13 10:24 /usr/bin/g++-8 -> ./g++


上記の例だと
g++
g++-7
g++-8
3つともシンボリックリンクでどれを指定してもx86_64-linux-gnu-g++-7を参照するようになっている。

参照先も確認してみよう

ls -l /usr/bin/x86_64-linux-gnu-g++*


/usr/bin/x86_64-linux-gnu-g++-7
/usr/bin/x86_64-linux-gnu-g++-8
この2つは実態らしい
g++-8の参照先を/usr/bin/x86_64-linux-gnu-g++-8にかえてやればいい

sudo ln -fs x86_64-linux-gnu-g++-8 /usr/bin/g++-8

シンボリックリンクの書き換えを確認する

ls -l /usr/bin/g++*

lrwxrwxrwx 1 root root  5  5月 21  2019 /usr/bin/g++ -> g++-7
lrwxrwxrwx 1 root root 22 12月  4 23:25 /usr/bin/g++-7 -> x86_64-linux-gnu-g++-7
lrwxrwxrwx 1 root root 22  4月 13 14:29 /usr/bin/g++-8 -> x86_64-linux-gnu-g++-8


いい感じ
g++-8のバージョンを再度確認する

g++-8 -v

gcc version 8.4.0 (Ubuntu 8.4.0-1ubuntu1~18.04) 

g++-8を指定してg++-7が参照されることは無くなった

原因2
g++オプションの書き方が間違っていた

最低限必要なオプションは2つ

-std=c++17

-lstdc++fs

この2つをmakefileのgcc_options = にそのまま書くと次のような記述で実行される

g++-8 -std=c++17 -lstdc++fs  -o /path/to/output /path/to/source.cpp

この記述の実行結果はエラーになる

エラーの原因
-lstdc++fs は末尾に書かなければならない

参考
https://stackoverflow.com/questions/57584084/why-does-compiling-filesystem-code-with-c-return-me-this-error

正しい記述はこう

g++-8 -std=c++17 -o /path/to/output /path/to/source.cpp -lstdc++fs

これでコンパイルが通るようになる
makefileもそのように編集する。

おわり

2019年11月27日水曜日

XPS 13 2019 (7390)にubuntu 18.04ltsをインストールした

10インチから12.5インチの小型クラムシェルノートが好きだ。
しかし小型モバイル市場はスマホやタブレットに喰われてしまい、おしゃれ番長のappleが11.6インチや12インチから撤退してしまった。
2in1は好きじゃないし狭額縁の13インチで妥協しようかなと考えてる今日この頃、今年1年の頑張りをたたえ冬のボーナス払いでXPS13を買ってしまった。


Ubuntuで使えそうな英語キーボードマシンを条件に探していたところ、XPS13が公式にUbuntu入れて売ってるそうで(米国のみ)この機種を選択した。

オタクブラックとイキリフロストの2色からイキリホワイトを選んだ。
どうか黄ばみませんように。

あとなぜかパームレストの左右に磁石が入っている
今時磁気カード使うケースもないだろうが、駐車券とかビルの警備カードとかうっかりおいてしまいそうな位置だなと思う。


予備のACアダプタ欲しい

付属の45w小型ACアダプタがめちゃめちゃ発熱する。しすぎやろ。


余裕ある60wのACアダプタを買って付属の45wアダプタは外出用にしようかと考えている
DELL公式で60wACアダプタが送料込み4000円と良心価格で売っていたので早速注文した。

2019/12/15 追記;60wタイプは発熱が低くて買ってよかった。

セットアップ前に用意したもの

・Ubuntuを書き込んだUSBストレージ


・USB type-cと3.0type-Aの変換ケーブル2本


・USBwifiドングルまたはUSB有線LANアダプタ
(↓5Ghz対応してないけど発熱少なくておすすめ)

セットアップ


DELLのロゴが出る前に(ダジャレじゃないよ)F12を連打してメニュー画面を出す
USBメモリからUbuntuのインストールメディアをブートする

liveUSBで起動したUbuntuはwifiが使えないのでwifiドングルや有線LANアダプタを接続

インストールとアップデートが終わるとサウンドドライバがあたり音が出るようになった
(カーネルは4.15)
wifiがまだ使えなくて不便。

wifiドライバを入れる

AX1650のドライバはカノニカルのリポジトリ追加してaptでインストール可能
https://support.killernetworking.com/knowledge-base/killer-ax1650-in-debian-ubuntu-16-04/
このページの手順通りに行ってようやくオンボードのwifiが有効になった。

最新のカーネルに更新する

この状態で特に不満もなく使えるようになったが2点ほど不具合が見つかる
・ファンクションキーから輝度調整できない
・USB type-cの映像外部出力(alternate mode)が使えない
輝度調整はともかくDPaltが使えないのは後々困るのでカーネルを更新する。
Ukuuをインストールしてカーネル5.40をインストール
再起動したらgrubでロードしてくれないので、仕方なくセキュアブートを無効にして起動し直す。
カーネル5.40で正常な輝度調節を確認、外部モニターへの出力を確認。


4kモバイルモニターを接続して動作確認。
type-cのCtoC1本で映像出力できるのは大変便利である

なぜか右側のDPロゴのついているUSBポートから映像出力できない。
左側のTBロゴのついた2ポートからは映像出力できてるので気にしないことにした。
(その後試したら普通に使えた)

余談



お高いモバイルモニターは中華サイトから直輸入するよりamazonのセール時に買ったほうがいい。

まとめ

最新カーネルで今の所とても安定して動いている。
あ、指紋センサーは使えません。(興味なし)

2019/12/15 追記:たまに一瞬画面が乱れる。発生頻度が少なく出ても一瞬だし別にどうってことない不具合


おわり。



2019年11月25日月曜日

安いサーモグラフィカメラ(サーマルカメラ)を買ってみた

購入動機

去年ぐらいにお高いFLIR ONE PRO を買って楽しく遊んで暮らしていたが、バッテリーの持ちが悪く今ひとつ使い勝手が悪い。
遊ぶ前に充電しないとすぐに電池が切れて満足に遊べないし、バッテリー容量が少ないとキャリブレーションが狂うので実質的な動作時間に不満がある。
1万円ちょいで買えるおもちゃのサーモカメラが単三電池4本で6時間ぐらい動作して、電池がなくてもUSBモバイルバッテリーで駆動してくれるらしいので買ってみることにした。

機種選定

まずこちらの2機種を比べてみる
「HT-02」  150$ センサーサイズ60*60
「HT-02D」 120$ センサーサイズ32*32
3、000円しか違わないしセンサーサイズが倍になるなら上位モデル買うでしょ普通。
これは罠。
この2つの機種のレビュー動画をさんざん見比べたけど解像度の恩恵は見られないし、
なんなら32*32のほうがしっかり写ってるので32*32のセンサー機種から選ぶことにした。

いろんな会社が1万円台のサーマルカメラ作ってるけどセンサーとメイン基板はおそらく全部一緒。ファームウェアは各社独自に書いてるので液晶画面に最大温度と最低温度が表示されるものを買った。
「XE-26」とか「IR-891」の名称で売られており送料込み日本円で1万3000円で買えた。

余談
4万円超えの中華品は一気にコスパ悪くなる印象。
4、5万の中華買うならFLIR製品買ったほうがいい

使ってみた感想

3秒でサクッと起動してくれる。とても早い。
FLIR ONE Proだと起動に10秒かかってキャリブレーションが始まるので
使い始めるまで20秒ほどかかるのでこれはありがたい。

この機種はハード的なキャリブレーション機能は無し。
メニュー画面からユーザーが校正係数(でいいのか?)を入力してソフトウェア的に補正する。
1.0から0.1まで設定できるのだがだいたい1.0付近で合うので1.5から0.5で調整できるようにしてほしかった。

普通のCMOSカメラとサーマルIRカメラがついていて画像の重ね合わせをしてくれる
CMOSカメラ用にLEDライトまでついており大変便利。


重ね合わせは5種類から選べる。
視差はあるがセンサーの貧弱さをしっかり補える。

FLIR ONE PROとの比較


はい、格付け完了。
赤く光ってるのがNUCとUSBハブ。
FLIRはUSBポートの位置までわかるしというかケーブルの1本1本までしっかり写ってる。
安物カメラの方は距離が遠いと温度もあまり正確ではない。
安物カメラで近づいて撮影してみた。
温度が正確になり解像度も若干上がりったが、USBポートがダンゴに表示される。
これはセンサーの性能限界というよりソフト側の機能不足による限界だと思う。
高機能製品であればここから表示に使う温度範囲のやしきい値の調整ができてもう少しマシな表示になるはず。

使い物にならないのか?

いや、少なくとも放射温度計の完全上位互換ではある。
たとえばこの画像、デニム生地に電池が2本おいてある。


実はこれ



デニム生地には水の手形があり
電池のうち1本は充電したばかりでホカホカ。


これは安物のカメラでもしっかり確認できる。
肉眼で見えないものがざっくり見れるだけでも使いどころは色々あるんじゃない?(適当)
しばらくこいつで遊ぼうと思う。
おわり