2019年5月3日金曜日

深センに行ってきた 3/1 (ニコ技深セン観察会&茂ツアー)


ちょっと前の話ですが、2/28から3/3までの4日間、深センへ行ってきました。2日目です。
(ひとまず写真のみアップ、文言はこれから追記します)

本日はバスに乗って工場見学Day

朝の華強北は落ち着いた雰囲気

それにしても都会

高級ブランドのお店もたくさん

朝食はケンタッキーのお粥セット(日本でも欲しい)
50名超の参加者を載せた茂ツアーバス出発
自己紹介タイム

Worldsemiの工場見学前にプレゼンテーションをしていただけるとのこと

会場はホテルの会議室

公式のネオピクが点灯中!

休憩中もディスカッションは続く
自作のネオピク作品を見せ合う

昼食は湖南料理をいただく

見るからに辛い、奥のスイカが救世主

かわいい姿で蛋白なお味

ふわふわ蒸しパン、練乳クリームをつけて食べる

バスで工場のあるエリアへ移動

工場のあるフロアに到着

天井にネオピクが


検査機
高速でチェックしていく

チップマウンター

スロー再生で

バスでElecrowのオフィス&工場へ

注文した基板を現地で受け取り

こちらでもプレゼンテーションをしてもらえました

チップマウンター、部品を下部にセットしている

よく見たらサムスン製でした、さすが幅広い

記念撮影をして解散

工場見学後に地下鉄で高新園駅(Hi-Tech Park)へ

日本で見慣れたブランドのお店も

目的は小米旗艦店
お茶サーバー?

子供向けのスマートスピーカーっぽい

マインドストームっぽい何か

キャラクター推しのスマートスピーカー

mi9 の発売直後だったのでスマホエリアは大混雑

電動歯ブラシ

見かけたSuperdryへ、商品は手の出る価格ではなかった…

DiDi移動で高新園からOCT HARBOURへ

特別な日ではないはずだけど花火が打ち上がる

映画はIMAX

南国ムードって書こうとしたところで南国だったことに気づく

夜でも子供が好きな噴水が全力

やはり「の」が好きらしい
djiの旗艦店がある建物

店内ではデモも実施

デモエリア

景気が良いってこういうことかーという実感

LINEのキャラクターとコラボ?

ブラウンも自然に佇む

スノードーム売ってる

湖の反対側はホテル

ひたすらオシャレスポットが続く

高層ビルを遠方に望む

室外の照明も明るめで歩きやすい

深センに現れた原宿

ちょっと見にくいけどハローキティ

ここにも現れる「の」

奥には高級スーパー

子供のカート好きは世界共通

飲食店の入り口にバッテリーレンタル

夕食は鍋をいただきました

夜遅くても明るい

突然のくまモン搭乗に沸き立つ熊本勢

さらにDiDiで白石洲に寄り道して夜食でおかゆ

深夜にDiDi捕まらない事件



深センに行ってきた 2/28 (ニコ技深セン観察会&茂ツアー)


ちょっと前の話ですが、2/28から3/3までの4日間、深センへ行ってきました。
(ひとまず写真のみアップ、文言はこれから追記します)

前泊
前泊した変なホテル羽田の受付ロボットさん

衣類をドライクリーニングしてくれるマシーン

バスの時間ギリギリに起きたのでコーヒーを飲む時間はなかった
無料バスで羽田空港へ
羽田発香港行き、LCC故に出発ゲートははじっこ
香港エクスプレスはカウンターへパスポートを店に行かないと呼び出しをくらう

朝食は搭乗前にカツカレー、LCC故に食事は有料
LCCなので映画とか見れないけど移動中は本とか読んでれば退屈しない

無事香港空港着、入国ゲートへはバス移動
入国してとりあえずHKDに両替

日本語を見ると安心する

まさかのヨーグルッペ
今後に備えてオクトパスカードを買っておく

何かの展示、アヒルのおもちゃは万国共通か

中国の人は「の」が好きらしいということを後で聞いた
スカイリモは場所が同じなら料金も同じように見えたので、あまり気にせず適当なところに並んで皇崗へのチケットを発券してもらった

