search
LoginSignup
1

More than 3 years have passed since last update.

posted at

updated at

Organization

公式 Buster イメージから 4GPi のセットアップ

はじめに

概要

公式Busterイメージをインストールしたラズパイに対して
4GPiセットアップの手順を2つ紹介します。

A. curlを使って4GPiのセットアップ
B. ansibleを使って4GPiのセットアップ

4GPiとは?

4GPi(フォージーパイ)は、ラズベリーパイ専用に開発された4G(LTE)通信モジュールです。

4GPiの用途の一例を以下記事で紹介しております。
Stretch 版 4GPi のイメージから Buster へのアップグレード~4GPiを使うメリット~

必要なもの

◎ ラズベリーパイ用4G(LTE)通信モジュール「4GPi」
◎ ACアダプタ(12V 2A) 
◎ 標準SIM(私の場合は"NanoSIM" + "標準SIMへの変換アダプタ"で対応)
◎ ラズパイ
◎ パソコン
◎ MicroSDカード

取り付け手順・機器の画像・補足事項はStretch 版 4GPi のイメージから Buster へのアップグレード~必要な物~で紹介しておりますのでそちらを参照ください!

前回の記事では、ラズパイにHDMIで直接ディスプレイを接続していましたが今回はパソコンからsshでラズパイに接続します。

下準備(Busterをラズパイにインストール)

公式Busterイメージのダウンロード

公式サイトからBusterのイメージをダウンロードします。
https://www.raspberrypi.org/downloads/raspbian/

イメージを3種類の中から選べますが、どのイメージでも問題ありません。
私は軽量な「Raspbian Buster Lite」をダウンロードしました。

OSイメージをMicroSDカードへ書き込み

zipファイルのままMicoSDカードにコピーしただけではラズパイはOSを読み込むことができません。
ラズパイが読み取れるように書き込みソフトを利用しましょう。

今回は有名な書き込みソフト「Etcher」を使用しました。
書き込み手順はこちら

ssh接続用のWiFi設定ファイルをbootフォルダ直下に配置

SDカードに展開されたbootフォルダ直下にSSIDとパスワードを記載したwpa_supplicant.confを配置します。
これにより、ラズパイにWiFiを設定できます。
[2019-09-10_22h08_03.png

wpa_supplicant.conf内は以下のように記載にします。
※ssid名とパスワードはご自身のWiFiの値を適応ください。

country=JP
update_config=1
ctrl_interface=/var/run/wpa_supplicant

network={
    scan_ssid=1
    ssid="ssid名"
    psk="パスワード"
}

sshの許可のフォルダを配置

root直下に「ssh」という名前のフォルダを新規作成してください。
これでラズパイへssh通信が可能となります。
2019-09-10_22h09_19.png

ラズパイとssh接続

ラズパイにSDカードを挿入後、電源投入します。
数十秒後、下記コマンドを使用してパソコンからラズパイへssh接続します。

ssh pi@raspberrypi.local

初期パスワードは「raspberry」です。
※セキュリティを考慮して初期パスワードは早めに変更しましょう。

A. curlを使って4GPiのセットアップ

4GPiのインストール

4GPiのパッケージを更新用にリポジトリを追加します。

curl https://mechatrax.github.io/setup.sh | sudo bash

curl(Client for URLs)は、URL先のデータをプロトコルを用いて送受信するコマンドです。
対応プロトコルはHTTP、HTTPS、FTP、FTPS、SCP、SFTP、TFTP、DICT、TELNET、LDAP、FILEなど多数あります。
今回curlはデータをダウンロードする目的で使用します。

次に4GPiのツールをインストールします。

sudo apt install 4gpi-utils 4gpi-net-mods 4gpi-networkmanager

パッケージをアップデートしましょう。

sudo apt update
sudo apt upgrade

4GPiのソフトウェアが入っているか確認しましょう。


dpkg -l | grep 4gpi

SIMカードの情報を登録

各SIMカードで開示されているAPNを設定します。

sudo nmcli con add type gsm ifname "*" con-name 「接続名」 apn 「APN」 user 「ユーザー」 password 「パスワード」

「接続名」は任意の名称を付けてください。
「APN」,「ユーザー」,「パスワード」は各SIM会社のサイトを参照ください。
※0SIMのAPNははこちら

0SIMの場合は以下のように設定します。

sudo nmcli con add type gsm ifname "*" con-name 0sim apn so-net.jp user nuro password nuro

設定を反映するために再起動します。

sudo reboot

再起動後は再びssh接続し、SIMカードが通信できているかを確認しましょう。

sudo ifconfig wwan0 

inetにアドレスが表示されていればOKです。

B. ansibleを使って4GPiのセットアップ

ラズパイとssh接続まで手順を進めてください。

ansibleのインストール

ansibleのインストールのためPythonのpipをインストールします。

sudo apt-get install python-pip

ansibleをインストールします。

sudo pip install ansible

ansibleとは構成管理ツールです。
例えば複数台のラズパイを同じパッケージの構成(パッケージ数は100個)でセットアップするとします。

1つ1つを手作業でパッケージをインストールするのは手間ですし、ミスが生じる可能性があります。

しかし、ansibleでは設定ファイルに複数パッケージを記載することで、まとめてインストールできます。

ansibleの設定ファイルを最初に1つ作っておけば同じ構成のラズパイを量産できます。

注意ですが、ansibleはWindows内のインストールをサポートしておりませんので、linux環境で実行しましょう。
(私はここで1時間は浪費しました・・・)

ansible playbookによる環境構築

今回はホスト側であるラズパイから直接実行しています。
また、別PCからラズパイへリモート(ssh接続)でansible-playbookを実行してもセットアップが可能です。

playbookをダウンロードするためgitをインストールします。

sudo apt-get install git

メカトラックス様が公開しているGitHubよりplaybookのデータをインストールします。

git clone https://github.com/mechatrax/ansible-mechatrax-playbook.git

インストール後のフォルダに移動します。

cd ansible-mechatrax-playbook/

hostsのデータを変更します。

vi hosts 

を「raspberrypi.local」から「localhost」へ変更します。

[raspi]
localhost

[raspi:vars]
ansible_ssh_user=pi
ansible_ssh_pass=raspberry

sshpassをインストールします。

sudo apt-get install sshpass

playbookを実行します。

ansible-playbook -i hosts 4gpi.yml

インストール完了後はssh接続が一度切断されるので再度ssh接続し、
4GPiがインストールできているかを確認します。

dpkg -l | grep 4gpi

と打って、以下のように表示されていれば無事インストールされています。

ii  4gpi-net-mods         1.0.0  all  Network configuration for 4GPi
ii  4gpi-networkmanager   1.0.1  all  NetworkManager settings for 4GPi
ii  4gpi-utils            1.0.1  all  Utilities for 4GPi family

SIMカードの情報を登録

各SIMカードで開示されているAPNを設定します。

0SIMの場合は以下のように設定します。

sudo nmcli con add type gsm ifname "*" con-name 0sim apn so-net.jp user nuro password nuro

設定を反映するために再起動します。

sudo reboot

再起動後は再びssh接続し、SIMカードが通信できているかを確認しましょう。

sudo ifconfig wwan0 

inetにアドレスが表示されていればOKです。

以上で設定完了です!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1