rfkill状態の確認

rfkillコマンドを実行します。

# rfkill list
0: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: no
1: brcmfmac-wifi: Wireless LAN
	Soft blocked: no
	Hard blocked: no
2: bcm43xx Bluetooth: Bluetooth
	Soft blocked: no
	Hard blocked: no
3: hci0: Bluetooth
	Soft blocked: no
	Hard blocked: no

実行結果はOpenBlocks IoT BX1のものです。

Edison Kitでシリアルポート(/dev/ttyMFD1)有効化

GPSデータをシリアルポート(/dev/ttyMFD1)から受信するためにGPIOの設定を変更します。

初期状態は以下のようになっています。

# cat /sys/kernel/debug/gpio

GPIOs 0-191, pci/0000:00:0c.0, 0000:00:0c.0:
 gpio-61  (SW1UI4              ) in  hi
 gpio-64  (bcm43xx_irq         ) in  lo
 gpio-71  (bcm_bt_lpm          ) out lo
 gpio-77  (sd_cd               ) in  hi
 gpio-96  (vwlan               ) out hi
 gpio-111 (Arduino Shield SS   ) out hi
 gpio-124 (hsu                 ) in  hi
 gpio-125 (hsu                 ) in  hi
 gpio-126 (hsu                 ) in  hi
 gpio-127 (hsu                 ) in  hi
 gpio-128 (hsu                 ) in  lo
 gpio-129 (hsu                 ) out lo
 gpio-130 (hsu                 ) in  lo
 gpio-131 (hsu                 ) out hi
 gpio-132 (hsu                 ) in  lo
 gpio-133 (hsu                 ) out lo
 gpio-134 (hsu                 ) in  lo
 gpio-184 (bcm_bt_lpm          ) out lo
 gpio-185 (bcm_bt_lpm          ) in  lo

GPIOs 200-215, i2c/1-0020, pcal9555a, can sleep:
 gpio-207 (sysfs               ) in  hi
 gpio-215 (sysfs               ) out lo

GPIOs 216-231, i2c/1-0021, pcal9555a, can sleep:

GPIOs 232-247, i2c/1-0022, pcal9555a, can sleep:

GPIOs 248-263, i2c/1-0023, pcal9555a, can sleep:

以下のコマンドを実行することでシリアルポート(/dev/ttyMFD1)からデータの受信ができるようになります。

# echo -n "214" > /sys/class/gpio/export
# echo -n "130" > /sys/class/gpio/export
# echo -n "130" > /sys/class/gpio/export
# echo -n "248" > /sys/class/gpio/export
# echo -n "216" > /sys/class/gpio/export
# echo -n "131" > /sys/class/gpio/export
# echo -n "249" > /sys/class/gpio/export
# echo -n "217" > /sys/class/gpio/export
# echo low > /sys/class/gpio/gpio214/direction
# echo low > /sys/class/gpio/gpio248/direction 
# echo in > /sys/class/gpio/gpio216/direction
# echo mode1 > /sys/kernel/debug/gpio_debug/gpio130/current_pinmux
# echo in > /sys/class/gpio/gpio130/direction 
# echo high > /sys/class/gpio/gpio249/direction
# echo in > /sys/class/gpio/gpio217/direction
# echo mode1 > /sys/kernel/debug/gpio_debug/gpio131/current_pinmux
# echo out > /sys/class/gpio/gpio131/direction
# echo high > /sys/class/gpio/gpio214/direction

データの受信確認をします。

# cat /dev/ttyMFD1 

設定変更後は以下のようになります。

# cat /sys/kernel/debug/gpio

GPIOs 0-191, pci/0000:00:0c.0, 0000:00:0c.0:
GPIOs 0-191, pci/0000:00:0c.0, 0000:00:0c.0:
 gpio-61  (SW1UI4              ) in  hi
 gpio-64  (bcm43xx_irq         ) in  lo
 gpio-71  (bcm_bt_lpm          ) out lo
 gpio-77  (sd_cd               ) in  hi
 gpio-96  (vwlan               ) out hi
 gpio-111 (Arduino Shield SS   ) out hi
 gpio-124 (hsu                 ) in  hi
 gpio-125 (hsu                 ) in  hi
 gpio-126 (hsu                 ) in  hi
 gpio-127 (hsu                 ) in  hi
 gpio-128 (hsu                 ) in  lo
 gpio-129 (hsu                 ) out lo
 gpio-130 (hsu                 ) in  lo
 gpio-131 (hsu                 ) out hi
 gpio-132 (hsu                 ) in  lo
 gpio-133 (hsu                 ) out lo
 gpio-134 (hsu                 ) in  lo
 gpio-184 (bcm_bt_lpm          ) out lo
 gpio-185 (bcm_bt_lpm          ) in  lo

