LoginSignup
2
4

More than 5 years have passed since last update.

SoracomAir接続をSystemdでサービス化したメモ

Posted at

RaspberryPi3にSoracomAirのSIM挿したあとの話。

通信するにはSoracom提供の connect_air.sh を走らせておくのだが
それをサービス化する。


サービス化

mkdir -p /opt/soracom/bin

cd /opt/soracom/bin

#### Soracomで公開されているやつ
curl -L -O http://soracom-files.s3.amazonaws.com/connect_air.sh

chmod 555 connect_air.sh

#### startとstopだけのsoracom.shを作る
# connect_air.shを呼ぶだけ
cat > soracom.sh <<'EOF'
#!/bin/bash -e

BASE_DIR=$(cd $(dirname $0)/..;pwd)

case "$1" in
  "start")
    ${BASE_DIR}/bin/connect_air.sh
    ;;
  "stop")
    kill -SIGINT $2
    ;;
esac
EOF

chmod 555 soracom.sh

#### サービス化する
# $MAINPIDでProcessIDを参照できるらしい
cat > /etc/systemd/system/soracom.service <<'EOF'
[Unit]
Description = soracom air ppp connect

[Service]
ExecStart = /opt/soracom/bin/soracom.sh start
ExecStop = /opt/soracom/bin/soracom.sh stop $MAINPID

[Install]
WantedBy = multi-user.target
EOF

使いかた

#### 確認
# soracom.serviceが表示されればOK
systemctl list-unit-files --type=service

#### 起動
# 少し待ってからifconfig叩くとpppがUPになってるはず
systemctl start soracom

#### 停止
systemctl stop soracom

USBドングル挿したら接続開始する、みたいな
upnp的にやってくれるようにできたらいいな。。。

2
4
0

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
  3. You can use dark theme
What you can do with signing up
2
4