このブログを検索

2024/11/29

2進数を10進数に変換

工事担任者試験にはIPアドレスとかルーターとかスイッチとかも試験範囲になっている。Ciscoの資格試験やIPAの試験でも勉強したし実務でも日常的に接しているので第2級デジタルで問われる内容についてはここは自信のある分野である。

2進数を10進数に変換する問題が出てくるのだが、そのビット数は普段利用している8とか32とかではない。

原理としては、2進数を十進数に変換するには、下から1,2,4,8,.... を0or1に掛けて、つまり1になっているbitに2^n を掛けて足せばよい。

しかし、たとえば 11111111 という2進数があったときは、8bitで表現できる最大の値であるから255であり、11101111 であれば、255から16を引けばよい。

過去問を解いていて出てきたのは、9桁の2進数であった。

私は、「2^10が1024だから、それに1たりないから1023か」と考えてしまった。

だが、それで計算した結果が選択肢にないので普通に計算したが違う理由で間違っていた。

なんで間違ったのかなと考え直したところ、9桁の2進数でオール1の値は 2^9 - 1 で511である。10桁だったら1023である。

問題は、9桁のうち0が二つくらいしかなかったので、その位置だけ511から引けばよかった。




2024/11/27

ベースクリッパとピーククリッパの構成と波形の見分け方

工事担任者第2級デジタル通信を受けてみようと思っている。

テキストを読んでいると、ダイオードを使用した波形整形回路というものがでてきた。特定の基準電圧以上または以下の部分を取り出したり取り除いたりするクリッパというものがあり、基準電圧以上を取り出すのをベースクリッパ、基準電圧以下を取り出すのをピーククリッパ(リミッタ)という。

テキストにはクリッパ回路の出力電圧の波形から、どの構成かを識別する問題があった。

わからなかったので、テキストの説明を読み返したが何度読んでもしっくりこない。部分的に理解できても、どういうときにダイオードが導通状態となるのか、導通するしないによって出力電圧がどうなるのか、ということの法則性のようなものがつかめない。

わからないのでネットで検索してみると、工事担任者試験ではないが、平成30年の電検三種の理論の試験第13問についての説明をしている人が何人もいる。

よく出る問題なのか、難問なのか.....


それらの説明、ブログやyoutubeの動画をいろいろ見て、ようやく理解することができた。

(細かいところで怪しい部分はあるが.....)


そして、一通り理解してみると、ある構成を一つ覚えれば、他の構成が容易に導けると思い、まとめてみた。


1.クリッパにはベースクリッパ(BCとする)とピーククリッパ(PCとする)の2種類ある

2.それぞれの構成において並列形と直列形がある

3.さらに、すべての構成において基準電圧が+の場合とー(マイナス)の場合がある


というわけで8通りの構成がある。

波形については、

1.BCはベース(土台)をクリップ(切り取る)→基準電圧以下を取り除く

2.PCはピーク(山)をクリップ(切り取る)→基準電圧以上を取り除く

3.基準電圧がマイナスの場合は、以下・以上が逆になる。


BCの直列、基準電圧がプラスの場合を覚える。

上下に2本の線があり、上の線上にダイオードがあるのが直列、上下の線を結ぶ線上にダイオードがあるのが並列。直列の場合、抵抗が上下を結ぶ線上にあり、並列の場合上の線上にある。そして、上下の線の下方に上側がプラスの電源がある。

BCの直列形の場合、ダイオードは右向き(カソードが出力側)


ベースクリッパ、直列形、基準電圧はプラス


波形は、ベースクリッパなので土台部分が取り除かれる。上側の山が残り、その下が消えて上側の山以外は基準電圧値の直線になる。

ベースクリッパの波形(基準電圧はプラス)


並列回路は、以下で求められる。
1.直列回路の抵抗とダイオードの位置を入れ替える
2.ダイオードは右(出力側)を向いていたら(右側がカソードなら)、上向き、左を向いていたら下向きにする
3.電源の+-は同じ
ベースクリッパ、並列形


波形は直列も並列も同じ。


今度は、BCの直列型をPCに変更する。この場合はダイオードの向きを逆にすればよい。

ピーククリッパ、直列形

BCと同じようにして並列を求める。
ダイオードと抵抗の位置を逆にし、ダイオードは直列形で左向きなので下向きにする。

ピーククリッパ、並列形

波形はピークをクリップするので、山が取り除かれる。取り除いたところは基準電圧の値の直線になる。

ピーククリッパの波形(基準電圧はプラス)



基準電圧がマイナスの場合は、構成ではダイオードの向きと電源の向きを逆にする。

波形は、横軸と入力波形の交点を基準とした点対称の形となる。


BCの直列形(基準電圧はプラス)

