Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Office 365を利用して GPS Botもどきをつくろう
Search
hikky
August 03, 2019
Technology
64
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Office 365を利用して GPS Botもどきをつくろう
hikky
August 03, 2019
More Decks by hikky
See All by hikky
Entra IDとJamfで実現する金融業界のセキュリティ対策 〜デバイストラストへの道のり〜
ken_hikita
3
1.9k
JMUG #9
ken_hikita
2
500
EMS(Intune)で色々なデバイスをセットアップしてみた
ken_hikita
0
420
Other Decks in Technology
See All in Technology
自律型AIエージェントは何を破壊するのか
kojira
0
160
AIソロプレナー時代に2ヶ月で20人増員した事業創造会社の開発組織の話
miyatakoji
0
680
AIネイティブな開発のサプライチェーンリスク対策 〜激動の開発現場でリスクに立ち向かう〜【ZennFes】
cscengineer
PRO
2
130
2026年6月23日 Syncable Tech + Start Python Club にて
hamukazu
0
120
SONiC Scale-Up Working Group から探る Scale-UpやUltraEthernet機能の実装方法
ebiken
PRO
2
360
フィジカル版Github Onshapeの紹介
shiba_8ro
0
270
MCP Appsを作ってみよう
iwamot
PRO
4
680
FinOps × AIエージェントで実現する コストインシデントの自動調査
oasis1994liveforever
0
150
マルチアカウント環境での コーディングエージェントを使った障害調査が大変なので AIエージェントにReadOnly権限を付与してみた / ReadOnly AI Agents for Multi-Account AWS Incident Response
yamaguchitk333
2
110
エンジニアリング戦略の作り方 / Crafting Engineering Strategy
iwashi86
21
7k
あなたの知らないPDFのアクセシビリティ
lycorptech_jp
PRO
0
200
200個のGitHubリポジトリを横断調査したかった
icck
0
130
Featured
See All Featured
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
210
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
840
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Exploring anti-patterns in Rails
aemeredith
3
410
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
1.7k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
170
The Limits of Empathy - UXLibs8
cassininazir
1
360
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
240
The agentic SEO stack - context over prompts
schlessera
0
820
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Transcript
Sensitivity: Confidential #jpemsug Office 365を利用して GPS Botもどきをつくろう hikky(@ken_hikita) 2019/08/03 Home365祭り
Sensitivity: Confidential # h365ug 2 自己紹介 hikky(@ken_hikita) 某会社のコーポレートエンジニアやってます(SIer経験も有) やってきたこと •
オフコン・プリンタ保守、官公庁システムリプレイス、オフィス移転増床閉鎖、 NW構築、サーバ構築、ISMS、PMS、ASP SaaS認証、M&Aプロマネ、CRM/ERP導入 ヘルプデスク、コールセンター構築 今やってること • 8月から別会社 イノベーションテックやデザイン思考テストなどAIの会社です 好きなOffice 365サービス • OneDrive 保持免許 • 第一種大型自動車免許 • 第一種けん引自動車免許 ブログ:https://blog.intracker.net/ 3児の父(見えないって大体言われる) Japan EMS User Group運営メンバーを一応やってます
Sensitivity: Confidential # h365ug 3 本題に行く前に・・・ home365だからこっちが本題じゃね? 逸般的な誤家庭内の会話です すべて実話です。 嫁
誤家庭 3 そう嫁さんの話し
Sensitivity: Confidential # h365ug 4 本題 逸般的な誤家庭内の会話です すべて実話です。 嫁 このスマホよくない?
Snapdragon 625だって そんなCPUじゃ嫌だ CPU大事 UMIDIGI A5 Proもよさそうだよねぇ TypeCじゃないから認めない 自宅ラック欲しい っていったらどうする? 場所がない 4 場所あったらいいの? 構わない
Sensitivity: Confidential # h365ug 5 本題 逸般的な誤家庭内の会話です すべて実話です。 5 1984ギガバイト
いやゴーストバスターズの略でしょw これご存知ですか?↓
Sensitivity: Confidential # h365ug 6 こっちがおまけ(という名の本題) 小学生のお子さんがいらっしゃる方挙手! Forms + PowerBIなんか使わないよw
6
Sensitivity: Confidential # h365ug 7 どうしてますか? お子さんの帰宅時のお迎え 7 14時だったり15時だったり・・・ 下校班の集まりやふざけて帰る子がいて
時間通りに帰ってこなかったり・・・
Sensitivity: Confidential # h365ug 8 こんな手紙きません? 8
Sensitivity: Confidential # h365ug 9 よくあるソリューション 1. キッズ携帯 2. 使い古しスマホ持たせる
3. GPS製品 4. 帰宅時間の手紙に合わせてお迎え 9
Sensitivity: Confidential #h365ug GPS BoT 10
Sensitivity: Confidential # h365ug 11 GPS BoTは何ができるのか 1. 居場所がわかる 2.
指定領域に入ったら通知 3. 指定領域をでたら通知 4. 行動エリアから飛び出したら通知 11 とっても便利!
Sensitivity: Confidential # h365ug 12 こんな感じで移動履歴も見える 12
Sensitivity: Confidential # h365ug 13 13 GPS BoT の宣伝がしたいわけじゃない
Sensitivity: Confidential # h365ug 14 Office 365(達)でやらないと! 14 必要なものと利用するアプリたち ➢
Microsoft Flow ➢ Azure Automation ➢ Xamarin ➢ Firebase CloudMessage (ほんとはAzure SNS使いたかった・・・) ➢ Android端末(開発者モードをONにしてね)
Sensitivity: Confidential # h365ug 15 どうやってやるの?コードかかないとだめなの? 15 以下の手順 1. XamarinでAndroidアプリを作成する
2. 端末へアプリをインストールする 3. Firebase Cloud Message 4. Microsoft Flowの位置トリガーを利用する 5. Azure Automationから通知APIを実行する 6. アプリをインストールした端末全てに通知が届く
Sensitivity: Confidential # h365ug 16 16 ものすごい難しそう!
Sensitivity: Confidential # h365ug 17 コードかかないとだめなの? 17 私もコードほとんど書けません。 docsにあるコードをまるっとコピペでつくります ↓これをそのままやります
https://docs.microsoft.com/ja-jp/xamarin/android/data-cloud/google- messaging/remote-notifications-with-fcm?tabs=windows
Sensitivity: Confidential # h365ug 18 Android端末へアプリインストール 18 Visual Studio でビルド時に指定すればアプリが端末に入るよ!
Sensitivity: Confidential # h365ug 19 Firebase Cloud Message 19 これも↓のdocsをまるこぴ
https://docs.microsoft.com/ja-jp/xamarin/android/data-cloud/google- messaging/firebase-cloud-messaging
Sensitivity: Confidential # h365ug 20 なんでAzure Automation使うの? 20 FlowのHTTPコネクタが有料になっちゃったから・・・ Azure
Automationなら500時間/月までタダ!最高! PowerShellやPythonが利用できるので大抵のことはできる ハイブリッド構成でオンプレミスのサーバに指示を出すことも可能 https://blog.intracker.net/archives/1762
Sensitivity: Confidential #h365ug PowerShellで書くコードはこれだけ! 21 param ( [Parameter(Mandatory=$false)] [String] $param_location
) $location_message = $param_location + "付近にな りました" $authKey = Get-AutomationVariable -Name 'fcmApiKey' $location_message $postText=@" { "to": "/topics/all", "data": { "url": "https://www.yahoo.jp" }, "notification": { "title": "$($location_message)", "body": "近づきました" } } "@ $postBody = [Text.Encoding]::UTF8.GetBytes($postText) $headers = @{ 'Content-Type' = 'application/json' 'Authorization' = $authKey } $postText $postBody = [Text.Encoding]::UTF8.GetBytes($postText) $postUri = "https://fcm.googleapis.com/fcm/send" $Response = Invoke-RestMethod -Method POST - Headers $headers -Uri $postUri -Body $postBody $Response
Sensitivity: Confidential # h365ug 22 Azure Automation 22
Sensitivity: Confidential # h365ug 23 ようやく出番! 2 3
Sensitivity: Confidential # h365ug 24 位置情報トリガー 24
Sensitivity: Confidential # h365ug 25 ジョブの作成 25 Power Shellで指定したパラメータを設定することが可能 ジョブの待機を“はい”にするとジョブ実行完了まで次のフローが実行されないので
ジョブ完了後に次のアクションを実行させることもできる
Sensitivity: Confidential # h365ug 26 実行結果 26 位置情報トリガー ↓ Azure
Automationジョブ作成 ↓ Azure Automationジョブ実行 と動作するので、タイムラグが多少でます 位置情報トリガーの範囲を少し大きめに設定し ておくといい感じ
Sensitivity: Confidential # h365ug 27 FlowのSend me a mobile notificationでよくない?
27 Flowアプリがない端末でも受信できる 複数端末に同じメッセージを飛ばせる ので、FCMを使ってみました。 Flowって同一アカウントで別端末って何台まで いけるんでしょうか・・・?
Sensitivity: Confidential # h365ug 28 なんでそんなことしたの? 28 製品名 初期費用 月
額 GPS BoT ¥4,800(税別) ¥480(税別) キッズ携帯(キャリア) 約¥10,000 ¥500~¥980(2年縛りとかある) Office 365 Business Premium ¥0 ¥1,360(税別)年間契約の場合 Office 365の契約があるし、Flowで位置情報トリガーもでたし どうにかしてGPS BoTみたいなものがつくれないかなと思ったのがきっかけです でも、Flowの位置情報トリガー最近全然反応してくれない・・・orz
Sensitivity: Confidential # h365ug 29 まとめ 29 Office365を契約している逸般の誤家庭であればo365利用料金内で構築可能 Officeソフトも使えて、お子様のお迎えも無駄なくいける! (位置情報トリガーが動いてくれれば・・・)
Office 365を契約して誤家庭で使い倒そう!!
Sensitivity: Confidential #h365ug https://blog.intracker.net/ @ken_hikita hank ou! 30