Dropbox

Raspberry Pi Zero W用に準備したLCDディスプレイは7インチ、解像度800×480、HDMI接続、タッチパネル付きです。とりあえずRaspberry Pi Zero WにHDMIで接続すれば画面を表示することが出来ます。ただしVGA(640×480)モードで立ち上がっています。PIXELを立ち上げてみれば一目瞭然ですが、コマンドラインにおいても640×480のエリアしか使用していません。topや vimを立ち上げると右端を使用していないのがよく分かります。この状態でtput colsは80、tput linesは30を返します。

解像度やHDMIのモードは/boot/config.txtで調整します。ところがHDMIモードの一覧に800×480という組み合わせがありません。640×480で使用することも考えましたが、せっかくのタッチパネルに問題があります。タッチパネル自体は画面全体が反応しています。そのため横方向が一致しません。物理的な画面の一番右端をタッチすると640ドット辺りが反応してしまいます。

色々と調べているとRasberry PiのサイトにHOWTO:Create Custom HDMI modesという記事があるのを発見しました。これに従い、私の場合/boot/config.txtに以下の行を書き込むことにより800×480がフルに使用できるようになりました。
hdmi_cvt=800 480 60 1 0 0 0
hdmi_group=2
hdmi_mode=87

PIXELも完璧ですし、コマンドラインを使用する場合においても画面をフルに使用できるようになりました。コマンドラインではtput colsが100を返すようにになりました。

2016年6月頃にKickstarterでbackingしたMacBook用の充電も出来るドッキングステーションMOFILY MARBLE DCS1が届きました。当初の予定では2016年9月の出荷予定でしたから、半年ほど遅れて出荷されました。加えて、関税がかかりにくい普通の航空便で来ましたので通関やら何やらで出荷後一月以上かかって2017年4月に到着しました。

これを入手する前は、給電機能付きのハブを使用していました。USBメモリーを使うだけなら、これでも事足りるわけですが電源と別々に持ち歩かねばなりません。

DCS1は普段使いの電源として常時接続しておけます。これでUSB 3.0 Aコネクターが何時でも使えます。加えてUSB 3.1 Type-Cはもちろん、HDMIで外部ディスプレーを接続したりMicro SDカードの読み書きも出来ます。大きさも標準の電源より少し大きいだけなので持ち運びにも便利です。わたし的には完璧なソリューションです。

DCS1本体にはUSB 3.1 type-Cコネクターが2つあり、ひとつはMacBook専用になっています。ハブの機能を考えれば当然ですが、このポートはUSB PDに対応しています。普通に(USB PDじゃない)携帯電話を接続しても充電にも使えます。もちろん、もう一方のtype-Cコネクターでも充電出来ます。ただしHUAWEI Mate 9は特殊な急速充電方式を持っているためか、どちらのtype-Cコネクターも充電には使えませんでした。Mate 9はUSB 3.0 Aコネクターに接続しなければなりません。

上の写真はRaspberry Pi用の液晶ディスプレイをDCS1経由でMacBookに接続してYouTubeを再生したところです。画面の狭いMacBookですから、いざという時に外部ディスプレイが接続出来るのは心強いです。

DCS1とMacBookを接続するための両側がUSB type-Cになっているケーブルは専用のものが付属していて、それを使用することが推奨されています。付属のものは短めなので手持ちのケーブルも試してみました。ちょっと細めの無印なケーブルでは外部ディスプレイを使用することが出来ませんでした。もうひとつUGREENという銘柄のものでは外部ディスプレイを使用することは出来ました。電流値などはツールが無くて計測できませんが、普通にMacBookは給電出来ているようでした。

タイトル的にはちょっと大げさですが、やっていることは単純です。Raspberry Pi Zero W用に小型のLCDディスプレー、キーボード、USBハブなどを準備して接続しただけです。

準備したハードウェアを紹介します。全て中国の通販サイトtaobao.comで入手したものです。

[ LCDディスプレー ]
193元(日本円約3000円)、7インチ、解像度800×480、HDMI接続、タッチパネル付き、USB給電。本体は220gほど、ケースを付けると370gと結構重い。

