RaspberryPi ボタン付き3.2インチ液晶

ボタンの設定プログラム
cd /home/pi
sudo nano TFT_button.py
で以下の内容を転記し保存する。

#!/usr/bin/python

import time, sys, os, commands
import RPi.GPIO as GPIO

Button1 = 18
Button2 = 23
Button3 = 24

try:
GPIO.setmode(GPIO.BCM)
GPIO.setup(Button1, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(Button2, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(Button3, GPIO.IN, pull_up_down=GPIO.PUD_UP)
while 1:
data1 = GPIO.input(Button1)
data2 = GPIO.input(Button2)
data3 = GPIO.input(Button3)

# If the button is pressed, take action.
if data1 == 0:
os.system(“FRAMEBUFFER=/dev/fb1 su -l pi -c startx &”)
time.sleep(10)

if data2 == 0:
os.system(“sudo shutdown -h now”)
time.sleep(99)

if data3 == 0:
os.system(“sudo shutdown -r now”)
time.sleep(99)

time.sleep(0.1)

except KeyboardInterrupt:
pass
finally:
GPIO.cleanup()

保存したら実行権を与え実行する。
sudo chmod +x TFT_button.py
続いて下記コマンドから起動時常駐させるよう変更する。
cd /etc/init.d
sudo nano TFT_button.sh
以下をファイルにコピペし保存する。

#! /bin/sh
### BEGIN INIT INFO
# Provides: TFT_button
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Buttons on the TFT monitor board
# Description: wait button press on the TFT monitor board
### END INIT INFO

# /home/pi/TFT_button.py

PIDFILE=/var/run/TFT_button.pid
case “$1” in
start)
if [ -f $PIDFILE ]; then
echo $PIDFILE exists.
exit 1
fi
start-stop-daemon -S -x /home/pi/TFT_button.py -b -m -p $PIDFILE
;;
stop)
if [ ! -f $PIDFILE ]; then
echo $PIDFILE not found.
exit 1
fi
start-stop-daemon -K -p $PIDFILE
rm $PIDFILE
;;
*)
echo “Usage: /etc/init.d/TFT_button.sh {start|stop}”
exit 1
;;
esac

exit 0
実行可能にする。
sudo chmod +x TFT_button.sh
起動時の実行設定
sudo update-rc.d TFT_button.sh defaults
起動時の実行の取りやめ
sudo update-rc.d TFT_button.sh remove
以上

RaspiをVPNServerにする。

初期設定は完了しておく。

・仕事でサーバー設定をするのにセキュリティーを自宅回線のIPでかけるため、外からの作業様にSoftEther VPNでVPNサーバーを構築することにした。

ベースのraspbianは新しくリリースされた「raspbian-jessie」にした。

  1. bridge-utilsを入れる。
    sudo apt-get install bridge-utils
  2. /etc/network/interfacesを編集する。
    sudo nano /etc/network/interfaces

    auto lo br0
    iface lo inet loopback
    iface br0 inet static
    address 192.168.1.20
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 192.168.1.1
    
    bridge_ports all
    
    
  3. SoftEther VPNのインストール
    ダウンロードして展開してmakeするだけでOK。
    wget http://jp.softether-download.com/files/softether/v4.19-9578-beta-2015.09.15-tree/Linux/SoftEther_VPN_Server/32bit_-_ARM_EABI/softether-vpnserver-v4.19-9578-beta-2015.09.15-linux-arm_eabi-32bit.tar.gzsudo tar zxvf softether-vpnserver-v4.19-9578-beta-2015.09.15-linux-arm_eabi-32bit.tar.gzcd vpnserver
    makemakeが完了したらvpnserverディレクトリを丸ごと
    /usr/local/に移動しファイルの属性を変更する。cd ..
    sudo mv vpnserver /usr/local/
    $ cd /usr/local/vpnserver
    $ chmod 600 *
    $ chmod 700 vpncmd
    $ chmod 700 vpnserver
  4. 起動時スクリプトを作成。
    sudo nano /etc/init.d/vpnserver#!/bin/sh
    ### BEGIN INIT INFO
    # Provides: vpnserver
    # Required-Start: $local_fs $network
    # Required-Stop: $local_fs $network
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: SoftEther VPN RTM
    # Description: Start vpnserver daemon SoftEther VPN Server
    ### END INIT INFODAEMON=/usr/local/vpnserver/vpnserver
    LOCK=/var/lock/vpnserver# tun/tapモジュールのロード
    sudo modprobe tun. /lib/lsb/init-functions
    test -x $DAEMON || exit 0case “$1” in
    start)
    sleep 3
    log_daemon_msg “Starting SoftEther VPN Server” “vpnserver”
    $DAEMON start >/dev/null 2>&1
    touch $LOCK
    log_end_msg 0
    sleep 3

    # SoftEther VPNで追加した仮想tapデバイス名を調べる
    tap=`/sbin/ifconfig -a| awk ‘$1 ~ /^tap/ {print $1}’`
    /sbin/brctl addif br0 $tap
    ;;

    stop)
    log_daemon_msg “Stopping SoftEther VPN Server” “vpnserver”
    $DAEMON stop >/dev/null 2>&1
    rm $LOCK
    log_end_msg 0
    sleep 2
    ;;

    restart)
    $DAEMON stop
    sleep 2

    $DAEMON start
    sleep 5
    # SoftEther VPNで追加した仮想tapデバイス名を調べる
    tap=`/sbin/ifconfig -a| awk ‘$1 ~ /^tap/ {print $1}’`
    /sbin/brctl addif br0 $tap
    ;;

    status)
    if [ -e $LOCK ]
    then
    echo “vpnserver is running.”
    else
    echo “vpnserver is not running.”
    fi
    ;;
    *)

    echo “Usage: $0 {start|stop|restart|status}”
    exit 1
    esac
    exit 0

  5. このファイルに実行権限を付けて起動登録する。
    sudo chmod +x /etc/init.d/vpnserver
    sudo update-rc.d vpnserver defaults
    sudo insserv vpnserver
    sudo service vpnserver start
    sudo reboot
  6. VPNServerが起動しているか確認
    service vpnserver status
  7. 導入はここまで。
    ルータのポート開放をしておく。
    TCPポート: 443 TCPポート: 992 UDPポート: 500 UDPポート: 4500

参考サイト
・http://www.majishini.net/wp/?p=833
・http://gotcha-note.com/raspberry-pi2_vpn/