admink のすべての投稿

インターホンの修理

こちらから外に声が伝わらない

インターホンの調子が悪い。具体的にはこちらの声が外に聞こえない。

うちのインターホンは、アイホンのこれ↓

ご家庭のセキュリティがもっと身近になるワイヤレステレビドアホンROCOポータブル新発売

システム
https://www.aiphone.co.jp/docs/newproduct/20071022188.html より参照

上記のような構成で、カメラ付。外からの映像音声は聞こえるので、とりあえず外→室内の通信路は大丈夫。次に、ずっと使っていなかったワイヤレス増設子機を引っ張り出してきて、モニター付き親機とつなげたところ問題なし。親機のマイクは生きていそう。

後は外のスピーカーか、室内→外の通信がこけているか。

故障例の調査

とりあえず、他に壊れている人いないか検索してみると、意外とメジャーな故障のようだった。

アイホン DIYでインターホンスピーカー交換

ドアホンが故障!?外部スピーカーを交換したら約1,000円で修理できたでござる

パナソニックも結構つらつらと故障例が見つかる。防水フィルムが劣化して、スピーカーがダメになる例が多いみたい。とりあえずばらしてみる。

とりはずし

インターホン、うちの取り付けは以下の物

ファンクションユニットアクシィ:アクシィ2型

フラット横型ポスト
https://www.lixil.co.jp/lineup/gate_fence/acssy/variation/2/ より

うちはデザイナーズパーツとかいう柱の間についているので、説明書でいうと下の例のつき方。

アクシィ2型取付説明書 http://www2.toex.co.jp/rp/dfw/exsas4/torisetu/files/A59502A.pdf

なんとなく構造はわかったのだが、このセンターブロック上キャップは抜け止めがあるので、どうやってとったらよいものか。と思っていたら同じ抜け止め金具でセンターキャップを取り付けている、ウィルモダンシリーズの取説が見つかった。

http://www2.toex.co.jp/rp/dfw/exsas4/torisetu/files/UA16502A.pdf

普通にマイナスドライバーでこじればよかったらしい。

取り外すとこんな感じ、電源も通信もこの細い2本線でやっているようだ。

本体分解

無事門柱からとれたのでばらしてみる。

元のスピーカー

これが問題のスピーカー。

裏っ返してみる。よくこの防水シートがぼろぼろの物があるが、キレイに残っているので一見問題なさそう。

適当なスピーカー

aintendoで買ったやつかな?手元にあったスピーカーつけてみたら、無事音が出るようになった。

部品購入と交換

型番からするに、以下の表にあるモノっぽい。

http://www.kdkk.co.jp/wp-kdkk/wp-content/uploads/2014catalog_sk.pdf

ただ、川崎電線の最近のカタログでは載っていないので生産終了か?

というわけで、Amazonで似たようなものを購入。もとのが20Ωにくらべて16Ωだが、まぁなんとかなった。

最後に

しかし、今のインターホンがもうディスコンになっているとのこと。互換表見ると、今の親機 WF-2MEDに対応した子機が現行製品ではないようだ。下手すると一式交換コースだったかと思うと、なんか儲かった気がしたのでアピールしておいた。

m5 Stick-C で Pulse Oximeter

きっかけ

最近家族の発熱があったりするのと、コロナ軽症者は血中酸素濃度をモニタして症状を判断するとのことなので、2 月くらいに買ってほったらかしにしていたセンサー、MAX30102 をつかってパルスオキシメーターを作ってみた。

ちなみにセンサーは、Aliexpress で 200 円くらいの、これを買った→MAX30102 Heart Rate Pulse Breakout / Blood Oxygen Sensor Module

調査

手元に M5 Stick-C は余っているので、とりあえず Arduino のライブラリがあればそれっぽくなりそうとのことで調べてみると、京セラコミュニケーションシステムズのサイトで、作成例を紹介している記事があった。→M5Stack Basicで通信機能付き心拍・血中酸素モニタを作る

上記の記事は実際には MAX30102 を接続しているようなので、ほぼいけそう。元ネタはMAXIMのサイトSparkfunのExampleかな。測定原理とかは、このへん →GUIDELINES FOR SPO2 MEASUREMENT USING THE MAXIM® MAX32664 SENSOR HUB

