robo8080のブログ

ロボット製作や電子工作など。

インテルEdison + BLEで、konashi/SBBLEを動かしてみた。

2014年11月30日 | インテルGalileo/Edison

インテルEdison + BLEで、konashi/SBBLEを動かしてみたのでその手順を紹介します。

事前準備:

Edisonの初期設定が終わっていない場合はここを参考に設定し、WiFi接続できるところまで確認しておく。

intel Edison チュートリアル 

手順1:

ここを参考にbluetoothを有効化し、bluez5-devとnobleをインストールする。

konashiの実験をするだけならasyncとnoble以外のnode.jsモジュールは不要かも。

Enabling BLE (Bluetooth Low Energy aka Smart) and Bluetooth on Edison

手順2:

nobleをインストールするとカレントディレクトリにnode_modules/nobleというディレクトリができるので、そこにここのプログラムを適当な名前を付けて保存する(例えばkn.js)。

14/11/12: Node.js+nobleでkonashiをつつく

実行は node kn.js 

うまくいけば、konashi/SBBLEのPIO0-PIO7につないだLEDが点灯するはず。(SBBLEで動作確認した。)

 

UUIDを変更すればkoshianでも動いた。UUIDはここを見ればわかる。

koshianのUUIDはハイフン無しの16進小文字で指定する。

koshianはシリアル受信のNotifyがデフォルトでONになっているようでゴミを受信するようだ。(2014.11.30時点でのファーム)

 


PIO0のLチカとAIO0リードの例:

//------------------------------------------------------------------------------

var noble = require('./index');

noble.on('stateChange', function(state) {
  if (state === 'poweredOn') noble.startScanning();
  else noble.stopScanning();
});

noble.on('discover', function(peripheral) {
  noble.stopScanning();
  console.log('peripheral with UUID ' + peripheral.uuid + ' found');
  var advertisement = peripheral.advertisement;
  var localName = advertisement.localName;
  if (localName) {
    console.log('Local Name = ' + localName);
  }

  peripheral.connect(function(error){
    if(error) console.log('connect error: ' + error);
    console.log('connected to ' + peripheral.uuid);

      peripheral.discoverServices(['ff00'], function (error, services){ // 0xff00=KONASHI_SERVICE_UUID
        if(error) console.log('discoverServices error: ' + error);
        console.log('services.length: ' + services.length);

        var konashiService = services[0];
        konashiService.discoverCharacteristics(['3000','3002','3008'], function(error, characteristics){
          if(error) console.log('discoverCharacteristics error: ' + error);
          console.log('characteristics.length: ' + characteristics.length);

            characteristics[0].write(new Buffer([1]), true); // 0x3000=KONASHI_PIO_SETTING_UUID
              var toggle = false;
              setInterval(function(){
                characteristics[2].read(function(error, data) { //0x3008=KONASHI_ANALOG_READ_0_UUID
                  if (data) {
                    console.log( 'value:' + (data[1] + data[0]*256)/1000 );
                  }
                });
                if(toggle){
                  // LED ON
                  characteristics[1].write(new Buffer([1]), true); // 0x3002=KONASHI_PIO_OUTPUT_UUID
                } else {
                  // LED OFF
                  characteristics[1].write(new Buffer([0]), true); // 0x3002=KONASHI_PIO_OUTPUT_UUID
               }
               toggle = !toggle;
             }, 1000);
         });
      });
  });
});

//------------------------------------------------------------------------------

補足:

konashi/SBBLEを動かすときはキャラクタリスティックスにどういう値を読み書きすれば良いか知る必要がある。

その時はランニングエレクトロニクスさんが公開して下さっているSBBLEのソースが参考になる。

SBDBTシリーズサポートページ

 ー以上ー

 


 参考リンク

intel Edison チュートリアル 

Enabling BLE (Bluetooth Low Energy aka Smart) and Bluetooth on Edison

14/11/12: Node.js+nobleでkonashiをつつく

Getting started · sandeepmistry-noble

konashi

SBBLE

SBDBTシリーズサポートページ