BCの直列形(基準電圧はマイナス


BCの並列形(基準電圧はプラス)

BCの並列形(基準電圧はマイナス


BCの出力波形(基準電圧はプラス)

BCの出力波形(基準電圧はマイナス



PCの直列形(基準電圧はプラス)

PCの直列形(基準電圧はマイナス



PCの並列形(基準電圧はプラス)

PCの並列形(基準電圧はマイナス

PCの出力波形(基準電圧はプラス)

PCの出力波形(基準電圧はマイナス



これはど素人ならではなのだろうが、
クリッパ回路の「入力電圧は交流」である、ということに気づくのに時間がかかった。
波形が正弦波なんだからそんなの当たり前だろ、ということなのだろうが。

あと、以下のような疑問も持った。

「ダイオードが導通状態になったとき、入力電圧に基準電圧が足されて出力されないのか?

「交流電圧はプラスになったりマイナスになったりするが、基準電圧による電流とぶつかるようなことにならないのか?」

「抵抗は何のためにあるのか?抵抗がなかったらどうなるのか?」

あと、入力電源が図から省略されているので、出力側も同様に省略されていて導通しているのかと思ったり。



2024/11/19

抵抗の並列接続について

オームの法則というものを中学生で習う。

そして、抵抗の直列接続と並列接続というのを習う。

直列接続時は抵抗値は単純に足せばよいが、並列接続の場合は、

1/R = 1/R1 + 1/R2 

となる、という風にならう。ネットで「抵抗 並列」と検索するとこの式がたくさん出てくる。youtubeでも、動画がたくさん出てくる。

それを見て、そういえばそんなこと習ったな、とは思うのだが、並列接続時にどうしてそんな風になるのかな、というのを疑問に感じた。

感覚的に把握しにくいというか。もっというと、「本当にそうなのか?」という感じ。納得できないというか、腹落ちしないというか。

工事担任者試験(デジタル2級から)を受けてみようかなと思い、テキストを読んでいたら出てきて、ん?となった。

最近、簡単な電子工作をやっている。ラジオを作ったり、ラズパイやarduinoでLチカみたいなことをやってみたり。その時に「抵抗」というものは当たり前のように出てくるが、自分で抵抗値を計算することはない。


抵抗とは何か?

テキストには、「抵抗とは自由電子が導体の分子から受ける摩擦抵抗である」と書いてあった。

抵抗というのは日常的に使う言葉、概念で、人間が何かをするときに妨げとなるもの、という意味で使う。

それで考えると、直列の抵抗というのは、ある人が旅行に行こうと思ったがAさんに反対され、Aさんを説得したら今度はBさんに反対されてBさんも説得した。その時に労力を費やす必要になった抗う力になる。これは(Aさんの抵抗値)+(Bさんの抵抗値)でよいだろう。

並列の抵抗は、AさんとBさんを同時に説得する場合だ。この場合も抵抗値は直列と同じように2人の抵抗値の合計になりそうなものだが、電気回路ではそうならない。


電気回路の場合、電圧と電流を考える。

オームの法則は E=IR であると習う。

それは、R=E/I、I=E/R とも言える。

しかし、このE(電圧)、I(電流)、R(抵抗)の三者は、数式の文字のように本当に交換可能なものなのだろうか?

三者について、どんなものかのイメージは湧く。電圧は電気の強さのようなもの、電流は流れる電気の量、抵抗は電流に逆らう強さ。

E=IR であるなら、流れる電流と抵抗があったときに、そこから電圧が生成されるのか?

そうではなく、電圧があるから電流が発生し、抵抗があるからその電流の量がそれに応じて変化するのだ。

R=E/I を考えるときにも、電圧の値と電流の値があり、そこから抵抗が形成されるのではなく、抵抗が初めに存在していて、そこに電圧がかかるから抵抗に応じた電流が発生し、電圧と電流の値がわかれば抵抗値がわかる、ということである。

抵抗を2つ並列に接続した場合、回路は2つに分岐する。このとき、電流の総和は分岐した2つの回路にながれる電流の和となる。

2つの抵抗の値が同じであれば電流は全体の半分ずつとなる。

では、電圧はどうか?2つの抵抗値が同じであれば、電圧も半分ずつになるのか?

結論はわかっていて、2つの抵抗にかかる電圧は等しいがその電圧は全体にかかる電圧と等しい。つまり、10Vの電圧をかけるとR1にもR2にも10Vの電圧がかかる。

直列の場合は、2つの抵抗値にかかる電圧は等しくない。


ここまで考えてくると、「電圧」「電流」「抵抗」というものが、単純な「電気の強さ」「電気の量」「電気に逆らう力の強さ」みたいには置き換えられないことがわかる。

もし電圧が単なる「強さ」であるなら、並行に存在している抵抗に対して同じ強さでかかることはありえない。半分ずつになるはずだ。

そして、この「並列抵抗には同じ強さの電圧がかかる」ということから、抵抗値が求められる。というか、このことが前提されないと抵抗値が、電流値が求められない。

10Ωの抵抗が二つ並列に存在する回路に10Vの電圧をかける。

I1=10(V)/10(Ω) = 1(A)
I2=10(V)/10(Ω) = 1(A)

電流を合計すると2Aである。

ということは、抵抗の合計は R=10(V)/2(A)=5となる。

1/R=1/R1+1/R2 を計算すると

1/R = 1/10 + 1/10 
=2/10=1/5

1/R=1/5

R=5 
となる。


I=E/R
I1=E/R1
I2=E/R2

I=I1+I2

E/R=E/R1+E/R2
両辺をEで割って
1/R=1/R1+1/R2


ここまで考えて計算してみて、ようやく「1/R=1/R1+1/R2」が腹に落ちる。

つまり、抵抗が並列にされたときにどれだけの電流が流れるか、回路全体の抵抗の和はどうなるか、というのは、「抵抗が並列に接続されたときにそれぞれの抵抗にかかる電圧はどうなるか」ということを言っているのである。

そして、二つの抵抗にかかる電圧から電流値を求め、その二つの電流値を足して、
その和をオームの法則にあてはめて全体の抵抗値を出しているのである。



・・・

でも、同じ電圧をかけて、2つの同じ抵抗値がその回路に存在しているのは同じなのに、流れる電流の量が変わるというのはやっぱり受け入れがたい・・・・。

(参考)









2024/11/15

raspi zero2その後

動作が不安定である。というか、止まる。sshできなくなる。pingも通らなかったかな?

なんか重いのだろうか?os(bookworm)をliteで入れなおす。

まっさらな場合、libcamerifyのためには以下が必要

libcamera-tools
libcamera-v4l2


2024/11/13

iPhoneのアップデートに失敗、復元もできなくなる

家で仕事をしていて暇なのでiPhoneのアップデートをした。普段はだいたい家のWifi経由でやっているのだが、CDをiTunesライブラリに追加してそれと同期させるために久しぶりにiTuneにつないだらアップデートがあると表示されたのでついでにやっておこうと思った。

ダウンロードに結構時間がかかっていて、別のことをして放っておいた。しばらくたってアップデートが始まり、iPhoneの画面が黒い背景に白いリンゴと進行を示す白い横線になった。

が、横線が数ミリくらい進んだ状態で止まってしまった。

どれくらいの時間がたったかは定かではないが20分くらい止まったままだったと思う。

どう見ても進んでいないので強制的に電源を落としリカバリモードで起動しアップデートを再実行しようとしたができない。仕方がないので「復元」を選ぶがそれもできない。

何度か試してダメなので、とりあえずもう一台あるiPhoneにSIMを差し替えた。apple idを変えたりlineやpaypayが入ってないので入れたりいろいろやって1時間くらいかかる。とりあえず「ケータイがなくて困る」という事態はなんとかなった。

アップデートに失敗したiPhoneも、そう簡単に壊れないだろうと再度復元を試みる。調べると、MS StoreからダウンロードしたiTunesで失敗することがあるという情報があった。appleサイトからダウンロードしたものを使えばうまくいく、とある。

appleのサイトにもMS Storeのリンクがあるが、「ほかのバージョンをお探しですか?」のリンクからstore経由でなくダウンロードできる。(本当に違うものなのか確かめていないが)

iTunesを入れなおすと、失敗していた復元が進むようになった。

が、途中で失敗する。

lightningケーブルを変えたり、接続するUSBポートを変えたりいろいろやるがどうしてもうまくいかない。

appleに問い合わせると、appleデバイスというソフトがあるのでそれでやってみてというのでやってみたがiTunesと同じような状態。

「別のPCにつないでなおった」「macにつないでなおった」などの情報があったので別のノートPCにiTunesやappleデバイスを入れてやってみるが、同じ。

Lightningケーブルを変えると、止まる場所が多少変わったりするが、途中で失敗するのは同じ。

失敗したときに表示されたメッセージで検索してみるが、参考になる解決方法は見つからない。サポートに伝えてもそのメッセージはアップルが公開していない、と言う。


iPhoneはリセットすると通常通り起動せず、「リカバリモード」と呼ばれるらしい、黒い背景にライトニングケーブルとノートPCの絵が描かれた画面が表示されて止まる。

機種は13 miniで、iOS 18.1 にしようとして失敗した。上げる前のバージョンがなんだったか覚えていないが、18系だったはず。

リカバリモードでPCにつなぐとiTunesで認識され、「アップデートまたは復元してください、アップデートならデータは残るが復元だと初期化される」というようなメッセージが表示され、アップデートしてみるとすぐ失敗し、復元してみると更新が始まるがリンゴマークが表示され下に進行度を示す白い線が出るが止まる。


表示されたメッセージは以下のようなもの。

iPhone "iPhone"をアップデートできませんでした。不明なエラーが発生しました(75)。067E.004B

iPhone "iPhone"を復元できませんでした。不明なエラーが発生しました(1109)。0634.0000

iPhone "iPhone"を復元できませんでした。不明なエラーが発生しました(53)。


一番惜しいパターンは、appleデバイスを使って、純正ケーブルでつないで復元したときで、
進捗の線がちょうど真ん中あたりで止まり、appleデバイス側のメッセージが「更新しています」から「確認しています」みたいなメッセージに変わってしばらくたって、53のエラーになる。

これを見ていると復元自体はしているがなんらかのチェックがうまくいかず正常終了とみなされない、みたいな感じに見える。まだ新しいし、濡らしたことはないし落としたことはあることはあるがケースをつけていてそんなに激しい衝撃を与えたことはない。ハードウェア的に破損しているようには思えない。

appleサポートにappleデバイスでやってもダメでメッセージ内容を伝えると店舗に持ち込んで見てもらうように言われる。

予約状況を見るとすぐにはできず、送る場合はさらに日数がかかる。そんな重症とは思えず、ちょっとしたことで治りそうだと思うので、appleではない一般の修理店を探してみる。ここならなおしてもらえそうかなという店があって、費用は1.5万くらい。電話してみると治るかどうかはやってみないとわからないし、費用ももっとかかる場合もある、という。ただ、その日の夜に持ち込めるということなのでとりあえず予約した。

その後も復元にトライし続け、調べていくうちにDFUモードというものがあることを知る。リカバリモードと似ているが、appleが公式には公開していないモードらしく、とにかく強制的にファームウェアを書き換えるようなモードらしい。

DFUモードへの切り替え方を説明している人は何人かいて、タイミングが少し微妙なのだが何度か入ることができ、試したが通常の復元とほとんど変わらない状況だった。

最後に、「修復ソフト」の使用を検討した。この問題について調べているときに、ずっと修復ソフトの情報が出てきてはいたが、どうも怪しく、信用できないので避けていたのだが万策尽きたので試してみることにした。

まず、広告しか出てこないものは避ける。一般のユーザーがレビューしたりブログや信用できるサイトで紹介しているようなものを探し、なかなかなかったが比較的信用できそうだったのが iMyFone Fixppo である。

一応無料で使用できるとなっているが、他のソフトも同様なのだが、無料で実施できることはごくわずかで、それで修復することはできなかった。

仕方なく5000円弱の料金を払って、名前は忘れたがアドバンストモードだかなんだかを実施すると、「Apple Mobile Device Serviceのドライバが壊れている」みたいなメッセージが表示されてそのドライバを修復するような動作がおこなわれた後、復元できるようになった。

ということはiPhone本体ではなく、PC側(ソフト)の問題だったということか。

とりあえず治ったのでよいが、PC側の問題が違うPCでも起きていたとすると、もはやそれは破損とか故障とかではなくて「不具合」ではないだろうか?

もしかしたら下記とかをやっていれば治っていたのかもしれない。

あるいは、Macにつないだら治っていたとか。MacはUSB-Cしかインターフェースがなく、iPhoneをつなげられなかったので試せなかったのだが。

ショップの予約はキャンセルした。

2024/11/08

さくらのVPSのパケットフィルタ

さくらのVPSでsquidを設定してあったので、使ってみようと思ったのだが、使えない。

クライアントで プロキシ設定してもサーバに到達しない。firewalldやssやtcpdumpやnmapで確認する限り、どう考えてもサーバの前で止まっている。

ssで表示される、listenしているポートはすべて利用可能でsquidだけが通らない。

さくらインターネットが止めてるんじゃないか?サポートに問い合わせてみようか、と思って思い出した。さくらインターネットがパケットフィルタを提供していることを。

以前、こんなのfirewalldでやるからいらない、と無効にしたと思っていたのだが、見たら動いていて、自分が使っているポートが許可されていてsquidだけが空いてなかった。

 

2024/11/07

fail2ban

以前から気にはなっていたのだが、メールサーバに大量の不正アクセス(ブルートフォースアタック)がある。アドレスはまちまちでアカウント名をテキトーに変えてアクセスしてくる。ログインに成功したり不正なメールリレーしてしまったことは多分ないと思うし、特にサーバに負荷がかかっているとかいういこともないので放っておいたのだが、fail2banを使ってみた。

/etc/fail2ban/jail.conf にいろんなサービスの定義が書いてある。

jail.localというファイルを作って、監視したいサービスだけを書くと、その部分だけ設定を上書きしてくれる。
私は以下のようにした。(centos)

[DEFAULT]
ignoreip = xxx.xxx.xxx.xxx/32
bantime  = 1w
findtime  = 1h
maxretry = 3
backend = auto

filter = %(__name__)s

#
# ACTIONS
#
destemail = hoge@example.com
banaction = firewallcmd-ipset
banaction_allports = firewallcmd-allports
action = %(action_mwl)s
#
# JAILS
#
#
# SSH servers
#
[sshd]
enabled = true

[postfix-sasl]
enabled = true

[cyrus-imap]
enabled = true

[postfix]
enabled = true

ignoreipは、監視対象外とするIPアドレス
1時間以内に3回の不正アクセスがあると1週間バンする。

バンアクションのところは、ubuntuだったらufw、とかに書き換える。

バンが発生するとログが記録されるが、destemailに書いたアドレス宛にメールが送信される。
action_mwl というのは、アドレスと、whois情報と、ログ情報がメールに記載される。

私はwhoisをインストールしておらず、メールに「whoisがない」と書いてあったのでインストールしたらwhois情報が載るようになった。

postfix + dovecot (TLS有効)のメールクライアント設定

メールサーバのfqdnが mail.example.com
ユーザー名が taro
メールアドレスが taro@example.com
とする
サーバにtaroというユーザがあること
(Maildirが必要?調べればすぐわかるはず)

thunderbird

サーバ設定
 サーバの種類:IMAPメールサーバー
 サーバー名:mail.example.com
 ポート:993
 ユーザー名:taro

セキュリティ設定
 接続の保護:SSL/TLS
 認証方式:通常のパスワード認証
 送信(SMTP)サーバー
 サーバー名:mail.example.com
 ポート番号:465

セキュリティと認証
 接続の保護:SSL/TLS
 認証方式:通常のパスワード認証
 ユーザー名:taro
 
Thunderbirdの設定
 プライバシーとセキュリティ→証明書→証明書を管理→インポートをクリックして
 CA証明書をインポートする
 ※windowsにインストールしてもダメみたい


iPhone(英語)

Settings > Apps > Mail > Mail Accounts > Add Account > other > Add Mail Account 
 Name: (表示名)
 Email: taro@example.com
 Description: (説明)

INCOMING MAIL SERVER
 Host Name: mail.example.com
 User Name: taro
 Password: (パスワード)

OUTGOING MAIL SERVER > SMTP > mail.example.com
 PRIMARY SERVER: mail.example.com   が On
 > Server が有効
 Host Name: mail.example.com
 User Name: taro
 Password: (パスワード)
 Use SSLが有効
 Authentication: Password
 Server Port: 587

Advanced > INCOMING SETTINGS
 Use SSLが有効
 Authentication: Password
 IMAP Path Prefix /
 Server Port: 993

あれ、thunderbirdとiphoneでSMTPのポート番号が違うな?
どっちでもいいのか?

証明書について
postfixとdovecotでそれぞれサーバー証明書とサーバーの秘密鍵が必要。
同じものを使う。
サーバー証明書はCA証明書とチェーンになったものを使用する。
CA証明書はクライアントにインポートし、信頼する


その他
以前、DKIMとかSPFを設定したが、とくになくてもgmailとかに送れる。
(gmailと自分のサーバしか試してないが)

dovecotでsslv3エラーが出るときの証明書

postfix & dovecotでSSL化していたメールサーバーの証明書の期限が切れていたため、更新したのだが下記のエラーが表示される。

2024-11-07T04:35:55.635061+09:00 jesus dovecot: imap-login: Disconnected: Connection closed: SSL_accept() failed: error:0A000412:SSL routines::sslv3 alert bad certificate: SSL alert number 42 (no auth attempts in 0 secs): user=<>, rip=xxx.xxx.xx.xxx, lip=xxx.xxx.xxx.xxx, TLS handshaking: SSL_accept() 


以前は送受信できていて変えたのは証明書だけだから証明書の問題かなと思い、何度も証明書を作り直したのだがなおらない。

ログをみると sslv3 と書いてあるが、sslv3はもう使用されない、使用すべきでない古いプロトコルである。

postfix&dovecot でプロトコルバージョンの設定をしたが変わらない。

ログの内容でググると、「証明書が中間証明書を含んだチェーンんになっていない」という情報が出てくるのだが、チェーン証明書など使わないでも以前は送受信できていたので関係ないと思っていた。

DovecotのSSLエラー - GentooやIoTの覚え書きブログ

しかしどうしてもなおらないので、下記を参考にチェーン証明書を作って置き換えてみたらうまくいった....

OpenSSLでチェーン証明書を作成する方法 #OpenSSL - Qiita

しかしなんでチェーン証明書でないとsslv3のエラーになるのか... 納得いかない...

チェーン証明書の作り方なんて知らなかったから、間違いなく以前は普通のサーバー証明書で動いていたはず。


ちなみに証明書はopensslを使って作った自己CA(?)で署名したヤツである。


2024/11/06

CA構築 2024

ubuntu 
サーバはj***、digital oceanのvps
Ubuntu

opensslのconfigは /etc/ssl/openssl.cnf

/etc/pki/CA に移動する。
ここで全部やる。

openssl.cnfを /etc/pki/CAにコピーする。

openssl.cnfを編集

[ CA_default ]
dir             = .            # Where everything is kept
private_key     = $dir/cakey.pem # The private key

[ req_distinguished_name ]
国とかcityとかのデフォルト値を入れておく


v3_ca
というファイルを作って下記を記載し、署名時に使う
(opnessl.cnfの[v3_ca]セクションに書いたら行けると思ったがだめだったので)
 
basicConstraints = critical, CA:true
keyUsage = critical, cRLSign, keyCertSign
subjectKeyIdentifier=hash


#これをやっておく

touch index.txt
echo 00 > serial

#ca証明書のcsr発行

 openssl req -new -key ./cakey.pem -out ./ca.csr

※openssl.cnfにkeyの場所を書いたつもりだが効かないので指定した
なぜ効かないとわかったかというとパスワードを聞かれたから


#CA証明書のCSRにサイン

openssl ca -in ca.csr -selfsign \
-notext -config openssl.cnf -outdir . \
-extfile v3_ca -out cacert.pem\
-startdate 241101000000Z -enddate 251031235959Z

いつもつけていなかったが、-notextを指定すると読める情報が書かれない(あっても問題ない)

-extfile v3_ca がさっきのCA情報

これもいつもやらないが、-startdate -enddateを明示的に指定。
指定しないと作った時間になって切りが悪いのでこっちの方がいい。

openssl x509 -in cacert.pem -text

中身を確認

 Version: 3 であること

下記があること

 X509v3 extensions:
            X509v3 Basic Constraints: critical
                CA:TRUE
            X509v3 Key Usage: critical
                Certificate Sign, CRL Sign

※この後別のcentos9のサーバでCA証明書を作ったが上記オプションがなくても問題なく使えた。

#iPhoneにCA証明書をインストール

証明書をテキストにコピーし、拡張子.crt (.pemでもいいはず)にして
メールでiPhoneに送る。

証明書をiPhoneにダウンロードして開き、インストールする。
(私はapple watchを使っているので、iphoneとapplewatchのどちらにインストールするかと聞かれた)

※私はiPhoneの言語を英語に設定している

すると、Settings > General > VPN & Device Management の、
DOWNLOADED PROFILE に表示されるのでタップして開くと、Not Verified と表示されている。
中身を見て、「Certificate Authority」がYesになっていること
Versionが3であること
を確認

最初に戻って、右上のInstallをタップ

ここで終わりではない。

General > About > Certificate Trust Settings > ENABLE FULL TRUST FOR ROOT CETIFICATES
で、インストールした証明書を信頼する。


2024/11/05

Raspberry Pi zeroのライブカメラの首振り

pi zeroにカメラをつけてケースに収めたものにサーボモーター(SG92R)をくっつけて、本体ごと回転させてカメラを首振りさせてみた。

pythonのソース

#!/usr/bin/python
import pigpio
import time
gpio_pwm = 18
pig = pigpio.pi()
pig.set_mode(gpio_pwm, pigpio.OUTPUT)

para_max = 110000
para_min = 70000
para = para_min
interval=20
delta=10000

try:
  while True:
    if para >= para_max:
        flag=-1
    elif para <= para_min:
        flag=1
    para = para + (delta*flag)
    pig.hardware_PWM(gpio_pwm, 50, para)
    time.sleep(interval)
except KeyboardInterrupt:
  pig.set_mode(gpio_pwm, pigpio.INPUT)
  pig.stop()



Piとの接続は、SG924Rの茶→GND、赤→5V、オレンジ→GPIO18

これを実行するためには pi gpio daemonが起動している必要がある。

sudo pigpiod

そして、motionをバックグラウンドで動かしておく。

libcamerify motion -b


このやり方はPWM制御といってduty比というものを指定する。

hardware_PWM に3つの引数を渡しているが順にGPIOのピン番号(今回は18を使用)、動作周波数(50Hz)、duty比である。

動作周波数はモータによるようだ。SG92RのデータシートがみつからないのだがSG90Rはあって、そこに50Hzと書いてあった。

duty比が大きいと大きく回転することはわかったがどこが基準でどれだけ大きくするとどれだけ回転するのかがいまいちよくわからない。

誰かのソースを動かしてみて、値を変えながら確認していった。

モーターをpi zeroのケースの下にくっつけたのだがその時の角度はテキトーである。

duty比は70000~110000の範囲で変えると、正確に測っていないが大体120度くらいの範囲で首振りできた。

初期値を70000にして、大きくしていくと半時計周りに回転する。そして11000を超えたら、こんどは小さくしていくと時計回りに回転する。70000を下回ったらまた大きくする。これを繰り返して「首振り」動作が実現できた。

モータを回してsleepする時間と、duty比の変化量を変えることでゆっくり首振りしたり、なめらかにさせたり、ガクンガクンと大幅に首振りさせることができる。


電源ケーブルやgpioと接続しているケーブルが邪魔にならないように余裕をもたせてたるみをもたせつつ固定しておく。ある程度重みのある台となるものにモーターを固定しpi zeroのケースをつけた。

仮なので両面テープやビニールテープを使っている。




2024/11/04

びんぼうでいいの nano

よくみるyoutuberが、電子工作ではarduino nanoを使う、UNOは使わない、と言っていた。

私はUNOやraspberry piを使っていたがnanoは持っていない。raspberry pi picoは最近買った。

じゃあarduino nanoを買っておこうかと思ったが、arduinoはびんぼうでいいので問題なく動くので、nanoも互換機でいいだろうと思った。

aitendoで NN328CH340A という名前で600円で売っている。ピンヘッダが付属しているがはんだ付けが必要。「びんぼうでいいの」とは書いていない。

秋月電子でピンヘッダ実装済みのものは3560円だ。


ピンヘッダをはんだ付けして使ってみる。USB-Cケーブルを挿すと L というLEDがチカチカ点滅する。「故障か?半田ミスか?」と思ったが、デフォルトで本体のLEDを点滅させるスケッチが有効になっているとのことだった。

自分でスケッチを書いて外付けのLED+抵抗につなぐと動いた。



----------------------
void setup()
{
  pinMode(2, OUTPUT);
}

void loop()
{
   digitalWrite(2, HIGH);
   delay(1000);
   digitalWrite(2, LOW);
   delay(1000);
}
-----------------------

本体のLEDがまぶしいのでビニールテープを貼って隠した。

2024/11/01

Raspberry Pi Zero 2 WH で カメラモジュールv3

スイッチサイエンスで本体とカメラ(広角)とケースとカメラ用ケーブル(zero用短め)を買った。

普通のカメラでよかったのだが売り切れていて広角しかなかった。


OSは、imagerでrecommendされた 64-bitのデスクトップこみのBookwormである。

imagerでOSをインストールするときにwifiとsshを有効にしておく。

起動したらdhcpサーバーで割り当てられたIPアドレスを確認しsshする。

raspberry piでのdhcpのIPアドレス固定設定はもう dhcpcd.confでやらなくなったようだ。

面倒くさいのでdhcpサーバの方でアドレスを固定した。


いったんshutdownしてカメラをつないで起動し、apt update/upgradeして再起動した。

libcamera-hello を実行する。sshなのでプレビュー画面は表示されないがカメラは認識されている。

motionをインストールする。

いつもの設定をして

libcamerify motionを実行

pi5のときと同じエラーになったので

同じように

apt install libcamera-v4l2

を実行すると、motionが動いた。

IPA moduleのエラーが出るのも同じだが無視。


zeroだから非力かなと思ったが、2048x1536でも大丈夫だった。


2024/10/31

Raspberry Pi camera module v3 で motion

camera module v3を入手した。

普段motionを動かしているpi3とpi5の2台があるのだが、まずpi3にv3 cameraをつけてみた。

認識はして、コマンドで静止画も撮影できるのだがmotionで動かない。

いろいろ調べたのだがうまくいかず、いったんあきらめる。


pi5で試す。

OSはこれ。


root@goro:/home/admin# lsb_release -a

No LSB modules are available.

Distributor ID: Debian

Description:    Debian GNU/Linux 12 (bookworm)

Release:        12

Codename:       bookworm


root@goro:/home/admin# uname -a

Linux goro 6.6.51+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.51-1+rpt3 (2024-10-08) aarch64 GNU/Linux


カメラを接続するインターフェースが小さくなっている。さいわいv3カメラにそれ用のケーブルが付属していた。

pi5の公式(?)ケースを使っていてカメラをはめるところがない。さらにケーブルを出すところもない。

が、ethernetポートの上の隙間からちょうどいい感じに出せた。まるでそこから出すように設計されているかのようだ。

丸裸なのもいやなので厚紙で簡易的なケースを作って、セロテープでケースにとめた。



vcgencmd get_cameraコマンドは使えない。(legacy cameraがdisableだから?)


v3カメラをpi5の新しいOS(bullseye以降?正確なことはわからない)で使う場合、
libcameraというライブラリを使うのだが、たぶん最初から入っている。

32bit OSとか古いバージョンだと、aptで追加インストールする必要がある。

私の場合、最近いろんなPiをいじったのでどうしたかよく覚えていないが、Pi5に関してはその時(確か今年の夏ごろ)の最新のOSを入れて、最近(2024年10月ごろ)apt update+upgradeで新しくしただけだったと思う。

結論を言うとv3カメラをmotionで使うには

libcamerify motion

というコマンドを使う。

まずやってみたらエラーになった。

root@goro:/home/admin# libcamerify motion
ERROR: ld.so: object '/usr/lib/aarch64-linux-gnu/libcamera/v4l2-compat.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
[0:motion] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf
[0:motion] [NTC] [ALL] motion_startup: Logging to file (/var/log/motion/motion.log)



root@goro:/home/admin# apt install libcamera-v4l2

をやったら今度は違うエラーが出たがとりあえずmotionは動いた。

root@goro:/home/admin# libcamerify motion
[0:motion] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf
[0:motion] [NTC] [ALL] motion_startup: Logging to file (/var/log/motion/motion.log)
[0:07:09.296345338] [2655] ERROR IPAModule ipa_module.cpp:171 Symbol ipaModuleInfo not found
[0:07:09.296383856] [2655] ERROR IPAModule ipa_module.cpp:291 v4l2-compat.so: IPA module has no valid info
[0:07:09.296399078] [2655]  INFO Camera camera_manager.cpp:325 libcamera v0.3.2+27-7330f29b
[0:07:09.305047271] [2656]  INFO RPI pisp.cpp:695 libpisp version v1.0.7 28196ed6edcf 29-08-2024 (16:33:32)
[0:07:09.529782577] [2656]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a to CFE device /dev/media2 and ISP device /dev/media0 using PiSP variant BCM2712_C0
[0:07:09.530605706] [2655]  INFO Camera camera.cpp:1197 configuring streams: (0) 1024x768-YUV420
[0:07:09.530722002] [2656]  INFO RPI pisp.cpp:1450 Sensor: /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a - Selected sensor format: 1536x864-SBGGR10_1X10 - Selected CFE format: 1536x864-PC1B
[0:07:09.531933297] [2655]  INFO Camera camera.cpp:1197 configuring streams: (0) 1024x768-YUV420
[0:07:09.532014593] [2656]  INFO RPI pisp.cpp:1450 Sensor: /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a - Selected sensor format: 1536x864-SBGGR10_1X10 - Selected CFE format: 1536x864-PC1B


v2と画質が全然違う。v2は800万画素でv3は1200万らしい。

motionの画像のサイズを2048x1536にしてもきれいに見える。framerateを上げるとグニャグニャと波打つようになる。5だとほとんど気にならないがかすかにグニャグニャしている。

Piのメモリは8GBである。






バーアンテナ

数年前に少しラジオ作りをした。今でも残っているのはゲルマニウムラジオが一つと、2石トランジスタラジオが一つ。

どちらもどういう原理で動くかもわからないまま、説明されている通りに組み立ててなんとか鳴るようになったものだ。

ひさしぶりに引っ張り出してみたが、ちゃんと聞こえる。トランジスタラジオの方はNHKとAFNとTBSしか受信できないが普通にラジオとして聞ける。

ゲルマニウムラジオの方はクリスタルイヤホンだとかろうじて何か聞こえる状態で、aitendoのアンプキットをつないでようやく何をしゃべっているのかが聞き取れる程度。

ゲルマニウムラジオの方をなんとかしようと思っていろいろ見ていくうちに、バーアンテナが悪いんじゃないかと思えてきた。

使っていたのはPA-63Rという小さなもの。バーの長さは3センチ。最初につけたバーはBA-200だったのだが何かしらの不具合があってこれに交換したことを覚えている。

アンテナバーには細い細い線が複数本出ていて、そのうちの2本を使用する。

そのこと自体正しいか怪しい。どこかの線はアースしなければいけないとかありそうだが、よくわからない。とりあえず鳴るのでよしとしている。

アンテナ線とアース線をつながないと鳴らない。アンテナ線は5mくらいでマンションの室内の壁にはわしてある。アース線は3mくらいで、床に垂らしている。以前はもっと長いアース線を洗濯機のアースにつないでいた覚えがあるがめんどくさいので垂らしただけにしている。

バーアンテナ(それだけではないが)の仕組みがよくわからない。細い細い糸のような線にジャンパーワイヤーを半田でくっつけて、ピンソケットにさしてつないでいるのだが、細い線(正しくはなんと呼ぶのか)とジャンパーワイヤーがちゃんと「つながっているのか」が心もとない。そして、それを確認するすべがわからない。

youtubeなどで基盤を修理しているのをみると導通しているかどうか確認しているのを見るが、それをやってみようと思った。

テスターを抵抗測定モードにして赤い棒と黒い棒をくっつけると針が動く。

コイルのくわしい仕組みはよくわからないが、今使っている2本の線にテスターの棒を触れさせれば針が動くのではないか?と思ってやってみたら動く。とりあえずラジオが鳴る状態のPA-63Rだと動くが、交換したBA-200だと動かない。

ラジオを作ったときに、アンテナバーに出ている使わない線を切ってはいけない、それは細くてよく見えないが2本の線が縒り合されているから、と説明されていたことを思い出し、そこを切ってしまっているのではと思って、半田をつけてみた。

すると、テスタの針が動くようになったので、ジャンパワイヤをはんだ付けして、今度はジャンパワイヤの両端で試すとこちらも動く。これでなるはず... 鳴った。

が、やはり音が小さい。アンプを通しても小さい。こんなに小さくなかったはず。何かがおかしい。

(追記: 洗濯機のアースにつないでいたアース線が残っていたのでつないでみたら音が大きくなった。クリスタルイヤホンでも何を言っているのかわかる。ただし選局できるのはNHKとAFNのみで、AFNが選局できる位置が一番端なのでなんかがズレてる)

BA-200の仕様書を載せておく。



「切ってはいけない線」は、たぶん②である。
L1, L2, L3とは何か?
1次、2次のことかと思うが3次なんかあるのか?
L1とL2は接続されているがL3は離れている。(L1,L2)が1次、L3が2次か?

マルツのサイトにあった概要に、「タップ付きの1次巻き線と独立した2次巻き線を持ちます」とあるから、独立しているL3が2次だろう。




そして②の線はL1とL2を接続しているようで、だからより合わせてつながるようになっている。

今使っている線は①(自然)と③(黒色)である。残りの②(自然)、④(赤色)、⑤(緑色)は未使用でどこにも接続していない。ショートしないように先端にセロテープを貼っている。

あと、これらの細い線は色がついているが、それをはがしてジャンパワイヤにつながないといけない。はんだ付けの熱でとれていた場合もあったが、事前に爪でひっかいてはがしたら通るようになったことがある。








2024/10/26

raspberry pi ディスプレイ動作確認メモ

 Adafruit Blue&White 16x2 LCD+Keypad Kit for Raspberry Pi : ID 1115 : Adafruit Industries, Unique & fun DIY electronics and kits





Piは4。

raspi-configでi2cを有効にしておく。

接続はGPIOの左端(USBポートの反対側)に合わせて挿す。


root@pi4:/home/admin# i2cdetect -y 1

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f

00:                         -- -- -- -- -- -- -- -- 

10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

70: -- -- -- -- -- -- -- --                         


sudo pip3 install adafruit-circuitpython-charlcd

を実行

サンプルのpythonコードを実行



AE-AQM0802+PCA9515

以前にも確認したがあらためて。

I2C接続AQMシリーズのキャラクタ表示LCDをラズパイで使う (1) AQM0802 | 電子工作の環境向上


秋月 AQM0802 で 実用Raspberry Pi CPU用 LCD モニタ - ボクにもわかる電子工作のブログ

print xxx

print(xxx)

にした


7セグLEDをArduino UNOで使う

7セグLEDを使ってみたいとずっと思っていて、何個か買ってもあるのだがめんどくさくて使わずにいた。

OSL10564-74HC595-R と書いてあるモジュールがあった。

いつどこで買ったか覚えていないのだが、どうやら秋月電子で売っているこれのようだ。

7セグメントLEDシリアルドライバーキット(DIP化キット LED別売): キット一般 秋月電子通商-電子部品・ネット通販


とりあえずArduino Unoで動かしてみた。

秋月電子にサンプルスケッチがあるのだが、なぜかIDEで開けない。

仕方がないのでテキストエディタで開いてスケッチにコピーして動かした。


PDFなど見てもどう配線すべきかがよくわからない。SPI接続とGPIO接続がある、とかいう情報も出てくるがなんのこっちゃ。

スケッチのソースを見るとこうなっていたので、

//SCK D13
//LATCH D10
//SDI D11



このようにつないだ。電源は5Vが必要らしい。


スケッチを貼っておく。

--------------

//ARDUINO UNO
//AE-7SEG-BOARD * 2
//SCK D13
//LATCH D10
//SDI D11
#include<SPI.h>
int sck = 13;
int latch = 10;
int sdi = 11;
int scroll_speed = 200;
const byte digits[] = {
  0b11111100, // 0
  0b01100000, // 1
  0b11011010, // 2
  0b11110010, // 3
  0b01100110, // 4
  0b10110110, // 5
  0b10111110, // 6
  0b11100000, // 7
  0b11111110, // 8
  0b11110110, // 9
};

void setup() {
  pinMode(latch, OUTPUT);
  pinMode(sck, OUTPUT);
  pinMode(sdi, OUTPUT);
  SPI.begin();
  SPI.setBitOrder(LSBFIRST);
  SPI.setDataMode(0);
}

void loop() {
  for (int j = 0; j < 10; j ++) {//10の桁
    for (int i = 0; i < 10; i ++) {//1の桁
      //SPI
      digitalWrite(latch, 0);
      SPI.transfer (digits[j]+1);//10の桁 +1でドット表示
      SPI.transfer (digits[i]);//1の桁
      digitalWrite(latch, 1);
      //
      delay(scroll_speed);
    }
  }
}

--------------------------





「びんぼうでいいの」でも動いた。




Raspberry Piでサーボモータを回す

使用したモーターは Tower Pro SG92R

数年前に購入して、動かした覚えがある。


参考

 Raspberry Piでサーボモーターを回す #Python - Qiita

【ラズベリーパイ入門】サーボモーターを制御する方法 | sozorablog


Piは、3。

ケーブルは3本あって、GND、電源(5V)、制御

参考にしたサイトと同じように GPIO 4 (7番ピン)を使う。


とりあえずモーターは動くが、どれだけ回すかの加減の仕方がよくわからない....




2024/08/29

ネットワークエンジニア7つ道具2024年8月版

 teraterm

logmett

秀丸エディタ

wireshark

tftpd64

MS Office

WinSCP

iTunes

モバイルバッテリー

マッキー極細

カッター

マスキングテープ

ボールペン

マイナンバーカード

iPhone

モバイルWifiルーター

Bluetoothイヤホン(マイク付き)

はさみ

ウェットティッシュ

ケーブルタグ(仮で使うやつ)

テプラ

有線マウス

ノートPC

電源タップ

2024/07/21

raspberry piから ffmpgでyoutubeにストリーム配信する

とりあえずこれでできた。


ffmpeg -re -stream_loop -1 \

-i muon.mp3 -f v4l2 -thread_queue_size 8192 \

-input_format yuyv422 -video_size 1024x768 -framerate 30 -i /dev/video0 \

-c:v h264 -b:v 1024k -bufsize 1024k -g 16  \

-c:a aac -b:a 256k -ar 44100  \

-vf "rotate=180*PI/180" \

-flvflags no_duration_filesize \

-f flv rtmp://a.rtmp.youtube.com/live2/xxxxxxxxxxxx


muon.mp3 というのは自作のmp3ファイル

カメラを上下さかさまにしているので、rotateで180度回転している。

最後の rtmp://... のところはyoutubeのストリームURL/ストリームキー


数年前に試したのだが、その時と同じコマンドではうまくいかなかった。

raspivid -o - -t 0 -vf -hf -fps 30 -b 6000000 | ffmpeg -re -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -f h264 -i - -vcodec copy -acodec aac -ab 128k -g 50 -strict experimental -f flv [ストリームURL]/[ストリームキー]


youtube側の設定はそんなに難しくないので割愛。

raspiは5。カメラはUSBにつないだElecomの、型番は見るのがめんどくさいので省くが、1万円くらいで買えるやつ。

ffmpgで送信するところまではすぐできたのだが、youtube側で受信しない。

最後の -f flv rtmp://... のところをローカルファイルにすると動画ファイルとして再生できるので、ffmpgでカメラの画像をエンコードするところまではできているはずだ。

調べていくうちに、「youtubeで配信するときは音声が必要」という情報が。

参考にした人たちは皆 mp3をエンコードしていたが私は音はいらないと思って省いていたのだ。

テキトーなmp3ファイルを指定したら、youtubeで受信できた。

youtube側では、「受信データが少なくて画質が低くなっている」みたいなメッセージが表示される。

パラメータは要調整かもしれない。

2024/07/17

HHKB 英語配列

APEX 9 Miniは残念ながらすぐに使うのをやめた。

モードの遷移がうまくいかないことが多く、どうもアプリのバグらしい。


ただ、小さいキーボードの良さは感じたので、有名なHHKBを買ってみた。英語配列の。

APEX 9 Miniとほとんど変わらない感じで、LEDがないとかはあるが、打鍵感とかは。

カスタマイズはAPEXほど自由ではないが少しできて、DELをBSに変えた。

矢印、home, end, ファンクションキーなどは単独で存在せず、Fnキーなどと組み合わせて使う。

日本語英語切り替えは、Alt+「`」で、左手の小指でAlt、右手の小指で`を押す。

英語配列なので、@ * " ; : などの場所が違う。

タイピング感は確かにいいが、慣れもあるだろうが、使いにくさの方が勝る。

特に、日本語入力のon/offをいかに頻繁に使っているかがわかった。


やっぱり、矢印、BS, home, end, 日本語on/offキーは物理的に単独で存在してほしい。

無刻印ではないのだが墨色に黒刻印でぱっと見えない。ブラインドタッチはするが、たとえばWindowsのログインでPIN入力をするとき、手はホームポジションにないので、数字キーを探してしまう。仕方ないのでよく使う場所にシールを貼った。

HHKBはおそらく、大量に文字を打鍵する人、プログラミングをする人、文章を書く人などにはいいかもしれないが、いろんなことをする人、文字入力はそれほど大量にしない人にはあまり向かないと思う。


2024/06/20

cisco機器のpingは Ctrl + 6 で止まる

Cisco機器でpingを打ちっぱなしにしている状態で、

打ちっぱなしといってもwindowsの -t みたいなオプションはないので、

repeat 100000

とか大きな値を適当に指定する。機種やOSによっては打ちっぱなしというオプションがあるのかもしれないが、多くの場合、ない。


その状態でpingの実行を中止したいとき、 Ctrl + Shift + 6 を打鍵すると中止することができるのだが、このキーがなかなか入らない。

WindowsのCtrl+Alt+Delだったらほぼ確実に一発で入るのだが。

多くの人が、Ctrlを左手の親指、Shiftを左手の人差し指で同時に押さえて、右手で数字の6キーを押すと思う。

そして、一発でとまらないので左手はそのままにして右手で何度も6を叩く。

が、このやり方だと止まらない場合がある。

止まるときはすぐ止まるが、止まらない場合はなかなか止まらない。2回や3回ではなく10回くらいでようやく止まったりする。


この時に止めやすい方法を発見した。

Ctrl、Shift、6のキーを同時に押すのではなく、

Ctrl → Shift → 6 の順に微妙にずらす感じでたたくと、入りやすい感じがする。

.....

と思ったら、新たな発見をした。


Ctrl + 6 だけで止まる!

3つの異なるCisco機器すべてで止まった。

しかも、だいたい1発で止まる。


今まで、Ctrl + Shift + 6 がなかなか入らず何度も何度もたたいてようやく止まった、ということが何度もあったが、もしかしてたまたま打鍵順序が Ctrl → 6 → Shift となったときに止まっていたのではないだろうか.....


2024/06/17

APEX 9 MINI

しばらくFILCOのFILCKTL15というキーボードを使っていたが、
いろいろ不満が出てきた。

・大きい
・重い
・ゴム足が取れる
・ゴミがたまる
・なんとなく、飽きてきた


最近、なんでもかんでも「ゲーミング」とつけるようになってきて、パソコン、椅子、マウス、そしてキーボードにもゲーミングキーボードと呼ばれる製品が出てきた。

私はそんなにゲームをやることもないのでそういう製品の必要性を感じなかったが、なんというのか、キーがむき出しになっていて小さいサイズのキーボードが、ちょっといいなと思っていた。

退屈しのぎと気分転換のために、適当に選んで、steelseriesというメーカーの APEX 9 MINIというキーボードを買った。

使ってみてすぐに、home、end、矢印キー、日本語モードがないことの不便さに気づいた。そしてその不便さが致命的なことに。

パソコンですることはそんなに複雑なことではない。

youtubeを見る、Xを見る、ポストする、何かを検索する、amazonで買い物をする程度のことがほとんど。

ちょっとした文章を書いたり、Excelのドキュメントを作ったりすることもあるが、毎日毎日することではない。

仕事で使うパソコンは借りているノートPCで、そちらではドキュメントを作ったり文章を書いたりすることが多いが、自宅のPCでは単純な操作しかしない。

だが、ブラウザに文字列をいれてちょっと検索をする、というだけの操作でも、home/end/矢印/日本語オンオフ、という操作は頻繁に使うことがわかった。

「やっぱりゲーミングキーボードじゃダメか・・・・」と思いかけたが、カスタマイズにより十分に使えるようになることがわかった。

home/end/矢印/日本語オンオフはデフォルトでは「SteelSeries Function Key」というキーを押しながら何かのキーを押すことで動作するようになっているが、カスタマイズにより任意のキーにその操作(日本語切り替えはマクロを作った)を割り当て、単一のキーだけで動作させることができる。

まず日本語入力オン・オフを→ESCに割り当て、
home/end/矢印はエンターキーの近くにある、^とか\とか[とかあまり使わないキーに割り当てた。

これでとりあえず日常で使用しているほとんどの操作を問題なくおこなえるようになった。



そして、感心したのはこの後である。

キーボードのカスタマイズはアプリでおこなう。「たかがキーボードのカスタマイズにアプリなんか・・・」と思ったが、アプリを使用することにより複数のconfigurationを作成することができる。そして、キーボードのバックライトのカスタマイズも様々にできる。バックライトなんかなんでもいいよ、チカチカされたらウザくてたまらない、と思っていたが、先ほどカスタマイズした設定を使用するときのバックライトと、カスタマイズしないデフォルトのバックライトを変える。

実際にはキーボード設定とバックライト設定は別なのだが、キーボード設定を切り替えるときにバックライト設定を一緒に切り替えるようにする。

私の場合、通常使用する設定は青単色、デフォルト設定の場合は赤単色、というようにした。

今さっそくこの設定を使って打鍵しているのだが、「」を思ったより頻繁に使うことに気づいた。

が、「」を使いたいときはデフォルトの設定にすればよい。


キーを一個押すだけでキーアサインが変わり、その設定はバックライトにより一目瞭然である。

なんか、カスタマイズアプリなどがバグることもあるようだが、そんなことは大目に見られるくらい、この多様なカスタマイズ機能は素晴らしい。





早速バグらしき不具合を紹介する。
SteelSeries GGであらかじめ用意されているconfigurationをそのまま使うと、
F5などのfunctionキーが機能しないようだ。

functionキーはSteelSeries Function Key + 数字キーで機能するはずなのに、
そのまま数字が打鍵されてしまう。

ちょっと調べたらあるフォーラムで、既定のではなく新しいプロファイルを作ると動く、という情報があって、その通りだった。


2024/06/05

ディスク空き容量の表示

Windowsでディスク空き容量を確認する方法はいろいろあるが、私は「エクスプローラー」を開いて、「PC」を選択して表示される情報を見ているが、いちいちエクスプローラーを開いて、PCを選択して、とするのが面倒なので、コマンドでできないかなと調べた。

wmic diskdrive get size というコマンドがあるが、結果がバイトで表示されるのでわかりにくい。

> wmic diskdrive get size

Size

1000202273280

2000396321280

2000396321280


この結果を加工してGB単位で表示するという方法もあるが面倒で、
Powershellだとそれほど面倒ではない。

> $disk = Get-WmiObject Win32_LogicalDisk -Filter "DeviceID='C:'" | Select-Object Size, FreeSpace
> Write-Host ("{0}GB free" -f [math]::truncate($disk.FreeSpace / 1GB))
1411GB free


このコマンドを aki.ps1 などという名前でスクリプトとして保存して実行すればよい。
ただし、powershellスクリプトを実行する場合右クリックして「Powershellで実行」をしなければならない。(拡張子の設定でダブルクリックで実行できるようになるかもしれないがデフォルトでは実行されない)

さらに、powershellのスクリプトはデフォルトでは実行許可されていない。

さらに、スクリプトは実行するとすぐ閉じてしまうので結果が見えない。

などを考慮して、以下のようにした。


#powershellスクリプトの最期に pauseを追加 「aki.ps1」という名前で保存
#これはCドライブのみ表示

$disk = Get-WmiObject Win32_LogicalDisk -Filter "DeviceID='C:'" | Select-Object 
Size, FreeSpace
Write-Host ("{0}GB free" -f [math]::truncate($disk.FreeSpace / 1GB))
pause


#以下のようなコマンドを書いたバッチファイルを「aki.bat」という名前で保存
#このバッチファイルでpowershellスクリプトを実行可能にして起動する。

powershell -NoProfile -ExecutionPolicy Unrestricted .\aki.ps1


そして、aki.batとaki.ps1を同じ場所において、aki.batをダブルクリックすれば
こんな感じで表示され、Enterキーを押せば閉じる。




....と、一通りやってから、エクスプローラーの「PC」アイコンへのショートカットをデスクトップに作ってダブルクリックした方が早いな、と思ったが....

まあ、コマンドでも表示できますよ、というのを知っていたら何かの役にたつだろう...


2024/05/27

ネットワークエンジニア七つ道具 2024

モバイルバッテリー

Wifiルーター

USB-Cケーブル

lightningケーブル

コンソールケーブル(USBシリアル変換不要のもの)

USBシリアル変換アダプタ

ボールペン

ドライバ(ねじ回し)、マイナスも

teraterm

秀丸エディタ、利用禁止であればサクラエディタ

ノートPC(Windows)

LANケーブル

LANケーブル延長アダプタ

スマホ(iPhone)


マスキングテープ

マッキー(細)

テプラ


ニッパ、はさみ、カッター

ベルクロ(マジックテープ)

結束バンド(インシュロック)


paypay

SUICA

クレジットカード(VISAが望ましい、iPhoneに登録しておく)

マイナンバーカード(身分証明書)


イヤホン(bluetoothのものとそうでないもの)

マウス(bluetoothのものとそうでないもの)


googleアカウント

microsoftアカウント

えきねっとアカウント

スマートEXアカウント


サングラス、帽子、耳栓(電車の中などで眠るため)


kindle(アプリでよい)


(自宅に)

CML (Cisco Modeling Labs)

VMWARE ESXi

Cisco機器の実物(Catalyst, 892ルータなど)

Fortigate、PaloAlto、Cisco ASAなどのFWやVPN機器

VPSサーバ(さくら、conoha、degital oceanなど)

自分のドメイン

固定グローバルIPアドレス


2024/04/18

wifiにつながらない

家のwifiに一部の端末だけつながらなくなった。

iPhoneのテザリングだとつながる。

wifiルータがおかしいのか、何かの相性なのか...?


ラズパイ5を買って、いつものようにwifiを設定したがつながらない。いろいろ調べたがわからず、IPアドレスを固定にしたらつながった。

もしかして、DHCPでIPアドレスが取れていないだけか?

我が家ではPaloaltoをDHCPサーバにしている。

Paloaltoの管理画面でDHCPプールを確認したら利用率が100%を超えている。

よく見るとリース期間が無期限になっていた。

プールは家で使うので小さい範囲(100個)にしていたので、枯渇してしまっていたのだ。

我が家ではいろんな端末を実験的に使っていたので100個のリースを使い果たしてしまっていたのだ。多くの端末は固定IPにしていたと、おそらくメインのiPhoneなどは一度もらったIPを再利用していたので、気づかなかった。


リース期間を1日にして、今のプールをクリアした。


「Wifiにつながらない」という時は、つながってるけどIPアドレスが取れてない、というケースもあるのだ。


お粗末...


ちなみにdhcpサーバのIPアドレスリース状況の確認とクリアのコマンドは以下

admin@PA-220> show dhcp server lease interface vlan.11

admin@PA-220> clear dhcp lease interface vlan.11


そしてraspi5は 5Gのwifiにもつながるようになっていた。メモリは8GBもあるが、持てあます...


2024/01/31

さくらのVPSのスケールアップ

またメモリ不足になりdnfが実行できなくなった。

不要なサービスが起動しているかもしれないしその他設定のチューニングでなんとかなるかもしれないが、そもそもこのサーバはサンドボックスというか、実験的にいろいろやってみるためのサーバなので、そんな細かいチューニングをしつつなんとかやっていかなければならないようなら、メモリを増やそうと思った。

だいたい、今までは1Gで、少なすぎたのだ。GUIも使わないしアクセスもごく少ないのでそれで運用していたが、今時1Gじゃね。と、2Gにした。2Gでも少ないだろう。Windowsパソコンだったら絶対無理だ。なんとか起動はするだろうが実用に耐えない。

スケールアップはいったんサーバを停止して、さくらインターネットのコントロールパネルでボタンをカチっと押すだけで完了する。時間は10分もかからなかったと思う。


2024/01/29

LinucとLPICについて

結論を言うと、このエントリーを書いている2024年1月29日の時点でLPICとLinucはどちらも有効であり、どちらの試験も受験可能である。

levelや各レベルの試験番号などはほぼ同じである。
level3の High Availabilty and Storange Clustersのみ、LPIにしかないようだ。



「LPI」で検索すると以下2つのサイトが出てくるが、これらは別物である。

LPI(Linux Professional Institute)
https://www.lpi.org/

LPI-Japan
https://lpi.or.jp/


また、Linucも一緒に出てくる。

Linuc
https://linuc.org/


LPI-Japanのサイトには、下記のような表示があり、「受験者マイページ」というリンクはLinucの認定状況へのリンクである。















Linucのサイトにも同じようなことが書いてある。



この記載を読むとあたかも「LPICという資格はLinucに引き継がれた」かのようだが、先述したようにそんなことはなく今でもLPIは存続していて資格も有効である。

Linucの受験者マイページには私の場合LPICで取得したLevel-2までの認定情報が載っており、Level-3は載っていない。私はこれを見ててっきり「LPICはLinucに引き継がれ、Level-3は引き継がれず無効になった」と思っていた。

LinucであらためてLevel-3をとりなおすのはバカバカしいし、こんなお家騒動がまた起こらないとも限らず躊躇しているうちにLevel-2までが失効してしまい、Linucについては無資格になった。

Linucには何度か問い合わせたが納得のいく回答が得られない。

そのうち、LPI-JapanとLPIC(LPIC日本支部)が別の団体であることに気づき、LPIC認定がまだ有効であることも確認できた。

もちろん今後Linucを受験することはない。

2024/01/24

EMARSI + CEクレジットでCCNPを更新

下記3つを受講してCEクレジットを47得て、ENARSIの合格と合わせてCCNP Enterpriseが更新された。



有料なのは CSAUのみで、税込み$275。

ENCORを受けるしかないかと思っていたが、半額くらいの出費で済んだ。

しかも受験するとなれば参考書や問題集やらでさらに出費がかさむ。


CSAUの内容はDEVNAEとだいぶ重複しており、$275の価値があるかというと微妙である。

また、この講座を受けてCEクレジットを得るのは簡単だが、果たしてそれでこの講座の内容が身についたかと言えばそれも微妙である。

あまりおススメする手段ではない。

でも今回はENARSIで相当苦しんで学びも多かったので、良しとする。


本当にCEクレジットで更新できるのか不安だったが、講座をcompleteしてすぐにトラッキングシステムを見に行ったが直後に更新されていた。


2024/01/09

CEクレジットの獲得

現在無料でCEクレジットを獲得できる講座は下記2つである。講座の受講方法(アクセス方法)はいろいろあるようだが「Cisco Learning Network」にアクセスしてそれらしきリンクをたどれば受講できる。Cisco IDは誰でも作成できる無料のアカウントでよい。


Cisco SD-WAN Operation and Deployment | SDWFND v2.0
所要時間:11h 25m
獲得できるCEクレジット:12


Understanding Cisco Network Automation Essentials | DEVNAE
所要時間:28h 40m
獲得できるCEクレジット:16


所要時間はCisco記載の想定所要時間である。実際にどれくらいかかったかは測っていないが、おおむね記載通りくらいだったと思う。

受講方法は、1つ10~15分くらいの動画を視聴し、簡単な確認テストに答え、いくつかのラボ演習を実施し、最後にアセスメントテストを受けて8割以上正解すると完了する。

動画の再生スピードを上げたり、なんなら途中でやめたりしても一応受講完了にはなるが、最後のテストで8割を超えるためには結局飛ばしたりした内容を改めて確認することになる。

ラボ演習も、全部やらなくても一応やったことにはなる。私の場合キーボードでどうしても「:」が打てなくて演習を中断したりした。


このような演習を受けたのは初めてである。職場で、セキュリティに関する研修などと称して動画を見て簡単な問題に答えるようなものがあるが、基本的にはあれと同じようなものだが、はるかに内容は濃い。

今回受講したSD-WANと自動化に関する内容はENCORやENARSIでも問われたもので、なかなか情報がなくて困っていたのだが、時間があって事前に知っていれば受けていればよかったと思った。

CEクレジットについては、以前は申請が必要だったようだが、現在はWEBで簡単な確認のようなことをおこなえば自動的に反映されるようである。Tracking Systemに取得したCEクレジットが記録されているのを確認した。

無料で28クレジット取得できたが、CCNP更新のためにはあと12クレジット必要である。

有料の講座で12クレジット以上獲得できて一番安いのは下記で$250である。

Introducing Automation for Cisco Solutions (CSAU) v1.0
獲得できるCEクレジット:16

CCNPのコアあるいはコンセントレーション試験の講座は$800~1000で、高額なので迷っていたのだが$250なら出せる。

CEクレジットなら何でもいいのか、というのが少し心配だが、どこにも「この講座でないとCCNPは更新できない」というような情報はないので、おそらく大丈夫ではないか....


あと、肝心なSW-WANや自動化(AnsibleとかPyATSとかNSOとか)の内容についてであるが、今までしてきたようにconfigをテキストに作ってコピペしwinmergeで差分を比較するみたいなことはなくなっていくのだろうなと漠然と感じはする。そしてそれが望ましく効率もよいのだろうが、なんだか各装置の設定がブラックボックスの中に入ってしまい内容が把握できなくなってしまうような不安がないでもない...

2024/01/04

CEクレジット取得によるCCNP更新 2024

ENARSIに合格したので、あと40CEクレジットを取得すればCCNP更新となる。


講座の選び方だが、下記の「The Cisco Learning Network」からアクセスすると、

https://learningnetwork.cisco.com/s/

以前書いた、セットのコースを買うように誘導される。


そこではなくて、下記の「The Cisco Learning Network Store」にアクセスすると、「単品」で買える。

https://learningnetworkstore.cisco.com/

または、下記の「CCNP Enterprize認定とトレーニングプログラム」で、各試験のリンクをクリックし、「Buy e-learning」をクリックすると対応する講座が単品で買える。

https://www.cisco.com/c/ja_jp/training-events/training-certifications/certifications/professional/ccnp-enterprise.html

CCNPの更新には「40CEクレジットが必要」とだけあり(コンセントレーション試験一つに合格している場合)、特に対象となる講座はなんでもよいようだが、せっかくなのでCCNPの講座が良いと思う。

 

CCNP Enterpriseの試験一覧

#コア試験

350-401 ENCOR     Implementing and Operating Cisco Enterprise Network Core Technologies (ENCOR)


#コンセントレーション試験

300-410 ENARSI     Implementing Cisco Enterprise Advanced Routing and Services (ENARSI)
300-415 ENSDWI     Implementing Cisco SD-WAN Solutions (SDWAN300)
300-420 ENSLD     Designing Cisco Enterprise Networks (ENSLD)
300-425 ENWLSD     Designing Cisco Enterprise Wireless Networks (ENWLSD)
300-430 ENWLSI     Implementing Cisco Enterprise Wireless Networks (ENWLSI)
300-435 ENAUTO     Implementing Automation for Cisco Enterprise Solutions (ENAUI)

 

そして各試験に対応する講座で取得できるCEクレジット数と、講座の価格

ENCOR v1.3, 64, $1000 (Exam Bundleは$1250)

ENARSI v1.0, 40, $1000
ENSDWI v3.0, 32, $750
ENSLD v2.0, 40,$800
ENWLSD v1.1, 40, $800
ENWLSI v2.0, 40, $800
ENAUI v1.2(ENAUTO), 24, $750


今12クレジット取得しているので一番安いENSDWIで32クレジット取得すれば40を超える。

が、万一CCNP Enterprizeと関係ない科目で取得したものは無効とかなると嫌なので
40クレジット取得できる、$800の科目にしようかと思っている。

$800でも十万円を超えるが...

受験して合格するために必要な時間と精神的なストレスを考えるとそれくらいは払っていいと思う....