ラベル Pi-Top の投稿を表示しています。 すべての投稿を表示
ラベル Pi-Top の投稿を表示しています。 すべての投稿を表示

2018年6月15日金曜日

pi-top v2を購入してStretch系列のpi-topOSで使ってみた

0. はじめに

Raspberry Piを組み込んだノートPCであるpi-topの新しいバージョンが2017年10月に発売されたのですが、なかなか買う気になれずにスルーしてきました。

pi-topに関しては2015年10月頃に発売された旧バージョンを入手し、いくつかブログ記事を書いてきました。
この旧バージョンを使った上で、ちょっとひどいなと思ったのは下記の二点です。
  • とにかくキーボードのクオリティが低すぎる。なかなか反応しないキーがありノートPCとしては使い物にならない。外付けでUSBキーボードをつなぎたくなるレベル
  • なんらかの原因でバッテリーが突然使用不能になる。私の場合、使用時にはACアダプタの接続が必須となってしまいました
キーボードのクオリティの低さについては過去にブログに記しました。バッテリーが使用不能になる件については今回初めて記しますが、ネットで検索すると、同じ問題に当たった人がかなりいらっしゃるようです。Li-Poバッテリーのように過放電すると以後バッテリーが使えなくなる、という症状に似ているように思えます。

旧バージョンでそんな体験をしていますので、決して安くはない価格でまた似たようなクオリティの製品だったら嫌だなあと思い、なかなか手を出しにくかったのです。

しかし、発売後しばらくたってもこの新バージョンが旧バージョンと比べて進化しているのかどうかなど、私が知りたい情報があまり入ってこないので、諦めて購入して自分で確かめてみることにしました。

1. 外観

そんなわけで購入したpi-top v2の外観です。

pi-top v2の外観

旧バージョンに比べると、マウスのタッチパッドの位置が一般的なノートPCと同じ位置になり、洗練された印象を与えます。サイズは一般的なノートPCと比べるとかなり大きく持ち運びには向かないのですが、これは旧バージョンからそうですので割り切るしかないでしょう(ちなみにサイズは34.5x22x4cm、重さは1.5kg)。

なお、OSは公式サイトからStretch系列のpi-topOSをダウンロードして用いました。付属のOSインストール済SDカードには、古いJessie 系列のpi-topOSが入っていたためです。
なお、付属のSDカードはSanDisk Ultra 8GBでしたが、このSDカードは動作中に瞬間的に動作が固まる現象(プチフリ)が多いように思われますので、別のSDカードを用意した方が良いと思います。

Stretch系列でもいつも通り、起動時にスプラッシュスクリーン動画が流れ、Dashboardというアプリケーションが自動起動するのですが、これを無効にするには、下記の2コマンドをターミナルで実行すればOKです。
sudo systemctl disable pt-splashscreen.service
sudo systemctl disable pt-os-dashboard.service
さらに、ターミナルソフトウェアが最大化して開くのを抑制したければ、「Raspberry PiをノートPC化するPi-Topにユーザーpiでログインしてみた」の設定を参考に.config/openbox/lxde-pi-rc.xmlを編集してください。

組み立て時の写真は撮っていませんが、基本的にはRaspberry Piを組み込むだけですので、旧バージョンより組み立ての難易度は低めです。ただし、はめ込みのかみ合わせが合いにくかったり、ねじ穴の位置が微妙にずれていてねじが締めにくかったりなどの問題があり、慎重な作業が必要になりますので、小さな子供に任せられる作業ではないと思います。

2. キーボード

さて、問題のキーボードですが、結論から言えば旧バージョンのpi-topのものに比べると、大幅にクオリティアップしています。

pi-top v2のキーボード

pi-top v2内蔵のキーボードとマウスだけで作業をしても、まったく苦にならないレベルです。
何を当たり前のことを、と思うかもしれませんが、旧バージョンは普通の作業を内蔵キーボードとマウスで行うだけでもストレスを感じる作業だったのです。

ただし気になる点もいくつかあり、例えば図からもわかるように、
  • 左Shiftキーが小さく、その右隣に<、>キーがある
  • Enterキーの右隣にHome、Endキーなどがある
などの問題が挙げられます。これらは慣れないと何度もミスタイプします。不満と言えば不満ですが、この程度の特殊な配置のキーボードはノートPCにはよくあるので、まあ許容範囲かな?

3. キーボードをスライドさせる

pi-top v2の目玉の一つはキーボードをスライドさせてGPIOにアクセスできることでしょう。

緑色のプラスチックに触って下図のようにスライドさせると、素材のおもちゃっぽさを感じずにはいられないものの、仕組み自体はなかなかよくできていることがわかります。

pi-top v2のキーボードをスライドさせた様子

スライドにより、図のようにRaspberry PiおよびHUB2.0というメイン基板が露出されます。その横にさらにブレッドボードが見えますが、これはpi-topPROTO+という電子工作用のモジュールで、今回これが標準搭載されています。

