Ruby

OpenBlocks IoT BX1 から Ruby で BLE デバイスにアクセスする

以前の記事で OpenBlocks IoT BX1 の WebUI から設定を行うことで、 SensorTag のデータ取得を行いました。 blog.akanumahiroaki.com SensorTag は BX1 のサポート対象になっているため、 WebUI からの設定のみでセンサーデータを読み取ることができていまし…

Intel Edison から JRuby で Google Calendar のスケジュールを Amazon Polly に喋らせる

Edison 上で Java の既存ライブラリを Ruby から使ってみたいというケースがあったので、 JRuby を試してみました。前回のスケジュールリマインダーの Amazon Polly へのアクセス部分を JRuby から AWS SDK for Java を使う形に変更してみます。 jruby.org J…

Intel Edison から Google Calendar のスケジュールを Amazon Polly で喋らせる

Intel Edison の環境を触れる機会があったので、Edison上でスケジュールリマインダーを作ってみました。 software.intel.com やったこととしては、 Google Calendar API でスケジュール情報を取得 開始10分前の予定があれば Amazon Polly で音声ファイル作成…

SensorTag のデータを Amazon Polly で読み上げる

前回の記事では SensorTag で取得した値を AWS IoT に送信して、照度の値によって LED を点灯したり、SNSからメールを送信したりしてみましたが、今回はさらに Polly で照度の値を読み上げる音声ファイルを生成し、Raspberry Pi で再生する処理を追加してみ…

SensorTag のデータを AWS IoT から CloudWatch と LED で可視化する

以前の記事(TEXAS INSTRUMENTS の SimpleLink SensorTag CC2650 から BLE でデータ取得)で SensorTag から BLE でデータを取得できるようになったので、今回はそのデータを AWS IoT に送信し、Rule によって CloudWatch に送信して可視化してみたいと思い…

TEXAS INSTRUMENTS の SimpleLink SensorTag CC2650 から BLE でデータ取得

TEXAS INSTRUMENTS の SimpleLink CC2650 というセンサータグを買ってみたので、Raspberry Pi から BLE でセンサーデータを取得してみたいと思います。 www.tij.co.jp SimpleLink SensorTag CC2650 は気温、湿度、気圧、加速度、ジャイロ、磁気、照度などの…

SORACOM Beam から Ruby で AWS IoT の Device Shadow を更新する

前回 Raspberry Pi を SORACOM Beam 経由で AWS IoT に接続できるところまで確認したので、今回は AWS IoT の Shadow を使って状態を管理するところまでやってみたいと思います。 AWS IoT メッセージブローカーに Pub/Sub する まずは AWS IoT メッセージブ…

D-BusからBLE Advertisementを送信する

今まではRaspberry PiをBLEのCentralとして他のデバイスへの接続などを試していましたが、今回はPeripheralとしてAdvertisementを送信してみました。 PythonでAdvertisementを送信している例があったので下記サイトを参考にさせてもらいました。 qiita.com …

D-BusからBLEデバイスのNotificationを受け取る

前回の記事で、Raspberry Pi上でRuby(irb)からD-Busを使ってBLEデバイスに接続し、値を読み取るというところまでやりましたが、今回はPeripheralからのNotificationを受け取って値の変化を検知するところまでを実装してみました。前回はirbから試してみま…

Raspberry Pi 3でD-BusからBLEデバイスにアクセスする

Raspberry PiからBLEデバイスへの接続についていろいろ調べている中でD-Busについても調べたので、D-BusからBlueZを使ってBLEデバイスにアクセスしてみました。D-Busについては下記サイトでわかりやすく解説されていて、とても参考になりました。 www.silex.…

Raspberry Pi 3でBluetoothデバイス接続

Raspberry Pi 3 からは標準でBluetoothモジュールが搭載されているということで、他のデバイスとの接続を試してみました。 BlueZインストール BlueZはオープンソースのBluetoothプロトコルスタックで、Linux上でBluetooth, BLEを扱う場合には標準的に使われ…

超音波センサー + SORACOM Beam でSlack通知

IoTエンジニア養成読本のハンズオンのラスト、距離を測定するための超音波センサーの測定結果を元にした情報をSORACOM Beamを経由してSlackに通知する処理を実装してみました。 gihyo.jp 超音波センサーの接続 まずは超音波センサー(HC-SR04)を下記の図の…

温度センサーデータをSORACOM Harvestで可視化する

