tottu22 エンジニアブログ

tottu22’s blog

エンジニアの日常をつづっていきます

スマートロックを家に設置してみた

めざせスマートホーム

 

家を少しIoT化していこうと思っていたので、まず最初は、スマホで遠隔で鍵の開け閉めが出来るakerunをつけたいなーということで購入しました!

 

 

Qrio Smart Lock

 

 

 

家の鍵をいつもカバンから出して、私の場合はキーケースに入れてるため、キーケースを開けてと、割と面倒に感じてたんです。

 

家を新築したタイミングで、もともとそういうのを備え付けているドアにすればよかったのですが、時既に遅し。もっと早くに気づけばよかった。

 

ということで、普通のドアの鍵に、カポッとハメるだけで、スマホから鍵の開け閉めができるこれを購入したわけです。

 

Amazonで購入したので、実物は届くまでわかりませんでした。実際手に取ってみると、かなりの重厚感。※大きさもそこそこあるので、これから購入される方は、事前に家の扉にちゃんとハマるかどうかチェックしておいた方がよいです

f:id:tottu22:20171205180758j:plain

 

説明書を見て初めて知ったのが、本製品は縦向きだけでなく、横向きでもつけれられるということ。ちょっと安心しました。

縦でも大丈夫だろうーと思って、購入したものの、届いたものをドアに当ててみたら、ドアの内鍵部分がギリギリで横でもいいかなという感じでした。

 

実はこれをドアにつけるのは、付属の両面テープになります。両面テープがもしかしたら横向きにすると耐えられなくなったら嫌だなと思い、最終的には縦向きにつけました。

 

鍵のサムターン部分も、サイズがSMLの三種類のアダプタがもともと付属されてくるので、だいたいの鍵が対応できると思います。高さ調節する底上げ部品みたいなのもついているので、安心です。

 

手順は簡単で、

  1. qrioスマホアプリをインストール
  2. 認証キーを払い出し
  3. 取り付けるドアのサムターン部分にあうようにパーツを選んで
  4. ドアに両面テープで取り付け
  5. Bluetoothスマホと連携させて鍵の開け閉め確認

でおしまいです。

 

キーのシェアもできるので、家族にシェアしました。

キーは有効期限も設定できるので、一時的な来客にも対応できます。Airbnbとかでも使ってるみたいですね。たしかに便利!

 

そのほかオートロック機能、2デバイス取り付けた場合の同時開け機能、手ぶらロック解除機能などもついています。

Qrio HubというWiFi接続するハブを別途購入すると、インターネット越しで鍵の開け閉めができます。鍵の閉め忘れを外出先から確認して、閉めることができます。

 

 

 

さらにAmazonEchoとの接続もできるようなので、音声認識で鍵の開け閉めもできそうです。

 

f:id:tottu22:20171205180906j:plain

 

ここまでやれたら、すごく快適ですね。

AmazonEchoは購入予定なので、QrioHubも買おうかな~。

 

 

 

 

 

 

トランスコスモス AIセミナーに参加してきました

トランスコスモス社さんが開催するAIに関するセミナーに参加してきました。

AI・機械学習 の最前線を「体感」する金融・通信・通販などの会員ビジネスにおける新規獲得・解約防止のためのビッグデータ活用術(東京)

 

トランスコスモスさんといえば、最近俳優の山田孝之を役員に迎えて会社を立てたというので話題になりましたね。

www.google.co.jp

 

その他にもサッカーJ2でみごと今シーズンリーグ準優勝で自動昇格を決めたV・ファーレン長崎のホームスタジアムのトランスコスモススタジアムでも有名です。

 

コールセンター業が主体となっているトランスコスモスさんですが、実は最近、AIにも力を入れ始めたようで、何となく気になっていました。

 

たまたま今回ご縁があり、セミナーをご紹介頂けたので参加してきました。

 

さて、今回の内容ですが、当社が代理店で扱っているDataRobotの製品紹介とそれを有効に使うためのDMP(データ管理プラットフォームの略)のDECodeの説明でした。

www.datarobot.com

 

 

www.trans-cosmos.co.jp

本セミナーは写真撮影が禁止されていたので、スライドの写メが撮れないのが残念ですが、後日スライドが公開されるとのことです。

 

DataRobotは、クラウド版とオンプレ版があるデータ解析ツールで、同様なものはいくつか既に見てきました。クロスコンパス社が出しているM-IXがすごく近いと感じました。

www.xcompass.com