旧バージョンのときはpi-topPROTOは別売りで、さらにpi-top本体の発売後しばらく入手可能にならないという問題がありましたので、今回これが標準搭載されたのは良い点だと思います。

旧バージョンのpi-topでのpi-topPROTO

なお、このpi-topPROTO+からRaspberry Piの全てのGPIOにアクセスできるのですが、今回そのピンがArduinoなどと同じメスピンになっているのですね。

個人的には、Raspberry Pi本体と同じくオスピンの方が混乱が少なくて良いと思うのですが、メスピンの方がショートのリスクが小さい、などと配慮した結果なのかもしれません。

ただまあ、そもそもHUB2.0のすぐ隣で電子工作をするというのはかなりリスクが高いですよね。手がすべってHUBを壊してしまったらそれでpi-topが使えなくなってしまいますから。

なお、キーボードをスライドさせると、Raspberry Pi本体に取り付けたSDカードが見えるようになりますが、これを手で取り外すのは困難です。

そのため、SDカード取り外し用の器具が添付されており、下図のようにSDカードをひっかけて引き抜けるようになっています。

SDカード取り外し用の器具の使い方

世の中には、Raspberry Pi本体からSDカードを取り出すことを全く考慮していない商品もありますので(例えば公式のディスプレイケース)、このような対処法が用意されているのは好ましいことだと思います(必ずしもスマートな方法ではないとは言え)。

4. 各種端子へのアクセス

USB端子2つ、LAN端子、およびイヤフォンジャックへは下図のように背面からアクセスできるようになっています。

USB端子2つ、LAN端子、およびイヤフォンジャック

旧バージョンでは、これらの端子へのアクセスが悪く、下記のようにUSBハブやヘッドフォン用の延長ケーブルを用いるなどの工夫が必要でした。LAN端子に至っては本体に固定するためのねじを取り外せばなんとか使えるかも?というレベルでした。

旧バージョンのpi-topでのUSB端子とイヤフォンジャックの利用

このように、これらの端子へのアクセスは旧バージョンから比べるとかなり進歩したところです。

ただし、残念な点もあります。下図のように公式カメラモジュールを接続する端子が銀色のカバーに塞がれており、実質公式カメラモジュールが使えなくなっているのです。銀色のカバーは、GPIOとHUB2.0との接続や、CPUのヒートシンクの役割をしているものです。

銀色のカバーを取り付ける前にあらかじめ公式カメラモジュールを取り付けておけば恐らく使えるでしょうが、銀色のカバーは頻繁に取り外すものではないので、公式カメラモジュールの使用を諦める方が多いのではないでしょうか。これは、非常に詰めが甘いと感じた点です。

公式カメラモジュールを接続する端子がふさがれている

5. バッテリー

バッテリーについては、今後使用していく上でどうなるか検証していきたいと思います(個人的にはあまり期待していませんが…)。

恐らく、「過充電、過放電しないよう気をつける」という方針で使うことになりますので、すぐ利用不能になることはないのではないでしょうか。

6. まとめ

そんなわけで、旧バージョンのpi-topを体験した方ならば、その欠点の多くがpi-top v2で解消されていることに驚くのではないかと思います。2015年当時からこのクオリティで出ていれば…と思いますが、ものづくりはそんなに甘くないということなのでしょう。

なお、この出来の良さだけに、公式カメラモジュールが使えないという詰めの甘さは残念なところです。

さて、ここまでpi-top v2について比較的高めの評価を与えてきましたが、これはあくまで旧バージョンのpi-topと比較してのことです。

Windows PCの代替にしようとか、子供にはじめて与えるPCにしようとか、という用途に用いるのは慎重になった方が良いと思います。大手メーカーの製品のように「正常動作し、なおかつ保証があって当然」というものではありませんので。
(そもそも英語キーボードの時点で、人を選ぶ商品ではあります)



「ラズパイ4対応 カラー図解 最新 Raspberry Piで学ぶ電子工作」、「実例で学ぶRaspberry Pi電子工作」、「Raspberry Piではじめる機械学習」を執筆しました。

2016年2月9日火曜日

JessieにアップデートされたPi-Top OSを試してみた

はじめに

(注)こちらのページは、2015年に発売されたpi-topの旧バージョンについての記事です。2017年に発売された新バージョンについての記事はこちらになります。

Raspberry PiをノートPC化するPi-Topについては、これまで以下の3つのエントリで紹介してきました。
このPi-Topには、Raspbianにアプリケーションをいくつか追加したPi-Top OSというOSがバンドルされており、Pi-Top OSを用いることで
  • バッテリーの残量を知ることができる、
  • ディスプレイの輝度やボリュームなどをキーボードで変更できる
という恩恵を得られます。しかしその半面、
  • ログイン時にPi-Topの公式サイトで登録したIDをネットワーク越しに入力しなければならない
