まずは mini Beakout Kit で使ってみる
- 13. I2C1_SCL
SD_CDN
SD_DAT2
SD_DAT3
SD_DAT1
ACCEL_INT_1
ACCEL_INT_2
ALS_INT_N
COMPASS_DRDY
SSP2_TXD
SSP5_FS0
SSP5_RXD
UART1_RX
UART1_TX
UART1_RTS
UART1_CTS
UART2_RX
GYRO_DRDY
GYRO_INT
AUDIOCODEC_INT
SSP2_CLK
SSP2_RXD
SSP2_FS
SD_CLK_FB
I2C1_SDA
I2C6_SCL
I2C6_SDA
SSP5_FS1
SSP5_CLK
SSP5_TXD
UART2_TX
SD_CLK
SD_CMD
SD_DAT0
V_SYS
V_1P80
V_3P30
VIN
FW_RCVR 7,8
GP130 7,8
GP129 7,8
GP128 7,8
OSC_CLK_OUT_0 7,8
GP114 7,8
GP110 7,8
GP12_PWM0 7,8
GP19 7,8
GP183_PWM3 7,8
GP182_PWM2 7,8
GP13_PWM1 7,8
GPI_PWRBTN_N 7,8
MSIC_SLPCLK_2 7,8
V_VBAT_BKUP 7,8
GP165 7,8
GP115 7,8
GP111 7,8
GP109 7,8
RCVR_MODE 7,8
GP27 7,8
GP20 7,8
GP28 7,8
GP135 4,7,8
J20
1x14
NO STUFF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
J17
1x14
NO STUFF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
J18
1x14
NO STUFF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
J19
1x14
NO STUFF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
回路図・表の順番に注意
J17
J18
J20
J19
http://www.intel.com/support/edison/sb/CS-035255.htm
mini_edison_breakout_hvm_8_26.pdf (5ページの図)
I2C1_SCL
SD_CDN
SD_DAT2
SD_DAT3
SD_DAT1
ACCEL_INT_1
ACCEL_INT_2
ALS_INT_N
COMPASS_DRDY
SSP2_TXD
SSP5_FS0
SSP5_RXD
UART1_RX
UART1_TX
UART1_RTS
UART1_CTS
UART2_RX
GYRO_DRDY
GYRO_INT
AUDIOCODEC_INT
SSP2_CLK
SSP2_RXD
SSP2_FS
SD_CLK_FB
I2C1_SDA
I2C6_SCL
I2C6_SDA
SSP5_FS1
SSP5_CLK
SSP5_TXD
UART2_TX
SD_CLK
SD_CMD
SD_DAT0
V_SYS
V_1P80
V_3P30
VIN
FW_RCVR 7,8
GP130 7,8
GP129 7,8
GP128 7,8
OSC_CLK_OUT_0 7,8
GP44 7,8
GP45 7,8
GP114 7,8
GP110 7,8
GP12_PWM0 7,8
GP19 7,8
GP183_PWM3 7,8
GP182_PWM2 7,8
GP13_PWM1 7,8
GPI_PWRBTN_N 7,8
MSIC_SLPCLK_2 7,8
V_VBAT_BKUP 7,8
GP165 7,8
GP134 4,7,8
GP131 7,8
GP81 7,8
GP82 7,8
GP83 7,8
GP77 7,8
GP46 7,8
GP47 7,8
GP48 7,8
GP49 7,8
RESETOUT# 7,8
GP14 7,8
GP42 7,8
GP40 7,8
GP41 7,8
GP43 7,8
GP84 7,8
GP15 7,8
GP115 7,8
GP111 7,8
GP109 7,8
RCVR_MODE 7,8
GP27 7,8
GP20 7,8
GP28 7,8
GP135 4,7,8
GP78 7,8
GP79 7,8
GP80 7,8
J20
1x14
NO STUFF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
J19
1x14
NO STUFF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
- 17. var m = require('mraa');
var exec = require('child_process').exec;
var child;
var button1 = new m.Gpio(32); //19-5
button1.dir(m.DIR_IN); //入力ピンに設定
button1.mode(m.MODE_PULLUP); //内部プルアップを有効に
var led = new m.Gpio(13); //J17-14
led.dir(m.DIR_OUT); //出力ピンに設定
function buttonOn(btn){ // ボタンを押して離したときに実行する関数
//console.log(btn);
child =exec('echo "btn '+btn+'"',
function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) { console.log('exec error: ' + error); } });
}
setInterval(function(){
var buttonValue1 = button1.read();
if(buttonValue1 === 0) {
led.write(1); // ボタンを押したときの処理(LED ON)
for(;;){ // ボタンを離すのを待つ
buttonValue1 = button1.read();
if(buttonValue1 !== 0) break;
}
led.write(0); // ボタンを離したときの処理(LED OFF)
buttonOn(1); // ボタンの関数呼び出し
}
},30);
ボタンを押して離したときに
外部コマンドを実行する例
(node.js 版)
# node buttonLed.js
stdout: btn 1
stderr:
(実行例)