現時点ではM-IXよりだいぶ完成されているという印象です。日本の会社も頑張ってほしいです。

 

以前人工知能EXPOがビッグサイトで開催された時に少しだけ、新日鉄住金ソリューションズのブースでDataRobotは見たのですが、その時よりわかりやすくなっていました。

 

データをアップロードして、自動的にカテゴリ項目か、数値系項目か判別されて、いくつかのアルゴリズムで学習を並列でやってくれます。

データはローカルのファイルだけでなく、直接ODBCで接続することももちろん可能です。

 

並列でやった結果のうち精度の高いものを選ぶのですが、アンサンブル学習のようなこともそこからできるとのこと。素晴らしい。

 

出来上がったモデルは、ボタンのクリックだけでWEBAPIとしての公開も簡単にできてしまい、pythonでの呼び出しのコードもアクセスキーが書かれた状態で用意されているので、それをそのまますぐに使うだけでいけそうです。

 

またデータの可視化も、ほかのBIツールとの連携も可能とのことで、色々なクラウドサービスとも連携を今後増やしていくことを予定しているそうです。

 

とても便利なDataRobotですが、お値段が結構するんですよね。まだ詳細な案内は受けてませんが。ちゃんと使いこなせれば、それだけの価値はあるものだと感じますので、もう少し検討してみたいと思います。

AWS S3にpythonからファイルアップロードを早朝からやりたくなって

はやく起きた朝は

朝4時に目が覚めまして、昨日は土曜日で子供のサッカーの試合があって、ほとんどエンジニア的な活動ができなく、何かやらなきゃなと

 

モヤモヤしていたら、朝4時に目が覚めてしまったので、

 

よし今から1時間くらいでパッとできることやってみようと思い、Qiitaの記事を書きました。

やった内容は、pepper が見た画像を何かのクラウドストレージにタグづけしてアップロードしとくと、何か役に立つだろうと(本当に使えるかどうかは別として、、そもそも顔認証は特徴だけが管理されているというのがプライバシーを気にしなくてよいというメリットがあるのですが、変な学習されてもゴミとなるので、あとで消せるというメリットもあるはず)

f:id:tottu22:20171203084619j:plain

 

さっそくやってみるが、準備不足でエラー

自分のMacbookPythonでboto3を使ってアップロードをしてみると、、

あれ?credentialのエラーが起きる。。

家の端末では、これまでAWSへの操作をやっていなかったらしくawscliすらインストールされてませんでした。

 

おお、まさかここから設定しなきゃいけないとは、

 

でも1時間くらいで終わるでしょ

 

ということで、

pip install awscli からはじまり、credentialを設定して、boto3を使ってファイルアップロードまでをQiitaに簡単にまとめときました。

 

qiita.com

 

Credentialは面倒

aws のcredentialって、AWSコンソールからだとAccess Tokenしか見えなくて、secret keyが初回しか見えなくなって、初回見逃してダウンロードし忘れたら、また払い出すという仕様がどうも好きになれません。

まあ、基本credentialの共有はしないものみたいだし、定期的に変えるのが理想みたいなので、その仕様が一番セキュリティ的には良いと思うのですが、

いろんな端末からawsコマンドを使ったりするので、前のやつを消して新しいのを払い出すと前のがもう使えなくなって、再度設定しなおしって面倒ですよね。

 

まあ、でも不正利用されたら困りますので、我慢します。

IAMをもっとうまく使いこなせるようになりたいです。

 

あとはpepperにいれるだけ

pepperはpepperで面倒で、pepperでpythonライブラリをいれるのは、ライブラリのフォルダーをアップロードしなきゃいけないこと。watsonもconversationをwatson-cloud-developerを使うために、ライブラリをアップロードしました。

boto3 もいれなきゃですね。

pepperから顔を覚えたよ、通知機能を実装してみた

お疲れ様です。

今日は以前qiitaで書いた記事を実用的にしようと思い、

 

pepperでAzure Cognitive ServicesのFace APIで顔認証が初めての場合に顔登録を行う処理の後にslackにそのpepperで認証させた顔写真を送るという処理を実装しました。

 

そもそもそれをやろうと思ったのが、

pepperがどのタイミングで接客して顔を覚えてるのかが気になったため。

普段は受付に置いているので、私の仕事部屋とは離れたところでpepperはお仕事をしています。

そのため、顔を覚えさせるところまでやってくれるお客さんは果たしているのかとか、リアルタイムで通知が来るので、呼び出し機能とかにと応用できると思いました。

 

