EM7430通信カード

ノートPCのOneMix3 用にEM7430 M.2(技適あり)をaliexpress で調達していたのだが、結局、OneMix3 は本体にSIMスロットが付いて無いので、SIMスロットを別途調達して半田付けするとか凄く面倒だったので、放置していた。

OneMix3はキーボードがイカれていて、起動すると、押して無いキーの文字が連打されるという感じで、実質、ジャンクと化している。

EM7430は一回も使ってなくて、車載のRaspberry Pi Zero 2W に接続したら、今やってる携帯電話接続よりは電気喰わないんじゃ無かろうか? と思った。

※商品画像紹介にアフィリエイト使ってます。

で、Amazon で、「M.2-USB 3.0アダプター M2ネジ付きプッシュコネクター デュアルSIMカードスロットコンピューター用ドライバー3G / 4G / 5Gモジュール」なんてのが売っていて、デュアルSIMのスロット付きだったので、買ってPCへ接続してみた。

ちなみに、EM7430の通信カードと、それに接続するLTEアンテナを事前に調達しておいた。
最初、アンテナを繋がずに、「繋がらねえ!」とか言ってたのは秘密だ 😀

先に、Windows11 の仮想マシンに繋ぐと、あっさりとピクトのモバイル接続設定が出てきて、簡単に繋がった。

そして、Ubuntu 20.04 へ繋いでみると、

donedone のAPN設定のページに書かれている APN: biglobe.jp と設定したら、あっさり繋がった。

wwan0 つーデバイスになるのね。

ちょっと失敗したなと思ったのが、この手の製品って Windows のドライバでハードウェアの初期化する事を前提にしている場合があって、Windowsを持ってない人は Linux でいくらやっても使えないという可能性があるという事。

まあ、人柱になれんですまんけど、とりあえず、わしの環境だと、Windows があるので、EM7430のカードは Linux で使えるので、問題なし。 🙂

しかし、 GUIで設定できるらしいというのは分かっていたが、Raspberry Pi Zero 2Wは、CUI環境なので、どうやって設定すんのかよく分からんというのが問題だな。

Car Security alert GPS Warning! 18599.26m moved.

車載Raspberry Pi Zero 2Wからひっきりなしにメールが届いたが、「車が 18.6km移動してるよ」との事。

もちろん、移動してないので、GPSの測位誤差なんだろうけど、凄いズレ方。

平和堂の屋内立体駐車場に停めると、こういう事が起ったのはこれで2回めで、何か、GPSを狂わせる毒電波でも出てるのだろうか……

【Raspberry Pi Zero 2 W】u-centerでGN803GのGNSS設定

前の投稿でGALILEOが補足されないと書いていたが、Windows 10環境で、u-centerで見た時に、GALILEOがenableになってなかったってのがある。

確認の為に、再び u-center で見てみると……

やっぱりGALILEOが有効じゃない。

このモジュールは、GLONASS か Beidou の排他選択が可能なので、GALILEO、Beidouを有効にして、GLONASS を無効にした。

あと、QZSS の L1S 信号にチェックが入ってなかったので、入れた。
これで、精度上がるのかな?

Receiver > Action > Save config で保存して、車載のRaspberri Pi Zero 2 Wに接続してみた。

GPがGPS、QZがQZSS,GAがGALILEO、BDがBeidouね。

衛星捕捉数が増えて、28個の衛星を使ってるな。よしよし。
しかし、初期状態で、GALILEO無効の場合もあるのか。油断ならないな。

【Raspberry Pi Zero 2 W】gpsd-3.24入れた。

GPS補足状況を確認しようと思ったので、取り敢えず、2ウインドウ表示して比較。

右がRaspberry Pi Zero 2 W(以下rx7pi)のGPSで、左が、ホームサーバーのRaspberry Pi 4のGPS。

GPSは、TOPGNSS GN803Gという製品で、2つ共同じなのだが、車載のrx7pi の方は、PRN194〜196のQZSSと、PRN300番台のGALILEOが表示されてない。

Ubuntu 20.04の gpsd-3.21 だと、QZSSが表示されているのは確認できているので、rasbian の gpsd-3.17だと対応していない疑惑。

Raspberry Pi 4の方は野良ビルドで、gpsd-3.24 を入れてあるので、rx7pi の方にも入れてやろう。

Building GPSD from source」を参考にして、

If ‘scons’ fails, it is possible that your target system has moved to Python 3 and removed the program ‘python’. Python.org says that if you have an installed Python, there should be a program in your path called ‘python’. This is specified in PEP 394. This rule is not always followed. You can work around this by linking python3 to python like this

python3 のシンボリックリンクを作成しろとの事だが、要はPATHが通ってる所なら良いので次のようにする。

