Nano Pi NEO2のセットアップ

忘れないようにメモ。

買ったのは秋月。

akizukidenshi.com

そこからリンクされているOSは、メーカーサイトからダウンロード

nanopi-neo2_FriendlyCore-Xenial_4.14.0_20171208.img.zip

ダウンロードファイルを展開して、WindowsPCからDD for windowsで書き込み。書き込み先は4GBのSDカード。4GB以上なら書き込みできる。

初期セットアップはこのサイトを参考にさせていただいた。

青色LEDは起動中を示すシグナルらしいのだが、とにかく眩しい。対策を探していたら、SDカードアクセスに転用した方がいた。真似をさせていただいた

akkiesoft.hatenablog.jp

セットアップはここまで。難点はSSHで接続するIPを最初に見つけ出すのがなかなか難儀。あたりをつけて接続した。次回も困るのは嫌なので、IPは固定で。

ちなみに、armbianならその心配はない。PCのUSBにつないで起動すると、serialが有効になり接続できるようになるから。FriendlyCore-Xenialではserialは無効なんだろう。たぶん。

 

秋月でラズパイ用液晶を買ってみた。

秋月電子通商が出している5.5インチ液晶ディスプレイ [LS055-CGS-LCD-SET] を買ってみた。raspberry piにつけられる小型の液晶ディスプレイを探していたところ、高精細という触れ込みの記事を見つけて調べてたらぽちってた。二日後には届いていた。早いねー。


akizukidenshi.com

やりたいことはRaspberry pi B+にraspbianを入れて、小型の動画自動再生機を作りたかったのだ。もともとraspberry piには5インチのタッチパネルディスプレイをつないで動画再生機としていて、ケース付きで安く取り付けられて気に入っていたのだが、画面映りがとにかく青っぽい。猫の映像でチャトラがモノトーンに見える!と妻からのクレームを受け、とにかく綺麗な液晶が欲しいと思っていたところだったのだ。タッチパネルは便利なんだが、タッチ機能があると液晶映りがどうしても悪くなるし、かといって車につけるような小型モニターは太いフレームに大きなACアダプタが邪魔になる。きれいでUSB電源で何かいいものないかなー、2015年に出たIGZO液晶パネルの再販ないかなーと思ってた矢先だった。

さて、この液晶キット、簡単にできるだろうとちょっと舐めてました。うまく表示できたのは1週間後の今日だった。いやぁ、苦労したよ。組み立ては簡単なんだよ。ボード2枚と液晶パネルとケーブルを2本つなぐだけ。手順書も秋月電子通商が用意したカラー印刷の説明書もあり、取り付けはそんなに悩むものではない。5分ほどでつなぐことができた。さらにこのキットはHDMIポートでつなぐものなので、つないだら速攻表示するんじゃねー?と、簡単に考えていたのだが。raspbianだとconfig.txtを編集しなければならない。ちなみに、Windows10やubuntuなど搭載のパソコンは何も編集しなくても表示できる。ubuntuでやってみると縦表示でもデスクトップは崩れずに縦サイズできちんと表示できる。話を戻して、raspbianだとconfig.txtを編集しなければならないことは必須だ。なぜなら、つなぐだけだと本当に表示しなくて、液晶パネルのバックライトが点滅する怪現象が起きる。きちんと編集してつなごう。つなぐ方法は秋月が用意したカラー説明書にも記載されているし、config.txtのサンプルは、秋月のサイトにもある。が、これが曲者だった。

実は秋月が用意しているconfig.txtはいくつか間違いがある。このままコピーするだけでは動作しない。なので、試行錯誤で頑張ってみた。一番苦労したのがhdmi_modeパラメータだった。秋月の数値だと画面が2画面に分割され、しかも思いっきり位置ずれして3分の1程度が画面の外に追いやられてしまうというトンデモ表示だった。いろんなサイトをチェックして、ようやくここにたどり着いたのだ。やれやれ。raspbianのraspi-configコマンドで設定できるHDMI設定では、hdmi_modeは16になるが、これは表示できない。秋月は87を指定することになっているが、これもトンデモ表示。成功したのは82だった。

