2018年の買ってよかったもの3つ

2018年の買ってよかったもの3つ

さて、ろくにアウトプットできていないうちに年末最後の日を迎えてしまいました。やべぇ。。。 とりあえず、買ったものをベースに2018年をさらっとまとめておきましょう。

Amazon Echo dot

我が家では主にNature Remo、Meross スマートコンセントで部屋の家電の制御に使っています。 昔から一部の方々にアツい人気があった音声認識によるホームオートメーションですが、 IT、メカにそんなに強くない嫁まで日常的に使っているのを見ると、なんだか"大きなハードルを越えた"感があります。

Amazon Echoが使われるシーン

  • 料理するとき
    • 料理中、手がべたべたの時でも「Alexa、5分のタイマー」でタイマーがセットできる
  • 家を出るとき
    • 「Alexa、全部切って」でエアコン、テレビ、オーディオが切れる
  • ホットカーペットをつけるとき
    • 「Alexa、暖房つけて」で電源ON。ホットカーペットって電源入れるには、床の隅にかがまないといけなくて面倒だった

SONY STH40D

今年流行した完全ワイヤレスイヤホンではなく、有線のイヤホンです。

www.sony.jp

もともとearsopenを購入して外の音が聞こえるイヤホンに感動したものの、耳にフィットしなくて手放しました。 STH40Dはちゃんとフィットするし落ちない。違和感がないのもイイですね。数時間つけても痛くない。 外の音が聞こえるイヤホンって、自転車に乗ったり、バイクのヘルメットの中に仕込んでナビの音声聞くのに最適ですね。

ただ、音質とか遮音性を求める製品ではないので、電車ではいまだにXBA-30使ってます。音イイし全然壊れる気配がなくて素敵なやつです。

ハワイ旅行

f:id:polaroidoon:20181231153732j:plain
早朝、宿泊したホテルの前にて
"買ったもの"になるのか?という点はありますが、今年の"高額なお買い物"ってことで。

人生初の海外旅行、人生観が少し変わりました。

拙い英語を必死に使いました。 Uberで移動して、Airbnbで貸切コンドミニアム借りて、お店で商品の説明求めたりしながら買い物して、レストランでオススメ聞きながらディナーを食べて、 GitHubOSSの公式ドキュメントを読む以外にも使えるなんて、英語って便利なのね!という感動を覚えました。

言葉も文化も人種もごちゃまぜな人たちが暮らす街のデザイン・文化に驚きました。 日本よりも表示されている情報量が少ないのに、非英語文化圏の私が欲しい情報が得られるんです。 注文が番号とか「This one, and... this one please.」みたいな残念英語でも通じるメニュー表とか、道路の標識とか、 ホテルのエレベータ内の張り紙や共有スペースの洗濯機の使い方が描かれたポスターに至るまで分かりやすい。

逆に日本からするとあり得ない!と思うこともありました。 サービスのレベルは対価として払う料金と一致するということ。 「ここ、本当に全力注がないとダメ?」って思うところには、現地の人が全力注いでるようには見えないんです。 ユーザーから評価されるタイミングがないサービスはテキトーな人が多くて、その場で評価されてチップetcでフィードバックされるサービスは親切。 「誰に評価されなくてもいい。自分がここを頑張って支えるんだ」という精神が及ぶ範囲がきっと違うんでしょうし、それでいいよなーとか感じます。こいつはぜひ真似したい。

(拙い英語でもいいから)言いたいことを表現できればなんとか生きていける。むしろ表現できないと死ぬ。ということを学んだ気がします。 ただ、もう少し会話したいなーって時の言葉が出てこない悔しさも感じたので、英語は勉強したい。

※もちろん英語ができない観光客相手に慣れてる人たち、ということも考慮が必要

ということで

結婚という人生ビッグイベントをひとつ消化した2018年でしたが、楽しく過ごせました。

2019年も楽しくやっていきたいと思います。

f:id:polaroidoon:20181231153727j:plain
ハワイ、ハレアカラ山頂の日没を撮影

CentOS7.5@古いノートPCでWiFiを使う

