banner
远浅

远浅

今宵绝胜无人共,卧看星河尽意明。

技術 | 小愛同學との連携で小プログラムのアクセス制御をどのようにするか

事情は次のようになっています。私はよくゲームをしている最中に、外食の配達員にフードをドアに置いてもらうために、エントランスのドアを開ける必要があります。しかし、よく小プログラムを開いて、ドアを開くために切り替える必要があります。

この時間は私にとって素晴らしいペンタキルを達成するのに十分です。

怠惰なプログラマーはこれに耐えられるでしょうか?できません!そこで、暇な時間に自分の k8s にデプロイするためのドア開閉サービスを作成しました。

それは今までに 2 ヶ月以上安全に稼働しています。

パケットキャプチャ#

コンピュータ情報システムの破壊に関する警告

最も簡単な方法は、コンピュータで小プログラムを開き、小プログラムのリクエストパラメータとアドレスを取得することです。

小プログラムのアクセス制御は、頻繁にログインしてドアを開けるユーザーのトークンが変わらないようになっています...

具体的なパケットキャプチャの方法については、この記事では説明しません。

Mi Home サードパーティプラットフォーム#

私の主観的な調査の結果、巴法云が現在最適なクラウドプラットフォームです。

大まかなフローチャートは以下の通りです:
image.png

具体的な巴法云サービスの呼び出しフローについては、公式ウェブサイトで詳細なドキュメントを参照してください。

ここではドアの開閉を例に説明します。

MQTT デバイスクラウドを新規作成し、名前を FBIOPENTHERDOOR001 とします。ここで、デバイス名の末尾の数値はデバイスのタイプを表しており、001 はスイッチタイプを表します。

次に、Mi Home アプリに移動し、[私の] -> [その他のプラットフォームデバイス] -> [追加] -> [巴法云プラットフォームアカウントを入力し、デバイスを同期する] と入力します。

この時、小愛同学にドアを開けるように話しかけると、購読側は「on」という文字列を受け取ります。この時、アクセス制御 API を呼び出すことで、音声でのドアの開閉が実現できます。

注意事項#

  • MQTT が再接続する際には、トピックを再度購読する必要があります。
  • 特定の状況でアクセス制御 API の呼び出しが失敗する可能性があるため、API のリトライメカニズムを組み込むことができます。
  • サービスの再起動メカニズムを組み込むことができます。k8s がある場合は無視してくださいが、一部の状況では MQTT 接続が不安定になり切断されることがありますので、再起動が必要です。
  • SmsForwarderを使用して、自分専用のアクセス制御 API を作成し、未着着信を転送してドアを開けることができます。深夜の夜食を食べ過ぎてしまうことを防ぎます。( 🤡誰が寝過ごしたかは言いません

参考リンク#

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。