ネット偽善者でもいいじゃない

悩んでるなら面白いマンガ読もう

RubyでARGVを使う時に引数指定するならARGV.getoptsが便利

rubyコマンドの際、引数にオプションを指定すると便利

Raspberry Piのカメラモジュールを使っています。

ディレクトリ内にjpgファイルなどを置いて、rubyによって呼び出したりなんか作業するのに rubyファイル内でARGVを使うとファイルの呼び出しが可能なことはわかったが

rubyコマンドの引数の順番がバラバラでも対応出来るように、探してみたところgetoptsというのが便利っぽかった

Ruby - OptionParser よりも指定が楽な ARGV.getopts のオプション指定(ロング/ショートも) - Qiita

Ruby - ARGVの処理にOptionParserを使ってるライバルをバックミラーから高速に消し去るARGV.getoptsの使い方 - Qiita

ただ、パッと見ただけでは使い方が良く分からなかったのでメモ これ実際、色々打って試してみるのが一番良いです、眺めていても全くわからなかったです(^_^;)

「:」をつけないと、ただのtrueかfalseを返す、「:」をつけるとハッシュになる

わかりやすくするためにとりあえずひとつだけ指定してみた

# coding: utf-8

require 'optparse'
params = ARGV.getopts('japan:')
p params

実行結果は

同じ文字(japanのa)は最初のだけ適用される

$ ruby test.rb

{"j"=>false, "a"=>false, "p"=>false, "n"=>nil}

-j をつけると、jにtrueが入る

ruby test.rb -j
{"j"=>true, "a"=>false, "p"=>false, "n"=>nil}

-japのようにいっぺんに指定も出来る

$ ruby test.rb -jap
{"j"=>true, "a"=>true, "p"=>true, "n"=>nil}

同じ文字は何度使ってもtrue

$ ruby test.rb -jaaaaaaa
{"j"=>true, "a"=>true, "p"=>false, "n"=>nil}

# もちろん、-japaのように指定も出来る
$ ruby test.rb -japa
{"j"=>true, "a"=>true, "p"=>true, "n"=>nil}

nに関しては、コロン(:)が付いてるのでさらに要素を指定して代入しなければエラーになる

# -n に何も指定しなかった場合
$ ruby test.rb -n 
test.rb:5:in `<main>': missing argument: -n (OptionParser::MissingArgument)

# -nに task を指定した場合、nのハッシュ要素として task が挿入される
$ ruby test.rb -n task
{"j"=>false, "a"=>false, "p"=>false, "n"=>"task"}

ちなみに-nにtaskをくっつけても(スペースを入れなくても)可能

$ ruby test.rb -ntask
{"j"=>false, "a"=>false, "p"=>false, "n"=>"task"}

以上を踏まえると次のようなことも出来る

$ ruby test.rb -japan goal
{"j"=>true, "a"=>true, "p"=>true, "n"=>"goal"}

コロンがついていない要素に、値を指定するとコロンの要素が入らなくなったりしてめんどいので注意

$ ruby test.rb -j blue -n aaa
{"j"=>true, "a"=>false, "p"=>false, "n"=>nil}

# jには要素は入らないはずなので、blueと指定してしまうと -nのハッシュに値が代入されなくなってしまう、これはよくわからなかったので要調査

ハイフンを2つ繋げると、単語1つ認識の入力になる コマンドオプションの, -h と --help が同じ動作をするような感じです しかし、今回は'japan:'としか指定していないのでエラーになります

$ ruby test.rb --japan chek
test.rb:5:in `<main>': invalid option: --japan (OptionParser::InvalidOption)

これを回避するために、-n: も記述してあげます。test.rbを書き換えます これで通るようになります

# test.rbを以下のように訂正

# coding: utf-8

require 'optparse'

params = ARGV.getopts('n:', 'japan:')
p params

これで通るようになります

$ ruby test.rb --japan goal
{"n"=>nil, "japan"=>"goal"}

ただ、これに関してはちょっとバグの原因になるので仕様変わらないのかな?という感じです (この次点で僕は ruby 2.1.1を使ってます)

以上備忘録がてら

たのしいRuby 第4版

パーフェクトRuby on Rails 6章 i18nの設定をするのとこでつまずいたのと解決方法

パーフェクトRuby on Railsを読んでます (2014年7月10日初版のRails4.1対応版)

