サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
tomowatanabe.hatenablog.com
※タイトルは釣りです 結果 IoTと呼ばれる(?)デバイスを活用して少し痩せました。その辺のお話です。 たいして減ってないじゃん。というのもありますが一応、元が標準体重範囲内なので10kgも減ったらヤバイです。 4ヶ月弱で−5kg BMI 24 → 22 体脂肪量 14kg → 10kg ※実際の期間は6/末〜9/末 fitbit素晴らしい 今回活躍したのはfitbitのAlta HR 心拍計が重要です。これが無いと意味がありません。普段腕時計はしないのですが、これなら小さくて軽いのでなんとか付けられます ※バンドにはS/Lのサイズがあります 心拍計だけでなく、下記の機能があります 心拍計 歩数計 睡眠記録 消費カロリー 残念なのはこのAlta HRは防水ではないので、お風呂までは入れません。 動機 4年ほど前から登山を始めて、当初は登るだけで体重が減ってたのでこれはいいわーと思ってたんで
久々にMQTTブローカーサーバ使ってたら、mosquittoがMQTTとWebSocketに対応していたのでメモ 何が嬉しいか 今まではMQTTとWebSocketをバインドするためにNode.jsなどを使い、MQTTからWebSocketへ変換していました。例えばこんな感じに。 まぁこの頃はSocket.IOとか使ってたので、すでに古いのですが・・・ // WebSocket -> MQTT io.sockets.on('connection', function(socket) { socket.on('message', function(data) { // MQTTで送信 client.publish(PUSH_LOCATION, JSON.stringify(data.value)); }); }); // MQTT -> WebSocket client.on('messag
今年の春過ぎから、知り合いの影響で登山に行っています。効果としては「体重減」「持久力アップ」「筋力アップ」定期的な運動で調子崩しにくくなった気がします。今まで買った道具とかについてまとめ まずは3種の神器から 登山道具の3種の神器 登山道具には3種の神器があるらしく ザック 靴 雨具 だそうです。ザックと靴はわかるのですが、なんで雨具なのかよくわからなかったのですが、つまりは山登りというとメインシーズンは夏山で、夏は夕立が多いため雨具が必須ということのようです。 ザック とりあえずは手持ちの物でOKでした。最初は20リットルのいわゆるタウンユース的なザックでしたが、一度行くともう少し良いのが欲しくなります。そして買ったのは24リットルで、ウェストベルト付きのやつです。ドイタースペクトロ24で、すでに廃盤になっているようで半額近くで買いました。この辺はフレームが入っていて、いかにも登山用とい
続いて、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の
買おうかどうしようか考えていましたが、なぜか手元にあるので、セットアップを備忘録的にまとめておきます。 Intel Edsionとは IntelがIoT向けに発表した超小型でLinuxが動作するチップセット。購入して動かすには単体購入だけでは面倒なため、どちらかの拡張ボードと一緒に購入することになります。 Intel Edison Breakout Board Kit 秋月電子 Intel Edison Kit for Arduino 秋月電子 本体はArduino Unoと比較しても小さいですね。 今回はBreakout Board Kitを入手したので、そのセットアップを書いておきます。Breakout Boad Kitはこんな感じです 起動 2つのマイクロUSBケーブルを用意します。1本は電源取得用。もう1本はいわゆるデバッグシリアル用です。 デバッグシリアルはFTDIドライバが入っ
はじめに 今回のネタは、早稲田大学で行われているAndroidアプリ開発養成講座TechInstituteで、センサー回りの講座を受け持つことになり、Androidのセンサーを使った応用例として作成しました。 動作概要 Android 動作としては某L◯NEの「ふるふる」っぽい動作をAndroidでは行います。「加速度センサー」で、ある一定の加速度を超えたら、「GPSセンサー」で位置情報をサーバに送信します。Webサーバでは送信された位置情報をGoogleMapにマッピングします。 Arduino Arduinoには何かセンサーを接続します。なんでもいいのですが、「照度センサー」とします。照度センサーにより、周囲が暗くなったらサーバに「暗くなった」ことを通知します。 Web Webサーバは送られてきた位置情報のマッピングを行います。またブローカサーバがArduinoからのセンサー情報を、接
休暇を利用して、台湾へComputex Taipeiの見学およびリサーチをしてきました Computex Taipei ESECやETよりも人は少ないように見える。日程の前半は海外在住者のみ入場可(入場口で揉める某台湾人) 規模は東京ビッグサイトの東館全体の3倍くらい(南港の方が人は多い気がする) 見て回るだけなら、1日半あればとりあえず回れる。期間中はパスがMRT乗り放題のカードになる 出展内容は玉石混交、かつアイテムによって整理されていないので、重要なのがどこにあるか把握困難 PCメーカのメインは南港展覧館にあり、Intel, acer, ASUSなどがPCを中心に展示している(IntelのReal Senseを使って触れないで操作するデモだけど、そんな大きなモニタキッチンにry) 部品としては、ケーブル・電源・キーボード・マウス・スピーカ・スマホアクセサリがほとんどで、どれも同じよう
ArduinoでWiFiが使える、かつTELEC取得済みのCC3000 WiFiシールドを入手したので、セットアップしてみました。 まずはハンダ付け スイッチサイエンスから購入したのですが、ブツがビニールに入ってるだけで特に説明書らしきものはありません。Arduinoシールドとはいえ、ピンソケットも付属していないので、一緒にピンソケットも購入しておいたほうがいいでしょう。 このようなWiFiシールドだとさらに重ねる可能性があるので、ピンソケットをこのようにハンダ付けしておきます。なおこのシールドはSPIを使用していますので、重ねる場合は注意して下さい。 WiFiのセットアップ WiFiのセットアップはsparkfunのページのCC3000 Hookup Guideを見ながら行えば問題ありません。 CC3000のライブラリのダウンロード ライブラリのコードはGithubにありますが、リポジト
netatmo ウェザーステーションとは 公式HP ※公式のJPは死んでるっぽいので、USサイト その名の通り気象情報をセンサーで取得するデバイスです。基本構成は2つのセンサーデバイスで、大きいほうが室内用、小さいほうが屋外用となっています。電源は室内用はUSBから、屋外用は単4電池2本で駆動します。それぞれのセンサーから取得できるデータは以下になります。屋外用のセンサーというのは実はありそうで無いので、ベランダなどに設置しておくと今の屋外気温が取得できるので面白いです。 室内用 気温 湿度 気圧 CO2 騒音 屋外用 気温 湿度 これを設置してユーザ登録してログインすると、PCではこんな画面でデータを見ることができます。 ※地図の部分はボカしています ちなみに、全世界の今の気温もGoogleMap上でみることができます。クリック また、iPhoneアプリ、Androidアプリもあります。
MQTTとは MQTT(MQ Telemetry Transport : MQはMessage Queuing?)というプロトコルで、TCP/IP層で動作するWebSocketっぽいもの(ザックリ)。詳しくはそこはかとなく書くよん。を見てもらった方が分かりやすいです。簡単に言えば、M2Mでの使用を考えた軽量なメッセージプロトコルという感じです。Mosquittoはブローカの実装で使用します。 2013年のカンファレンスでは、2011年当時の「Beluga」(現Facebook Messenger)に使われているという発表があったようです Low Latency Mobile Messaging using MQTT from Henrik Sjöstrand MQTTのブローカとクライアントの動作確認の構成 今回下記のような構成でMQTTの動作確認を行いました。 ブローカ(サーバ):Mos
Socket.IOをpm2でクラスタリングするには、ちょっと工夫が必要だったのでメモ forever Node.jsのデーモン化といえばforeverです。しかしクラスタリングしようとすると、Node.jsのコードをクラスタリング対応で書かないといけないのでやや面倒だったりします。今回、foreverよりも高機能なpm2を使ってクラスタリングを試してみました。 pm2 pm2はforeverと同じようにNode.jsをデーモン化するツールですが、モニタ機能やクラスタリング機能などかなり高機能になっています。 pm2のインストール pm2はグローバルでインストールします。 $ npm install -g pm2 対応するNode.jsのバージョンは古いと動かないかもしれません。今回はv0.10.20(on Mac)で動作確認しました。動かすNode.jsアプリはこちらのSocket.IOの
モバイル版のChromeが正式にSPDYに対応しました。 たまたま実験してて気づいてたのですが、SPDYプロキシはIPv6に対応しているようです。 実験 グローバルなIPv6が振られているMac上でサーバアプリを起動して、IPv6でアクセスできるようにします。今回はNode.jsを使ったサーバアプリを起動しておきます。また、アクセスしてきたIPアドレスをログで表示できるようにしておきます。 IPv6でアクセスできるようにするには、Node.jsでlistenを下記のように書いておきます。 server.listen(3000, '::'); PC版Chromeでアクセス IPv6指定でアクセスすると、このように接続されます。これはまあ普通です。 Node.jsのログでIPアドレスを確認してみます。同じマシンからアクセスしてるので同じIPv6アドレスです。 Android版Chromeでアク
作業の備忘録として記録しています。Raspberry Piを触っていれば、ほぼ同じような手順ですが・・・ (本当はIntel Galileoで遊ぶつもりが発売が年明けに延びたので、こっちをやっつけることに...) 追記 この方法では、SDカードからのブート時に「ボタン」を押す必要がありますが、きんねこさんが押さなくても起動するように、解決してくれました。 armhf.comで配布しているUbuntuイメージはボタン押さないと起動できない件 解決方法は最後に追記しました BeagleBone Blackの購入 たまたま寄った秋月電子に最新版のRev A6が売ってたので購入¥4,980 UbuntuをSDカードに書き込む ホストマシンはMacintoshです。まずはBeagleBone Black用のUbuntuイメージをダウンロードします。今回はLTS版のPrecidse 12.04を使いま
とあるISPの異端者 from Tomo Watanabe きっかけ 第0回HTML5エンタメ部の開催に参加した際に、白石さん@Shumpeiに、こんなネタありますが、と話しをしたら「LTに応募してみてください」ということだったので、軽い気持ちで応募したらなぜか当選/(^o^)\してしまった。ため(どうしてこうなった)、Web開発者とデザイナーのためのイベントと銘打った「HTML5 Conference 2013」という完全アウェイの中、5分間のLTをしてきました。 反応 司会のあんどうさん@technohippy曰く「僕には全然わかりませんでした」と言わしめるほどの撃沈っぷりを発揮し、見事アウェイの洗礼を受けるという...まぁLTなんてのは貰った時間分は宣伝だと思って、スーパージョッキーの「熱湯風呂」みたいなもんだと思ってるので、また次回ガンバローと思うわけですが(^^; スライドの中に
組込みプログラミングの必要性 プログラミングというとPC上でのプログラムが普通ですが、最近感じているのは組込み系のプログラミングの重要性です。単に組込みプログラミングというだけではなく、デバイスとネットワークを扱うためのプログラミングと言ったほうがいいかもしれません。 理由は下記の通り 身近なものがインターネットに繋がる、モノのインターネットではデバイスを扱うことが必須 子供の頃から見たり触れたりするのは実体のあるデバイスであり、プログラミングは実体のあるデバイスを動作させることで興味を持つことができる 組込み系のデバイスのプログラムが書けるのは、おっさんばかり。若い人はこれが出来ると需要がありそう ハンダ付けや簡単な電子回路の知識もついでに身につく とはいえ、最近のデバイスはそこまでの知識が必要なくてもハードウェアを叩けるようになってきているので、まずはそこから始めるのがいいでしょう。
なんか最近発売されて、かなり売れているらしいTWE-Lite DIPを使ってみました。ハマったポイントなどを書いておきます。 TWE-Lite DIPとは 東京コスモス電機が発売しているZigBeeの無線モジュールです。販売は「秋月電子」とか「千石電商」とかで売ってます。 基本的には2つ以上を組み合わせて使います。最小構成は「親機」と「子機」となります。TWE-Lite DIPはデジタルピンやアナログピンを持っており、それぞれが双方向無線通信できるようになっています。 到達距離の確認について 公式ページには見通し1km送受信可能!と書いてあるので、おおっ!と思いますが、実際にどれだけ飛ぶのかテストしますよね。サンプルとして公式にもある「通信距離の測定」をやると思います。 親機のボタンをポチポチすると、子機のLEDが点滅します。わかりやすいです。 しかし、これには1つ罠があります。送信したデ
いわゆるパトランプというやつですね。最初USB対応の製品を探したのですが、なんせ3万円とかする…これは買えない…orz というわけで、別件で試作したArduinoのシールドにフルカラーLEDを載せたのを思い出し、これを活用してしまおうということにしました。 用意する物とか Arduino (今回は手元にあったUno) USBケーブル(ArduinoとサーバPCを接続します) Jenkinsが動いてるサーバ(Ubuntu 12.04) Jenkinsはサーバ上でlocalhost:9090/jenkins/で動いてます Node.js + node-serialport Node.jsはサーバ上でlocalhost:3000/で動かします 構成 今回悩んだのはシリアルのコントロールでした。Jenkinsのジョブでシェルスクリプトを使って、Arduinoにシリアル経由でコマンドを投げたかったの
node-serialportとは Node.jsでシリアルポートを制御できるようにしたライブラリ。今回はこれを使ってNode.jsとArduinoをシリアル通信で接続します。今回のターゲットは2種類。まずはMac + Arduinoで動作を確認した後、Raspberry Pi + Arduinoで動作させてみます ※2013/3/30 データ受信取りこぼしの件で、修正パッチを頂きました。 @kei_os さんありがとうございます node-serialportのインストール まずはMacの方でインストールします。ここを参考にexpressをインストールし、Socket.ioもインストールしておきます。node-serialportのインストールはnpmを使います。 $ npm install serialport サーバの記述 serialportの使い方だけ抜粋します。 serialp
nginx(1.3.13)でWebSocketのプロキシを試してみました 2013/2/19にnginxが正式にWebSocketに対応したとアナウンスがあったので、試しに使ってみました。 ダウンロード・インストール ここからnginx-1.3.13をダウンロードしてきて、インストールします。 インストールオプションはあえてデフォルトで $ wget http://nginx.org/download/nginx-1.3.13.tar.gz $ tar xvf nginx-1.3.13.tar.gz $ cd nginx-1.3.13 $ ./configure $ make $ sudo make install 設定ファイルの書き換え 次にnginx.confを書き換えます。構成は リバースプロキシ: 192.168.0.8:80 バックエンドサーバ: 192.168.0.2:3000
先日読んだ本「「日本で最も人材を育成する会社」のテキスト 」で、非常に興味深い部分があったので紹介します。 「日本で最も人材を育成する会社」のテキスト (光文社新書) 作者: 酒井穣出版社/メーカー: 光文社発売日: 2010/01/16メディア: 新書購入: 28人 クリック: 509回この商品を含むブログ (82件) を見る 普通の仕事をしている人が職を失う この本によると、 グローバル化によってアウトソースを受ける方も、最も優秀な人材はよりクリエイティブな仕事に就くため、 アウトソース用に確保できる人材はあくまでも平均的な職務能力を持っている人材がメインということになる なぜそうなるか、この本ではこう書いています 海外にアウトソースをする企業からすれば、最も人員数が多い層(平均的な職務能力を持っている層) をそっくり海外に任せることができるし、アウトソースを受ける方からすれば、確保が
Raspberry PiのGPIOの制御方法がわかったので、Node.jsからGPIOをコントロールできるようにします。 Node.jsからGPIOを叩く 前回のGPIO制御のコマンドをそのまま使うような書き方をします。 var exec = require('child_process').exec; exec('gpio -g mode 23 out'); こんな感じで設定をして exec('gpio -g write 23 1'); とすれば、23がHiになります。 Node.jsからフルカラーLEDを制御する これだけでは面白く無いので、ブレッドボードにフルカラーLEDを接続してPWM使って色を変えるようにしてみます。PWMはアナログ出力で、Raspberry Piは18番のみがPWMが使えるようになっているので、RGBのBを18に接続して、RとGを普通のGPIOに接続しました。
Raspberry PiのGPIOをライブラリを使って制御します。またライブラリを使うことでJavaScriptからでもGPIOの制御ができるようになります。まずはGPIOを叩いてみるところと、ハマるポイントを書いておきます。 Raspberry PiのGPIOの情報 ここがまとまってるような。 今回はsu無しで制御したいのと、JavaScript経由でアクセスしたかったので、Cなどのライブラリ経由ではなく、WirinigPiというコマンドレベルのライブラリを使います。これをインストールするだけでもコンソールからGPIO制御可能なので、簡単な動作確認にも便利です。 Wiring Piのインストール この通りにやれば問題ありません。 $ git clone git://git.drogon.net/wiringPi で、 $ cd wiringPi $ ./build とすればインストール完
このエントリは前回の続きです。 Socket.IOを使ったチャットアプリの作成 Socket.IOをインストールとして簡易チャットアプリを作成します。といっても、このサイトのサンプルを移植しただけです、はい… Socket.IOのインストール まずは作業フォルダを用意します。前回同様、express + EJSでひな形を作成します。 $ express -e socketio create : socketio create : socketio/package.json create : socketio/app.js create : socketio/public create : socketio/public/javascripts create : socketio/public/images create : socketio/public/stylesheets creat
Raspberry Piとは 本家はココを参照。Wikipediaの方がわかりやすいかも。簡単に言えばARM11搭載の小型コンピュータで、主に教育向けとなっています。価格は$35で3000円ちょっとで買える手のひらPCと言った感じです。OSはDebianをカスタマイズしたものとなっています。今回はこのボードにNode.jsを載せてexpressのひな形を動かしてみました。 インストール インストールはここを参考にしました。2013/1/3現在最新のイメージは2012-12-16-wheezy-raspbian.zipとなっています。これをダウンロードして解凍し、ddコマンドなどでSDカードに書き込みます。初回起動時にキーボードとHDMI出力でモニタを接続し、SDカードの拡張とsshの有効化は忘れないで行なっておきます。起動完了してログインができるようになったら、sshでログインして進めて行
書籍「MAKERS」がかなり話題になっています。読んだ人も結構多いと思います。というか、これは必読本でしょう 「MAKERS」のザックリした内容 たぶん、だいたいこんなことが書いてあります... 3Dプリンタが凄い、これは流行る 誰でもハードウェアを作ることのできる時代になる ソフトウェアと同じようにハードウェアも自由化される 資金はクラウドファウンディングなどの方法で集められる 大量生産品ではない、小ロット生産がビジネスになる 「MAKERS」は日本で流行るのか? MAKERSの内容は事実をもとに書いているだけあって、非常に現実味があり、製造業がほとんど無くなったアメリカでは、本の内容のように市場が立ち上がる可能性が高いと思います。 本を読んだ人は「じゃあ日本はどうなんだ?」と考えるでしょう。この問いに対する反応は結構面白く、聞いてみるとおよそ ハード知らない人「これは凄い!絶対来る!」
実録!Sierがネットゲーム事業に参入できない理由に触発されてカッとなって書いた。後悔はしていなry 研究開発 その1 社員「部長、Androidをプラットフォームとして採用して、サービスとデバイスを組み合わせた製品開発ができます」 部長「AndroidってLinuxだろ。ウチの品証がウンと言わないからダメだ」 社員「…」 研究開発 その2 社員「部長、モバイルプラットフォームで組込み製品を開発することで、100人で作ってた製品が10人レベルで作れるようになります」 部長「余った90人の人たちの仕事はどうするの?」 社員「…」 研究開発 その3 社員「部長、モバイル製品ではJavaやObjective-Cを使うことになります。今後はそういった言語の教育も行いましょう」 部長「現場の開発の人はJava書ける人が居ないから、我社の製品開発に向いてないね」 社員「…」 研究開発 その4 部長「T
はじめに 就職先募集中です\(^o^)/ 前エントリの中の一部の実装の話です。Node.js + Socket.IOのサーバの基本構成と、Android版のSocket.IOクライアントのサンプルです。 とりあえずコードはよ。って方はコチラへ ※2013/3/10 コードをアップデートしてnginxのリバースプロキシに対応しました 何が出来るの? Androidアプリとブラウザでリアルタイム双方向通信のサンプルです。要はチャットアプリです。サーバは受信データをブロードキャストするようにしています。 非常に簡単なサンプルですが、ブラウザクライアントとAndroidアプリの工夫次第で、色々な実験やプロトタイピングが出来ると思います。前エントリのプロトタイプはADKを接続してハードまでリアルタイム連携させてみたものです。 画面サンプル(自機の送ったものは表示されない) ブラウザの画面 Andro
7/2にMobile5という勉強会に主催者兼発表者として参加しました。 発表資料を公開しておきます。 組込みにおけるHTML5 View more presentations from Tomo Watanabe とはいえ、素晴らしいまとめ記事をジャーナリストの星さんに書いていただいたので、そちらを見たほうがわかりry まとめ 今回の勉強会では他にもTizenやBlackBerryから見たHTML5や規格としてのHTML5、ユーザから見たHTML5の利点など、様々な角度からHTML5を観るという点で面白かったと思います。HTML5自体は規格と技術なので、それが誰にどう影響するのか?という視点は大事です。 今回、私は組込みとHTML5という、一見関係無さそうな両者をプラットフォームという括りで一つのシステムとしてプロトタイプを作成しました。私の中では「組込み」と「モバイル」と「Web技術」は
次のページ
このページを最初にブックマークしてみませんか?
『人と技術のマッシュアップ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く