Make Local Happiness

自分の幸せは自分で作る!!!

RaspberryPi 小ネタ集

RaspberryPiを使って、プリンタサーバやタッチパネルのシステムを業務で構築しナレッジが溜まってきたので、 幾つかご紹介していきます。

RaspberryPiに接続したいけど、IPアドレスがわからない場合の対処

arp-scanでIPを検索する

同じWifi内に接続している機器のIPアドレスを検索することができます。

$ sudo brew install arp-scan

Raspberry Pi Foundationと表示される端末がRaspberryPiになります。

$ sudo arp-scan -l --interface en0

Password:
Interface: en0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.9 with 2048 hosts (http://www.nta-monitor.com/tools/arp-scan/)
10.4.120.1  00:00:5e:00:01:1d   VRRP (last octet is VRID)
10.4.120.2  00:1a:1e:02:48:c0   Aruba Networks
10.4.120.3  00:1a:1e:02:a1:90   Aruba Networks
10.4.120.10 2c:d0:5a:a0:b2:20   Liteon Technology Corporation
10.4.120.16 8c:8e:f2:a9:58:ef   (Unknown)
10.4.120.7  0c:51:01:55:01:c6   (Unknown)
10.4.120.14 cc:fb:65:3a:b8:49   (Unknown)
10.4.120.28 e0:5f:45:0c:e1:16   Raspberry Pi Foundation

Ethernetで直接接続する

MacとLANケーブルを直接接続することで、接続することができます。 RaspberryPiはBonjourIPアドレスが不明でもホスト名でLAN上のコンピュータ等にアクセスする方法)が使えるため、 ホスト名.localで接続することができます。 ※Wifiに接続していてもBonjourは利用できます。

RaspberryPiのデフォルトのhost名はraspberrypiなので、 以下で接続することができます。

ssh pi@raspberrypi.local

最新のRasbianであれば何もしなくても、host名によるアクセスができたと思いますが、 もしできない場合は以下をインストールして試してみてください。

sudo apt-get install avahi-daemon

host名の変更方法

以下の2箇所変更する必要があります。 raspberrypiと記載されている箇所を変更します。

  • /etc/hosts
  • /etc/hostname

sshでログインしているraspberrypiでElectronが起動できない

これは別にelectronの問題ではないのですが、 sshでログインしている際には、どのディスプレイで表示するかを設定する必要があります。

なので、先頭にDISPLAYを付ける必要があります。

npm start ⇒ DISPLAY=:0 npm start

visudoのエディタをnanoからvimに変更する

sudo update-alternatives --set editor /usr/bin/vim.basic

以下の記事のコマンドが使えます。 qiita.com

OS起動後にDesktopを表示させない

$ vim ~/.config/lxsession/LXDE-pi/autostart

# @lxpanel --profile LXDE-pi
# @pcmanfm --desktop --profile LXDE-pi
# @xscreensaver -no-splash
@xset s noblank
@xset s off
@xset -dpms

ディスプレイを上下逆にする

raspberrypiの純正の7インチディスプレイを使用する際に、ケースにはめた際に、 表示が上下逆になっているので、この設定が必要になります。

$ vim /boot/config.txt

lcd_rotate=2

electronを自動起動

pm2を使うことで簡単にelectronの自動起動ができます。

pm2.keymetrics.io

$ git clone https://github.com/electron/electron-quick-start
$ cd electron-quick-start
$ npm install
$ npm run build

// pm2設定ファイルを作成
$ vim pm2.yml
apps:
  - script: /home/pi/electron-quick-start/start.sh
    name: 'electron-quick-start'
    env:
      NODE_ENV: development
    env_production:
      NODE_ENV: production

// 起動ファイルを作成
$ vim start.sh
cd ~/electron-quick-start
DISPLAY=:0 npm start

$ sudo npm install -g pm2
$ sudo su -c "env PATH=$PATH:/usr/bin pm2 startup -u pi --hp /home/pi"
$ pm2 start ~/electron-quick-start/pm2.yml
$ pm2 save