モジュールとは、I2C 通信でいけそうなので、Grove端子からの接続で OK そう。接続は、このケーブルを使おう→ GROVE – 4ピン-ジャンパメスケーブル (5本セット)

モジュールの電源や信号レベルはどうなっているか、このモジュールの回路図はないか見てみると、回路図付きで以下のサイトがひっかかった。

Pulse Oximeter MAX30100/MAX30102 – how to fix wrong board

タイトルからしてどきっとするが、一応電源は M5 系の Grove 5 V で問題なさそう。ただ、I2C の信号線が 1.8 V でプルアップされているようで、記事にもあるように 3.3 V 系 だと不安定だと何とかなるんじゃないかな(事実なんとかなった)、とそのまま接続する事に。それより気になったのは、1.8 V を生成しているはずのレギュレータが、2.8V 品が乗っているものがあるとかいう指摘。テスタで測ったところ問題なく 1.8 V が出力されていたので、これは杞憂に終わった。

接続、コーディング、測定

とりあえず接続はこんな感じで、G32 -> SDA, G33 -> SCL。ソフト的にはI2C周りはデフォルト設定でいけそう。

M5STICK-CとMAX30102の接続

VSCODE 上 の PlatformIO で、同じようにライブラリを導入。ソースはほぼそのままで、とりあえず適当に画面周りだけ修正。IRと赤色それぞれの測定値を、50個ためるバッファがあって、半分の25個更新しては、ライブラリの関数を呼び出す構造。関数内では、波形のピーク検出に基づいて脈拍の計算と、両センサーの変化率の比から酸素濃度の計算、という感じ。センサーに指を置いて測定すると以下のように表示される。指汚い。

なんか指を押し付ける力で結構ばらつくなぁ、と思ってたんだけど、本家の動画見てもそんなもん?という感じ。

これだと測定中不安になるので、serial plotter用に片方のセンサー値だけ出力するように変更して、リアルタイムにグラフをみながらやろう、という事に。

グラフ見ながらやれば、どうやれば安定できるか、コツがつかめるような気がする。

電源入れて測定開始までは LED 光らないようにしたりして、最終的なものは、以下においた。

https://github.com/Keitark/pulseoxi.git

さいごに

やはり、ここ最近作っている人が多いかんじ。今回はライブラリはそのまま使ってみたが、いろいろ手を加えたり、自分で計算している人もいるようなので、そのうち調べてみる。

参考になるサイト

その後、いろいろなサイトを見てみると、いろいろ情報のまとまっているサイトがあったので、紹介。

脈拍センサーMAX30102を試す(1) Githubのレポジトリの不具合などの情報もあり、2017年なのでもう直っているのかも。

[ESP8266][MAX30102] MAX30102でパルスオキシメーターを作る Datasheetなどにある計算原理などについての確認など、Sparkfunのモジュールの不具合情報みたいなものもあり。

dovecot error on Serversman@VPS

POPでメールが取得できなくなっていた

このサーバーでは dovecot 経由で POPサーバーを立ち上げ、普段は Gmail 経由で取り込んでいた。めったにメールが届くものでもないので、しばらく気づかなったが、5月のはじめあたりから接続できてないようだ。ちょうど Serversman@vps の Cent OS 7 で yum update かけていろいろ設定など見直したあたり。原因を見ると、Connection refused とからしい。

dovecot まわりの確認

systemctl で状態を見ると、failed になっている。とりあえず手動で startかけたら、time out とのこと。status を見てみろとのことなので、systemctrl status dovecot.service でログを見ると、

Can't open PID file /var/run/dovecot/master.pid (yet?) after start: Too many levels of symbolic links

との事、なんだろう。同じような悩みの人いないか検索してみると、[SOLVED]Dovecot issues on new ispconfig installation on vps Centos7 などが引っかかる。vps で CentOS 7 なところも同じような…… 解決策を見ると、/etc/systemd/system/multi-user.target.wants/dovecot.service 内の記述、

PIDFile=/var/run/dovecot/master.pid

を、

PIDFile=/run/dovecot/master.pid

