読者です 読者をやめる 読者になる 読者になる

オススメのゲレンデ「鹿沢スノーエリア」

冬期はスキーへよく行くのですが、おすすめのゲレンデを紹介します。

理由は結構いいスキー場なんですが・・・

あまりに人が居ないので・・・このスキー場が無くなると困る!(切実

ゲレンデは「鹿沢スノーエリア」といいます。

f:id:tomo_watanabe:20150215005801j:plain

場所は群馬県嬬恋村あたり。万座・鹿沢口駅が最寄りになります。 アクセスマップはこちら

鹿沢スノーエリアとは?

結構昔からあるスキー場で、スノーボードよりもスキー率が高く、体育会系の合宿で使われたり、大会をやったり、コース貸し切りでポール練習もやっていたりします。先日は大回転の大会をやっていました

f:id:tomo_watanabe:20150215004617j:plain

ゲレンデはハイランドゲレンデとカマンゲレンデに分かれていて、平日はハイランドゲレンデのみが営業となっています。 元々はハイランドゲレンデしか無かったのですが、拡張してカマンゲレンデを作りました。当初はカマンゲレンデにも駐車場やレストラン、券売機などがありましたが、今はお客さんが減った関係で施設は全てクローズされています。

ゲレンデ

おすすめポイント

とにかく空いてる!

土日でリフト待ちはほぼありません。駐車場は無料です。チケット売り場にて「ランチパック希望」と言えば、¥4500で昼食とソフトドリンクがセットになったチケットが購入できます(2014-2015シーズン現在)

f:id:tomo_watanabe:20150215004327j:plain

子供連れが割りと少ない

となりの湯の丸高原スキー場がキッズゲレンデ充実なのでそちらへ流れている模様です。もちろん空いてるので家族連れでも楽しめます。レストラン前にはソリ遊び出来るような場所もあります。

ゲレンデが実はかなり広ーい

平日はコースクローズがありますが、土日はクワッドリフトの稼働するカマンゲレンデが使えるので、移動距離はありますがコース数は多いです。

初級者から上級者まで楽しめる

初級者以上であれば、ゲレンデの幅も広く見通しがよいので滑りやすいでしょう。上級者は向かって右のライトAコースがおすすめです。ただし、初心者にはオススメしません(^^;

f:id:tomo_watanabe:20150215004405j:plain

ライトAコース:最大斜度25度

練習には最適

ゲレンデ幅が広くゆるやかな斜面も多いため、初級者から中級者へのステップアップの練習バーンとしては最適です

カマンゲレンデが穴場

カマンゲレンデは土日祝のみオープンということもあり、前日に雪が降っていたりすると、朝一で新雪を楽しめる可能性があります。こんな感じで

f:id:tomo_watanabe:20150211083817j:plain

緩やかな、カマンAコースでiPhoneで動画撮影してみました

鹿沢スノーエリア - YouTube

アクセス

アクセスがあんまり良くないので空いてるんですが...最寄りは上信越道の小諸ICから地蔵峠を越えるのが一番の近道です。が・・・この道はおすすめしません。早朝の地蔵峠は凍結の可能性が高く、特に北斜面を下る形になるのでスタッドレス車でもかなり慎重な運転が必要になります。またそこまでするなら、地蔵峠の湯の丸スキー場でいいんじゃないかと・・・

 おすすめのアクセスは関越道の渋川伊香保ICで降りて、国道353号線を1時間半程度走るルートです。この道は以前は凍結もあり、峠道ありで険しかったのですが、八ッ場ダム建設の影響でトンネルでどーんと真っ直ぐ行けるようになりました。これにより凍結路の距離が短くなっていて、厳しい峠道もほぼありません。ただしスタッドレスは必須です。

 そして帰路は、地蔵峠を越えて小諸側に抜けるのがおすすめです。ただし晴天時に限ります。晴天時には地蔵峠の凍結路も溶けていて、地蔵峠の下りも南斜面なので比較的乾いているので走りやすくなっています。

温泉施設

鹿沢温泉という地元の温泉がありますが、地蔵峠を越えてしまうと小諸方面の温泉に行くことになります。おすすめは「あぐりの湯こもろ」です。浅間山を眺めながらゆったり入れる単純泉です。

ヤマノススメ?(小物)

最後は小物編

食べ物

今のところ、コンビニおにぎりとかでなんとかなっているので特にはないのですが・・・ 行動食として、チョコレートを持って行ってます。よくあるM&M'sなんですが、パッケージを開けて小袋につめ替えます(ヤマノススメでもやってましたね)こうしておけばゴミも出ないし、全部食べなくても次回以降に持っていけるので便利です。

f:id:tomo_watanabe:20141123181728j:plain

飲み物

夏は結局のところ「水」が一番良い感じがします。麦茶などだと利尿作用が働くせいか、トイレに行きたくなったりするので、純粋に「水」が効率的に良いです。水はペットボトルで持っていくのですが、最初の頃は500mlの水を毎回買っていましたが、効率が悪いなーということで2リットルのペットボトルの水を買い、それを500mlのペットに入れなおして持って行ってます。

ペットの口は100円ショップで買ったこういうののトップを付け替えて

f:id:tomo_watanabe:20141120181847j:plain

こんな感じ↓にします。これだとワンプッシュプルで飲んだりロックしたりできるので便利です。

f:id:tomo_watanabe:20141120181921j:plain

水の量は500ml+行程分なのですが、500ml以上の水はやはり100円ショップで購入した1リットルくらいのパックに必要な分だけ水を入れ、ザックに入れておきます(同じ用途のものが山道具屋さんで売ってますが、結構いいお値段するんですよね)これだと形が変形するので、ザックの中の融通がききます。500mlのペットが空になったら水を移し替え、ペットボトルを常にザックの横にしてメインになるようにします。

f:id:tomo_watanabe:20141123184904j:plain

冬の飲み物

夏は水だけでまぁ十分なのですが、春や秋となると休憩中に体が冷えることもあって、温かい飲み物が飲みたくなります。ストーブとか持って行ってお湯を沸かせばいいんでしょうけど、結構それも面倒だし荷物になるのでちょっとした日帰りなら、いわゆる魔法瓶を使います。今はサーモスが有名らしく、山専用サーモスというのもあります。

f:id:tomo_watanabe:20141123182016j:plain

左は通常の350mlで、右が500mlの山専用ボトルです。出かける前に沸かしたお湯を入れていけば6時間くらいは保つので、これと粉末スティックのココアとかを持っていけば、その場で温かいココアを飲むことができます。

f:id:tomo_watanabe:20141123182227j:plain

マグカップ

冬に飲むにはマグカップのようなものが必須です。単に飲むだけならどんなものでもいいのですが、スタッキングを考えて買うと後で意外と役に立ちます。僕が買ったのはスノーピークのチタンマグカップ300mlですが、シングル(左)とダブル(右)なぜか両方もっています。畳めるフォールディングハンドルが便利です。

f:id:tomo_watanabe:20141123185636p:plain

最初は安いシングルを買ったのですが・・・・谷川岳行った時にお湯を入れたら、カップが熱い!しかも気温が低いと冷めるのも早い!こらアカンということでダブルを買い直すことに・・・チタンのシングルマグのメリットはそのまま火にかけられることですが、まぁやらないだろうなぁ。シングルマグの方が当然軽いので、夏にはこちらを使う機会がありそうです。

で・・・300mlを買う理由はありまして・・・500mlのペットボトルをスタッキング出来る!ぴったしです。ひとつ小さい220mlだとこのようにスタッキングできないのです。

f:id:tomo_watanabe:20141123181911j:plain

実際には一回で300mlも飲まないのですが、これだとそのままザックの横のネットにすっぽり収まります。そして、先のサーモスもスタッキングできます。

f:id:tomo_watanabe:20141123182043j:plain

山専用の方は、下に付いてる落下時の傷防止のを外す必要がありますが、これならマグカップを持っていくのに邪魔になりません。ちなみに山専の500ml結構大きい&重いので350mlの方が活躍しています。山専の方が蓋部がキッチリしているので、お湯の温度の低下はこちらの方が少ないでしょう。

f:id:tomo_watanabe:20141123190704j:plain

防寒具

フリースとかはわりとかさばるので、100円ショップで売っているトラベルパックを使って圧縮してザックに詰めておくと便利です。

f:id:tomo_watanabe:20141123182159j:plain


まとめ

100円ショップで以下を買っておくと便利

  • チャック式の小分け袋
  • ペットボトルの口を付け替えるやつ
  • 1リットルくらいの飲料水の柔らかボトル
  • 衣料圧縮袋

その他、買ったもの

ヤマノススメ?(服装)

今回は服装編

山登りの服装

大雑把にいうと、夏山用と秋春用、冬用に分かれるんじゃないかと思います。冬は行かないのでパスします。

ここでは、夏山の服装と、秋と春の服装について、買って試した備忘録を書いておきます。

夏山の服装

夏山登山は比較的標高の高い所へ登ります。理由としては低い低山だと暑すぎて死ぬからだそうで(納得)

基本の服装はTシャツにパンツなのですが、コットンのTシャツにジーパンは最悪のパターンということで

シャツ

化繊100%のものを着ること。コットンだと汗を掻いてシャツがびしょびしょになっても乾きません。なのでベタベタして気持ち悪くなります。化繊100%の吸汗速乾というやつにしましょう。僕は登山用のを買わず、近所のスポーツ用品店でランニング用のシャツを購入し、これを使っています。まぁプライベートブランドなので安かったのですが、ランニング用ということで吸汗的には問題なく、暑い夏山とかはこういうので十分だと思います。

f:id:tomo_watanabe:20141114225533j:plain

スポーツオーソリティオンラインショップ / ランニングアパレル 半袖ハーフジップシャツ メンズ

シャツはこのようにジップタイプのものを使っています。理由としては丸首だと肌との接触面が線接触になるので、動いた時や汗を掻いた時にチクチクする感じが嫌だからです。ジップタイプだと面接触になり、汗も吸収してくれそうなので。ジップを一番上まで上げた時に顎に当たらないようにチンガードのあるのが良いです。

パンツ

ジーパンではなく、できれば後付ベルトの必要が無い伸縮性の効くものが良いようです。結構体を動かすので、後付のしっかりしたベルトをするようだと、腰のあたりにベルトが当たったりして痛くなったり、動きを妨げたりします。夏なので生地は薄めでいいです。

秋・春山の服装

難しいです。たぶん個人差も大きいので、色々試すしかないようです。特にインナーは体温調節に関わってくるので、きちんとしたものを選んだほうが快適に過ごせます。パンツには裾にドローコードが入っていて、裾口を止められるようなものもあり、丈詰めには躊躇しますが、すっぱり丈は詰めてしまった方がすっきりします。

シャツ

秋・春のインナーのシャツはかなり重要度高いです。夏と同じシリーズの長袖を最初買ったのですが、汗を吸収するものの、気温が低いと乾きが悪いのです。つまり、汗を掻く→暑い→休憩する→冷たい→体冷える→ヤバイ。という感じになり、ランニング用は休憩して冷えることを考慮しておらず、気温が低くなるとダメっぽい。ということで、色々調べて買ったのがパタゴニアのキャプリーン3の長袖ジップタイプです。

f:id:tomo_watanabe:20141114224550j:plain

さすがに高いだけあって、汗を吸収しても冷たくならない!秋・春用のインナーはお金を出してでも良いのを買っておいたほうがいいです。この時期は寒さで死ぬ可能性もあるが故に、きちんとしたものを買いましょう。実際にはこれをベースレイヤーにして、上にミドルレイヤーでもう一枚着たりします。キャプリーンは1〜4まであり、薄いのから厚いのまでシリーズ化されています。自分に合ったものを選ぶといいでしょう。

(パタゴニア)patagonia M's Cap 3 MW Zip Neck- AF 44010  HDCB M

(パタゴニア)patagonia M's Cap 3 MW Zip Neck- AF 44010 HDCB M

パンツ

秋・春向けには内側にもう1枚入ってるようなのがいいでしょう。入間アウトレットのBerghausで半額で買いました。あとは寒さに合わせてタイツなどを合わせて使うのが普通のようです。僕は後述のスポーツタイツを履いています。

番外編(スポーツタイツ)

よくマラソン選手が履いているタイツです。結構いいお値段します。

が・・・思ってたより効果ありました。自分が買ったのはCW-Xのスタビライクスですが、これは好みでいいと思います。この効果は一度履いて登山に行き、その次は履かないで行ってみると、膝の上げ下ろしや脹脛に結構違いがありました。これは冬のスキーにも使えるので、一石二鳥ということで。

(シーダブリューエックス)CW-X ワコール| スタビライクスモデル(ロング) メンズ HZO549

(シーダブリューエックス)CW-X ワコール| スタビライクスモデル(ロング) メンズ HZO549

アウター

アウターは結構悩みどころで、軽くて暖かく、かつ汗を放出するものはなかなか見つかってないです。僕が一番重宝しているアウターはモンベルのライトシェルパーカです。これは¥8,000ちょっとなのですが、動きやすく、通常のアウターとしてもでも15℃くらいまでの気温なら十分に使えますし、脱いでもコンパクトになります。簡易的な撥水加工もありお買い得だと思います。現行モデルはさらに良くなっているようです。他には、秋・春は朝晩が冷えるので、ユニクロなどのウルトラライトダウンがあると、登り始めなどの時に使えるようです。ダウンも使わない時は邪魔なのでコンパクトになるやつを買いましょう。

f:id:tomo_watanabe:20141118224943j:plain

(モンベル)mont-bell ライトシェル パーカ Men's 1106509 BK ブラック L

(モンベル)mont-bell ライトシェル パーカ Men's 1106509 BK ブラック L

最後は小物シリーズかな...

ヤマノススメ?(3種の神器)

今年の春過ぎから、知り合いの影響で登山に行っています。効果としては「体重減」「持久力アップ」「筋力アップ」定期的な運動で調子崩しにくくなった気がします。今まで買った道具とかについてまとめ

まずは3種の神器から

登山道具の3種の神器

登山道具には3種の神器があるらしく

  • ザック
  • 雨具

だそうです。ザックと靴はわかるのですが、なんで雨具なのかよくわからなかったのですが、つまりは山登りというとメインシーズンは夏山で、夏は夕立が多いため雨具が必須ということのようです。

ザック

とりあえずは手持ちの物でOKでした。最初は20リットルのいわゆるタウンユース的なザックでしたが、一度行くともう少し良いのが欲しくなります。そして買ったのは24リットルで、ウェストベルト付きのやつです。ドイタースペクトロ24で、すでに廃盤になっているようで半額近くで買いました。この辺はフレームが入っていて、いかにも登山用という代物です。これは軽量なのですがポケットが少ないので使い勝手はイマイチ。それでも夏は荷物は少なくて済むし、涼しいのでメインザックです。

f:id:tomo_watanabe:20141108162744j:plain

フレームは軽量で背中がザックに付かないようにメッシュになっている。

f:id:tomo_watanabe:20141105215819j:plain

しばらくこれを使っていましたが、小屋泊するとかしないとか言う話が出てきて、このサイズだと小さいなーというのと、微妙に背面長が合っていないことに今更気が付き(背面長とか言う言葉すら知らなかった)、背面長も気にして30リットルサイズのしっかりしたカリマーのリッジ30を購入。デメリットはやや重いこと。このリッジはType1とType2という2種類の背面長サイズがあって、短いType1の方を購入しました。1度使いましたがポケットが多く使い勝手は良いです。ただし日帰りで荷物少ないなら30リットルは必要なさそうで、ドイターのスペクトロを使う場面はまだまだありそう。

f:id:tomo_watanabe:20141108162632j:plain

そして、秋から冬になって低山というかピクニックに近い感じで行こうとすると、どちらも華著な感じがしてきたので、タウンユースと合わせてドイターのスパイダー24を購入。タウンユースと、ちょっとした歩きではこれを使うことにします

f:id:tomo_watanabe:20141108162713j:plain

ドイターは価格の割には、同価格帯のほかのメーカと較べて作りがしっかりしているので、個人的にはオススメです。

靴はスニーカーではダメだということで、スポーツ用品店で試履して買ったのがトレクスタのエボリューション。当初は初心者向けで評判の良いキャラバンを買おうと思ったのですが、足にしっくり来ませんでした。トレクスタのこれは1万円を切る価格でGORETEXなのも良かったです。靴を買う時には初心者はミッドカットを買いましょう。登りでは踵で足を引き上げる感じになるので、ローカットだと踵が浮いて疲れます。サイズは後述しますが厚めの靴下を履くことになるので、やや大きめのサイズを買いましょう。

f:id:tomo_watanabe:20141108194115j:plain

最初の山登りにこれを履いて行ったら、下りで足がもの凄く疲れました。理由は足が中でズレるのと、長時間歩行で土踏まずのアーチが潰れることだと判明、すぐさまインソールを買いに行きました。店員さんに薦められたのはSuperFeetで、これのグリーンをインソールとして使うことで、足の痛みは無くなりました。靴を買ったらインソールも買いましょう。インソールは靴を持って行けば、お店でその場で調節してくれます。

で、ふとしたことからTwitterの知り合いの方が買っていた登山靴がカッコ良かったので、えいやっとamazonでポチってしまったこれが今の靴です。トレクスタよりもやや柔らかめの仕様で、インソールはそのままこちらに使っています。

f:id:tomo_watanabe:20141108211410j:plain

靴下

登山靴はソールが厚く硬めに作られているので、普通の靴下だと衝撃が伝わりやすいので、厚めの靴下を履くようです。そして汗も掻くのでその辺を考慮します。今のところはモンベルのウィックロンの靴下で済ませてます。メリノウールもちょっと欲しい・・・

雨具

雨具は雨降ったらどうせ行かないし〜。と思ってたので、GORETEXとか気にせず、モンベルの安いのセットで済ませました。しかし、何度か山に行くとちゃんとしたのが欲しくなり、モンベルのは安いのですが妙にゴワゴワ感があり、ミレーのGORETEXで軽量だけどあまりゴワゴワしないやつにしました。普段の雨のレインジャケットとしても十分使えるデザインです。ミレーの欠点というか、しっくり来ない点は袖の長さが合わないところ(どのモデルも長い)です。デザインや色は好きなんですが、これは欧米人サイズなんでしょうね。


amazonリンク集(^^;

[トレクスタ] Treksta エボリューション  EBK014 983 (CHXマルーン/23)

[トレクスタ] Treksta エボリューション EBK014 983 (CHXマルーン/23)

Intel EdsionでNode.jsのサーバを動かす

続いて、Node.js + expressでWebサーバを立ち上げてみます

パッケージマネージャの更新

Yoctoではapt-getとかではなく、opkgというパッケージマネージャを使うようです。これを最新にしておきます。 こちらを参考に

# cd /etc/opkg
# curl http://nonnoise.github.io/Edison/_sources/Edison/base-feeds.conf 
# curl http://nonnoise.github.io/Edison/_sources/Edison/intel-iotdk.conf 
# curl http://nonnoise.github.io/Edison/_sources/Edison/mraa-upm.conf

アップデートしておきます

# opkg update
# opkg upgrade

Node.jsの確認

とりあえずコマンド叩いてみましょう

# node
>
(^C again to quit)
>

間違いなくNode.jsが入ってます。バージョンは

# node -v
v0.10.28

そして、Nodeのパッケージマネージャであるnpmも入ってます

# npm

Usage: npm <command>

where <command> is one of:
    add-user, adduser, apihelp, author, bin, bugs, c, cache,
    completion, config, ddp, dedupe, deprecate, docs, edit,
    explore, faq, find, find-dupes, get, help, help-search,
    home, i, info, init, install, isntall, issues, la, link,
    list, ll, ln, login, ls, outdated, owner, pack, prefix,
    prune, publish, r, rb, rebuild, remove, repo, restart, rm,
    root, run-script, s, se, search, set, show, shrinkwrap,
    star, stars, start, stop, submodule, t, tag, test, tst, un,
    uninstall, unlink, unpublish, unstar, up, update, v,
    version, view, whoami

npm <cmd> -h     quick help on <cmd>
npm -l           display full usage info
npm faq          commonly asked questions
npm help <term>  search for help on <term>
npm help npm     involved overview

Specify configs in the ini-formatted file:
    /home/root/.npmrc
or on the command line via: npm <command> --key value
Config info can be viewed via: npm help config

npm@1.4.9 /usr/lib/node_modules/npm

expressのインストール

npmが入っているので、npmでexpressをグローバルインストールします。

# npm install -g express

expressコマンドを使いたいのですが、そのままではパスが通っていません。どこにインストールされたのか調べます

# find / -name express
/usr/lib/node_modules/iotkit-agent/node_modules/.bin/express
/usr/lib/node_modules/iotkit-agent/node_modules/express
/usr/lib/node_modules/iotkit-agent/node_modules/express/bin/express

どうやらグローバルインストールされたコマンドは.bin以下にシンボリックリンクが配置されるようなので、ここにパスを通します。ただしYoctoでは".bashrc"とか".bash_profile"ではなく、".profile"を読み込むようなので、ホームディレクトリに".profile"ファイルを作成して、そこにexportでパスを追加します。vimも無いようで、viエディタを使います。

# vi .profile

.profileにパスを追加します

export PATH=/usr/lib/node_modules/iotkit-agent/node_modules/.bin:$PATH

読み込み直します(rebootしてちゃんと読み込まれることを確認した方がいいでしょう)

# source .profile

パスを見てみます

# echo $PATH
/usr/lib/node_modules/iotkit-agent/node_modules/.bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin

expressでNode.jsサーバを作成

ここまで出来たら、あとはカンタンです。expressでフレームワークを生成して、Nodeを起動するだけです。テンプレートエンジンはejsを使います。

# express -e server

   create : server
   create : server/package.json
   create : server/app.js
   create : server/public
   create : server/public/javascripts
   create : server/public/images
   create : server/public/stylesheets
   create : server/public/stylesheets/style.css
   create : server/routes
   create : server/routes/index.js
   create : server/routes/user.js
   create : server/views
   create : server/views/index.ejs

   install dependencies:
     $ cd server && npm install

   run the app:
     $ node app

# cd server && npm install

# node app.js

ifconfigで調べたEdisonのIPアドレスにポート3000でアクセスしてみましょう。

f:id:tomo_watanabe:20141031152141p:plain

というわけで、カンタンにWebサーバを起動させることができます。

Intel Edisonのセットアップ

買おうかどうしようか考えていましたが、なぜか手元にあるので、セットアップを備忘録的にまとめておきます。

Intel Edsionとは

IntelがIoT向けに発表した超小型でLinuxが動作するチップセット。購入して動かすには単体購入だけでは面倒なため、どちらかの拡張ボードと一緒に購入することになります。

本体はArduino Unoと比較しても小さいですね。

f:id:tomo_watanabe:20141031120348j:plain

今回はBreakout Board Kitを入手したので、そのセットアップを書いておきます。Breakout Boad Kitはこんな感じです

f:id:tomo_watanabe:20141031120420j:plain

起動

2つのマイクロUSBケーブルを用意します。1本は電源取得用。もう1本はいわゆるデバッグシリアル用です。

デバッグシリアルはFTDIドライバが入っていれば認識します。Macのscreenコマンドでボーレートを115200に設定しておき、電源をつなぐとしばらくすると起動ログが流れます。

f:id:tomo_watanabe:20141031104347p:plain

そしてログイン画面(デバイス名をすでに変えているのでedison0となっています) LinuxディストリビューションYocto Projectです

f:id:tomo_watanabe:20141031104451p:plain

初期ログインは"root" パスワードはありません。

ファームウェアのアップデート

購入直後(2014/10/28)時点のファームでは、文字入力時に最初の1文字を取りこぼすなど、不安定なのでまずはファームウェアを書き換えて最新にします。

バーションは以下のコマンドで確認できます

# cat /etc/version
edison-rel1-maint-weekly_build_16_2014-10-14_14-56-19  <-- 書き換え後なので現時点の最新

Macでの書き換えはこのページに記述がありますが、以下に手順を

Edisonの電源をUSBケーブルでMacから取っていれば、Mac上にEdisonというUSBメモリがあるはずです。まずはその中味を全て削除しておきます。Mac上で

※削除コマンドは気をつけて下さい

$ cd /Volumes/Edison
$ rm -rf *
$ rm –rf \.* 

ファームウェアIntelの公式ページの最新版「Edison Yocto complete image」をダウンロードしてきます。てっきりイメージファイルかと思ったら、そうではありません。zipファイルを展開して、マウントされているEdisonのUSBメモリに展開されたファイルを全てコピーします。

今度はEdison上から、以下のコマンドでリブートさせつつ書き換えを行います

# reboot ota

自分の場合、2回リブートしたような気がしましたが、ファームウェアの更新が成功すれば、ログイン状態になります。書き換えが成功したかどうかは

# cat /etc/version

で確認しましょう。

セットアップ

最新の状態にしたら、Edisonの初期セットアップを行っておきます。設定項目は以下になります。

  • Edisonのデバイス名を設定
  • rootログインのパスワード設定
  • WiFiの設定

セットアップ用のスクリプトが用意されているので、それを使います

# configure_edison --setup

以下設定画面(CUI)はこんな感じ

Configure Edison: Device Name

Give this Edison a unique name.
This will be used for the access point SSID and mDNS address.
Make it at least five characters long (leave empty to skip):

-----

Configure Edison: Device Password

Enter a new password (leave empty to abort)
This will be used to connect to the access point and login to the device.
Password:       ***********
Please enter the password again:        ***********

-----

Configure Edison: WiFi Connection

Scanning: 1 seconds leftt

0 :     Rescan for networks
1 :     Manually input a hidden SSID
2 :     hogehoge
3 :     fugafuga


Enter 0 to rescan for networks.
Enter 1 to input a hidden network SSID.
Enter a number between 2 to 15 to choose one of the listed network SSIDs:

全ての設定が終了すると以下のメッセージが出ますので、まずはifonfigを叩いてIPアドレスが付与されているのを確認しておきましょう。

Initiating connection to honypod. Please wait...
Attempting to enable network access, please check 'wpa_cli status' after a minute to confirm.
Done. Please connect your laptop or PC to the same network as this device and go to http://192.168.**.** or http://edison0.local in your browser.
root@edison0:~#

メッセージにもありますが、どうやら自動的にhttpサーバーが起動するようなのでアクセスしてみます。

f:id:tomo_watanabe:20141031115719p:plain

設定したデバイス名とIPアドレスが表示されます

※どこかでSSHを有効にするかどうか聞かれたような気がするけど、覚えてない....

参考ページ

たった1日で出来たWeb + Android + Arduinoのリアルタイム連携プロトタイピング

はじめに

今回のネタは、早稲田大学で行われているAndroidアプリ開発養成講座TechInstituteで、センサー回りの講座を受け持つことになり、Androidのセンサーを使った応用例として作成しました。

動作概要

Android

動作としては某L◯NEの「ふるふる」っぽい動作をAndroidでは行います。「加速度センサー」で、ある一定の加速度を超えたら、「GPSセンサー」で位置情報をサーバに送信します。Webサーバでは送信された位置情報をGoogleMapにマッピングします。

Arduino

Arduinoには何かセンサーを接続します。なんでもいいのですが、「照度センサー」とします。照度センサーにより、周囲が暗くなったらサーバに「暗くなった」ことを通知します。

Web

Webサーバは送られてきた位置情報のマッピングを行います。またブローカサーバがArduinoからのセンサー情報を、接続している全Android端末にPush配信を行います。

構成

ざっくりこんな感じです。

f:id:tomo_watanabe:20140820234129p:plain

もうちょっと詳しく書くと

f:id:tomo_watanabe:20140820234656p:plain

Androidアプリから、位置情報をMQTTプロトコルでブローカにpublishすることで、subscribeしているWebサーバがそれを受信して、GoogleMap上にマッピングします。Arduinoから「暗くなった」とブローカにpublishすると、Androidアプリでは事前にそのTopicをsubscribeしているようにしてあるので、Pushが飛んできます。※MQTTについてはこちらを参照

使っている技術は難しくありません。

  • Androidアプリ:加速度センサー、GPSセンサー、MQTTクライアント
  • Arduino:照度センサー、MQTTクライアント
  • MQTTブローカサーバ:mosquitto
  • Webサーバ:Node.js + WebSocket(Socket.IO) + MQTTライブラリ

それぞれの画面

Androidアプリ

スクリーンネームを入れて、スタートボタンを押して「振る」単純なアプリです。加速度センサーをチェックして、振れ幅が大きくなったら位置情報を送信します。

f:id:tomo_watanabe:20140820235916p:plain

Arduino

UIは無いです。Cdsセルで周囲の照度を測定して、一定値以下になったら「暗くなった」と通知します。

f:id:tomo_watanabe:20140821101028j:plain

AndroidにはPushで通知が飛んできます。

f:id:tomo_watanabe:20140821101840p:plain

Web

Node.jsでWebSocketを使用して、送信された位置情報とスクリーンネームマッピングします。

f:id:tomo_watanabe:20140821000241p:plain

作成の流れ

  1. Androidのセンサー応用例のデモを作ろう
  2. ふるふるっぽいのなら、加速度センサーとGPSセンサーでできそうだな(ここまで前日案)
  3. 位置情報を表示するMapが欲しいな。んじゃMQTTを使ってNode.jsで受けるか
  4. MQTTブローカサーバ立てる
  5. PyhtonでMQTTのPubSubのサンプルを作成して動作を確認
  6. Node.js + Socket.IOでGoogleMap表示部作成
  7. MQTTライブラリをNode.jsに組み込んで、ブローカをSubscribeするようにする
  8. PythonでMQTTのサンプルのPublishを作成して、ダミーの位置情報をブローカに送信するとNode.js上のGoogleMap上にマッピングできることを確認
  9. Androidアプリで加速度センサーとGPSを組み合わせてアプリを作る
  10. MQTTライブラリを送信用に組み込んで、8で作成したtopicフォーマットに沿って送信するようにする
  11. Andoridアプリをふるふるすると、無事GoogleMapに表示できた\(^o^)/
  12. Arduinoも講義で扱うし、ArduinoにもMQTTクライアントがあるからこれも繋げてみよう
  13. 題材で使用する照度センサーとArduino Ethernetを組み合わせてMQTTでブローカに投げるようにする
  14. Androidアプリの方にArduinoの通知を受け取れるように、MQTTブローカへのSubscribeを追加
  15. ほぼ完成\(^o^)/

ここまででほぼ1日8時間くらいの作業という感じでした(途中買い物行ったりしてので、出来たのは夜中近く)

参考情報(Topicの扱い)

  • Android

    • subscribe "PUBLIC/location/port/all/#"
    • publish "PUBLIC/location/state/hogefuga" ← hogefugaはスクリーンネームが入る
  • Node.js

    • subscribe "PUBLIC/location/state/#"
  • Arduino

    • publish "PUBLIC/location/port/all/push"

ArduinoのあたりのTopicの扱いが変だけど、最後取ってつけた関係上...

まとめ

ここに出てくる技術はひと通り経験したことがあるので、アイデアが出れば実装はさほど難しくありません。 だいたい1日の作業でこのくらいまでプロトタイピング実装できるんだなーと、あらためて今の技術の恩恵を感じました。逆に言えば、技術よりもアイデアの方が重要なのかも(こっちのが難しい)

さて、実装してみると色々展開できることが見えてきます。

MQTTなので上手くTopicのPublish/Subscribeのルールを決めてやることで

他にも

  • ボタンでの通知を時間間隔での通知にして、ジオフェンスを使った遊びや監視?
  • Arduino側をウェアラブルデバイスとしてアイデアを膨らますこともできそうです
  • Arduino側を様々な家電に置き換えて考えると、コントローラ&通知システム作れますね

ソースコードは公開してもいいのですが、なんせ1日で作ったレベルなのでちょっと...

要望があれば整理して公開できるようにするかもしれません。