スカイリモという乗り合いタクシーで深センへのイミグレがある皇崗へ

無事入国、道路標識も日本と似ていてあまり違和感を感じない
地下鉄の皇岗口岸駅から華強北へは乗換なしで行ける
地下鉄の入り口で人民元を両替しつつ、深セン通を買う

地下鉄で華強北に到着、大都会すぎる

見渡すかぎりのビル 

単純に秋葉原と比較するのは違うなという印象 
街を歩いているのは圧倒的に若い人が多い



看板かと思いきやディスプレイ

熊本で有名なパル玉
自転している

Makeblockのお店が先日まであった模様

麦当労でマクドナルド、テイクアウト用窓口がある

M5Stackオフィス見学
宿を探す
熊本組と合流
エアビー隣人事件

華強北の外れから一枚、歩道も広くて歩きやすい

夕食は豪華北京ダック

茂田さん夜の華強北ツアー

華強北の名所に集まる、夜でも人通りは多い

華強北の遊歩道沿いには自由に弾けるピアノがたくさんある

ピアノを弾く様が絵になる男、岩岡さん






2019年4月1日月曜日

M5StackとAmbientで子供の寝かしつけタイミングを可視化してみた

奥さんが子供を寝かしつけしているタイミングで帰宅しないようにするためにM5Stackと光センサー、Ambientを使ってIoTソリューション(寝かしつけタイミング帰宅回避システム、以下NTKS)っぽいことをしてみました。