実装は本当に簡単で以前書いた以下の記事を参考にやれば、超簡単!すぐできます。

 

qiita.com

 

気をつけなきゃ行けないのが、slackのaccess tokenはアカウントごとに異なること。たしかファイルアップロードのAPIじゃないやつは、どのユーザーとして、postみたいな使い方だったのに、ファイルアップロードAPIはユーザーを変えてらaccess tokenを生成しなければなりません。

 

今回はpepper用にアカウントを作成して、pepperが通知してくれる用のチャネルを作って、そのチャネルに招待してそこのチャネルIDをファイルアップロードAPIのパラメータに指定しました。

 

これで、pepperくんが

〇〇さんを覚えたよー

みたいな通知を顔登録がされる度に写真と一緒に飛ぶようになりました。

一度覚えてしまうと、新しく顔を覚えるルートを通らないので、自分の顔は覚えさせてしまってる都合上、スマホで検索して表示した画像で勉強させてます。

ちなみにこの写真は実際にpepperの目から見た画像でslackに飛んだ画像です。

 

slackには、きたがわ けいこさん の顔を覚えたなー

みたいに通知がきます。

本当にきたがわけいこが来てくれればいいのに。

 

f:id:tottu22:20171201221657j:plain

 

実はスマホのこういう学習でも十分顔の特徴量をAzureは捉えてくれます。

普段近くにいない人とかは、こんな感じで何枚か学習させとけば、いざ生身の人間が来てもちゃんと顔認証できます。

 

 

 

 

Cogbot勉強会に参加して、Cognitive Toolkitをはじめて触る

Cognitive ToolKitって?

お疲れ様です。マイクロソフト本社で開催されたcogbot勉強会に参加してきました。

 

f:id:tottu22:20171201002030j:plain

今日で第9回目を迎えるらしく、これまではMicrosoft cognitive servicesの画像解析や音声解析のハンズオンだったり、Bot Frameworkを使ってチャットボットを作ったりということをしてきたようです。

 

cogbot.connpass.com

 

今回はCNTKとAzure MLがテーマでした。Azure MLは多少触ったことがありましたが、CNTKは触ったことがなかったため、これは絶対ためになるだろうなと思い参加しました。

そもそもCNTKってよく聞くけど、詳しく知らず。

一応調べてみると、

Microsoft Cognitive Toolkit(マイクロソフトコグニティブツールキット)とは、AI技術を利用したディープラーニング(深層学習)ツールキットです。旧称「CNTK」から改名されました。

とのこと。 

簡単にいうとPythonで記述する深層学習などをやるときのライブラリでTensorflow、Chainer、Caffeと同じようなものです。

 

TensorflowとかChainerはやっとかないとなという感覚になるのですが、どうもそれ以外に手を出す余裕がなくて。やるきっかけがないと、なかなかやらないですよね、、、抵抗があったのが、今日やってみて他のライブラリと対して変わらないなと思えるようになりました。

Azure notebookも楽でいいですね。もともとjupyter notebookの環境構築をローカルですることなしにマイクロソフトアカウントがあれば、すぐに使いはじめることができます。

Azure notebookを立ち上げると、cntkを個別にインストールすることなく、もともと入っているようです。

anacondaを立ち上げて、tensorflowを使うときのように

 

pip install tensorflow

 

のようなことをしなくてもすぐにpythonコードで

 

import cntk

 

で使えます。

それからAzure notebookで他の人が立ち上げたプロジェクト画面からクローンするとすぐに自分の環境でコードが動かせます。

Setup CNTK on your machine | Microsoft Docs

 

 

CNTKをAzure notebookでチュートリアルをやりながら学ぶと言った内容で、準備していただいたスライドと説明がわかりやすくてよかったです。

スライドはこちら

www.slideshare.net

 

今回の参加者は比較的CNTKのほうがAzure MLより興味があったようで、

私もAzure MLのほうはまだあまり見れていないのですが、

スライドはこちら

github.com

 

 

まだ詳しいところまでは見れていないので、また明日以降じっくりと復習をしたいと思います。

きっかけって大事ですね。興味ある分野で手をつけれていないところは、こういったハンズオン形式の勉強会に出るのが自分にはあっている なというのがわかりました。

 

Cogbot勉強会、おすすめです。次回以降も参加してみようと思います。

 

AWS Developer アソシエイトに合格する方法

はじめに

