アナリティクス

2016年8月6日土曜日

Raspberry Pi で DDNS

ここ超最高

レトロな6桁

ちょっと前に、ラズパイを買ったPIMORONIから新製品のお知らせメールが届いた。そこにはドットマトリクスがカワイイモジュールのお知らせ。何に使うとかそういうの一切なしに即注文。ついでにラズパイzeroをもう一枚。
Micro Dot pHAT
赤と緑が売られていた。両方美しいので両方買った。商売上手が過ぎる。

プログラムサンプルもPIMORONIのページがからダウンロード出来るので、ピンヘッダとドットマトリクスのモジュールを基板に半田付けすれば、ラズパイにくっつけて即遊べる。秋月で部品買ってブレッドボードで結線してというのも楽しいけど、これはこれでオモチャ感MAXでいい。

で、出来れば電源入れたら即レトロ時計になってほしいのでサンプルの時計スクリプトをサービス化してみた。

exampleのclockをmicrodotphat_clockd.pyとしてコピーして編集。
ここを参考にしてサービス化対応。
while True: の手前に...

pid = os.fork()
if pid > 0:
 f = open('/var/run/microdotphat_clockd.pid','w')
 f.write(str(pid)+"\n")
 f.close()
 sys.exit()
if pid == 0:

あとは、while True: のループのインデントを下げてスクリプトはおしまい。

で、同じくここを参照して、microdotphat_clock.serviceを作る。
[Unit]
Description=Pimoroni micro dot phat clock service

[Service]
ExecStart=/usr/local/sbin/microdotphat_clockd.py
Restart=always
Type=forking
PIDFile=/var/run/microdotphat_clockd.pid

[Install]
WantedBy=multi-user.target
で、このファイルを /usr/lib/systemd/system 配下にコピー(適当な場所に作ったものをシンボリックリンクして5分はまる)する。あとは
sudo systemctl daemon-reload
sudo systemctl enable microdotphat_clock
あぁ、かわえぇ。

電源入れてNTPの時刻同期でピコっと表示がかわるとこなんかたまらん。

ニキシー管思い出してしまったけど、値段見て忘れよう。

2016年8月4日木曜日

RPiインストールメモ(2)

Raspbianの導入初期に入ってしまう不要ファイルの削除を行い、空き領域をBleachBitでクリーンアップしてイメージバックアップサイズの抑制をしてみた。

不要と判断するものは以下の基準。
  • X(GUI)
  • game
とりあえず、パッケージの一覧を取得してそこから選んで削除。パッケージの一覧は
dpkg -l
で取得。
パッケージは以下にて削除。
sudo apt-get update
sudo apt-get upgrade
sudo apt-get --purge remove adwaita-icon-theme 
sudo apt-get --purge remove alacarte
sudo apt-get --purge remove aspell
sudo apt-get --purge remove aspell-en 
sudo apt-get --purge remove blt
sudo apt-get --purge remove bluej
sudo apt-get --purge remove claws-mail
sudo apt-get --purge remove claws-mail-i18n
sudo apt-get --purge remove desktop-file-utils
sudo apt-get --purge remove dictionaries-common
sudo apt-get --purge remove dillo
sudo apt-get --purge remove epiphany*
sudo apt-get --purge remove gconf*
sudo apt-get --purge remove geany*
sudo apt-get --purge remove gnome*
sudo apt-get --purge remove gtk*
sudo apt-get --purge remove idle*
sudo apt-get --purge remove leafpad
sudo apt-get --purge remove minecraft-pi
sudo apt-get --purge remove penguinspuzzle
sudo apt-get --purge remove pi-package*
sudo apt-get --purge remove pulseaudio-module-x11
sudo apt-get --purge remove scratch
sudo apt-get --purge remove wolfram-engine
sudo apt-get --purge remove X11* 
sudo apt-get --purge remove x2x 
sudo apt-get --purge remove xarchiver 
sudo apt-get --purge remove xauth
sudo apt-get --purge remove xcompmgr
sudo apt-get --purge remove xdg*
sudo apt-get --purge remove xfconf
sudo apt-get --purge remove xfonts* 
sudo apt-get --purge remove xinit 
sudo apt-get --purge remove xkb-data   
sudo apt-get --purge remove xpdf
sudo apt-get --purge remove xserver*
sudo apt-get --purge remove python-pygame
sudo apt-get --purge remove python3-pygame
sudo apt-get autoremove

ついでにいらないディレクトリも。
rm -rf ~/Desktop
rm -rf ~/Documents
rm -rf ~/Downloads
rm -rf ~/Music
rm -rf ~/Pictures
rm -rf ~/Public
rm -rf ~/Templates
rm -rf ~/Videos
rm -rf ~/python_games



これでバックアップすれば、イメージサイズも抑制されると思いきや、1.6GBから1.9GBに跳ね上がってしまった。結局削除可能フラグがついたままの不可視データがディスク上に残ってしまうので、これがイメージに残ってしまうのでなんとかきれいにしなければならない。nautilus-wipeが使えればそれを使いたかったが、ubuntu16.04LTS への導入の仕方がさっぱりだったので、Ubuntu Software から BleachBit を導入し、空き領域をクリアすることにした。
ソフトウェアインストール後、ubuntuにSDを認識させて以下の手順で空き領域をクリーンな状態にする。
  1. BleachBit(as root) を起動
  2. 設定画面はClose
  3. メニューから[ファイル]->[フリースペースをワイプする]
  4. フォルダの"root"を選択->[OK]
  5. 進捗の残り時間はあてにならないのでひたすら待つ。
  6. なんか、時々画面がモノトーンになってものすごく不安になるけどひたすら待つ。

この作業の後にバックアップイメージを作ったところ0.9Gになった。
-rw-r--r-- 1 501 dialout 1625M  8月  3 19:34 01_RPi_Base_With_X.img.gz
-rw-r--r-- 1 501 dialout 1926M  8月  3 22:55 02_RPi_Base_No_X_and_useless.img.gz
-rw-r--r-- 1 501 dialout  939M  8月  4 00:39 03_RPi_Base_Wiped_free_area.img.gz

そこそこスッキリした。

2016年8月3日水曜日

RPiインストールメモ(1)

何度かラズパイのインストールを繰り返して、なんとなく自分が使う基本的な設定が固まったのでメモ。
手順は Raspberry Pi 3 で確認。
  • SD作成
    NOOBS Lite を使用して Raspbian を入れる
  • ネットワーク設定(1)
    WiFiの固定IPをインフラストラクチャ環境用に割り当てる
  • ラズパイ設定
    I2C,SPI,カメラの有効化,日本語環境
  • ネットワーク設定編(2)
    USB-WiFi(wlan1)にAd-hoc環境用に固定IPを割り当てる
※wlan1用のUSB-Wifiは接続しないで始める。
  1. SD作成
    1. NOOBS Liteのインストール
      なぜか手持ちのNOOBSはウンともスンとも言わないので、NOOBS Liteを使う。インストールの時は地域をUS、キーボードはJPでインストールする。
  2. ネットワーク設定(1)
    アクセスポイントへの接続設定を行い固定IPを割り当てる
    1. Wireless LAN(wlan0) の接続設定
      既存の設定ファイルをテンプレートとして、SSIDごとにコピーする
      > sudo cp /etc/wpa_supplicant/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant_[SSID].conf
                
      設定内容を生成する
      > wpa_passphrase [SSID] [KEY]
                
      出力された内容をコピーする
      network={
       ssid="SSID-HOGE"
       #psk="WIFI-KEY-HOGE"
       psk=0d3e2e20346f004de5f49aed4aa52b740b1b0254f88dc25820a7696090414afc
      }
                
      コピーした内容を設定ファイルに貼り付け
      > sudo vi /etc/wpa_supplicant/wpa_supplicant_[SSID].conf
                
      country=JP
      ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
      update_config=1
      network={
       ssid="SSID-HOGE"
       #psk="WIFI-KEY-HOGE"
       psk=0d3e2e20346f004de5f49aed4aa52b740b1b0254f88dc25820a7696090414afc
      }
                
    2. 固定IP設定
      > sudo vi /etc/network/interfaces
              
      iface wlan0 net static
       address 192.168.0.118
       netmask 255.255.255.0
       gateway 192.168.0.1
       dns-nameservers 192.168.0.1
       wpa-conf /etc/wpa_supplicant/wpa_supplicant_[SSID].conf
              
  3. ラズパイ設定
    1. Raspberry Pi Configuration による基本設定
      X で Menu -> Preferences -> Rasberry Pi Configuration
      1. System
        Change Password → 変更
        Hostname → テキトーに
        Boot -> To CLI
        Auto Login → チェックを外す
      2. Interfaces
        Camera → Enabled
        SPI → Enabled
        I2C → Enabled
      3. Localisation
        Set Locale → Language → ja
        Set Locale → Country → JP
        Set Timezone → Area → Japan
        Set Keyboard → Japan + Japanese(OADG109A)
        Set WiFi Country → JP
    2. コンソールの文字化け対処
      コマンドで起動できる日本語コンソール環境。毎回起動しなきゃならないのがアレだが。
      > sudo apt-get install jfbterm
              
    3. Xの文字化けに対する対処
      jfbtermを入れた時点で文字化けそのものには対処出来ているが、フォントがアレなので。Xを使う予定がないならスキップスキップ。
      > sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese*
              
  4. ネットワーク設定編(2)
    アドホック用の設定を行い固定IPを割り当てる。
    ※wlan1用のUSB-Wifiを接続して始める。
    > sudo vi /etc/network/interfaces
        
    allow-hotplug wlan1
    iface wlan1 net static
     address 192.168.1.118
     netmask 255.255.255.0
     wireless-channel 2
     wireless-mode ad-hoc
     wireless-essid [SSID]
     wireless-key [key]
        
  5. FTPサーバー
    sambaもいいけど速度的にアレなので、古き良きFTP。
    1. インストール
      > sudo apt-get install vsftpd
              
    2. 設定
      > sudo vi /etc/vsftpd.conf
              
      以下2項目をそれぞれ探して、行頭のコメントアウトを削除。
      #write_enable=YES
      #local_umask=022