Falconの思うままに

PASCAL好きが、気ままにマニアックなネタを

Rasbery Pi OS bullseyeを入れた

さて Rasberypi OSが新しくなっていた。

bullseyeと呼ばれるものです。

当然Lite版を選択。GUIいらん(笑)

専用カメラをつなぎたくてubuntuでやろうとしたが、あっけなく

撃沈。 やり方調べるなら素直に対応しているRasberypi OSにしようという

ことで、泣く泣く(笑) 入れました。 ubuntuがいいんだが.....

一つ収穫があって overlayfsへの対応が非常に楽。

これは電源ぶち切りと呼ぶ電源断対策で/ をReadonlyでマウントする

方法ですね。 raspi-configで対応しているんで

sudo raspi-config nonint enable_overlayfs

でOKです。

いやあ便利。 

ubuntuでもやっていて特定サービスを粛々と立ち上げして動いてくれていれば

いいという用途で実績を積んでいます。

 

過酷な電源事情で使う場合は必須かなと思っています。

SDカードを飛ばすと大変なんで。

最近raspiやってますの若者がvi使えないけど使えないと駄目だよね

と言っているので、まあがんばれです。

必要にせまられれば何とかなります。手が覚えるまでいけば10年たっても

使えますので。

 

 

 

 

今時のVNC接続環境

さて、VNC接続ご存じでしょうか?

 

VNCという言葉はもう、20年はあるでしょうか。

昔々Windowsをリモートメンテしたくて、X Window Systemがうらやましかった

頃、これを知りました。 xhost+ とか懐かしい。

今ではRemoteDesktopが普通に使えるのでvnc接続する機会も減りました。

 

現在は仕方なしに使うというパターンです。

それはLTSCのWindowsでRemoteDesktopが動かないからです。

はっきり言ってBugで動かないのですが、もう何年もメーカーは放置です。

しょうがないのでvncを使ってリモートメンテをします。

 

vncも派生ソフトがいろいろあり、TightVNCをサーバーに選びました。

他は有料もありライセンスが難しい。

Viewerは RealVNCがいいですね。 RemoteDesktopもどきなインターフェイス

なっていて使い勝手がそろいます。

vncプロトコルなんでソフトを同一にしなくてもいいんでそこはありがたい。

 

まあ、こんな話は興味ある方いますかね(笑)

 

 

 

日産SAKURAにナビ?ATOTOを取付


日産SAKURAをナビレスで購入。

なんとブランクプレートが付いてないんですね。

ぽっかり穴が空いているので、何か社外品つけないといけなくなった。(笑)

さすがに中の配管、配線丸見えなんで困る。

ナビ盗まれた車みたくなっている。 トホホ。

単純に安くなるし、近距離の使い方しかできないんだから「ナビいらん」に

しただけだったのだが、玄人向けの買い方だったらしい.....


車のナビ関係は全然詳しくないので、手探りで調べると、2DIN規格らしい。

ナビいらんのだけどということで、amazon探すとAndroid Autoという

のがあるらしいということがわかった。

そもそも Google Mapでいいじゃんと思っていたので、それが画面にでてくると

いうことで、 価格は2万弱なんで即決。 

いわゆる中華ナビのカテゴリーにはいるらしい。

ATOTOというメーカーで日本語が怪しいがまあ読める。

ハーネスが日産対応品がでていたので、いちかばちか、それも購入。

 

それで、SAKURAのパネルを外すとブラケットが側面についているが

これを外すにはねじ2本が上方からになるので、真面目にパネルをはずさないと

取れないことが判明。

途中までいい感じだったが、運転席まで回り込んでいるので、どうしても

はずれない。 素人なんでここまでか。


ナビ側を組み立てして、側面にブラケットを付ける。

そもそも本体はとても薄いんです。

とりあえず配線カプラを日産用ハーネスセットで本体と車両側のコネクタと

接続した。さすが専用品、はめるだけ。

電源ONしてきた。SAKURAの場合電源OFF状態でもアクセサリはONしている

みたいで、ナビが起動してきた。一定時間で切れるみたいだが、ちょっとくせが

ありますね。

ブラケットは穴だらけでいろんな車種対応しているみたい。

手探りで車両側のブラケットと穴位置を合わせてみると、1か所だけ

合う位置を発見。両側2点止めを決意。

ここでホームセンターへ行って、オフセットドライバを購入。

直角に曲がったドライバですね。 横から締めることができるので、

パネルを全部外さなくてもOKになりました。

最初手締めして、オフセットドライバで締めます。