たまに必要になる画面とキーボードとUSB端子のあるLinux端末が欲しくて、懐かしのCore 2 Duoを積んだノートPCを引っ張り出してきました。

とりあえずOSサポートが長くてGUIがあればなんでもいいやーと思ってUbuntu 18.04.1を導入したのですが、インストール後に再起動すると途中で止まる…

フォーラムとかを回っても同じ症状がいくつか出ていて、解決するのが面倒になってきたので今回はCentOSを導入することにしました。


さて、CentOS 7.5をインストールすると、重たいながらもGnomeが立ち上がってネットワークに…繋がらない。

UbuntuだとつながったWiFiがネットワークデバイスとして見えていないのです。


ということで、今回はCentOSでAtherosのチップ(2xxx台)を有効化するメモです。


手段は?

昔はMadWifi Project(http://madwifi-project.org/)があって、そこから拾ったドライバをビルドして…という流れでしたが、いつの間にやら時代は変わったようです。

elrepoリポジトリを有効にして、カーネルを3.x系から4.xkernel-mlに入れ替えます。
http://elrepo.org/tiki/tiki-index.php

4.xカーネルなら今回のデバイスカーネルモジュール「ath5k」が標準で組み込まれているので、今後のメンテナンスもラクになるはず。


あとはelrepo入れて、

# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm


elrepo-kernelを有効にします。

# vim /etc/yum.repos.d/elrepo.repo


あとはkernel-mlを入れて、

# yum install kernel-ml
# shutdown -r now # ここでリブートして、kernel-mlを選択して起動する


無事起動することが確認できたら、他のkernel-*なパッケージをkernel-ml-*に詰め替えます。

※ちなみに、この時点でNetwork ManagerからWiFiが使えるようになりました。

詰め替える際、yum removeしてしまうと依存関係にあるパッケージがごっそり抜け落ちてしまうので、今回はswapを使います(初めて存在知った!

# yum swap kernel-headers -- kernel-ml-headers
# yum swap kernel-tools-libs kernel-tools -- kernel-ml-tools-libs kernel-ml-tools

最後に元のカーネルをremoveして終わり!

# yum remove kernel

参考🙏

CentOS7でelrepoリポジトリを有効化してkernel-mlを入れる

https://qiita.com/kawaz/items/21637f5f0b443bbf7893

Syncthingで遠隔地の録画データを同期する

遠隔地に置いてる録画サーバのデータをバックグラウンドでよしなに同期する必要が出ました。

ただ、普段WebGUIで録画予約するために使っているZerotier-Oneでもいいのですが、あんまり安定してないので別の手を考えることにしました。

ということで、さくっとSyncthing導入します。

                                                                  VPN
                                                                   +
+-----------------------------------------------------------+      |            +----------------------+
|                                                           |      |            |                      |
| tv_rec                                +--------------+    |      |            | nas                  |
|                        WebGUI         |              |    |      |            |                      |
|                        +--------------+ Zerotier-One | <---------+            |                      |
|                        |              |              |    |                   |                      |
|                        |              +--------------+    |                   |                      |
|                        v                                  |                   |                      |
|                                                           |                   |                      |
|  +-----------+    +---------+        +------------+       |                   |    +-------------+   |
|  |           |    |         |        |            |       |                   |    |             |   |
|  | Mirakurun +--> |Chinachu +------> | Syncthing  +----------------------------->  |  Syncthing  |   |
|  |           |    |         |        |            |       |                   |    |             |   |
|  +-----------+----+---------+--------+------------+       |                   |    +-------------+   |
|  |                                                |       |                   |    |             |   |
|  |          Docker                                |       |                   |    |   Docker    |   |
|  |                                                |       |                   |    |             |   |
|  +------------------------------------------------+       |                   |    +-------------+   |
|                                                           |                   |                      |
|                                                           |                   |                      |
|                                                           |                   |                      |
+-----------------------------------------------------------+                   +----------------------+


導入は双方ともに公式のDockerイメージを使います。

あとはそれっぽいdocker-compose.yml書いてできあがり。

ちょっと気にしたのは、環境変数GOMAXPROCSで使用するコア数を制限したくらいでしょうか。

version: '2'

services:
  syncthing:
    image: syncthing/syncthing:v0.14.47
    environment:
      - GOMAXPROCS=1
    restart: always
    volumes:
      - /data/:/data:rw
      - ./syncthing:/var/syncthing:rw
    ports:
      - 8384:8384

あとは放置しておくだけ。すばらしいですね!


余談

便利!
http://asciiflow.com/

1万円サーバへのNAS詰め替え作業ログ

我が家のファイルサーバとして活躍している hp MicroServer も購入7年目に突入。
ここ数年は安価なサーバが出回らなかったこともあって買い換えられずにいましたがようやくリプレースできたので、作業ログに残すことにしました。


今回のリプレース先はFujitsu PRIMERGY TX1310M1(以下TX1310M1)。
偶然このエントリを見かけて、脊髄反射購入しました。
https://akiba-pc.watch.impress.co.jp/docs/wakiba/find/1093404.html


今回購入したTX1310M1は昔の安鯖と同様、しっかりとしたケースに収まっています。エアフローも強度も良い感じ。
が、リビングに置くNASとしては見た目がイケてません。


今回はこのTX1310M1を手持ちのIN WIN 904に移植しました。
TX1310M1の移植にあたっての課題は以下の3つ。

電源ユニットとマザーボードの間のケーブルが極端に短い

まず、すべての線の両端にラベルをつけます。

ぶった切ります。
テキトーに転がっていた古い電源のケーブルを使って延長します。

CPUクーラーの真上にあった電源ユニットを移設することができました。

HDD用の電源ケーブルマザーボード上から接続

同じく余ったケーブルで延長します。

独自形状

下側は右側がATX電源と一か所だけねじ穴の高さはそろっていたので固定し、
左側はワッシャーでケースを挟み込んで固定します。

結論

ケースを変えるなら素直に自作するべき。安価なサーバは自作PCの素材に向いてますね!


追記

CPUクーラーも手持ちのものを使おうと思っていましたが、付属のCPUのバックプレートがCPUのソケットと一体化しているので外せませんでした。
なんという罠。。。

rcloneでAmazon Cloud Drive(米国版)にファイルをコピーするメモ

Amazon Cloud Drive(米国版)は容量無制限プランで$60程度で済むオンラインストレージです。
※日本版はおま国価格で\13,800となっています。


あとはここにファイルを投げつけたいので、rcloneを使ってみました。
rcloneは各種オンラインストレージなんかにrsync的なファイルコピーを実現できるソフトウェアです。

https://rclone.org/


今回はファイルサーバからファイルを送信するまでの手順をメモ。


ブラウザのあるPCにrcloneをダウンロードして実行、アクセストークンを取得する。
(ファイルサーバにはGUI環境はないので)

rclone authorize "amazon cloud drive"


ファイルサーバにrclone.confを作成する。

[remote]
type = amazon cloud drive
client_id =
client_secret =
token = {"access_token":"XXXXXXXX"}


あとは実行するだけ。

 rclone /usr/bin/rclone --transfers 1 --config /PATH/TO/rclone.conf copy /fromDir/ remote:toDir/


※私の環境では --transfers で同時アップロード数を制限しないと、他の通信が切れるようになりました。。。

Volumio2 を Raspberry Pi Zero W で使う

注意

このエントリは妄想です。
まだ国内で技適の確認されたrasPi Zero Wは存在しませんからねぇ。
決して海外から買ってきたとかそんなことはありません。繰り返しますが妄想です。

本日のネタ

発売当日にMOD MY PIで購入したRaspberry Pi Zero WにDAC積んでWiFiで動かそう!という作業メモです。
※そのままVolumio2を焼いたmicroSDを刺しても無線LANが使えなかった(2017/3/17時点)ので対策だけまとめます。

用意したもの

無線LANが使えない?

wlan0見つからないんだけど!ということで、対策をします。
とはいえ、すでにいい感じにまとまってたのでそのまま参考にします。
https://volumio.org/forum/with-new-rpi-zero-t6050.html

volumioを焼く

焼いたあと、以下ファイルをダウンロード、/bootパーティションにコピーします。
https://github.com/raspberrypi/firmware/raw/stable/boot/bcm2708-rpi-0-w.dtb

私はLinux端末を使用していたので、素直にマウントしてファイルをコピーしました。

ファームウェアを更新

$ sudo apt-get update && sudo apt-get install binutils rpi-update && sudo rpi-update && shutdown -r now


これでVolumio2の設定画面から無線LANの設定ができるようになります。

CHIP OSのHeadless版でのNW設定メモ

注意

このエントリは妄想です。
C.H.I.P.は技適をパスしていないので国内で無線LANを使用できませんからね、えぇ。

本日のネタ

昨年到着したもの、ろくに触れてなかったC.H.I.P.で遊んでみます。
とりあえず、今回は無線LANの設定をしてSSHで接続できるところまでメモです。

ファームウェアを更新

とりあえず、4.4 Headlessを焼きました。
https://flash.getchip.com/

コンソールとご対面

C.H.I.P.のコンソールを拝むにはいくつか方法があります。

シリアル接続

給電用のmicroUSBポートですが、他の方法(ピンヘッダ or バッテリー)から給電する場合はここからシリアル接続できるようです。
https://docs.getchip.com/chip.html#physical-connectors

HDMI DIP

C.H.I.P.の基盤に追加でHDMI出力用基板を装着、USBキーボードを接続します。
前述のUSB以外の給電は面倒なのでひとまずこちらで。

C.H.I.P.が無線LANにつながらないあなたに(※私です)

無線LANの設定方法ですが、公式ドキュメントにしっかりまとまっています。
C.H.I.P.なんて名前なのでググっても公式以外見つからないことが多いし…
https://docs.getchip.com/chip.html#wifi-connection


でも、繋がらないんですね。

# nmcli device wifi connect 'MYWIFI_SSID' password 'MYWIFI_PASSWORD' ifname wlan0
Error: Connection activation failed: (7) Secrets were required, but not provided


試行錯誤の末、接続できました。結論はアクセスポイントと無線LANドライバの相性問題でした。
別のアクセスポイントを用意しこちらには接続できることを確認。ドライバをアップデートしました。

# apt-get update && sudo apt-get upgrade
# reboot

ドライバ更新後は、当初接続できなかったアクセスポイントにも接続できるようになりました。

静的IPにする

nmtui便利です。

# nmtui

SSHの設定

何度か試みるも繋がらないと思ったら…

#  systemctl status ssh
* ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled)
   Active: active (running) since Sat 2017-01-21 06:25:46 UTC; 6min ago
  Process: 440 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS)
 Main PID: 215 (sshd)
   CGroup: /system.slice/ssh.service
           `-215 /usr/sbin/sshd -D

Jan 21 06:27:24 chip sshd[455]: error: key_load_public: invalid format
Jan 21 06:27:24 chip sshd[455]: error: Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Jan 21 06:27:24 chip sshd[455]: error: key_load_public: invalid format
Jan 21 06:27:24 chip sshd[455]: error: Could not load host key: /etc/ssh/ssh_host_ed25519_key
Jan 21 06:27:24 chip sshd[455]: fatal: No supported key exchange algorithms [preauth]
Jan 21 06:29:05 chip sshd[488]: error: key_load_public: invalid format
Jan 21 06:29:05 chip sshd[488]: error: Could not load host key: /etc/ssh/ssh_host_rsa_key
Jan 21 06:29:05 chip sshd[488]: error: key_load_public: invalid format
Jan 21 06:29:16 chip sshd[491]: error: key_load_public: invalid format
Jan 21 06:29:16 chip sshd[491]: error: Could not load host key: /etc/ssh/ssh_host_rsa_key


C.H.I.P.のフォーラムマジ便利ですな。
https://bbs.nextthing.co/t/after-4-4-cannot-ssh-anymore/8456/4

# ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
# ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key


ということで、SSHでC.H.I.P.が操作できるようになりました。
あとはDIPとキーボードを外してケースにてきとーに詰めて、できあがりです。


参考:
https://bbs.nextthing.co/t/resolution-to-secrets-were-required-but-not-provided-and-a-follow-up-question/5120
https://bbs.nextthing.co/t/after-4-4-cannot-ssh-anymore/8456/4