はじめに
カシオ製電子辞書のXD-SXシリーズには、無線通信機能が搭載されています。
XD-SXシリーズでは、インターネットを使ってコンテンツを導入することができます。
インターネット接続を利用できれば、電子辞書をデジタルサイネージとして利用可能となります。
本記事の内容の一部は、「鹿児島Linux」と2025年8月3日の「東海道らぐ・FediLUGの鹿と盛り上がる合同LT大会 in 京都」、2025年8月23日の「Unagi.py × 鯱.py コラボイベント in 豊橋」で発表した内容を含みます。
XD-SXシリーズの無線機能
コンテンツライブラリとして機能します。
ブラウザは、Netfront Browserです。
ブラウザ仕様は以下の通り。
TLS 1.2 接続を要求
証明署名の不一致を容認
一部の JavaScript は動作せず
edulib-dictionary.casio.jp以外のドメインにはアクセス不可(Domain Error)
古い仕様のWebページなら表示できそうです。
無線利用の例
先行する例では、ローカルサーバーにデータを保存し、DNSスプーフィングを利用してアクセスしています。
httpsサーバーとしてnginxとdnsmasqの組み合わせを利用しています。
本実験でのネットワーク
本実験で使用したネットワークは以下の通りです。

サーバーのアドレスは固定で、クライアントの電子辞書はルーターからIPアドレスが割り振られます。
Pythonでhttpsサーバー
サーバーのスクリプトを一部表示します。
import http.server
import ssl
import os
DOC_ROOT = ‘.‘
FALLBACK_FILE = 'index.html'
PORT = 443
CERT_FILE = 'selfsigned.crt'
KEY_FILE = 'selfsigned.key’
…
if original_path == '/edulib-content-wifi/unauth/start_up':
# location = /edulib-content-wifi/unauth/start_up
self.path = '/' + FALLBACK_FILE
# --- サーバーの準備と起動 ---
Pythonでdnsサーバー
Dnsサーバーで、電子辞書からのアクセスを処理しています。
実際の運用では、httpsサーバーのスクリプトとdnsサーバーのスクリプトを合体して、1つのスクリプトにまとめています。
Pythonでindex.htmlを作成
電子辞書で表示するコンテンツをindex.htmlにするスクリプトです。
定期的に動作させて、情報の更新されたindex.htmlを生成します。
電子辞書での表示例
おわりに
Pythonで簡易httpsとdnsサーバーを作成しました。
表示用index.htmlもpythonで生成しています。
今後は、電子辞書で利用可能なjavascriptを活用して、表現豊かなサイネージに改良していきます。
