備忘録

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

Raspberry Pi GPIOを制御 LEDチカチカ

Raspberry PiのGPIO制御を行います。

C言語で使えたらいいなぁと思っていたらwiringPiというものがあるらしいので
そちらのインストールからはじめます

wiringPiのインストール
参考は以下のページ
https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/

Plan Bにてインストールします

1.↓へ行く
 https://git.drogon.net/?p=wiringPi;a=summary
 snapshotから、wiringPi-98bcb20.tar.gzをダウンロード
 $ wget https://git.drogon.net/?p=wiringPi;a=snapshot;h=98bcb20d9391ebde24f9eb1244f0d238fb1a1dab;sf=tgz
でもOK

2.解凍→ビルド
$ tar zxvf wiringPi-98bcb20.tar.gz
 $ cd wiringPi-98bcb20
$ ./build

 
 # ダメだったら、さらに一つ下りて、make, make installしてもよいらしいです

3.確認
  $ which gpio
/usr/local/bin/gpio

  $ which gpio -v
gpio version: 1.12
Copyright (c) 2012 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty

$ gpio readall
+----------+------+--------+------+-------+
| wiringPi | GPIO | Name | Mode | Value |
+----------+------+--------+------+-------+
| 0 | 17 | GPIO 0 | IN | Low |
| 1 | 18 | GPIO 1 | IN | Low |
| 2 | 27 | GPIO 2 | OUT | Low |
| 3 | 22 | GPIO 3 | IN | Low |
| 4 | 23 | GPIO 4 | IN | Low |
| 5 | 24 | GPIO 5 | IN | Low |
| 6 | 25 | GPIO 6 | IN | Low |
| 7 | 4 | GPIO 7 | IN | Low |
| 8 | 2 | SDA | ALT0 | High |
| 9 | 3 | SCL | ALT0 | High |
| 10 | 8 | CE0 | IN | Low |
| 11 | 7 | CE1 | IN | Low |
| 12 | 10 | MOSI | IN | Low |
| 13 | 9 | MISO | IN | Low |
| 14 | 11 | SCLK | IN | Low |
| 15 | 14 | TxD | ALT0 | High |
| 16 | 15 | RxD | ALT0 | High |
| 17 | 28 | GPIO 8 | IN | Low |
| 18 | 29 | GPIO 9 | IN | Low |
| 19 | 30 | GPIO10 | IN | Low |
| 20 | 31 | GPIO11 | IN | Low |
+----------+------+--------+------+-------+

それぞれ確認できたらインストール完了です。

4.動作確認
 Raspberry Piのピンアサインは↓です。
 Raspberry Piピンアサイン
 下のリンクから引用してます
 http://www.adafruit.com/blog/tag/gpio/
 これを参考に GPIO18===LED+ LED-=====GND と接続します。(適当な抵抗を一応入れた方が良いです)

シェルで動作させてみます

$ gpio -g mode 18 out # gpio18を出力に設定
$ gpio -g write 18 1 # gpio18をHiにします->LEDが点灯します
$ gpio -g write 18 0 # gpio18をLoにします->LEDが消灯します


LEDが消灯→点灯→消灯すればOKです
スポンサーサイト
  1. 2013/04/30(火) 23:48:42|
  2. Raspberry Pi
  3. | トラックバック:0
  4. | コメント:0

デーモンの登録

プログラムを延々と走らせておきたい場合があるので
デーモンの簡単な作成方法を

参考は、以下
http://7ujm.net/linux/daemon.html

1.テストプログラムの作成
 テストプログラムtest.cを作成 
#include <stdio.h>

main(){
    while(1){
        sleep(10);
    }
}


 $ gcc -o test test.c
 できたら、動作確認として./test をやっても良いですね

2./usr/にtestをコピー
 せっかくだからパーミッションの見方を記載しておきます

 ↓のようなファイルやディレクトリがあったとき
 drwxr-xr-x 3 ----- ----- 4096 May 1 10:50 lib
 0123456789

 0:ディレクトリかファイルかを示す
 123:オーナーの権限,rで読み込み権限、wで書き込み権限、xで実行権限
 456:グループの権限
 789:ユーザーの権限となります

 これを、オーナー権限、グループ権限、ユーザー権限をそれぞれ数値で示したりします
 drwxr-xr-xの場合であれば
 オーナー権限 rwx → 111(2) → 7
 グループ権限 -xr → 011(2) → 3
 ユーザー権限 r-x → 101(2) → 5 
 これらをあわせて"755"などと示します


3.起動用のシェルスクリプトの作成
 /etc/init.d/ へ行き、下のシェルを作ります
 /usr/init.d/test &
 と作成して test.shなどと保存
 実行可能とするために
 chmod 755 test.sh
 としておきます

4.シンボリックリンクの作成
 /etc/rc3.d へ移動し
 ln -s ../init.d/test.sh S10test
などでシェルスクリプトのシンボリックリンクを作成します。
 # -s をつけないと、ハードリンクとなります

5.起動
 ./S10test などで直接実行する

7.終了
 psでpidを確認して
 kill 7811などで終了できます
 
  1. 2013/04/29(月) 23:46:03|
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

SSHが動くようにする

訳あってUbuntuに環境を変更したが、
sshが使えなかったので使えるようにする

$ sudo apt-get install aptitude
$ sudo aptitude install ssh

これでおk
設定は、/etc/ssh/sshd_config にて設定できます

一応、/etc/init.d/ におりてsshを確認して
必要があればrestartしておきます
  1. 2013/04/28(日) 17:40:45|
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

gccが動くようになるまで

Raspberry Piでgccが動くようにと、設定する
以外に手間がかかったので、記録

1.$ which gcc
 gccがあるかどうかを確認する
普通に /usr/bin/gcc にあったので問題なかったが、
 ない場合は
$ sudo apt-get install gcc
 でインストールする

 同様に、$ sudo apt-get install libc6-dev
 こちらもインストールする

2.hello.cの作成
 適当なテキストエディタで作成
#include <stdio.h>

int main(void){
printf("hello,world!");
return;
}


3.$ gcc -o hello hello.c
コンパイルするが、エラーがでる・・・・
 /usr/local/src/にてやっていたのだが、permission denid
ディレクトリの書込み権がなかったので
 sudo chmod 777 /usr/local/src
としてあげた

 その上で$ gcc -o hello hello.cをやったら上手くできた

4../hello.c
実行してみて問題なく動くことが確認できた
 
 
 
  1. 2013/04/28(日) 04:59:21|
  2. Raspberry Pi
  3. | トラックバック:0
  4. | コメント:0

Linuxのコマンドなど

Linuxのコマンドの無知っぷりが酷いので、ここにメモ代わりに

・ifconfig
 各種ネットワーク設定の表示を行う
 ネットワークの設定自体は、/etc/network/interface で変更する

・netstat
 開いているポートなど表示します
 netstat -l
 netstat -lnt

・df
 ディスク容量などを確認できる

・sudo
 管理者としてコマンド実行する

・apt-get
 パッケージのダウンロードからインストールまでする
 apt-get update 最新のパッケージリストを取得する
 apt-cache search キーワード キーワードを含むパッケージを検索する 
 apt-get install パッケージ名 指定したパッケージをダウンロードし、インストールする

 ちなみに日本語入力入力は、次を入れます
 $ sudo apt-get install fonts-ipafont ttf-vlgothic xfonts-intl-japanese xfonts-intl-japanese-big
 $ sudo apt-get install ibus-anthy

 プロファイルい追加を忘れないように・・・
  /.profileに、"export LANG=ja_JP.UTF-8"を追記しておきます
 キーボードの変更は /etc/default/keyboad から変更します

・free
 メモリの使用状況などを表示します
 ちなみに、swap領域の管理は /etc/dphys-swapfile にて行います

・ユーザーの追加は adduser 名前

・shutdown
 電源OFFや再起動など、今すぐ電源を切るときはnowをつけます
 shutodown -r now で今すぐ再起動~など

  1. 2013/04/27(土) 22:28:03|
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

クロスコンパイル環境 .1

Raspberry Riのクロスコンパイル環境を作っておこうと思います

参考にしたのは、↓
http://www.raspi.sea-dog.jp/2012/12/04/how-toraspberry-piraspbianwheezy/

前回VMに作った環境からです。

1.crosstool-NGツールをダウンロードしてきてます。
 参考のサイトだと、/usr/local/src ですが、
 こちらユーザー権限だとファイルを書き込めないので、

 chmod w /src/
 で書き込みの権限をもらっておきます

2.インストールディレクトリの設定
 ./configure --prefix=/opt/cross
 これで、この後make、make installしたときに、/opt/crossにインストールされるようになります
 
 あとは、make , make install するだけだなぁと思っていたら開発環境がなくて
 errorはいています・・・
 configure: error: missing required tool: *****
 
3.ツールのインストール
 またまたパッケージマネージャを開いて
 ツールを一つ一つインストールしていきます
 
 検索窓に、前項ないといわれていたtool(*****部分)を入れては
 インストール→configure→またエラー・・・というのを繰り返していきます

4.make,make install
エラーがなくなったら
 やっとこ
make
make install
 にて完了となります・・・・
 

  1. 2013/04/23(火) 23:48:53|
  2. Raspberry Pi
  3. | トラックバック:0
  4. | コメント:0