Bluetoothが載ってるArduino派生ボード「BlendMicro」とNode.jsでBLEした

 


11月29日(土)のつぶやき

2014年11月30日 | 日記

@nyatla 普通のWindows PCですぐ動きますが... ダウンロードしてインストーラを起動するだけ。nodejs.org/download/


@exp_noto 「Intel Edison Kit for Arduino」を使っています。Edison用ArduinoIDE付属のサンプルほとんどそのままです。(^^;) 多少LinuxやArduinoの使用経験が必要ですが。 switch-science.com/catalog/1958/


mbedはdefine _DEBUGでシリアルコンソールにつながるのね。知らなかった。

robo8080さんがリツイート | RT

【完全手作りコンピュータ】
LEDを装着して点灯させたところ。かなり眩しい。来週はハンズで減光フィルターに使えそうなアクリル板を探してこよう。(11-29 8AM) pic.twitter.com/01SfTBehzP

robo8080さんがリツイート | RT

ついに!
スターウォーズ7予告編!!
水面スレスレを飛ぶXウィングに感動! fb.me/1wsVFmcyW

robo8080さんがリツイート | RT

【完全手作りコンピュータ】
本体側に「LEDドライバ兼出力ポート」の役割をする74ALS563(8bitラッチ)を4つと「LED基板」を接続するためのコネクタを実装。
563はLSが入手困難のためALSで代用。(11-29 7AM) pic.twitter.com/ewkNahEr47

robo8080さんがリツイート | RT

ブレッドボードに挿して使う小型オシロ
ミックスドシグナルオシロスコープモジュール/XMEGA Xminilab
eleshop.jp/shop/g/gEBR121/

robo8080さんがリツイート | RT

@exp_noto 配線は特に必要ありません。このテキストLCDシールドを付けただけです。あとはSerial.printをlcd.printに替えたぐらいです。Arduinoを使った経験があればこのへんはすぐわかると思います。 switch-science.com/catalog/724/


@exp_noto @exp_noto テキストLCDのサンプルもIDEに付属しているのでそちらが参考になります。


Leap motionとDK2を使ってVRでロボットとチェス対戦。個人的にはロボットじゃなくてUnityちゃんの方がいいけど(笑) apps.leapmotion.com/apps/robot-che… pic.twitter.com/OVCPbi3qMD

robo8080さんがリツイート | RT

世界初!ドローンを応用した離島間を結ぶ海上軽貨物輸送実証実験 (小野 正人) - READYFOR? 【お知らせ】100%達成後のご支援について #readyfor readyfor.jp/projects/KAMOM… @ready_forさんから

robo8080さんがリツイート | RT

さっそく「Lチカ」やるしか……ってことで、手元にあった秋月電子で買ったSDカードスロットDIP化モジュールを改造(チップ抵抗を外した)して、試してみた。 akizukidenshi.com/catalog/g/gK-0…
#flashair pic.twitter.com/DnriiHqACm

robo8080さんがリツイート | RT

というわけで、FlashAirでLED点灯させてみました。こんなに簡単にできていいのか……ってくらい、簡単にできるな。FlashAirすげー!
#flashair pic.twitter.com/lk311QU7h2

robo8080さんがリツイート | RT

TLに桃基板をもらった人が多数。いいな。


GR-PEACHおよびそこに搭載されたRZマイコンを用いたデモを準備しております。
#がじぇるね #sakura_board pic.twitter.com/jviTj5x6sr

robo8080さんがリツイート | RT

GR-PEACHについて
400MHz動作、RAM10MB、フラッシュ8MB、MicroSDソケット、Ether
今後はWi-Fiモジュールを使用可能なバージョンを計画中。
#がじぇるね #sakura_board

robo8080さんがリツイート | RT

GR-PEACHに搭載されているルネサス製RZ/A1H(ARM Cortex-A9)がとんでもなく高性能。グラフィック、サウンド、通信の機能もリッチで、そして何と言っても10MBという広大なRAM。ほんとすごいな。 #がじぇるね

robo8080さんがリツイート | RT