僕の環境は Vagrantで仮想環境を構築、OSはCentOs6.5 Rails 4.2.0

です

第6章のi18nの設定のところで躓いた

結果、大したことではなかったのですが書籍の通りに行ったら出来なかったので

第6章の「i18nの設定をする」

のところで、curlコマンドによってgithubからファイルをダウンロードしているのですが このコマンドでやってもうまくいかなかった・・・ダウンロードされたja.ymlファイルをみてみると

全然違うファイルがダウンロードされてました

CentOsで行ってたのが原因かもしれませんが、下記のページを参考にしてwgetのコマンドでやるとうまくいきました

Railsの多言語化対応 i18nのやり方を整理してみた!【国際化/英語化】 - 酒と泪とRubyとRailsと

何が原因だったかわかりませんが、初心者は本の通りにやってうまくいかないと辛いです(^_^;)

コマンドの打ち間違い、Railsのバージョンの違い、OSの違いなど様々あるかもしれませんが エラーメッセージを読めるようになるともうちょっと出来るようになるんでしょうね 精進せねば

railsチュートリアル10章

リスト10.20サンプルデータにマイクロポスト用のコードを追加する。ではまる

リスト10.20の通りにマイクロソフト投稿のコードをFaker(バージョン1.4.3)を使って記述するけど エラーが出てしまう・・・ エラーとしては、ターミナル上で、

$ bundle exec rake db:populate をした後に下記のエラーが出た

/Users/xxx/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.4/lib/active_record/scoping/named.rb:24:in all' /Users/xxx/sample_app/lib/tasks/sample_data.rake:23:inblock (2 levels) in ' /Users/xxx/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in eval' /Users/xxx/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in

'

と出てしまう どうやらアクティブレコードに 'all' なんてパラメーターはないよ、ってことらしい 参考↓ ruby on rails - wrong number of arguments (1 for 0) Hartl chapter 10...bundle exec rake db:populate - Stack Overflow

なので、上記のリンク通りに

User.all(limit:6) ではなく

User.limit(6) としてやればちゃんとマイクロソフトが投稿されました良かった

一応、マイクロソフトがちゃんと投稿されたsample_data.rakeを記述しておきます

namespace :db do
    desc "Fill database with sample data"
    task populate: :environment do
        admin = User.create!(
            name: "Example User",
            email: "example@railstutorial.jp",
            password: "foobar",
            password_confirmation: "foobar",
            admin: true
            )
        99.times do |n|
            name = Faker::Name.name
            email = "example-#{n+1}@railstutorial.jp"
            password = "password"
            User.create!(
                name: name,
                email:email,
                password: password,
                password_confirmation: password
                )
        end

        users = User.limit(6)
        50.times do
            content = Faker::Lorem.sentence(5)
            users.each{|user| user.microposts.create!(content: content)}
        end
    end   
end

自分はgemのバージョンを指定せずに色々やってるので ちょいちょい今まで引っかかってます(^_^;) (Fakerはバージョン1.4.3です) バージョンのせいなのかもしれないけどとりあえず動いて良かった

TWE-Strongにファームウェアを書き込む方法(てこずった)

TWE-Strongはピン配置が違って最初は難しい

2015/04/15 追記(TWE-Lite-Rを使った書き込み方法、一番下に記載)

TWE-liteを使って無線通信を行っています

今回は、TWE-liteのシリーズであるTWE-Strongを使って見てるのですが

まず、TWE-Lite DIPなどと違いピンの大きさが違います(ピンが0.4mm幅) そのため、簡単に書き込むには2.54mmピッチ変換基板が必要になります

TWE-Strongに使うピッチ変換基板

これ、ファームウェアなどを書き込みたい時(プログラムを書き換えたい時)に、コスモス電機さんのホームページには 「DIPと同じピン配置で、同じように書き込むことが出来ます」

みたいに書いてあるのですがどうみても難しいです・・・・ 電子工作初心者には厳しいものがあるかなと (電子工作歴長い方に聞いてみても「・・・これはわかりにくいよ」とおっしゃってました(^_^;))

とにかく、便利なツールではあるので苦労してなんとか使えるようにしました

とりあえず、配線を行う

ファームウェアの書き込みに使ったのが ・UART-USBケーブル or アダプター (シリアルピンを、パソコンのUSBと繋げるのに必要な部品) 今回はSWITCHSCIENCEさんのFTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き)を用いました↓

FTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き)

FTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き)

Windowsパソコン(windows8を使いましたがwindowsであればなんでも良いと思います, コマンドラインを叩くのでもしかしたらMacでもいけるかもしれません(未確認)) ・ジャンパーピン ・ブレッドボード ・ブレッドボード用スイッチ(2.54mmピッチ変換基板があれば無くてもいけると思います) スイッチは例えばこんなのです↓

ELPA タクトスイッチ 小 HK-TKS01H

ELPA タクトスイッチ 小 HK-TKS01H

(ちなみに、最初はTWE-Liteのプログラム書き込み用の通信ケーブル接続可能なTWE-Lite Rで試してましたけど、うまくいかなかったのでアダプターを用いましたがたぶんTWE-Lite Rでもできます。 試してみたら追記しよう)

公式ページを参考に、配線してみたけど初心者にはわかりずらいです(笑)

UART-USBケーブルでの書き込み - TOCOS-WIRELESS.COM

そもそもピン配置が違うからな・・・

2.54mmピッチ変換基板にピンソケットをはんだ付して TWE-Strongを2.54mmピッチ変換基板に載せた状態にします こんな感じ↓

f:id:Yhei:20150413214130j:plain

次にブレッドボードと繋ぎます、配線は、行ったやつを書くと(5iとか20hとか書いてあったらブレッドボードのアルファベットと数字のことです) ピッチ変換基板のピン配置と名前は以下を参照

2.54mmピッチ変換基板 - TOCOS-WIRELESS.COM

シリアル変換アダプターとブレッドボードの接続

・ブレッドボードの+列(電源)とFTDI USBシリアル変換アダプターのVCCをジャンパーピンで接続 ・ブレッドボードの-列(グランド)とFTDI USBシリアル変換アダプターのGNDをジャンパーピンで接続

シリアル変換アダプターとピッチ変換基板の接続

・シリアル変換アダプターのTXとピッチ変換基板の8ピン(DIO7, UART Receive Data(input), RXピンのこと)を接続 ・シリアル変換アダプターのRXとピッチ変換基板の7ピン(DIO6, UART Transmit Data(output), TXピンのこと)を接続

ピッチ変換基板とブレッドボードの接続

・ピッチ変換基板の39ピン(VCC)を電源に接続(+列に直接でも、5iとかに橋渡しでもどちらでも。僕は5iにジャンパーピンを挿して、5jと+列をさらにジャンパーピンで繋ぎました。以下同様にしました) ・ピッチ変換基板の40ピン(GND)をグランドに接続(-列でも橋渡しでもどちらでも可) ・ピッチ変換基板の27ピン(RESETN, Active Low Reset, リセットボタン(RST)のこと)をブレッドボードの28iに接続(後でスイッチと接続します) ・ピッチ変換基板の23ピン(MISO, SPI Master In / Slave Out, これがプログラム書き込み用のピン(PMG)の代わりになります、ここが最初わからなかったので苦労した・・・)

ブレッドボードにスイッチを接続

スイッチには足が4つあります。スイッチは2つ使います(RST(リセット)用とPGM(プログラムモード)用)

・スイッチの一つは、足4つをそれぞれブレッドボードの20f, 22f, 20e, 22eに接続しました(PGM用) ・スイッチのもう一つは、足4つをそれぞれブレッドボードの28f, 30f, 28e, 30eに接続しました(RST用) ・ブレッドボードの22aとマイナス列(グランド)を橋渡し ・ブレッドボードの30aとマイナス列(グランド)を橋渡し

これを行うと、↓の写真のようになると思います(わかりにくいですが・・・)

f:id:Yhei:20150413210459j:plain

f:id:Yhei:20150413210524j:plain

ここまで出来たら、次に電源をいれてプログラムを書き換えていきます!

プログラムの書き込みはjenprogで行わないとできなかった

ToCoStickとか、TWE-Lite DIPなどはTWE programmerってアプリを使えばドラッグアンドドロップで書き込みが出来て便利なのですが

TWE-Lite専用プログラマ - TOCOS-WIRELESS.COM

おそらくこの書き込みソフトではStrongに書き込みできません、なんかCOMポートを認識しないってエラーが出ます ↓

f:id:Yhei:20150413222132p:plain

(このエラーのせいでよくわからなかったのでTWE-Lite Rは使ってませんが、たぶんTWE-Lite Rでも書き込めるので 後日やってみます)

