2016-11-27 (日)
温湿度センサのHDC1000,結構ばらつきがあるなと思ったけど,1年くらい前に買って放置してたやつの湿度の値が10%くらい高いっぽい.最近買ったやつはほぼ同じ値を出力するので経年変化が大きいのかなあ.データシートだと±0.5%/yearらしいので保存方法が良くなかったんだろうか.
この日記はフィクションです.登場する人名・団体名・地名・職業などはぜんぶ架空のものです. なので実際のものとは何も関係がありません. それから,写真のように見える画像はCGもしくは念写によるものです.
温湿度センサのHDC1000,結構ばらつきがあるなと思ったけど,1年くらい前に買って放置してたやつの湿度の値が10%くらい高いっぽい.最近買ったやつはほぼ同じ値を出力するので経年変化が大きいのかなあ.データシートだと±0.5%/yearらしいので保存方法が良くなかったんだろうか.
早朝に地震で起きたせいで眠い.
飲み会.
飲み会の後,鞄を取りに会社に寄ってから家に帰ったのだけど,どういうわけか会社に鞄忘れて帰ってきた...と思ったのだけど,家の玄関にあった.何が起きたのかわからなかったけど,つまり出社する時にすでに忘れてたので何も問題なかった.手ぶらで会社に行くこと多いので仕方ない.
月曜日なので眠い...
PSVRで遊んでて,やっぱトラッキング用のカメラを設置する必要があるのイマイチだよなあと思って最近のSLAMとか調べたり.
最近のスマホのセンサとカメラでかなり精度良く位置を推定出来るだろうと思って2年くらい前に自分で書こうとしたやつあるけど,面倒すぎてお蔵入りしてしまったので今度は楽をしたい.ライブラリは色々あるけど,使いやすそうなのを探す.
Kudan SDKが有料だけど簡単そうなので試してみる.デモの動画は凄そうだけど実際に動かしてみた感じだとSLAMの精度はそこまで良くない感じがする.使い方が悪いのかもしれないけど.あとAndroid用のSDK見た限り,ARViewに全て入ってて細かいことは出来ないっぽい(?).SLAMだけ使いたいとか,機種によってカメラの画像が逆さになるのでARCameraStreamをいじりたいとかがあると結構めんどい.
Object Occlusionとかもあるらしいけどどうやってるんだろ.SDKに含まれるAPIにそれっぽいの無いし,まだ使えないのかな.
最近話題(?)のGoogleのCartographerも遊んでみたいけど環境を整えるのは面倒そう.ぱっと見,Point Cloudの操作がメインっぽいのでKinectみたいなセンサが必要っぽい.実装はそこそこ読みやすいので,勉強用には良いかも.Ceres Solverとかも使ったこと無いけど気になる.
OpenCVにもVisual Odometryが入ってるっぽい.
ORB-SLAM2.一応単眼カメラでも動きそうだけど,RGB-Dカメラで使うこと意図してるのかな.
ATAM.PTAMの親戚かと思ってたけど,別物だった.多くの処理はOpenCVのものを使ってるみたいなのでシンプル.
結局,あまり目新しさは無いけどLSD-SLAM使うかなあ.もしくは,これ買って満足するか.
温湿度センサのHDC1000,湿度は個体差が結構あるな.同じ場所でも,高いものと低いもので15%くらい差がある.値の動きは一致してるので,自分で校正すれば良さそうだけど.買ったまま使うのが面倒で眠ってたBME280も試したみたけど,キャリブレーション用のパラメータを元に自分でADCの結果から計算しないといけないのめんどい.
PSVRで遊ぶ日.
風邪は大分マシになったので月曜日で憂鬱だけど出社.
部屋の火災保険の更新したり,年末調整の手続きとか,面倒なことを済ませる.
あと,マイナンバーをどこかに登録しないといけないらしいけど,マイナンバーのカード見当たらないし,だいぶ前に届いたはずの案内も見当たらない.捨てて無いとは思いたい.
風邪が良くならない...
電子工作.
Wio Node,コネクタを外せばフリスクのケースに入るかと思ったけど,微妙に収まりが悪いな.あと0.5mm小さければ...
アイ○ンをアレするやつもWio Nodeを使った回路に作り直した.
Before(一年前 ※イメージ画像です)
After
中のスペースに全部入れたのでスッキリした.(というより見た目では何も分からなくなった)
架空の出来事です.
風邪引いたせいで何も出来ない.
これ作っていた https://github.com/binzume/k-on-server
たぶんやっちゃ駄目なのだろうけど,microUSBでつなぐのが面倒なのと,バッテリー無い時にLEDが点滅してるのも邪魔だったので...
バッテリーのETA6003のデータシート見ると,ABSOLUTEMAXIMUM RATINGSはIN, BATTともに–0.3V to 6Vらしいので,いきなり壊れることは無さそう.
昨日の夜から調子悪くて寝ていた.
とても眠い...
書いた http://qiita.com/binzume/items/e0c0234668992ef42f9a
久しぶりにArduino IDE触ったけど,コンパイラがかなりまともになった気がする.
以前は構造体やtypedefがあると良くわからないエラーに遭遇してたのが直った気がする(そもそも,言語はC++だとは言ってないので構造体とかをライブラリ以外で定義してはいけないのかもしれないけど).
電子工作する日.
Seeed StudioのWio Nodeを使ってみる.GroveシステムのWiFiモジュールです.
これ,ESP-WROOM-02が載ってるので,つまりArduinoとして使える.
設定用のスマホアプリとかも用意されてて,そのままでも十分遊べそうだったけど,そっちは試す前にファームウェアを上書き...
一応,上書きしちゃっても,ファームウェアダウンロードしてきて書き込めば元に戻せそう. https://github.com/Seeed-Studio/Wio_Link/wiki/Advanced%20User%20Guide
使えるポートはこんな感じだった.数字はESP-WROOM-02のGPIOの番号でそもままArduinoから入出力の番号として使える.
const uint8_t FUNC_BTN = 0; const uint8_t BLUE_LED = 2; const uint8_t PORT_0A = 1; const uint8_t PORT_0B = 3; const uint8_t PORT_1A = 4; const uint8_t PORT_1B = 5; const uint8_t PORT_POWER = 15; // (common with RED_LED) const uint8_t UART_TX = PORT_0A; const uint8_t UART_RX = PORT_0B; const uint8_t I2C_SDA = PORT_1A; const uint8_t I2C_SCL = PORT_1B; void setup() { pinMode(FUNC_BTN, INPUT); pinMode(BLUE_LED, OUTPUT); pinMode(PORT_POWER, OUTPUT); digitalWrite(PORT_POWER, HIGH); }
自由に使えるGPIOは4本だけ.
PORT_POWER を HIGH にしないと,Groveコネクタのポートに電源が供給されないようになっている.消費電力の大きいものをつなげるときはこれでON/OFFしろってことなのだと思う.
赤色のLEDはPORT_POWERにつながってるので,コネクタに電力供給が必要な場合は単体でON/OFFはできない(ちなみに緑色のLEDは電源とバッテリーの状態を表しているので,これもコントロールはできない).
出来ることは,ESP-WROOM-02と同じ,というか外に出てるポートが少ないので物足りない感じもしたけど,コネクタや電源周りの回路がついてるので,買ってきてすぐ使える.特に,リチウムポリマー電池の充電回路まで載ってるので,簡単にバッテリー駆動にできるのは良い.ESP-WROOM-02が電力食うモジュールなのが難点だけど.
Groveシステムとか興味なくても,良い感じのモジュールが手軽に買えるの素晴らしい.
以前買った,HDC1000という温湿度センサーをI2Cでつないでみて,部屋の温度と湿度をWiFi経由で取れるように.温度はともかく湿度は測定結果が合ってるのかさっぱりわからないな.
Arduinoは標準のIDEが微妙に使いにくくて,でもIDEが無いとビルドとデバイスへのアップロードが面倒だったのだけど,PlatformIOはArduinoのinoファイルをコンパイル出来るのか.いまさら知った.結構な数のマイコンをサポートしてるし,パッケージマネージャも標準であるっぽい.近いうち移行しよう.
MPEG-DASH続き.音も出た.再生出来なくて原因わからないときは,ffmpegの -f mpd で出力したものと比較すれば良いので簡単.
今回は普通のmp4を入力にしたので,stsdだけ組み立てるのが面倒でコピーしたけど,それ以外は一から組み立てても大した事無さげ.
明日休みなので4連休.
MPEG-DASH実装してみる日.ブラウザ上のdash.jsで絵が出るとこまで出来た.
type=dynamicにしたときの,availabilityStartTimeって,クライアントとサーバの時刻ずれてても大丈夫なんだろうか.