2021年 11月 06日

WSL2 の Ubuntu に gcc-arm-none-eabi

apt では入らないので以下の arm のサイトから該当するものをダウンロードする

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads

自分の環境では ~/app/xxx に sdk いれることが多いので

wget https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2
tar xvf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2
mv gcc-arm-none-eabi-10.3-2021.10 ~/app/
cd ~/app
ln -sf gcc-arm-none-eabi-10.3-2021.10 gcc-arm-none-eabi

して、.zshrc で ~/app/gcc-arm-none-eabi/bin にパスを通す

2021年 10月 13日

smokeping + fping6

+ Fping6
binary = /usr/bin/fping6 

上記のように指定するとうまくいかない。どうやら fping6 -6 host のような形式で実行されるようで、"fping6: can't specify both -4 and -6" というエラーになっている。

解決は簡単で、単に binary = /usr/bin/fping にすれば良い

2021年 10月 11日

Ubuntu (Debian) の prometheus-snmp-exporter パッケージはそのままでは動かない

/etc/prometheus/snmp.yml がまったく設定されていない (ライセンス上の問題らしい) ので以下のようにデフォルトをつっこんでやる必要がある。

wget https://raw.githubusercontent.com/prometheus/snmp_exporter/main/snmp.yml
sudo mv snmp.yml /etc/prometheus/snmp.yml

version=0.14.0+ds だと最新の snmp.yml を読めないので以下のようにタグ指定でとってくると良い

wget https://raw.githubusercontent.com/prometheus/snmp_exporter/v0.14.0/snmp.yml
sudo mv snmp.yml /etc/prometheus/snmp.yml
2021年 10月 07日

おうちのメインRaspberryPiの入れ替え

メインの Raspi という存在が自宅にはあるのだが、だいぶ前にセットアップしていろいろ秘伝のタレのような状態になっていたうえに、ろくに apt-update もしていなかったため古すぎて厳しい状態になっていた。

古いほうは Wi-Fi とかがない Raspberry Pi 2 B。新しいほうは Raspberry Pi 4 B 8GB。メモリは少ないモデルで良かったんだけど、売ってなかったので 8GB 版を買ってしまった。

構成

  • センサー類が GPIO に繋がっている
    • co2 (gpio pwm 読みこみ)
    • 気圧 (i2c)
    • 温湿度 (i2c)
  • bluetooth 経由で3Dプリンタのフィラメントのドライボックスの温湿度を監視している
  • unbound https://lowreal.net/2018/07/18/2
  • node_exporter
  • prometheus
    • LAN 内のメトリクスを集めている (このホスト自身・QNAP・GPSDOなど)
  • pushprox (client)
    • LAN 内のメトリクスを VPS にある prometheus から federate したいので pushprox を使っている

ハマりポイント

 -

4.0 / 5.0

選んだケース (というかヒートシンク?) と GPIO ピンヘッダに挿すコネクタが干渉して繋げられなかった…… というのはケースの製造者も認識済みで、 GPIO ピンヘッダを延長する追加のコネクタが付属するのだが、どうもこれを使うと部分的に接触不良が起きて I2C の接続ができなかったりしてダメだった。

もともと使っていたコネクタとの相性があるんだと思うがなかなか原因がわからず (こういう単純で見えない不具合が一番むずかしい) 大変だった。

結局手元にあった別のピンヘッダを使って延長したら解決した。

2021年 10月 01日

最近の ssh では YAMAHA RTX1200 に接続できない

no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1

と言われて接続できない。最近の ssh がデフォルトサポートをやめた形式のため、~/.ssh/config で設定してあげれば繋ぐことができる

Host 192.168.0.1
KexAlgorithms +diffie-hellman-group1-sha1

備考

$ ssh -V
OpenSSH_8.2p1 Ubuntu-4ubuntu0.1, OpenSSL 1.1.1f  31 Mar 2020
2021年 08月 27日

Pixel 5a (5G)

Pixel 3 XL から機種変。Pixel 3 XL は型落ちで1年前ぐらいに買ったので値段的にもスペック的にもそれほど大きく変わらず、大きさもあまり変わらず。カメラが良くなったぐらいかな? 昨今の状況だとカメラ使う機会も減ってるのであんまり機種変してどうって感じもない。

毎回機種変すると躓きポイントがあるので、なかなか旧機種を初期化するのは勇気がいる。

今のところは仕事で使っている2段階認証アプリの移行に元機種が必要だったぐらいかな。元機種がなくなると手動でワークフロー通しなおす必要があって面倒そうだった。

Authy はすんなりすべて移行できてよかった。

2021年 08月 20日

Malachite SDR?

もともとはロシア製のポータブルSDRらしいがオリジナルはほとんど見掛けることはなく、いろんなバージョンのクローンが存在する。出来不出来にたいへん差があるようで、製品ガチャといえそう。

購入したのは割と最近出始めたもののよう。スペック的には

Name: Receiver
Material: plastics
Color: black
Recharge: Type-C cable(not included)
Battery: 1 * built-in battery, 4.2V, 2020mAh(included)
Item size: 102 * 74 * 29mm / 4.02 * 2.91 * 1.14in
Item weight: 240g / 8.47ounce
Package size: 150 * 100 * 50mm / 5.91 * 3.94 * 1.97in
Package weight: 260g / 9.17ounce

と書いてあったが、だいたい間違えてるのでアテにならない。筐体は plastics ではなくアルミ製で、いろいろあるバージョンの中では一番デキが良くみえる。LCD も綺麗に接着されフラットケーブルが伸びている。

