E-Kit 電子工作 Electronic Toys, Devices and Circuits
電子工作と電子おもちゃのサイト

Produced by Keio University, Takefuji Lab
Device Drivers Limited
Tokyo Japan
製品情報一覧
一覧から注文
ダウンロード
開発情報
e-kit とは?
E!Kit-1100 組み込みLinuxボード関連情報

製品情報→
ご注文→


拡張ユニバーサルボードを使用したGPIO工作のサンプル


E!Kit-1100と拡張ユニバーサルボードを使用したLEDとスイッチの制御事例です。

ハードウェア

追加した回路の回路図です。 GPIOにLEDを4つ、スイッチを3つを接続しています。 抵抗、コンデンサを使用してスイッチのバウンズを回避しています。 部品の一覧表は下記の通りです。

部品表
種類 品名 数量 記号 備考
LED 4 D1,D2,D3,D4 千石電商 \63
スイッチ SOA-133HS 3 SW1,SW2,SW3 千石電商 \21
抵抗 1.0K 3 R4,R5,R6
2.2K 4 R7,R8,R9,R10
15K 3 R1,R2,R3
コンデンサ 1.0u 3 C1,C2,C3
コネクタ 2.54mmピンヘッダ 4 秋月電子通商 \50
ボード 拡張ユニバーサルボード 1

組立例です。今回は抵抗、コンデンサにチップ部品を使用し パターンのレジストを削るなどして配線を減らす工夫をしています。
部品面 ハンダ面
部品を実装した部分の拡張ユニバーサルボードの写真です。
部品面 ハンダ面

この回路の仕様は下記の通りです。

信号名 方向 記号 備考
GPIO20 出力 D1 0 : 点灯
GPIO21 出力 D2 0 : 点灯
GPIO22 出力 D3 0 : 点灯
GPIO23 出力 D4 0 : 点灯
GPIO29 入力 SW1 0 : 押下
GPIO30 入力 SW2 0 : 押下
GPIO31 入力 SW3 0 : 押下

ドライバ/CGIプログラム

linux-2.6用のドライバ/CGIプログラムです。

ドライバをクロスコンパイル環境でコンパイルしインストールします。

# tar jxf gpio.tar.bz2
# cd gpio/module
# make
# make install

ドライバの動作確認方法です。 E!Kit-1100上で実行してください。

# insmod /lib/modules/2.6.11/extra/gpio.ko
# echo 00A00000 > /proc/gpio   ← LEDの状態変更(16進数で指定)
                                  bit23 1:LED4点灯
                                  bit22 1:LED3点灯
                                  bit21 1:LED2点灯
                                  bit20 1:LED1点灯
# cat /proc/gpio               ← LED/SWの状態表示
A00000                         ← 16進数で表示される
                                  bit31 1:SW3押下
                                  bit30 1:SW2押下
                                  bit29 1:SW1押下
                                  bit23 1:LED4点灯
                                  bit22 1:LED3点灯
                                  bit21 1:LED2点灯
                                  bit20 1:LED1点灯

CGIプログラムをクロスコンパイル環境でコンパイルしインストールします。

# cd ../cgi
# make
# cp gpio /home/rootfs/rootfs/www/cgi-bin/.

httpd準備

busybox設定

*
* Networking Utilities
*
httpd (CONFIG_HTTPD) [Y/n/?] y
    Support using httpd only from inetd (CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY) [Y/n/?] y
    Enable Basic http Authentication (CONFIG_FEATURE_HTTPD_BASIC_AUTH) [Y/n/?] y
      Support MD5 crypted passwords for http Authentication (CONFIG_FEATURE_HTTPD_AUTH_MD5) [Y/n/?] y
  Support loading additional MIME types at run-time (CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES) [Y/n/?] y
  Support Common Gateway Interface (CGI) (CONFIG_FEATURE_HTTPD_CGI) [Y/n/?] y
    Support the REMOTE_PORT environment variable for CGI (CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV) [Y/n/?] y
  Enable the -e option for shell script CGI simplification. (CONFIG_FEATURE_HTTPD_ENCODE_URL_STR) [Y/n/?] y

inetd (CONFIG_INETD) [Y/n/?] y
    Support echo service (CONFIG_FEATURE_INETD_SUPPORT_BILTIN_ECHO) [Y/n/?] y
    Support discard service (CONFIG_FEATURE_INETD_SUPPORT_BILTIN_DISCARD) [Y/n/?] y
    Support time service (CONFIG_FEATURE_INETD_SUPPORT_BILTIN_TIME) [Y/n/?] y
    Support daytime service (CONFIG_FEATURE_INETD_SUPPORT_BILTIN_DAYTIME) [Y/n/?] y
    Support chargen service (CONFIG_FEATURE_INETD_SUPPORT_BILTIN_CHARGEN) [Y/n/?] y

/etc/inetd.conf設定

80  stream  6  nowait  root  /usr/sbin/httpd httpd -h /www

/etc/httpd.conf設定

A:*

http://<E!Kit-110 IPアドレス>/cgi-bin/gpio にアクセスして使用します。 [READ]ボタンを押すと画面が更新され、 [ON]/[OFF]ボタンでLEDの点灯、消灯がコントロールできます。
WEB画面


他の事例サンプルプログラム


最終更新: 2005年12月29日

製品情報→
ご注文→
株式会社デバイスドライバーズ
開発・販売と組み込みLinuxのサポート 株式会社デバイスドライバーズ
東京都府中市若松町1-5-1-103 tel: 042-363-8294 fax: 042-363-8255
Copyright(c) 2002-2005 Device Drivers Limited & Yoshiyasu Takefuji, All rights reserved.