CIと、gitlab-runnerで動かすDockerがとても便利で気に入りました。CIと組み合わせてみました。サンプルのプロジェクトを、GitLabで公開しています。https://gitlab.com/twelite/app_tweliteDockerイメージを作るためのDockerfileは以下のようにしました。SDKをcurlでダウンロードして展開しているだけです。一点重要なのが、libc6-i386をインストールしておくことです。foundのようなファイルがあるのに「コマンドが無い」という不可解なメッセージが出ます。Hubに用意しておきました。以下のようにしました。SDKのツール群が配置されていることを前提にMakefileが用意されていますので、before_scriptで最初にシンボリックリンクを用意しています。サンプルアプリにはテストコードが含まれていないため、stageはbuildだけです。サンプルアプリのトップにあるMakefileは下位のmakeにビルドを丸投げして失敗を無視する仕様のため、Master/Buildまで下りてmakeを行います。ビルドしたファームウェアバイナリは、artifactsでダウンロードできます。CI/CDを有効にしておくと、pushやマージリクエストが処理される毎にpipelineが実行されます。runnerだけを使っているので、とても時間がかかっているように見えますが、ローカルにGitLabをインストールして専用のgitlab-runnerを登録しておくと、見ている間に(数十秒で)完了します。Hubからのpullを予防するのような設定が必要です。3B用HDMIモニタをamazonで買いました。解像度は低いですが、私の用途では問題にはなりません。IoT用のドライバが無いのでタッチスクリーンが機能しませんが、USBマウスを使えば大丈夫です。Core用にアプリを書き始めました。UWPアプリは初めてなうえに、XAMLも初心者の域を出ないので、なかなか捗りません。LANパケットを送出するのがアプリの主な機能です。同様の仕組みはPython/Raspbianで動作しているのですが、誰でもメンテナンスできるように、UWPアプリとして作り直すことにしました。シリアルポートに流れるTWELTIEの出力を読むバックグラウンドアプリ設定およびログ表示のためのフォアグラウンドアプリという基本構成は固まりました。バックグラウンドとフォアグラウンドの間の通信ができるまでに試行錯誤を繰り返し、BackgroundTaskとAppServiceでやりたいことができるようになるまでかなり時間がかかりましたが、ようやく見通しが立ってきました。2525Aの連続稼働が、電池切れにより3月6日の朝で終了しました。11月17日の夜から開始して、およそ3カ月半、108日動き続けました。電池切れ間際の電源電圧は約2Vでした。グラフを見ると、2.2Vあたりから電圧低下が早くなっているように見えます。2.1Vから約1週間で終了しました。記録された送信回数は25,000以上でした。年末年始にログが取れなかった期間があるので、実際には26,000回を超えていたのではないかと思います。一回のドア開閉で2回の送信が行われるので、一日当たりドア開閉回数はおよそ120回という事になります。加速度センサーの消費電流を仮に40μAとすると、一日当たり0.96mAhが消費されます。使用したコイン電池の容量は210mAhですので、加速度センサーとTWE-Liteでだいたい半分ずつ消費していたようです。この計算だと、ドア開閉が多ければ電池切れはさらに早くなりますし、殆どドアを開けなければ半年くらいは持つかもしれません。使用した電池は、amazonで買った中国製電池です。星一つのレビュー評価が多いですが、普通に使えました。TWE-Lite2017年2月5日日曜日PWMとLPFで疑似DA変換TWE-Liteのオーディオアプリでは、PWM出力をLPFに通すことで、デューティー比の変化を電圧に変換しています。2を買ったので、この様子を視覚的に確認してみました。LPFを通す前のPWM出力と、LPFとスピーカーアンプを通った後の音声出力にプローブをつないで、同時に波形を見てみました。波形は、このようになりました。上がPWM波形、下がスピーカー出力の波形です。この時は、テストトーン(正弦波?)を再生していました。電圧の谷では低デューティー比PWMのデューティー比が高い箇所(約60%)ではスピーカー出力の電圧が高く、デューティー比が低い箇所(約40%)では電圧が低くなっています。Measureでカーソル位置の値を見ると、簡単に理解できます。秋月電子で買いました。TWE-Liteで作った赤外線リモコン信号の送受信機が正しく動いている事を確認しました。下のスクリーンキャプチャで、水色が赤外線受光モジュールの出力、黄色がTWE-Liteの赤外線リモコン信号出力です。同じタイミングで信号が出ていることが確認できました。2525Aは、予想を超えて、まだ動き続けています。現在の電源電圧は、2.4V前後です。