head

2017年10月30日月曜日

温度/湿度/気圧読み上げを追加しました。 Google Home +IoT連携(2)


前回に続いて Google Home関係となります。
複数のBLE子機と、Google Home miniの連携(拡張機能)で
温度/湿度/気圧のを含む、室内のセンサー値を読み上げています。

*) APIの配置や、通信方法は前回と同じです。
dialogFlow +自作api



# 動画
前回と同様で、ショートカットを登録して、
短い単語で、起動できるように設定しています。



1台目:温度/湿度/気圧
2台目:温度
を 音声出力。



# 追加した、BME280 搭載デバイス
プロト基板で、仮配線ですが。
電池(二次電池)を 基板の上に搭載して、電源供給しています。
5V昇圧回路も使用。




*) 基板の右側に、bme280 ( 秋月さんモジュール )




# 配線の参考
http://knaka0209.blogspot.jp/2017/07/raspi-7.html



# 前回同様、グラフの表示も音声出力と並行して 可能です。
thingSpeak



field5, 6,7 : 1 台目
field1 : 2台目



# code --arduino IDE
BLE driver ( 子機 )
https://github.com/kuc-arc-f/RN4020_sv2_0_9_3_bat1_bme

*1 ) BLE gatewayも、前回と同じです。
追加したデバイス分の、送信処理を追加した程度

*2) 子機は、BLE以外(wifi 機器 etc )でも問題ありません。
クラウド連携でデータ出力可能であれば、home側から参照できます。



# 関連の記事
Google Home +IoT連携 ,センサー値の読み上げ機能
http://knaka0209.blogspot.jp/2017/10/gHome-1.html




#




2017年10月25日水曜日

Google Home +IoT連携 ,センサー値の読み上げ機能




Google Home関係となります。
Google Home miniでの拡張機能で、dialogFlow/ Fulfillment
のwebhook 経由で、外部APIから IoT更新のセンサー値データを読み込みます。

先人さまの、記事を参考に機能を追加しました。
Webhookは、今回はappEngine(GAE) 使いました。
Google以外のクラウドでも多分よさそうです。

*) 先日 Home mini 実機を入手したので、基本機能も良く理解していませんが、
少しづつ調べたいと思います。



# thanks/ 参考

自然言語処理を容易に実装できるDialogflow(旧:API.AI) を使ってみる
https://qiita.com/flatfisher/items/76bc86b65e5f2150a1a0

GoogleHomeをDialogflow(旧:API.ai)でスプラトゥーンアシスタントにする
https://qiita.com/tak_km/items/c06f45c6692dceb9258d

手順としては、
dialogFlow で、 Entity, Intents 等を設定しておき、
Fulfillment で、 webhook を指定
シミュレータでテスト、みたいな流れでした。



# 概要






# 動画
指定場所の、温度センサー値読み出し。


*) テスト版で、テストアプリの接続確認の質問出てます。
申請すれば、確認承認後は出ないかもしれません。



# Code ,python (utf-8 )
webhook.py


データ保存クラウドの、レスポンスの参考は下記です

{"temperature":"24","humidity":0}


Home側から呼ばれた時、
最新の、センサー値を出力する必要があります。

# dialogFlow のJSON ダンプを追加しました。2017/10/26





# IoT側
子機は省電力版の BLE(arduino) + BLE gateway使用していますが、
クラウド側にデータ保存できれば、他の機種でも問題ないと思います

参考:
BLE gateway 機能:
http://knaka0209.blogspot.jp/2017/08/nanoPi-4.html

BLE子機:
http://knaka0209.blogspot.jp/2017/09/RN4020-4.html



==== Update:2017/10/26  ====
動画の追加:複数のセンサー対応。


会話の内容(例)
1) センサーをチェック (音声入力)

2) Home (音声出力)
ok,リビングの温度は、24度です。
玄関の温度は、22度です。
センサー値の平均は、23度です。
現在の時刻は、11時45分です。

*)少し長くなりましたが。
平均値の計算、時刻の追加は オプションです
テスト版は同じです。

==== Update:2017/10/27 =====
Home対応と、グラフ表示機能を追加しました。
2箇所のセンサーのログの監視が可能です。(PC ,mobile )
field1: 1台目
field4: 2台目