NTKSの要件

    1. 自宅(奥さん側)から能動的なアクションは不要にしたい、寝かしつけを開始するときに毎回メールやLINEを送るのは面倒
      →何かしらのセンシングで寝かしつけの開始を自動判定したい
    2. もし子供が触ることがあっても危険でないこと
      →感電しにくい、怪我をしにくいこと
    3. 自分が開発しやすい環境であること
      →Mac OS、Arduino IDEの環境で開発できると嬉しい

    左から右へ、我が家の寝かしつけへ至る流れ

    NTKSを開発運用する上でどんなことを大事にするかリストアップしてみました。前作の光る帽子のときと違って、どこかで展示をするというものでもないので比較的条件は軽めです。とはいえ子供が触る可能性があるので基板むき出しはできるだけ避けたいところです。

    システム構成の検討

    続いてシステム構成を考えます。システムは大きく分けて自宅のセンシングをするためのシステムと、クラウド上での寝かしつけ状態を表示するためのシステムの2つに別れます。

    システム概要(という名のイメージ図)
    寝かしつけをしているかどうかの判別するためにどのような情報を送ればよいかについては、光センサーを部屋に置いてその計測データを分析すればわかるのではないかという仮設を立てました。これは我が家では寝かしつけの開始時に部屋を暗くして、寝かしつけが終われば部屋を明るくしている為です(正確には寝かしつけをしている隣の部屋に光センサーを置いています)。
    そして、光センサーの計測データを分析、表示するにはAmbientというサービスを利用することにしました。


    Ambientは各種センサーの計測データなどIoTデータをグラフィカルに表示してくれるサービスなのですが、Arduino、mbed、Raspberry Piなど様々なプラットフォームで利用できるライブラリやサンプルファイルを提供していて、もちろんM5Stackの開発環境(Arduino IDE)にも対応していることが大きな要因でした。

    下記URLを参考に、Ambientのアカウントとグラフを表示するためのチャネルを開設してライトキーを取得します。

    Ambientを使ってみる

    M5Stask Basic とデジタル光センサーの購入

    M5Stask Basic とデジタル光センサーの購入にはスイッチサイエンスさんを利用しました。下記URLから同じ製品を購入することができます。

    M5Stack Basic

    GROVE - I2C デジタル光センサー

    前作の光る帽子では9軸センサの値を使ってNeoPixelを制御していたのでM5Stack Grayを購入しましたが、今回はデジタル光センサーのみを利用するので、一番構成がシンプルで安価なM5Stack Basicを選びました。

    M5Staskを使ったデジタル光センサーの制御

    それではM5Stackを使って、デジタル光センサーの値を取得します。購入したデジタル光センサーはGROVEでの接続なので、デジタル光センサーに付属しているケーブルでデジタル光センサーとM5Stackを接続するのみでハードウェアの準備は完了です。
    次にソフトウェア側の設定をおこないます。

    Grove - Digital Light Sensor
    http://wiki.seeedstudio.com/Grove-Digital_Light_Sensor/

    上記URLを参考に、

    1. デジタル光センサーのライブラリファイルをダウンロードする
      https://github.com/Seeed-Studio/Grove_Digital_Light_Sensor/archive/master.zip
    2. ダウンロードしたファイルをArduino IDE に取り込む
      手順:Sketch > Include Library > Add .ZIP Library.
      を選択し、ダウンロードしたファイルを選択する
      http://wiki.seeedstudio.com/How_to_install_Arduino_Library/
    3. 下記手順でサンプルファイルを開く
      手順:File -> Example ->Digital_Light_Sensor->Digital_Light_Sensor.
      を選択する

    を実行します。
    サンプルファイルをコンパイルして実行すると、デジタル光センサーから読み取った値を確認することができます(サンプルファイルはArduino用なので、M5Stackのディスプレイ上には表示されません、Arduino IDEからシリアルモニタを起動して値を確認してください)。

    M5StaskからAmbientへのデータ送信

    次に取得したデジタル光センサーの値をAmbientへ送信します。

    M5StackでセンサーデーターをAmbientに送る (Arduino編)

    上記URLを参考に、

    1. Ambientのライブラリファイルをダウンロードする
      https://github.com/AmbientDataInc/Ambient_ESP8266_lib/archive/master.zip
    2. ダウンロードしたファイルをArduino IDE に取り込む
      手順:Sketch > Include Library > Add .ZIP Library.
      を選択し、ダウンロードしたファイルを選択する
    3. 下記手順でサンプルファイルを開く
      手順:File -> Example ->Ambient ESP8266 lib->Ambient_BME280.
      を選択する

    を実行します。
    そしてサンプルファイルをベースに、Wi-Fiの設定、Ambientの設定、デジタル光センサーの設定を追加します。

    Wi-Fiの設定(サンプルファイルの16-17行目)
    const char* ssid = "your ssid"; ←接続するアクセスポイント名を記載
    const char* password = "your password"; ←接続するアクセスポイントのパスワードを記載
    Ambientの設定(サンプルファイルの19-20行目)
    unsigned int channelId = 100; // Ambient上で開設したチャネルのIDを記載
    const char* writeKey = "writeKey"; // チャネルのライトキーを記載
    デジタル光センサーの設定として、サンプルファイルの最初に
    #include
    を追記、void setup()内に
    TSL2561.init();
    を追記、void loop()内に
    int light;
    light = TSL2561.readVisibleLux(); 
    ambient.set(1, String(light).c_str());
    ambient.send(); 
    を追記します。 BME280に関係する部分は利用しないので削除してください。
    これでサンプルファイルをベースにデジタル光センサーの値をAmbientへ送る準備が整いました。

    Ambientでのデータ確認

    実際にプログラムを実行して、一日計測をしてみた結果がこちらです。
    とある一日の照度データ
    こちらを見ると、18時すぎに帰宅して(点灯)、21時くらいから寝かしつけが始まって(消灯)、22時すぎに終わった(再度点灯)ことがわかります。照度データだけでこれだけわかってしまうのはちょっと怖い気もしますが、帰宅前にAmbientのグラフを確認することで寝かしつけ中に帰宅してしまう悲劇は回避できそうです。

    今後の予定

    無事寝かしつけ中の帰宅は回避できそうですが、毎回Ambientのグラフを見に行くのは面倒なので、寝かしつけの開始と終了を教えてくれるBotを作りたいと考えています。また、他のセンサーと組み合わせてより寝かしつけ 判定の精度を上げたいところです。