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 …

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…