という欠点がありました。つまり、インターネットにアクセスできない環境ではログインすらできなかったわけです。

上記の3つめのエントリ「Raspberry PiをノートPC化するPi-Topにユーザーpiでログインしてみた」ではネットワークログインを無効化する方法を解説しており、個人的にはそこまで実行して初めてPi-Topを使う気になったのでした。

今回、Pi-Topチームから、Pi-Top OSのアップデートのお知らせが届きました。これまでWheezyベースだったのに対し、今回からJessieベースになったとのことで、早速試してみました。下の図は、インストール後、前回同様「Raspbian風に使う」設定を施した後の状態です。以下で解説していきます。


インストール

インストールは、これまでのOSのアップデートではなく、新しいmicroSDカードに新規にインストールする必要があります。8GBのmicroSDカードが必要ですが、運が悪いと16GBのものが必要かもしれません。

まず、Pi-Topチームからのメールに従うと、pi-topOS.zipという約2.5GBのファイルがダウンロードされます(リンクは貼らないでおきます)。

このzipファイルを解凍すると、8GBのpi-topOS-jessie.imgが現れます。すなわち、ディスクに2.5GB+8GBの空きがないとzipファイルの展開が行えませんので注意が必要です。このイメージは、8GBのmicroSDカードのイメージを吸い出しただけですね。

あとはこのイメージを新しいmicroSDカードに書き込みます。Windowsの場合、個人的にはWin32 Disk Imagerというアプリケーションを使っています。Raspberry Pi公式ページにWin32 Disk Imagerを用いたインストール法の解説があります。microSDカードを指すドライブの指定を間違うとPCの環境を破壊してしまうので注意しましょう。

8GBを書き込むのでそれなりに時間がかかります。この時、無事書き込みが完了すれば問題ないのですが、microSDカードの個体差が原因でサイズが足りずにエラーが出る場合があるかもしれません。そういった場合、16GBのmicroSDカードならば書き込みは成功するでしょう。

起動、ログイン、そしてRaspbian風に使う設定

(2017年2月リリースのpi-topOS Polarisの場合)

イメージ書き込みが完了したら、microSDカードをPi-TopのRaspberry Piにさし、電源を投入します。これまで通り、Pi-Top購入時と同様のスプラッシュスクリーン動画が見られます。 しかしこのリリースでは、起動時にpi-topサイトでのログインが求められません。これによりかなり使いやすくなっています。

しかし、それなりの時間待たされるスプラッシュスクリーンは相変わらずありますし、起動されるパネルも個人的には不要なものです。これらを無効にしてみます。 まずLXTerminalを起動し、下記のコマンドを実行します。
$ leafpad .config/lxsession/LXDE-pi/autostart
.config/lxsession/LXDE-pi/autostartというファイルをテキストエディタで編集します(使うエディタはお好みで)。下記のような内容が見られるはずです。
@pt-os-dashboard
@pt-display
@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@/opt/pt-hub-controller/restartXscreensaver
@screen-daemon
@point-rpi
@pt-speaker
ここで、電源投入時に起動されるアプリケーションを起動しているのですが、いくつかを無効にしてみましょう。下記の通りに編集します。
#@pt-os-dashboard
#@pt-display
@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
#@xscreensaver -no-splash
#@/opt/pt-hub-controller/restartXscreensaver
@xset s on s 60
@screen-daemon
@point-rpi
@pt-speaker
1、2、5、6行目の先頭に半角で「#」を記述し、6行目の次の行に「@xset s on s 60」を記述しています。 これは「60秒で画面をブランクにする」というスクリーンセーバーの機能をしています。

 次に、スプラッシュスクリーン動画を無効にします。ターミナル上で下記のコマンドを実行しましょう。次回起動時よりスプラッシュスクリーン動画が無効となります。
$ sudo systemctl disable pt-splashscreen.service

pi-topOS のこのバージョンには日本語フォントが含まれますが、見栄えがあまり良くありませんので、ターミナルを起動して下記のようにフォントを追加すると良いでしょう。 インストール後は再起動するとフォントが変わります。
$ sudo apt-get update
$ sudo apt-get install fonts-vlgothic

あとは、
  • ホスト名:pi-top(avahiを使ってpi-top.localでアクセスできる)
  • ユーザー名:pi
  • デフォルトパスワード:pi-top
  • バッテリー残量を知るためのコマンド:pt-battery
であることを知っておくと良いでしょう。

さらに、LXTerminalが最大化されて表示されるのを無効にしたり、デスクトップをRaspbian風にする設定は「Raspberry PiをノートPC化するPi-Topにユーザーpiでログインしてみた」を参考にしてください。

なお、このバージョンのpi-topOSのカーネルは「4.4.38-v7+」でした。2017/2/27にリリースされたNOOBS 2.2.0(4.4.48-v7+)より少し前のものですね。