なぜか、 ln -s /usr/bin/python3 /home/noizumi/bin/python で作成できなかったので、ちょっとまだるっこしい事をやっている。

必要な開発用パッケージを入れるけど、gtk3 とか入れるとアホみたいにパッケージが入っちゃうし、gpsd と gpsmon、 cgps のテキストベースで使えれば良いので、次のものを入れた。

python のライブラリのPATHは存在しないので、シンボリックリンクを張っておく。

そしてインストール

gpsd のビルドのページには、sudo scons udev-install とやれって書いてあるけど、既に gpsd-3.17のパッケージ入ってるし、そのままにしたいので、 install にしている。

一応、念の為、ちゃんと入ってるか確認。

既定は prefix=/usr/local なので、全てそこにインストールされている。

ExecStartのPATHを変更。

GALILEOは補足できてないけど、QZSSが補足できるようになった。

やっぱ、gpsd-3.17はQZSSに対応してなかったんだな。

【Raspberry Pi Zero 2 W】駐車中カメラ調整した。

これは結構いいな。

 

動体検知すると、こんな感じ。
車内監視用だから、外の景色は余り見えなくていい。

今、HDMIケーブルからカメラまでのケーブルが短くて、HDMIケーブルが動いたら、カメラスタンドが動いてしまう。

カメラケーブル長くして、HDMIケーブル繋いでる基盤とカメラにちょっと遊びを持たせるのと、HDMIケーブルを固定しよう。

【Raspberry Pi Zero 2 W】カメラ上向き

天井しか映ってねーし(笑)
HDMIケーブルが重いから、車の振動で、カメラスタンドが動いちゃうんだな。

空模様で動体検知しまくっちゃうけど、まだ、こっちの方がマシだな。

HDMIケーブル固定するか。

【Raspberry Pi Zero 2 W】カメラケーブル延長

Arducam CSI HDMIケーブル拡張モジュール(2pk) – RobotShop

これの続き。

ちょいとピンぼけだが(笑)、普通にZero用カメラケーブルで接続したら、「使えますし、動作する事を確認しました」(笑)。

このHDMIケーブルは、多分、Raspberry Pi 3のセット買った時に付いてきたヤツだけど、やたら太いな(笑)

motion の映像も全く問題無い。

という事で、

また接続端子のピン数が少ないRaspberry Pi Zero系統のモデルでは使えません。実際にRaspberry Pi Zero WHでは動作しないことを確認しました。

情報源: Raspberry PiのカメラモジュールをHDMIケーブルで接続する | ガジェライブ!

ここに書かれてるのは、製品付属のケーブルだと、Zero系本体のピン数が少なくて物理的に接続できないから、「使えません」だし、「動作しないことを確認しました。」なんだろうな。

しかし、Zero系用カメラケーブルを使うという、物理的接続する方法を思い付けなかったんだから、接続できない事を確認したのみで、動作しない事は確認できてないよなあ。

フラットケーブルをHDMIケーブルの電線に置き換えてるだけだから、ピン数の合う部分で物理的に接続さえできれば、Raspberry Piの本体要因で、動かないなんて事は有り得ねえだろうに。

Zero系のケーブル延長しようと思ってる奴が、これ、見て買うのやめたら、店にとって、えらい風評被害だわ。事実、わしも諦めかけたけど、書いてる事がおかしいから、実際に買って、自分の仮説を確かめようと思ったんだな。

これで、車載した時のカメラ映像を上に上げられるので、motion で監視状態の時に、空ばっかり写ってるのが、フロントガラスからの景色にできるな。 🙂

Arducam CSI HDMIケーブル拡張モジュール(2pk) – RobotShop

Raspberry Pi Zero 2Wの長いカメラケーブル無いかな? と検索していた所、次の記事がヒットして、読んでると、次の様な事が書いてあった。

また接続端子のピン数が少ないRaspberry Pi Zero系統のモデルでは使えません。実際にRaspberry Pi Zero WHでは動作しないことを確認しました。

情報源: Raspberry PiのカメラモジュールをHDMIケーブルで接続する | ガジェライブ!

フラットケーブルをHDMIケーブルで代替するとは思い付かなかったが、Zero系のフラットケーブルでカメラに接続できている以上、それがHDMIになっただけで、動作しないってのはおかしい。

「ピン数が少ない」と書いてあるので、製品付属のケーブルでは、物理的に繋がらないって意味で「使えません」って事?

Zero用のカメラケーブル使ったら、ピン数云々は関係無く、物理的に接続可能なので、それに言及してるって事は、物理的接続すらせずに「使えません」って言ってる可能性があるな。

特徴

  • NVIDIA Jetson/ Raspberry Pi 4B、Pi 3B+、Pi 3B、Pi 2、Model A/B/B+、Pi Zeroに対応

