Raspberry Piでwifi接続

Raspberry Pi買ってwifiで接続したので、その時の覚書

環境
Raspberry Pi Model B (512MB)
Transcend SDHCカード 16GB Class10
OS RASPBIAN 2014-06-20
無線LAN子機 BUFFALO WLI-UC-GNM
無線LAN親機 e-mobile Pocket WiFi LTE GL04P



先に言っとくと無線LANの子機がRaspberry Piで認識しないとお話にならない
最初どれでも一緒っしょw的なノリでELECOM WDC-150SU2MBKっての買ったけど、USBポートに刺さっているのは認識できているけど、無線LANの子機としては認識されてなくて使えなかった

上に書いてあるBUFFALOの子機じゃないもの使っていて、無線LAN子機をUSBポートに刺した状態で起動させていて

ifconfig

で「wlan0」ってのがでてこなかったら諦めてWLI-UC-GNMを買ってほしい。
格闘する時間よりWLI-UC-GNMの方がよっぽど安い


実際の設定
大雑把に2つの方法があると思う
無線LAN親機がWPSに対応していれば圧倒的に前者の方が楽だと思う

まず、前者のWPSで設定する方法

sudo vi /etc/network/interfaces

で中にloの記述がすでにあるはずだから

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
  address 192.168.1.111
  netmask 255.255.255.0
  gateway 192.168.1.1

を追記
これは後者の方法も同じ
後でSSH等で繋ぐからDHCPは使わず静的に

次に

startx

GUIウインドウ出す

デスクトップ左のアイコンに「WiFi Config」ってのがあるからダブルクリック
じゃぁなんかウインドウが立ち上がってくるから
Adapter: wlan0になっていることを確認して、
右下にある「Scan」をクリック、一覧が出てくるから自分のLANを選択する
色々入力しないといけない画面が出てくるけど何も入れずに左下の「WPS」を押す
で、親機のWPSのボタン長押し?して
画面の「PBC-push button」を押すと「Current Status」に勝手に表示が追加されてるはず
でネットワーク疎通確認は

ping 8.8.8.8

でもしてレスポンス帰ってきたらもうそれだけでOK
どこになにが設定されてるかは下の2つめの設定方法のところに記述されていると思う


なんか途中で失敗して「Adapter: wlan0」の表記も消えたって場合は
左側の「LXTerminal」押して

sudo ifdown wlan0
sudo ifup wlan0

WiFi Config起動のアプリ起動しなおしたら復活してくれてると思う





で、2つめの設定方法
これはもうCUIで書く
Raspberry Piいじるようなつわものはもちろんこっち見てるはず

ここはGUIでやるのと同じように

sudo vi /etc/network/interfaces

で中にloの記述がすでにあるはずだから

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
  address 192.168.1.111
  netmask 255.255.255.0
  gateway 192.168.1.1

を追記


sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

で中に

netword={
  ssid="ssid"
  psk="password"
  proto=RSN
  key_mgmt=WPA-PSK
  pairwise=TKIP
  auth_alg=OPEN
}

を追記

でOSを再起動かけてping通ればOK
後者はPWAとかTKIPとか何設定してるかちゃんと分かってないから難しい

ネットワークさえ通じてたらなんでもできそうな気がする!
今から色々設定していくのが楽しみ過ぎる!

静的IPアドレス(固定IP)と動的IPアドレス(DHCP)をワンクリックで変更する方法(windows7,Vista)

学校や職場は固定IPで家ではDHCPという人も多いと思う。
毎回々々、コントロール パネル -> ネットワークとインターネット -> ネットワーク接続で接続方法 から変更するのは大変なので、どうにか簡単にしたい。

ヴァルヘルIPコンフィグというフリーソフトがあるんだけど自分の環境では動かなかったので、バッチファイル化することに。

f:id:kenken4320:20130424143705p:plain

この例ではデスクトップに全てのファイルを置くので、汚いのが嫌な人は適宜別のファイルへ移動してください。
windows7で動作テスト済み

まずはDHCPの設定ファイルから

# デスクトップにdhsp.nshファイルを作る
# ワイヤレス ネットワーク接続 IP (DHCP)
interface ip set address "ワイヤレス ネットワーク接続" source = dhcp
interface ip set dns "ワイヤレス ネットワーク接続" source = dhcp

上のファイルを起動するのがこれ

