[[FrontPage]]
 
 #ls2(Raspberry_Pi/);
 
 
 ----
 
 最近良く聞かれること.「Raspberry Pi で Windows が動くようになったんだって?」
 はいでもありいいえでもあります.Windows 10 IoT Core というバージョンが Raspberry Pi ''2'' model B ( と MinnowBoard Max )向けに提供されています.IoT 向けで Windows で一般的な GUI は実装されていませんし,導入に Windows が必須で開発にも Windows と Visual Studio が必要です.私は Windows を仮想マシンの中にしか持っていなかったり,Linux の方が慣れているので今のところあまり魅了を感じません(Microsoft HoloLens とかが遊べるなら試したいかも).元々 Windows で開発をされている方とかにはいいのかもしれません.
 
 - [[Windows IoT - Downloads:http://ms-iot.github.io/content/en-US/Downloads.htm]]
 - [[Hello, Windows 10 IoT Core | Building Apps for Windows:http://blogs.windows.com/buildingapps/2015/08/10/hello-windows-10-iot-core/]] 正式版リリース時のblog
 - [[Microsoft Windows 10 IoT Core projects - Hackster.io:https://www.hackster.io/microsoft/products/windows-10-iot-core]] 活用例など
 
 追記)~
 「とはいっても Windows だったら各社ドライバを提供しているから何でも動いていいんじゃない?」~
 Windows 10 IoT でサポートされているもの以外はほぼ動かないと思って下さい.一般的なデバイスに付属しているドライバは IoT版 Windows では動作しません.少なくとも今の時点では Rasbian の方がずっと多くのデバイスが動作します.
 
 以下のページで動作デバイスの確認が出来るようです.ボードによってサポート状況は違うみたいですね.
 - [[Windows IoT - Hardware Compatibility List:http://ms-iot.github.io/content/en-US/win10/SupportedInterfaces.htm]]
 
 追記2)~
 Windows 10 IoT 版ではない通常の Windows 10 が動くボードが Kickstarter に出てました.興味のある方は出資してみては?(所謂技適問題があるので日本での利用時には無線は切って使うしか無いと思うけれど……)
 - [[LattePanda - A £45 Win10 Computer For Everything by Lattepanda —Kickstarter:https://www.kickstarter.com/projects/139108638/lattepanda-a-45-win10-computer-for-everything?ref=category_location]]
 ----
 
 2014年12月30日のコミックマーケット87の「matoken's meme」で頒布した,「RaspberryPiで遊ぼう!」はアリスブックさんで委託販売中です.
 - [[RaspberryPiで遊ぼう! - matoken's meme | 同人誌通販のアリスブックス:http://alice-books.com/item/show/3584-1]]
 
 %%2013年08月12日のコミックマーケット84(3日目)のLinux Searchers さんでRaspberry Pi 本を委託させてもらい頒布しました.冬よりページ数が倍ほどにネタは大量に増えました.購入者向け&電子販売向けのデータを8月中を目処に公開予定です.%%
 
 
 %%※主にこのページの内容をまとめた小冊子を作り,2012年12月31日のコミックマーケット83 で頒布しました(3日目東 X-55a 小江戸らぐ委託/表紙込み12p \100)%%~
 %%昼過ぎには売り切れましたありがとうございました.%%~
 
 
 %%gumroad での頒布も始めました.($1)%% ※新しいバージョンを作成中です.~
 -https://gumroad.com/l/WFSI~
 
 %%ameroad も始めました(\100)%% ※新しいバージョンを作成中です.~
 -http://ameroad.net/l/dlW~
 
 &ref(R_Pi本C83.jpg,,33%);
 &ref(koedo_C83.jpg,,50%);
 ----
 
 [[Raspberry Pi | An ARM GNU/Linux box for $25. Take a byte!:http://www.raspberrypi.org/]]
 
 Raspberry Pi は手のひらサイズのLinux ボードです.値段も$35(model B)と安くお手軽に遊べます.
 CPU は ARM を採用しており Linux のイメージが提供されています.(*BSD 等他の
 OS を動かしている人も) この値段ですが,USB x2 や RJ-45 や GPIO も付いていて色々な
 用途に使えそうです.
 しかし,入手性が悪く注文してから何ヶ月もかかる状態でした.最近は注文してから 3 週間ほどで届くようになったり,日本のお店でも買えるようになったりと入手性も良くなってきています.
 
 手乗りLinux を始めましょう :-)
 
 #contents
 
 * R Pi の種類 [#t1b0e21f]
 Raspberry Pi には幾つか種類があります.
 大きく分けて model A, model B の 2 種類.
 それとmodel B の RAM の容量違いがあります.
 model A と model B の違いは,model A は model B の廉価版と位置づけられていて,model
 A は USB Port が 1 つでネットワークもありません.
 そのかわり安価($25)で省電力(500mA)になっています.
 (その他 model B には生産場所により GPIO のピン配置が違うものもあるらしいのですが未確認です)
 
 %%ただ,model A は未発売で model B も 9 月後半からはすべて 512MB モデルに切り替わってい
 るので現在は model B の 512MB モデルしか入手できないはずです.
 (model B 256MB モデ
 ルが流通在庫で残っている可能性はあるので購入時は念の為 512MB モデルか確認しましょう)%%
 
 02/04 model A 販売開始ただし未だ日本向けはないようです~
 03/22 pibow なPirate Store から届きました.ずっと前にRS に注文したのは未だ来ず.~
 
 - [[Model A now for sale in Europe – buy one today! | Raspberry Pi:http://www.raspberrypi.org/archives/3215]]
 以下のあたりを見ると2月中旬に出そう?~
 - [[Raspberry Pi Model A » DesignSpark:http://www.designspark.com/jpn/blog/JPN-raspberry-pi-model-a]]
 
 | |RAM|ネットワーク|USB Port|消費電力|値段|
 |model A|256MB|なし|x1|500mA|$25|
 |model B|512M※1|あり|x2|700mA|$35|
 ※1 2012 年 9 月半ばまでは 256MB だったが,それ以降は 512MB になっている.
 
 ** 消費電力 [#se20ed98]
 -model A~
 5V 500mA > 2.5W~
  1日あたりの電気代※1: 1.32円
  1ヶ月あたりの電気代※1: 40円
 ※ [[電気代計算君 - 電気代とCO2(二酸化炭素)排出量の計算結果:http://kunisan.jp/denki/denki.shtml?TYPE=PCHO&POWER=2.5&HOUR=24]]~
 -model B~
 5V 700mA > 3.5W~
  1日あたりの電気代: 1.85円
  1ヶ月あたりの電気代: 55円
 ※ [[電気代計算君 - 電気代とCO2(二酸化炭素)排出量の計算結果:http://kunisan.jp/denki/denki.shtml?TYPE=PCHO&POWER=3.5&HOUR=24]]~
 
 
 * 購入 [#re4f5f4f]
 
 ** RS [#u9f9ca04]
 発注 : 2012/07/18~
 発送メール : 2012/12/01~
 不在票投函 : 2012/12/08~
 512MBが届く.
 
 ※最近は3週間ほどで届いているらしい.
 https://plus.google.com/u/0/107154031901743896712/posts/DGT3qriopqh
 
 
 ** Adafruit [#h4345ddb]
 -待ちきれないのでAdafruit でも注文
 [[Raspberry Pi Single Board Linux Computer [Model B Revision 1.0, code 2] ID: 998 - $39.95 : Adafruit Industries, Unique & fun DIY electronics and kits:http://www.adafruit.com/products/998]]~
 登録しておくと入荷したら入荷お知らせメールが届くようになっている.大体10日に1回入荷.
 
 -Adafruit で9/27 に入荷したよメール.即注文.~
 -"U.S. Postal Service First Class Mail" で送ったよメールが9/28
 -10/15 に郵便受けに投函されていた.~
 丁度これからの発送分は512MB 版送るよの頃だったので期待したが256版だった.
 
 発送からの時間が長かったのでけちらずに速い郵便にするべきだったかも.
 
 ** ModMyPi [#bc9af5c5]
 - [[Raspberry Pi and ModMyPi Case (512MB RAM):https://www.modmypi.com/shop/raspberry-pi/raspberry-pi-and-modmypi-case]]
 ケース屋さん.ケースとセットで購入できる.~
 2013/01/22 注文~
 2013/01/22 発送メール~
 2013/02/02 到着~
 element14 made in UK だった.
 
 ** PiBow のPirate Store [#gdbab901]
 - [[Welcome - Pimoroni - Raspberry Pi Cases and Accessories for kids, hackers, makers, educators and learners.:http://shop.pimoroni.com/]]~
 カラフルなケース屋さん.アクリル板をレーザーで繰り抜いて重ねてケースにする.~
 ケースとセットもある.~
 - [[Pibow ModelA with Raspberry Pi Model A:http://shop.pimoroni.com/products/pibow-modela-with-raspberry-pi-model-a]]~
 を注文.
 2013/03/12 注文~
 2013/03/22 到着~
 RS made in UK だった.(RS だけど紙箱)
 
 ** 秋葉原 [#qdcd72e4]
 - 千石本店2F&通販でも取り扱い開始
 ひょいと買えるのはいいが,少し高い.
 ケースとセット販売のみで\6,300-
 -- [[★☆ Raspberry Pi -ラズベリーパイ-入荷しました☆★ | 千石電商 秋葉原店:http://sengoku-akb.jugem.jp/?eid=346]]~
 ※2013年01月04日に売り切れ.
 
 - [[インターネット・あきばお〜:http://www.akibaoo.co.jp/01/main/s/0/actionNameTxt/ctgry/cmdtyFlagTxt/sr/ctc/03250000]]
 いつのまにかあきばお〜でも販売.カメラモジュールやI/O周りのボードも.
 
 **その他 [#qa2d16a3]
 - [[Raspberry Pi:http://www.alliedelec.com/search/searchresults.aspx?dsNav=Ntk:Primary%7C120626raso%7C3%7C,N:108&utm_source=seg&utm_medium=email&utm_campaign=120626_raspi_invite_email]]
 - [[Raspberry Pi Model B - Revision 2 512MB RAM | The Pi Hut | Raspberry Pi Accessories:http://thepihut.com/products/raspberry-pi-type-b-single-board-computer]]
 - [[Raspberry Pi • View topic - Rasberry Pi 入手先情報:http://www.raspberrypi.org/phpBB3/viewtopic.php?f=82&t=26173]]
 - [[Raspberry Pi電子部品・半導体通販 - レオコム - R&D・MRO・修理・少量販売:http://www.leocom.jp/ja/RaspberryPi/]] 日本語で売っている.少し割高だが在庫場所と数が見えるのがいい感じかも.(代謝在庫というのは多分日本かな?だとしたら数日で届きそう)\5,000- 以上で送料無料なのでケースセットを買うと丁度いい感じです.※毎日01:00~02:20 はサービス停止しているぽいです><~
 会社に直に行って買われた方が.電話予約してから来て欲しいそう~
 名古屋の方が注文.注文から3日目で到着.element14 made in china だったそう~
 
 ** 必須アクセサリ [#h7205687]
 Raspberry Pi は基本的に基盤のみです.以下のものを揃える必要があります.
 - SD Card~
 %%2GB%% 4GB 以上.Class 2 からok となっているが,出来たらClass10.
 - 電源~
 5V 700mA microUSB.iPad 対応のAC-USB アダプタなどが利用できる.
 ※PC のUSB は基本的に500mA なので動作が不安定になったりすることがある.
 - USB キーボード + モニタ(HDMI or コンポジット) or ネットワークケーブル~
 モニタに映して設定するにはHDMI or コンポジットのモニタとUSB キーボードが必要.出来ればマウスも.~
 ネットワーク経由での設定の場合はネットワークケーブルを用意する.dhcp server が動作していること.
 
 ** お勧めアクセサリ [#tdf1ecb5]
 - ケース~
 Adafruit/ModMyPi で売られているPibow シリーズを使っていますがいい感じです.
 -- [[Search : Adafruit Industries, Unique & fun DIY electronics and kits:https://www.adafruit.com/index.php?main_page=adasearch&q=Pibow]]
 -- [[Search - PiBow:https://www.modmypi.com/index.php?route=product/search&filter_name=PiBow]]
 - GPIO Cable~
 GPIO Pin からケーブルを引き出して遊ぶ場合,数本ならいいんですが数が多くなったりすると面倒です.GPIO からケーブルを引き出すリボンケーブルや,更にブレッドボードに引き出すようなものもあります.便利そうです(注文中><)
 -- [[GPIO Ribbon Cable for Raspberry Pi ID: 862 - $2.95 : Adafruit Industries, Unique & fun DIY electronics and kits:http://www.adafruit.com/products/862]] リボンケーブルのみ
 -- [[Adafruit Pi Cobbler Breakout Kit for Raspberry Pi ID: 914 - $7.95 : Adafruit Industries, Unique & fun DIY electronics and kits:http://www.adafruit.com/products/914]] リボンケーブルと,ブレッドボード向けコネクタ.
 -- [[Adafruit Pi T-Cobbler Breakout Kit for Raspberry Pi ID: 1105 - $7.95 : Adafruit Industries, Unique & fun DIY electronics and kits:http://www.adafruit.com/products/1105]] リボンケーブルと,ブレッドボード向けコネクタ.T型.
 -- [[Adafruit Small-Size Perma-Proto Raspberry Pi Breadboard PCB Kit ID: 1171 - $4.95 : Adafruit Industries, Unique & fun DIY electronics and kits:http://www.adafruit.com/products/1171]] プロトタイプ向け基盤
 - 背の低いmicroSD アダプタ~
 SD Card を挿すと本体からかなり出っ張ります.背の低いmicroSD アダプタを使いRaspberry Pi のサイズに合わせるものがあります.~
 -- [[pIO - Raspberry Pi microSD Card Adaptor:https://www.modmypi.com/raspberry-pi/raspberry-pi-micro-sd-card-adaptor]] これはかなりピッタリそう.元はこちら > [[pIO - microSD Adapter for Raspberry Pi by rwinscot ― Kickstarter:http://www.kickstarter.com/projects/443556734/pio-microsd-adapter-for-raspberry-pi]] pIO 入手.厚みは逆に増えるのでケースを選ぶことがわかりました.Pibow modelB 用は不可></model A 用はOK~
 -- [[Low-profile microSD card adapter for Raspberry Pi ID: 966 - $5.95 : Adafruit Industries, Unique & fun DIY electronics and kits:http://www.adafruit.com/products/966]] pIO に比べて少し出っ張るけど安い.
 
 * NOOBS でOS 導入 [#z97b5b6a]
 
 FAT なSD Card に展開するだけ.
 
  % unzip -x /media/mk/ex/image/NOOBS_v1_3_4.zip -d /media/mk/63BF-4E41
 
 *Raspbian 導入 [#s0f8676a]
 [[RaspbianInstaller - Raspbian:http://www.raspbian.org/RaspbianInstaller]] よりインストーラ入手.~
 ※mirror も幾つか試しましたがsite からはかなり遅いのでbt の方がお勧め.(10分以下だった)
  $ wget http://files.velocix.com/c1410/images/raspbian/2012-10-28-wheezy-raspbian/2012-10-28-wheezy-raspbian.zip
  $ wget http://downloads.raspberrypi.org/images/raspbian/2012-10-28-wheezy-raspbian/2012-10-28-wheezy-raspbian.zip.sha1
  $ sha1sum -c 2012-10-28-wheezy-raspbian.zip.sha1 
  sha1sum: /home/eben/images/raspbian/2012-10-28-wheezy-raspbian/2012-10-28-wheezy-raspbian.zip: そのようなファイルやディレクトリはありません
  /home/eben/images/raspbian/2012-10-28-wheezy-raspbian/2012-10-28-wheezy-raspbian.zip: オープンまたは読み込みに失敗しました
  sha1sum: 警告: 一覧にある 1 個のファイルが読み込めませんでした?
  $ cat 2012-10-28-wheezy-raspbian.zip.sha1 
  3ee33a94079de631dee606aebd655664035756be  /home/eben/images/raspbian/2012-10-28-wheezy-raspbian/2012-10-28-wheezy-raspbian.zip
 oh...path を削って再度.
  $ cat 2012-10-28-wheezy-raspbian.zip.sha1
  3ee33a94079de631dee606aebd655664035756be  2012-10-28-wheezy-raspbian.zip
  $ sha1sum -c 2012-10-28-wheezy-raspbian.zip.sha1 
  2012-10-28-wheezy-raspbian.zip: OK
 
 -SD Card の準備
 
 イメージの展開と書き込み.
  $ sudo sh -c "zcat 2012-10-28-wheezy-raspbian.zip | dd of=/dev/sdb"
 
 R pi にSD Card 挿入.
 Network Cable 接続.
 最後にmicroUSB(電源)接続.
 
 ※はじめ何度やっても起動しなかったが,SD Card を交換したらうまく行った.Crad 不良だったらしい. > その後ダメだったCard を dd if=/dev/zero of=/dev/sdb とかして塗りつぶしてから再度試した動いた.
 
 ※Mac OS X だとデバイス名以外は同じ手順でOK.
 Windows だとdd for windows を導入したり,GUI だとWin32 Disk Imager などが利用できると思います.
 - [[chrysocome.net - dd for windows:http://www.chrysocome.net/dd]]
 - [[Download Win32 Disk Imager 0.6 r46 Free - Easily write IMG to USB cards - Softpedia:http://www.softpedia.com/get/CD-DVD-Tools/Data-CD-DVD-Burning/Win32-Disk-Imager.shtml]]
 
 - 普通にうまく行ったCard
 -- Toshiba microSD 2GB クラス4 SD-C02G
 -- プリンストン SDHC 4GB Class10 USD10/4G
 // Team micro SD Card 2GB Class? TG002G0MC1XT-1 (SD Card アダプタはないので注意)
 - 0 で塗りつぶしてうまく行ったCard
 -- SanDisk ExtremePro 8GB UHS-I
 - 問題の有りそうなCard
 -- [[Gigastoneの32GB microSDHC Class4:https://plus.google.com/u/0/105106999084079383977/posts/hvKcMmAq7T9]]
 
 arp やnmap やdhcpd log からip 確認
  $ arp
  $ sudo nmap -sP 192.168.1.100-150
 
  % sudo nmap -sP 192.168.2.1-255|grep 'MAC Address: B8:27:EB:' -B 2
  Nmap scan report for 192.168.2.218
  Host is up (-0.071s latency).
  MAC Address: B8:27:EB:63:9D:B2 (Raspberry Pi Foundation)
 
 
 接続
 
 初期パスワードは ''raspberry''
  $ ssh pi@192.168.1.104 -o PreferredAuthentications=password
  Host key fingerprint is 2a:04:7c:37:78:a3:b8:6a:3d:1e:df:3f:6a:24:7a:b6
  +--[ECDSA  256]---+
  |                 |
  | .   .           |
  |  o o =          |
  |   + + o         |
  |  . o   S        |
  |   o . o         |
  |  o.o +          |
  | o +o+.. .       |
  |o ..+Eooo..      |
  +-----------------+
  
  pi@192.168.1.121's password:&#160;
  Authenticated to 192.168.1.121 ([192.168.1.121]:22).
  Linux raspberrypi 3.2.27+ #250 PREEMPT Thu Oct 18 19:03:02 BST 2012 armv6l
  
  The programs included with the Debian GNU/Linux system are free software;
  the exact distribution terms for each program are described in the
  individual files in /usr/share/doc/*/copyright.
  
  Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
  permitted by applicable law.
  /usr/bin/xauth:  file /home/pi/.Xauthority does not exist
  
  NOTICE: the software on this Raspberry Pi has not been fully configured. Please  run 'sudo raspi-config'
  pi@raspberrypi ~ $ 
 という事で設定
  $ sudo raspi-config
                                        ┌──────────────────────────────────────────────────────────────────────────────┐                                        
                                        │ Raspi-config                                                                 │                                        
                                        │                                                                              │                                        
                                        │           info               Information about this tool                     │                                        
                                        │           expand_rootfs      Expand root partition to fill SD card           │                                        
                                        │           overscan           Change overscan                                 │                                        
                                        │           configure_keyboard Set keyboard layout                             │                                        
                                        │           change_pass        Change password for 'pi' user                   │                                        
                                        │           change_locale      Set locale                                      │                                        
                                        │           change_timezone    Set timezone                                    │                                        
                                        │           memory_split       Change memory split                             │                                        
                                        │           overclock          Configure overclocking                          │                                        
                                        │           ssh                Enable or disable ssh server                    │                                        
                                        │           boot_behaviour     Start desktop on boot?                          │                                        
                                        │           update             Try to upgrade raspi-config                     │                                        
                                        │                                                                              │                                        
                                        │                                                                              │                                        
                                        │                     <Select>                     <Finish>                    │                                        
                                        │                                                                              │                                        
                                        └──────────────────────────────────────────────────────────────────────────────┘  
 
 -expand_rootfs で2G 以上使えるように.
 -change_pass でパスワード変更
 -change_timezone でTokyo に
 
 再起動で反映.
 
 簡単な意訳
 -expand_rootfs
 --%%2GB%% 4GB 以上の容量の SD Card はそのままでは %%2GB%% 4GB しか利用できない状態に
 なっています.これを全領域使えるようにします.%%2GB%% 4GB より大きい SD Card を
 使っている場合は実行しましょう.
 -overscan
 --テレビに映す際などにオーバースキャンの設定を行います.
 -configure_keyboard
 --キーボード配列を変更します.
 -change_pass
 --パスワードの変更を行います.規定値は誰でも同じですから変更しておきま
 しょう.
 -change_locale
 --locale を変更します.コンソールでは基本的に日本語は表示できないのでコン
 ソールでしか利用しない場合は規定値のままのほうが良いでしょう.
 -change_timezone
 --タイムゾーンを変更します.
 -memory_split
 --RAM からビデオ RAM に割り当てる容量を変更します.
 -overclock
 --オーバークロックを行います.消費電力が増え,恐らく寿命が縮みます.
 -ssh
 --ssh の有効無効の設定ができます.
 -boot_behaviour
 --起動時にデスクトップ画面を起動するか設定します.
 -update
 --OS 環境を最新の状態にします.通常の apt-get コマンドでも同様です.
 
 ** source.list をmirror に変更 [#j2b3f292]
 /etc/apt/sources.list
  deb http://ftp.jaist.ac.jp/raspbian wheezy main contrib non-free rpi
 
 - [[RaspbianMirrors - Raspbian:http://www.raspbian.org/RaspbianMirrors]]
 
 **locale 設定 [#cccf1b77]
 
  $ sudo apt-get install locales
  $ sudo dpkg-reconfigure locales
 
 en_GB.UTF-8 は消して,en_US.UTF-8/ja_JP.UTF-8 を入れている.
 デフォルトは環境によりfbterm やx を常用する場合は ja_JP.UTF-8 にしている.
 
 
 
 ** zram [#y791307d]
 [[Raspbian Wheezyにzramを導入してみた。 - もぐてっく:http://moguno.hatenablog.jp/entry/20121021/p1]]
 
 を参考に.
 /etc/rc.local の最後のexit 0 の前に以下を追記
 
  # enable zram
  modprobe zram
  echo $((256 * 1024 * 1024)) > /sys/block/zram0/disksize
  mkswap /dev/zram0
  swapon -p 1 /dev/zram0
 
 256MB にしてみた.
 
 再起動して確認.
  $ cat /proc/swaps 
  Filename                                Type            Size    Used    Priority
  /var/swap                               file            102396  0       -1
  /dev/zram0                              partition       262140  0       1
 
 **over clock [#p6702126]
 通常の状態で数日連続稼働.
 安定しているのでover clock を試す.
 
  $ sudo raspi-config
 の
 overclock から設定可能.
  ┌──────────────────────────────────────────────────────────┐                                                  
  │ Chose overclock preset                                   │                                                  
  │                                                          │                                                  
  │ None   700MHz ARM, 250MHz core, 400MHz SDRAM, 0 overvolt │                                                  
  │ Modest 800MHz ARM, 250MHz core, 400MHz SDRAM, 0 overvolt │                                                  
  │ Medium 900MHz ARM, 250MHz core, 450MHz SDRAM, 2 overvolt │                                                  
  │ High   950MHz ARM, 250MHz core, 450MHz SDRAM, 6 overvolt │                                                  
  │ Turbo  1000MHz ARM, 500MHz core, 600MHz SDRAM, 6 overvolt│                                                  
  │                                                          │                                                  
  │                                                          │                                                  
  │                                                          │                                                  
  │                                                          │                                                  
  │                                                          │                                                  
  │                                                          │                                                  
  │                                                          │                                                  
  │                                                          │                                                  
  │                                                          │                                                  
  │              <Ok>                  <Cancel>              │                                                  
  │                                                          │                                                  
  └──────────────────────────────────────────────────────────┘   
  $ cat /proc/cpuinfo 
  Processor       : ARMv6-compatible processor rev 7 (v6l)
  BogoMIPS        : 697.95
  Features        : swp half thumb fastmult vfp edsp java tls 
  CPU implementer : 0x41
  CPU architecture: 7
  CPU variant     : 0x0
  CPU part        : 0xb76
  CPU revision    : 7
  
  Hardware        : BCM2708
  Revision        : 000f
  Serial          : 00000000dd1e9672
 BogoMIPS は変わらんような?
 
 **Avahi(Bonjour) [#yb676336]
 dhcp でip を取得するとip がわからなくなります.
  $ sudo nmap -sP 192.168.1.1-255
 とかするとわかるけど面倒です.
 
 Avahi を使って判りやすくします.
 
 導入
  $ sudo apt-get install avahi-daemon
 これで,''ホスト名.local'' という名前が利用できるようになる.
 #update-rc.d はしなくても設定されていた
  $ ls /etc/rc?.d/*avahi*
  /etc/rc0.d/K02avahi-daemon  /etc/rc2.d/S03avahi-daemon  /etc/rc4.d/S03avahi-daemon  /etc/rc6.d/K02avahi-daemon
  /etc/rc1.d/K02avahi-daemon  /etc/rc3.d/S03avahi-daemon  /etc/rc5.d/S03avahi-daemon
 
  $ ping raspberrypi.local
  PING raspberrypi.local (192.168.1.106) 56(84) bytes of data.
  64 bytes from raspberrypi.local (192.168.1.106): icmp_req=1 ttl=64 time=1.04 ms
  64 bytes from raspberrypi.local (192.168.1.106): icmp_req=2 ttl=64 time=4.14 ms
   :
 
 他のマシンから参照してみる.
  $ /usr/bin/avahi-browse -t -a|grep -i raspberrypi
  +  wlan0 IPv4 raspberrypi                                   Remote Disk Management local
  +  wlan0 IPv4 raspberrypi [b8:27:eb:1e:96:72]               Workstation          local
  +  wlan0 IPv4 raspberrypi [e0:91:53:70:eb:5a]               Workstation          local
 #このツールは ''avahi-utils'' に入っている.gui だと ''avahi-discover'' が便利.~
 &ref(Screenshot_from_2013-01-21 18:40:28.png,,50%);
 
 ssh 接続の場合なんかも,以下のような感じでいける.
  $ ssh pi@raspberrypi.local
 
 
 - [[Raspberry Piを触ってみた(その2) - なるひこの Linux Printing お勉強日記:http://d.hatena.ne.jp/naruoga/20130103/1357185446]]
 - [[第216回 Avahiとローカルエリアネットワーク:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社:http://gihyo.jp/admin/serial/01/ubuntu-recipe/0216]]
 
 ** コマンドラインでBluetooth 設定 [#t48b3e7c]
 - パッケージ導入
  $ sudo apt-get install bluetooth bluez
 
 - daemon 起動確認
  $ /etc/init.d/bluetooth status
  bluetooth is running.
 
 - Bluetooth デバイス確認
  $ hcitool dev
  Devices:
          hci0    E0:91:53:77:E8:99
  $ hciconfig -a
  hci0:   Type: BR/EDR  Bus: USB
          BD Address: E0:91:53:77:E8:99  ACL MTU: 310:10  SCO MTU: 64:8
          UP RUNNING PSCAN 
          RX bytes:10030 acl:8 sco:0 events:191 errors:0
          TX bytes:1702 acl:8 sco:0 commands:111 errors:0
          Features: 0xff 0xff 0x8f 0xfe 0x9b 0xbf 0x59 0x87
          Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
          Link policy: RSWITCH HOLD SNIFF PARK 
          Link mode: SLAVE ACCEPT 
          Name: 'raspberrypi-0'
          Class: 0x420100
          Service Classes: Networking, Telephony
          Device Class: Computer, Uncategorized
          HCI Version: 3.0 (0x5)  Revision: 0x1aa1
          LMP Version: 3.0 (0x5)  Subversion: 0x1aa1
          Manufacturer: Cambridge Silicon Radio (10)
  $ hciconfig hci0 revision
  hci0:   Type: BR/EDR  Bus: USB
          BD Address: E0:91:53:77:E8:99  ACL MTU: 310:10  SCO MTU: 64:8
          Build 6817
  $ hciconfig hci0 features
  hci0:   Type: BR/EDR  Bus: USB
          BD Address: E0:91:53:77:E8:99  ACL MTU: 310:10  SCO MTU: 64:8
          Features page 0: 0xff 0xff 0x8f 0xfe 0x9b 0xbf 0x59 0x87
                  <3-slot packets> <5-slot packets> <encryption> <slot offset> 
                  <timing accuracy> <role switch> <hold mode> <sniff mode> 
                  <park state> <RSSI> <channel quality> <SCO link> <HV2 packets> 
                  <HV3 packets> <u-law log> <A-law log> <CVSD> <paging scheme> 
                  <power control> <transparent SCO> <broadcast encrypt> 
                  <EDR ACL 2 Mbps> <EDR ACL 3 Mbps> <enhanced iscan> 
                  <interlaced iscan> <interlaced pscan> <inquiry with RSSI> 
                  <extended SCO> <EV4 packets> <EV5 packets> <AFH cap. slave> 
                  <AFH class. slave> <3-slot EDR ACL> <5-slot EDR ACL> 
                  <sniff subrating> <pause encryption> <AFH cap. master> 
                  <AFH class. master> <EDR eSCO 2 Mbps> <3-slot EDR eSCO> 
                  <extended inquiry> <simple pairing> <encapsulated PDU> 
                  <non-flush flag> <LSTO> <inquiry TX power> <EPC> 
                  <extended features> 
          Features page 1: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
 
 
 
 - 周りのデバイス検索
  $ hcitool scan
  Scanning ...
          78:DD:08:B0:1F:37       x201s-0
          98:91:20:21:55:78       Bluetooth Keyboard
 
 - ペアリング
 スキャン可能なモードに変更(ISCAN PSCAN)
  $ sudo hciconfig hci0 piscan
  $ sudo bluetooth-agent 4835
  Confirmation request of 508531 for device /org/bluez/21109/hci0/dev_BC_F5_AC_32_AC_10
 でペアリング待ち
 もう一方のデバイスでペアリング.
 
 モードを戻す(hiddenに)
  $ sudo hciconfig hci0 noscan
 
 - プロトコル確認
  $ sdptool browse local
 
 SPPが見つからなかったら追加する
  $  sdptool add --channel=22 SP
 
 - SPP 接続
  $ sudo rfcomm listen /dev/rfcomm0 22
  Waiting for connection on channel 22
  Connection from 70:F9:27:71:74:5B to /dev/rfcomm0
  Press CTRL-C for hangup
 別端末で受信したり
  $ cat /dev/rfcomm0
  test
  hello
  hello pi
 送信したり
  $ echo "hello android" > /dev/rfcomm0
 
 2回めからは
  $ sudo bluetooth-agent --path /org/bluez/21109/hci0/dev_BC_F5_AC_32_AC_10 508531 &
  $ sudo rfcomm connect hci0 4C:B1:99:1A:70:AD &
 
 
 
 - [[ja/BluetoothUser - Debian Wiki:https://wiki.debian.org/ja/BluetoothUser]]
 
 
 * SD [#e5993f4b]
 
 相性があるようなので手元で確認できたものをメモしておく.
 
 - 普通にうまく行ったCard
 -- Toshiba microSD 2GB クラス4 SD-C02G
 - 0 で塗りつぶしてうまく行ったCard
 -- SanDisk ExtremePro 8GB UHS-I
 - 問題の有りそうなCard
 -- [[Gigastoneの32GB microSDHC Class4:https://plus.google.com/u/0/105106999084079383977/posts/hvKcMmAq7T9]]
 
 
 * USB [#decf29a7]
 
 通常のPC などでは500mA 使えるが,R Pi は100mA 迄.そのため電力が足りなくてUSB 機器が動かなかったり,R Pi の動作が不安定になったりする.
 電源付きのUSB ハブを経由してUSB 機器を利用すれば動作する.
 
 ** 動作確認機器 [#o06dd94e]
 以下は手元で動作確認したUSB 機器
 
 *** USB 直接続OK [#rb3da909]
 
 - WiFi
 -- [[BUFFALO WLI-UC-GNM2:http://www.amazon.co.jp/gp/product/B005DU4XSM/ref=as_li_ss_tl?ie=UTF8&tag=matokensmeme-22&linkCode=as2&camp=247&creative=7399&creativeASIN=B005DU4XSM]]~
 接続するだけで動作
 -- [[ロジテック LAN-W150N/U2BK,WH:http://www.amazon.co.jp/gp/product/B003T2SB7A/ref=as_li_ss_tl?ie=UTF8&tag=matokensmeme-22&linkCode=as2&camp=247&creative=7399&creativeASIN=B003T2SB7A]] ( 
 [[@karosuwindam:http://twitter.com/karosuwindam]]さん情報 )~
 接続するだけで動作
 -- [[PLANEX Bluetooth Ver. 3.0+HS対応 Microサイズ USBアダプタ (Class2/10m) BT-Micro3H2X:http://www.amazon.co.jp/gp/product/B00644FV14/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=B00644FV14&linkCode=as2&tag=matokensmeme-22]] Bluetooth & WiFi のコンボアダプタ.両方共接続するだけで動作.
 -- [[Wi-Fi USBアダプタ|GW-USHyper300|PLANEX:http://www.planex.co.jp/product/wireless/gw-ushyper300/]] / [[Amazon:http://www.amazon.co.jp/gp/product/B00439HZ3Y/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=B00439HZ3Y&linkCode=as2&tag=matokensmeme-22]]~
 接続するだけで動作.
 - LAN
 -- [[PCi UE-200TX-G(ASIX AX88772):http://www.planex.co.jp/product/game/ue-200tx-g/]] [[Amazon:http://www.amazon.co.jp/gp/product/B000NI5XRE/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=B000NI5XRE&linkCode=as2&tag=matokensmeme-22]]~
 接続するだけで動作.
 
 
 
 *** 電源付きUSB ハブ経由で動作OK [#icf6ffc3]
 
 * 無線LAN 接続 [#k444699d]
 このあたりはR Pi はほとんど関係なくてDebian の話ですが.
 
 - [[WiFi/HowToUse - Debian Wiki:https://wiki.debian.org/WiFi/HowToUse]]
 
 ** GUi で設定 [#jb191db5]
 
 GUI 設定画面を起動します.
  $ gksudo wpa_gui &
 Adapter を選択します.(wlan0 等)~
 &ref(Screenshot_from_2013-01-25 01:28:41.png,,50%);
 [Scan]ボタンで AP 検索します.~
 出てきた AP 一覧から接続したいネットワークをダブルクリックして設定画面に移動します.~
 &ref(Screenshot_from_2013-01-25 01:28:48.png,,50%);
 
 AP の設定を入力します(家の WPA2-Personal(PSK) の場合は[PSK]欄にパスフレーズ入
 力だけ)~
 &ref(Screenshot_from_2013-01-25 01:29:26.png,,50%);
 
 [ADD]ボタンで設定反映します. ※次回以降の 2 回目からはこの設定を覚えているの
 で,Adapter を選択,Network 選択,[Connect]ボタンで OK です.~
 &ref(Screenshot_from_2013-01-25 01:47:30.png,,50%);
 
 無線 LAN に接続できたら IP の取得と確認を行います.~
  $ sudo dhclient wlan0
  $ ifconfig wlan0
 
 
 ** CLI で設定 [#j477258a]
 
 CLI で設定する場合に便利なコマンド.
 
 - 現在の設定確認
  $ /sbin/iwconfig wlan0
  wlan0     IEEE 802.11bgn  ESSID:"matohara"  
            Mode:Managed  Frequency:2.412 GHz  Access Point: 10:6F:3F:05:7B:70   
            Bit Rate=65 Mb/s   Tx-Power=20 dBm   
            Retry  long limit:7   RTS thr:off   Fragment thr:off
            Power Management:on
            Link Quality=53/70  Signal level=-57 dBm  
            Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
            Tx excessive retries:2  Invalid misc:6   Missed beacon:0
  
 - AP 検索
  $ sudo /sbin/iwlist wlan0 scanning
  wlan0     Scan completed :
            Cell 01 - Address: 10:6F:3F:05:7B:70
                      Channel:1
                      Frequency:2.412 GHz (Channel 1)
                      Quality=55/70  Signal level=-55 dBm  
                      Encryption key:off
                      ESSID:"matohara"
                      Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
                                9 Mb/s; 12 Mb/s; 18 Mb/s
                      Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
                      Mode:Master
                      Extra:tsf=00000082d0268dc0
                      Extra: Last beacon: 1770ms ago
                      IE: Unknown: 00086D61746F68617261
                      IE: Unknown: 010882848B960C121824
                      IE: Unknown: 030101
                      IE: Unknown: 2A0100
                      IE: Unknown: 32043048606C
                      IE: Unknown: DD180050F2020101010003A4000027A4000042435E0062322F00
                      IE: Unknown: DD1E00904C33CC111BFFFF000000000000000000000000000000000000000000
                      IE: Unknown: 2D1ACC111BFFFF000000000000000000000000000000000000000000
                      IE: Unknown: DD1A00904C3401001B00000000000000000000000000000000000000
                      IE: Unknown: 3D1601001B00000000000000000000000000000000000000
                      IE: Unknown: DD0900037F01010000FF7F
                      IE: Unknown: DD0A00037F04010000004000
                      IE: Unknown: DD09000740010179000000
                      IE: Unknown: DD5C0050F204104A0001101044000102103B00010310470010E587E432F69A11DE83A847832B4004D2102100012D102300095748522D473330314E102400012D104200012D1054000800060050F204000110110003575053100800020086
  
 
 
 *** OpenWiFi [#n98d750b]
 /etc/network/interfaces に以下のような設定を追加
  allow-hotplug wlan0
  iface wlan0 inet dhcp
  wireless-essid 利用したい無線のESSID
 
 *** WEP [#w4955bc3]
 
 *** WPA/PSK [#y9b1bad2]
 /etc/network/interfaces に以下のような設定を追加
  auto wlan0
  iface wlan0 inet dhcp
   &#160; &#160;wpa-ssid 利用したい無線のESSID
   &#160; &#160;wpa-psk パスフレーズ
 
 しかし,これだとパスフレーズがそのまま表示されてよろしくない.
 wpa_passphrase を使って暗号化しておく.
  $ wpa_passphrase 利用したい無線のESSID パスフレーズ
  network={
          ssid="利用したい無線のESSID"
          #psk="パスフレーズ"
          psk=4122100422cd255a3a8b7518c78bcb7e66dcd9cb6b03426eb45f45ee2ab7872a
  }
 これを元に,/etc/network/interfaces のwpa-psk を差し替え.
 &#160;auto wlan0
 &#160;iface wlan0 inet dhcp
 &#160; &#160; &#160;wpa-ssid 利用したい無線のESSID
 &#160; &#160; &#160;wpa-psk 4122100422cd255a3a8b7518c78bcb7e66dcd9cb6b03426eb45f45ee2ab7872a
 
 *** 複数の設定 [#ed8a060b]
 
 
 * GPIO を触ってみる. [#y37dfdaf]
 物理的なポートは以下を参照
 
 - [[RPi Low-level peripherals - eLinux.org:http://elinux.org/RPi_Low-level_peripherals]]
 
  # cat gpiotest.pl 
  #!/usr/bin/perl
  `echo "4" > /sys/class/gpio/export`;    # GPIO4 を使う準備
  `echo "out" > /sys/class/gpio/gpio4/direction`; # GPIO4 をout で利用
  while(1){
    $n=($n+1)%2;
    `echo "$n" > /sys/class/gpio/gpio4/value`; # 1でLED On/0でLED Off
    sleep 1; # 1秒毎に点滅
  }
 
 回路はGPIO Pin とLED の間に制限抵抗を挟んだだけ.
 
 - [[動画:https://plus.google.com/u/0/103792214056489833385/posts/LV2LMP342aY]]
 
 ** GPIO をpi ユーザで [#a9c31ce9]
 動いたけどいちいちsudo するのは面倒です.
  $ find /sys/class/gpio/ -ls
      47    0 drwxr-xr-x   2 root     root            0 Dec 16 01:09 /sys/class/gpio/
      48    0 --w-------   1 root     root         4096 Dec 16 01:09 /sys/class/gpio/export
      49    0 --w-------   1 root     root         4096 Dec 16 02:37 /sys/class/gpio/unexport
    1265    0 lrwxrwxrwx   1 root     root            0 Dec 16 02:37 /sys/class/gpio/gpiochip0 -> ../../devices/virtual/gpio/gpiochip0
 
 
 以下のようなファイルを作成.gpio グループで読み書きが出来るようにする.
  $ cat /etc/udev/rules.d/91-gpio.rules
  KERNEL=="gpio*", MODE:="0660", GROUP:="gpio"
 
 gpio グループを作成.
  $ sudo addgroup gpio
 何時も使うユーザをgpio グループに追加
  $ sudo usermod -G gpio pi
 追加されたのを確認
  $ grep ^gpio: /etc/group
  gpio:x:1001:pi
 再起動
 
 あれ?うまくいかない
  $ find /sys/class/gpio/ -ls
      47    0 drwxr-xr-x   2 root     root            0 Dec 16 02:50 /sys/class/gpio/
      48    0 --w-------   1 root     root         4096 Dec 16 02:50 /sys/class/gpio/export
      49    0 --w-------   1 root     root         4096 Dec 16 02:50 /sys/class/gpio/unexport
    1265    0 lrwxrwxrwx   1 root     root            0 Dec 16 02:50 /sys/class/gpio/gpiochip0 -> ../../devices/virtual/gpio/gpiochip0
 
 
 **$10のRealTime module を使う [#m1630ad0]
 
 ネットワークが使えない場合に便利.
 
 - [[Epoch: $10 Real Time for RaspberryPi | WyoLum Blog:http://wyolum.com/epoch-10-real-time-for-raspberrypi/]]
 - [[Buy Epoch - Real-time Clock for Raspberry Pi [SEN04281P] | Seeedstudio:http://www.seeedstudio.com/depot/epoch-realtime-clock-for-raspberry-pi-p-1440.html?cPath=144_152]]
 
  sudo apt-get update
  sudo apt-get upgrade
  sudo apt-get install git python-smbus i2c-tools
  sudo sh -c 'sed -i -e "s/^blacklist i2c-bcm2708$/#blacklist i2c-bcm2708/" /etc/blacklist.conf'
  sudo sh -c 'sed -i -e "s/^blacklist spi-bmc2708$/#blacklist spi-bmc2708/" /etc/blacklist.conf'
  sudo sh -c "echo 'snd-bcm2835' >> /etc/modules"
  sudo sh -c "echo 'i2c-dev' >> /etc/modules"
  sudo reboot
 
  sudo i2cdetect -y 1
       0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
  00:          -- -- -- -- -- -- -- -- -- -- -- -- --
  10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  30: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
  40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
  70: -- -- -- -- -- -- -- --
  mkdir GIT
  cd GIT
  git clone https://github.com/wyolum/Epoch.git
  cd Epoch
  sudo python Epoch.py
  2013-10-27 18:24:22
  2013-10-27 18:24:23
 
 起動時に反映
  sudo modprobe rtc-ds1307
  sudo sh -c "echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device"
  sudo sh -c "echo 'rtc-ds1307' >> /etc/modules"
  sudo sh -c "echo 'echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device' >> /etc/rc.local"
  sudo sh -c "echo 'sudo hwclock -s' >> /etc/rc.local"
  sudo sh -c 'sed -i -e "s/^exit 0$//" /etc/rc.local'
  sudo sh -c "echo 'exit 0' >> /etc/rc.local"
 
 20140728 RaspberryPi B+ 動作確認OK
 
 * Serial 接続 [#w1421e05]
 
 X飛ばすとかは出来ないけれどheadless で利用するのに便利.
 
 ** TTL Adapter [#u95ce450]
 *** SparkFun FTDI Basic Breakout - 3.3V [#f207c1e0]
 RX(15) をTX にTX(14) をRX にGND をGND に接続.
 
 [[http://farm9.staticflickr.com/8492/8303095641_3d2b4946f5.jpg:http://www.flickr.com/photos/matoken/8303095641/]]
 [[http://farm9.staticflickr.com/8499/8304148216_2e33d8fce1.jpg:http://www.flickr.com/photos/matoken/8304148216/]]
 
 接続には以下のものを利用.
 - [[FTDI Basic Breakout - 3.3V - SparkFun Electronics:https://www.sparkfun.com/products/8772]]
 
  $ cu -l /dev/ttyUSB1 -s 115200
  Connected.
  
  Debian GNU/Linux wheezy/sid raspberrypi ttyAMA0
  
  raspberrypi login: pi
  Password: 
  Last login: Mon Dec 24 22:21:57 JST 2012 from 192.168.1.108 on pts/1
  Linux raspberrypi 3.2.27+ #250 PREEMPT Thu Oct 18 19:03:02 BST 2012 armv6l
  
  The programs included with the Debian GNU/Linux system are free software;
  the exact distribution terms for each program are described in the
  individual files in /usr/share/doc/*/copyright.
  
  Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
  permitted by applicable law.
  pi@raspberrypi:~$ 
 
 普通に使える.
 
 *** PL2303HX to USB TTL [#c611846d]
 
 DX.com で$3以下で購入.~
 - [[PL2303HX to USB TTL Upload Download Wire for Arduino (100CM) - Worldwide Free Shipping - DX:http://www.dx.com/p/arduino-pl2303hx-to-usb-ttl-upload-download-wire-black-100cm-199553#.VFqs9nX6-Ay]]
 
 最近は同じものが日本でも売ってるがちょっと割高
 - [[PL2303HX内蔵USBシリアル変換ケーブル - スイッチサイエンス:https://www.switch-science.com/catalog/1196/]]
 - [[Seeed Studio 359313001/321010012 PL2303HX内蔵USBシリアル変換ケーブル:http://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-4HJ7]]
 
 以下のように接続して動作した.
 
 - 黒 : GND(P1-06)
 - 白 : TX(P1-08)
 - 緑 : RX(P1-10)
 - 赤 : 未接続
 
 [[https://farm4.staticflickr.com/3946/15534530609_ac42e4bc6e_n.jpg:https://www.flickr.com/photos/119142834@N05/15534530609]]
 
 ※色はロットなどによって変わる可能性もあるので注意.
 
 dmesg
  [154522.798936] usb 1-1.2: new full-speed USB device number 19 using ehci-pci
  [154522.895713] usb 1-1.2: New USB device found, idVendor=067b, idProduct=2303
  [154522.895718] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
  [154522.895721] usb 1-1.2: Product: USB-Serial Controller
  [154522.895722] usb 1-1.2: Manufacturer: Prolific Technology Inc.
  [154522.896139] pl2303 1-1.2:1.0: pl2303 converter detected
  [154522.897841] usb 1-1.2: pl2303 converter now attached to ttyUSB1
 
  % lsusb -d 067b:2303
  Bus 001 Device 019: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
 
 % lsusb -d 067b:2303 -vvv~
 https://gist.github.com/1265f47a168cfdf94a49
 
 ※USB 部分はパカッと開いてしまうのでテープで巻いたりホットボンドで止めるなどしたほうが良い
 
 Android でも接続できた
 - [[Android から USB-TTL 経由でRaspberry Pi にアクセス | matoken's meme:http://matoken.org/blog/blog/2015/02/12/android2usb-ttl2raspberry-pi/]]~
 https://farm8.staticflickr.com/7456/16323243869_c6830ceb88.jpg
 
 ** boot message [#j12bd362]
 
 &ref(serial_boot.log);
 
 ** Raspbian での設定 [#y39f8ed9]
 
 規定で接続できるが設定は以下の部分
 
 - /boot/cmdline.txt
  dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
 の *console=ttyAMA0,115200 console=tty1* 部分
 
 - /etc/inittab 
  72:T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
 
 逆にTTLの機器を接続したい場合はここを削る.
 
 
 * kismet を動かしてコミケのESSID を記録してみる(WAR Driving) [#t960593d]
 
 ここ数年コミケではモバイルWiFi ルータのESSID で遊ぶ人が多いです.これを記録するのにNotePC だとバッテリの持ちや熱が心配です.
 以前はiPad で記録していたのですがその時のsoft はJB しないと使えないものでiPad 3G にしてまだJB してないので使えませんでした.
 
 そこで,R Pi をバッテリで動かしてkismet で記録してみるといいかもと思って試してみました.
 
 バッテリは[[cheero Power Plus 10000mAh:http://www.amazon.co.jp/gp/product/B0081LRCJW/ref=as_li_ss_tl?ie=UTF8&tag=matokensmeme-22&linkCode=as2&camp=247&creative=7399&creativeASIN=B0081LRCJW]] を利用.
 ほぼ満充電(前日に充電にしておいた)で7時間40分ほど動かして目盛りが3/5 になっていました.まだまだ動きそうです.
 
 WiFi モジュールは[[BUFFALO WLI-UC-GNM2:http://www.amazon.co.jp/gp/product/B005DU4XSM/ref=as_li_ss_tl?ie=UTF8&tag=matokensmeme-22&linkCode=as2&camp=247&creative=7399&creativeASIN=B005DU4XSM]] を利用.2.4GHz のみ対応なので,5GHz も対応したもので次は試したい.
 
 もうひとつUSB WiFi ドングルを挿してそっちで状態確認ができるようにしておくと良かったかもしれません.
 
 今回は場所固定だったのでやっていませんが,GPS も接続するとログに位置情報も記録できます.
 
 参考URL~
 - [[kismet on ubuntu 10.04 (acer aspire one) メモ - toshi_hirasawaの日記:http://d.hatena.ne.jp/toshi_hirasawa/20110702/1309571146]]
 ** 導入 [#hf430e39]
 
 普通にpkg から
  $ sudo apt-get install kismet
 
 ** kismet の設定 [#l5478b58]
 
 /etc/kismet/kismet.conf を編集.
 
  13c13
  < #suiduser=your_user_here
  ---
  > suiduser=pi
  27c27
  < source=none,none,addme
  ---
  > source=ath5k,wlan0,pi
 
 この状態でkismet の動作を確認しておく.
 
 ** kismet の自動起動 [#iffae40d]
 
 出先でR Pi を操作するのが面倒なのでkismet を自動起動するようにしておく.
 
 /etc/rc.local に以下を追記.
  /usr/bin/kismet_server
 
 再起動してkismet が自動的に起動してログが作られるのを確認する.
 
 ** kismet のログ確認 [#s07f1bd1]
 
 /var/log/kismet 以下にログが生成される.
 日本語AP 等文字参照になっているので変換が必要.
 
 AP 数
  $ wc -l Kismet-Dec-31-2012-2.csv
  12109 Kismet-Dec-31-2012-2.csv
 MAC アドレスで集計してユニークなAP 数
  $ wc -l Kismet-Dec-31-2012-2.csv
  12109 Kismet-Dec-31-2012-2.csv
 ESSID 種類
  $ cut -f3 -d\; Kismet-Dec-31-2012-2.csv| sort -n | uniq | wc -l
  5224
 ESSID 出現数順
  $ cut -f3 -d\; Kismet-Dec-31-2012-2.csv| sort -n | uniq -c | sort -n | tail
      30 wifine
      41 Wi2
      41 mobilepoint
      52 0001softbank
      58 Wi2premium
     106 0002softbank
     145 PSP_ANPJH50352_L_GodEater
     195 PSP_ANPJH50332_L_DISCOVER
     740 Nintendo_3DS_continuous_scan_000
    4828 <no ssid>
 日本語とか
  $ cut -f3 -d\; Kismet-Dec-31-2012-2.csv|perl -pe 's/\\(\d+)/chr(oct($1))/eg;'
 
 USB WiFI モジュールが2.4GHz のみ対応のものだったので,5GHz は拾えていない.以下のあたりが両対応(chip は''RTl8192DU'' )らしい.
 - [[PLANEX 11a/n/g/b同時使用対応 300Mbpsハイパワー無線LAN USBアダプタ GW-USDUAL300:http://www.amazon.co.jp/gp/product/B00644FV0K/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=B00644FV0K&linkCode=as2&tag=matokensmeme-22]]
 
 * XBMC [#kbf23510]
 &ref(IMG_20130122_173631.jpg,,50%);
 - [[Raspbmc:http://www.raspbmc.com/]]
 - [[暇村の村長日記: Raspberry PiでXBMCを動かす:http://himamura-arandroid.blogspot.jp/2012/12/raspberry-pixbmc.html]]
 
 Paspberry Pi modelB 256MB 版に1GB SD で試している.
 
 [[Raspbmc &#187; Download:http://www.raspbmc.com/download/]] > [[Raspbmc &#187; OS X / Linux installation:http://www.raspbmc.com/wiki/user/os-x-linux-installation/]] と辿ってLinux 用のインストールイメージを入手してroot 権限で実行.
 
 導入用Script を入手(Windows/Mac,Linux 用がある)
  $ python install.py
  Raspbmc installer for Linux and Mac OS X
  http://raspbmc.com
  ----------------------------------------
  Please re-run this script with root privileges, i.e. 'sudo ./install.py'
 
 実行
  $ sudo python install.py
  Raspbmc installer for Linux and Mac OS X
  http://raspbmc.com
  ----------------------------------------
  Please ensure you've inserted your SD card, and press Enter to continue.
  
  Enter the 'Disk' you would like imaged, from the following list:
  Disk /dev/mapper/sdb5_crypt doesn't contain a valid partition table
  Disk /dev/mapper/x220-root doesn't contain a valid partition table
  Disk /dev/mapper/x220-swap_1 doesn't contain a valid partition table
  Disk /dev/sda: 600.1 GB, 600127266816 bytes
  Disk /dev/mapper/sdb5_crypt: 599.9 GB, 599867260928 bytes
  Disk /dev/mapper/x220-root: 575.6 GB, 575571755008 bytes
  Disk /dev/mapper/x220-swap_1: 24.3 GB, 24293408768 bytes
  Disk /dev/sdb: 500.1 GB, 500107862016 bytes
  Disk /dev/mmcblk0: 966 MB, 966787072 bytes
  
  Enter your choice here (e.g. 'mmcblk0' or 'sdd'): mmcblk0
 ※SD Card のデバイスを指定.間違えると悲しいことになるので注意.
  It is your own responsibility to ensure there is no data loss! Please backup your system before imaging
  You should also ensure you agree with the Raspbmc License Agreeement
  Are you sure you want to install Raspbmc to '/dev/mmcblk0' and accept the license agreement? [y/N] y
  Downloading, please be patient...
  Downloaded 15.79 of 15.79 MiB (100.00%)
  
  Please wait while Raspbmc is installed to your SD card...
  (This may take some time and no progress will be reported until it has finished.)
  0+2342 レコード入力
  0+2342 レコード出力
  76800000 バイト (77 MB) コピーされました、 0.582415 秒、 132 MB/秒
  Installation complete.
  Mounting the drive for post-installation settings
 これでインストーラがSD Card に導入された.
 
 %%ネットワークを接続して起動するとイメージのダウンロードが始まるはずだけど,今Network/Keyboad 用意できないのでまた今度….%%
 
 てことで続き.
 
 ネットワークとHDMI を用意して起動.イメージのダウンロードが始まる.
 2回ほど再起動して導入完了.
 
 ** Hulu を見たい [#yd8134a2]
 [[bluecop-xbmc-repo - Repository of XBMC video plug-ins - Google Project Hosting:http://code.google.com/p/bluecop-xbmc-repo/]] からrepository.bluecop.xbmc-plugins.zip を入手して導入する.
 するとビデオアドオンにHulu が出てくる.
 設定なしだとビデオのリスト確認だけで再生できない.アカウント情報を登録すると起動しなくなった.
 恐らく日本版に対応していない?
 
 * GPS モジュールを接続してみる [#z06389b0]
 
 ** GPIOのSerial経由でGT-723F を接続 [#p38ed866]
 
 - [[RS232Cレベルコンバータ内蔵GPSモジュールGT−723F: センサ一般 秋月電子通商 電子部品 ネット通販:http://akizukidenshi.com/catalog/g/gM-04554/]]
 
 *** Serial を利用できるようにする [#j3de7b93]
 
 /boot/cmdline.txt
  - dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
  + dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
 
 /etc/inittab
    #Spawn a getty on Raspberry Pi serial line
  - T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
    #Spawn a getty on Raspberry Pi serial line
  + #T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
 
 dialout GROUP に pi USER を追加.
  $ sudo addgroup pi dialout
  The user `pi' is already a member of `dialout'.
  $ id
  uid=1000(pi) gid=1000(pi) groups=1000(pi),20(dialout)
  $ reboot
 
 *** 配線例 [#sed6a881]
 
  GT-723F P1(GND)   <---> Pi P1-06(GND)
  GT-723F P2(PWR)   <---> Pi P1-01(3.3V)
  GT-723F P5(TTL-In) <---> Pi P14(TX)
  GT-723F P6(TTL-Out) <---> Pi P1-15(RX)
 
 *** 動作確認 [#f983b2fd]
 
 #gpscat は python-gps pkg
 
  $ gpscat -s 9600 /dev/ttyAMA0
  $GPRMC,120834.000,V,0000.0000,N,00000.0000,E,000.0,000.0,280606,,,N*70
  
  $GPGGA,120834.000,0000.0000,N,00000.0000,E,0,00,0.0,0.0,M,0.0,M,,0000*61
  
  $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
  
  $GPGSV,2,1,07,02,63,062,,26,59,190,,05,55,342,,10,30,043,*7B
  
  $GPGSV,2,2,07,29,24,314,,15,23,212,,12,07,232,*46
  
  $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02
  
  $GPRMC,120835.000,V,0000.0000,N,00000.0000,E,000.0,000.0,280606,,,N*71
  
  $GPGGA,120835.000,0000.0000,N,00000.0000,E,0,00,0.0,0.0,M,0.0,M,,0000*60
  
  $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
  
  $GPGSV,2,1,07,02,63,062,,26,59,190,,05,55,342,,10,30,043,*7B
  
  ^C
 
 
 ** HOLUX M-241 をUSB 接続 [#y3dc028b]
 [[http://farm9.staticflickr.com/8517/8348772269_3375981edf.jpg:http://www.flickr.com/photos/matoken/8348772269/]]
 - 参考URL
 -- [[Holux M-241 - OpenStreetMap Wiki:http://wiki.openstreetmap.org/wiki/Holux_M-241#Linux]]
 
 接続すると/dev/ttyUSB0 が作成される.(他にUSB Serial Device があれば末尾の番号が+される.ttyUSB1->ttyUSB2…)
 
 -シリアル速度を38400 に設定
  $ sudo sh -c "stty 38400 < /dev/ttyUSB0"
 
 - gpsd パッケージを導入
  $ sudo apt-get install gpsd
 
 - gpscat でログを確認
  $ sudo gpscat /dev/ttyUSB0
  $GPGGA,131849.004,3115.1904,N,13051.0520,E,0,0,,121.0,M,29.0,M,,*43
  $GPGSA,A,1,,,,,,,,,,,,,,,*1E
  $GPGSV,3,1,11,14,77,097,,25,49,038,33,31,44,309,17,29,37,111,*71
  $GPGSV,3,2,11,30,30,234,,22,27,201,,32,23,305,,12,14,041,*7E
  $GPGSV,3,3,11,18,04,172,,16,03,223,,20,03,320,*47
  $GPRMC,131849.004,V,3115.1904,N,13051.0520,E,0.00,314.83,050113,,,N*74
  $GPVTG,314.83,T,,M,0.00,N,0.00,K,N*3F
  $GPGGA,131850.004,3115.1904,N,13051.0520,E,0,0,,121.0,M,29.0,M,,*4B
  $GPGSA,A,1,,,,,,,,,,,,,,,*1E
  $GPGSV,3,1,11,14,77,097,,25,49,038,33,31,44,309,17,29,37,111,*71
  $GPGSV,3,2,11,30,30,234,,22,27,201,,32,23,305,,12,14,041,*7E
  $GPGSV,3,3,11,18,04,172,,16,03,223,,20,03,320,*47
  $GPRMC,131850.004,V,3115.1904,N,13051.0520,E,0.00,314.83,050113,,,N*7C
  $GPVTG,314.83,T,,M,0.00,N,0.00,K,N*3F
  $GPGGA,131851.004,3115.1904,N,13051.0520,E,0,0,,121.0,M,29.0,M,,*4A
  $GPGSA,A,1,,,,,,,,,,,,,,,*1E
  $GPGSV,3,1,11,14,77,097,,25,49,038,33,31,44,309,17,29,37,111,*71
  $GPGSV,3,2,11,30,30,234,,22,27,201,,32,23,305,,12,14,041,*7E
  $GPGSV,3,3,11,18,04,172,,16,03,223,,20,03,320,*47
  $GPRMC,131851.004,V,3115.1904,N,13051.0520,E,0.00,314.83,050113,,,N*7D
  $GPVTG,314.83,T,,M,0.00,N,0.00,K,N*3F
  $GPGGA,131852.004,3115.1904,N,13051.0520,E,0,0,,121.0,M,29.0,M,,*49
  $GPGSA,A,1,,,,,,,,,,,,,,,*1E
  $GPGSV,3,1,11,14,77,097,,25,49,038,33,31,44,309,17,29,37,111,*71
  $GPGSV,3,2,11,30,30,234,,22,27,201,,32,23,305,,12,14,041,*7E
  $GPGSV,3,3,11,18,04,172,,16,03,223,,20,03,320,*47
  $GPRMC,131852.004,V,3115.1904,N,13051.0520,E,0.00,314.83,050113,,,N*7E
  $GPVTG,314.83,T,,M,0.00,N,0.00,K,N*3F
  ^C
 
 - gpsd を試す
  $ sudo gpsd -N -D 2 /dev/ttyUSB0
 
 - gpsbabel を試す
 -- 導入
  $ sudo apt-get install gpsbabel
 -- ロギング
  $ sudo gpsbabel -t -w -i m241 -f /dev/ttyUSB0 -o gpx -F `date +'%F-%H:%M'`.gpx &
  $ head -20 2013-01-05-22:32.gpx
  <?xml version="1.0" encoding="UTF-8"?>
  <gpx
    version="1.0"
    creator="GPSBabel - http://www.gpsbabel.org"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.topografix.com/GPX/1/0"
    xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
  <time>2013-01-05T13:33:12Z</time>
  <bounds minlat="31.252632141" minlon="130.843322754" maxlat="31.259998322" maxlon="130.851913452"/>
  <trk>
    <name>track-1</name>
    <desc>Log every 1 sec, 0 m</desc>
  <trkseg>
  <trkpt lat="31.259840012" lon="130.843322754">
    <ele>126.966797</ele>
    <time>2013-01-04T05:21:27Z</time>
    <name>TP000001</name>
  </trkpt>
  <trkpt lat="31.259849548" lon="130.843338013">
    <ele>127.013672</ele>
 
 ** HDMI-VGA 変換経由で解像度の低いモニタを利用する [#aa7b9de1]
 
 HDMI to VGA adapter を利用してVGA モニタに接続することが可能.
 - [[Amazon.co.jp: HDMI to VGA adapter ブラック / HDMI信号をVGA出力信号に変換するアダプター(音声出力あり)(HDMI延長アダプタ付き): 家電・カメラ:http://www.amazon.co.jp/gp/product/B008XU9M26/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=B008XU9M26&linkCode=as2&tag=matokensmeme-22]]
 
 手元のモニタは1366x768
 - [[Amazon.co.jp: センチュリー 10.1インチアナログRGBモニター PLUS ONE VGA LCD-10000V2: パソコン・周辺機器:http://www.amazon.co.jp/%E3%82%BB%E3%83%B3%E3%83%81%E3%83%A5%E3%83%AA%E3%83%BC-10-1%E3%82%A4%E3%83%B3%E3%83%81%E3%82%A2%E3%83%8A%E3%83%AD%E3%82%B0RGB%E3%83%A2%E3%83%8B%E3%82%BF%E3%83%BC-PLUS-ONE-LCD-10000V2/dp/B00F0Y8SLE/ref=sr_1_cc_1?s=aps&ie=UTF8&qid=1393990864&sr=1-1-catcorr&keywords=LCD-10000V]]
 
 // [[Amazon.co.jp: センチュリー 8インチHDMIマルチモニター PLUS ONE HDMI LCD-8000VH: パソコン・周辺機器:http://www.amazon.co.jp/gp/product/B00GIFJA6G/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=B00GIFJA6G&linkCode=as2&tag=matokensmeme-22]]
 - [[http://elinux.org/RPiconfig|RPiconfig - eLinux.org]]
 を参考に解像度を変更する.
 
  % diff config.txt-org config.txt 
  25c25
  < #hdmi_mode=1
  ---
  > hdmi_mode=39  # 1360x768  60Hz
 
 * リアルタイム動画配信を試してみる [#if550d0a]
 ** Justin TV [#v9a77d90]
 
 Raspberry Pi のUSB にWebCam とWiFi モジュールを接続し,配信はffmpeg でエンコードを行いRTMP でJustin.tv へデータを送信しています.
 
  $ padsp ffmpeg -f video4linux2 -pix_fmt bgra -s 160x120 -r 7 -i /dev/video0 -vcodec libx264 -vpre baseline -f flv "rtmp://live.justin.tv/app/live_xxxxxx_xxxxxxxx"
 
 ※最後のlive_xxxxxx_xxxxxxxx 部分はJustin.tv にlogin した状態で http://ja.justin.tv/broadcast/adv_other#fmle にアクセスして設定ファイルをダウンロード.そのファイルの中の <stream> タグの中身を書きます.
 
 配信は出来ましたが,160x120 でも1fps とかでした.
 現在クロックアップして少しだけマシになりました.
 
 クロックアップ前
  frame=39659 fps=  1 q=17.0 size=  279396kB time=37567.14 bitrate=  60.9kbits/s dup=0 drop=64
 クロックアップ後(Turbo)
  frame=  174 fps=  2 q=19.0 size=     658kB time=51.14 bitrate= 105.4kbits/s dup=0 drop=55    p=40   
 
 
 ハードウェアエンコードが効いてないと思うので効くように出来ないか調べてみようと思っています.
 
 - [[ひよこch 配信中:http://www.slideshare.net/matoken/ch-17251412]] 小江戸らぐでの発表資料(2013/03)
 - [[Raspberry Pi &#8226; View topic - justin.tv へのリアルタイム配信:http://www.raspberrypi.org/phpBB3/viewtopic.php?f=82&t=36762&sid=0739ac2261b3cc3c3803f8215af8c665]] 
 
 * PC をRaspberry Pi のコンソールにする. [#x22a534b]
 Raspberry Pi のコンポジットをキャプチャしてPC で画面を見られないかなと試してみました.
 
 USB キャプチャを利用.$10 以下のEasyCAP を選択.
 - [[easycap - Free Shipping - DX:http://dx.com/s/easycap]]
 
 挿すと /dev/video? が作成される.(なんか1回目は大抵失敗する.その場合挿しなおして認識)~
 適当なsoft で表示する.
  $ mplayer tv:///4 -tv device=/dev/video1:norm=NTSC_M:width=720:height=480 -vf scale,pullup,pp=l5,dsize=16/9,screenshot -framedrop
 
 EasyCAP はすごい画質悪い.コンポジットとは言え悪すぎる気がします.少し値が張るけど国産の適当なものを買ったほうがいいのかも><~
 
 &ref(Screenshot_from_2013-03-22 19:45:51.png,,50%);
 
 
 [[Amazon.co.jp: Princeton USBビデオキャプチャーユニット デジ造 映像版 PCA-DAV2: パソコン・周辺機器:http://www.amazon.co.jp/gp/product/B000WOTYI8/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=B000WOTYI8&linkCode=as2&tag=matokensmeme-22]]
 というものがハードオフで\1,200- で売っていたので買ってみました.
 普通に/dev/video? で繋がりました.しかし以下のようにやはりボケます.矢張りコンポジットはダメぽいですね.~
 &ref(Screenshot_from_2013-09-24 21:11:48.png,,50%);
 
 * Mathematica [#ffd20827]
 - [[The Wolfram Language and Mathematica on Raspberry Pi, for free | Raspberry Pi:http://www.raspberrypi.org/archives/5282]]
 
 てことで入れてみる
 
  $ sudo apt-get update
  $ sudo apt-get upgrade
  $ sudo apt-get install wolfram-engine
 
 途中ライセンス確認が入ります.
 
  $ wolfram 
  Wolfram Language (Raspberry Pi Pilot Release)
  Copyright 1988-2013 Wolfram Research
  Information & help: wolfram.com/raspi
  
  In[1]:= 
 
 GUI だと
  $ /opt/Wolfram/WolframEngine/10.0/Executables/mathematica
 
 ** Mathematicaで任意画像の輪郭を数式に変換するを試してみる [#da50cc7a]
 - [[Mathematicaで任意画像の輪郭を数式に変換する - チューリング不完全:http://aomoriringo.hateblo.jp/entry/2013/11/30/074758]]
 - [[任意画像の輪郭を数式に変換してプロットする (Mathematica ver.8):https://gist.github.com/aomoriringo/7706985]]
 
 * Adafruit PiTFT を使う [#z5e4e0b1]
 Adafruit のRaspberry Pi のGPIO(26Pin/40Pin両対応)接続のQVGAの液晶+タッチパネル+GPIO 接続ボタンの基板.
 - [[PiTFT - Assembled 320x240 2.8 TFT+Touchscreen for Raspberry Pi ID: 1601 - $34.95 : Adafruit Industries, Unique & fun DIY electronics and kits:https://www.adafruit.com/products/1601]]
 
 利用には専用ドライバ等が必要.Raspbianにはバイナリパッケージが用意されている.
 現在はAdafruit から導入済みのRaspbian イメージや導入用Script が用意されていて導入は簡単になった.
 
 - [[Overview | Adafruit PiTFT - 2.8" Touchscreen Display for Raspberry Pi | Adafruit Learning System:https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi]]
 
 導入Script 実行例~
 ※2015/02/18時点ではこのScriptをRaspberryPi2が動作するイメージで実行するとRaspberryPi2のkernelが消えてしまうようなので注意.(/boot をコピーして起動するように.その後 linux-image-3.18.0-trunk-rpi2 firmware-linux-free linux-base を導入して復旧した?)
  $ wget http://adafru.it/pitftsh
  $ sudo bash ./pitftsh -t 28r -r
     :
  Would you like the console to appear on the PiTFT display? [y/n] 
     :
  Would you like GPIO #23 to act as a on/off button? [y/n] 
     :
  $ reboot
 
 導入後再起動すると /dev/fb1 として利用できるようになる.~
 https://farm9.staticflickr.com/8596/16495525821_aec7c73346_n.jpg~
 後はfbtermを使うなり~
 https://farm8.staticflickr.com/7414/15879012013_95280a79b9_n.jpg~
 startxして~
 https://farm9.staticflickr.com/8642/16497250935_62f9da692f_n.jpg~
 mikutterするなり出来る~
 https://farm8.staticflickr.com/7408/15876608414_75fd12d76d_n.jpg~
 
 - [[RaspberryPi を持ち運びパソコンとして使いたい:http://www.slideshare.net/matoken/raspberrypi-34496434]]
 
 * mountする [#tb54dc1c]
 ** SD image をmount する [#a21366f1]
 
 Raspbian イメージは複数のパーティションを持っている.パーティション情報を確認.
  % /sbin/fdisk -l -u ./2015-01-31-raspbian.img 
  
  Disk ./2015-01-31-raspbian.img: 3.1 GiB, 3276800000 bytes, 6400000 sectors
  Units: sectors of 1 * 512 = 512 bytes
  Sector size (logical/physical): 512 bytes / 512 bytes
  I/O size (minimum/optimal): 512 bytes / 512 bytes
  Disklabel type: dos
  Disk identifier: 0x00092fac
  
  Device                     Boot  Start     End Sectors Size Id Type
  ./2015-01-31-raspbian.img1        8192  122879  114688  56M  c W95 FAT32 (LBA)
  ./2015-01-31-raspbian.img2      122880 6399999 6277120   3G 83 Linux
 
 開始ブロックを参照する.ここでは1つ目のパーティションの開始ブロックは 8192,2つ目は 122880
 
 以下の例では1つ目のパーティションを読み込み専用で /mnt にループバックマウントしている.
  % sudo mount -o loop,ro,offset=`expr 8192 \* 512` ./2015-01-31-raspbian.img /mnt
 
 loop デバイス経由のほうが解りやすいかも?
 
 - [[複数パーティーション情報を含むディスクイメージの作成からフォーマット,マウントまでのメモ | matoken's meme:http://matoken.org/blog/blog/2015/11/22/notes-from-the-creation-of-disk-image-containing-multiple-patishon-information-format-to-mount/]]
 
 kpertx とかも便利
 
 - [[ディスクイメージのデバイスマップが簡単に作れるkpartxを試す &#8211; matoken's meme:https://matoken.org/blog/2018/01/21/resize-partition-in-a-images-file/]]	
 
 qemuでhostPC(amd64)でupdateしたりするのも速くて便利
 
 - [[Raspbian stretch イメージを Devuan ascii にしてみる &#8211; matoken's meme:https://matoken.org/blog/2018/01/23/raspbian-stretch-imag-to-devuan-ascii/]]
 
 でもdiskfullになりがちなのでそういう場合は拡大
 
 - [[Raspbianイメージを任意の広さに拡大する &#8211; matoken's meme:https://matoken.org/blog/2018/01/21/resize-partition-in-a-images-file/]]
 
 
 * USB-OTG [#y60e62fb]
 
 Raspberry PiではA/A+/Zero/Zero W/ZwroHW でのみ可能(手元ではZeroHWは未検証)
 Raspberry PiではA/A+/Zero/Zero W/ZwroHW/CM で可能(手元ではZeroHW/CMは未検証)
 
 
 /boot/config.txt を編集する必要がある.
 
 Zero
   $ echo "# USB OTG
   dtoverlay=dwc2" | sudo tee -a /boot/config.txt
 A/A+
   $ echo "# USB OTG
   dtoverlay=dwc2,dr_mode=peripheral" | sudo tee -a /boot/config.txt
 
 再起動で反映
 
 ※Aについては以下のコメントが参考になった
 
   sebdl commented on 30 May 2017
   Regarding dwc2 on raspberry A+. After some search I found this very interesting for me: https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README.
   Regarding dwc2 on raspberry A+. After some search I found this very interesting 
   for me: https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README.
   I managed to make it work without hw modifications, so just added:
   dtoverlay=dwc2,dr_mode=peripheral in file /boot/config.txt.
 Of course you can't change mode dinamically but for my purpose it does the trick!
   Of course you can't change mode dinamically but for my purpose it does the trick!
   @gbaman if you update HowToOTG.md with this maybe will be useful for others.
   Many Thanks!
 
 - [[Simple guide for setting up OTG modes on the Raspberry Pi Zero:https://gist.github.com/gbaman/50b6cca61dd1c3f88f41]]
 
 ** シリアルを使ってみる [#j3e3cacb]
 
 Raspberry Pi側でシリアルの g_serial moduleを読み込む
 
   $ sudo modprobe g_serial
   $ lsmod|grep g_serial
   g_serial                3753  0
   libcomposite           49383  3 usb_f_acm,usb_f_rndis,g_serial
   $ dmesg | tail -8
   [  332.804810] g_serial gadget: Gadget Serial v2.4
   [  332.804840] g_serial gadget: g_serial ready
   [  332.804887] dwc2 20980000.usb: dwc2_hsotg_enqueue_setup: failed queue (-11)
   [  332.807914] dwc2 20980000.usb: bound driver g_serial
   [  333.013000] dwc2 20980000.usb: new device is high-speed
   [  333.093343] dwc2 20980000.usb: new device is high-speed
   [  333.161825] dwc2 20980000.usb: new address 26
   [  335.546058] g_serial gadget: high-speed config #2: CDC ACM config
 
 /dev/ttyGS0 が生えてくる
 
   $ ls -ltr /dev/tty*| tail -2
   crw-rw---- 1 root dialout 243,  0 12月 24 18:24 /dev/ttyGS0
   crw------- 1 pi   tty     204, 64 12月 24 18:33 /dev/ttyAMA0
 
 PC側での認識例(/dev/ttyACM0として認識)
 
   [137739.592791] usb 4-1.2: new high-speed USB device number 26 using ehci-pci
   [137739.701258] usb 4-1.2: New USB device found, idVendor=0525, idProduct=a4a7
   [137739.701264] usb 4-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
   [137739.701268] usb 4-1.2: Product: Gadget Serial v2.4
   [137739.701271] usb 4-1.2: Manufacturer: Linux 4.4.34+ with 20980000.usb
   [137739.701419] usb 4-1.2: Device is not authorized for usage
   [137742.073829] cdc_acm 4-1.2:2.0: ttyACM0: USB ACM device
   [137742.074747] usbcore: registered new interface driver cdc_acm
   [137742.074748] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
 
 
 シリアルを使ってみる(叩いてみる)
 
 Raspberry Pi側で待ち受け
 
   $ cat /dev/ttyGS0
 
 PC側からメッセージを送ってみる
 
   $ echo "hello pi." > /dev/ttyACM0
 
 Raspberry Pi側にメッセージが出てくる
 
   hello pi.
 
 シリアルモジュールのアンロード
 
   $ sudo modprobe -r g_serial
   $ lsmod | grep g_serial
 
 シリアルモジュールの自動読み込み設定
 
 - kernelパラメータに書く方法
 /boot/cmdline.txt の rootwait の後ろに modules-load=dwc2,g_serial を追記する
 
 - /etc/modulesに書く方法
 
   $ echo "g_serial" | sudo tee -a /etc/modules
 
 
 どちらかの手順でOK  
 再起動で反映
 
 - シリアルをgettyに繋いでみる
 
   $ sudo systemctl enable serial-getty@ttyGS0.service
 
 これでホストから繋ぐとコンソールが利用できる
 
   $ cu -l /dev/ttyACM0 -s 115200
   Connected.
   
   Raspbian GNU/Linux 8 pizero ttyGS0
   
   pizero login:
 
 ※モジュールがロードされるのが遅いのでGPIOのUARTと違いブートメッセージを見ることは出来ない(と思う)
 
 
 利用例
 
 - シリアルコンソールでホストから繋いでメンテナンス(GPIOより配線が少ない)
 - GPSモジュールの結果を出力してUSB GPSに
 - https://plus.google.com/u/0/+KenichiroMATOHARA/posts/jBdT9CCi6cS[bcm2708-rngを利用して乱数生成器に]
  :
 
 
 ** イーサネットを使ってみる [#b9914d8a]
 
 - g_ether を読み込むと /dev/usb0 が生えてくる
 - あとは普通のネットワークカードとして設定すればOK
 - HOST PCで「他のコンピューターへ共有」と設定すると便利
 
 ※A/A+ではタイミングの問題かcmdline.txtに書いてもmodulesに書いても usb0 は生えるけど利用できない? /etc/rc.local に書くとうまくip振られるまで動いた.組み合わせによってはmodprobe前にsleepで待ち入れると動いた.
 
   sleep 30
   modprobe g_ether host_addr=b8:27:eb:d8:63:18
 
 
 ** シリアルとイーサネットを同時に利用する [#t23564fa]
 
 - g_cdc を読み込むとシリアルとイーサネットが同時に利用できる
 - /dev/ttyGS0 と /dev/usb0 が生えてくる
 - 日常使いに便利
 
 
 * マスストレージを利用する [#rddf6103]
 
 - g_mass_storage に引数を付けて読み込むとマスストレージ(USBメモリ)として利用できる
 - 引数にはデバイスやファイルが指定できる
 -- /dev/mmcblk0p3
 -- /home/pi/disk.img ファイルの前準備例
 
   $ dd if=/dev/zero of=/home/pi/disk.img bs=1M count=1024
   $ /sbin/mkfs.vfat /home/pi/disk.img
 
 - 同時に複数指定も出来る
 
   $ sudo modprobe g_mass_storage file=/dev/mmcblk0p3,/home/pi/disk.img
 
 ** イーサネット&マスストレージ&シリアルを同時に利用する [#db679bf5]
 
 - g_multi を読み込むと同時に利用できる
 
 
 ** キーボード化 [#d8430cc3]
 
 - libcomposite moduleを利用する
 - これまでと違い読み込むだけでは使えずいろいろ設定が必要
 - scriptにしておいて呼ぶようにする
 
   #!/bin/bash
   modprobe libcomposite
   cd /sys/kernel/config/usb_gadget/
   mkdir -p g1
   cd g1
   echo 0x1d6b > idVendor
   echo 0x0104 > idProduct
   echo 0x0100 > bcdDevice
   echo 0x0200 > bcdUSB
   mkdir -p strings/0x409
   echo "fedcba9876543210" > strings/0x409/serialnumber
   echo "matoken" > strings/0x409/manufacturer 
   echo "kbdtest" > strings/0x409/product
   N="usb0"
   mkdir -p functions/hid.$N
   echo 1 > functions/hid.usb0/protocol
   echo 1 > functions/hid.usb0/subclass
   echo 8 > functions/hid.usb0/report_length
   echo -ne \\x05\\x01\\x09\\x06\\xa1\\x01\\x05\\x07\\x19\\xe0\\x29\\xe7\\x15\\x00\\x25\\x01\\x75\\x01\\x95\\x08\\x81\\x02\\x95\\x01\\x75\\x08\\x81\\x03\\x95\\x05\\x75\\x01\\x05\\x08\\x19\\x01\\x29\\x05\\x91\\x02\\x95\\x01\\x75\\x03\\x91\\x03\\x95\\x06\\x75\\x08\\x15\\x00\\x25\\x65\\x05\\x07\\x19\\x00\\x29\\x65\\x81\\x00\\xc0 > 
   functions/hid.usb0/report_desc
   C=1
   mkdir -p configs/c.$C/strings/0x409
   echo "Config $C: ECM network" > configs/c.$C/strings/0x409/configuration 
   echo 250 > configs/c.$C/MaxPower 
   ln -s functions/hid.$N configs/c.$C/
   ls /sys/class/udc > UDC
 
 host PCでの認識例
 
   [782125.818181] usb 1-1.2: new high-speed USB device number 49 using sunxi-ehci
   [782125.931156] input: matoken kbdtest as /devices/soc.0/1c1b000.ehci1-controller/usb1/1-1/1-1.2/1-1.2:1.0/input/input28
   [782125.931652] hid-generic 0003:1D6B:0104.0017: input: USB HID v1.01 Mouse [matoken kbdtest] on usb-sunxi-ehci-1.2/input0
 
 キーボードとして振る舞う1
 
   # echo -ne "\0\0\x4\0\0\0\0\0" > /dev/hidg0
   # echo -ne "\0\0\0\0\0\0\0\0" > /dev/hidg0
 
 - 1行目で`a`を押して2行目でキーを離す
 - めんどい
 
 キーボードとして振る舞う2
 
 - [[girst/hardpass-sendHID: A hardware password manager, built around a Paspberry Pi Zero and passwordstore.org:https://github.com/girst/hardpass-sendHID]]
 
   $ echo -n "hello world!" | sudo ./scan /dev/hidg0 1 2
 
 入力したい文字列を指定するとその文字列をテーブルで変換して渡してくれる  
 便利 :)
 
 *** マウス化 [#r188e461]
 
 マウス化script例  
 キーボード化とreport descripter(report_desc)行だけ変える
 
   echo -ne 
   \\x05\\x01\\x09\\x02\\xa1\\x01\\x09\\x01\\xa1\\x00\\x05\\x09\\x19\\x01\\x29\\x03\\x15\\x00\\x25\\x01\\x95\\x03\\x75\\x01\\x81\\x02\\x95\\x01\\x75\\x05\\x81\\x01\\x05\\x01\\x09\\x30\\x09\\x31\\x15\\x81\\x25\\x7f\\x75\\x08\\x95\\x02\\x81\\x06\\xc0\\xc0 > functions/hid.usb0/report_desc
 
 
 マウスとして振る舞う
 
 - 座標移動
 
   # echo -ne "\0\x20\0" > /dev/hidg0  #Xを+20
   # echo -ne "\0\0\x20" > /dev/hidg0  #Yを+20
 
 - クリック(キーボードと同様押したら離す必要がある)
 
   # echo -ne "\x1\0\0" > /dev/hidg0   # 右クリック
   # echo -ne "\0\0\0" > /dev/hidg0    # リリース
 
 
 嵌まったところ
 
 - USB cable接触不良orz(電源は接触していたけど信号線が接触していなかった.置くまで差し込みましょう……)
 - Synergycでローカルキーボード無視
 
 活用例?
 
 - 2faデバイス化
 -- ボタンを取り付けてボタン毎にサービスを指定,ボタンを押すと該当サービスのTOTPを出力(`oathtool`が便利)  
 [[2auth/2auth.sh at master &#183; matoken/2auth:https://github.com/matoken/2auth/blob/master/2auth.sh]]
 -- 時計合わせをしておく必要あり
 -- 対タンパ性が……
 -- 指紋スキャナを組み合わせると良さそう?
 --- [デジットBlog:指紋認証を手軽に実験できる指紋スキャンモジュールが入荷!](http://blog.digit-parts.com/archives/51900728.html)
 --- I2CやSPI経由で利用できるTPM(Trusted Platform Module)があるらしい
 --- [[LetsTrust TPM f&#252;r den Raspberry Pi | pi3g:https://buyzero.de/products/letstrust-hardware-tpm-trusted-platform-module]]
 [[Iridium 9670 - TPM2.0 SPI | Infineon | Evaluation Boards | Hitex Shop:https://www.ehitex.de/en/evaluation-boards/infineon/2564/iridium-9670-tpm2.0-spi]]
 --- 先ずはTPMエミュレータを試すのがいいかも
 [[IBM's Software TPM 2.0 download | SourceForge.net:https://sourceforge.net/projects/ibmswtpm2/]]
 [[stwagnr/tpm2simulator: TPM 2.0 Simulator Extraction Script:https://github.com/stwagnr/tpm2simulator]]
 - このくらいだとArduinoでも十分ではある
 - バーコードスキャナ
 -- Pi Zero v1.2はカメラコネクタがないので注意
 
 Arduinoでも十分?
 
 - ArduinoやマイコンでもUSB-HIDはできる
 - 開発はPiなどのほうが楽なのでテストには良いかも
 - 若しくはネットワークやBluetooth機器との連携など複雑なことをするときに
 
 
 発表したものなど
 - [[Raspberry PiのUSB OTGを試す - Speaker Deck:Raspberry PiのUSB OTGを試す - Speaker Deck]]
 - [[USB-OTGでHID(Raspberry Pi Zeroをマウス・キーボード化)://files.matoken.org/index.php/s/xkS8W7L9dQKB6Mn/download:https://matoken.org/nextcloud_cat.cgi?https://files.matoken.org/index.php/s/xkS8W7L9dQKB6Mn/download]]
 
 
 * /proc/cpuinfoのSerialを詐称する [#t795f615]
 
 - [[/proc/cpuinfoのSerialを詐称する &#8211; matoken's meme:/proc/cpuinfoのSerialを詐称する &#8211; matoken's meme]] [#p13025be]
 
   $ cat /proc/cpuinfo | sed -e 's/Serial.*/Serial\t\t: 00000000deadbeef/' > 
   /tmp/cpuinfo_fake
   $ sudo chmod 444 /tmp/cpuinfo
   $ sudo chown root.root /tmp/cpuinfo
   $ sudo mount -o bind /tmp/cpuinfo_fake /proc/cpuinfo
   $ tail /proc/cpuinfo
   Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt 
   vfpd32 lpae evtstrm 
   CPU implementer : 0x41
   CPU architecture: 7
   CPU variant     : 0x0
   CPU part        : 0xc07
   CPU revision    : 5
   
   Hardware        : BCM2835
   Revision        : a01041
   Serial          : 00000000deadbeef
 
 * 書籍 [#d08d9b49]
 
 - [[Raspberry Piユーザーガイド:http://www.amazon.co.jp/gp/product/4844333747/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4844333747&linkCode=as2&tag=matokensmeme-22]] 入門向け.詳しく載っています.
 - [[Interface (インターフェース) 増刊 お手軽ARMコンピュータ ラズベリーパイでI/O 2013年 04月号 [雑誌]:http://www.amazon.co.jp/gp/product/B00BPWK7KU/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=B00BPWK7KU&linkCode=as2&tag=matokensmeme-22]] 注文中….
 
 * blog [#u9f2f4f9]
 - [[Snappy Ubuntu Core on Raspberry Pi 2 | matoken's meme:http://matoken.org/blog/blog/2015/02/05/snappy-ubuntu-core-on-raspberry-pi-2/]]
 - [[Raspberry Pi 新モデル Raspberry Pi 2 model B 登場 | matoken's meme:http://matoken.org/blog/blog/2015/02/05/raspberrypi2modelb/]]
 
 * 参考URL [#c8f2d17f]
 - [[Raspberry Pi | An ARM GNU/Linux box for $25. Take a byte!:http://www.raspberrypi.org/]]
 - [[Raspberry Pi:http://uk.rs-online.com/web/generalDisplay.html?id=raspberrypi]] 
 - [[Raspberry Pi(ラズベリーパイ):http://jp.rs-online.com/web/generalDisplay.html?id=raspberrypi]] 日本ページ
 - [[Raspberry Pi (Raspberry_Pi) on Twitter:https://twitter.com/Raspberry_Pi]]
 - [[RPi Low-level peripherals - eLinux.org:http://elinux.org/Rpi_Low-level_peripherals]] GPIO Pin
 - [[Raspberry Pi - Wikipedia:https://ja.wikipedia.org/wiki/Raspberry_Pi]]
 - [[【武蔵野電波のプロトタイパーズ】35ドルPC“Raspberry Pi”でUnix流LEDチカチカ!:http://pc.watch.impress.co.jp/docs/column/musashino_proto/20120808_551840.html]]
 - [[Raspberry Pi &#8226; View forum - Japanese:http://www.raspberrypi.org/phpBB3/viewforum.php?f=82&sid=060920302fe343d374c8b1cfc8ecfa0c]] 公式日本語フォーラム
 - [[Japanese Raspberry PI Users Group - Google グループ:https://groups.google.com/forum/#!forum/japanese-raspberry-pi-users-group]] 日本語ML(承認制)
 - [[The MagPi:http://www.themagpi.com/]] オンラインマガジン
 - [[Pi-Point :: Home:http://www.pi-point.co.uk/]] R Pi AP image
 - [[電子工作部 - ミニミニPC同好会 - Google+:https://plus.google.com/u/0/communities/114133885055784182372/stream/8f7c98e8-0adb-418a-be51-d74398a90225]]
 
 -[[Raspberry Piを購入しました。 - カロスさんの懺悔部屋:http://d.hatena.ne.jp/Karosu/20130101/1357036023]] WiFi への繋ぎ方など
 - [[Raspberry Pi やっと届いた。動かし始めた - toshi_hirasawaの日記:http://d.hatena.ne.jp/toshi_hirasawa/20130106/1357436987]] ひらさわさんちにも3台届いたらしい :-)
 - [[NetBSD 導入例:http://www.soum.co.jp/~jun/OSC2013tokyospring.pdf]]
 
 - [[RPiREF - Google Play の Android アプリ:https://play.google.com/store/apps/details?id=appinventor.ai_MattHawkinsUK.RPiREF&feature=md]] Android で確認できるGPIO のチートシート.
 
 - [[Model A now for sale in Europe &#8211; buy one today! | Raspberry Pi:http://www.raspberrypi.org/archives/3215]] 2013/02/04 Model A のヨーロッパ向けの販売が始まった. 
 
 - [[RPi - FreeBSD:http://www.rpi.uroboros.es/freebsd.html]]
 - [[MouseAir Makes The Cover of Raspberry Pi Geek Magazine - SwitchDoc Labs:http://www.switchdoc.com/2015/01/mouseair-makes-cover-raspberry-pi-geek-magazine/]]
 
 - [[RaspberryPi Boards - eLinux.org:http://elinux.org/RaspberryPi_Boards]] RaspberryPi の見分け方
 - [[R-Pi Troubleshooting - eLinux.org:http://elinux.org/R-Pi_Troubleshooting]] トラブルシューティング.起動失敗時のLED 点滅の意味など
 - [[Updated Pi Family Photo to include Pi 2 B &#187; RasPi.TV:http://raspi.tv/2015/updated-pi-family-photo-to-include-pi-2-b]] 沢山の種類のRaspberryPi写真が見られる
 ----
 #comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS