欲しいアプリは自分で作る!

Power Platform や Azure などを利用して作成した業務アプリや趣味アプリなどをご紹介します。

ヘラクレスオオカブトの状態をいつでも確認できる LINE ボット with ヘラクレス監視システムをローコードで作ってみた

(2023/01/27追記)
こちらの記事ですが、Qiita Advent Calendar 2022 プレゼントカレンダーにて Develop fun! 賞をいただきました。
栄えある賞をいただき、誠にありがとうございました!

blog.qiita.com




皆さんは動物や生き物は好きですか?
私は犬が死ぬほど大好きです。何時間でも犬と遊べます。

姉宅の飼い犬と戯れる私
なお妻は動物が苦手なため、我が家で犬を飼うことは許されません(画像は姉の飼い犬)。


そんな私ですが、この度息子(8)の要請により、ヘラクレスオオカブトというカブトムシ(以下、ヘラクレス)を飼うことになりました。

飼うことになったヘラクレス

今回、このヘラクレスの温度管理や生態観察を目的として、いつでもヘラクレスの状態を確認できる仕組みを作ってみましたので、紹介させてください。


本記事のゴールは以下を想定しております。

  • 生体監視システムを自分でも作れるようになる
  • 様々なシステムを API 連携できる面白さが分かる
  • ローコード・ノーコードの可能性の高さを実感できる
  • ヘラクレスオオカブトを飼ってみたくなる

ご興味ありましたら、是非ご覧いただけますと幸いです。


なおこの記事は、身の回りの困りごとを楽しく解決! by Works Human Intelligence Advent Calendar 2022 12月10日(Calendar1)担当分の記事です。 qiita.com


目次

  • 1. ヘラクレスオオカブトとは
  • 2. システム概要
  • 3. 作り方:機能① ヘラクレスの様子と温度・湿度を確認
    • 3-1. ヘラクレスの様子を10分間隔で自動撮影する
    • 3-2. 撮影した画像を Azure Blob Storage に格納する
      • 3-2-1. Blob Storage の作成
      • 3-2-2. Power Automate の作成
      • 3-2-3. Power Apps への追記
    • 3-3. LINE からのリクエストを受けて画像と温度・湿度をユーザーに返送する
      • 3-3-1. LINE の設定
      • 3-3-2. Logic Apps の作成
  • 4. 作り方:機能② ヘラクレスに動きがあった際に通知
    • 4-1. (事前作業)Custom Vision の設定
    • 4-2. (事前作業)ヘラクレスの形を Custom Vision にトレーニングさせる
    • 4-3. 画像を Custom Vision に送信しヘラクレスの位置情報を取得する
    • 4-4. 位置情報をデータベースに登録する
      • 4-4-1. Microsoft Dataverse にテーブルを追加する
      • 4-4-2. テーブルに位置情報を登録する
    • 4-5 ヘラクレスの移動を検知してユーザーに通知する
  • 5. まとめ
  • 参考記事
続きを読む

Power Apps のキャンバスアプリは結局のところ SharePoint リストからデータを何レコード取得できるのか調べてみた

あくまで 2021/06/05 時点の調査結果であり、今後動きが変わる可能性がありますのでご注意ください。



Power Apps の「委任」についてご存知の方は、おそらく「500件」という数字がパッと思いつくと思います。

委任をご存知ない方はよろしければご参考ください:
qiita.com


で、この500件というのは何かというと、Microsoft の Docs には「委任できない場合の制限」の説明に「Power Apps では、ローカルで処理可能なデータの量を既定で 500 件のレコードに制限しています。」と記載されています。

docs.microsoft.com

また、キャンバスアプリの作成画面では「設定」の中に「委任がサポートされていないサーバー ベースの接続から取得する行数を設定します」という記載で、上記の500件を最大2000件まで設定できる機能があります。 f:id:jn-kodama:20210605163445p:plain

これだけを見るといかにも「委任できない場合は500件(設定で最大2000件)しか取得できないんだな」と思いますよね。
逆に言うと「委任できる場合は制限なく取得できる」と思いますよね。
(少なくとも私が昔委任に関する記事を書いたときはそう思っていました)


ということで、本当にそうなのか? を実際に確かめてみました。
この記事では、データソースからレコードを取得する時によく利用されると思われる以下の2つの方法について、委任できる場合と委任できない場合でどうなるかを見ていきます。

  • ギャラリーコントロールで一覧表示
  • コレクションにデータを格納


  • 使用するデータソース
  • 取得できる行数を意図的に変更しておく
  • 実験① ギャラリーコントロールで委任できる式を利用して取得
  • 実験② ギャラリーコントロールで委任できない式を利用して取得
  • 実験③ ClearCollect 関数で委任できる式を利用して取得
  • 実験④ ClearCollect 関数で委任できない式を利用して取得
  • まとめ
続きを読む

Power Apps でギャラリーコントロール内のチェックボックスを全選択させるための超簡単な設定方法

今日は非常にシンプルな小ネタのご紹介です。


やりたいこと

ギャラリーコントロールの中に置いたチェックボックスを全選択/解除する機能を作ります。

f:id:jn-kodama:20210218140009g:plain
動作イメージ


方法

1. ギャラリーコントロールの中に、個別選択用チェックボックスを置きます

f:id:jn-kodama:20210218140243p:plain

