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

mosquittoでMQTTとWebSocket両方に対応させる

久々にMQTTブローカーサーバ使ってたら、mosquittoがMQTTとWebSocketに対応していたのでメモ 何が嬉しいか 今まではMQTTとWebSocketをバインドするためにNode.jsなどを使い、MQTTからWebSocketへ変換していました。例えばこんな感じに。 まぁこの頃はSocket.…

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

冬期はスキーへよく行くのですが、おすすめのゲレンデを紹介します。 理由は結構いいスキー場なんですが・・・ あまりに人が居ないので・・・このスキー場が無くなると困る!(切実 ゲレンデは「鹿沢スノーエリア」といいます。 場所は群馬県嬬恋村あたり。…

ヤマノススメ?(小物)

最後は小物編 食べ物 今のところ、コンビニおにぎりとかでなんとかなっているので特にはないのですが・・・ 行動食として、チョコレートを持って行ってます。よくあるM&M'sなんですが、パッケージを開けて小袋につめ替えます(ヤマノススメでもやってました…

ヤマノススメ?(服装)

今回は服装編 山登りの服装 大雑把にいうと、夏山用と秋春用、冬用に分かれるんじゃないかと思います。冬は行かないのでパスします。 ここでは、夏山の服装と、秋と春の服装について、買って試した備忘録を書いておきます。 夏山の服装 夏山登山は比較的標高…

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

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

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

続いて、Node.js + expressでWebサーバを立ち上げてみます パッケージマネージャの更新 Yoctoではapt-getとかではなく、opkgというパッケージマネージャを使うようです。これを最新にしておきます。 こちらを参考に # cd /etc/opkg # curl http://nonnoise.g…

Intel Edisonのセットアップ

買おうかどうしようか考えていましたが、なぜか手元にあるので、セットアップを備忘録的にまとめておきます。 Intel Edsionとは IntelがIoT向けに発表した超小型でLinuxが動作するチップセット。購入して動かすには単体購入だけでは面倒なため、どちらかの拡…

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

はじめに 今回のネタは、早稲田大学で行われているAndroidアプリ開発養成講座TechInstituteで、センサー回りの講座を受け持つことになり、Androidのセンサーを使った応用例として作成しました。 動作概要 Android 動作としては某L◯NEの「ふるふる」っぽい動…

台湾に行ってきました(Computex Taipeiとかもろもろ)

休暇を利用して、台湾へComputex Taipeiの見学およびリサーチをしてきました Computex Taipei ESECやETよりも人は少ないように見える。日程の前半は海外在住者のみ入場可(入場口で揉める某台湾人) 規模は東京ビッグサイトの東館全体の3倍くらい(南港の方…

ArduinoのWiFiシールド(CC3000)でWiFiのセットアップ

ArduinoでWiFiが使える、かつTELEC取得済みのCC3000 WiFiシールドを入手したので、セットアップしてみました。 まずはハンダ付け スイッチサイエンスから購入したのですが、ブツがビニールに入ってるだけで特に説明書らしきものはありません。Arduinoシール…

netatmo ウェザーステーションを買ってAPIを叩いてみる

netatmo ウェザーステーションとは 公式HP ※公式のJPは死んでるっぽいので、USサイト その名の通り気象情報をセンサーで取得するデバイスです。基本構成は2つのセンサーデバイスで、大きいほうが室内用、小さいほうが屋外用となっています。電源は室内用はUS…

Mosquitto(MQTT)を動かしてみた

MQTTとは MQTT(MQ Telemetry Transport : MQはMessage Queuing?)というプロトコルで、TCP/IP層で動作するWebSocketっぽいもの(ザックリ)。詳しくはそこはかとなく書くよん。を見てもらった方が分かりやすいです。簡単に言えば、M2Mでの使用を考えた軽量な…

スキーとGoProとウェアラブルの関係を考える

初めての趣味でのエントリになります。 今シーズンは週末に冬山に行くことが多いです。スタッドレス買ったので勿体無いというのもありますが。一昨年にGoPro Hero2(今はHero3)を買ってからスキーの時に持参して撮影をしてみたりしてるので公開してみようと思…

Node.js + Socket.IO + pm2でデーモン化とクラスタリング

Socket.IOをpm2でクラスタリングするには、ちょっと工夫が必要だったのでメモ forever Node.jsのデーモン化といえばforeverです。しかしクラスタリングしようとすると、Node.jsのコードをクラスタリング対応で書かないといけないのでやや面倒だったりします…

モバイル版ChromeのSPDYプロキシはIPv6に対応

モバイル版のChromeが正式にSPDYに対応しました。 たまたま実験してて気づいてたのですが、SPDYプロキシはIPv6に対応しているようです。 実験 グローバルなIPv6が振られているMac上でサーバアプリを起動して、IPv6でアクセスできるようにします。今回はNode.…

Intel Galileoはじめの一歩

やっとIntel Galileoが来たので、とりあえず最初にやっておくことひと通り ファームウェアのアップデート まずはファームウェアのアップデートをやっておかないとならないのですが、いきなりここでハマりました。3回くらいファームのアップロードをやってや…

BeagleBone Blackにcloud9をインストールする

UbuntuをインストールしたBeagleBone Blackにcloud9 IDEをインストールしてみます。 cloud9 IDEとは BeagleBone Blackに標準インストールのAngstrom上にプリインストールされている、Node.jsを利用したブラウザIDE環境です。今回はUbuntuに入れ替えてあるの…

ToCoStickのシリアル通信で受信プロンプトを無くす

前回のエントリで調べた、シリアル通信の受信データの部分を書き換えてみました。 開発環境について ToCoNetSDKというのが無償にて提供されています。これをダウンロードして展開するとeclipseによる開発を行えます。今回はこのWindows版(eclipse同梱で楽そ…

ToCoStick(TWE-LITE-USB)を使ってみた

ToCoStickとはTWE-LiteをUSBドングルの形に収めたものです。 詳しくはToCoStick 動作確認の方法 今回これを2台購入したので動作レポートしてみたいと思います。2台ということは当然ながら、やりたいことは2台のPC間をZigBeeで通信させることを行います。つま…

BeagleBone BlackのUbuntuにbonescriptをインストールする

デフォルトのAngstromではなく、Ubuntuの方にbonescript入れてやればいいよね?的な発想でインストール Node.js v0.10.21でインストール 前々回にインストールしたv0.10.12でbonescriptをインストールしてみます ubuntu@ubuntu-armhf:~$ npm install -g bone…

BeagleBone BlackのAngstrom Linuxに入ってるNode.jsについて

ちょっとだけ調べてみました。 Nodeのバージョン root@beaglebone:~# node -v v0.8.22 Node Package Managerも入っているようです root@beaglebone:~# npm Usage: npm <command> where <command> is one of: add-user, adduser, apihelp, author, bin, bugs, c, cache, complet</command></command>…

BeagleBone BlackにNode.jsをインストールする2(セルフビルド)

前回のおさらい 見事にビルドに失敗・・・ググってみたら、傘のお肉はどこにあるの?知り合いの@iwata_nのブログに引っ掛かったw つまりは ./configure --without-snapshot が必要ということなので、nodebrewのソースを修正して対応します。 nodebrew本体の…

BeagleBone BlackにNode.jsをインストールする(セルフビルド)

いつものようにNode.jsをインストールします。今回はnvmではなくnodebrewを使い、セルフビルドにてインストールします。 BeagleBone Black用のNode.js ビルドするのが面倒な方はこちらにインストールバイナリがありますので、こちらを使ったほうが楽チンです…

BeagleBone BlackにUbuntu12.04をインストールする

作業の備忘録として記録しています。Raspberry Piを触っていれば、ほぼ同じような手順ですが・・・ (本当はIntel Galileoで遊ぶつもりが発売が年明けに延びたので、こっちをやっつけることに...) 追記 この方法では、SDカードからのブート時に「ボタン」を…

HTML5 Conference 2013でLTしてきました

とあるISPの異端者 from Tomo Watanabe きっかけ 第0回HTML5エンタメ部の開催に参加した際に、白石さん@Shumpeiに、こんなネタありますが、と話しをしたら「LTに応募してみてください」ということだったので、軽い気持ちで応募したらなぜか当選/(^o^)\し…

LPCXpressoとLPC800-MAXでマイコンを学ぶ(その9:I2Cでスイッチコントロール(GPIO))

おそらく今回でLPCXpressoは最後になりますが、I2Cを使ってみます。LPC812は少ピンなのでGPIOが少ないのですが、Arduinoと同じようにGPIOやADCを載せるために、I2Cバスにデバイスを接続して拡張しています。 I2Cのサンプルプログラムを動かす まずはサンプル…

LPCXpressoとLPC800-MAXでマイコンを学ぶ(その8:UARTでPCと接続)

今回もサンプルを使ってUARTの動作を確認していきます。 UARTのサンプルプログラムを動かす まずはサンプルプログラムを動かしてみます。サンプルは例のごとく、import project(s)からNXP_LPC8xx_SampleCodeBundle.zipを選択して「UART」をインポートします…

LPCXpressoとLPC800-MAXでマイコンを学ぶ(その7:Systickタイマーを使う)

前々回はMRT(Multi-rate Timer)を使いましたが、今回はSystickタイマーのサンプルを例に動かしてみます。SystickタイマーはCortex-M0+内にあるタイマーで、1チャンネルしかありません。通常このタイマーはOSのタイマーに使われるという記述がどっかにありま…

LPCXpressoとLPC800-MAXでマイコンを学ぶ(番外編:提供されているコードについて)

LPCXpressoを触っていて、気になったことがあるので書いておきます。LPC812にはARMのCortex-M0+のコアとNXPの周辺モジュールの2つが合わさったマイコンです。ブロック図はユーザーズマニュアルp7にあります。 サンプルプログラムを見てて思ったのは「あれっ…

LPCXpressoとLPC800-MAXでマイコンを学ぶ(その6:タイマーを使う)

今回はBlinkyのサンプルに戻って、残っているタイマーの動作を確認したいと思います。 LPC800シリーズのタイマー LPC800シリーズにはタイマーが2種類あります。 Cortex-M0+内にあるSystick timer, 24bit 1チャンネル LPCシリーズとしてのMRT(Multi-rate Time…

LPCXpressoとLPC800-MAXでマイコンを学ぶ(その5:PLLを使用してクロックアップ!)

LPC812は最大動作クロックは30MHzなので、今回は30MHzで動作するように設定を変更してみます。 動作クロックの変更を行うには 前回のエントリのクロック・ジェネレータを参照しながら考えてみます。

LPCXpressoとLPC800-MAXでマイコンを学ぶ(その4:スタートアップルーチン)

スタートアップルーチンを見てみる Blinkyのサンプルアプリはmai.cのmain関数から始まっているのですが、ここでここまでに至る起動時のスタートアップルーチンを見てみようと思います。スタートアップルーチンでは、起動時の重要な初期化やデフォルト設定を…

LPCXpressoとLPC800-MAXでマイコンを学ぶ(その3:LEDの動作(GPIO)を調べる)

サンプルアプリ(Blinky)のLEDの動作を調べてみる これで、ひと通りデバッグ等ができるようになりました。実際のコードを解析しつつ、ARM Cortex-M0というかLPC800シリーズのアーキテクチャを見て行きたいと思います。まずは前半を飛ばして、わかりやすいLED…

LPCXpressoとLPC800-MAXでマイコンを学ぶ(その2:デバッグでprintf文を使う)

普通にオンラインデバッグができますが、一点だけprintf文を使おうとしてハマりました。 デバッグでprintf文を使う 前回のBlinkyプロジェクトにprintf文を書いてビルドすると以下のようにリンカでエラーになってしまいます。 調べたところ解決策がこちらの「…

LPCXpressoとLPC800-MAXでマイコンを学ぶ(その1:サンプルアプリを動かす)

ARMマイコンの勉強を始めました。とりあえず、LPC800-MAXというArduino互換(ぽい)のが出たようなので、スイッチサイエンスさんで購入。このボードはmbedにもなるボードなのですがそっちは置いておいて、ARMマイコンを理解するためにもLPCXpressoで動作する…

インターネットとハードウェア

組込みプログラミングの必要性 プログラミングというとPC上でのプログラムが普通ですが、最近感じているのは組込み系のプログラミングの重要性です。単に組込みプログラミングというだけではなく、デバイスとネットワークを扱うためのプログラミングと言った…

ZigBeeモジュール Wireless Engine TWE-Lite DIPを使ってみた

なんか最近発売されて、かなり売れているらしいTWE-Lite DIPを使ってみました。ハマったポイントなどを書いておきます。 TWE-Lite DIPとは 東京コスモス電機が発売しているZigBeeの無線モジュールです。販売は「秋月電子」とか「千石電商」とかで売ってます…

JenkinsのビルドステータスをArduinoで表現する

いわゆるパトランプというやつですね。最初USB対応の製品を探したのですが、なんせ3万円とかする…これは買えない…orz というわけで、別件で試作したArduinoのシールドにフルカラーLEDを載せたのを思い出し、これを活用してしまおうということにしました。 用…

今更ながらFirefox for Android(Fennec)をビルドする

本家の情報はここ Fennec for Androidにあるけど、結構頻繁に書き換えられている感じですね。 下記のビルドは2013/07/04時点での状況です。 今回はマルチロケール対応のapkをビルドする流れになっています。 mozilla-releaseをビルドします。mozilla-cental…

HTML5時代のサーバpush型ナビのプロトタイプ

サーバpush型のWebアプリを作ってみた いわゆるサーバ・クライアントモデルでは、クライアントが情報を拾い、サーバへ送信することで膨大なデータを処理したり、計算したりします。今回は全く逆のシステムを作ろうとしています。サーバが情報を拾い、クライ…

node-serialportを使ってNode.jsでArduinoと通信する

node-serialportとは Node.jsでシリアルポートを制御できるようにしたライブラリ。今回はこれを使ってNode.jsとArduinoをシリアル通信で接続します。今回のターゲットは2種類。まずはMac + Arduinoで動作を確認した後、Raspberry Pi + Arduinoで動作させてみ…

Socket.IO for Android(nginx1.3.13リバースプロキシ対応版)

前回のエントリでnginx(1.3.13)でWebSocketをリバースプロキシしてみたのですが、それでは以前作成したSocket.IO for Androidのサンプルがリバースプロキシを通りませんでした。うーんと(´ε`;)悩んでいた所、 @gtk2kさんに情報を頂きましたのでコードを修…

nginx(1.3.13)でWebSocketをリバースプロキシしてみる

nginx(1.3.13)でWebSocketのプロキシを試してみました 2013/2/19にnginxが正式にWebSocketに対応したとアナウンスがあったので、試しに使ってみました。 ダウンロード・インストール ここからnginx-1.3.13をダウンロードしてきて、インストールします。 イン…

いわゆる普通の人が職を失う可能性

先日読んだ本「「日本で最も人材を育成する会社」のテキスト 」で、非常に興味深い部分があったので紹介します。 「日本で最も人材を育成する会社」のテキスト (光文社新書)作者: 酒井穣出版社/メーカー: 光文社発売日: 2010/01/16メディア: 新書購入: 28人 …

Raspberry Piにリバースプロキシを導入する

Raspberry PiにNode.jsを入れて動かしていましたが、Raspberry Piにリバースプロキシを導入して、サブドメイン名でApacheとNode.jsの切り替えをしてみます。リバースプロキシにはWebSocketを透過するnode-http-proxyを導入します。できるだけ手順をそのまま…

Raspberry Piに接続したフルカラーLEDをNode.jsから制御する

Raspberry PiのGPIOの制御方法がわかったので、Node.jsからGPIOをコントロールできるようにします。 Node.jsからGPIOを叩く 前回のGPIO制御のコマンドをそのまま使うような書き方をします。 var exec = require('child_process').exec; exec('gpio -g mode 2…

Raspberry PiでGPIO制御

Raspberry PiのGPIOをライブラリを使って制御します。またライブラリを使うことでJavaScriptからでもGPIOの制御ができるようになります。まずはGPIOを叩いてみるところと、ハマるポイントを書いておきます。 Raspberry PiのGPIOの情報 ここがまとまってるよ…

Raspberry Pi + Socket.IOでチャットアプリ

このエントリは前回の続きです。 Socket.IOを使ったチャットアプリの作成 Socket.IOをインストールとして簡易チャットアプリを作成します。といっても、このサイトのサンプルを移植しただけです、はい… Socket.IOのインストール まずは作業フォルダを用意し…

Raspberry PiでNode.jsを動かす

Raspberry Piとは 本家はココを参照。Wikipediaの方がわかりやすいかも。簡単に言えばARM11搭載の小型コンピュータで、主に教育向けとなっています。価格は$35で3000円ちょっとで買える手のひらPCと言った感じです。OSはDebianをカスタマイズしたものとなっ…

MAKERSとかAndroidとか

Android Advent Calendar 2012 17日目(12/17)の表担当@tomo_watanabeです。 17日目裏の担当は@Toro_kunさんです。 MAKERSとかAndroidとか 今回は最近話題になっているMAKERSとかAndroidとかを考えてみようと思います。 Androidってどんな位置付けだっけ? っ…