にしろとの事。ls で確認しても、/var/run -> ../run なので、同じモノっぽいけれど、こうするといいらしい。本当か、と試したら直った。

何が原因なのか

既に調べた人がいた。Can’t open PID file /var/run/nginx.pid (yet?) after start: Too many levels of symbolic links(タイトルは英語だが)に同じように悩んでいる人がいて、Systemctl fails to start service: Too many levels of symbolic links が紹介されていた。

The recent CentOS 7.7 update includes an update to systemd-219-67, which changed how systemd opens symbolic links and causes incompatibility issues with old kernels.

が原因らしい。確かに 今の systemd は、219-73.el7_8.5 となっているので該当していそう。systemdを更新したらエラーも同様の話。とりあえず暇があったらもう少し。

ラジオを買った

子どもがラジオに興味を持った風なので、病院がえりに Shigezoneでラジオを買った。

電動精密ドライバーとかいうものも売っていた。あると便利そうだが、自分的にはそんなに使う事あるかなぁ、という感じだったので、とりあえず見送り。

家に帰って、周波数帯変更用のチップ部品を取り付けようとして裏を向けたところ……

ラジオ裏面

あ、こういう時使うなと気付いた。せっかく使う機会があるので、明日の外出帰りに電動ドライバー買って帰ることにして今日はこれまで。

(追記) その後買ってきて試したところ穴が深いせいで、付属ビットだと届かない。一緒についてた先端の細い部分が長いビット(持ってない人にはわかりにくい)だと届くが、サイズがちょっと大きい。

いろいろなビッドが使えますよ、という事で確かに手持ちの精密ドライバのものが使えた。ちなみにメーカーのページはここ。製品としてのページは、これが近い。微妙にセットされているビットの種類が違うが誤差の範囲だと思う。それを見ると、ビットのサイズはH4 x 28 とのこと。確かにノギスで測ると4㎜。ビットはそれなりなので気になる方は違うもの推奨という事らしいので、4㎜サイズのよさげなものを探してみよう。

とりあえず、同梱のチップ抵抗つけて組み上げ。ちゃんと日本対応になる。1314 OBCとかたまに入る。ちなみに子どもからは、「これなら普通にRadikoでいい」という反応。

WordPress マルチサイト用に証明書を更新(letsencrypt)

https 化はこの前うまくいったと思っていた。ところが、このサーバーでは、Wordpress のマルチサイト機能を使って複数サイトを立ち上げており、他のサイトにアクセスすると証明書の警告が出ることがわかった。

Apache 上は特に1つのサイトと一緒なので、証明書にホスト名だけ追加すればよいはず、という事で、

$ sudo certbot certonly -expand

と既存の更新なので、expandをつける。あとは

How would you like to authenticate with the ACME CA?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: Apache Web Server plugin (apache)
2: Spin up a temporary webserver (standalone)
3: Place files in webroot directory (webroot)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-3] then [enter] (press 'c' to cancel): 

で、1 を選んで、

Please enter in your domain name(s) (comma and/or space separated)  (Enter 'c'
to cancel):

で、サイトのアドレスを列挙していくだけで無事証明書が新しくなり、エラーがでなくなった。

Tp-LINK T9UHと Etron USB3.0で嵌った話

古いPC、邪魔なのでネットのない部屋に片づけておいた。デスクトップなので、無線 LAN などは搭載せず。ただ、たまに古いファイルが欲しくなる時があるので、よっこらせと運んで LAN に接続とかやっていた。ただ、Define R3のケースに、HX850、SilverArrowという、重量級のパーツが多いので、少し大変なので無線LAN子機をつけることにした。

折角なので、スループットも出そうな、TP-LINK の T9UHとかにした。あわよくばファイルサーバー化したいという事もあり。モニタなど繋ぐのが面倒なので、電源とLANケーブルのみで、Remote Desktopで作業。USB3のポートに子機を挿して、最新版ドライバダウンロードして、インストール。tp-link 謹製の WPS ツールとやらで設定完了(したように見えた)。

ここで、動作確認のためにケーブル抜くのが面倒だったので、LANアダプタを無効に。Remote Desktopをつなぎなおすために、ルーターを参照し、新しく割り振られた IP (たぶんこれが無線のやつかな)でリモートデスクトップ接続しようとする。が、つながらない。ケーブル抜いていれば、ここで挿せば復活するはずだがどうにもならない。モニタ繋ぐのも面倒臭い。

USBの有線LANアダプタをSwitchからとってきて、接続。新しいIP経由で接続して無事復帰した。Windows 10 のネットワークを見ると有線だけ。無線アダプタがなくなっている。あれっと思ってデバドラみると、無線LAN子機が三角マーク付きになっている。一度デバイスを削除し、子機を抜き差し。普通に認識している。今度はSSIDをwin10の WPS 経由で入れる。接続したタイミングで、また無線LAN子機がデバドラでこけている。

なんか間違ったドライバいれた?と念のため、付属CDからドライバいれても同じ現象。だんだん嫌になってくる。tp-link ssid disconnectとか検索してもぼんやりとしている。何を思ったか、USB2.0 のポートにさして見るとなぜか繋がる!というところでなんか USB3.0 のチップと相性があるのか?と思いつく。

このマシン去年まで現役だったが、Sandy Bridge 2600+ Z68 Extreme 4 とかなので、USBはMB上のチップ。 Etron 3.0 driver とかを検索すると、ETron製USB3.0ホストと弊社製品の相性についてとか、Trying to use TP-Link WN821N on Gateway FX6860-EF10P USB 3.0 ports とか、それなりにいろいろ引っかかる。Windows 7とか8とかはドライバがいろいろ出ていたようだが、Win10 64bitはどうやらMS謹製のみ?

いろいろ悩んでも仕方がなさそうなので、当面 USB 2.0で運用する事にして、Amazonで適当なUSB3.0ポート拡張ボードを注文して終わり。

スマートメーター読み取り

きっかけ

上の子供がテレビをつけっぱなしにしがち。電気代がもったいない!と怒るもどれくらい電気を食っているのかよくわからない。最近はスマートメータ化が進んでいて、いろいろやりようがあるらしいので調べてみた。

調査

とりあえず規格としては Wi-SUN、802.15 WG の中で数少ない成功例の一つだと思います。これらを扱えそうなモジュールを調査。

モジュール例

BP35A1

MaixDuino のケースを作っていた人のページでも紹介されている。これを入手すれば、このケースも使えていい感じだ。ただ 8000円くらいするのか……

RL7023 Stick-D/IPS

ここで紹介されている。上のモジュールが入っている USB ドングル?8000 円かぁ

とかやっていくときりがないので、やめよう。というか、5年前のインターフェースの記事サンプルに技適取得済みの 920 MHz 帯モジュール一覧があるのでこれで。新しいのはなんかでているのかもしれないけれど。

変復調等

さて、実際802.15.4gのどのモードで通信しているのかという事を見ると、FSK の 50 Kbps, 100 Kbps, 200 Kbps とかその辺が国内で使われているみたい。

このへんならば、MACはなんとかがんばれば、15.4g対応というものでなくても対応できそうなモジュールは多そう。

SEMTECHのSX1276とか、仕様書みるとどう考えても普通にいけそうだし、Amazon とかでも 2000 円ちょい簡単に買えるんだけれども、なかなか技適のあるものが手にはいらない。

今後の方針

BP35A1

先例もあるし、ケースもあるし。ただ価格が……

SX1276

何とか技適未取得端末の実験という形ですすめる(半年だけだけど)。一応手持ちに前の実験で使ったモジュールがある。

とりあえず802.15.4gとして使うからそれで申請すればよいのだろうか。駄目な電波はとりあえず設定しないようにすればよいのかも。あとでこの辺みて復習しておく。

Maixduino

でかくていろいろ乗っているから、”Max”iduino なのかとぼんやり思ってたら、Maixduino だったようです。Tang Primer も Tang Premierと思ってたの(これSwitch Scienceも間違っている)で、最近固有名詞の覚えが怪しい。

Shigezone で 3,300 円で売ってた。大き目の LCD とカメラもついていて安い。相変わらず注文してから翌日に届くのがすごい。今回は、ブレッドボードとか線材も頼んでみた。

修行が足りないのか、まだ基板間のフラットケーブルがプラプラしているのが気になる。誰かケース作っているはず、と思って検索してみると、ここでやっぱり作っている方がいた。しかも完成度がおかしいくらい高い。下のケースがいまいちに見えるとしたら、それはうちのプリンタのせいだと思う。

カメラのフラットケーブル、すこし長めのものがついていた。ただスペースに遊びがあるので問題なかった。

組み上げて起動(ここで初めて電源いれた)。ちょっと小さ目のデジカメっぽい。アクセス性も良い感じ。熱やばそうならスリット入れてみるか。

ボタンを適当に押せばカメラの画像が LCD に表示されるとかいう話がある。カメラのテストもやってみたいので、ブートコードを見ると以下のような記述あり。

test_pin=16
fm.fpioa.set_function(test_pin,FPIOA.GPIO7)
test_gpio=GPIO(GPIO.GPIO7,GPIO.PULL_UP)
lcd.init(color=(255,0,0))
lcd.draw_string(lcd.width()//2-68,lcd.height()//2-24, "Welcome to MaixPy", lcd.WHITE, lcd.RED)
v = sys.implementation.version
lcd.draw_string(lcd.width()//2-70,lcd.height()//2+12, 'V{}.{}.{} : maixpy.io'.format(v[0],v[1],v[2]), lcd.WHITE, lcd.RED)
del v
if test_gpio.value() == 0:
    print('PIN 16 pulled down, enter test mode')
    lcd.clear(lcd.PINK)
    lcd.draw_string(lcd.width()//2-68,lcd.height()//2-4, "Test Mode, wait ...", lcd.WHITE, lcd.PINK)
    import sensor

Welcome to… 表示直後に一回 Pin 16 が 0 かどうかを見てテストモードに入るらしい。PIN16 はどうも BOOT ボタンに割り当てられているとか。という事で、リセット解除してから BOOT ボタンを押しっぱなしにしてみる。

test mode

無事カメラも動作。と書くとスマートに見えるが、本当はガチャガチャやってたらなんとなく操作方法がわかった。答え合わせで上記を調査したので書いておく。

子どもが何それ、デジカメ?デジカメ?とかうるさいが、いつも通り放置。そのうち勝手に遊ぶだろう。

K210 も結構 CPU パワーありそうなので、何に使おうか思案中。こうなると Lichee Zero とか Tang Primer もケースにいれたい。

CentOS7環境でのWordPress 5.4.1への移行

動機

写真とか載せているが、Exif情報とか何もいじっていないので、やっぱり対策したい。

この辺を参考に、Wordpress のプラグインで、EWWW Image Optimizerとかいうものを入れれば何とかなることがわかったが、どうやらWordpress 5.0以上が必要だとか言う話。

現状4.7.1だったので、これを機にアップデートしようとしたら、ボタン一発でいかなかったので、ここに書いておく。

作業

PHPのアップデート

5.4.1への更新のお知らせが表示されてはいるが、PHPがどうやら古いようで、WPの設定ページから更新できないようだ。ただ、SSLの証明書対応した際に、updateかけているので一応 Serversman@VPSの CentOS 7環境では現状が一番あたらしいはず。

というわけで、CentOS7に新しいPHPをインストールすべく、情報を収集。だいたいこの辺のページにあるように、現状のPHPのパッケージをばっさり消して(/etc/php.iniはバックアップ)、yumのレポジトリを追加、せっかくなので7.3をインストール。php-gdのインストールだけ依存関係がうまく解決できなかったが、素直にbaseも加えて installすれば問題なかった。

WordPressのアップデート

さて、設定から更新を押しても真っ白になったり、ダウンロードしています……から進まなかったりしていたので、とりあえずサーバー再起動(適当)。

再起動後は一瞬でアップデート終わり。ただ表示が何かおかしい。

Crayon Syntax Highlighter停止

どうやら、PHP7系では問題あり、とのこと。しょうがないので停止する。直し方もあるようですが、とりあえずは代わりを探してみる。

EWWW Image Optimizer有効化

無事完了、古い画像も一括最適化、とかやっておく。

おわりに

いろいろ環境が新しくなったので、他にいろいろ試す予定。