パソコンにUSBケーブルを挿し、シリアル変換アダプターとつなぐ

書き込みするのに参考にしたサイト↓

Darkside

TWE-Liteのファーム開発・書き換え方法 - 天ノ岩戸

TWE-Lite RでTWE-LiteにFWの書き込み。 - Qiita

USBケーブルと接続するとパソコンを電源として電流が流れます(ちなみにシリアル変換アダプターは3.3Vとなるようにしておいてください。購入した時点では、ジャンパーピンが3.3Vになるように接続されてました)

FTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き) - スイッチサイエンス

次に、PMGスイッチを押しながらRSTスイッチを押して、RSTスイッチから指を離してからPMGスイッチから指を離すと TWE-Strongがプログラム書き込みモードで立ち上がります (これでTWE programmerでも書き込めるのかなと思っていたのでハマってしまいました・・・) (ちなみに、ピッチ変換基板にもPGMボタンとRSTボタンがついてるので、こちらでも可能だと思います)

次に、jenprogを立ち上げます UART-USBケーブルでの書き込み - TOCOS-WIRELESS.COMのページからjenprog単体をダウンロードしてもよいですし、ToCoNet SDK - TOCOS-WIRELESS.COMのページからToCoNetのSDK全部入りをダウンロードしてやっても良いです。僕はパソコンにSDK全部入りをダウンロードしていたのでそちらを用いました

SDK全部入りのフォルダを開いて、ディレクトリ(フォルダ)の階層で TWESDK/Tools/jenprog/bin と開いていって、binフォルダのなにもない所でshiftキーを押しながら右クリックすると 「コマンドウィンドウでここを開く」が出てくるので開きます 参考

TWE-Lite RでTWE-LiteにFWの書き込み。 - Qiita

(コマンドライン(黒い画面)が出てくるけど怖くないです大丈夫です)

コマンドラインが出てきたら

jenprog

とうつと、接続されているポートの名前(USBの接続ポート)が出てきます

例えば、TWE-Lite RでTWE-LiteにFWの書き込み。 - Qiitaのサイトだと COM3 に接続されているので

jenprog -t COM3

と打つと、状態が表示されます

プログラムを書き込んでみる

プログラムを書き込むためには、書き込みたいプログラムが同じフォルダ内にある必要があります(そのほうが簡単)

なので、先ほどのbinフォルダ内(TWESDK/Tools/jenprog/bin)に書き込みたいプログラムやファームウェアを置いて 書き込みます。 例えば公式サイトから、標準アプリをダウンロードしてきて アプリ・ダウンロード - TOCOS-WIRELESS.COM

TWE-Strong用のファームウェアをbinフォルダに移します。 今回僕はApp_TweLite_Master_JN5148_1_6_7.binというのを用いました(JN5148はTWE-Regular/Strong用、JN5164はTWE-Lite DIPなど用のプログラムみたいです)

App_TweLite_Master_JN5148_1_6_7.bin をbinフォルダ内にコピーしたら、またコマンドラインから入力を行います

jenprog -t COM3 App_TweLite_Master_JN5148_1_6_7.bin

と入力してみましょう。そしたら参考サイトのように

writing...

と出てきて書き込みが始まるはずです

ここでerrorなど出てくる場合は、配線が間違えているか プログラム書き込みモードになっていないので、PMGスイッチとRSTスイッチを用いてモードを切り替えて下さい。

出来てしまえば簡単なことなんですが、なんの説明もないのでここまで辿り着くのに時間かかりました・・・

なんにせよ、これでTWE-Strongが使えるようになったので色々実験できます!

わからないこととかあったらコメント欄などにどうぞ

追記 TWE-Lite-Rを使った書き込み方法

TWE-Lite-RとTWE-Strongを接続して、jenprogを使うことで書き込みすることが出来ました。

配線は下記のようにつなぎます TWE-Lite-Rのピン配置はTWE-Lite DIPのピン配置の名前を参考にしてください (数字はピン配置) (リンク先PDF注意)

TWE-Strong(ピッチ変換基板) - TWE-Lite-R

VCC(39) - VCC(28)

GND(40) - GND(1)

RX(8) - RX(3)

TX(7) - TX(10)

RESETEN(Active Low Reset)(27) - RST(21)

MISO(SPI Master In / Slave Out)(23) - PE

