趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。
RSS icon
  • NanoPi NEO2のUbuntu CoreでWiFi有効化

    投稿日 2017年 11月 29日 コメントはありません

    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.使用可能なデバイスのリストアップ

    $ sudo nmcli dev
    DEVICE           TYPE      STATE          CONNECTION 
    eth0             ethernet  connected      Wired connection 1 
    wlx106f3fxxxxxx  wifi      disconnected   -- 
    lo               loopback  unmanaged      --

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

    2.WiFi起動

    $ sudo nmcli r wifi on

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

    $ sudo nmcli dev wifi
    *   SSID             MODE   CHAN  RATE       SIGNAL  BARS    SECURITY 
        xxxxxxxxxxxxxxx  Infra  2     54 Mbit/s  100     ▂▄▆█  WPA1 WPA2 
        Mxxxxxxxx        Infra  11    54 Mbit/s  100     ▂▄▆█  WPA1 WPA2 
        axxxxxxxxxxx     Infra  11    54 Mbit/s  100     ▂▄▆█  WPA1 WPA2 
        Gxxxxxxxx        Infra  5     54 Mbit/s  82      ▂▄▆█  WPA1 WPA2 
        Nxxxxxxxx        Infra  5     54 Mbit/s  82      ▂▄▆█  WPA1 WPA2 
        sxxxxxxxxxxx     Infra  8     54 Mbit/s  52      ▂▄__   WPA1 WPA2 
        Bxxxxxxxxxxxxx   Infra  1     54 Mbit/s  42      ▂▄__   WPA2 
        axxxxxxxxxxxxxx  Infra  8     54 Mbit/s  22      ▂___    WEP 
        axxxxxxxxxxxxx   Infra  11    54 Mbit/s  22      ▂___    WPA1 WPA2

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

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

    $ sudo nmcli dev wifi connect " (SSID) " password "パスワード" 
    Device 'wlx106f3fxxxxxx' successfully activated with 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'.

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

    $ ifconfig
    wlx106f3fxxxxxx Link encap:Ethernet HWaddr 10:6f:3f:xx:xx:xx 
     inet addr:xxx.xxx.xxx.xxx Bcast:xxx.xxx.xxx.255 Mask:255.255.252.0
     inet6 addr: fe80::xxxx:xxxx:xxxx:xxxx/64 Scope:Link
     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
     RX packets:595 errors:0 dropped:0 overruns:0 frame:0
     TX packets:372 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000 
     RX bytes:86952 (86.9 KB) TX bytes:82940 (82.9 KB)

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


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

    投稿日 2017年 11月 28日 コメントはありません

    秋月で 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でタイムラプス撮影

    投稿日 2017年 11月 27日 コメントはありません

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

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

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

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

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

    $ sudo apt-get install fswebcam

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

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

    #!/bin/bash
    while true;
    do
    	DATE=$(date +"%Y%m%d%H%M%S")
    	fswebcam --quiet --jpeg 95 --timestamp "%Y-%m-%d %H:%M:%S (%Z)" -r 800x600 /home/pi/CaptureImage/$DATE.jpg
    	sleep 2s
    done

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

    $ chmod +x TimeLapse.sh

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

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

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

    ホスト側で

    $ mkdir nanopi
    $ sshfs pi@nanopi-neo2.local: /home/xxx/nanopi

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

    3.画像の変換の準備

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

    $ mkdir motion
    $ cd motion
    $ sudo apt-get install motion

    4.画像の引取と変換

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

    $ cp ../nanopi/CaptureImage/*.jpg .
    $ c=1 ; for i in ??????????????.jpg ; do mv $i `printf %d $c`.jpg ; c=$((c+1)) ; done
    $ ffmpeg -f image2 -r 15 -i %d.jpg -r 15 -an -vcodec libx264 -pix_fmt yuv420p video.mp4

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


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

    投稿日 2017年 11月 8日 コメントはありません

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

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

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

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

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

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