[ USBキーボード、カバー付き ]
49.8元(日本円約790円)、キーボード部分の幅203mm、USB接続。OTGケーブルが付属していてAndroid携帯電話に接続出来るようになっています。またケースのフタ部分には吸盤が付いていて携帯電話を固定出来るようになっています。キーストロークがあって、押した感じも悪くはありません。ところが実際に使ってみるとタイプしにくい。しっかりと深く押さないとキー入力されないので、時々キーミスしてしまいます。

[ 給電機能付きUSBハブ ]
28元(日本円約444円)、OTG USBハブ、給電機能付き。Raspberry Pi Zero WのマイクロUSBコネクターに直接接続できます。ハブに給電してRaspberry Piも駆動できます。ハブに接続するデバイスによってはRaspberry Piにも直接給電の必要があるでしょう。

[ 4Gモデム ]
随分前に買ったHuaweiのUSB LTEモデム。以前、Raspberry Piでテストだけしたもの。

[ モバイルバッテリー ]
手持ちの適当なもの。これはMINISOで買ったもの100元以下だったと思う。

それぞれの筐体をバラバラにして専用のケースを作ればUMPCらしくなるでしょうが、パワーマネジメントも無いですし、そこまではやらないと思います。

HuaweiE3276
Raspberry Piから携帯電話のデータ通信に接続するべくUSBタイプのモデムHuawei E3276を購入しました。E3276を選んだのは実績があり手頃な値段で入手出来るからです。

到着した物はTモバイルのロゴが入ったものでした。初代Raspberry PiはUSBコネクターからの電力供給に不安があるので最初からバスパワーを供給したUSBハブを使用して接続しました。

ここで特別な手順を紹介するわけではありません。ただ、色々なツールやスクリプトが散在していて一番簡単に接続できたスクリプトにたどり着くのに少々時間がかかったのでメモ程度に記録しておくためです。

とりあえず接続してlsusbコマンドで存在が確認出来れば一安心です。

ID 12d1:1f01 Huawei Technologies Co., Ltd.

おそらくは、こんな感じで表示されます。この12d1:1f01はドライバーを導入するためのメディアモードとして認識されていることを示します。これをモデムモードにスイッチして適当なATコマンド(パソコン通信時代の方々にはお馴染みのモデムを制御する文字列)を投げかければデータ通信が出来るようになるはずです。さほど大げさなことでは無いのですが、ちゃんとした方法がなかなか見つかりませんでした。

最終的にはGitHubで見つけたhuawei-connectというPythonスクリプトを使用したら一発で接続できました。Readme.mdに書かれている通り、必要なツールやモジュールをapt-getで導入してhuawei-connectスクリプトにAPNを指定して実行するだけでデータ通信が出来るようになります。

lsusbで確認するとhuawei-connectがusb-modeswitchを呼んで以下のように変わっていることが確認できます。

ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcar

ifconfigでwwan0にIP addressが割り当てられていることが確認出来れば成功です。もしエラーする場合はdebugオプションを付けて実行します。debugオプションでは詳細なメッセージをstderrに出力するのでスクリプトが何を行っているのかを確認するのにも有効です。

実は一度、https化を止めてhttpオンリーに戻そうと思いましたが、このブログのGoogleでの検索結果がすでにhttpsになっていたので後戻りはしないことになりました。

[ アマゾン・アフェリエイト対策 ]
正しい方法かどうかは分かりませんがhttps://rcm…の部分を//rcm…に書き換えるとリンクが表示されるようになります。ウィジェットなどの固定部分は手作業で書き換え。記事中のリンクはWordpressのプラグインを書いてダイナミックに書き換えを行うことにしました。安全性、信頼性を保証出来ないのでプラグインは非公開とします。
他にもセキュアでない要素が残っていますが、ぼちぼち対応していくことにします。

[ Lets Encrypt証明書再取得 ]
再取得も新規取得も手作業であれば同じ事ですが、前回の記事を書いた後に随分と便利なクライアントが数多く公開されました。今回はそのなかの一つであるzerosslを使用してみました。Linuxの実行環境など必要なくwebサイトの画面に従うだけで簡単に証明書を作成出来ます。私が行った流れを簡単に紹介しておきます。

  • https://zerossl.com/ を開く
  • CREATE ONLINE
  • FREE SSL Certification Wizard – START
  • Details – Domains を設定、わたしの場合は www.nkozawa.com を使用。HTTP verificationを選択、Accept ZeroSSL TOS, Accept Let’s Encrypt SAにチェックを入れる -> NEXT
  • Include non-www version too? のダイアログにNoを答える。これをYesにするとnkozawa.comも証明書の対象になる。
  • 念のためCSRをコピー – NEXT
  • 念のためPrivate Keyをコピー – NEXT
  • Verification – 前回の記事と同様に指定された内容のファイルをwebサーバー上にセット。ファイル名をクリックして正しくファイルが設定されたかどうか確認。- NEXT