起動、ログイン、そしてRaspbian風に使う設定

(2016年2月リリースのものの場合)

ここから先は2016年2月リリースの古いバージョンの話です。 イメージ書き込みが完了したら、microSDカードをPi-TopのRaspberry Piにさし、電源を投入します。Pi-Top購入時と同様のスプラッシュスクリーン動画→ログイン画面が見られるはずです。

そのままPi-Top OSのデフォルト状態で使うならばこれで作業は終わりです。

個人的にはPi-Top OSを通常のRaspbianのように使いたかったので、以下のように作業しました。

まず、ログイン画面でネットワークに接続し、Pi-TopのIDで一回だけログインします。そして、LXTerminalを起動し、下記のコマンドを実行します。
$ sudo leafpad /etc/xdg/lxsession/LXDE-pi/autostart
/etc/xdg/lxsession/LXDE-pi/autostartというファイルを管理者権限のテキストエディタで編集します(使うエディタはお好みで)。下記のような内容が見られるはずです。
@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@omxplayer /opt/pt-splashscreen/splash.mp4
@sudo pt-hub-controller > /dev/null &
@pt-dashboard
このうち、4行目と6行目の先頭に「#」を付加して無効化します。すなわち、下記の通りです。
@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
#@omxplayer /opt/pt-splashscreen/splash.mp4
@sudo pt-hub-controller > /dev/null &
#@pt-dashboard
そして再起動すれば、ログインIDを求められることなく、デスクトップが開きます。通常のRaspbianと同様の挙動です。

あとは「Raspberry PiをノートPC化するPi-Topにユーザーpiでログインしてみた」と同様にRaspbian風にする設定をしても良いでしょう。

なお、新しいPi-Top OSはJessieベースですので、新しい設定アプリケーション(Menu→Preferences→Raspberry Pi Configuration)が使えます。

ただし、pi-topOSのこのバージョンには日本語フォントが含まれていませんので、そのまま日本語化するとメニュー等の文字が全て文字化けします。そのため、例えば下記のコマンドで日本語フォントをインストールしてから日本語化の設定を行うと良いでしょう。
$ sudo apt-get update
$ sudo apt-get install fonts-vlgothic
あともう一点、Wheezy版にはバッテリーの残量を知るためのコマンド「battery」があったのですが、Jessie版にはなくなっています。これはI2Cアクセスしてバッテリー残量を知るためのシェルスクリプトでした。移植は簡単で、Wheezy版の/usr/local/bin/batteryをコピーしてきてJessie版の同じ場所に配置すればそのまま使えます。

カーネルのバージョンは4.1.17-v7+でした。2月3日にリリースされた新しいRaspbianと同じですね。

あと、JessieではChromiumブラウザがインストールできなくなったのですが、上の図にあるようにChromium 45.0.2454.85というバージョンがプリインストールされています。どうも「Guide: Chromium 45 on Raspbian Jessie」というページで紹介されている方法でインストールしたもののようですね。

終わりに

Pi-Top OS自体は、あまり高く評価できるものではないと個人的には思ってますが、腐れ縁という感じで使い続けています。

こちらもどうぞ




「ラズパイ4対応 カラー図解 最新 Raspberry Piで学ぶ電子工作」、「実例で学ぶRaspberry Pi電子工作」、「Raspberry Piではじめる機械学習」を執筆しました。

2015年11月30日月曜日

Raspberry PiをノートPC化するPi-Topにユーザーpiでログインしてみた

はじめに

(注)こちらのページは、2015年に発売されたpi-topの旧バージョンについての記事です。2017年に発売された新バージョンについての記事はこちらになります。

「Raspberry PiをノートPC化するPi-Topが届いた」にて、Pi-Topに触って見ましたが、Pi-Top OSと呼ばれるOSを用いており、ログイン時にPi-Topサイトのアカウントでログインしなければならないことが不満でした。その主な理由は下記の通りです。
  • ログインした後は普通のユーザーpiなので、Pi-Topアカウントでログインする必然性がないこと(CEED universeというものと連携させたいのでしょうが)
  • ログイン時にインターネットに接続していなければならないこと
  • ログイン時に相手側サーバーがダウンしていたらログインできないこと
  • インターネット接続にProxy接続は許されないこと
そのようなわけで、通常のRaspbianのようにユーザーpiでログインできるようにしてみます。さらに、このPi-Top OSを通常のRaspbianに近い外観で使用できるようにもしてみましょう。

グラフィカルログイン方式、およびコンソールにログインしてstartxコマンドでXを起動する方式の両方でできました。


手順