これで落下しません。2点ですので上下方向に多少動きます。

多少動いたほうが、最終パネルのはめのときにいい感じになります。

またUSBケーブルでAndroidとリンクなんで、付属のUSBケーブルを

車の下まで通しておきます。 これはスケールにUSBケーブルを貼って

スケールを車の助手席側に降ろしました。すんなりルートが通って、下まで

USBケーブルが出てきました。

ここまでくれば、ナビの上にパネルを戻せば完了です。

 


簡単でしたねで終わりですが、実は見込み違いがあり、ここまで1週間以上

かかっています。

SAKURAのナビの枠は7インチワイド?(詳しくない)

なんで7インチ2DIN機種は左右に隙間がでてしまいます。

そこで、日産用隙間うめるスペーサがamazonにあったので、それを購入。

これは本来はナビ側に止めるみたいですが、パネル側にテープで止めて

おしまい。

 

結局ナビとパネルの間には隙間がでてしまい、いわゆる面一(つらいち)

になりません。ちょっと奥に引っんだ形の設置になりました。

 

こういう目にあいたくない人は最初からナビつけておいてください(笑)

 

でも私からすれば、まあまあうまく収まったなと思っています。

 

実はこのナビマイク入力端子が左上にあり、マイクもついています。

OK Google」で反応してくれるので、マイクの処理として、その隙間にコードを

埋め込んでマイクだけ出すことができます。

マイクは上のスペーサのパネルに両面テープ止めすることができました。

これなら純正のパネルにシールを貼ってべとべとにならず、スマートです。

 

最終的に下記のような取り付けになりました。

 

ナビ取付写真

Android端末を先ほどのUSBケーブルへさすと、ナビ画面にいろいろでてきます。

音楽も聴けて、スマホも充電状態になります。

Googleナビが画面にでてくるので、普通のナビ状態になります。

 

電話も受けられて、朝スマホをUSB接続しないといけないが、まあ

それくらいはやりますか。

 

そんな訳でして、ナビレスで穴があいた状態で困った人はこんな解決

方法もあるよということで、2万円の追加と自己責任での取付とちょっと

野暮ったいのを我慢できればいいのではと自分に思い込ませます。

純正にもAndroid AutoとCarPlay対応のディスプレイオーディオがあるみたい。

現状ナビ不足で納車遅れているらしいので

同じことできるんで安上がりでした。

SAKURAライフを楽しんでくださいね。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NodeRedの学習

さてNodeRedの勉強を兼ねてフローを見てみましょう。

これはAlexaをスマホから起動して任意メッセージを発声させる回路です。

 

サブフローの勉強を兼ねてAPI呼出しからの回路をサブフロー化しました。

 

NodeRed学習

 

ポイントはAPIの引数にキーワードを入れて不正利用されない対策と

発声を指定回数ループさせる処理です。

 

普通の言語でいうとFOR文になりますね。どうやるのか悩んだのですが

たすき掛けのフローを見ますが、美しくないので、LinkノードでOut,Inにしてみました。Msgオブジェクトにカウンタ変数を生成して繰り返し数でループの可否を

決めています。実は初めてループフローを書いてみました。

サブフロー化も概念がわかりやすいですね。

勉強になりました。

 

Linkノードは実はフローをすごくわかりやすくする効果があります。

フローの合流をまとめてくれるので、合流前のノードがそれぞれ2本

フローを出すと線がぐちゃぐちゃになりますが、Linkノードで束ねて

くれるので、Link-Inでまたそこからフローを出せるので見やすいフローに

なります。 見やすさはメンテする場合、大変重要です。

 

1年たてば自分で書いたフローも別人と同じです(笑)

 

 

 

NodeRedの静的コンテンツ配信をフロント側へ移動

さて、久々のNodeRedネタです。

 

NodeRedでは静的コンテンツ(htmlファイルとか)を配信することができて

Nodeのフローの管理外で純粋なhttpサーバーとして何もせず動いてくれます。

これはこれで便利で、APIなどをNodeRedで組んで、呼び出す画面は静的コンテンツ

(html5+japascript+css)で書いておいてそこへrevcerse proxyをルーティングして

おけばOKです。

 

昨日まではproxy配下の自宅ラズパイに静的コンテンツを置いておいたのですが、

ファイルのロードはPWAアプリなんでロードに時間がかかるので

速度UPの為、ラズパイからcloud側のNodeRedへ静的コンテンツを移動しました。

proxy配下にしておくと、こういう変更で使う側が何かすることはありません。

 

スマホアプリ側はPWAとして登録しているので、何も変化がないです。