GPIOs 200-215, i2c/1-0020, pcal9555a, can sleep:
 gpio-207 (sysfs               ) in  hi
 gpio-214 (sysfs               ) out lo
 gpio-215 (sysfs               ) out lo

GPIOs 216-231, i2c/1-0021, pcal9555a, can sleep:
 gpio-216 (sysfs               ) in  hi
 gpio-217 (sysfs               ) in  hi

GPIOs 232-247, i2c/1-0022, pcal9555a, can sleep:

GPIOs 248-263, i2c/1-0023, pcal9555a, can sleep:
 gpio-248 (sysfs               ) out lo
 gpio-249 (sysfs               ) out hi

Edison KitにRedisインストール

Edison KitにRedisをインストールします。

# opkg install redis
# redis-server --version
Redis server v=2.6.9 sha=00000000:0 malloc=libc bits=32

Redisサーバを起動します。

# systemctl start redis-server

Redisサーバを停止します。

# systemctl stop redis-server

Redisサーバの起動状態を確認します。

# systemctl status redis-server

● redis-server.service - LSB: Redis, a key-value store
   Loaded: loaded (/etc/init.d/redis-server)
   Active: active (running) since Sat 2014-12-27 16:57:34 JST; 3min 28s ago
  Process: 463 ExecStart=/etc/init.d/redis-server start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/redis-server.service
           └─465 /usr/bin/redis-server /etc/redis/redis.conf

Dec 27 16:57:34 synon redis-server[463]: Starting redis-server...
Dec 27 16:57:34 synon systemd[1]: Started LSB: Redis, a key-value store.

Redisサーバのデータを初期化する場合には以下のコマンドを実行します。

# redis-cli
> flushall
> exit

Redisサーバのデータを確認する場合には以下のコマンドを実行します。

# redis-cli
> keys *
> get keyname ←文字列の場合
> lrange keyname 0 -1 ←リストの場合
> smembers keyname ←SETの場合
> zrange keyname 0 -1 ←ZSETの場合
> getall keyname ←HASHの場合

> monitor ←tail -fのように値の変化を確認する場合

Edison Kitのbluetooth有効化

1. パッケージのインストール

# opkg install bluez5-dev

2. OS設定変更
Edisonのbluetoothを有効にします。

# rfkill unblock bluetooth

# hciconfig hci0 up

# systemctl enable bluetooth

# bluetoothctl

[NEW] Controller XX:XX:XX:XX:XX:XX BlueZ 5.18 [default]

[bluetooth]# power on

Changing power on succeeded

[bluetooth]# devices

[bluetooth]# scan on

Discovery started

[CHG] Controller XX:XX:XX:XX:XX:XX Discovering: yes

[bluetooth]# exit

またbluetooth機器と接続する場合には下記のコマンドも使用できます。

[bluetooth]# scan on
[bluetooth]# agent on
[bluetooth]# pair
[bluetooth]# trust
[bluetooth]# connect

周辺のbluetooth機器をスキャンするには下記のコマンドを使用します。

# hcitool lescan

# hcitool scan

 

Edison Kitのディスクフル

Edison Kitを使用していると時々ディスクフルになることがあります。

# df -h

Filesystem                Size      Used Available Use% Mounted on

/dev/root               463.9M    320.8M    107.3M  75% /

devtmpfs                480.2M         0    480.2M   0% /dev

tmpfs                   480.5M         0    480.5M   0% /dev/shm

tmpfs                   480.5M    496.0K    480.0M   0% /run

tmpfs                   480.5M         0    480.5M   0% /sys/fs/cgroup

tmpfs                   480.5M    496.0K    480.0M   0% /etc/machine-id

systemd-1                 5.5M      5.5M      2.0K 100% /boot

tmpfs                   480.5M      8.0K    480.5M   0% /tmp

systemd-1                 2.2G      3.5M      2.2G   0% /home

tmpfs                   480.5M         0    480.5M   0% /var/volatile

/dev/mmcblk0p5         1003.0K     19.0K    913.0K   2% /factory

/dev/mmcblk0p10           2.2G      3.5M      2.2G   0% /home

/dev/mmcblk0p7            5.5M      5.5M      2.0K 100% /boot

“/dev/root”の使用率が100%になった場合に、暫定的な処置としてジャーナリングファイルを削除することで対処できます。

# rm -rf /var/log/journal/*

Intel XDK IoT Editionインストール

1. MacでのXDKインストール

screenshot_1430

 

Intelが提供しているXDKをインストールします。

“Download for Apple OS X”をクリックしてXDKをダウンロードします。

執筆時にダウンロードしたファイルは”iot_web_mac_master-iot_0128.dmg”です

ダウンロードが終わるとdmgをダブルクリックして開く”xdk_full_128.pkg”をインストールしてください。

 

2. Edisonでの設定

XDK用のデーモンを有効化します。

# systemctl enable xdk-daemon

# systemctl restart xdk-daemon

これらのコマンドを実行する前に「opkgリポジトリの設定」を実行しておく必要があります。

Edison Kitのopkgリポジトリ設定

1. opkgリポジトリの設定

# echo "src mraa-upm http://iotdk.intel.com/repos/1.1/intelgalactic" > /etc/opkg/mraa-upm.conf

# vi /etc/opkg/intel-iotdk.conf

src intel-iotdk http://iotdk.intel.com/repos/1.1/intelgalactic
src intel-all http://iotdk.intel.com/repos/1.1/iotdk/all
src intel-i586 http://iotdk.intel.com/repos/1.1/iotdk/i586
src intel-x86 http://iotdk.intel.com/repos/1.1/iotdk/x86

# vi /etc/opkg/base-feeds.conf

src all http://iotdk.intel.com/repos/1.1/iotdk/all
src quark http://iotdk.intel.com/repos/1.1/iotdk/quark
src i586 http://iotdk.intel.com/repos/1.1/iotdk/i586
src x86 http://iotdk.intel.com/repos/1.1/iotdk/x86
src/gz repo-all http://repo.opkg.net/edison/repo/all
src/gz edison http://repo.opkg.net/edison/repo/edison
src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32

 

2. パッケージのアップデート

# opkg update

# opkg upgrade

アップデート中にディスクフルが発生する場合には下記のコマンドを実行してジャーナルファイルを削除してEdisonを再起動後にもう一度実行してください。

# rm -rf /var/log/journal/*

# reboot

 

 3. gitのインストール

今後使用するgitをインストールします。

# opkg install git

 

Edison KitでSSH接続許可

Edison KitにSSHで接続するためにWifi設定などを行います。

screenで接続した環境から”configure_edison“を実行します。

root@edison:~# configure_edison –setup

Give this Edison a unique name.

This will be used for the access point SSID and mDNS address.

Make it at least five characters long (leave empty to skip): Edison名を入力します

Enter a new password (leave empty to abort)

This will be used to connect to the access point and login to the device.

Password:       ******** rootのパスワードを入力します

Please enter the password again:        ********

First-time root password setup complete. Enabling SSH on WiFi interface.

Do you want to set up wifi? [Y or N]: y Wifi接続を行いますので”y”を入力します

Scanning: 1 seconds leftt

0 :     Rescan for networks

1 :     Manually input a hidden SSID

2 :     XXXXXX

3 :     YYYYYYY

4 :     ZZZZZZZ

Enter 0 to rescan for networks.

Enter 1 to input a hidden network SSID.

Enter a number between 2 to 4 to choose one of the listed network SSIDs: 4 使用するWifiのSSIDを選択します

Password must be between 8 and 63 characters.

What is the network password?: ************* パスワードを入力します

Attempting to enable network access, please check ‘wpa_cli status’ after a minute to confirm.

Done. Please connect your laptop or PC to the same network as this device and go to http://192.168.AA.BB or http://CCCCCCCC.local in your browser. このようにIPアドレスとホスト名が表示されれば設定完了です

 

あとはSSHでログイン出来るようになります

$ ssh root@CCCCCCCC.local

root@CCCCCCCC:~#

 

 

Edison Kitでscreen接続とOSアップデート

1. Edison Kitと接続

2本のUSBケーブルをEdisonボードに接続してください。LEDが点灯すれば電源が入ったことになります。

IMG_7189

上のUSBコネクタが電源となります。

IMG_7190

下のUSBも接続するとMacに”Edison”ドライブとしてマウントされます。

screenshot_1411

この”Edison”ドライブの情報を参照します。

screenshot_1412

情報から”フォーマット”が”MS-DOS(FAT16)となっている場合には再フォーマットが必要です。

FAT32となっている場合には以下の操作は必要ありません。

 

2. Edisonドライブの再フォーマット

screenshot_1415

 

Macのアプリケーション -> ユーティリティ -> ディスクユーティリティーを開き、Edisonドライブを選択して”消去”タブから”MS-DOC(FAT)”を選択して”消去”ボタンを押して消去してください。

screenshot_1417

消去が終わるともう一度Edisonドライブの情報から”フォーマット”が”MS-DOS(FAT32)となっているかを確認して下さい。

 

3. OSアップデート

OSをアップデートするためにEdisonドライブを開いて、「ソフトウェアの事前ダウンロード」でダウンロードしたzipを展開したファイルを全てコピーします。

screenshot_1420

zipを展開します。

screenshot_1418

ファイルを全てEdisonドライブにコピーします。

screenshot_1421

 

4. screen接続

screenコマンドを使用してEdisonボードに接続します。

screenshot_1423

ターミナルを起動して”ls /dev/cu.usbserial*”と入力すると”/dev/cu.usbserial-AJ035GOQ”のように接続先が表示されます。

$ screen /dev/cu.usbserial-AJ035GOQ 115200 -L

*接続先は環境によって異なります。

screenshot_1424

接続されると画面がクリアされるので”Enter”キーを1度押します。

screenshot_1425

そうするとログインプロンプトが表示されますので”root”でログインしてください。

パスワードはまだ設定されていません。

screenshot_1426

OSアップデートのコマンド”reboot ota”と入力してください。

root@edison:~# reboot ota

screenshot_1427

 

screenshot_1428

再起動が開始してOSがアップデートされます。

アップデートが終わるともう一度rootでログインしてアップデート後のOSバージョンを確認します。

root@edison:~# uname -a

Linux edison 3.10.17-poky-edison+ #1 SMP PREEMPT Tue Oct 14 15:19:49 CEST 2014 i686 GNU/Linux

 

詳細はこちらを参照してください。(英語)

Edison Kitのソフトウェア事前ダウンロード

Intel Edison Kit for Arduinoを使用するためにOSアップデート、SSHでの接続許可、パッケージのインストールを行う必要がありますが、その事前準備としてソフトウェアをダウンロードしておきます。

注)なお、操作環境はMac OSX 10.10で行うことを前提としています。

 

Edison – Software Downloads からEdison Yocto complete imageをダウンロードしてzipを展開してください。

screenshot_1410

執筆時では「edison-image-rel1-maint-rel1-ww42-14.zip」がダウンロードされました。

 

Intel Edison Kit for Arduino Edison開封

購入したIntel Edison Kit for Arduino を開封します。

 

IMG_7182

パッケージはこんな感じです。

IMG_7183

フタを開けるとEdisonモジュールが見えます。「What will you make ?」なんて書かれてます。

IMG_7184

EdisonモジュールとArduino基板です。

IMG_7185

Arduino基板の左下にEdisonを装着します。

IMG_7186

Edisonをネジ止めしてから足をつけます。

 

これで組み立てが完了しました。あとは電源ケーブルか、USBケーブル2本を準備すればセットアップできます。

Intel Edison Breakout Boardでも同じ要領で組み立てることができます。

詳細はこちらにも載っています。(英語)

インテルEdison Kit使い始めました

Edisonモジュールとは、インテル社が10月に発売したIoT向けの組み込み用モジュールです。

詳細はこちらを参照してください。

 

Intel Edison Kit for Arduino Edison本体+Arduino基板の購入はAmazonから可能です。

assocbutt_or_detail._V371070159_

 

 

注)本サイトに記載されている情報は執筆時の状態に基づいて掲載しています。本サイトに記載されている情報による操作は自己責任でお願いします。予測できない未知の不具合などが発生するいかなる場合でも弊社では保証することはできません。ご了承頂いた上でご活用ください。

またEdisonを操作するためにMacを使用することを前提としています。本サイトをご活用頂くにはMacの操作、SSHでのLinuxのコマンド操作ができることを期待しております。