LXterminalを起動し、.xinitrcを無効にします。
$ mv .xinitrc .xinitrc.bak
さらに、X起動時に自動でdashboardというアプリケーションが起動してしまうのを以下で抑制します。
$ mv .config/lxsession/LXDE-pi/autostart .config/lxsession/LXDE-pi/autostart.bak
最後に、下記のコマンドでスプラッシュスクリーンを無効にしましょう。後で解説しますが、これは45秒間の動画を流しているだけです。
$ sudo mv /etc/rcS.d/S01nasplashscreen /etc/rcS.d/K01nasplashscreen
あとは再起動すれば、ユーザーpiのデスクトップで起動すると思います。

バッテリー残量表示のアイコンがありませんが、以下のコマンドで残量が表示できるのでそれほど問題にはならないかなと思います。
$ battery
コンソールログインが良いという方は次の作業も行なってください。なお、このページの末尾にはこのPi-Top OSを普通のRaspbian風に用いる方法も記していますので、必要に応じて最後までご覧ください。

コンソールログインしたい場合

コンソールにログインしたいという方は、下記に従います。

まず、ユーザーpiのパスワードを念のため確認しておきましょう。 Pi-Top OSにログインし、LXTerminalを起動して、
$ su - pi
というコマンドによりユーザーpiにログインしてみてください。パスワードは「raspberry」ではなく「pi-top」であると思います。そのことを確認できたら次に進みましょう。

再びLXTerminalを起動して下記のコマンドを実行します。
sudo raspi-config
そこで「3 Enable Boot To Desktop/Scrach」→「Console Text console, requiring login (default)」を選択して再起動しましょう。これでコンソールへログインする形式になります。

このとき、ユーザーのIDとパスワードは先ほど確かめた通り、
  • ID: pi
  • パスワード: pi-top
です。

ログイン完了時に
Cannot open display "default display"
というエラーがでますが、これは気にしないことにします。多分.bash_profile内に書かれたコマンドのせいだと思うのですが、これを消すと別のエラーが出るためです。 あとは必要に応じてstartxコマンドでXを起動してください。

何をしたのか?

上の設定で何をしたのかですが、基本的には「ユーザーpiのログイン時にdashboardというアプリケーションが起動されるのを抑制した」だけです。

dashboardを通常通り起動すると、「ユーザーpiのデスクトップが起動→dashboardというアプリケーション(Pi-Top OSのログイン画面)が起動」という流れが見えてしまうので、Pi-Top OSでは45秒間の動画(/home/pi/.pi-top/media/splash.mp4)を流してそれを隠している、というわけです。しかし、45秒間待たされるというのはユーザーにとってはメリットは何もないわけで、ちょっとお粗末だなと思います。

通常のRaspbianのように使ってみる

以下、このPi-Top OSを通常のRaspbian風にする設定を列挙します。

LXTerminalが最大化されて起動されるのを防ぐ

.config/openbox/lxde-pi-rc.xmlをleafpadなどのテキストエディタで開き、下記の部分を見つけます。
  <application name="lxterminal">
    <maximized>yes</maximized>
  </application>
この「yes」の部分を「no」に変更してからXを再起動すると、LXTerminalが最大化された状態で開くのを抑制することができます。なお、leafpadも最大化されてい開くかもしれませんが、こちらは、一度小さくしてから終了するとそのサイズが保存されます。

パネルの位置を上に

パネル上で右クリックして「パネルの設定」を開き、「ジオメトリ」→「位置」→「端」→「上」

タスクバーのアイコンに文字を出す

タスクバー上で右クリックして「タスクバー(ウインドウのリスト)Settings」→「アイコンのみ」のチェックを外す

メニューボタンのアイコンをRaspbianのものに

メニューボタン上で右クリックして「メニューSettings」→「アイコン」を/usr/share/raspberrypi-artwork/raspitr.pngに

壁紙をRaspbianのものに

壁紙上で右クリックして「デスクトップの設定」→「外観」で「壁紙のモード」を「原寸大のまま中央に配置する」に、「壁紙」を/usr/share/raspberrypi-artwork/raspberry-pi-logo-small.pngに、「背景色」を赤214、緑211、青222に。

以上で、Pi-Top OSが通常のRaspbianにこの程度近づきました。


こちらもどうぞ




「ラズパイ4対応 カラー図解 最新 Raspberry Piで学ぶ電子工作」、「実例で学ぶRaspberry Pi電子工作」、「Raspberry Piではじめる機械学習」を執筆しました。

2015年11月27日金曜日

Raspberry PiをノートPC化するPi-Topで電子工作(LチカとI2C通信)してみた

はじめに

(注)こちらのページは、2015年に発売されたpi-topの旧バージョンについての記事です。2017年に発売された新バージョンについての記事はこちらになります。

前回のエントリ
にて、Pi-TopではRaspberry PiのGPIOが全てふさがれている、と述べました。そのままではRaspberry Piの特徴の一つである電子工作との親和性の高さが失われてしまいます。

ただし、内部の左側にあるHubという基板にはGPIOから引き出されたと思われるメスピンがあり、その仕様がわかれば電子工作ができると思われました。

