NanoPi NEO2のUbuntu CoreでWiFi有効化

NanoPi NEO2 の Ubuntu Core で WiFi を有効化したので、その際のメモです。

使用可能なUSBアダプタは

  • RTL8188CUS 802.11n WLAN Adapter
  • RT2070 Wireless Adapter
  • RT2870/RT3070 Wireless Adapter
  • RTL8192CU Wireless Adapter
  • NetGear, Inc. WG111v3 54 Mbps Wireless [realtek RTL8187B]

ということらしいですが、きっと Raspberry Pi で動作可能なものは動くのでしょう^^;

USBコネクタにWiFiアダプタは挿しておきます。

 

1.使用可能なデバイスのリストアップ

という感じで、wlxに続いてMACアドレスという形でデバイスが表示されました。

2.WiFi起動

$ sudo nmcli r wifi on

3.アクセスポイントのスキャン

という感じでグラフィカルに表示されます。

4.アクセスポイントに接続

5.接続されているか確認

という感じで無事に接続。再起動しても大丈夫です。

NanoPi NEO2のNASキットを動かしてみました

秋月で NanoPi NEO/NEO2 用のNASキットが売っていたので、買ってみました。

秋月の説明書きにはヒートシンクが同梱されているとは書いてない(写真には写っていますが・・・)ので、思わずヒートシンクも余計に買ってしまいましたが、これから買う方はキットにヒートシンクが同梱されているので気をつけて下さい。

このNASキット以外に、

  • NanoPi-NEO2 (または NanoPi-NEO)
  • 2.5インチのHDDまたはSDD(まずは余り物の160GBをつけてみました)
  • CR2032コイン型リチウム電池
  • 起動用のMicroSDカード(手持ちの16GBを使いました)
  • 12VのACアダプタ(秋月で標準的なDCプラグがついているもの)

の準備が必要です。

組み立てにあたっては、

  • ハンダゴテ一式(NanoPi-NEO2の端子はハンダ付けが必要)
  • プラスドライバ(たぶん+1のもの)

も必要です。

とりあえず、端子をハンダ付けしました。ランド径が小さいので、ハンダ付けしにくいです。

この状態で、別のNanoPi-NEO2 から持ってきた MicroSD カードを挿して Ubuntu-Core で起動して ssh でログイン、適当に /dev/sda1 を mount してやると、中身を見ることができましたので、動作は問題ないようです。

ヒートシンクを付けてみました。

この後、Official ROMのイメージを

https://www.mediafire.com/folder/ah4i6w029912b/NanoPi-NEO2

の下の Official ROMs から nanopi-neo2_debian-nas-jessie_4.11.2_20171103.img.zip をダウンロードして、これを展開、USBイメージライタでMicroSDに書き込んで電源投入します。

ブラウザで、 http://friendlyelec.local/ にアクセスすると、

として画面が出ました。

ユーザー名: admin
パスワード: openmediavault

でログインすることができました。

とりあえず、

  • Web管理者パスワードの設定
  • タイムゾーンの設定、NTPの有効化
  • ホスト名を NanoPi-NAS に変更
  • アップデートの確認&インストール
  • ディスクのワイプ、ファイルシステム作成
  • ユーザーの作成

をしてみました。

この後、プラグインを見てみると、「openmediavault-flashmemory」というのがあり、これを使うと MicroSD への書き込みを減らせるようです。・・・が、インストールを試みたところエラーになりました・・・。

あと、デフォルトで root での ssh ログインが有効になっています

$ ssh root@nanopi-nas.local (変更していない場合はfriendlyelec.local)
root@nanopi-nas.local’s password: (デフォルトパスワードは fa )
root@nanopi-nas:~# passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@nanopi-nas:~# passwd pi
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@nanopi-nas:~# passwd fa
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@nanopi-nas:~#

として、ログインパスワードは変更しておく必要があります。(もしくは、SSHを無効化したほうがよいかも)

・・・と思ったのですが、/etc/ssh/sshd_config の AllowGroups の項目には root と ssh しかいないので、実際にログインできるのは root だけのようです。

NanoPi NEO2でタイムラプス撮影

部屋を掃除していたらELECOMのWebカメラが出てきました。LinuxMintのマシンに挿してみたところ uvc カメラとして認識するようでしたので、NanoPi NEO2に挿してみたらこちらも認識しました。

なので、TimeLapse撮影ができないか、試してみました。
ググると Ubuntu でTimeLapseをやっている方は結構いるようで、基本的にはそちらに倣ってやってみました。

基本、NanoPi NEO2に合わせている以外はこちらのページのパクリです。

1.カメラ画像の連続キャプチャ

1枚単位での撮影には fswebcam を使うのが簡単なようです。

でインストールできます。で、連続撮影する場合には、1枚キャプチャするシェルスクリプトを書いて、cron で所定の時間毎に1枚キャプチャ、というのが簡単なようなのですが、NanoPi-NEO2のUbuntu-coreではcronはユーザーに開放されてないっぽいです。crontab -eとしても編集できないですし、ググってもシェルスクリプト内でループしてsleepで時間待ちせよ、みたいなことが書いてあります。

結局、以下のようなシェルスクリプトで連続撮影します。ファイル名は TimeLapse.sh として、ホームディレクトリの下に CaptureImage というディレクトリを作って、そこに置きました。

作成したスクリプトに実行権限を付けてやります。

で、実行すると、ザクザクと画像が溜まっていきます。

2.キャプチャした静止画の引取の準備

動画への変換はホスト側でやります。

ホスト側で

として、sshfsでnanopi側のホームディレクトリをローカルディレクトリにマウントして、これで引き取ります。
(今考えれば、sshfsでマウントしなくても scp でも良かった・・・)

3.画像の変換の準備

ローカル側でffmpegで変換しますが、motionをインストールするほうが楽だという情報があったので、そうしました。

4.画像の引取と変換

以下の手順で画像の引取と変換を行います。

これで TimeLapse ができましたが、静止画の保存サイズが大きいようです。
1分間で3〜4MB出力しているようなので、1週間で40GBくらいになってしまいます。ちょっと要対策ですね。

NanoPi NEO2のデバッグシリアルに苦労した話

Gigabit Ethernet環境でtcpdumpをひたすら放置で動かしておきたくて、NanoPi NEO2に手を出してました。

ファイルシステムのイメージファイルは違いますが、NanoPi NEOと同じ手順で環境構築できて、一度はシリアルコンソールが動いているUART0(デバッグシリアル)も動いていたのですが、しばらくシリアルコンソール無しで運用した後、再びシリアルコンソール経由で操作をしたくなった時に苦労しました。

公式サイトにある端子説明がこちらで、実物を半田面から写真を取ったのが以下です。

わかりますでしょうか??

実は写真に写っているNanoPi-NEO2の実物のデバッグシリアルの端子表記は間違っているので、シルク印刷の端子表記を信用すると動かない、という罠に陥ります。本当は、写真の上から、GND、5V、TX、RXの順で逆順になっています。

・・・ということで、最初に動かした時は公式サイトの端子説明をみて配線したので無事動いたのですが、今日改めて動かそうとした時には基板のシルク印刷をみて動かそうとしたので、動かなかった、というオチでした。悩んだ数時間を返してくれ、という感じです。