name_untitledのエッセイ

IT関係で知ったことなどを記事としてあげていきます。内容に不備や質問などあればぜひコメントをよせてください。

IoT でデータをとってみた結果、ネットワークのリトライが欠かせない。

LinkIt Oneで温度湿度をUbidotsにアップロードするプログラムを書いた。しばらく様子を見てみると、Wi-Fiが切れているのか、データが途中で途切れている、、、。ログを取ってないのでどこで落ちたか分からないけどおそらくWi-Fi

アパート共用のWi-Fiを使っているけど、Wi-Fi接続のタイムアウトが設定されているのかも。というわけで、Wi-Fiの接続状況のチェックを追加して、再接続するようにした。

f:id:name_untitled:20170225120859j:plain

 

参考URL

www.hackster.io

community.ubidots.com

github.com

Androidのライブラリをちょっと使ってみた。

これまで、GreenDaoやGSON、OkHttpは使ったことあったけど、レイアウト系のライブラリを使ったことなかったので、ちょっと試してみた。

f:id:name_untitled:20170221143227p:plain

まずは、CardViewのライブラリ。build.gradleにlibraryの宣言をして、レイアウトXMLにタグを書くとサクッと出来る。で、ちょっとおしゃれ。こちらのサイトを参考にしてやりました。ありがとうございます。

qiita.com

 

あとは、リストとかで、何時間前に…、とかついさっきとかの時間を表示するライブラリ。

f:id:name_untitled:20170221143600p:plain

これもサクッと出来た。

サンプルはライブラリのGitHubサイトの通りにやると簡単に出来た。

github.com

 

その他のライブラリがこのまとめで紹介されてました。

qiita.com

 

AndroidVector図形でアニメーションを表示するときに、Vectorの要素?頂点?の数が変化前の図と、変化後の図とで同じ数じゃないといけない。

https://camo.githubusercontent.com/3f3b4cdf8c9e82d819ef0aa4a6d70880b7fad84b/687474703a2f2f7331382e706f7374696d672e6f72672f3739636f6f387669642f6d6f727068332e676966

developer.android.com

 

頂点の数が違うって時にこのツールが役立つ。頂点の数を合わせてくれる。でも、ちょっとだけずれているような気がする、、、。

github.com

WindowsのコマンドプロンプトでGitのコミットコメントを書く。

私、Windowsをメインに使っているものです。

以前はWindows上でGitを使っているが、commitする際に、
git commit . 
と入力すると画面が切り変わって、こういう画面が出て困っていた。

f:id:name_untitled:20170219163110j:plain

Commitメッセージを書けとあるが、どうやったら終了できるか分からない。

Please enter the commit message for your changes. Lines starting with '#' will be ignored, and an empty message aborts the commit. Explicit paths specified without -i or -o; assuming --only paths..

で、これまではこれが出たら、とりあえず画面を閉じてました。恥ずかしながら。

で、もう一度開いて、

git commit . -m "commit message."

という感じでメッセージを書いてcommitしてました。

 

で、昨日、Gitは元々Linuxソースコードバージョン管理システムだったなとふと思い出した。で、Linuxと同じように、してみたらどうかと書いてみた。

:q!

でcommitをキャンセル、

:w!

でcommitを保存できた。

なので、これまで、複数行書かずにいたけど、普通に詳細まで書けるようになりました。

 

Bluemixを触ってみた。いつの間にか課金されててちょっと怖い。

ChatBotを作りたくて、Watsonを触ってみた。

QiitaでChatBotを作っている記事を参考に自分でもやってみたけど、どのタイミングからか、有償サービスっぽいものが追加されていた、、、。こういうのがあるとOpenShiftの方が分かりやすくて良いかなぁとか思う。

でも、なんでだろう。Liteのサービスが追加されてて、多分そこから発生しているであろう$0.77のサービス料が計上されていたので、早速サービスを削除。

この、$0.77はどう処理されるんだろう??

Android の構造の説明。

これまであまり裏側を意識させない授業をしていたが、裏側のトラブルで作業が止まる(ダウンロードしたソースのbuild.gradleではまるとか)ことが結構あったのと、ハードウェアが好きな人が多いので、今回の授業では構造や役割をある程度説明して見ることにした。

まずは、javaコンパイルを確認した。

http://www.ytp.ne.jp/tech/java/sineruka/jarhowto.html

Jarまでは説明しなかったけど、コマンド打って、classファイルが出来る。というのを見せた後で、Android StudioでBuild APKをして、apkファイルが出来るというのを実演。その後、Developerのbuildの流れを説明。

f:id:name_untitled:20170217133909p:plain

https://developer.android.com/studio/build/index.html#build-process

次に、ここでいうソース、リソース、ライブラリは何か、DEXはclassに近いけどちょっと違うよという説明をして、最後にAPKが出来るんだよ~と説明した。

前回、APKからソースコードをリバースしてみせたのでなんとなく分かっている感じだったが、今回もソースからAPKを作って、それを戻してみせるという流れの方が良かったかも。

Arduino 導入。 Simulatorを使う。

Arduinoの授業の様子を少し見せてもらった。

Arduinoの導入としてシミュレーターを使うようにしているらしい。

UnoArduSimというツールで、なかなか使えそう。

f:id:name_untitled:20170209012533j:plain

このサイトからダウンロードできる。

Simulator Download - UnoArduSim

 

IoT用Webサービス XivelyとUbidots

『M2M/IoTシステム入門』という本を紹介されて読んでいる。

https://www.amazon.co.jp/M2M-IoT%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E5%85%A5%E9%96%80-%E9%9B%BB%E6%B0%97%E5%AD%A6%E4%BC%9A%E7%AC%AC2%E6%AC%A1M2M%E6%8A%80%E8%A1%93%E8%AA%BF%E6%9F%BB%E5%B0%82%E9%96%80%E5%A7%94%E5%93%A1%E4%BC%9A/dp/4627853319

これが結構見通しが良くなる本で、IoTに出てくる話を整頓してくれている。

 

その中で、XivelyというWebサービスが紹介されていたので、ちょっと試してみた。位置付けとしては、ラズパイやArduinoでとったデータを、受け取って可視化してくれるサービスらしい。本の中ではどんな感じでデータがとれるかを試すならこのサービスがいいとのこと。

今手元に、LinkIt Oneというネットワークが充実しているIoT機器があるので、試してみようとした。が、Xivelyはバージョンアップでかなり洗練されていて、セキュリティも強化されているらしい。JWTというセキュリティ機能を使うので、お試しで作るにはつらい感じになっていた。

そこでほかのサービスを探してみた。Ubidotsというサービスが、結構分かりやすい。Adruinoのプログラムを使って送信はさくっとできた。(繰り返しがうまく行かないのはバグかな、、、。)

 

とりあえずの結論は、Raspberry PiならXively、AdruinoならUbidotsを使うとお試ししやすいかも。

Ubidotsでダッシュボード画面を作ったらこんな感じ。

f:id:name_untitled:20170206214633j:plain