情報源: Arducam Raspberry Piカメラ専用 CSI – HDMI ケーブル延長モジュール(15ピン 60mm FPCケーブル) — スイッチサイエンス

売り切れで買えないが、同じ製品と思しきものがスイッチサイエンスにもあったので、見てみたら、「Zeroに対応」と書いてある。

ラズベリーパイボード({{widget type=”catalog/product_widget_link” anchor_text=”A/B/B+,” title=”A/B/B+,” template=”catalog/product/widget/link/link_inline.phtml” id_path=”product/15272″}} または3B)をサポート) カメラボードV1 またはRaspberry Pi カメラモジュールV2 用に設計されています。 最大10mのHDMIケーブルで動作 オーディオまたはGPIO信号用の予約済みマイクとヘッドホンジャック Arducam CSI HDMIケーブル拡張モジュール(2pk

情報源: Arducam CSI HDMIケーブル拡張モジュール(2pk) – RobotShop

という事で、これをポチった。楽天のRobotShopは、「在庫なし」になってたし、在庫ありで買えるのがここ位しか無い。

この製品と同じ様なもので、PES001 ってのがあるけど、そこに「HDMIケーブルによっては、GNDの半田付けが必要」って書いてあったので、先のZero系で動かなかったというのもたまたまHDMIケーブルが悪かったってのがあるかもしれん。

情報源: Petit Studio: HDMI cables are NOT all the same!

ラスタバナナの携帯変換コネクタにテスタ当ててた時に、GNDピンが接続されてなく、口金部分がGNDになっていたが、電子機器業界の暗黙の了解なのか、GNDピンが配線されてない事があるようだ。

aliexpress に$10.8の安物のコピー品が売ってるけど、背面にチップも実装されて無く、二層基盤になってないので、口金にGNDを半田付けしても効果が無いと思われるから、買わなかった。

Arducam CSI HDMIケーブル拡張モジュールは、製品の特性上、単にフラットケーブルをHDMIケーブルに置き換えてるだけだから、フラットケーブルでカメラと接続できている以上、使えないって事は無いと思うんだがなあ。

【Raspberry Pi Zero 2 W】プログラム変更

どうも、/dev/shm をRAM DISKとして使用すると、ファイルが勝手に消されてしまうようで、そのせいで、lock file したつもりだったが、それが消されてしまい、motion が多重起動してしまっていたようだ。

そこで、明示的にRAM DISKを作成する事にした。

/ramdisk に tmpfs をマウントするようにした。
motion の動画もRAM DISKに作成するようにし、micro SDカードにやさしい運用に 🙂

一応、donedone エントリープラン 128kbps でネットワーク回線が繋がっていて、動画作成後にすぐに家のサーバーに転送するようにしてるので、RAM DISKのパンクは無い想定。

motion の設定で、on_movie_end で実行するコマンドを指定できるので、それでVPN経由でのファイル転送をやっている。

rsync の –remove-source-files で転送元ファイルを削除するので、RAM DISKにはファイルが貯まらない(はず)。

RAM DISK作成に伴い、車載監視プログラムも /ramdisk を使用するように変更。

追加してる処理は、AB Shutter3 用 triggerhappy 再起動で、AB Shutter3 が接続してない状態だと、/dev/input/event* が作られておらず、triggerhappy が起動しても、監視対象デバイスが無い状態。

接続後は、デバイスファイルが作成されるので、その時点で triggerhappyを再起動すれば、設定通り動くようになる。

ちなみに、AB Shutter3 用の設定は次の通り。

わしの買った AB Shutter3 は長押しのキーコードが出なかったので、上と下だけ。

triggerhappy は root 権限で動いてるので、sudo は要らんけど、まあ、念の為、付けておいた。

他には、gpsd の出力で、”TPV” の行に、lat と lon が存在しない場合があって、緯度、経度が正しく出力されていない事があったので、その対策をした。

壊れたと思っていたVK-172は生きていた。

ちなみに、One Mix 3用に、もう1個 VK-172 を買っていて、これを新VK-172 とすると、死んだはずのVK-172は旧VK-172となる。

殆ど衛星しなくなり、補足衛星0 となっていた 旧VK-172 だが、今、自分のPCに接続して動かしてみると、10個位衛星を補足している。

旧VK-172 はGPS系の衛星しか補足できないので、TOPGNSS803Gみたいに、GPS+GLONASS+GALILEOとマルチバンドじゃないから、元々補足衛星数は限られたものだった。

今は、日本が打ち上げた準天頂衛星が3つあるので、従来米国のGPSしか受信できなかったが、1〜3個、補足できる衛星が増えたのは大きい。

しかし、新VK-172に比べると、補足している衛星の信号強度が弱い気がするから、これは現在運用している TOPGNSS803Gが故障した時の為の予備としてとっておくか。

新GPS