以上で証明書が作成されます。最後の画面のPRIVATE KEYとCERTIFICATEをCORESERVERのSSL設定に書き込みます。

  • PRIVATE KEYをプライベートキー[パスフレーズ無し]にコピー
  • CERIFICATEを発行された証明書(必須)にコピー
  • 発行された中間証明書(任意)に上でコピーしたものの後半部分のCERTIFICATEをコピー。実際にはわたしの場合は前回設定したものと同じでした。

あとはGoogleカレンダーに次の更新予定を書き込んで終了です。

ノートパソコンを新調することになり、さきごろマイナーチェンジのあったMacBookを購入しました。新色のローズは流石に遠慮して無難にゴールドにしておきました。実は値段的にはあまり変わらないMacBook proと迷いましたが軽量さに惹かれてMacBookに決定しました。

すでに様々なレビューがなされていますので、大体のところは事前に予測した通りです。わたしなりの簡単な印象などを書いておきます。

– 電源を含めてUSB-Cコネクターひとつしか無いのはやはり不便。いくら無線LANやブルートゥースがあるとは言え、普通のUSB機器がつながらないと設定時から困ることは目に見えていますので、あらかじめUSB-Cに接続するHUBを準備しておきました。イーサネットとUSB3.0が2つ付いたもので本体に給電しながら使用できるものです。薄いケースも同時に購入しました。

MB_acc

– キーボードは問題なし。レビュー記事によっては慣れが必要と書かれていましたが、わたし的には全く問題なしです。MacBook Airを初めて使った時には、こんなに薄いのにキーストロークが感じられると驚きました。こんどのMacBookではキーストロークが殆ど無いのにタイプできるものだと驚きました。

– 小さい筐体ながら、スピーカーから出る音が良いと思います。本格的に音楽を聞くのは外部ピーカーが良いでしょうが、仕事をしながらAmazon Prime Musicを鳴らして見ようと思うくらいには鳴ってくれます。

– パフォーマンスは今のところ問題ありません。決して速くはないです。前に使っていたのはMacBook Air Mid 2011でi7搭載のものでしたので、おそらくプロセッサーの速度だけみれば(多分グラフィクスも)少し劣ると思います。メモリーアクセスやSSDは比べ物にならないくらい新しいMacBookの方が速いのでプロセッサーの速度を補ってあまる部分もあります。また古いMBAはUSB2.0でしたので、周辺機器アクセスは圧倒的に新しいMacBookの方が速いです。

– Retinaディスプレーは綺麗ではありますが、非Retianなディスプレーでもあまり困ってはいませんでしたので良さはまだ分かっていません。唯一、iPhoneエミュレータを起動した時くらいしかRetianを実感していません。

** ZeroSSLを使用した新しい記事を書きました。

更新) Android6からのアクセスに問題があったので使用する証明書の部分を更新(2016/MAY/2)

無料でSSL証明書が取得出来るLet’s Encryptで、このブログをhttps化してみました。このブログは共用サーバーであるCoreserver上にあるため、独立したサーバーで稼働している場合とは設定の方法がことなります。その辺りを簡単にまとめてみました。

まずLet’s Encryptは証明書を発行するドメイン名を実際に運用していることを確認して証明書を発行します。それを自動化すめためのスクリプトが用意されています。具体的にはドメイン名で運用さているサーバーの特定の場所にスクリプトが生成したファイルを置き、それがLet’s Encryptからhttpアクセスで正しく取得できるかどうかを確認することで認証されます。このあたりの事情を理解しておくと実際の作業が分かりやすくなります。

Coreserver上で直接、証明書を取得することは最初から諦めて、root権限を持つLinuxサーバー上で証明書を取得しCoreserverの管理画面で証明書をインストールするという方法で行いました。Windows上で証明書を取得することも可能みたいです。