で、苦労話なんぞ言ってないでさっさとconfig.txtを見せろと怒られそうなので、以下にconfig.txtを記載するよ。

 /boot/config.txt

# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
hdmi_group=1
hdmi_mode=82
#hdmi_mode=16
#hdmi_group=2
#hdmi_mode=87

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=on
#dtparam=i2s=on
dtparam=spi=on

# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on
gpu_mem=128


hdmi_pixel_freq_limit=400000000
hdmi_timings=1080 0 60 10 35 1920 0 4 4 2 0 0 0 50 0 114352500 0

max_framebuffer_width=1920
max_framebuffer_height=1920
display_rotate=1
framebuffer_width=1920
framebuffer_height=1080

 とりあえず、このconfig.txtを使うと、パネルのフレキシブルケーブルが右側にくる形で横画面として表示できるようになる。(縦表示や反対表示などは、display_rotateをいじってください。それに合わせて、framebuffer_widthやframebuffer_heightを合わせてください。)

ようやくこれで小型動画自動表示器が作れるようになったよ。raspbianにこだわってるのは、GPIOを簡単に使いたかったから。GPIOを使わないのなら、ubuntuとか入れたほうが楽だったかもね。raspberry piは、B+/2/3で対応しているとのこと。自分はB+で使いたかったからだけど、以降のrapsberry piならどれでも同じconfig.txtでいけるんじゃないかなー。試してないけどー。(無責任さーせん)

 最後にちょっとだけ気に入らないことを1つ。このキットのボードの都合なんだろうが、raspberry pi とこのキットを同時に起動すると表示されない。なぜなら、このキットのボードは、起動に8秒ほど時間がかかる。起動が終わらないとHDMIを正しく受信しない模様。マニュアルにもキットを先に電源入れてからraspberry piを起動するように但し書きがある。せっかくraspberry piからUSB電源とって配線をきれいにしようと思ってたのに。ちょっと残念な気分になった。それ以外は何も問題ないし、むしろよくできていると思う。

きれいな小型液晶でフレームは自作してもいいと考えている方には、おすすめの商品だ。サイズも3種類あるしね。さぁ、let's DIY!

 

NEXUS7(2012)を使えるようにしたい!Androidのダウングレード!

 

 

NEXUS7(2012)を使えるように復活させたい!

普段使いのタブレットとしてはすでに引退しているので、遊びでVersionを5にアップグレードしたわけだが、なんせ、とにかく、きわめて、非常に、いやになるくらい、遅ー!だから新しいタブレット買うー、買ったー、もうNEXUS7はいらなーい!という感じで1年程度放置していたわけだが、何気に寝室に時計代わりに置いてみようという気分になり、時計アプリをインストールして使ってみたんだが…。寝室に使うには明るすぎました…。私は真っ暗な部屋で寝るので、ちょっとした明かりでも気になって眠れないので、枕元にあるNEXUS7が眩しい。時計アプリはほぼ真っ暗で表示される数字も暗い表示にしていてもだ。なんというかバックライトが強すぎるのか、真っ黒でも液晶モニターのバックライトが漏れ出てくる。それがとても明るい。最低の暗さに変えても気になって仕方がない。時計アプリ利用はあきらめた。そんな充電しかされずにほこりを若干被ったNEXUS7。不憫と思いつつ、思う使い方も見いだせず、そしてさらに1年程度放置。