その仕様はいずれ公式に発表されるだろうと考えて放置していましたが、どうにも公開される雰囲気がないので、テスターを用いて自分でピン配置を調べ、実際に簡単な電子工作を行なってみました。

下図は定番のLチカを行なっている様子です。


ピン配置

※注:ここから先の情報を試す場合、操作を誤るとPi-Topが破壊される恐れがありますので、全て自己責任でお願いします。

まず、下図のようにfront/back/upper/lowerを定義します。



そうしたとき、Pi-TopのHub基板のピン配置は以下のようになっていました。各GPIOとGNDはRaspberry Piと直結されています。

3.3V/5V/16Vのピンは、Pi-Topの電源やバッテリー側から供給されています。どれくらいの電流を流すことができるかわかりませんので、あまり負荷をかけないほうがよいでしょう。


Raspberry PiのGPIOのピン配置と注意深く比較すると、全てのピンが引き出されていることがわかります。重複しているGNDは一つのみ引き出されています。

注意点を以下に述べます。
  • SPIに関わるピンは既にPi-Topに使われています。具体的には、.pi-top/sys/hub-controller.pyというPythonスクリプト内で、HUBとの通信(スクリーンの明るさ制御、シャットダウンボタンの命令受信)に使われています。動作検証の際、SPI CE1 (GPIO 7)でLチカしてみたところ、Pi-Topが強制的に再起動され、冷や汗をかきました
  • 試していませんが、UART RXD/TXDのピンはシリアルコンソール用に使われているはずです
  • ID_SDとID_SCはRaspberry Piにもあるピンですが、使ったことはありません
  • I2Cのピンは、下図のように0x0bのアドレスを持つPi-Top Hub基板上のデバイスによってバッテリー状態の取得に使われています。具体的には、/usr/local/bin/batteryというシェルスクリプトがそれを実行します。ただし、I2Cは複数のデバイスを接続できるので、問題にはなりません


そのようなわけで、SPIとUARTのピンを使わなければ一般的な電子工作は行なえそうです。

Lチカ

まずは定番のLチカから試してみます。 冒頭のLチカの図を再掲します。上のピン配置でGPIO番号を持っているピンのうち、UART/SPI/I2Cに関わるピン以外の全てでLチカができることを確認しました。下図はGNDピンとGPIO 4を使っています。


用いた回路とプログラムは「Raspberry Piで学ぶ電子工作」の4章で紹介したものを流用しています。

まず、回路はこちら。

そしてプログラムがこちら。
import RPi.GPIO as GPIO
from time import sleep

LED = 4
GPIO.setmode(GPIO.BCM)
GPIO.setup(LED, GPIO.OUT)

try:
    while True:
        GPIO.output(LED, GPIO.HIGH)
        sleep(0.5)
        GPIO.output(LED, GPIO.LOW)
        sleep(0.5)

except KeyboardInterrupt:
    pass

GPIO.cleanup()
これをled.pyという名前で保存した場合、ターミナルで下記のコマンドにより実行できます。
sudo python led.py

I2C通信によるLCDの利用

次に、I2C通信によりLCDに文字を表示してみました。下図のようになります。3.3V/GND/I2C SDA/I2C SCLの4ピンを使っています。


LCDをより大きく撮影した様子がこちら。


これは、「Raspberry Piで学ぶ電子工作」の7章で紹介したプログラムを以下のコマンドで実行した様子です。詳細は書籍をご参照ください。
sudo python 07-02-LCD.py 'Hello,  Pi-Top!'

おわりに

そのようなわけで、SPI通信以外のピンは通常のRaspberry Piと同様に利用できることがわかりました。

なお、本エントリを記述した後にRaspberry Piのピン配置を復活させるためのpi-topPROTOという商品が発売されたので、これを購入すると、実は本ページの内容は不要だったりします。下図は、pi-topPROTOとpi-topSPEAKERを接続した様子です。


では、このPi-Topは電子工作に向いているかというと、「ちょっと怖い」というのが正直なところです。

例えば、手がすべるなどしてジャンパーワイヤをPi-TopのHub基板に落としてしまうと、なんらかのショートがおこり基板を壊してしまうことがあり得ます。写真を見ていただくとわかりますが、いかにも何かを落としてしまいそうな位置に基板があるのです。

壊れたのがRaspberry Piならば交換できますが、Pi-TopのHub基板となると交換はちょっと厄介そうです。決して安いものではありませんので。

そういう意味では、Raspberry Pi公式タッチディスプレイの方が、壊しにくい位置に基板があるという点で電子工作向きかな、と思います。あるいは、Pi-Topに続き資金調達に成功したpi-topCEEDでも良いかもしれません。

こちらもどうぞ




「ラズパイ4対応 カラー図解 最新 Raspberry Piで学ぶ電子工作」、「実例で学ぶRaspberry Pi電子工作」、「Raspberry Piではじめる機械学習」を執筆しました。