TWE-Lite-RのPEは、下記リンクの使用例Cで用いている、先端の5Pピンヘッダの真ん中になります USBアダプター TWE-Lite R(トワイ・ライター) - TOCOS-WIRELESS.COM

つないだ写真

f:id:Yhei:20150415123735j:plain

あとは↑に記載しているように、jenprogでの書き込みが行えるようになります RSTボタンとPRGボタンはTWE-Lite-Rについてるボタンを押すことで出来ますので TWE-Lite-Rを持っている場合はこっちのほうが楽ですね

Raspberry Pi Type A+にスイッチサイエンスのバニラ基板(B+用)がぴったり合う

Raspberry Pi Type A+を使ってみています

ラズベリーパイのTypeA+を使って色々とやってみてます

raspberry pi typeAを無線LANに接続、リモート操作するのに詰まったので - ネット偽善者でもいいじゃない

んで、あまりType A (A+)を使ってる人はいないのか ユニバーサル基板などもType B(B+)のものが多いんですよね・・・

そんななか、スイッチサイエンスさんのところの基板を見てると 丁度良さそうなのがありました Raspberry Pi Model B+用バニラ基板(α版) - スイッチサイエンス

これ、よく見てみると「もしかしてA+でも余裕で設置できる?」と思ったので 調べてみるとやってる方がいらしまして

T2g's blog: Raspberry Pi A+注文

「へー出来るんだ、じゃあA+は既に持ってるから買ってみるかな」

ということで購入

バニラ基板付けてみた

バニラ基板付けてみました(はんだ付はまだやってませんが) ぴったり!

f:id:Yhei:20150223192941j:plain

ラズベリーパイのGPIOピンからバニラ基板に取り付けるのにピンの大きさを変換する 2x20のピンヘッダが付いているので 広すぎず狭すぎずちょうどいい感じのスペースができてます

f:id:Yhei:20150223192936j:plain

f:id:Yhei:20150223192948j:plain

はんだ付もスペーサーも設置してないのでちょっと斜めってますが(;´Д`) スペーサーも付属しているので取り付けないとですね

これは良いものだ・・・ Raspberry Pi Type A+は消費電力も小さいみたいですし

Raspberry Piブログ : [コラム] Raspberry Pi Model A+は驚くほど省電力。乾電池2本で駆動に成功

ユニバーサル基板が使えるならとても便利そうですね

f:id:Yhei:20150223192910j:plain

Raspberry Pi 2も発売になってるし・・・どこまで便利になるのやら(^_^;)

Raspberry Pi 2 Model B (1)

Raspberry Pi 2 Model B (1)

みんなのRaspberry Pi入門 [対応言語:Python]

みんなのRaspberry Pi入門 [対応言語:Python]

VirtualBoxを使ってcentOSに入ろうとするがvagrant upでエラーがおきてしまう

久しぶりに開発環境にログインしようとすると Vagrant upしてcentOSにログインする際にエラーが起きてしまう

VirtualBoxが2015年2月12日にversion 4.3.22にversion up したらしく新しいのをインストールしてしまったのが 原因っぽい・・・

結局仮想開発環境を一旦削除して対応したけどまた環境構築からなのでめんどくさかった(´;ω;`)

ちなみに再び環境を整えようと思ってvagrant up までいったとこで似たようなエラーを吐き出しましたが

vagrant-vbguestプラグインがGuestAdditionsを無効にしてしまう - Qiita

を参考にしたら解決しました

続きを読む

raspberry pi typeAを無線LANに接続、リモート操作するのに詰まったので

raspberry pi TypeAが必要になったので煽ってみました

色々なサイトさんが解説してるけどひとまず 「raspberry pi 入門」

みたいな感じでググってやると色々出てきましたが

RaspberryPi - Raspberry Pi に入門してみた。 - Qiita

こじ研(Raspberry Pi)

詰まったところもあったので記載

有線LANは(ほぼ)必須

有線LANなくてもいけるかな、がんばろうと思いましたが 想像以上にうまくいかない というか、最初にraspberry piをアップデートしてあげたほうがよいみたいなのですが アップデートするのにインターネットに繋ぐ必要がある\(^o^)/

というわけで有線LANにつないであげた usbハブを用いて、変換アダプタを使ってイーサーネットのケーブルをつないであげる たぶんこれで自動的にネットには繋がるはず

ターミナルで

$ sudo apt-get update

コマンドをうってあげる

