Upload
toshifumi-nishinaga
View
802
Download
3
Embed Size (px)
DESCRIPTION
第3回 北陸ARMユーザーグループで発表した資料です。 Intel Galileoを使ってみて気がついた、Galileoのいいところを紹介します。 北陸ARMユーザーグループのHPはこちら。 https://sites.google.com/site/embeddedhokuriku/
Citation preview
Intel Galileo と
あそぼう! にしながとしふみ
@tnishinaga
自己紹介 • なまえ
– にしながとしふみ
• だいがく – 金沢大学
• しゅみ – 2次元美少女を愛でる – 組み込み開発 – 自転車(ロード)
@tnishinaga
活動
• 技術書執筆 – 「BareMetalで遊ぶ Raspberry Pi」 (達人出版会) http://tatsu-zine.com/books/raspi-bm
活動
• ブログ執筆 – マルツパーツ館ブログ
http://marutsuparts.blog74.fc2.com/blog-category-0.html
今日の目的
Intel Galileoを紹介する。
本日の内容 • Intel Galileoとは? • Intel Galileoの特徴 – Arduino互換のからくり
• Arduino + Linux の組み合わせ – 開発環境構築方法考察 – debianのインストール
• 作例
Intel Galileoとは?
Intel Galileoとは?
Intelの作った 組み込みLinuxボード
Intel Galileoとは?
x86互換 SoC
「Quark」搭載
Intel Galileoとは?
回路図、ソースコード ほぼすべて公開
https://communities.intel.com/community/makers/documentation/
galileodocuments
Intel Galileo の特徴
Intel Galileoの特徴
ソフト & ハードが
Arduino互換
Arduino互換? • Arduino互換ソケット搭載 – Arduinoシールドが刺さる
• 専用Arduino IDEが提供 – Arduino IDEでプログラミング – Arduino IDEから書き込み & 実行
Intel Galileoの特徴
Arduinoシールドを Arduinoのプログラムで
動かせる!
Arduino互換のからくり
Arduino互換のからくり Arduino IDEでコンパイル (Linux用の実行ファイルができる)
↓
USB(仮想COM)経由で Galileoに送り込む
↓
Galileo上のLinuxで実行
こんなことも
ArduinoとLinuxを 組み合わせた
システムを作りたい!
Yocto Linuxは貧弱貧者ゥ • Yocto Linux – 内蔵FLASHに入ってる 組み込みLinux – SDカードから起動するのもこいつ
– 開発環境はない。 • Linux側のシステム作成には環境を用意しないと…
開発環境の構築方法
自動構築スクリプトが与えられている これを実行すればできる。
環境構築してみる
環境構築スクリプトを実行!!
1時間後…
3時間後……
5時間後………
Out of Memory: Killed process
構築失敗
メモリ1.5GB スワップ1GB では構築不可能…
別の手 • Yocto以外のLinuxを動かす? – フォーラムにdebian動かす方法が載ってる
• でもArduino互換機能は動かないらしい
よし、やるか。
......数日後
https://github.com/jitomesky/Installing_Galileo-debian/blob/master/galileo-debian.md
主な修正 • カーネルモジュールを読むように修正
• ライブラリを追加
– YoctoはuLibc(i586) • Arduino IDEで作るバイナリはulibcに依存
– debianはlibc(i486)
• clloaderを再コンパイル – Arduino IDEのプログラムを受け取るデーモン – ライブラリ移植でも動かない
• ソースコードがあったので再コンパイルして登録
debianの恩恵 • aptitudeで何でも簡単にインストール • 開発環境も楽々インストール
• 環境問題は解決!!
作例 「Tweet ボタン」
「Tweetボタン」
• スイッチが押されたらつぶやくシステム – スイッチ検出担当 :Arduino – ツイート担当 :Ruby
「Tweet ボタン」
Arduino 側 • ボタンが 押されたら Ruby側へ 通知
Ruby 側 • 通知を受けて ツイート
ソケット通信 ボタン入力
まとめ
まとめ
Intel Galileoの真の力は
Arduino互換にあり!
まとめ
環境の問題も
debian化で解決!
まとめ
Arduino + Linux 連携の可能性は
無限大!
みんなも Intel Galileo
で 遊ぼう!
お買い求めはこちら (宣伝)
http://www.marutsu.co.jp/