IoT用ラズパイのIPアドレス固定2020年度版


1. はじめに

一般的に、IoTの基礎として学ぶのは、センサから何らかの情報を収集し、その情報をサーバを送る、という流れだと思います。そして、学んだことを自分で実践しようとして始めに躓くのが、Wi-Fi設定 と サーバ設定 のようです(私の個人的なヒアリングより)。 ここでは、サーバーとしてラズパイを用いて、それを設置する流れを説明します。 この記事の「ルータ」とは、NATを行う程度のもので、家庭用ルータや家庭用Wi-Fiルータなどを指します。

2. 設置前に確認しましょう

2.1. 会社の場合、接続の許可を得る

自宅であれば、承認を得る必要はありません。しかし、会社で実施する場合、まずは、LANにラズパイやセンサノード(ESP32等)の機器を接続して良いのかを担当者や上司に確認しましょう。中小規模企業であれば、社長やネットワーク担当者、大規模企業であれば、情報システム部門などになるでしょう。それすら判らなければ、会社のEメールなどを担当している人は誰なのか、上司に相談しましょう。
そして、なぜそれを実施したいのかを伝えましょう。説明の例です。

  • 自作IoTを社内で試し、良ければ稼働させたい
  • IoTはカイゼン活動の一種
  • 作業効率を上げるための機材を設置したい
  • 機材はLANを使う必要がある
  • 社内LANに機材を接続したい

社内設置が難しい企業は、IoTの効果を理解できないためのようです。しかし、設置する前から効果がどれくらいあるのか?というのは判りようがありません。そこで、旭鉄工さんの事例を見てもらいましょう。それでもダメならば、残念ながら、会社への設置は難しいと思います。

2.2. IPアドレスの事務的な確保

センサノードはIPアドレスが毎日異なっていても問題ありません。しかし、サーバだけはIPアドレスが決まっていないと、センサノードに書き込むサーバIPアドレスを毎回変える必要があります。

会社では、IPアドレスが固定になっている機器があるはずです。コピー機や、CAD用PC、マシニングセンタなど。それらを管理している人が居るはずです。小規模企業の場合、設置業者が管理していることが多いようです。中規模企業の場合は、担当者がexcel等で管理していると思います。
管理台帳はこのような感じのものです。

アドレス 機器 備考
192.168.1.1 ルータ 常時通電
192.168.1.2 コピー機 常時通電
192.168.1.3 総務経理PC
192.168.1.4 CAD
192.168.1.5 5軸 1号
192.168.1.6 これ以降なし

このような管理がされている場合、192.168.1.6番以降は、空いているということなので、ラズパイを192.168.1.6にするように依頼しましょう。(依頼についてはmacアドレスが必要な場合がありますので、続きは 3.設定 を参照)

しかし、次のような割当が一般的なように思います。前半をDHCP(各端末にIPアドレスを自動的に割り当てる機能)による領域にしている例です。この場合は、192.168.1.133が空いていますので、ラズパイをそこに割り当てるように依頼しましょう。(依頼についてはmacアドレスが必要な場合がありますので、続きは 3.設定 を参照)

アドレス 機器 備考
192.168.1.1 ルータ 常時通電
192.168.1.2 自動割当
: 自動割当
192.168.1.128 自動割当
192.168.1.129 コピー機 常時通電
192.168.1.130 総務経理PC
192.168.1.131 CAD
192.168.1.132 5軸 1号
192.168.1.133 これ以降なし