Dabianインストール

Raspberry Piのコンパイル環境が今後必要になるので、
クロスコンパイル環境を作成する。

LinuxのディストリビューションはDabianで行こうと思う。

その上でDabianのインストール方法だけ

1.イメージダウンロード
http://cdimage.debian.org/debian-cd/6.0.7/i386/bt-cd/
から、debian-6.0.7-i386-netinst.iso.torrent をダウンロードして
トレントを使ってダウンロードしました。

2.CDイメージをマウントさせて、インストール
 基本的に、迷うようなところはないはず
 ほっとけば勝手にインストールされて、起動する

3.VM-Toolのインストール
 シェルから/vmware-install.pl を実行します
 基本的にENTERを押していけば問題なしですが、
 gccと、linux-headersで止まります。

 ↓みたいなエラーメッセージで
 The path "" is not a valid path to ~.
 Would you like to change it? [yes]

 gcc:[システム]→[システム管理]→synaptic パッケージマネージャを開いて
   検索窓からgccと入力。
   gccっていうのがたぶん一番上に出てくるため、それにチェックをいれて
   インストールします。
   
   インストールが完了したら、/usr/binへいくとgcc*.*.*なんていう形で
   ファイルがあるのが確認できると思います

   エラーメッセージで、/usr/binと入力してあげればOKです

 linux-headers:gccと同じですが、最初にシェルからuname -a をして
 自分のカーネルバージョンを確認しておきましょう
自分の場合は↓のような感じで見えて、2.6.32-5-686のlinux-headersを入れてあげればよいのだと判りました
 > Linux debian 2.6.32-5-686 #1 SMP Mon Feb 25 01:04:36 UTC 2013 i686 GNU/Linux

 したら、またパッケージマネージャを開いて、2.6.32-5-686なんかを検索します。
 出てきた結果からlinux-headersをインストールしました
 /usr/srcに入るはずです

 ちなみに、apt-get install linux-headers-・・・とインストールしようとしましたが
 こっちは、なんかロックがかかっているとかで、インストールができませんでした

  1. 2013/04/22(月) 12:55:53|
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

Raspberry Pi初期設定まとめ

もひらRaspberry Piの初期設定を記載しておきます。

おおよそ参考にしたところは、以下です

OSインストール
http://www.lifehacker.jp/2013/02/130226raspberry_pi_guide.html
http://embedded-raspberry-pi.blogspot.jp/2013/03/raspberry-pi.html

ネットワーク設定
http://tomono.eleho.net/2013/03/17/4045/

リモートデスクトップ設定
http://www.limemo.net/blog/2012/09/raspberry-pi-use-static-ip-address.html

いろいろ
http://www.shellvalley.0t0.jp/micro_comp/raspberrypi/first_setup.html

- - - - 初期設定 - - - -
初回起動では、
一通りすべての項目を一度いじりました。
expand_rootfs
overscan
 enable
configure_keyboard
 Generic 105-key (Intl) PC → Other → japanese → あとは適当
change_locale
 ja_*のものを2つ追加して、その後のdefault locateをja_JP.UTF-8
change_timezone
 Asia → Tokyo
ssh
 # いじり忘れていたけど、こちらもONにしたほうがよいと思う
boot_behaviour
 YES

あとは、Finishで完了。勝手に起動します。
ちなみに raspi-config にてまた設定することができます

- - - - ネットワーク設定 - - - -
ネットワーク設定は、ターミナルを開いて
ifconfigで自分のIPを確認します。

その後に
leafpad /etc/network/interfaces
でinterfaceを開いて

iface eth0 inet dhcp

iface eth0 inet static
address 192.168.0.***
netmask 255.255.255.0
gateway 192.168.0.1

と設定。自分の場合、2箇所あって迷った。
DNSサーバーは変える必要がなしだったけど
変更するときは、
/etc/resolv.confに
nameserver ***.***.***.***
を追加か修正すればよいらしい
/etc/init.d/networking reload
で設定反映らしいけど、自分の場合再起動しないと反映されなかった(かも)

- - - - リモートデスクトップ設定 - - - -
次にリモートデスクトップの設定ですが、
apt-get install xrdp
で完了しました。
リモートデスクトップで、IPアドレスを指定してあげれば
そのまま接続できます。

あと、ターミナルも開けるように
SSHをインストール
ターミナルソフトとしてpoderosaを入れました
  1. 2013/04/22(月) 01:34:09|
  2. Raspberry Pi
  3. | トラックバック:0
  4. | コメント:0

まずテスト

テスト
  1. 2013/04/22(月) 01:03:48|
  2. その他
  3. | トラックバック:0
  4. | コメント:0
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。