IoT部分解説(AzureMachineLerningと AzureIotHubとPowerAppsで 40万ボルトのAI判定型ビリビリクイズマシーンを作ってみた)
2022年1月13日のTECHPLAYさんのイベントで発表した「AzureMachineLerningとAzureIotHubとPowerAppsで40万ボルトのAI判定型ビリビリクイズマシーンを作ってみた」のIoTエッジ部分の構築の記事です。
こちらどういうもの!?と思われてる方もいらっしゃると思いますが、そうです。クイズを出題してAIが正解を判定します! ここまでだとただのAIによるクイズですが、間違ると40万ボルトの電気が流れます(身体には流しません!痛みを伴う笑いは自粛の方向ですのでそのあたりに配慮して。。。ほっ)。
アバナード関西の大阪所長とクイズで対決しようと思いました。どうせなら刺激的にしたいと思ったのでクイズに間違えると自身に電気が流れたり、正解すると相手に電気が流れるようにしたい!と思いました(決して大阪所長が憎いわけではありません!とっても良い方ですよ!)
大阪所長はこんな感じの方です。人の良さが表情にも溢れてますね!
このブログを読まれている読者の方も「上司とビリビリクイズ対決したい!」と思われた方もいらっしゃると思いますので、それではIoTエッジ側の解説に入っていきましょう。
以下全体像ですが赤枠の部分が本記事で解説します。
実際の完成したIoTのエッジ側のデバイスは以下の通りになります。
TECHBEERに比べると非常にシンプルですね。クラウドへのデータのアップロードなどありません。クラウドからの指示に従って電気を流すだけです。
これが簡単なエッジ側の概念図です。
機材です。
これが40万ボルトに昇圧する装置です。右側の緑と赤のリード線に乾電池をつなぐだけで左側のオレンジの部分に40万ボルト流れます。Amazonで売ってます。くれぐれも感電に気をつけてください! これでアバナード関西の大阪所長とのクイズ対決が刺激的になると思います!
こちらがリレーです。RaspBerryPiのGPIO25と27でスイッチをオンにします。そうすると乾電池の電気が昇圧コイルに流れるます。
こちらがRaspBerryPi 4 Model Bです。IoTの定番ですね。
100均で買ってきたバンダナに電極をつけました。これを頭に巻いて目の前で40万ボルトを放電させます。大丈夫でしょうか・・・
エッジ側のソースコードです。まずはGPIO25番と27番を3秒ずつ交互にONにします。ongpiotime関数やoffgpio関数は過去のTECHBEERの記事にソースコードの参考がありますのでそちらを参考にしてください。
int main(void){
int i = 0;
while(1){
sleep(3);
if(i==0){
ongpiotime(25,3000); //GPIO25 ON
offgpio(25);
i=1;
}else{
ongpiotime(27,3000); //GPIO27 ON
offgpio(27);
i=0;
}
}
return 1;
}
試しにGPIO25とGPIO27を3秒毎に実行してみます。
以下、動画のリンクですが音入りで聞くとすごい迫力です。※音量に注意してください。
こ、怖い。。。。 果たして大丈夫でしょうか?
今回はここまでです。次回はクラウド側も紹介します。
アバナード関西 杉本よしひこ
記事に間違い等、不適切な表現がありましたら下記に連絡ください
yoshihiko.sugimoto@avanade.com