バッテリーは 2020mAh のリチウムポリマー。入ってた箱に「Due to the trial version of the machine, the battery may be overused. Please pay attention to the charging of the battery, or choose to use the registered version」と書いあって不穏。

充電用 Type-C ケーブルは not included と書いてあるが、ついてきた。

周波数の範囲は 50kHz~200MHz、ただ 200MHz に設定すると挙動が変。

ディスプレイはタッチパネル(静電容量式)。操作がむずかしいがファームのせいなのかハードのせいなのか判断つかず。

軽く試してみる

7MHz の SSB、CW(LSBモード) や、80MHz WFM (FM放送) は普通に聴くことができた。

プリアンプのON/OFFは効いているようにみえる。

エンコーダーのできはよくなくてパルスが飛ぶことが多い。

調べてみると組込まれているファームウェアはデモ版らしく、$55 でフル機能版を買うみたいなプロセスがあるらしい (販売ページには特にそういったアナウンスはなく、ただ売ってるだけ)。が、ちょっとさすがにちゃんとハード互換あるのかよくわからないのでやらなくてもいいかなー

2021年 07月 25日

NiZ X87EC(S) 35g (2021) を買ってみた

66EC(S) Ble 35g を買ってから自宅では結構ずっとこれを使っていてそこそこ満足している。これも含めて HHKB 風配列のキーボードを10年以上使っていて慣れているのだけど、不満がないわけではなく、それを解消するために自作キーボードしてみたりもしてきた。

ということで一旦普通のキーボードが欲しくなった。テンキーはさすがに必要ないので、

  • テンキーレス (87キー)
  • 英語配列 (Enter キーが変な形じゃない)
  • キーボード側で A の左隣のキーを Ctrl にできること
  • 35g 程度の軽いキータッチのもの
    • 一度軽いのに慣れると HHKB (45g) がやたら重く感じるようになってしまって戻れない……
  • 静電容量式

という条件で「普通のキーボード」を探した。静電容量式の時点で選択肢はほぼなくて、メーカーとしては国産であれば Realforce、中国産であれば NiZ の2択になる。

条件にあうモデルは Realforce だと R2TLS-US3-BK あたり。だいたい3万円弱

R2TLS-US3-BK(ブラック) REALFORCE TKL Sテンキーレス 87キー 英語配列 - 東プレ(Topre Corporation)

東プレ(Topre Corporation)

3.0 / 5.0

NiZ だと表題にある通り NiZ X87EC(S) (BTなしモデル) $165.00 で2万円弱

値段的には NiZ が少し安い。信頼性はさすがに Realforce にある。NiZ は Cherry MX 互換のキートップを使え、キーボード側ですべてのキーをリマップできる。

結論からいうと表題の通り NiZ を選んだが、決め手というのは正直あまりない。Realforce はさすがに普通に使えるだろうし不満もないだろうけど、あんまり面白くないかと思ったぐらい。

公式サイトから購入した。謎の輸送経路だったけど国内は佐川委託みたいで普通に受け取れた。

カスタマイズ

とりあえず A の左隣を Ctrl に。NiZ はどのモデルも「Officeモード」と「Customize モード」の切り替えがあり、Office モードだとキーコンフィグが効かないので気をつける。

今までずっと Mac だった関係で(仕事ではまだ Mac だし)、キーボード配列を Mac 風に入れかえ (WinキーとAltキーの入れ替え) ている。

なお、キー数が普通に多いので、特別キーコンフィグしなくてもキーボード組込みで Ctrl/Caps 入れ替え機能と、Win/Mac モード切り替え機能があるのであまり困らない。

2021年 07月 21日

GPSDO のメトリクス

なかなかやる気が湧かなくてやってなかったが GPSDO のメトリクスをしばらくとってみることにした。そのへんに転がっていた NanoPI NEO2 と GPSDO を繋ぎ、NanoPI NEO2 上で GPSDO の出力をとりこんで Prometheus exporter を立ちあげるようにした。

構成のメモ

自宅内にはメインに使っている Raspberry Pi があり、そこに LAN 内の Prometheus exporter からメトリクスを収集する Prometheus サーバが立っている。QNAP や RTX1200 のメトリクスもこの Raspberry Pi が収集している。

ただ、これだと外部から見れずに面倒なので、VPS 上にも Prometheus サーバが立っている。VPS 上の Prometheus は自宅内の Raspberry Pi から federate によってメトリクスを収集している。

Grafana も VPS 上に設置しており、VPS 上の Prometheus からすべてのメトリクスを表示している。

2021年 07月 11日

PowerToys で macOS 風キーバインドを導入したときに生じる PowerShell の不便の解消

Windows PowerToys の Keyboard Manager を使って macOS 風のキーバインドを導入するというのをやっているけど、これをすると WSL2 が快適になる代わりに PowerShell が不便になるという問題があった。具体的には、Up/Down キーで ^P ^N が入力されてしまうので履歴が辿れないなど。

これは実は簡単に解決可能で、

Set-PSReadLineOption -EditMode Emacs

として PowerShell 上のキーバインドを emacs 風にするだけでよい。これで Ctrl-P / Ctrl-N などが適切にマッピングされるようになる。

毎回実行するのは面倒なので、echo $PROFILE で出てくるファイルパスに以下のように書いておくと良い。

echo "Running $PROFILE"
Set-PSReadLineOption -EditMode Emacs

$PROFILE は自分の環境だと C:\Users\[username]\OneDrive\Documents\PowerShell\Microsoft.PowerShell_profile.ps1 だった。