でも復活の時は来たのだ。寝室でテレビを見ることがない我が家だが、寝る寸前で気になる番組があったことを思い出した。そして我が家にはArecX6があることを思い出し、NEXUS7にARecX6 Playをインストールした!さぁ、新たなTVプレーヤーとして華麗に復活するのだNEXUS7!…TV番組を選び5秒、真っ暗、いや映像は出たぞ。何とか見れそ5秒程度映像が流れフリーズ、1分待ってみると復活?5秒後フリーズ、番組スタートまでどれだけ待たせる?無線LANの位置も問題ないし、もうこの子はダメかも(泣。いや、まて、昔はこんなにできない子ではなかったはずっ!そうだバージョンアップしてからこの子は人生をダメにしたのだっ、昔を思い出させれば立ち直れるはずっ!

さんざんに放置しておきながらすごく今更感で直そうとしている痛い人的に見られそうな気もするが、せっかく使ってみたいロケーションがあるのだから、とにかく直してみよう。とは言え、正規の方法ではない点はご注意を。同じ方法で何かトラブルがあっても自己責任です。

早速現状確認。バージョンは5.1.1で、NEXUS7(2012)モデルとしては最新のバージョンですな。これを4.4.4に替えよう。

まずは、パソコンでファクトリーイメージを入手しよう。Googleタブレットはファクトリーイメージが公開されているので、そこへアクセス。 Factory Images for Nexus and Pixel Devices ACKNOWLEDGEをクリックする。

結構下のほうになりますが、「"nakasi" for Nexus 7 (Wi-Fi)」の欄から4.4.4 (KTU84P)のLinkをクリックする。366MBある、nakasi-ktu84p-factory-9482e892.zipファイルがダウンロードできる。 ここでは、Windowsパソコンで作業を進めて行く。zipファイルは右クリックで「展開」を選ぶ。展開されて、nakasi-ktu84p-factory-9482e892フォルダーができる。そのフォルダ内のnakasi-ktu84pフォルダーにアクセスする。

ここまで準備できたら、NEXUS7を一度シャットダウンする。パソコンとNEXUS7をUSBケーブルで接続する。NEXUS7の電源ボタンとボリュームボタンを同時に長押しする。すると、fastbootモードが起動する。 NEXUS7はこのままにしておき、パソコン側で開いていたnakasi-ktu84pフォルダーにあるflash-all.batファイルを実行する。が、うまく動かない。あれー? fastbootコマンドがインストールされていないからのようだ。(準備不足…)

Java JDKAndroid Studioが要るので、これをインストールする。JDKは200MB程度、AndroidStudioは1.7GB程度のダウンロードサイズ。

先にJDKからインストールする。 Java SE Downloads JDKの「DOWNLOAD」をクリックする。 「Accept License Agreement」を選択する。 私が使っているのはWindows10 64bit版なので、「jdk-8u121-windows-x64.exe」をクリックしてダウンロードする。 ダウンロードしたjdk-8u121-windows-x64.exeをダブルクリックして、インストールする。基本的には次へボタンでどんどん進んでいけばいい。

その次にAndroid Studioをインストールする。 Android StudioAndroid Studioをダウンロード」をクリックする。 「上記の利用規約を読み、同意します。」にチェックを入れて、「AndroidStudio for Windowsをダウンロード」をクリックする。 ダウンロードした「android-studio-bundle-145.3537739-windows.exe」を実行する。 「Next」をクリックする。 Android SDKをチェックONにしておく。「Android Virtual Device」はチェックOFFでも構わない。 「I Agree」をクリックする。 上の段はAndroid Studioをインストールする場所、下の段はAndroidSDKをインストールする場所となっている。下のAndroidSDKは基本的にユーザーのAppData領域にインストールされるのだが、私はドライブを別にしてみた。(CドライブはSSDで容量がそれほどないので、EドライブのHDDにしたかったのだ)。パスを指定したら「Next」をクリックする。AndroidSDKのインストール場所は後の環境変数を指定する際に入力するので、覚えておく。 「Install」をクリックする。 しばらくインストール処理が流れる。 終わったら「Next」をクリックする。 「Finish」をクリックする。 AndroidStudioが起動するので、画面下の「Configure」を選択する。その中にある「SDK Manager」をクリックする。 SDK Platforms」タブで、Android4.4(KitKat)をチェックオンにする。 次に「SDK Tools」タブで、「Android SDK Platform-Tools 25.0.1」と「Android SDK Tools 25.2.3」と「Google USB Driver」の3つをチェックONにする。「OK」をクリックする。 インストールする内容を確認するメッセージが表示されるので、「OK」をクリックする。」 「Next」をクリックする。 インストールが始まるのでしばらく待つ。「Finish」が表示されればクリックしてアプリを終了する。

次にfastbootコマンドをパス指定なしで実行できるように、Windows環境変数を追加する。 「コントロールパネル」「システム」から、「左側のシステム詳細設定」をクリックする。 環境変数」をクリックする。 下側のシステム環境変数欄にある「Path」を選択して、「編集」をクリックする。 「新規」をクリックする。 一番下の欄に記入できる場所が用意されるので、Android Studioをインストールした際のAndroid SDKインストール場所を指定したパス+\platform-toolsを入力する。私の場合は、Android Studioをインストールするときにパス指定を変更していたので、e:\userdata\android\platform-toolsという表記になる。 「OK」をクリックして画面を閉じる。 これで準備ができたので、一度fastbootが動くか確認する。コマンドプロンプトを起動してから、fastbootを実行すると、エラーではなくパラメータ一覧が表示される。実行は可能のようだ。

準備はできた。改めてNEXUS7を復活させるための手順を行う。 NEXUS7を一度シャットダウンして、パソコンとNEXUS7をUSBケーブルで接続する。NEXUS7の電源ボタンとボリュームボタンを同時に長押してfastbootモードを起動する。 cortanaにcmdと入力し、コマンドプロンプトを選択。パソコン側で、ダウンロードして展開しておいたnakasi-ktu84p-factory-9482e892フォルダに移動する。nakasi-ktu84p-factory-9482e892フォルダにあるflash-all.batをダブルクリックする。コマンドプロンプトが開き、処理が開始される。 ゆっくり処理が進んでいくはずだ。NEXUS7の画面はfastboot起動画面から特に変化しない。3分程度で終わるはず。私の場合は、160秒で完了した。 finished. total time:????と表示されれば処理は完了している。何かキーを押すとこの画面は自動で閉じる。この処理が完了した直後、NEXUS7は自動で再起動される。そして懐かしの初期セットアップ画面が表示される。言語を選択し、無線設定を行い、Googleアカウントを入力すれば、完了だ。 NEXUS7の設定からバージョンを確認すると、Androidバージョンが、4.4.4に変わったことがか確認できた。

では、NEXUS7をダウングレードしようと思った当初の目的を果たそう。GooglePlayからARecX6Playをインストールして、録画映像を視聴してみる。はい、やっぱり止まります(号泣)。Androidの5よりは若干ましではあるのですが、数十秒ごとに10秒ほど映像が止まってしまう現象はあります。やっぱり無理があるのかなぁ。まぁYOUTUBEは気持ちよく視聴できるようになったので、今後はYOUTUBE再生専用機として頑張ってもらうことにしよう…。

最後に、NEXUS7をAndroid4.4.4にした結果、通知に5.0.2 System Updateがよく表示されるようになった。もうバージョンアップはしないので、余計な通知である。通知を消したい。 通知を表示(画面上から下へスワイプ)すると、「Android 5.0.2 System Update」がある。これを長押しすると、ちょっと下に「アプリ情報」が表示される。これをタップする。 Google Play開発者サービスの「通知を表示」をチェックOFFにする。 OFFにすると確認メッセージが表示されるので、「OK」をタップする。 これでアップグレードのメッセージは表示されなくなった。

改めてNEXUS7を使ってみると、無茶をしない限りは普通に使えるようになったと思う。最新のAndroidバージョンにこだわらなければ、これはまだまだ現役で使える感じ。なんだいけるじゃないか、あの遅さは何だったんだ…

 

ServersMan@VPSを使ってみる1

 

 

サーバーサービスをインターネットから自由にアクセスして使ってみたいという欲求から、VPSサービスを借りてみた。DTIのServersMan@VPSのEntryプランだ。

維持費がワンコイン程度でそこそこ自由の効くLinux環境をグローバルIP付きで借りられるのは、おもちゃとしては十分だろう。割り当てられるCPU性能はよくわからないが、メモリ1GB、HDD50GBの割当ならとりあえず何かやってみようと思う程度には十分なリソースだと思う。何と言ってもグローバルIPが固定で1個借りられるのは大きい。 難点はVPSサービスなので、SSHファイアウォールの設定ミスをやってしまうと、二度とサーバの操作ができずに初期化という最終手段しかないという点、EntryプランはメモリやHDDの追加プランが現在受け付けてもらえない点、が少々残念。ただし、HDDに関してはServersMan@Diskサービスがあるので、最悪はこっちで回避できるかもしれない。

そもそもVPSを利用しようと思ったのは、家庭内LANの安全も考えてのことだ。 インターネットから家庭内機器へのアクセスは、回線プロバイダがやっている固定IPサービスやDDNSを使えば追加費用も少なく利用でき、ある程度ならサーバー公開も可能ではある。 しかし、今使っているプロバイダの利用規約違反になる可能性が高いことや、どうにも外部公開向けサービスを堂々と家庭内LANに誘導することに嫌悪感があり、躊躇してしまう。 家庭内サーバーのインターネット公開は、万全のセキュリティ対策をしていても、限定的とはいえ家庭内LAN内部までインターネットの不特定アクセスが流れ込んでくるのは、安心とは言い難い。それに、セキュリティの維持も大変だし、万全を維持する自身もない。

ServersMan@VPSはその点、家庭内LANとは全く関係のない公開サーバーなので、家庭内LANのセキュリティとは完全に分断される。その点、セキュリティの考慮が楽になるのは嬉しい。

ということで、少しずつServersMan@VPSを触って学習してみたいと思う。

契約するとMyDTIにアクセスし、好みのlinuxサーバーを選択することになる。自分は仕事上企業向けのLinuxを触る機会もあるため、CentOS7(64bit)を選んだ。そしてこのブログを作ることもやってみたいことの一つなので、ブログセットを選択した。シンプルセットでもapacheMySQLを追加してwordpressを導入すれば動くのだが、まぁ同じことだしブログは備忘録を兼ねているので、そうそうに記載できる環境がほしかったので、割愛。構築方法は世の中にたくさん情報が出てるので、ここで改めて備忘録するほどのことでもないという言い訳。

サーバーのセットを選ぶとすぐに画面が切り替わるが、サーバーが起動するのは数分かかる。すぐに接続しようとしてもつながらないことがあるが、数分待てば問題ない。

DTIには面白いサービスが入っていて、ブラウザから操作できるCLIがある。AirDisplay@VPSといい、MyDTIからログインすると接続できるメニューがある。ブラウザから操作できるので、SSHコンソールツールを用意できない場合でもサーバーを操作できるので、便利かもしれない。ただ、AirDisplayはサービスなので、リソースが足りなくなったら止めよう。SSHで入ればいいのだから。ブラウザでこのサービスにログインすると、最近のブラウザでは証明書エラーがまず表示される。当然自サーバーなので証明書は自分で用意しなければならない。いずれ考えるとして、エラー表示を無視すればとりあえず利用できる。 Google Chromeは、バージョン 56.0.2924.87は利用できた。ただ、改行位置がずれるので、とても見にくい。またフォントも固定ピッチではないので、とにかくずれる。まぁないよりはまし程度か。 Edgeは使えなかった。コンソール画面までは表示されるが、最初のログインユーザーを聞いてくるメッセージが表示されない。 IE11は互換表示で利用できる。ツールマークから「互換表示設定」を選択し、追加するWebサイトに契約したServeresMan@VPSIPアドレスを記入する。(まずAirDisplayにアクセスしてその画面のまま互換表示設定を選択すると、自動的にIPが記入されている)「追加」ボタンを押し、互換表示に追加したWebサイトの枠に入れば、「閉じる」ボタンを押す。ブラウザを再表示するか、AirDisplayをもう一度ログインすると、今度はログインユーザーを聞いてくるメッセージが表示されるはずだ。

さて、ここまでは単に動作を確認しただけなので、ちょっとだけでもサーバーのカスタマイズをしたい。まずはホスト名から。標準では味気ない文字列が並んでいるので、ホスト名を自分好みに変えてみたい。 [code] # vi /etc/hostname ホスト名を入力して保存して終了[/code] そして再起動する。 [code] # reboot[/code] 改めてログインすると、ホスト名表示が変わっている。