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 で音声ファイル作成…

OpenBlocks IoT BX1 で SensorTag のデータを AWS IoT に送信する

ぷらっとホームの IoT ゲートウェイ OpenBlocks IoT BX1 を試す機会があったので、SensorTag のデータを BX1 から AWS IoT に送信する処理を試してみました。 openblocks.plathome.co.jp 初期設定 まずは BX1 の初期設定を行います。付属のUSBケーブルで BX1…

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 に送信して可視化してみたいと思い…

Raspberry Pi Zero W を USB OTG でセットアップ

先週、国内でも発売になった Raspberry Pi Zero W を運良く購入することができたので、セットアップしてみました。 www.switch-science.com Raspberry Pi Zero W は USB On-The-Go でのセットアップが可能なようなので、micro SD カードだけ買い足して、手持…

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 メッセージブ…

Raspberry Pi を SORACOM Beam から AWS IoT に接続する

前回の記事で Raspberry Pi を AWS SDK を使って AWS IoT に接続してみましたが、今回は SORACOM Beam 経由で AWS IoT に接続してみたいと思います。 soracom.jp SORACOM Beam はデバイスからの接続先の設定やプロトコル変換処理をオフロードできるサービス…

Raspberry Pi を AWS IoT に接続する

今回はRaspberry PiをAWS IoTに接続してみたいと思います。AWS IoTとは簡単に言うと、IoTデバイスをAWS上のプラットフォームに登録しておき、デバイスの状態を記録するとともに、複数のデバイス間やデバイスとAWSサービス間の通信のハンドリングを行うことが…

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で挑戦しました…

Raspberry Pi + SORACOM Air セットアップ

前からRaspberry PiやArduino等に興味はあったものの自分では試せていなかったのですが、先日 IoT Technology Conference if-up 2017 で 3G SIM の USBドングルをいただいたので、これを機に自分でもRaspberry Piを購入して色々と試してみることにしました。…

ifup されてきました(if-up2017に参加してきました)

先日ソラコムさん主催の IoT Technology Conference if-up 2017 に行ってきました。ifup というのはLinuxでネットワークインタフェースを有効にするためのコマンドで、参加者それぞれの IoT Technology に関するインタフェースをUPしてほしいということでカ…

各種パラメータ最適化手法の実装(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 …