c:
cd "C:\Users\Owner\Desktop"
netsh -f dhcp.nsh

上記 "C:\Users\Owner\Desktop" のところは適宜変更してください。
分からない場合は上の画像みたいにデスクトップのファイルを右クリックしてプロパティから場所に書いてあるところをそのままコピペしたらOK!



次に固定IP用の設定ファイル

# デスクトップにstatic.nshファイルを作る
# ワイヤレス ネットワーク接続 IP (固定)
interface ip set address "ワイヤレス ネットワーク接続" source=static address=192.168.10.10 mask=255.255.0.0 gateway=192.168.255.254 gwmetric = 1
interface ip set dns name = "ワイヤレス ネットワーク接続" source = static addr = 8.8.8.8
interface ip add dns "ワイヤレス ネットワーク接続" addr = 8.8.8.4 index=2
set wins name = "ワイヤレス ネットワーク接続" source = static addr = none

上のファイルを起動するのがこれ

c:
cd "C:\Users\Owner\Desktop"
netsh -f static.nsh


IPアドレスを変更するときは、変更したい方の~~.batファイルを右クリックから管理者として実行をするとOKなはず!




以下説明

interface ip set address "ワイヤレス ネットワーク接続" source=static address=192.168.10.10 mask=255.255.0.0 gateway=192.168.255.254 gwmetric = 1

address "ワイヤレス ネットワーク接続"
変更するネットワークの種類を指定
ほとんどの場合が"ローカル エリア接続"か"ワイヤレス ネットワーク接続"だと思う。自分の環境に合わせてどうぞ。

source=static
ネットワークに接続する方法
固定IPにしたい場合はstatic 動的IPにしたい場合はdhcp

address=192.168.10.10
設定したいIPアドレス
自分の環境に合わせてどうぞ。わからない場合はネットワーク管理者まで。

mask=255.255.0.0
設定したいサブネットマスク
自分の環境に合わせてどうぞ。わからない場合はネットワーク管理者まで。

gateway=192.168.255.254
設定したいデフォルトゲートウェイ
自分の環境に合わせてどうぞ。わからない場合はネットワーク管理者まで。

interface ip set dns name = "ワイヤレス ネットワーク接続" source = static addr = 8.8.8.8

addr=8.8.8.8
設定したいDNS
だいたい8.8.8.8でいいんじゃないのかな。でも自分の環境に合わせてどうぞ。わからない場合はネットワーク管理者まで。

interface ip add dns "ワイヤレス ネットワーク接続" addr = 8.8.8.4 index=2

addr=8.8.8.4
設定したいDNS
ただしこっちはサブのDNS。メインのDNSが使えなくなったときとかに使うから書いとくべき。
だいたい8.8.8.4でいいんじゃないのかな。でも自分の環境に合わせてどうぞ。わからない場合はネットワーク管理者まで。

JSPのパラメータをGETで日本語投げた時の文字化け





タイトルで何を言ってるかわからないって?
自分もイマイチわからないよ。
詳しく言うと、

Tomcatサーバを動かしていてサーバサイドJavaJSPにHTML等から日本語(マルチバイト文字)をGETで投げるときに文字化けしてしまう問題


結構はまりました。

http://example.jp/foo.jsp?item=はてな

こんな感じでURL内に日本語を使うとき

GETで日本語を含むマルチバイト文字を送るのはあまりよろしくないが、
そのページをブックマークする可能性があったりするとどうしてもURLに対し一意なページにしたい。
じゃぁ英数字の文字列でもいいじゃん・・・ってなるけど日本語の方が見たときにわかりやすいってのはあると思う。




はじめは何も考えずに下みたいな感じでしてたけど
(※HTML側もJSP側も文字コードUTF-8)

HTML側

<form method="get" action="./foo.jsp">
<input type="text" name="item" value="はてな">
<input type="submit">
</form>

JSP(Java)側

request.setCharacterEncoding("UTF-8");
out.println("item : " + request.getParameter("item");




でも化けちゃうと
なんでだろって思いながらHTMLからJSP(Java)に投げる時にJavascriptUTF-8にURLをエンコードしようってなって、
Javascript

var foo = encodeURIComponent(item);

みたいにエンコードしたけどそれでもだめ
ダメ!ダメ!ダメ!



なんでだろーって思ってたら
Windowsに入れたデフォルトのTomcat(自分の場合Tomcat7.0)
ではどうやら内部処理がISO-8859-1らしい。
なのでJSP(Java)側を

String GetItem = new String (request.getParameter("item").getBytes("ISO-8859-1"));
out.println("ISO-8859-1でエンコード:"URLDecoder.decode(GetItem,"UTF-8"));

という風にISO-8859-1で渡されましたよーってJavaに教えてあげないといけない。


他にも方法があって、
Server.xml(tomcat/7.0/conf/server.xml)に

<Connector port="8080" 
<!--
 * 
 * なんかいっぱい書いてある
 * 
-->
useBodyEncodingForURI="true" />

って

useBodyEncodingForURI="true"

を追記してあげるといい



もしくは

<Connector port="8080" 
<!--
 * 
 * なんかいっぱい書いてある
 * 
-->
URIEncoding="UTF-8" />

ってな感じで

URIEncoding="UTF-8"

を追記してUTF-8で処理しろーって明示してあげるのもおk!




自分の場合、初めWindowsの環境で作ってて
String GetItem = new String (request.getParameter("item").getBytes("ISO-8859-1"));
out.println("ISO-8859-1でエンコード:"URLDecoder.decode(GetItem,"UTF-8"));
で文字化け問題解消してたんだけども、
実際のLinuxサーバ(Ubuntu12.04)にデプロイした時に文字化けが再発してて、
なぜだっ!!!!って思ったらUbuntuに入れたTomcatは最初からServer.xml
URIEncoding="UTF-8"
が書かれてて踏んだり蹴ったりって感じ。
解決した今ではOSでの違いっていうのもおもしろいよね。



以上はてなブログスーパーpre記法使って書いてみたかっただけのブログでしたー

Ruby合宿に行こうぜ!

 

どうも!どうもどうも!

来春に島根で行われるRuby合宿のステルスにならないステマをしたいと思います。

島根にパソコンなんかあるわけないじゃんって思う気持ちは分かるんですが、実際にはありました。

意外でした。

 

と言うのも私は2011年の夏にRuby合宿に参加してたんですねー。

すごい良かったです。

日程とか内容は調べたらじゃんじゃん出てくるんで省略して、自分が感じたことでも書いてみます。

 

 

色々な人に会えたこと

参加者は40名ほど。

コーディングがやけに早かったり、Macに異常に詳しかったり、photoshopを使いこなしてたり、絶対に朝風呂しか入らなかったり、Mac miniを持ち込んできたり、プレゼンがめちゃくちゃ上手かったり、あれがあれだったりと刺激たっぷりでした。

5日寝食を共にしたんだから、当たり前のように仲良くなります。

今でもTwitterとかFacebookで交流のある人がいます。

参加者以外にもチューターとして来てくださった方々とかまつもとゆきひろさんとか企業懇親会に来てくれた方々とか色々な人と色々な話ができました。

 

 

企業見学できたこと

5日目に合宿施設を出た後に企業見学に行けました。

3社ほどまわったけど、その中でも一番印象的だったのがデータセンターのサーバルームに入れたことですねー。

寒い!とにかく寒い!そしてセキュリティがかっこいい!

指紋認証、静脈認証、虹彩認証、暗証番号認証、ICカード認証、お腹いっぱいです。

 

 

Rubyを学べたこと

なんと言ってもこれですよね。

Rubyを学べたってことはもちろんなんだけど、まつもとゆきひろさんの話を聞けてRubyの魅力がよくわかりました。

話した内容と似たようなのをWEB記事で見たけど、やっぱり本人の話は重い!

すごい共感できたし、感化されたし、使いたいなって思いました。

今は主にPHPとかJavaを使ってるんだけども・・・

 

 

 

 

 

 

つまり、まとめるとこうなる

島根にパソコンなんかあるわけないじゃん

 

 

 

 

 

 

こんな記事を書こうと思ったのも先日このようなメールが来たからなんですね~。

ぜひご検討くだされ!

以前は、Ruby合宿にご参加下さいまして、
ありがとうございました。
また、就職状況等アンケートにご回答下さいました皆様、
ご協力いただきましたこと、重ねて御礼申し上げます。

島根県では、来年2月に「Ruby合宿2013春」を開催し、
現在申込みを受け付けております。
本日は、ご案内のためメールさせていただきました。

より多くの方に知っていただきたいため、皆様の周りで
興味・関心をお持ちの方がいらっしゃいましたら、各方面に
是非周知いただけますと大変喜びます。

よろしくお願い致します。

※申込みは、電子申請システムでおこなっておりますが、
Ruby合宿2013春パンフレットを御用命の際は、お問い合わせ下さい。

↓↓↓(以下、案内文です。)↓↓↓
-------------------------------------------------------------
ルビー・クライミングな5日間
  「Ruby合宿2013春」の参加者募集
-------------------------------------------------------------
島根県は、2013年2月25日(月)~3月1日日(金) の4泊5日の日程で、
プログラミング言語Rubyを学ぶ合宿形式の講座を開催します。
http://www.pref.shimane.lg.jp/itsangyo/rubycamp.html
Rubyの開発者、まつもとゆきひろ氏の講演を始め、Rubyで有名な
株式会社ネットワーク応用通信研究所から講師を招き、Ruby
講習・演習を行います。

また、合宿期間中、島根県内のIT企業の経営者・技術者のみなさんを
招き、交流をしていただく機会も準備しております。

更に、Ruby合宿開催前(2月10日or17日)には、事前講義を実施します。
事前講義は、Ustreamにてライブ配信し、リモート受講することも可能です。

対象は、大学、高専高校等の学生または25歳未満の無職の人で、
・将来、ソフト系のIT産業界で働きたいと考えている人
・何らかのプログラミング言語を学習したことのある人
※ただし、応募多数の場合は島根県在住または島根県出身の方を
優先します。

合宿場所は サン・レイク(島根県立青少年の家)
(ただしJR松江駅で集合・解散)
参加費用は 7,000円! (食費・宿泊費・保険等を含む)

応募締切は、1月21日(月)まで!!
詳しくは以下のページをご覧ください。
http://www.pref.shimane.lg.jp/itsangyo/rubycamp.html
Ruby合宿facebook→ http://www.facebook.com/rubycamp
☆★☆★☆★目指せRubyの頂を!★☆★☆★☆

Nexus7を買って1ヶ月 Nexus7を買って思った7つのこと

 

発売当日に梅田のヨドバシカメラでNexus7の32GBモデルを24,800円の10パーセントポイント還元で購入。

Google Playでのギフト券2,000円分が付いている(ヨドバシでの特典ではなくNexus7のサービス)ので「20,300円なら安い20,300円なら安い」と念仏を唱えながら買いました。

 

プリインストールアプリ一覧(ATOKfacebookとtwicca除く)

f:id:kenken4320:20121204000749p:plain

 

 

 

それから1ヶ月経ったのでレビュー的なものを。

 

1. 画面サイズが7インチという大きさ

片手で持っても重くない。電車内で出しても迷惑にならない。持ち運びに便利。

大きすぎず、小さすぎずちょうどいいサイズです。

多分人間工学的に出てきたサイズだろうから当たり前といえば当たり前ですね。

 

 

 

2. Android4.0~4.2 Jelly Bean

OSごとに端末を持っているわけではないし、端末ごとにスペックが違うので比較は無意味でしょうが、前端末(悪名高きREGZA PHONE T-01C)との比較ですが、雲泥の差です。月とスッポンです。トイレのスポスポのほうです。

Google謹製の端末だからかシステムアップデートが今のところまでに3回ありました。

最近は有名になった、設定->タブレット情報->Androidバージョンを連打したら出てくるアレですがすごくかわいいです。

最初はこれ

f:id:kenken4320:20121203235352p:plain

数秒待つと

 f:id:kenken4320:20121203235312p:plain

いっぱいJelly Beanがふわふわ浮いてます。

タッチしたら動きます。かわいいです。

 

 

 

 

3. ロック画面ががクソ

見てのとおり、

f:id:kenken4320:20121118214801j:plain

ロック画面の時計が時間と分で文字の太さが違います。

バグだと思ってる人が多いですが仕様です。仕様です。

タブをいじるときは必ず見る画面なのでダサいのは嫌ですよね。

アプリ入れたら直ります。直しましょう。

Fixed 4.2 Clock Widget

 

 

 

4. 物理キーがない

戻るボタンやホームボタンあともうひとつのボタン

ふつう3つのボタンがあるはずなんですがそれが物理キーではなくタッチパネルです。

画面が大きく見えたり、読書用のモードだとそのキーが小さく目立たなくなったりと色々してくれてますが物理キーの方が何かわからない安心感があります。

 

 

 

5. ホームボタン等を長押しした時の処理がすべて同じ

上に書いた3つのタッチキーだかタッチパネルだかを長押しした時の動作が全く同じです。

そこまでして何を動作させてるかというと「「「「Google検索」」」」

Google検索をしています。ホーム画面の上部にもデフォルトでGoogle検索用の検索バーがあるのにタッチキーでもまだGoogle検索をさせようとしています。

どんだけ検索してほしいんだよ!

 

 

 

6. アウトカメラがない

まぁ最初から知ってて買って、確認したんですけどないんですよねアウトカメラ。

Nexus7用のケース買ったんですけどケースにもアウトカメラ用の穴がないんですよね。

いやぁ~リア充の私にはアウトカメラがないのはつらいですね。

 

 

 

7. ipad miniと間違われる

ふざけんな!

 

 

 

7. AndroidアプリIngressが動かなかった

Googleが満を持して発表したAR(拡張現実)アプリのIngressが動きませんでした(過去形)

今はサクサク動いてます。

Ingressはβテスト中なんで仕方ないかも知れませんがACTIVATION CODE(これがないと遊べない。βテスト中でプレイ人数を制限しているため?)を5日間待たされて「やっときた!!!!!遊べるぜ!!!!!!Foooooooooo!!!!!!!!」ってなって、Ingressを始めたらフリーズフリーズ強制終了強制終了。

アプリのアップデートがきて正常に動くことを確認してから、今は記憶容量の肥やしと化してますが。

飼い犬に手を噛まれた感ですね。

Jelly Beanということもあるので動かないアプリは少なからずありそうですね。

REGZA PHONEユーザーの堪忍袋は宇宙規模に大きいので、この程度はなんでもないです。

 

 

 

7. パケ放題を切った

REGZA PHONE(以下れぐぽん)を使っていましたがNexus7を使うようになってれぐぽんを使わなくなり、通信料無駄だなって思い始めてパケ放題を切りました。

なので以前のれぐぽんのみの使用から、ガラケー+ポケットwifi+Nexus7で運用しています。

少し荷物が多くなりますが、今のところ全然問題ありません。

 

 

 

 

以上、Nexus7を買って1ヶ月 Nexus7を買って思った7つのことでした。

前回から期間あいたので何か書こうと必死に考えて書きました。

1日1ブログは半日坊主で終わってました。

 

あんまりアプリ入れてないからオススメのアプリあったら教えてくれるとうれしいです!

 

 

 

 

 

Windows8にクイック起動を表示する

諸君、私はクイック起動が好きだ

諸君、私はクイック起動が大好きだ

Chromeのショートカットが好きだ

Firefoxのショートカットが好きだ

Terapadのショートカットが好きだ

Eclipseのショートカットが好きだ

Cyberduckのショートカットが好きだ

コマンドプロンプトのショートカットが好きだ

ペイントのショートカットが好きだ

gimpのショートカットが好きだ

 

ということで先日発売されたWindows8に

クイック起動ことクイックランチャの表示を追加してみます

 

標準ではスタートボタンもなくなって寂しくなったWindows8のタスクバーですが

f:id:kenken4320:20121028212221p:plain

個人的にはスリープのアイコンもシャットダウンのアイコンもクイックランチャに登録できるのでクイックランチャさえあれば満足です(強がり)

 

表示できるようにする設定はWindows7と同じで

タスクバーを右クリック →

ツールバーから新規ツールバーをクリック →

f:id:kenken4320:20121028212243p:plain

フォルダーのテキスト入力欄に

%AppData%\Microsoft\Internet Explorer\Quick Launch

とおもむろに入力すれば

f:id:kenken4320:20121028212256p:plain

タスクバーにQuick Lanchという輝かしい文字列が!!!

ここまでこればほぼ完成です

 

タスクバーの固定を解除して

f:id:kenken4320:20121028212311p:plain

適当な位置にずらして再度固定すれば任務完了!

あなたもこれでWindows8でクイックランチャが使えます

 

 

 

余談ですが

私はタスクバーの幅を2つ分にしています

クイックランチャの小さいアイコンだとタスクバーの幅2つ分で3列は十分並びそうなのに

実際は2列しか並ばない・・・

すごくつらいです・・・