異なるクラウドサービス (thigSpeak )にも、
データ送信機能を追加しています。



*) グラフの最新値は、Homeの音声出力する値と
同一になります。

==== update :2017/10/30 ====
補足、ショートカットの利用 (ご参考まで )
一般的な話しですが , Homeアプリのショートカットを使うと、
テストの追加したアプリも少し楽になりました。
テスト版モードに切り替わる点は、おなじですが。
音声入力が楽になります。下記を登録しておきます。
1)
テスト
内容、テスト用アプリにつないで、
2)チェック、intentsで定義した文章
内容、センサーをチェックして

# 入力、
OK,Google テスト
チェック

1で、テスト接続
2で、実行





動画


==== =====







2017年10月3日火曜日

micro:bitでIoT ,mbed編




BBC micro:bit 関連になります。
教育用らしいのですが、国内でも
購入できるようになったようですので購入してみました。

BLE使用して、前回の複数Beacon対応の
BLE Hub( gateway)経由で、クラウド送信までテストしてみました。



#部品
Micro:bit
http://akizukidenshi.com/catalog/g/gM-12513/

Soc: Nordic nRF51822
32-bit ARM Cortex M0 processor (16MHz)
16kB RAM
256kB Flash


#開発環境
複数ありそうですが、
今回は、mbed使いました。
https://os.mbed.com/


# thanks /参考のページ
https://os.mbed.com/platforms/Microbit/



#サンプル

1 ) 変数の送信。
https://gist.github.com/kuc-arc-f/36a919dace241e9ac46f87103cfebed8



*) Gap Profile サンプルを参考にしています。 advertising 送信
https://os.mbed.com/teams/Bluetooth-Low-Energy/code/BLE_GAP_Example/

2 ) adc で、LM60BIZ センサー値を送信。


adc読み込み部分:
https://gist.github.com/kuc-arc-f/901ace15833ebf6dfc9fe2d16e9b97bd


adc は、誤差が大きかったです。(P0 )
取得値= 623mV
実測(テスタ) = 585mV
誤差 = 38mV
*) 使えないかも。。センサによっては


*) mbedからのpinですが、ボードのピン番号と違うようでした。
検索した記事
BBC micro:bit PinNames.h contains pin names that do not match the micro:bit pins
https://github.com/ARMmbed/mbed-os/issues/2713
ページ内のピン対応関係の記載(ヘッダファイル)
https://github.com/lancaster-university/microbit-dal/blob/master/inc/drivers/MicroBitPin.h




本体のピン番号




# BLE hub(gateway )

random address を使うようで、public address 以外も
scanできるように修正

https://github.com/kuc-arc-f/ble_gateway_sv2_mbit


====update:2017/10/04 ====
random address(BD アドレス)について補足
異なるデバイスでrandom addressが重複する場合は、誤作動が想定される為、
対策を検討する必要する必要があります。
例として旧版のble_gateway_sv (https://github.com/kuc-arc-f/ble_gateway_sv )
は、データ内にデバイス名(ID)を格納しデータ管理を行える設計です。
追加デバイスに対して、重複しないデバイス名を決定する必要があり、
BDアドレスを使用しません。

====update:2017/10/04 ====
# 消費電力を測定しました、5Vライン
BLE Gap送信: 14.3 mA



*)[参考] hello world (UART 出力)は、17.3 mA
==== ====







# 関連
BLEハブ機能: UPDATE, NANOPI BLE GATEWAY SERVER アドレス指定
http://knaka0209.blogspot.jp/2017/08/nanoPi-4.html

# 関連のまとめ
BLE -IOT関連まとめ
http://knaka0209.blogspot.jp/2017/07/BLE-matome.html




#



google colaboratory お試し編 、GPUも使える機械学習の環境構築

前回続き、機械学習の関連となります。 開発環境まわりの内容となり。先人様の情報を元に調査しました。 google colab(google colaboratory) を試してみました。機械学習系の いくつかのライブラリがインストール済みで、 クラウド上で、ある程度機械学...

AD-parts

Shop
Bluetooth搭載
ベース基板

Social