事前準備
- SDカードフォーマットSDカードフォーマッターを使用
- Raspbianのダウンロード北陸先端大のミラーを使うと良いらしい
http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/
- ダウンロードしたzipファイルを解凍
- imgファイルをWin32DiskImager等で書込む
- sdカードを挿す
- キーボード、マウス、モニタをつないで電源投入
- 指示に従って初期設定ロケール
ユーザーパスワード
無線ルータ SSID,パスワード
IPの固定化
将来Webサーバーとして外部からアクセスするのにDHCPを利用していては都度IPが変わって使いづらいので
IPアドレスを固定する
デスクトップ右上のネットワークのアイコン右クリック→Wireless & Wired Network Setting
から行うとうまく設定できなかったので設定ファイルを直接いじる
- $ sudo nano /etc/dhcpcd.conf
- 以下の設定を書込みinterface wlan0
static ip_address=192.168.0.95/24 (注:今回は95にした。使えるIPは要確認)
static routers=192.168.0.2
static domain_name_servers=61.122.116.147
- Rebootしてネットワークが繋がっていたらOK
その他の設定
$ sudo raspi-config
でコンフィグ画面起動
- 5.Interfacing OptionsからSSH, VNC, I2C, Serial, Remote GPIO をイネーブルにする
- 4.Localisation Optionsから
- I1 Change Localeを選択し、ja_JP, UTF-8 UTF-8が選択されていることを確認
- I2 Change TimeZoneを選択し、「アジア」→「東京」が選択されていることを確認
- I3 Change Keyboard Layoutを選択し、
- 「標準 105 キー(国際)PC」→「日本語(OADG 109A)」
- AltGrとして機能させるキー:デフォルト
- コンポーズキー:コンポーズキーなし
- Xサーバを強制終了するのにControl+Alt+Backspaceを使いますか? → はい
- Finish
- 再起動
- TeraTermからSSHでログインできることを確認※TeraTerm から SSHで操作するとき、DeleteキーがBackSpace動作してしまう問題
TeraTermの設定→キーボード→DELを送信するキー からDeleteキーのチェックを外す
その後設定を保存すること
OSのバージョン確認
OSのバージョン
$ cat /etc/debian_version
Kernelのバージョン
$ uname -a
nano Editorの設定
$ sudo nano /etc/nanorc
- set linenumbers のコメントを外す → 行番号表示
- set tabsize 4 に変更 → タブサイズ設定
OSと各種プログラムのアップデート
OSのアップデート
$ sudo apt-get update
各種プログラムのアップデート(動いていたプログラムが動かなくなることが多いので最初に1回のみ行うべき)
$ sudo apt-get –fix-missing upgrade
ディストリビューションのアップデート(動いていたプログラムが動かなくなることが多いので最初に1回のみ行うべき)
$ sudo apt-get dist-upgrade
再起動
ファイアウォールのインストールと設定
- ファイアウォールの設定を行うiptables用のルールの設定を行う$ sudo aptitude install iptables-persistent
途中でIPv4,IPv6用のファイルを設定するか確認ダイアログが表示されるのでどちらも「Yes」
- 再起動
- ファイアウォール インストール$ sudo apt-get install ufw
- ファイアウォールを無効にする$ sudo ufw disable
- デフォルトで全てのポートを使用禁止にする$ sudo ufw default deny
- ポート番号80の使用を許可$ sudo ufw allow 80
同様に以下のポートを許可
$ sudo ufw allow 22/tcp
$ sudo ufw allow 3389 → リモートデスクトップ用
$ sudo ufw allow 3350 → リモートデスクトップ用
$ sudo ufw allow 8000 → WebIoPi用
$ sudo ufw allow 8081
$ sudo ufw allow 8080
- ファイアウォールを有効にする$ sufo ufw enable
- 設定一覧の確認$ sudo ufw status numbered
不要なポート番号のルール削除はこの一覧で出てきた番号でしていする
ファイアウォールの設定での修正箇所
- Raspbian Stretchにおいて、自動起動設定のために以下のリンクを張る$ sudo ln -s /lib/systemd/system/ufw.service /etc/systemd/system/ufw.service
- Raspbian Stretchにおいて、OS起動時にufwが自動起動しない問題の対応$ sudo nano /etc/defaule/ufw
7行目付近のIPv6を無効化する
IPV6=no
- /etc直下のrc.localファイル最終行あたりの以下を追加$ sudo nano /etc/rc.local
systemctl start ufw
- ファイアウォールを自動起動設定にする$ sudo systemctl enable ufw
- 再起動してステータス確認$ sudo systemctl status ufw
緑字で active と出ていればOK
リモートデスクトップのインストールと起動
- vncサーバのインストール$ sudo apt-get install tightvncserver
- xrdpのインストール$ sudo apt-get install xrdp
- xrdpの日本語キーボードへの対応$ cd /etc/xrdp
$ sudo systemctl restart xrdp
$ sudo systemctl enable xrdp
- これで他PCからリモートデスクトップログインできるコンピュータ:192.168.0.95:3389(xrdpのポート番号 xedp.iniで規定されている)
※Windowsアクセサリ→リモートデスクトップ接続から Session : Xorg で接続する
DELLのリモートデスクトップから接続するとキーボード入力がおかしくなる
日本語入力設定
- 日本語入力システムをインストール$ sudo apt-get -y install ibus-mozc
-y はyes/no を全部省略する
ibusはUNIX系のインプットメソッドフレームワーク
mozcはGoogleの日本語入力システム
- RaspberryPiのメニューの「設定」→「IBusの設定を選ぶ」IBusデーモンが実行されていません。起動しますか? で はい を選択
- 「IBusは起動されています・・・」のウィンドウで OK をクリック
- 設定ウィンドウはそのまま閉じる
- デスクトップ右上のJAアイコンをクリックし、日本語-Mozc を選択
- syncコマンドを3回実行した後再起動
Webサーバーのインストールと動作確認
- ダウンロードをインストール$ sudo apt-get install apache2
- 自動起動設定$ sudo systemctl enable apache2
- Webサーバーの実行状態を確認$ sudo systemctl status apache2
緑字で active (running) と出ていればOK
この時点でWebブラウザから http://IPアドレス と打てばデフォルトのページが表示される
/var/www/html/index.html
WebIOPiを使う事前準備
- apacheの実行ユーザーであるwww-dataをグループgpioに追加$ sudo gpasswd -a www-data gpio
- 確認$ nano /etc/apache2/envvars
APACHE_RUN_USERを検索してwww-dataがあればOK
- Webサーバーを再起動してステータス確認$ sudo systemctl restart apache2
$ sudo systemctl status apache2
- グループgpioにどのユーザが所属しているか確認$ getent group gpio
www-dataが表示されればOK
WebIOPiセットアップ
- ディレクトリを ~/workに移動しておく$ cd ~/work
- WebIOPiのダウンロード$ wget https://sourceforge.net/projects/webiopi/files/WebIOPi-0.7.1.tar.gz
- WebIOPiの解凍$ tar xvzf WebIOPi-0.7.1.tar.gz
- 解凍したWebIOPiのディレクトリに移動$ cd WebIOPi-0.7.1
- 修正パッチのダウンロードwget https://raw.githubusercontent.com/doublebind/raspi/master/webiopi-pi2bplus.patch
- 修正パッチ適用$ patch -p1 -i webiopi-pi2bplus.patch
- セットアップスクリプト実行$ sudo ./setup.sh
- ダウンロードと設定が行われ、しばらく時間がかかるDo you want to access WebIOPi over Internet? で Y を入力
- WebIOPiをサービスとして開始するためのファイルをダウンロード$ cd /etc/systemd/sysytem/
$ sudo wget https://raw.githubusercontent.com/doublebind/raspi/master/webiopi.service
- 以下のファイルの内容を確認・変更
- passwd-file … をコメントアウト
- doc-root = /usr/share/webiopi/htdocs/
- welcom-file = index.html
- webiopiサービスの再起動$ sudo systemctl restart webiopi
3分程度かかる
- ブラウザからアクセスhttp://(IPアドレス):8000/
認証アカウントを聞かれたら ID : webiopi / Pass : raspberry
passwd-file … をコメントアウトしているので聞かれないはず
- メニューのGPIO HeaderをクリックするとGPIOを制御できる
I2Cの動作設定
- /etc/modulesの内容確認$ sudo nano /etc/modules
i2c-dev の記載があることを確認
- コンフィグ設定$ sudo nano /boot/config.txt
dtparam=i2c_arm=on を確認
dtparam=audio=on を#コメントアウト
- $ sudo reboot で再起動
- 設定が反映されていることを確認$ dmesg | grep i2c
[ *******] i2c /dev entries driver のように表示される
- $ sudo i2cdetect以下のような表示となる
i2c-1 i2c bcm2835 I2C adapter I2C adapter
- この段階でI2Cデバイスが接続されていれば$ sudo i2cdetect -y 1
で接続されているデバイスのスレーブアドレスが表示される
コメントを残す