Raspberry Pi Zero /W で USB ケーブルで Windows に接続

Raspberry Pi Zero /W は、USB ケーブルで直接 Windows と接続できる。
名前の解決にBonjour サービスが必要になるので、あらかじめ iTunes をインストールしておく必要がある。 私の場合はiTunesを使う目的で最初から入っていたが。  (iTunesじゃない方法もあるらしい)

ssh で接続するまでの手順をまとめると、

Raspbian の入った、Micro SD カードを用意する。

Micro SDのルートディレクトリにあるファイルを編集

config.txt に以下の行を追加


dtoverlay=dwc2

cmdline.txt の行の中間、rootwait の次くらいに以下の内容を追加。 1行の中間に挿入し、改行はしてはいけない。


modules-load=dwc2,g_ether

ルートディレクトリに ssh という名前の空ファイルを作る。 拡張子は無し。

編集が終わったら、Micro SD をデバイスの取り外しで取り外して、Raspberry Pi Zero にセット。

PC と USB ケーブルで接続。 このとき、電源側じゃなくて、 USB デバイス用の方に接続する。
LEDの点滅が収まるまで待つ。

PC 側はドライバがいるので、以下のサイトからダウンロードしておく
http://domotique.caron.ws/cartes-microcontroleurs/raspberrypi/pi-zero-otg-ethernet/
フランス語でビビるが “RPI Driver OTG.zip” が落とせればOK。
展開しておく。

PCのマイコンピュータを右クリックし [管理]-[デバイスマネージャ]
ポート(COMとLPT)から、
USBシリアルデバイスを探す。 (COM 4)みたいなのがそう。 数字が4かどうかは環境に依存する。
右クリックし、[ドライバの更新]-[コンピューターを参照してドライバーソフトウェアを検索]
先ほどの展開フォルダを指定し、ネットワークアダプターに[USB Ethernet/RNDIS Gadget]が入ればOK。

コマンドプロンプトで、


ping raspberrypi.local

でつながればOK。 反応がない場合は、手順を再確認しよう。

ここまでくれば、PuTTY などで、raspberrypi.local で、いつもの pi ユーザーでログインできる。

以下の手順で Wifi の設定をすれば、次回以降は無線LANで接続できる。


sudo sh -c 'wpa_passphrase SSID パスフレーズ >> /etc/wpa_supplicant/wpa_supplicant.conf'

wpa_supplicant.conf の平文パスワードは消しておいた方がいい。

接続確認は


sudo ifdown wlan0
sudo ifup wlan0
ifconfig

で、できる。

その後、Macでも試したが、Macで接続する場合は、ドライバが要らないので、楽だった。

bash on Windows

今更だが、Microsoft謹製の bash on Windows を使ってみた。

といっても、 Windows Creators Update を入れて、コントロールパネルをいじって、管理者モードのコマンドプロンプトで bash と打つだけで入るし、動作する bash 環境も、まんま Ubuntu なので、あまりネタにならない。

どうも、Creators Update よりも前は使いにくい点も多かったようだが、大幅に改善されたようだ。

今はネタにならないくらい、簡単に完ぺきに動くのは驚異的。

apt-get で、いわゆる LAMP (本当は WLAMP になるのか?) 環境を作って、 WordPress 動かしたりするのも、全く Ubuntu と変わらない。

Apache を起動するときに、変な警告が出るので、apache2.conf に以下の 2行を追加。

AcceptFilter http none
AcceptFilter https none

MySQL を起動するときに No directory, logging in with HOME=/ という警告が出るが、実害はなさそうなので、気にしないことにする。

bash コンソール画面を落とすと、システムごと落ちるみたいなので、そこだけは注意。 デーモンとか、 cron の類もデフォルトでは、ほとんど起動していない。

ローカルテスト環境としては、エミュレータの類や、XAMPP よりも便利じゃないかと思った。パフォーマンスもいいように思える。

Microsoft やるな!

バッ〇ァローから、TP-LINKに

表題通り、無線ルータを TP-LINK に換えた。

結果、非常に安定していて、満足している。

無線 LAN がやたらプチプチ切れる問題や、 WAN 側からの設定を禁止しているにもかかわらず、たまに外から設定のログイン画面が見える問題とか、色々解消した。

また、ちょっと説明が難しいが、LAN 内に HTTP サーバがあってポート開放している場合の問題も解消した。

これは、LAN 内に HTTP サーバがあって、ポート開放。 ルータの外側のグローバル IP アドレスに DNS で Web サーバの名前として DNS でサーバ名が設定されている場合、同じ LAN 内の作業マシンから、ルータの外側を示す DNS名(FQDN) でアクセスする (行って来いみたいな感じ) と、外側アドレスを指定しているにもかかわらず、何故かルータの設定画面が見えてしまう問題。

これには hosts ファイルで FQDN を LAN 内のローカルアドレスに名前解決したり、hosts ファイルが使えない端末 (Wifi で繋がった iPhone 等)の場合は hosts ファイルが使えるマシンにローカル proxy を建てて、そこ経由でアクセスしたりとか、色々面倒だった。 TP-LINK のルータだとそうした問題も無く、何も考えずに、ローカルマシンで一旦外を通って、Web サーバにアクセスできる。

設定画面は非常にわかりやすいし、購入前にエミュレーター(なのか?)を触れるのも安心感があった。

中華製 (しかも台湾じゃなくて、大陸) なので、どうだろうとも、ほんの少し考えたが、米国でシェア1位になってる段階で、まあ、問題ないだろうと考えた。 アメリカの消費者は緩いところは緩いが、厳しいところは多分、世界一厳しい。 Consumer Reports なんか見ればわかる。 自動車なんか衝突試験以外は信用しないような人たちがいるんだから。

通信機器だから、変なパケット出したら、一発でばれるしね。。。 ただ一つ残った可能性としては、有事にバックドアを使って、何かしらの攻撃拠点にされる可能性 (DDoSとか)があるかもしれないが、DDoS なんかしたら、真っ先に接続業者から切られるだろうから、まあ、問題ないんじゃないかと。

Simplicity のカスタマイズ — Google Fonts を使う

このサイトでは、テーマとして Simplicity 2 を使っている。

デフォルトでは、タイトルが大きいと思ったのと、フォントを Google Fonts にしてみたかったので、[カスタマイズ] – [追加 CSS] に以下を追加した。

アルファベットは Bitter 、日本語は Google Fonts + 日本語 早期アクセス にあった M+ 1p にしている。

 

@import url('https://fonts.googleapis.com/css?family=Bitter');
@import url('https://fonts.googleapis.com/earlyaccess/mplus1p.css');

body{
  font-family:
      'Bitter',
      'Mplus 1p',
      'Hiragino Kaku Gothic ProN',
      Meiryo, Helvetica, Arial, sans-serif;
}

.entry h2 a{
  font-size:20px;
}

カスタマイズするときは、テーマの style.css のソースを見て、カスタマイズしたいところだけ抜きだして、[追加 CSS]に書くのが一番簡単かなと思った。

 

追記

言われる前に自分で言うけど、一番最後に入れ子の一番内側で実行されるであろうこのモジュールに @import を書くのは効率的にどうだろうというのはある。

しかし、js のモジュールなんかはもっと冗長に呼ばれているケースがいくらでもあるだろうと思うし、2度目以降のオーバーヘッドは小さいだろうから、気にしないことにしている。