2. ギャラリーコントロールの外に、全選択/解除用チェックボックスを置きます

f:id:jn-kodama:20210218140326p:plain

3. 1.の個別選択用チェックボックスの Default 値を、2.の全選択/解除用チェックボックスValue にします

CheckboxAll.Value

f:id:jn-kodama:20210218140449p:plain

以上です。

ギャラリー内の個別選択用チェックボックスのデフォルトを全選択/解除用チェックボックスにしているので、全選択/解除用チェックボックスが変化する度にギャラリー内の個別選択用チェックボックスの値が全選択/解除用チェックボックスに引っ張られ、結果的に全選択/解除が実現できているのですね(言葉にするとややこしい)。


おわりに

久々にこの機能を使おうと思って、はてさて変数ってどう設定するんだっけ、OnCheck / OnUncheck の処理ってどうするんだっけと考えていました。 で、ふと昔作ったアプリを見てみたらこれしか設定しておらず、あれこれだけでできるんだっけと、自分でもびっくりしたのでした。

何かのご参考になれば幸いです。

2020年に買った主な商品をまとめてレビュー

こんなにも自分のものを買うのは、おそらく今年が最初で最後だと思います。




どうも、じゅんじゅんです。
たまには技術以外のお話を(たまには、と言うほど技術系の記事も書いていないのですが…)



今年はコロナの影響で、おそらく今この記事をお読みいただけているほぼすべての方は、仕事やプライベートで大きな変化があったのではないかと思います。
例外なく私も、仕事がちょっとテレワークになったり(結局出社がメイン)、オンライン勉強会での登壇の機会が増えたり、フルリモートできる企業への転職が決まったりと、主な活動の仕方が大きく変わった1年でした。

そんな変化に対応するため、今年は自分でもビックリするくらいお買い物をしました。
ということで、あくまで個人の感想ではありますが、今回は私が購入した商品(の一部)のレビューを記事にしてみました。
※結果的に高評価なものばかりでしたが、販売元から何か金銭を受け取ったりはしておりません。笑

同じようなものを購入しようとご検討されている皆さまの少しでもお役に立てれば幸いです。


購入した商品一覧(順不同)

続きを読む

Power Apps で Gallery を日付列で絞りたい時によく使うフィルタの方法をまとめてみた

変数は使用しませんので、変数が苦手な方はご安心ください。




どうも、じゅんじゅんです。



パッと見た情報が、大量の情報の中から日付で絞られていることって、多いですよね。

  • Amazon の注文履歴(過去6か月)
  • ネットバンキングの取引履歴(最近1週間)
  • iTunes("最近" 追加した項目)
  • 勤怠システム(月別)

なので、さあこれを Power Apps で作ってみよう!となるわけですが、残念ながら Power Apps でアプリをデータから自動生成すると、一覧画面の Gallery は文字列検索機能しかついていません。

何かしら日付で絞り込みたい場合は、自分で1から追加記述する必要があるんですね。


ということで、今日は「何かしら日付でフィルタリングしてみたい!」という初学者の方向けに、お役に立てるかもしれないいくつかの例をご紹介したいと思います。


  • 今回使用するアプリ
  • パターン1:過去〇〇日の情報を表示する
  • パターン2:〇月〇日~△月△日までの情報を表示する
  • パターン3:月毎に情報を表示する
  • おわりに
続きを読む

Power Apps でメール列を用いて Gallery にユーザー名を表示させる方法(と Power Apps でよくありがちな型のエラーのお話)

初学者向けです。
前回の記事(https://jn.hateblo.jp/entry/2020/11/25/182830)の続きのような内容なので、先に前回の記事をご覧いただくと本記事のご理解が早まるかと思います。




どうも、じゅんじゅんです。



前回、Teams × Power Apps でユーザーの情報をメール列(メール形式のテキスト列)で格納しました。
そして、フォームでは Office 365 ユーザー コネクタを用いて特定部署のユーザーをドロップダウンで選択させました。
あの時、ドロップダウンの表示はユーザー名でしたが、テーブルにはメールアドレスのみを登録していました。
つまり、テーブル上ではユーザーの情報はメールアドレスだけだったんですね。

そうなると、次は
「テーブルにユーザー名がないのに、Gallery にどうやってユーザー名を表示させるのか?」
という疑問が湧いてくるのではないかと思います。

ということで、今日はこれを実現してみたいと思います。
環境は今回も Teams × Power Apps とします。


  • 事前準備
  • 実装方法
  • テーブル、レコード、フィールドとは?
  • まとめ
続きを読む

Power Apps のフォームで組織の特定部署のユーザーをドロップダウンで選択できるようにする方法

アカウント数が 1000 以上ある場合は、別のアプローチが必要になりますので、ご了承ください。




どうも、じゅんじゅんです。



弊社では現在 Power Apps 勉強会を開催しているのですが、その中で受講者から
「同じ部署の社員をプルダウンで選択できるようにしたい」
と相談がありました。

新しい画面から「人々」を追加することで検索可能な画面を作成することはできるのですが、自分で作成したテーブルをもとにフォーム画面で同機能をシンプルに実装したいという要望もあるかと思い、方法を模索してみました。

せっかくですので、Teams 上で利用できる Power Apps を用いてみようと思います。

続きを読む