なお、自宅で番号管理をしていない場合は、自分で決めましょう。192.168.1.2など若番にすると決めても良いでしょう。
なお、注意が必要なのは、左から3つ目の数字です。家庭用ルータでは、192.168.10.*とか、192.168.11.*などが初期状態になっていることがあります。この例では、
1011です。上記の例は、1`にしています。使っているルータの数字に読み替えます。

3.設定

IPアドレスが決まったら、あとは設定するだけです。
ここで、設定には大きく2通りあります。
1. ルータにmacアドレスを登録する方法
2. 空いている番号をラズパイに設定する方法

ネットワークの管理者が居る場合は、どちらなのか質問して、その回答に従いましょう。
自宅などで、自分で管理する場合は、1をおすすめします。
ネットワーク管理者から2で行うことを指示された場合は、自分で設定します。

3.1 macアドレス登録による方法

まずは、ラズパイのmacアドレスを確認します。社内LANに接続する手段が、有線なのか、無線なのかで、見るべきところが異なります。
下記で判らなければ「ラズパイ macアドレス 確認」などで検索しましょう。

3.1.1 有線LANのmacアドレス確認

ラズパイを立ち上げ、ターミナル(左上の黒いアイコン)を開き、次のコマンドを入力します。

ip add

すると次のような表示が出ます。(数字は適当に作っています)

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:12:34:56 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.2/24 brd 192.168.10.255 scope global dynamic noprefixroute eth0
       valid_lft 140140sec preferred_lft 118540sec
    inet6 fe80::bc1d:9ed:e7cf:13cf/64 scope link 
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:12:34:57 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.3/24 brd 192.168.10.255 scope global dynamic noprefixroute eth0
       valid_lft 140140sec preferred_lft 118540sec
    inet6 fe80::bc1d:9ed:e7cf:13ce/64 scope link 
       valid_lft forever preferred_lft forever

ここで注目するところは、2: eth0の次の行です。

link/ether b8:27:eb:12:34:56 brd ff:ff:ff:ff:ff:ff

この b8:27:eb:12:34:56がラズパイの有線LANのmacアドレスです。(数字自体はラズパイ毎に異なります)

3.1.2 無線LANのmacアドレス確認

有線と同じく次のコマンドを入力します。

ip add

表示内容は省略します。3.1.1を見て下さい。
注目するところは、3: wlan0の次の行です。

link/ether b8:27:eb:12:34:57 brd ff:ff:ff:ff:ff:ff

この b8:27:eb:12:34:57がラズパイの無線LANのmacアドレスです。(数字自体はラズパイ毎に異なります)

3.1.3 macアドレス登録

ルータにmacアドレスとIPアドレスを登録します。担当者が居る場合は、macアドレスを伝えるだけで終了です。

自身でルータに設定する方法は、そのルータの説明書に記載があります。もしくは検索しましょう。
検索キーワードは、「ipアドレス固定」とルータの型番やメーカ名です。例えば、buffalo製のWi-Fiルータを使っている場合の検索キーワードは
「ipアドレス固定 buffalo」で該当する説明が出てきます。
IPアドレスとmacアドレスを入力して設定します。
上の例では、192.168.1.133b8:27:eb:12:34:56を設定します。

ラズパイを再起動し、画面の右上の上下矢印(Wi-Fiの場合は扇型)アイコンの上に、カーソルを置き、IPアドレスを確認します。
上の例では192.168.1.133/24のように表示されていればOKです。
異なる数字が表示されたら、ラズパイの電源を切り、1時間程度おいてから起動してみるなどしてみてください。
もし、うまくいかない場合は、「ipアドレス固定 できない」などで検索してみてください。

3.2. ラズパイの設定で固定IPにする

ようやくタイトルの内容になりますが、実はこのあたりは、多くの記事がwebに存在します。「ラズパイ ip 固定」で検索するととても詳しく説明された記事が出てきます。ここでは簡単に方法を記載したいと思います。

ターミナルを開き、次のコマンドを入力します。

sudo nano /etc/dhcpcd.conf

入力はキーボードのみで行います。マウスは使えません。
終了は、CTRLキーを押しながら Xです(これを以後 ctrl + x と記載します)
カーソルキーで下を押していき、最終行にカーソルを移動しましょう。

記述内容は、有線と無線LANで若干異なります。

3.2.1 有線LANの記述

次が例です。192.168.1.133 の場合です。

interface eth0
static ip_address=192.168.1.133/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1 8.8.8.8

注意が必要なのは、左から3つ目の数字です。家庭用ルータでは、192.168.10.とか、192.168.11.などが初期状態になっていることがあります。その場合は、その数字に読み替えます。routersなどの数字も同様です。
会社では、routers, domain_name_serversのアドレスは、担当者に聞いて下さい。「ゲートウエイとDNSのアドレスを教えて下さい」と聞くと良いでしょう。
なお、ip_addressには、アドレスの後ろに/24 を付けます。普通は24ですが、会社によっては異なる場合もありますので、担当者に聞いて下さい。
また、domain_name_serversにある、8.8.8.8は、googleのサービスです。ここでは念のために記載しました。

記載が終わったら、ctrl + oを押して、yesと答え、ctrl + xでnanoを終了します。
その後、再起動して下さい。

3.2.1 無線LANの記述

次が例です。192.168.1.133 の場合です。

interface wlan0
static ip_address=192.168.1.133/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1 8.8.8.8

有線と異なるのは、1行目だけです。wlan0と記入します。
あとのアドレスについては、有線LANと考え方が同じです。
記載が終わったら、ctrl + oを押して、yesと答え、ctrl + xでnanoを終了します。
その後、再起動して下さい。

再起動後に、画面の右上の上下矢印(Wi-Fiの場合は扇型)アイコンの上に、カーソルを置き、IPアドレスを確認します。
このアイコンに赤でバツが付いている場合は、記述が間違っている可能性がありますので、よく見直しましょう。

4. おわりに

IoTを自作で試す場合は、ネットワークはきちんとした知識が必要なのですが、情報の入り口が判れば、自分自身で調べることが出来ると思います。その入り口となりえる情報を目指し、今回は記載してみました。