証明書を取得する前提条件は、自分のドメインを持っている、DNSでドメイン名からIPアドレスが正しく取得できる、ドメイン名でアクセス出来るwebサーバーにファイルを置くことが出来ることです。

[ Client Softwareの導入 ]

Linux上でLet’s EncryptのGetting Startedページにあるようにgithubからパッケージをcloneして、./letscript-auto –helpを実行します。実行中にroot権限が必要になりますので、わたしは最初からrootになって実行しました。help画面が表示されるまでに必要なモジュールが多数導入されます。

[ 証明書の取得 ]

letscript-autoを実行するサーバーとwebサーバーが同一であればwebrootとかstandaloneというオプションで簡単に証明書が発行されます。わたしの場合はwebサーバーはcoreserver上にありますので、一手間かけねばなりません。

わたしの実行したコマンドは以下の通りです。

./letsencrypt-auto certonly --manual -d www.nkozawa.com

画面の指示に従って進めると、webサーバーの特定の場所にファイルを作るように画面に指示がでます。指定されたディレクトリ下にランダムな内容のランダムなファイル名のファイルをhttpでアクセス出来るように置きます。準備が出来たらletscript-autoの実行を進めると認証が完了し証明書が取得されます。以下のような画面が出れば成功です。

IMPORTANT NOTES:
– Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/www.nkozawa.com/fullchain.pem. Your cert will
expire on 2016-07-29. To obtain a new version of the certificate in
the future, simply run Let’s Encrypt again.
– If you like Let’s Encrypt, please consider supporting our work by:

Donating to ISRG / Let’s Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

./letsencrypt-auto certonly –manual -d www.nkozawa.com 30.49s user 1.35s system 24% cpu 2:08.81 total

メッセージにある通り /etc/letscript/live/www.nkozawa.com/ 下に必要な証明書ファイルのリンクが出来ていました。

[ Coreserverに証明書を導入する ]
一つのユーザーで複数ドメインを使用する設定になっていないる事が前提です。具体的には「SNIを使用したSSLの設定(コアサーバー)」のドメイン設定画面のようになっていればOKです。もし複数ドメインを使用しない設定で有った場合、public_httmlの内容をpublic_html/www.nkozawa.com/下に移動るなどの手順も必要です。

上のリンクにある通りに設定します。証明書に関してはプライベートキーの欄には取得したprivekey.pemの内容を貼り付けます。プライベートキーのパスワード欄は適当な文字を入れました。発行された証明書欄にはcert.pemfullchain.pemの内容を貼り付けて完了です。中間証明書は任意となっていますが、ここにchina.pemを貼り付けないとAndroid6からのアクセスが出来ませんでした。

以上でhttpsによるアクセスが可能となりました。

Letencrypt

実際の運用にあたっては問題もあります。アマゾンなどのリンクにhttp://が含まれています。これのhttp部分を無くして//だけにしないと全く表示されません。こまめに修正するかツールを作って一括変換しないといけません。

証明書の期限が短いのでLet’s Encryptでは自動更新を推奨していますが、Coreserverでは不可能ですので定期的に手動で設定しなければなりません。

そもそもhttps化したのは興味本位です。googleのページランクが上がるという噂もありますが、個人ブログでhttpsを使用する事の必要性がどの程度あるのか良く分かりません。

ということも有り、httpからhttpsへのリダイレクト等は行っていません。将来的にどうするかは、しばし考えたいと思います。

 

お断り) 一連の記事はMacBookにChrome OSもどきを導入して試したものです。本物のChromeBookとは挙動が違う可能性もあります。

SDRonChrome

以前、紹介したChromeアプリケーション Radio ReceiverですがあらためてChromeアプリケーションの例として取り上げてみたいと思います。

Chromeをブラウザーとして使用されている方はご承知のように各種の拡張機能が導入可能でGoogle もでログインするとPCが違っても同じ環境が維持されます。それはChrome OSにおいても同じです。また、拡張機能はブラウザーの機能を拡張するだけに留まらずブラウザーから独立したアプリケーションの様に動作するものもあります。Mac OS Xの場合、アプリケーションランチャーに表示されたりもします。そういったアプリケーションのおかげでChrome OSもPCライクに使用することが出来ます。

その中でもかなり特殊でマニアックなものを紹介します。

Radio ReceiverはRTL2832UというUSBで接続するチューナーを手軽に広帯域受信機としてしようするためのアプリケーションです。USB接続の特別なデバイスというと大抵はドライバーなどで苦労する物ですが、このアプリケーションは一切その心配はなく、しかもおそらくChromeが動くプラットフォームなら動作可能というのが素晴らしいです。これで手軽にFM放送だけではなく航空無線(Air Band)なども受信することが出来ます。

ChromeBookちょっと気にはなるけど、どれくらい使えるのものか分からない。Chrome下で動くアプリケーションで出来ることは想像がつくが、やはり実際に試してみたいと思っていました。それを簡単に試すことが出来る方法が以下のページで紹介されていることをFacebookでTJさんに教えてもらいました。

lifehacker – 古いノートPCをChromebookとして復活させてくれるアプリ『CloudReady』

手順については、上のページに書かれている通りで大丈夫です。必ずしもPC本体に導入する必要はありません。USBメモリーからの起動だけでも体験することは出来ます。

安い中華タブ(Onda V919)でも下の写真のようにUSB起動で動かすことが出来ました。ただしキーボードとマウスが必須なのでタブで稼働させるメリットは何も無しです。また本体の無線LANが認識出来なかったので無線LAN USBドングルも必要でした。

ChromeOnTab

わたしは未使用の古い白MacBook(Late 2007)があったのでHDDに導入しました。まだ導入したてですので活用方法についてはまだまだ未知の部分が多いです。とりあえず気づいた事柄を書いておきます。

– MacBookの無線LANアダプターは認識しないかも。MacBook Air (Mid 2011)はダメでした。わたしの白MacBook (Late 2007)は元々無線LANが故障しているためBuffaloの無線LAN USBドングル(WLI-UC-GNM)を使用しています。これは問題なく動きます。

– MacBookのトラックパッドが使える。2本指スクロールも可能です。ただしスクロール方向はデフォルトでは昔風です。設定でちゃんと今どきのスクロール方向にも変更できます。ただ古いMacBookなせいか今ひとつ反応が良くないのでマウスを使用することにしました。

– HDDに導入したものの自動的には起動できない。電源投入時にoptionキーを押してブートメニューでHDDを選択しないと行けない。MacBookにLinuxだけ入れた時と同じ。ブートローダーを弄れば何とかなりそう。Ctl+Option+Tでシェルを起動できますしrootにもなれるので何とか出来るかもです。

ChromeRoot

– Googleへのアクセスありきの環境です。中国の場合、VPNなどの設定が必須です。VPNは試していないですがOpenVPNとL2TPの設定メニューがあることを確認しています。わたしの場合は自宅内のプロキシー設定で外の世界に行けるようにしていますので、それを利用しています。

–  MacBookのキーボードに有る画面の輝度と音量ボタンも機能する。(11/21追記)

アプリケーションも沢山有って試しきれませんが、なかなか面白いものが揃っています。それらについては、また書いてみたいと思います。

予想以上にOnda V919 Air Dual BootのWindowsでの使い勝手が良いことが分かりました。最初はAndroidで動画アプリケーションを使うのがメインと考えていたのが完全に覆りました。軽い目的でのWindows使用が主な使いみちになってしまいました。

もともとはWindows8.1が導入されていました。8.1も十分に使えると思いましたが、せっかく無料で更新できることですし、少々苦労しましがWindows 10にして使用しています。

タブレットとしてWindowsを使うのも良いのですが、ばりばりとメールを書くためにブルートゥース接続のキーボードとマウスを装備。ついでに拡張ディスプレイも試しています。非力なことを分かって使っていれば全く問題なし。メールやOffice Mobileでの軽い作業を行う分には十分です。(注: Office mobileは画面サイズが10.1インチ以下なら無料使用可能だそうです)

IMG_20151112_152542046

ユーザー・ストレージはAndroid側よりも大きく20GB近く空いていました。それに加えて128GBのマイクロSDカードを使用し、ドキュメントやピクチャなど移動可能なフォルダーを割当ておきました。多分128GBは大きすぎだと思います。値段も高いですし、32GBか64GBにしておけば良かったです。

ネットワーク環境のせいかログインに少々時間がかかりますが、一度起動してしまえば後はサクサクと快適に使用できます。安いですし中華Windowsタブレットはかなりのオススメです。