昨日(2017/11/27)AWS Developerアソシエイトに無事一発合格してきたので、その報告と勉強方法について残したいと思います。

 

f:id:tottu22:20171128193942j:plain

 

当資格を受験する前に、私は以下二つの資格を取得しました。

 

上記二つの勉強方法については、以下記事を参照してください。

tottu22.hatenablog.com

 

tottu22.hatenablog.com

 

 

最初にソリューションアーキテクトを受けてから、SysOpsアドミニストレーターを受けました。この順番で正解だったと思います。

王道ですよね、自分のポジション的にはディベロッパーを取得しなければというところですが、まずはソリューションアーキテクトは取っておきたいと思ったので。

共に一発で合格し、得点もほぼ同じくらいでしたが、難易度はSys Opsアドミニストレーターのほうが高かったです。

 

試験の難易度について 

私はディベロッパーが一番難易度が高そうだなと警戒して、一番最後に回していたのですが、それほど差はなかったです。実際、Sys Opsアドミニストレーターが一番難しかったかもしれません。

 

すべてのカテゴリで模擬試験を受けたのですが、唯一Sys Opsアドミニストレーターだけが不合格になったので、焦って直前で勉強しまくりました。

 

勉強期間はどのくらい必要か

ディベロッパーはSys Opsアドミニストレーターを取得してから期間としては1ヶ月と少し開く形になりました。本当は覚えてるうちにすぐに受けたほうがよかったのですが、色々とやらなければならないことがたくさんその時期重なってしまい、すぐに受けられない状態に。。

そのおかげで、以前勉強した内容が結構頭から抜けた状態になっていたので、過去の記事でも書いているWEB問題集を三回周ほど解きました。

実際にまじめに勉強したのは一週間くらいだったと思います。

合計勉強時間は20時間くらいだったと思います。

 

WEB問題様をやってる人はわかると思いますが、3周はかなりの労力です。なのでそこそこ勉強しないと受からないってことですよね。

ちなみに、現時点ではWEB問題集はディベロッパーだけ問題集が存在しません。プラチナ契約をしてても、Sys Opsアドミニストレーターまでしかないんですよね、残念です。

それと今回はディベロッパーの範囲で絶対cloudformationとかBeanstalkはでるだろうなと思い、再度ソリューションアーキテクトの資格本をその範囲だけ読み直しました。

 

模擬試験も三日前に受けて、これがかなり重要だと感じました。同じような問題でました。

 

 

おすすめの取得方法 

3つとも受けてみて感じたのは、それぞれ出題傾向が異なるので、ソリューションアーキテクト受かったからといっても、他のカテゴリの資格は合格できないだろうなということ。

難易度に差はそこまではないのですが、全体的にまずは見渡せてたほうが、理解が深まると思うのでソリューションアーキテクトをまずは受けてから、その後に自身の業務にあったカテゴリを選ぶと良いと思います。

全部狙うという人は、まずはディベロッパーを先に受けたほうが勢いに乗れるのかなとも個人的には思いました。

 

さいごに

これでAWS三冠👑になったので、このあとは五冠を目指して頑張りたいと思います。

来月に日本ディープラーニング協会がデータサイエンスの新資格を立ち上げました。

www.jdla.org

 

それをチャレンジしようと思います。知ったの昨日なので、あと二週間くらいしか勉強期間ないので、受かる気がしませんが、勉強することに意味があると開き直っています。

AWSディベロッパー アソシエイト模擬試験に合格

最近忙しくてAWSの勉強できてなかったけど、いよいよ来週月曜が試験なので、そろそろ模擬試験を受けとかないとということで、先程受けましたよ。

 

明日、明後日の土日で追い込みをかけるつもりでいるので、今日のところは問題傾向が確認できれば良くて不合格でもいいや、という気持ちで模試を受験しましたが、

意外といけるもので、70%で合格でした💮

 

Cloudformationは出てくるはずと予想してたとおり出てきたので、その辺は問題ありませんでした。

 

AWS SysOpsアドミニストレーターの時は、模試は全然ダメだったんですけど、ディベロッパーは割といけることに驚きました。

自分の勝手な妄想ではディベロッパーが一番難しいのでは?と思っていたのですが、そうでもないのか?

 

本番を受けてみないことには何とも行けないので、まずは土日に追い込みかけてきっちりと合格したいと思います。

 

自信なかったけど、今日で少し自信つきました。よい結果報告ができるよう本番まで頑張るので、期待してください。