EdgeX Foundry の初修者向けハンズオンガイド(日本語)を作成して公開しました。
いわゆる セルフペースドラボ形式 です。Docker がインストールされた Ubuntu があれば、実際に EdgeX Foundry を動作させながら、基本的な アーキテクチャや利用方法を学習できる ように構成しています。
続きを読む
EdgeX Foundry の初修者向けハンズオンガイド(日本語)を作成して公開しました。
いわゆる セルフペースドラボ形式 です。Docker がインストールされた Ubuntu があれば、実際に EdgeX Foundry を動作させながら、基本的な アーキテクチャや利用方法を学習できる ように構成しています。
続きを読む
Docker は マルチ CPU アーキテクチャ をサポートしているので、docker image pull すると、イメージ側が対応していれば、同じイメージの同じタグを指定しても、環境(OS や CPU アーキテクチャ)に応じて適切なイメージが勝手に取得されます。
で、今回、マルチ CPU アーキテクチャに対応したイメージを、実際に x64 な Windows 環境だけで意外とサクッとビルドできたので、そのお話。
これまでの EdgeX Foundry 関連エントリでは、一貫してその動作を Docker Compose に任せていました。公式でも Docker Compose や Snaps を利用して動作させる手順が紹介されています。
が、最近よく Kubernetes(や OpenShift)を触っていることもあり、コンテナなら Kubernetes でも動かせるよね! という気持ちになったので、やってみました。
なお、現段階では、Kubernetes 上で動作させるためのマニフェストファイルは、公式には用意されていません。また、そもそも EdgeX Foundry は HA 構成を明確にはサポートしておらず、実装上も考慮されていないようです。つまり、仮に Kubernetes で動作させられたとしても、レプリカを増やしてロードバランスするような状態での正常な動作は何の保証もないことになります。
というわけで、現状ではあくまで実験程度に捉えておくのがよいと思います。
続きを読む
実験したいことが出てきてしまい、自宅で Kubernetes を触りたくなりました。
これまで Kubernetes を触る場合は Google Kubernetes Engine(GKE)ばかりを使っていたのですが、 今回実験したいのは IoT の世界でいうエッジ側の話なので、できればオンプレミス相当の Kuberentes クラスタが欲しいところです。
そんなわけで、これ幸いと自宅の vSphere 環境で Cluster API を叩いてゲストクラスタを作ることにしました。Cluster API は、2019 年に VMware から発表された VMware Tanzu や Project Pacific の実装でも使われているそうで、そういう意味でも興味のあるところです。
VMware Tanzu や Project Pacific は、エントリの本筋ではないので細かくは書きませんが、めっちゃ雑に書くと、vSphere と Kubernetes がイケてる感じにくっついたヤツです。
続きを読む
2018 年に、家のエアコンを操作してくれる LINE ボットを作って以来、すでに一年半くらい運用しています。概要は 当時のエントリでも紹介しています が、LINE での会話を元に自宅のエアコンを操作してくれるものです。
これ、作った当初に想定していた以上にたいへん便利で、外出先で家族と『そろそろロボくんにお願いしておこう』などの会話が発生する程度には実際に活用されていました。この手の『作ってみた』系は、長期的な運用が定着する前に使わなくなることが多い印象もあり、これは小規模ではあるもののうまくいった例と言えるかと思います。
一方で、作りが甘い部分もあって、
など、長期的な運用に耐えられるよう全体を作り直したいモチベーションも強くなってきていました。
そんな中、あるイベントに参加して、『Raspberry Pi とセンサとクラウドサービスを使って何でもいいから個人で何かを作る』という活動をすることになり、タイミングもよかったので、この LINE ボットの作り直しを進めることにしました。
続きを読む
エクスポートサービスを取り扱ったエントリの最後で、以下のように書きました。
……と、意気揚々と書いてきたものの、今回利用したエクスポートサービスは最近のリリースではすでに廃止されており、エクスポートの機能は アプリケーションサービス に統合されているようです。
冬休みの自由研究: EdgeX Foundry (3) エクスポートサービスによるエクスポート
アプリケーションサービスに関する公式ドキュメント では、エクスポートサービスの利用はまだサポートされるものの、今後はアプリケーションサービスの利用が推奨されています。
続きを読む
これまでのエントリでは、仮想デバイスや MQTT デバイスを用いて、デバイスからの情報の収集やデバイスへのコマンドの実行を試してきました。
今回は、ルールエンジンの動作、つまり、
ような自動制御を実際に試します。
続きを読む
前々回のエントリ では、下図のとおり、バンドルされている仮想デバイスを利用して動作を確認していました。

これらの仮想デバイスは、デバイスからのデータの受け取りやデバイスへのコマンド実行などをテストする目的ではたいへん便利ですが、現実世界とのインタラクションはできません。
そこで今回は、MQTT をインタフェイスにもつデバイス(のシミュレータ)を用意し、下図のように EdgeX Foundry がそのデバイスと実際に(MQTT ブローカを介して)インタラクションできる状態を構成します。
続きを読む