FlashAirをステーションモードで既存の無線LANに繋いでおいて、あとはコマンドのURLを叩くだけ。結果はJSON形式で返ってくる。超簡単! pic.twitter.com/ugKdD0ekWd

robo8080さんがリツイート | RT

お見事(ノ゜∀゜)ノ"@felis_silv: FlashAir+JavaScriptでLチカできた! pic.twitter.com/Uq3wqaVjUn"

robo8080さんがリツイート | RT

更新:気分は超能力者?「視線」で隕石を打ち落とすゲームの体感デモが実施中 アイトラッキングシステム「Tobii EyeX」のデモ akiba-pc.watch.impress.co.jp/docs/news/news… pic.twitter.com/WuEdTatfR6

robo8080さんがリツイート | RT


11月28日(金)のつぶやき その2

2014年11月29日 | 日記

スマホのオーディオジャックから給電されて動作するボード。入出力どちらもいける。2500円とのこと。Glue Motorとかこういう系はワクワクするなあ。 / "クイックジャック ― 多目的自己給電データポート ― NXP" jp.nxp.com/campaigns/lpc8…

robo8080さんがリツイート | RT

PCA9622を使った8x8LEDマトリクス用コードを公開した~.写真とかその他必要な情報は後からアップロードする.いくつかのプラットフォームで動作も確認した.ルネのでもいごくかな~(´(ェ)`) developer.mbed.org/components/PCA…

robo8080さんがリツイート | RT

【完全手作りコンピュータ】
先ほどカットした基板で、アドレスバスとデータバスの状態表示装置を作成ちう。「レトロなコンピュータの表示装置は赤色LEDに限る」という強い信念を持っているのだが、今回に限りノーベル賞受賞を記念して青色を選択。 pic.twitter.com/VtDmJqBrJO

robo8080さんがリツイート | RT

特に何もしないでも動きましたけど… RT @shiitakeo: edisonでnobleなんかうまく動かんな.nobleは導入できたけどscan始めてるのにperipheralが発見されない.全く同じコードでUbuntuだと動いてるしEdisonだとなんか工夫せにゃならんのかな


@shiitakeo 強いて言えば、Bluetoothのロック解除ぐらいですかね…


そうです。 RT @shiitakeo: @robo8080 ありがとうございますー.あとはbluez5-devをopkg経由で入れるくらいですよねえ.なんだろう.


はてなブログに投稿しました
Visual Studioでデバッグ時にOpenCVのMat等の画像を表示できるプラグインが便利 - whoopsidaisies's diary
whoopsidaisies.hatenablog.com/entry/2014/11/… pic.twitter.com/wKRqUleCbE

robo8080さんがリツイート | RT

@shiitakeo あと、”hciconfig hci0 up” ぐらいですかね。


Raspberry PiのSDカードスロットに刺さってるFlashAirの共有メモリを直接見る方法ないかなと思って調べてたけど、無線LANアダプタを刺してcommand.cgiに向けてwgetするのが一番簡単だと判断して諦め。規格そのものとかドライバのソースを見るのは辛い。

robo8080さんがリツイート | RT

おもしろい。: Oculus Rift 内視鏡 youtube.com/watch?v=EmZW-1…

_gdata_player

1 件 リツイートされました

これは面白い!Windowsが動いてるのがいい■【特集】あなたなら何に使う? マウスが放つ新ジャンル“スティックPC” ~内部構造やベンチマークを公開 - PC Watch pc.watch.impress.co.jp/docs/topic/fea…

robo8080さんがリツイート | RT

Processingで複数のウィンドウを作る - Imaginable Reality
d.hatena.ne.jp/kougaku-navi/2…

robo8080さんがリツイート | RT

mbedJSって、node.js からも使えるのかな。node.js 自体がよくわかってないけど…


Linux(RPi)を、BluetoothLEのペリフェラルとして動かすにはどうゆうの使ったらいいんだろ…。Advertisingパケットは出せたんだけど、それから接続まちをして、Initiator(iPhone)とデータをGATTでやりとりするの....。

robo8080さんがリツイート | RT

@nyatla おぉ!javascriptつながりなので動くかなーと思っただけです。(^^) node.js + Cylon.js でarduinoを動かす例もあるので、mbedJSも参入の余地有りかなと…


村田Wifiをとりあえず動かすだけのコード貼り付けといた。
developer.mbed.org/components/SNI…

robo8080さんがリツイート | RT

新しいDK2用スタートレックデモが公開された。今回は「スタートレック:ヴォイジャー」のブリッジ。しかも音声認識機能付き。DLはmega.co.nz/#!rJAQEJzQ!NYF… pic.twitter.com/6tEjBqF032

robo8080さんがリツイート | RT

Maker Faire Tokyo 2014には"うっかり思いついちゃった人"が沢山いた。彼らは革命を起こそうとか世界を変えようなんてまるで考えてない。彼らに「なぜ?」と聞いてはいけない。ただ思いついちゃっただけだ。ついうっかり。愛すべきうっかり者の祭典 #mft2014

robo8080さんがリツイート | RT


11月28日(金)のつぶやき その1

2014年11月29日 | 日記

ほほ~ : あなたもデジカメ開発者に。オリンパスによる「OPC Hack&Make Project」 : ギズモード・ジャパン gizmodo.jp/2014/11/opc_ha… @gizmodojapanさんから


スティック型でWindows8.1搭載すごい。 ヨドバシ.com-新着情報-超小型スティック型パソコンが登場! yodobashi.com/ec/promotion/n…

robo8080さんがリツイート | RT

FlashAir内蔵のWiFiアンテナは カードの端面ギリに配置されているので、 シールド付きのSDソケットでもWiFi電波は遮蔽されない感じ。 (サンマーお™ さんの画像より) twitter.com/xeye_/status/5… twitter.com/xeye_/status/5…

robo8080さんがリツイート | RT

某A月の基板でSOPのSRAMをDIPにする際、「ついでにパスコンも付けとこう」と思ったのが大失敗。電源とGNDピンにハンダ付けしたつもりが、両面変換基板のマジック(?)に引っ掛かり、1つずつずれていた。気付くのに2時間以上要した。 pic.twitter.com/4tKwwmcZAl

robo8080さんがリツイート | RT

最近このアカウントをフォローされた方々は、こちらもどうぞ:

「OpenCVのpythonインターフェース入門 (IPython Notebook Viewerの例として)」

nbviewer.ipython.org/github/payashi…

robo8080さんがリツイート | RT

BLE Nanoさん。スマホからLチカできた。(このサイズで無線でコントロールできるのいいな) vine.co/v/OnZE37dJ2h0

robo8080さんがリツイート | RT

やった!やっと、Raspberry Piで BLE + node.js + noble 動いた。とりあえず、koshian検出できた。 pic.twitter.com/tPEp7aIHfz

2 件 リツイートされました

Read Only File System よく分からんから、Debian 入れ直し。ついでに64GB SDカード認識。Edison Breakout board もなかなかやるでしょ?半田付け苦労した甲斐があった!特にuSD pic.twitter.com/wYsQuliviC

robo8080さんがリツイート | RT

Raspberry Pi + BLEで、nobleを動かす手順1:node.js をインストール。v0.10.24を使用した。PATHを追加しろというメッセージが出るので”.bashrc”に追加しておく。 fukajun.org/nodejs-install…


Raspberry Pi + BLEで、nobleを動かす手順2:BlueZ 4.101 と nobleをインストール。bluez-5.4ではNGだった。 github.com/sandeepmistry/…


Raspberry Pi + BLEで、nobleを動かす手順3:visudo コマンドで、sudoに環境変数を引き継ぐように sudoers を設定。 blog.thingslabo.com/archives/00039…


Raspberry Pi + BLEで、nobleを動かす手順4:動作確認には、node_modules/noble にサンプル等が有るので試せる。動かない時は、”sudo hciconfig hci0 up” を実行してみる。


Raspberry Pi + BLEで、nobleを動かす手順5:実験に使用したUSB Bluetoothドングルはこれ。BLE
デバイス側は、SBBLEとkoshian。-以上- amazon.co.jp/gp/product/B00… sbble.micutil.com

1 件 リツイートされました

Raspberry Pi + BLEで、node.js + nobleを動かす実験。SBBLEとつながった。 pic.twitter.com/EmeevsEera

2 件 リツイートされました

Raspberry Pi + BLEで、nobleを動かす手順6:補足 : konashi/SBBLEで試したいときはここが参考になる。 : Node.js+nobleでkonashiをつつく ifdl.ec.t.kanazawa-u.ac.jp/diary/index.ph…


遊びに来た知人に「無線LAN貸して?」と言われてもパスフレーズを教えるのは抵抗がある人が多いのでは?そんな時重宝するのがちびファイ。家の無線LANルーターのLAN端子にブスッと挿せば、知人貸出用のSSIDとパスフレーズが一丁上がり。
amzn.to/Vtb4Is

robo8080さんがリツイート | RT

#mbed に新しいプラットホーム Renesas GR-PEACH が登録されました。
developer.mbed.org/platforms/Rene…

robo8080さんがリツイート | RT

koshian来た。早い。もちろんtelec付いてる。チップはアンテナ入りのせいか1mmくらいとちょっと厚め。 pic.twitter.com/19s9kkJNQ1

robo8080さんがリツイート | RT

「スター・ウォーズ」ファンが作ったアホみたいに細かい段ボールのミレニアムファルコン|このめちゃくちゃ細かいミレニアム・ファルコンは、実際に格納できる引き込み脚などのディテールが、まさにこの世のものとは思えない。makezine.jp/blog/2014/11/s…

robo8080さんがリツイート | RT

Raspberry Pi + BLEで、nobleを動かす手順7:補足2 : konashi/SBBLEを動かすときはキャラクタリスティックスにどういう値を読み書きすれば良いか知る必要があるが、その時はSBBLEのソースが参考になる。runningele.web.fc2.com

1 件 リツイートされました

27インチ画面いっぱいにソースコードを並べて、書いていると、耳なし芳一を襲ったもののけは、きっと元はプログラマ、って思ったですよ。

robo8080さんがリツイート | RT

秋葉原のツクモパソコン本店キャプチャ王国、今人気の?自撮り棒が入荷!スマホ・デジカメを先端にセットして最大1mほどに伸長。Bluetoothリモコン付属で対応機種ならシャッターも押せます。store.shopping.yahoo.co.jp/capture/457114… pic.twitter.com/beHnuEowf0

robo8080さんがリツイート | RT

マイコン少年の血が騒ぐ 流行のIoT機器の開発が試せるマイコン「kinoma Create」、いよいよ日本に登場! #ldnews news.livedoor.com/article/detail…

robo8080さんがリツイート | RT

今月号のジュニア・コーナは,Bluetoothデータ・ロガーを製作する準備として,3大定番シリアルUART/SPI/I2C通信モジュールを紹介しています.
kumikomi.net/interface/samp…

robo8080さんがリツイート | RT

パワレポ1月号は明日29日発売! 紙版をご購入いただいた方は無料で電子版もダウンロード可能です。電子版のみでOKな方、一部ストアでは11/29~12/5は【特別価格700円】で販売中! 毎月700円で読める月額プランもあります。詳細は⇒book.impress.co.jp/books/11141101…

robo8080さんがリツイート | RT


11月27日(木)のつぶやき

2014年11月28日 | 日記

@pgate1 SBDBTの1.27mmピッチ版というのを試作中ですが、良かったら使ってみますか? pic.twitter.com/9DxELrLV2v

robo8080さんがリツイート | RT

ぬーん。FlashAirで遊んでます。
フルサイズSDソケットがなかったので航空電子のL型コネクタにレシート挟んで代用w pic.twitter.com/7LnveDz6bK

robo8080さんがリツイート | RT

BLE Nano小さい。技適マーク入ってる。こいつもハンダ付けしないとだな。 pic.twitter.com/CLVV0U0dra

robo8080さんがリツイート | RT

【完全手作りコンピュータ】
絵がでた。7月にブレボで確認した回路をそのままPCBに移植しただけなので大きな失敗は無し。
(画像はブレッドボード版が出力、本物はまだ画像信号生成回路しかハンダ付けしていないのでランダム模様しか出ませぬ) pic.twitter.com/1DAhvudFhW

robo8080さんがリツイート | RT

できた。LEDをブラウザで制御。#flashair pic.twitter.com/t8ET1xYo8E

robo8080さんがリツイート | RT

あくまで個人的なおススメのSDカードスロット。
uk.farnell.com/multicomp/412d…

robo8080さんがリツイート | RT

昔関わったプロジェクトで、BSアンテナのパラボラに100kHzいけるツイータをつけて超音波出すと、10m以上先でも、頭にダイレクトにぐっとくる超音波ビームがつくれることは検証済である。<50m先くらいまで測定できる超音波測距

robo8080さんがリツイート | RT

【難病患者のiPS細胞 遺伝子修復し正常な細胞に】筋肉が徐々に衰える筋ジストロフィーの患者の細胞からiPS細胞を作り、最先端の技術で遺伝子の異常を修復したうえで、正常な筋肉の細胞を作り出すことに、京都大学の研究グループが成功しました。nhk.jp/N4GX5fZA

robo8080さんがリツイート | RT

“Koshianを使ってみる | Natural Days” htn.to/7vSfAV

robo8080さんがリツイート | RT

「怪奇大作戦 ミステリー・ファイル」地上波で再放送!
12月16日(火)
 午前2:20~(第1話)「血の玉」
 午前3:05~(第2話)「地を這う女王」
12月17日(水)
 午前2:15~(第3話)「闇に蠢く美少女」
 午前3:00~(第4話)「深淵を覗く者」

robo8080さんがリツイート | RT

Raspberry Piで、bluezをビルド中。結構な時間がかかる。これ。 elinux.org/RPi_Bluetooth_…


うお~これはいいなー

自炊いらず! TSUTAYA、紙の本を買うと自動で電子書籍もダウンロードされるサービス開始 - ねとらぼ nlab.itmedia.co.jp/nl/articles/14… @itm_nlabさんから pic.twitter.com/HhVGE3ByJZ

robo8080さんがリツイート | RT

bluez、無事ビルドが通ってインストールもできた。次はnobleのインストール。


あぁ、nobleのインストールはNG。bluez5-devが別途必要なのかな。


bluez-5.4はNGだったので、bluez-4.101 でやり直したらnobleインストールできた。github.com/sandeepmistry/… RT @robo8080 あぁ、nobleのインストールはNG。bluez5-devが別途必要なのかな。


Raspberry Pi で、BLEの実験。とりあえずhcitoolでkoshianを検出するところまでは動いた。nobleはまだ動かせていない。 pic.twitter.com/dpsrBtRGVc


Raspberry Piで、BLE + node.js + noble やろうとしているが、動作環境を作るのが結構めんどう。Edisonだと動かすまで1時間もかからず簡単だったのに。


FlashAir 簡易GPIO Breakoutの作り方
素材:akizukidenshi.com/catalog/g/gK-0…
チップ抵抗を全て取り外す。
5pin(CLK)をスルーホール前でカット
8pin(DAT1)とR7のパットをジャンパー
9pin(DAT2)とR4のパットをジャンパー

robo8080さんがリツイート | RT

FlashAir、アクセスポイントモードだとアレなんで、既存の無線LANに参加してもらうステーションモードに切り替えるには、このページの「 設定ファイルを直接編集する」を参考。ちなみに設定ファイルを不可視解除しても問題なし。
flashair-developers.com/ja/documents/t…

robo8080さんがリツイート | RT

Youtubeにアップしてた僕のロボットアームに影響を受けた高校生が作ったとのこと。純粋に凄い。そして彼の今後の成長に期待。 youtube.com/watch?v=rATgGP…

robo8080さんがリツイート | RT

メモ: LEGO Mindstorms EV3 API, Windows 8, Windows Phone 8, Desktop and you! channel9.msdn.com/coding4fun/blo…

1 件 リツイートされました