2015年11月5日木曜日

Raspberry PiをノートPC化するPi-Topが届いた

はじめに

(注)こちらのページは、2015年に発売されたpi-topの旧バージョンについての記事です。2017年に発売された新バージョンについての記事はこちらになります。

2014年10月頃、Raspberry PiをノートPC化するPi-Topがクラウドファンディングで資金を調達するというので話題となりました(参考:Techcrunch)。

その後、資金調達に成功し、2015年2月頃には一般向けに販売を開始しました(参考:fabcross)。

当時は2015年5月頃の発送を予定していたようですが、延期が重なり、2015年11月に実際に送られて来ましたので組み立てて使ってみました。

こちらが通常のRaspbianが動作している様子です。

価格

価格は下記の通りです。

  • Raspberry Pi 2 込みで299.99ドル
  • Raspberry Pi 2 なしで264.99ドル

さらに、日本までの送料が85ドルかかります。価格が高すぎるということはクラウドファンディング時から言われていましたね。
(追記:さらにFedExから関税として3,500円の請求がありました)

なお、Raspberry Pi 2は筐体の中に固定され、取り外しも面倒なので、Pi-Top専用のRaspberry Pi 2を用意するのが無難だと思います。私はPi 2込みのものを注文しました。

開封から組み立てまで

箱がこちら。結構大きいです。


箱を開けた瞬間、緑の天板が目につき、その予想外の大きさに圧倒されました。内容物は何段かにわかれて収納されています。


組み立てに必要なパーツを全て取り出したのが下図です。緑色のUSBのドングルはWifiデバイスですが、技適は通っていないと思われるので、お手持ちのものを利用するのが良いと思います。

また、Pi-Top OSと呼ばれる独自OSが入ったmicroSDも付属します。後述するように、通常のRaspbianでも制限はありますが動作します。

なお、短くて柔らかいHDMIケーブルが付属するのですが(下図で上から3番目のケーブル)、これ単体で売って欲しいと思いました。


組立自体は説明書の通りに行えば難しくないのですが、細いケーブルを取り扱う部分があるので、注意は必要です。

なお、下図のStep 3-3はスクリューを付属の六角レンチで回すのですが、どこかにねじ込んでいるわけでもなく、意味があるのか疑問でした。


また、Step 8-5でキーボードをBall Head Screwsにはめ込むのですが、ここでキーボードの下に来るケーブルをうまくまとめないと、キーボードが上に盛り上がって非常に不格好になります。

それを直すためにキーボードをBall Head Screwsから外すのはそこそこ大変なので、ここは組立中で最もストレスを感じました。

なお、このキーボードの盛り上がりを完全になくすのは難しいのでは?という気がしています。組み立てた方ならわかると思いますが、本ページのPi-Topの写真は、キーボードの中央部が若干盛り上がっています。


起動

組み立て終わったら、付属のPi-Top OSの入ったmicroSDで起動してみます。


起動画面の後、ログイン画面になるのですが、ここでできるのは、下記の通りです。
  • Wifiのセットアップ(Viewでパスワード入力可)
  • ネットワークログイン(Pi-Topサイトのアカウントでログインできるらしい)
  • ユーザーの作成
  • ゲストアカウントでのログイン(Read Onlyで、設定ファイル等変更できない)
Pi-Topサイトのアカウントでログインできるようなのですが、実際にログインしようとすると、下図のように「logging in」の状態のまま先に進みません。

なお、ネットワークに接続していない状態では、Read Onlyなゲストアカウントでの作業になりますので、実用的ではありません。Raspbian wheezyベースであることはわかるのですが、いつものユーザーpiでのログインはできませんでした。


色々試行錯誤した結果、以下の方法でPi-Topサイトのアカウントでログインできるようになりました。あらかじめPi-Topサイトのアカウントを持っていることが条件です。
  • まず、Wifiに接続します。Viewボタンをクリックするとパスワードを入力できたと思います
  • 右下の設定アイコンをクリックし、Create Accountにより、アカウントを作成します。その際、ユーザーネーム、パスワード、メールアドレスは適当に設定します(このアカウントは最終的には使われなくなります)
  • すると一時的にログインできますが、そのまま再起動すると、またログインできなくなってしまいますので、再起動はしないようにしましょう
  • そこで、ターミナルを起動し、下記のコマンドを実行し、OSを更新します
  • curl -sL https://www.pi-top.com/download/patch1 | sudo bash -
  • コマンドを実行すると、自動的にログアウトされ、もう一度ログインを求められます。この段階で、Pi-Topのアカウントでログインできるようになっています
ログインしてみるとわかるのですが、Pi-Topのアカウントは認証に使われるだけで、ログインすると普通のRaspbianと同様、ユーザーpiなのですね。ですので、OS更新前に一時的に作成したアカウントのデスクトップがそのまま引き継がれていたりします。

それなら最初からユーザーpiでログインさせてくれれば良いのに、と思いました。

そこで、実際にユーザーpiでログインできるよう設定した結果をこちらのエントリにまとめました→「Raspberry PiをノートPC化するPi-Topにユーザーpiでログインしてみた」。Pi-Top OSを普通のRaspbianに近い状態で使う方法も記しております。

なお、このPi-Top OSを用いるメリットは下記の通りです。
  • バッテリーの残量がわかる
  • キーボードでディスプレイ輝度を調節できる
  • 電源ボタンの長押しでシャットダウンコマンドが実行された後に電源が切れる

通常のRaspbianで使うには?

Pi-Top OSが付属するからといって、通常のRaspbianで使えないわけではありません。以下、Pi-Topを通常のRaspbianで使う際の注意を記していきます。NOOBS 1.4.1 (wheezy)とNOOBS 1.4.2 (jessie)で試しました。

まず、デフォルトでは画面端に黒い帯が現れて画面の広さが狭くなってしまいます。Overscanの設定をDisableに設定すると改善することができます。以前からあるraspi-configを用いる場合は「8 Advanced Options」→「A1 Overscan」から、NOOBS 1.4.2 (Jessie)からの新設定アプリケーションでは「System→Overscan」からDisableに設定できます。

なお、通常のRaspbianを用いると、
  • バッテリーの残量がわからない
  • キーボードでディスプレイ輝度を調節できない
  • 電源ボタンを長押しするといきなり電源が落ちる
という問題があります。Pi-Top OSからこれらの機能を移植することも可能でしょうが、どちらかというと、Pi-Top OSをRaspbian風にするほうが簡単かもしれません。「Raspberry PiをノートPC化するPi-Topにユーザーpiでログインしてみた」にその方法を記しております。

なお、通常のRaspianを終了するときは
  • 「sudo poweroff」を実行→シャットダウンプロセスが終わったら電源ボタン長押し
として電源を切るのが良さそうです。

感想など

Raspberry PiをノートPC風に使うということに関し、以前「Lapdock for Motorola Atrixを使ってRaspberry Pi 2をモバイルPCにしてみた」というエントリを書きました。その方法に比べると余計なケーブルが必要なく、とてもシンプルなのは良いと思います。

ただ、気になる点もいくつかあります。

まず、サイズがおよそ340mm×210mm×47mm (最厚部)程度と大きく、実際に目にするとかなりの迫力です。

また、キーボードのクオリティがやや低いです。押しても反応しにくいキーがあり、私の場合、「k」キーを押した際に 7/10 くらいの確率でしか入力されませんでした。まあこれは慣れである程度はカバーできるだろうとは思います。


また、下図のようにRaspberry Piの40ピンのGPIOが全て塞がってしまうのが気になります。下図の左側の基板から、34ピンだけ引き出せそうなのですが、現時点ではその仕様が公式には公開されていないようです。この点はかなり気になったので自分で調べてみました。結果を以下のエントリにまとめました→「Raspberry PiをノートPC化するPi-Topで電子工作(LチカとI2C通信)してみた」。


個人的には、Pi-Top OSと名乗って、ログイン法を通常のRaspbianから大きく変えてしまったのは残念でした。通常のRaspbianにボード制御用アプリケーションを追加インストールする形式で十分だったように思います。

とは言え、触っていくほど愛着の湧く面白いおもちゃであるとも思います。やや高価な価格に納得できる方なら試してみても良いでしょう。

なお、Pi-Topからキーボード、タッチパッドを取り除いた、pi-topCEEDと呼ばれるものも資金調達に成功しており、こちらは送料等を除いて99ドルとお得になっています。今ならこちらの方が良いかもしれませんね。

追記(2016.1.14)

…と、2015年11月に上記のエントリを書いたのですが、実際のところ、私のPi-Topはほとんど使われることなく積まれた状態でした。何が問題かというと、やはりキーボードの性能が低すぎるのが致命的です。

ブラウジングメインで用いるためのパワーが足りないのはRapsberry Pi 2の現状での限界なので仕方ありませんが、サーバーにリモートで接続するための端末として用いようとしても、Ctrlキーの押下が認識されたりされなかったりでは使い物になりません。

どうにかならないかと考え、ロジクールのワイヤレスキーボード&マウスであるMK240を購入したところ、Pi-Topが非常に快適に使えるようになりました。キーボードの足を起こしてPi-Topに載せると、Pi-Topのキーボードに干渉しないので良い感じです。唯一の不満はキーボードに電源スイッチがないことですが、まあこれはしょうがないかな。

そのようなわけで、今度こそPi-Topを使ってみようと思います。


こちらもどうぞ





「ラズパイ4対応 カラー図解 最新 Raspberry Piで学ぶ電子工作」、「実例で学ぶRaspberry Pi電子工作」、「Raspberry Piではじめる機械学習」を執筆しました。