番外編 Dell Edge Gateway 3001は素人でも使えるのか その1 I/Oの確認

 工場や車両で使われるコンピュータ機器は、温度範囲を含めて、過酷な環境である場合が多いです。特にエンジン・ルームのコントローラECUは、-40~+125℃で動作することが求められます。自動車のラジオは、-40℃で動かなければなりません。人命にかかわるからです。

産業用PC

 目には触れるチャンスはないですが、産業用PCは世界中で生産されています。民生用のPCであれば動作温度範囲は5~35℃程度ですが、今回入手したDell Edge Gateway 3001は、動作時の温度範囲は-30~70℃と広いです。Dell Edge Gateway 3xxxシリーズは3品種あり、5000シリーズの後継機種と思われます。2018年5月現在、アメリカでは販売され、日本では、ほぼすべてのドキュメントが日本語されていますが、販売は始まっていません。

 筆者はマウザーから購入しました。ただし、付属品は扱っていないので、Ubuntu用の本体だけです。CPUはAtom E3805、2GバイトRAM、8GバイトeMMCに、シリアルRS-232/422/485 x 2、有線LAN、Wi-Fiなどが利用できます。技適番号がシールに印刷されています。

OSはubuntu core

 正しい名称がよくわからないのですが、ubuntu core、Ubuntu Core 16というLinuxディストリビューションがサポートされています。たとえばラズパイではapt-getでプログラムを最新版にしたり新規にインストールができます。Ubuntu Coreではsnapコマンドで新規にアプリケーションがインストールできますが、インストールできるものがほとんど見つかりません。

 そのほかに、Dell Command | Configure(DCC)、Dell Command | Monitor(DCM)、Dell Command | Powershell(DCPP) - Windows のみ、Edge Device Management(EDM)、Support Assist(Dell Data Vault(DDV)を含む)などがありますが、購入前にはその内容の説明は見つかりませんでした。

PCだけどI/Oがある

 GPS、加速度、気圧センサ、A-D/D-Aコンバータが用意され、筐体には、GPIO、A-D/D-A用のコネクタが外部に出ています。購入前には、OSの配下で、どのように利用できるかという文書は見つかりませんでした。インストールされているsnapのプログラムを表示できるコマンドが用意されているので、アプリケーションやユーティリティはコンテナのDocker形式で利用するものと推測できます。

 I2Cバス、SPIバスが存在しますが、ラズパイのように汎用GPIOピンは見つかりません。

内容確認

 電源と有線LANコネクタをつなぎ、電源を入れます。電源電圧は12Vから48V付近と自由度は広いです。12V利用時約1Aの消費電流です。デュスプレイはつながらないので、SSHで接続します。製品にはMACアドレスが印刷された用紙が付属します。DHCPでIPアドレスが振られるのが一般的なので、何らかの方法で、IPアドレスを知ります。

 もしDHCPサーバ(多くはインターネット・アクセス用ルータ)が、振り出しているIPアドレスを表示できれば簡単にわかります。多くのルータは、デフォルトで192.168.1.1が振られており、その次の192.168.1.2から192.168.1.254までがDHCPによってつながったPCなどにIPアドレスが振られます。どのように振られているかは、

 arp -a

で表示ができます。ただし、IPアドレスのアクセスがあった記録なので、新規につないだ直後は表示に出ないことが多いです。見当をつけて、

ping 192.168.1.2
ping 192.168.1.3
ping 192.168.1.4
ping 192.168.1.5

...とした後、

 arp -a

で、MACアドレスと一致したIPアドレスがあれば、それがDell Edge Gateway 3001です。teratermでアクセスします。ユーザ名とパスワードはデフォルトでadminです。hostnameを見ます。筐体に貼られているDELLのサービス・タグと同じです。

デバイス・ドライバを見る

 I/O関係のドライバに何がインストールしてあるかをlsmodで見ます。

温湿度センサ HTS221
A-D/D-Aコンバータ AD5593R
st_pressure
st_accel
spi_pxa2xx

などが見つかりました。

ドライバを探す

 UNIXシステムは、I/Oポートもファイルとしてアクセスできます。

ls /dev

で、I/Oの情報を表示します。iioのデバイスが四つありました。

 gpio関連のsysfsを見ます。

ls -l /sys/class/gpio/