Help us understand the problem. What is going on with this article?

公式 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です。

以上で設定完了です!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away