Web Bluetooth API を使ってBLEデバイスをブラウザから操作する

WebBluetoothAPI を利用すれば、ブラウザからBluetoothLE(BEL)デバイスを操作できるようになります。

従来であれば、BLEデバイスを操作するには iOS や Android のアプリケーションを用意する必要がありましたが、
このAPIを利用すれば、javascriptのみでブラウザからBLEデバイスを操作できるようになります。
基本的には下記の5ステップで実装をしていきます。

  1. BLEデバイスをスキャンして探す
  2. BLEデバイスに接続する
  3. BLEデバイスの Service オブジェクトを取得する
  4. Service オブジェクトから Characteristic オブジェクトを取得する
  5. Characteristic オブジェクトのRead/Write でデバイスを制御する

上記5ステップと、接続の解除、デバイスからの通知の受け取り、の7項目について説明していきます。

続きを読む

Elixir/PhoenixのChannelにRaspberry Pi(node.js)から接続してみる

Elixir/Phoenixアプリケーションが動いているサーバにRaspberry PiからWebSocketでの接続をしてみます。
PhoenixにはChannelという便利な機能があるので、今回は特にこのChannelに接続する方法を書いていきます。
Raspberry Piの方はnode.jsから利用します。
PhoenixのChannelを外部のアプリケーションから利用する場合にはphoenix-jsというパッケージを利用すれば簡単に出来ます。
www.npmjs.com

続きを読む

新元号までの平成カウントダウンページを作ってみた(S3 + CloudFront + Route53 + ACM:SSL対応)

2019年5月1日より新元号になる、との正式報道がありました。
http://news.tbs.co.jp/newseye/tbs_newseye3234010.html

平成元年生まれの私としては、非常にインパクトのあるニュースです。そこで、名残惜しい平成との別れを見守るため、新元号までのカウントダウンページを作ってみました。

平成カウントダウン
https://heisei.today/


f:id:tky_bpp:20171208162520p:plain:w300

続きを読む

Amazon Dash Buttonをハックしてテスラ・モデルSを操作する

つい先日、日本でもAmazonのDash Buttonが利用できるようになりましたが、さっそくハックしたという記事が話題になっています。

Amazon Dash ButtonをただのIoTボタンとして使う - Qiita
Amazon Dash Buttonを(正しくない方向で)使ってみた - Qiita
難病を患う娘のために、父は「Amazon Dash Button」をハックした|WIRED.jp

サントリー天然水 Dash Button

サントリー天然水 Dash Button

ハックする時のライブラリとしてはこちらが多く利用されているようですね。
GitHub - hortinstein/node-dash-button: A small module to emit events when an Amazon Dash Button is pressed

続きを読む

Dockerコンテナ内のMySQLサーバ接続時のエラーに対応する > "ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0"

ローカル上のアプリケーションからDockerコンテナ内にあるMySQLサーバに接続する箇所でエラーが発生していました。
そこでターミナルから直接MySQLサーバに接続できるか確認してみます。

$ mysql -u root -h 127.0.0.1 --port 23456 devdb    
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0

むむ、どうやら繋がらない模様。

続きを読む