決まったURLにアクセスにくるだけですのでproxy配下の実装は影響しない訳です。

 

私レベルでスマホアプリをStoreに登録して更新など、やっても恩恵がなく

PWAはiPhone,Androidともに動きますので、正解だなと思っています。

 

コンテンツ移動で若干ロードが早くなった気がします。

NodeRedはフロント、バック(クラウド、自宅ラズパイ)の両方に入っている

わけです。 

クラウドサーバー: WebSocket送受信,静的コンテンツ,API

自宅ラズパイ: API,Alexa呼び出しShellScript,温度センサ

という分担です。 

VPN接続されて、お互いAPIを投げ合っています。

WebSocketでリアルタイム温度更新に使っています。

 

Alexa呼び出しは特にバックでやらす必要もないので、フロントへもってきてもいいかなと思っています。 ただスピーカー接続でWavファイルを再生しているので、

そこはバックでないと駄目です。

Alexaを全部屋おく金がないのでスピーカーでもアナウンスしています。

Alexaは自前で独自にamazonとつなぎっぱなしなんでしょうね。

便利だが、自宅まで乗り込まれているとも言えます。

ArduinoでAlexaというテーマも興味があって、Arduino, Raspi Pico , M5Stack

なども眠っています。エアコン制御もできてはいるんですがね。

HAの分野もかじっています。

M5Stackはあれはあれで面白いですよ。 MQTTとNodeRedは相性がいいので

Iot屋さん大好きな組み合わせだと思います。

マイコンレベルからクラウドまで、趣味の裾野は広いといろいろ

仕事でも使えますね。

 

そのうちOpenPLCをクラウドで走らせて何かしたいと思っているんですがね.....

マニアックですね。

 

 

 

 

 

 

 

Cloudサーバーでsshも閉じる

クラウドサーバーにてサービスを提供するにはポート

80,443は必須です。 80も要らないのですが、80開けてないと

Certbotが証明書の更新ができないらしいので開けてあります。

実際更新できなくてアラームが来ました。

 

それで22のsshポートですが、閉めてしまえます。

方法としてvpn経由でしかアクセスしないという手です。

但しこれは確実にVPNが起動していないと厄介です。

 

VPNダウン時はconsoleログインしないといけないからです。

まあ非常時には必須の動作なので、覚えておく意味でも動作は確認して

おきましょう。

VPN Client側からの接続になるのでポート閉じておいても問題ないんですよね。

 

うちのメインサーバーはSoftEtherが入っていて、

VPN Serverは別なのでClient接続でVPN網に入っています。

ここは常時接続です。

バックエンドのサービスを自宅のラズパイにしてReverse Proxyで

WebAPIで取ってくる処理をしています。

VPN内でやり取りしている所がちょっと、裏方さんの処理で

インフラ構築したかいがあってうれしいところです。

 

スマホ→大阪リージョン→自宅ラズパイと処理が連動して

仕事をしている様は分散処理をやる醍醐味ですね。

 

自宅の温度計の情報がスマホに表示されるまでをやるのを

手作り(笑)で構築するだけですが、これを実現するのに

どれだけの知識を必要とするのかというところが、

総合力ですよね。 

私の本職もそうですが、まったく違う知識の連鎖で

仕事ができています。 年を取るとそういう面では蓄積が

あるだけは得なんですかねえ.....

 

 

 

 

 

 

 

 

 

FreeNomでDNS管理

みなさんドメイン管理は何を使っていますか?

 

私はFreeNomで格安で独自ドメインを取得しています。

見る人が見るとわかるドメインなんですが....

 

そんな訳で、FreeNomなんですが、ときどきおかしな

挙動をします。ドメインなんでつながらないと意味ないんで

これだけは困ります。 まあ2年付き合っていて、98%は

困っていないので、そのままなんですが、怪しいといえば怪しい

DNS管理です。

 

それでも最近やっているマルチサーバー化にはDNSの正引きで

サービスが分かれるので、重要です。

逆引きは駄目なんですがね。そもそもそういうサービスです。

 

これだけは完全無料とはいかず、年1度更新をしています。

これ切らすと大変なことになります。

ドメイン維持だけはお金をかけましょう。

 

DNSの変更は反映時差があるので、ちょっと待ってくださいね。

DNSの入れ替えだけで、サーバーが変わるお手軽さは

大変便利です。

もっともVPNサーバーの正引きだけはDNSのせいで不安定に

ならないようにIP直指定です。

これは教訓からです。本当はDNS名のほうがメリットあるんですが

そんなに変えない部分ですので、そうしています。