引き続きIoTエンジニア養成読本のハンズオンの内容を実践中です。今度は温度センサーのデータを読み取って、そのデータをSORACOM Harvestへ送って可視化する処理をRubyで実装してみます。 gihyo.jp 温度センサーの接続 まずは下記のように温度センサー(DS18…

SORACOM Air のメタデータとLEDを連動させる

引き続きIoTエンジニア養成読本のハンズオンの内容を実践中なわけですが、今度はSORACOM AirのメタデータとLEDの点灯を連動させてる処理をRubyで実装してみます。 gihyo.jp ユーザーコンソールからの設定 メタデータサービスを使うにはまずユーザコンソール…

Raspberry Pi + RubyでLチカ

前回でRaspberry Piの初期設定がだいたい終わったので、引き続きIoTエンジニア養成読本のハンズオンの内容をベースにLチカ(LED点滅)をやってみました。 gihyo.jp 書籍の例ではPythonが使われていますが、そのままやっても面白くないのでRubyで挑戦しました…

各種パラメータ最適化手法の実装(SGD, Momentum, AdaGrad, Adam)

今回は「ゼロから作るDeepLearning」で紹介されている各種パラメータ最適化手法を、書籍のPythonのサンプルコードをベースに、Rubyで実装してみました。 www.oreilly.co.jp 各手法のロジックについては書籍で説明されていますので割愛します。また、前回の記…

ニューラルネットワークの誤差逆伝播法による学習アルゴリズムの実装

今回も引き続き「ゼロから作るDeepLearning」をベースに、前回数値微分で実装した学習アルゴリズムの誤差逆伝播法版をRubyで実装してみました。計算の内容等は書籍を参照いただくとして、Rubyで実装した際のポイントを説明していきたいと思います。 www.orei…

ニューラルネットワークの数値微分による学習アルゴリズムの実装

今回も引き続き「ゼロから作るDeepLearning」をベースに、数値微分による学習アルゴリズムをRubyで実装してみました。 www.oreilly.co.jp 最初に書いておくと、今回の数値微分での実装は、実装はシンプルなもののその分処理に時間がかかり、手元の環境では繰…

ニューラルネットワークの推論処理

前回に引き続き書籍「ゼロから作るDeepLearning」をベースに、前回NArray配列として扱うようにしたMNISTデータに対して推論処理を行うニューラルネットワークを実装してみます。 www.oreilly.co.jp ニューロンの構成は下記の通りです。 入力層: 784 # 28 x 2…

MNISTデータセットをNArray配列として扱う

RubyからMNISTのデータセットを扱えるように、書籍「ゼロから作るDeepLearning」のコードをベースにMNISTのデータセットをNArray配列としてロードするコードを書いてみました。 www.oreilly.co.jp コード全体 まずはコード全体を掲載します。 require 'open-…

3層ニューラルネットワーク実装

書籍「ゼロから作るDeepLearning」で紹介されている3層ニューラルネットワークをRubyで実装してみました。 www.oreilly.co.jp サンプルコード全体 まずは実装したコード全体を掲載します。 # 3層ニューラルネットワーク実装 # 各層のニューロン数は下記の通…

NumPyとNumo::NArray, Matrixでの演算の比較

最近「ゼロから作るDeepLearning」を読み始めました。 www.oreilly.co.jp この本ではプログラミング言語としてはPythonを使用していて、配列や行列の演算にはNumPyが使われています。第1章ではNumPyでの基本的な演算について説明されているのですが、その内…

ベイズ推定による回帰分析のコード

今回は下記書籍のベイズ推定による回帰分析のコードを Ruby で実装してみたいと思います。今回で下記書籍のコードの置き換えは終了です。 www.amazon.co.jp サンプルコードはこちらで公開されています。 github.com 単位行列の生成 Python版では numpy.ident…

ベイズ推定による正規分布の推定のコード

今回は下記書籍のベイズ推定による正規分布の推定のコードを Ruby で実装してみたいと思います。 ITエンジニアのための機械学習理論入門 https://www.amazon.co.jp/IT-ebook/dp/B016Q22IX2/ サンプルコードはこちらで公開されています。 github.com スクリプ…

混合ベルヌーイ分布による手書き文字分類のコード

今回は下記書籍の混合ベルヌーイ分布による手書き文字分類のコードを Ruby で実装してみたいと思います。 ITエンジニアのための機械学習理論入門 https://www.amazon.co.jp/IT-ebook/dp/B016Q22IX2/ サンプルコードはこちらで公開されています。 github.com …

k平均法による画像の減色処理のコード

今回は下記書籍のk平均法による画像の減色処理のコードを Ruby で実装してみたいと思います。 ITエンジニアのための機械学習理論入門 https://www.amazon.co.jp/IT-ebook/dp/B016Q22IX2/ サンプルコードはこちらで公開されています。 github.com 画像ファイ…

ロジスティック回帰のROC曲線のコード

今回は下記書籍のロジスティック回帰のROC曲線のコードを Ruby で実装してみたいと思います。 ITエンジニアのための機械学習理論入門 www.amazon.co.jp サンプルコードはこちらで公開されています。 github.com データセットの更新 Python版では計算結果の確…

ロジスティック回帰とパーセプトロンの比較コード

今回は下記書籍のロジスティック回帰とパーセプトロンの比較のコードを Ruby で実装してみたいと思います。 ITエンジニアのための機械学習理論入門 https://www.amazon.co.jp/IT-ebook/dp/B016Q22IX2/ サンプルコードはこちらで公開されています。 github.co…

パーセプトロンによる二項分類のコード

今回は下記書籍のパーセプトロンによる二項分類のコードを Ruby で実装してみたいと思います。 ITエンジニアのための機械学習理論入門 https://www.amazon.co.jp/IT-ebook/dp/B016Q22IX2/www.amazon.co.jp サンプルコードはこちらで公開されています。 githu…

推定量の一致性と不偏性の確認コード

今回は下記書籍の推定量の一致性と不偏性の確認のサンプルコードをRubyで実装してみたいと思います。 ITエンジニアのための機械学習理論入門 | 中井悦司 | 工学 | Kindleストア | Amazon サンプルコードはこちらで公開されています。 github.com 算術平均メ…