$ sudo reboot (アップデートした後なので、一応再起動してみる)

無線LANアダプタではまる

家電量販店で買ったELECOMの無線LANアダプタを使ってみたのですが どうもraspberry piに対応してなかったのか 認識はしてくれるけど無線LANとしては起動してくれないorz

raspberry piはSDカード、無線LANなど対応してるやつじゃないと使えないので レビューでraspberry piで使ってみたって人がいるか もしくは、マイコン基板を売ってるようなパーツショップさんで探すのがいいみたいです (僕はマルツさんで買いました http://www.marutsu.co.jp/ )

色々とレビューが叩かれてたりもするけど、確実なところでBUFFALOのやつを購入

BUFFALO 無線LAN子機 コンパクトモデル 11n技術・11g/b対応 WLI-UC-GNM

BUFFALO 無線LAN子機 コンパクトモデル 11n技術・11g/b対応 WLI-UC-GNM

こちらにしてやると速攻で認識されました ELECOMさんぇ・・・

無線LANを使ってリモートからraspberry piを操作してやる

raspberry piをディスプレイに繋ぎっぱなしでもいいのですが 無線子機(無線ドングル)を使うと たとえばMacのターミナルから、sshコマンドを叩いてやればリモートでraspberry piを操作してやることが出来ます その方法が2つ ・固定IPアドレスを振ってやる ・IPアドレスは自動で振り分けてやって、ホスト名を指定しておいてホスト名でMacなどからログインする

今回はひとまず固定IPアドレスの設定を行ってみた(後々必要になるので)

固定IPアドレスでログイン

RaspberryPi - Raspberry PiでWiFi接続 - Qiita

Raspberry Piに固定IPアドレスを割り振る方法

などを参照

が、詰まる・・・初心者には厳しいところがいくつかあったので記載

おもいたったがきちじつ - RaspberryPi - 使いこなす - IPアドレスを固定する

を参照した

固定にするIP addressは最後の数字だけ固定できるだけ

なぜかこの辺記載されてないのですが、IPアドレスって

192.168.☓☓☓.△△△

みたいな感じで設定されているのですが、☓☓☓のところは自前の無線サーバーの値みたいなので 自分で確認してから設定してあげないといけません (どのサイトも当たり前のように 192.168.1.200 とか 192.168.2.200 とかで設定してたけどそれじゃ繋がらなかったので )

確認方法としては、raspberry pi のターミナル(コマンドプロンプト)のところで 無線LANまたは有線LANを接続した状態で $ ifconfig

ってコマンド打つと、おもいたったがきちじつ - RaspberryPi - 使いこなす - IPアドレスを固定するのサイトでは例えば eth0 のところ(有線LAN)のところに

inet 192.168.2.104

って出てきてます。 この場合は、固定IPアドレスを指定する時は

address 192.168.2.△△△

となるので自分の使ってるLANを確認してあげなければならない(たぶん)

それ以上に大事なのがgateway ゲートウェイ

次に、コマンドで

$ route

と打ってやると、ゲートウェイというのが出てくるので これはその値を用いるみたいです

おもいたったがきちじつ - RaspberryPi - 使いこなす - IPアドレスを固定するのサイトでは例えば ゲートウェイ 192.168.2.1 って出てますね

この値をそのまま用いてください

他のサイトとかだと、当たり前のように何も言わずに

gateway 192.168.2.254

とか設定してたからなんなのかと思ったよ・・・初心者には厳しい(`;ω;´)

全体の設定をまとめると /etc/network/interfaces で

auto lo

iface lo inet loopback
iface eth0 inet dhcp 

allow-hotplug wlan0
#iface wlan0 inet dhcp
iface wlan0 inet static

address 192.168.☓☓☓.△△△ #ここはifconfigで確認した☓☓☓の部分の数字と、△のところは自分で好きな数字をいれる。わからなかったら200がおすすめ
netmask 255.255.255.0
gateway 192.168.☓☓☓.◯◯◯ # ここはroutesコマンドで確認したゲートウェイの番号

wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

としてやればつながるはずです

これで、raspberry piを再起動してあげて($ sudo reboot) 、macのターミナルなどから $ ssh pi@192.168.☓☓☓.△△△

と自分で設定してあげたアドレスを打ち込むことでリモートでraspberry piを操作することが出来るようになりました

Raspberry Piではじめる どきどきプログラミング (はじめるプログラミング シリーズ)