早速到着したRaspberry Pi 2にRaspbianのイメージを書き込んで起動、適当に設定・アップデートした後、ChromiumブラウザとiBus-Anthyをインストールしてみました。
結果、速度は普通に十分使い物になりそうです。また、いまこの記事もRaspberry Pi 2から書いているのですがWordPressでの日本語記事の投稿も問題なさそうな感じです。
これまでのRaspberry Piではとてもまともにブラウザを使う気にならなかったことを考えると大変な進化だと思います。
趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。
早速到着したRaspberry Pi 2にRaspbianのイメージを書き込んで起動、適当に設定・アップデートした後、ChromiumブラウザとiBus-Anthyをインストールしてみました。
結果、速度は普通に十分使い物になりそうです。また、いまこの記事もRaspberry Pi 2から書いているのですがWordPressでの日本語記事の投稿も問題なさそうな感じです。
これまでのRaspberry Piではとてもまともにブラウザを使う気にならなかったことを考えると大変な進化だと思います。
昨日の記事で久しぶりにPIC18F14K50でシリアルエミュレータを作ってみた記事をアップしましたが、その中で「PIC16F1459」というチップが出てきます。
このチップをちょっとググってみたら、
ということがわかりました。
でも、外付け部品をほとんどつけることなくUSBシリアルが実現できるというのはなかなか魅力的かもしれません。
久しぶりに秋月PIC18F14K50ボードをターゲットとしてUSBシリアルエミュレータを作成する必要がでてきたので、環境構築しました。
今回はUbuntu14.04 LTS 日本語Remix 32bit版を使いました。
例によってUSBデバイスにインストールしました。
ダウンロードしてzipファイルを展開します。
実行属性をつけた後、sudo suでrootになって、ファイルを実行すればインストールできます。。
CコンパイラはXC8を使います。インストール方法はMPLAB-Xと概ね同じです。
前回はC18コンパイラを使ったのですが、すでにダウンロードできなくなっています。(後述の通り、XC8でもUSBシリアルエミュレータが動くようになっています)
CDCを使いたいのでライブラリを使います。2013年12月20日版以降のものはMPLAB-X IDE向けのもののみ対応とのことです。
やっぱりrootじゃないとインストールできないのですが、インストールは
/root/microchip
の下にされてしまいます。そのままだと一般ユーザーだとアクセスできませんので、
$ sudo su
# cp -rp microchip ~ユーザー名/.
として自分のホームディレクトリの下にコピーしておきます。
シリアルの初期化はプロジェクトツリーの下の「Source Files」の下の「bsp/low_pin_count_usb_development_kit/usart.c」で行っていて、その56行目付近を変更することでシリアルの速度を変更できます。
今回は9600bpsに設定するので、
SPBRG = 225; SPBRGH = 4;
に変更します。
できればブートローダを書き込んでから、その上でCDC Serial Emulatorをインストールしたかったのですが、どうもソースを見るとXC8では対応している感じがしなかったのでブートローダなしとしました。
Athlon5350マシンにつないでいるブラザーHL-2240Dですが、プリンタを使う度にAthlon5350マシンを起動するのは面倒です。
そこで、OpenVPNを動かしているRaspberry PiのUSBポートで動かせないか試してみました。
つないで dmesg を見てみたらとりあえず認識してくれました。
[2146148.627562] usb 1-1.3: new high-speed USB device number 4 using dwc_otg [2146148.728736] usb 1-1.3: New USB device found, idVendor=04f9, idProduct=0040 [2146148.728772] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [2146148.728787] usb 1-1.3: Product: HL-2240D series [2146148.728801] usb 1-1.3: Manufacturer: Brother [2146148.728817] usb 1-1.3: SerialNumber: M3Jxxxxxx [2146148.797077] usblp 1-1.3:1.0: usblp0: USB Bidirectional printer dev 4 if 0 alt 0 proto 2 vid 0x04F9 pid 0x0040 [2146148.800057] usbcore: registered new interface driver usblp
Raspberry Pi にリモートログインしてCUPSをインストールします。
$ sudo apt-get install cups
どかどかとたくさん入るかと思ったらエラーが。メッセージに従って、
$ sudo apt-get update $ sudo apt-get upgrade
ってやってみたら、Raspberry Pi 2関連と思わるアップデートがたくさん入りました。
それはさておき、アップデート後に気を取り直してCUPSをインストールします。
$ sudo apt-get install cups
完了したら、ローカル側からRaspberryPiの画面をリモートデスクトップで開いて設定を行います。
$ rdesktop 192.168.xxx.xxx
ブラウザ(Netsurf)を開いてアドレスに「localhost:631」と入力します。
上の方の「Administration」を開きます。
右下の
にチェックをつけて、下の「Change Setting」を押します。
(どうせルータで自宅外からのパケットは叩き落とされるので「Allow printing from the Internet」も許可しちゃいます)
その後、リモートログインしたシェルでCUPSを再起動します。
$ sudo service cups restart
・・・が、設定が反映されません・・・。(泣)
仕方がないので、設定ファイルを直接編集します。
$ sudo vi /etc/cups/cupsd.conf
途中の、
# Only listen for connections from the local machine. Listen localhost:631 Listen /var/run/cups/cups.sock
の真ん中の「localhost:631」を「631」だけにします。
さらに、もう少し下の方にある<Location>と<Location /admin>の部分を以下のように修正します。
# Restrict access to the server... <Location /> Order allow,deny Allow @LOCAL </Location>
# Restrict access to the admin pages... <Location /admin> Order allow,deny Allow @LOCAL </Location>
その後、CUPSを再起動します。
$ sudo service cups restart
これでローカルマシンから「IPアドレス:631」で管理画面にアクセスできます。
同様にプリンタの共有とインターネットからの印刷の許可、ジョブキャンセルの許可を設定します。
うーん、やっぱり設定できません。
どうも、ユーザーがlpadminグループに入っていないといけないようなので、
$ sudo adduser pi lpadmin Adding user `pi' to group `lpadmin' ... Adding user pi to group lpadmin Done. $
とします。
これでブラウザから設定が変更できるようになりました。
Web管理画面から「プリンタの追加」を押します。
ローカルプリンタのBrother HL-2240Dを選択して、「続ける」を押します。
適当に場所を記入し、共有にチェックを入れて続けます。
ドライバは存在しないのでとりあえずHL2140のPCL5eドライバを選択しておきます。
デフォルトオプションを適当に設定しておきます。
設定ができました。
この状態でPC上のUbuntuでプリンタを開くと、RaspberryPi上のプリンタが見えるようになっていました。
・・・・がしかし、テスト印刷を1枚試してみたところ明らかに汚いです。
さらに2枚目以降のテスト印刷はエラーが出るばかりで印刷すらできません・・・。
ブラザーのLinux用プリンタドライバのインストールも試してみましたが、途中で微妙なエラーがでていることと、テスト印刷してもジョブを抱えたままで出力されませんでした。
・・・・結局、諦めて元のAthlon5350マシンに接続を戻しました(泣)
Raspberry Pi 2のベンチマークが公式ページにもありました。
このページにはブラウザの読み込み速度を比較する動画が貼られていました。
Webの読み込み時間の比較、ブラウザのJavaScriptの応答時間の比較、動画再生時の負荷の比較を行っています。下がRasPi、上がRaspi2です。
かなりの速度差があるのがわかると思います。簡易デスクトップとしてはそこそこな感じになりそうですね。
RSオンラインを見ていたら、次回入庫日が2/20→2/27・・と延びていき、現在は「一時的な在庫切れ」と表示されています。やっぱりみんな欲しがるんですね。
まあ、メモリ1GBに増量、クワッドコアとなれば当然といえば当然かもしれません。
Hack a Dayにベンチマーク比較の記事が載ってました。
RasPi B+はRaspberry Pi model B+(700MHz)、RasPi 2はRaspberry Pi 2 model B(1000MHz)で、シングルコア動作での比較です。
シングルコア動作での比較なのでベンチマーク上ではクロック周波数なりの差しか現れないようです。
もっとも、マルチコア化したおかげか、ゲーム機のエミュレータではRasPiではファミコン、スーパーファミコン、メガドライブや初期のゲームコンソールしかまともに動かせなかったのが、RasPi2ではNintendo64やPSXなどのゲームも容易に動かせるになっているようです。
記事では「RasPiは教育ツールとしては興味深かったが使い物になるコンピュータではなかった。RasPi2は小さく安価で持ち運べるデスクトップシステムになった。」と書いてあります。一方で、「RasPi(Raspi2も含む)は膨大なエコシステムがあるので、今日利用できるベストな小型のLinux環境。だけど、もっとパワフルさが必要なら本物のラップトップかデスクトップにするべきだ。」と括っています。(※自分の勝手な意訳です。しかも部分的だし。)
※追伸です。実機を触ってみるとデスクトップの速度は天地の差があります。
なんと、RaspberryPiに後継のRaspberryPi2が登場しました。(http://www.raspberrypi.org/のトップページも同じページに差し替わってます)
(画像は公式ページからの借り物です)
モデルB+と比較するとRaspberryPi2はこんな変化のようです。
ハードウェアはCPUコアとメモリ以外には大きな変更はなく、完全コンパチを保つようです。CPU性能は6倍なんだそうな。
・・・が、大きな驚きが一つ。なんと、
MicrosoftがRaspberryPi2版のWindows10を無償で提供
されることになるんだそうです。
その他、
といったところで、もう販売されているようです。
ちなみにSoCの名前はBCM2835からBCM2836へ。まあ、なんというか、多分Raspberry Pi 2専用のSoCなのでしょう。数百万個でるならそれもありかと。コンパチビリティはRaspberry Piのエコシステムを使い続ける上で必要でしょうし、性能強化版の専用SoCを起こすにしても変更箇所は少ないほうがいいですから。
Raspberry Pi 2版のWindows10のアナウンスは「Windows 10 for Raspberry Pi 2」にあります。「Windows Developper Program for IoT」というサイトからリンクが張られています。
つい最近、開けてないModel Bがあるにも関わらず、Model B+を買ったばっかりなのに・・・なんということでしょう。
でも多分買っちゃうと思います。きっとRaspiで動かしているOpenVPNも速くなってくれると思うので。
Dockerを非rootで操作するには/etc/default/docker.io の DOCKER_OPTS の設定を・・・なんて昨日の記事では書いてしまったが、そんな面倒なことをしなくてもできるらしい。
単純にユーザーが docker グループの権限を持っていればいいだけなのだそうだ。
つまり、
$ sudo addgroup ユーザー名 docker
とした後、ログインしなおせばよい。
Dockerの味見の際に「rootで操作するもののようだ」と記載しましたが、一般ユーザーで触る方法がわかりました。
ホストがUbuntuの場合には、/etc/default/docker.io の DOCKER_OPTS の設定を
DOCKER_OPTS="-H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock --dns 8.8.8.8 --dns 8.8.4.4"
となるように修正し、
$ sudo service docker.io restart docker.io stop/waiting docker.io start/running, process 13197 $
として Docker を再起動、
$ export DOCKER_HOST=tcp://127.0.0.1:4243
として環境変数を設定、
$ docker info Containers: 0 Images: 0 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Dirs: 0 Execution Driver: native-0.2 Kernel Version: 3.13.0-44-generic WARNING: No swap limit support $
で一般ユーザーでもアクセスできるようになりました。