「SIMカード+4GPi」でラズパイをモバイルWiFiルーターにする
モバイルWiFiルーターとは?
小型で軽量な通信端末のことであり、一例を挙げるとポケットWiFiです。
本記事は「4GPi+SIMカード+ラズベリーパイ」でモバイルWiFiルーターとして
データ通信する手順を紹介します。
4GPiとは?
4GPi(フォージーパイ)は、ラズベリーパイ専用に開発された4G(LTE)通信モジュールです。
以下サイトで4GPiの使用例を紹介しております。
・ メカトラックス様公式サイト(受託開発・製造)
・ Stretch 版 4GPi のイメージから Buster へのアップグレード~4GPiを使うメリット~
必要な物
◎ ラズベリーパイ用4G(LTE)通信モジュール「4GPi」
◎ ACアダプタ(12V 2A)
◎ 標準SIM(私の場合は"NanoSIM" + "標準SIMへの変換アダプタ"で対応)
◎ ラズパイ
◎ パソコン
◎ MicroSDカード
取り付け手順・機器の画像・補足事項はStretch 版 4GPi のイメージから Buster へのアップグレード~必要な物~で紹介しておりますのでそちらを参照ください!
「SIMカード+4GPi」でラズパイをモバイルWiFiルーターにする
下準備
OSのダウンロード
4GPiインストール済のbuster版イメージをダウンロードします。
OSイメージをMicroSDカードへ書き込み
今回は有名な書き込みソフト「Etcher」を使用しました。
書き込み手順はこちらのサイトを参照
パソコンからssh接続
ブラウザの表示をコピペしたいので、パソコンからssh接続します。
もちろんラズパイ直接入力でも問題ありません。
ssh pi@IPアドレス
のちの手順でwlan0をアクセスポイントとして使用するためラズパイは有線LANでつなぐことをお勧めします。
有線LANの場合、IPアドレスはifconfigコマンドで表示されるeth0のinetを入力してください。
ラズパイのパッケージを更新
sudo apt-get update
sudo apt-get upgrade
SIMカード情報を登録
項目 | Y!Moblieの場合 |
---|---|
APN | plus.acs.jp |
ユーザー | ym |
パスワード | ym |
Y!Moblieの場合は
sudo nmcli con add type gsm ifname "*" con-name ymobile apn plus.acs.jp user ym password ym
接続できているかifconfigコマンドで確認します。
ifconfig wwan0
inetにIPアドレスが表示されていればokです。
wlan0を静的IPにする
アクセスポイントにするにはワイヤレスポートに割り当てられた静的IPアドレスが必要となります。
まずは設定ファイルを変更します。
sudo vi /etc/dhcpcd.conf
dhcpcd.conf内でwlan0に静的IP(192.168.4.1)を設定します。
また、wpa_supplicantの設定ファイルを読み込まないようにします。
ファイルの最終行に以下の3行を追加してください。
interface wlan0
static ip_address=192.168.4.1/24
nohook wpa_supplicant
そして、変更した設定ファイルにて再起動します。
sudo service dhcpcd restart
DHCPサーバーの設定(IPアドレスの自動割り当て)
DHCP(Dynamic Host Configuration Protocol)を設定します。
DHCPとは「コンピュータがネットワークに接続する際に必要な設定情報を自動的に割り当てる仕組み」です。
まずはdnsmasqをインストールします。
sudo apt install dnsmasq
既存のファイルは使用しませんので、リネームして別ファイルとして保存しておきましょう。
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
新しくファイルを新規作成します。
sudo vi /etc/dnsmasq.conf
中身に以下を2行を記載します。
interface=wlan0
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h
24時間のリース時間で、192.168.4.2から192.168.4.20のIPアドレスを提供します。
dnsmasqの更新された設定ファイルにて再起動します。
sudo service dnsmasq restart
起動状態をチェックします。
sudo systemctl status dnsmasq
以下のように「Active:」の後にactive(runnnig)と記載されていればokです。
Active: active (running) since Mon 2019-09-16 16:27:48 JST; 2min 8s ago
ラズパイをアクセスポイントにする
アクセスポイントを設定するパッケージ「hostapd」をインストールします。
sudo apt-get install hostapd
設定ファイルを新規作成します。
sudo vi /etc/hostapd/hostapd.conf
次に、以下内容を記載します。
「ssid」と「wpa_passphrase」は好きな値を設定してください。
interface=wlan0
driver=nl80211
ssid=RPiHotSpot
hw_mode=g
channel=6
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=1234567890
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
「ssid」がWiFi接続の際に表示される名称でパスワードが「wpa_passphrase」です。
次にこの構成ファイルの場所をシステムに伝える必要があります。
sudo vi /etc/default/hostapd
DAEMON_CONF="/etc/hostapd/hostapd.conf"
起動するファイル名は、先ほどの設定ファイル「hostapd.conf」のフルパスを入力します。
hostapdを以下手順で起動します。
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl start hostapd
起動状態をチェックします。
sudo systemctl status hostapd
以下のように「Active:」の後にactive(runnnig)と記載されていればokです。
Active: active (running) since Mon 2019-09-16 16:27:48 JST; 2min 8s ago
wlan0にアクセスした端末をSIMカードと通信する設定
sysctl.confを編集します。
sudo vi /etc/sysctl.conf
以下のコメントアウトを外します。
net.ipv4.ip_forward=1
wwan0のマスカレードを追加します。
sudo iptables -t nat -A POSTROUTING -o wwan0 -j MASQUERADE
iptablesのルールを保存します。
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
ブート時にこれらのルールをインストールします。
sudo vi /etc/rc.local
exit 0の上の行に次のコマンドを追加します。
iptables-restore < /etc/iptables.ipv4.nat
ラズパイを再起動します。
sudo reboot
ここで有線LANを抜きましょう。
私の場合、有線LANが接続されたままだと「RPiHotSpot」に接続できますが、
Webサイトを読み込むことができませんでした。(干渉?)
スマホでWiFiとして設定できるか確認しましょう。
以上で設定完了です。
おまけ(スピードチェック)
スマートフォン内にSIMカードを挿入してデータ通信した場合は19.0Mbps、
4GPiからスマートフォンにWiFiとしてデータ通信した場合は12.0Mbpsでした。
スマートフォンから直接SIMを読み込むほうが少し早かったです。
4GPiの速度はパラボラアンテナを作ると少しは上がるかもしれません。
参考サイト
Author And Source
この問題について(「SIMカード+4GPi」でラズパイをモバイルWiFiルーターにする), 我々は、より多くの情報をここで見つけました https://qiita.com/vascodagama/items/163f260d98e5e80ebcee著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .