Digi Connect ME(DC-ME-01-IZU)とクロスケーブルで接続しWebサーバーにアクセスする
シリコンハウス共立でDigi社のConnect ME(DC-ME-01-IZU)を1000円で購入した。
Connect MEとはDigi社が販売している組み込みモジュール製品で、無線/有線のネットワーク越しでシリアル通信ができるというもの。それだけではなく色々なことができる。
見た目はEthernetのRJ-45コネクタ単体を一回り大きくしたようなもの。知らない人が見たら変わった形のRJ-45コネクタ、にしか見えない。
今回購入したのはDC-ME-01-IZUというもので、調べたところ現在のDigi社のWebサイトの商品リストには無く、近しいものはDC-ME-01T-Cと思われる。幸い共立エレショップがネット販売もしているので商品ページからスペックは見られる。
eleshop.jp
本体のRJ-45端子とは反対側の裏側に1.27mmピッチの2*10の端子がある。1.27mmピッチでは使いづらいので、1.27→2.54変換のサンハヤトのCK-47と2X10のボックスヘッダ(ボックスヘッダ 20P(2×10): パーツ一般 秋月電子通商-電子部品・ネット通販)を購入してはんだ付けした。
DC-ME-01TのHardware Referenceのpdf(Digi Connect ME NET+OS)を参考にピン配置図を作った。
※裏側からのピン配置図なので注意。
電源(3.3V)の電圧を加えてLANケーブルとルーターを接続してWebサーバーを確認したが、DC-ME-01T-IZUは192.168.1.1へのみDHCPの問い合わせを行うらしく、ルーターなどのDHCPサーバーが192.168.1.1以外の場合、IPが割り振られず永遠にアクセスできない。その場合ルーターの設定を変更するか、あるいはクロスケーブルでPCとDC-ME-01T-IZUを直結してPC側でDHCPサーバーを立てるかである。今回はKea-DHCPを使ってPC側にDHCPサーバーを立ててアクセスを試みる。なおPCの環境はUbuntu 22.04.1 LTSで、Kea-DHCPのkeactrlはver.2.0.2、kea-dhcp4はver.2.0.2である。
最初にKea-DHCPサーバーをインストールする。
$sudo apt install kea-dhcp4-server
インストール後、PC側のクロスケーブルで接続に使用するEthernetのインターフェースを確認する。
$ip link 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp00: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000 link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
ここでは2が有線LANのインターフェースで、インターフェース名enp00
を控えておく。判別方法としては「enp~」から始まるときはだいたい有線LANで、「wlp~」から始まるときはおそらく無線LANである。
次にKea-DHCPの設定を行っていく。万が一オリジナルの設定がわからなくなっときに困るのでバックアップを取っておく。
$ cp /etc/kea/kea-dhcp4.conf ~/kea-dhcp4_origin.conf
直接オリジナルの設定ファイルを変更するのはよろしくなく、また本来ならばKea-DHCPの起動オプションで設定ファイルを指定して起動することができるのだが、Permission deniedで弾かれたため以下非推奨の設定の方法で行う。(解決方法が見つかれば修正します。)
$ sudo vim /etc/kea/kea-dhcp4.conf
設定ファイルを保存したら
// confファイルはJSON形式で記述されておりコメントは//で書く。
"Dhcp4": {
"interfaces-config": {
// インターフェース名を指定する。
"interfaces": [ "enp00" ]
~~
"subnet4": [
{
// サブネットマスクを指定する。
"subnet": "192.168.1.0/24",
~~
// 使用するIPアドレスの範囲を指定する。DC-ME-01T-IZUに与える固定IPアドレスはこの範囲のものにする。
"pools": [ { "pool": "192.168.1.10 - 192.168.1.200" } ],
~~
"option-data": [
{
// デフォルトゲートウェイのIPアドレスを指定する。
"name": "routers",
"data": "192.168.1.1"
}
],
// 固定IPアドレスを設定していく。
"reservations": [
{
// 一番簡単なMACアドレスからIPアドレスを与える方法で設定する。
// DC-ME-01-IZUのMACアドレス
"hw-address": "00:40:9d:XX:XX:XX",
"ip-address": "192.168.1.10"
},
{
// 追加で指定する場合は続けて書いていく。
}
~~
$sudo keactrl status
でDHCPサーバの起動を確認する。起動していればsudo keactrl reload
で設定の再読込、停止しているのならsudo keactrl start -s dhcp4
で起動する。ログは/var/log/kea-dhcp4.log
にあり、起動しない場合は確認する。エラーログが出ずに起動しない場合はJSONの文法でエラーを起こしている場合もあるので、設定ファイルを確認する。DHCPサーバーの起動に成功したら、Ubuntuのネットワークの接続の設定を変更して、固定IPにする。enp00インターフェースのIPv4の設定を「手動」にし以下のようにアドレスを設定する
アドレス: 192.168.1.1 ネットマスク: 24 ゲートウェイ: 192.168.1.1
DC-ME-01T-IZUに電源をつないで起動し、クロスケーブルでPCに接続する。pingを打って割り振られているか確認する。DC-ME-01T-IZUのwebサーバーが起動が遅いので帰ってこないときは、しばらく待って再度打つ。
$ ping 192.168.1.10
pingが帰ってきてIPアドレスが割り振られていることを確認したらブラウザで192.168.1.10
にアクセスすると、下のようなページに繋がれば成功である。
またtelnetを使用しても接続が可能である。
$ telnet 192.168.1.10 Trying 192.168.1.10... Connected to 192.168.1.10. Escape character is '^]'. #> backup boot close connect display exit help info kill newpass quit reconnect revert rlogin set show status telnet who ? #> status Connection: 1 From: 192.168.1.1 Connection not associated with any sessions. #> qConnection closed by foreign host. $
なお、Kea-DHCPはOSが起動時に毎回自動起動するので、$ sudo systemctl disable isc-dhcp-server
で起動しないようにすると、$sudo keactrl start -s dhcp4
で起動しなくなる。この場合は$ sudo systemctl start kea-dhcp4-server.service
で一度起動すれば、$ sudo keactrl stop
で止めても再度$ sudo keactrl start -s dhcp4
で起動が可能になる。
参考文献