インドに行ってきました(滞在編)

仕事の都合で7/6~14の7泊9日でインドのバンガロール(ベンガルールゥ)に行ってきました。

今回は滞在編です(過去記事は出発編リゾート(?)編です)。

時系列ではなく、カテゴリ別で紹介します。

ホテル

今回泊ったのは職場から徒歩20分くらいのComfort INN Insysというホテルでした。(後で知ったのですが、Confort INNって日本にもある世界的ホテルチェーンだったんですね・・恥)

現地スタッフが交渉してくれて、朝夕食事、洗濯物5点込みで約1万円でした。(海外出張常連の先輩によると、洗濯物は食事より大切らしい)

現地の物価で考えると少し高いですが、高いだけあって設備も良く、ノーストレスで過ごすことができました(本当にありがたい)。

特にありがたかったのが朝食で、ビュッフェスタイルで洋食が食べられたことです。

11年前に来たときは3食インド食で、2日で食事が嫌になってしまったけど、この朝食のおかげでめちゃくちゃ救われました。

食事

インドから帰ってよく聞かれるのが「カレーばっかりだった?」なんですが、実際には1週間の滞在で2,3回しかカレーは食べませんでした。

写真に写っているパンはナンとパラタと言うやつです。ナンは日本で見るものとかなり違っていました。

https://behonest-bekind.com/many-kind-of-indian-naan

食事で一番印象深かったのがステーキでした。ヒンズー教では牛は神様なので、食べる人は少ないのですが、日本人の先輩がステーキハウスに案内してくれました。

ワインと合わせて3500円くらいで食べられました。

味は驚くほど美味しいということはなかったけど、シャトーブリアンという普段食べられないものが安く食べられてテンション上がりました!

そのお店で印象に残っているのが、シーリングファンがすごい勢いで回ってて、驚くほどの速さでステーキが冷めたことです。聞いたところでは、虫よけのため、強い風を送っているそうです。

あと、昼食は現地のスタッフが毎回屋台飯を買ってきてくれて、それを職場で食べてました。「めちゃくちゃ美味い!」ってことは無いけど、現地でしか楽しめない味でした。

そして何より安い!1食100円~300円くらいで食べられます。やはり現地人向けのものは安かったです。

チャイ

職場の現地スタッフは毎朝夕とチャイブレイクをしていて、一緒に連れて行ってもらいました。

お店はなんか懐かしさを感じさせる街角にあって、ぱっと見KIOSKみたいな感じです。瓶入りのケーキや吊り下げでシャンプーやスパイス、お菓子も売ってます。さらに不動産もやっているようで、貸し部屋の情報もあってなかなかカオスです。

お店のおじさんがカタコトの日本語であいさつしてくれて楽しかったです。

写真撮り損ねましたが、チャイは持ち帰りもできます。アツアツのチャイをビニール袋に入れてもらって、紙コップと一緒に持ち帰るスタイルです。

通勤路

今回、ホテルが職場から徒歩15分の距離だったので、毎日歩いて通いました。

ローカルな路地でしたが、道にニワトリが居たり、歩道に石が積み上げられっぱなしといった感じで、正直11年前からあんまり変わってないと感じました。

大通りに出ると、果物とかチャイ、衣類の屋台が出ていています。

他には暇そうなおじさんたちがたっくさんいます。

時々道端で寝てるので、「うわ!」ってびっくりすることがままあります。

インドの人はゴミを道に捨てる人が多く、ネズミもたくさんいます。

治安について

YouTubeでインド旅行の動画とか見ると「タクシーの客引きがすごい」とか、「詐欺師ばっかり」とか聞きますが、今回滞在したバンガロールは観光客もすごく少ないので、そういったこともありませんでした。

夜もホテル前の大通りは夜12時とかでも賑わっていて、特に危険を感じることはありませんでした。

歩きスマホしてると、現地のスタッフに「盗難に気をつけろ」と注意されたので、多少そういったこともあるのだと思います。

交通事情

公共交通機関が十分に発達しておらず、基本的にUber(白タク)やオート(タイのトゥクトゥク)での移動となります。渋滞も起きやすいので、時間通りの移動がすこぶる難しいとのこと。

Uberが使えるのは便利なのですが、ほとんどクレジット決済が使えません。QR決済(PayPayみたいなやつ)が便利そうなのですが、インドの銀行口座が要るものが多く、旅行者にはハードルが高かったです(2024年現在)。

あとUber、便利は便利なのですが、運転手がスマホでずっと誰かと電話してるので、なんか落ち着きません。窓ガラスにヒビ入ってる率も高いです。

都市部

職場は中心部から外れた場所にあるのですが、企業訪問などで都市部にも少しだけ行きました。

商業地区のメインストリートは100メートルくらいしかなく、渋滞してました。歩いている人たちも心なしかお金持ちな感じでした。

中心街にはおしゃれなビルに加え、11年前にも見た竹らしき木材の足場で工事中のビルもありました。

別の日には大都市を思わせる高層ビルやショッピングモールにも行きました。

都市部に関しては都会感あります。

お酒は日本ほど簡単に入手できませんが、酒屋で普通に買えます。

ただそれほど安くはなく、日本と同程度です。

ちなみに前回滞在したときは選挙期間だったらしく、酒の販売が禁止されていたので、入手にすごい苦労しました。今回はそういうこともなく、普通に買えました。

クラフトビールも人気で、フラッと入ったお店に醸造設備があって、うまいクラフトビールが飲めました。

クラフトビールでよく聞くIPA(India Pale Ale)ってインド産の麦を使っているのかと思ったら、そういう訳じゃないんですね・・恥

その他

ホテルの真正面の建物の2回に美容院がありました。ちょうど散髪時だったので、夕食後、お酒を飲んだ勢いで行ってみました。

が、予約が一杯だったようで、入れませんでした・・残念。

通勤路には超ローカルっぽい散髪屋がありましたが、さすがに勇気が無くて入れませんでした。また次に来た時に散髪に挑戦してみたいです。

まとめ

今回は仕事で滞在した期間の5日分をまとめて投稿しました。あっちに居る時は1日があっという間に終わって、淡々と過ごしていたと思ったけど、写真で振り返るとそれなりにいろいろあったなぁと思いました。

感想としてはバンガロールはアジアのシリコンバレーと聞いていたけど、過ごした場所がらか、あまりそういう印象は受けず、以前出張で行ったベトナムのホーチミンと似た印象でした。

街並みも11年前と大きく変わっておらず、「まだまだ途上国」と言った印象でした。職場の日本を知るインド人スタッフによると「日本並みになるには50~70年かかる」とのことでした。さすがにその時は生きていないだろうけど、いつかきれいな街並みを見てみたいと思いました。

頑張ろう、インド!

インドに行ってきました(リゾート編)

仕事の都合で7/6~14の7泊9日でインドのバンガロール(ベンガルールゥ)に行ってきました。

今回はリゾート(?)編です(前回は出発編でした)。

旧友との再会

実は今回のインド訪問は2回目で、1回目は友人の結婚式に参加するために11年前(2013年)に訪問しました。
その友人というのが、私がかつて派遣でお世話になっていた会社に来ていたKumar(クマール)さんです。
Kumarさんの職場の先輩が私の最初のインド人友達Sunil(スニール)さん。
今回、到着翌日の日曜日、その2人がわざわざ会いに来てくれました。

移動翌日で休養日の予定でしたが、リゾート(?)に連れて行ってくれるとのことで行ってきました。

1日車をチャーターしてくれたようで、以前日本で会ったVijay(ヴィジャイ)さん、初対面のVinay(ヴィナイ)さんと朝9時過ぎにホテルに到着。
歓迎のお土産(大量のスパイス)と花(!!)を持ってきてくれました。

11年ぶりの再会が嬉しかったし、あちらも喜んでくれているのが嬉しかったー!

リゾート!!

移動中の車ではビルの並ぶオフィス街と脇道に入ると旧式の家という、発展途上の表と裏を体験。

車で30分くらいでクラブカバナという施設に到着!

「リゾートって何?」だったんですが、プールとバーに加えて、ボウリングやビリヤード、アーチェリーなどの遊戯設備が一体となった設備でした。

その昔、広島にあった「ナタリー」を思い出しました。

一番盛り上がったのがボウリング!
4レーンしかないボウリング場をほぼ貸し切り状態で楽しみました。

個人的には1ゲーム目は83で最下位(アウェイの洗礼)、2ゲーム目は144でトップ(抜群の修正力)という成績でした。

電力が不安定なインドですが、ボウリング場は停電でもスコアが消えないBCP対策がされていたことと、スコア表示のPCのOSが中国版Windows XPだったのが印象的でした。

一番長く過ごしたのがバーで、朝からダラダラ飲むビール(キングフィッシャー)は最高でした!

リゾート内では食事もとれました。
朝食、昼食、おやつと地元ならではのものが食べられました。

そんなこんなで半日めちゃくちゃ堪能しました。

夕食

チャーター車で街に戻り夕食へ。

KumarさんもSunilさんも途中に何度も電話がかかってきてて、「偉くなったんだなー」と思いました(マネージャーになったらしい)。

お別れ

夕食後、チャーター車でホテルまで送ってもらってお別れしました。

Sunilさんはチェンナイという離れたところから、このためだけに来てくれたそうで、その日の夜行バスで帰り、明日は仕事とのことでした(ありがたいが申し訳ない)。

感謝を伝えると、「自分たちが広島に行ったときにすごくよくしてくれたから感謝してるんだよ」と言ってくれてちょっとウルっときました。

インド人の温かさ、Kumarさんの明るさ、Sunilさんのやさしさに触れ、元気もらった1日となりました。
みんな、元気でまた会おうな!

インドに行ってきました(出発編)

私の働く会社はベトナム、インドに海外拠点があります。
ベトナム社は2022年に行ったのですが、インド社には行けてなかったので、今回、7/6~14の7泊9日でインドのバンガロール(正しくはベンガルールゥ?)に行ってきました。

これから数回に分けて報告していきたいと思います。

いざ出発

バンガロール行きの航空機は唯一、成田空港からJALの直行便が出ています(2024年現在)。

ただ到着時刻が深夜になることと、広島から成田までの移動が煩わしかったので、福岡空港からシンガポール航空で行くことにしました。

シンガポール空港で5時間の待ちがあるものの、JALに比べて費用が半額くらいで安く、LCCではないので、食事や設備(個別モニタや機内Wi-Fiなど)もしっかりしてて快適でした。

※出発直後に異臭騒ぎで機内パニックになったのもいい思い出

シンガポールでトランジット

乗り換えで5時間滞在したシンガポールのチャンギ国際空港、世界で最も快適な空港らしく、無料の仮眠スペースもあって、これもまた快適でした。

空港内のフードコートでシンガポール名物のチキンライスの注文にも成功し、満足満足。

インド到着

福岡⇒シンガポール便はガラガラだったけど、シンガポール⇒インド便はほぼ満席・・
後で聞いたらインドからシンガポールに観光に行くインド人が多いらしいです。
物価高のシンガポールに観光とは、インド人お金持ちなんだなぁ・・

出発が1時間くらい遅れ、乗り換え後、4時間くらいでバンガロールのケンペゴウダ国際空港に到着。
到着は現地時刻で夜11時ですが、日本との時差が3時間半あるので、体感は深夜でクタクタです。

インドはビザが要るのですが、事前申請よりオンアライバルビザ(VOA)が楽と聞いていたので、入国審査時にビザ申請したのですが、係のおじさんたちが慣れていないようで4,5人がかりでめっちゃ時間かかりました。
申請料は2000ルピー、日本円で4000円弱です(カード使えました)。
VOAは以下に詳しくありました。

https://www.tokutenryoko.com/news/passage/12474#india_voa

事前に準備してくれていたタクシー(約3000ルピー、高!)でホテルに無事到着。

寝酒に先輩が準備してくれていたビールをいただき、長い一日が終わりました・・続く。

おまけ:楽天モバイル、Gemini大活躍

今回、出発前に業務がバタバタしてたので、事前調査があまりできませんでした(特にシンガポール)。
でも今回は楽天モバイルの無料海外ローミング(対象国で2Gまで無料)とGoogleの生成AI、Gemini(無償版)のアプリのおかげで不自由なくたどり着くことができました。

海外ローミングのおかげでSIM購入することなく着陸後すぐにネットにつながる、わからないことがあればGeminiが教えてくれる。
テクノロジーに感謝!

Gemini
わからんことはGemini先生に相談

組織と自分について考えてみた

昨日(10/23)、所属する会社の70周年記念式で宇宙飛行士の野口聡一さんのご講演を聴かせていただきました。

野口さんのお話の中で「言語化」というキーワードがありました。

以前から、自分には自分の考えを言葉にする言語化能力が足りていないと感じ続けていたのですが、(多分後悔するということは知りつつ)悶々とする思いを文章化してみようと思います。

野口さんのお話は「NASAのチームビルディング」がメインでした。

講演のなかで個性あふれる寄せ集めチームがドリームチームになるにはどういう過程を経る必要があるか・・というお話があり、チームとなるには四季:春はフォーミング(交流するとき)、夏はストーミング(ぶつかりながら理解しあうとき)、秋はノーミング(成果を出し始めるとき)、冬は・・で、日本人て春(フォーミング)は得意だけど、夏(ストーミング)は苦手だよね、でもここ乗り越えないと真のチームにはなれないよっていう・・(本当はもっと深いお話でしたが、文章力の無さが故・・)。

過去の経験で仕事でチームを作ろうとしたけど、夏:ストーミングが乗り越えられなかったので、自分にはリーダーは無理だ!と逃げるように異動させてもらいました。

でも私はチームというものが好きです。

ハッカソン(答えのない課題について考えて、参加者の知識や技量で解決するアイデアを出すイベント)に参加して、得意分野を持つ個々がコラボするという経験を経て、自分の想像を超える成果を出すことに震えた経験があったからです。

でも今、所属する会社ではチームはありません。放棄したので。

それでも会社でのチームワークを放棄した今、自分がするのは職場ではなく、コミュニティなどを含む自分の周りの人々と創る、本当のチームビルディングな気がしてきています。

今日は日本駐在中に仲良くしてもらっていたインド社の代表と、ベトナム社の副代表と会いました。

二人とも答えの無いチームビルディングに挑んでいます。

もっとがんばろう!と思いました。

情シス活動ふりかえり

こちらはcorp-engr 情シスSlack(コーポレートエンジニア x 情シス)#2 Advent Calendar 2022の22日目の投稿です。

初の情シス関連の書き込みです。

緊張と文才の問題で拙い内容ではありますが、温かい目で見守ってやってください。

自己紹介

改めてではありますが、私の属性です。

  • 広島県の非IT企業の情シス
  • プログラマー→派遣SE→総務の情シス(2013年~主にインフラ担当)
  • 3児の父(中年おじさん)

活動のふりかえり

かつての私

属性でも挙げましたが、私は非IT企業の情シスです。

しかも創業70年近い古い会社で、部署には「自営が正義」の風潮があり、私も「サーバーのお守りしながら残りの社会人生活を送るのかなー・・」と思っていました。

コミュニティ参加

ところが2018年、ある講座への参加をきっかけに、誘われるがまま地域のIT関連のコミュニティに参加するようになりました。

その関連で2020年つくばミニメイカーフェアに参加した際、懇親会でご一緒した方から「情シスSlack」の存在を教えてもらい、参加させていただくこととなりました。

正直、情シスSlackではあまり積極的に活動できていませんが、ツヨツヨ情シスの皆さんに気後れしながらも、他社の皆さんの活動を参考にさせていただいております。

この場をお借りして御礼申し上げます!

モブプログラミング導入

2013年の情シス異動後、システム開発からは離れていたのですが、2020年のIT系のイベントの発表者の方からでモブプログラミングというものを教えてもらいました。

当時はインフラ担当で「もう開発とかできないんだろうなぁ・・」と諦めていたところに、発表者の方にズドーンと衝撃を与えられ、「これだ!」と役員に直談判してシステム開発部隊に混ぜてもらい、プログラマーにカムバックを果たしました。

このあたりのお話はこちらのイベントで発表させてもらいました。

現在はほとんど活動停止状態ですが、いろいろな意味でいい経験となりました。

採用活動

他社の情シスの方も同じかと思いますが、弊社もIT人材の採用が大きな課題です。

IT人材は売り手市場ですし、まして地方の非IT企業なので、好んで来てくれる人なんて・・。

そこであるコミュニティで知り合った職業訓練をされている吉田先生に相談したところ、IT未経験ながらスジの良い訓練生を紹介してくれ、職場実習を経て入社してくれました。

吉田先生はbitzemiという会社で「市民開発者」の育成をされており、Power Platformのイベントで取り組みが紹介されていました(スゴイ!!)。

入社してくれたIT未経験の若者も約1年経ちましたが、元気に頑張ってくれています。

ご縁に感謝です。

インフラのクラウド移行

2019年、とあるイベントの懇親会で、他社の情シスの方とお話する機会があり、その時の自社の状況(サーバー自営)を話したところ、「え!まだそんなことやってるんですか?」と言われ、「このままじゃいかん!」と思いマインドを変えて動き始めました。

DNSはマネージドサービスに、Webはレンタルサーバーに、残ったサーバーはSaaS移行かIaaS環境にリフト・・少し時間がかかりましたが、2022年の6月に移行が完了しました。

異動

クラウド化を終え、やや燃え尽き症候群のような感じになりました。

また以前から総務の下の情シスとして働くことに限界を感じており、転職も考えたりしたのですが、ダメもとで異動を直訴したところ、経営戦略の部隊にIT担当として異動させてもらうことができました。

このあたりの話はちらのイベントで語らせてもらいました。

まだ役割はぼんやりしていますが、事業に貢献できる情シスとなれるよう、これから精進してまいります!

まとめ

だらだらと書き連ねてしまいましたが、何が言いたいかというと、社外のコミュニティやイベントの人とのつながりに助けられ、今の自分があるということです。

ここには書ききれませんでしたが、いろいろな人から学び、刺激を受け、自分が日々新しいことに挑戦できているなと実感します。

皆様、本当にありがとうございます!そして今後も仲良くしてやってください!!

それでは皆様、よいお年を。

2022年SORACOM活動ふりかえり

こちらはSORACOM Advent Calendar2022の18日目の投稿です。

https://qiita.com/advent-calendar/2022/soracom

これまでは技術寄りの投稿が多かったですが、これというネタが無いので、今年のSORACOM関連の活動(アウトプット)の振り返りをしてみたいと思います。

1/25 SORACOM UG Online #9 ~新春LT祭り~

登壇したことも忘れていましたが、年明け早々、全国イベントでLT登壇していました。

https://soracomug-tokyo.connpass.com/event/233053

発表内容はこのブログでも紹介したGPSマルチユニットで子供の幼稚園バスをトラッキングするネタ。

オチがイマイチでしたが、実生活でのIoT活用方法が紹介できたのと、Twitterで尊敬する方からコメントがもらえて、感激でした。

4/28 SORACOM UG 九州 #12

たまたま仕事の出張と日程が重なり、UG九州のオフラインイベントに参加できました。

https://soracomug-tokyo.connpass.com/event/244740

初めて広島以外の地方支部参加でしたが、非常にハイレベルな中、厚かましく拙いLTで登壇させていただきました。

ちなみにここで宣伝した草刈りeスポーツ大会ですが、構想から3年、コロナによる延期を乗り越えようやく5/14にイベント開催できました。(プロジェクトのリーダーのブログ

私はIoTデバイス担当で、M5StickC+SORACOMのシステム実装をやらせてもらいました。

トラブルもありましたが、無事にイベントを終えることができ、安心しました。

10/22 SORACOM UG Explorer 2022 @UG広島 〜秋のハンズオン祭り〜

ご参加の方はご存知かと思いますが、今年のExplorerは「秋のハンズオン祭り」ということで、全国5か所のサテライト会場を中継で繋ぎ、ハンズオンを実施しました。

私は広島会場の運営として参加させていただき、ほんの少しだけ発表もさせてもらいました。

https://soracomug-tokyo.connpass.com/event/261634

他会場のそうそうたる運営メンバーの皆様の中で気後れしまくりでしたが、大きなトラブルもなく、乗り切れました。

ご来広いただきましたkoyaさん、ご参加いただきました皆様、ありがとうございました!

11/24 Try SORACOMキャンペーン参加

完全におまけですが、年末に久々のTry! SORACOMキャンペーンがあり、ネタが浮かばず諦めかけましたが、何とか投稿できました。

過去イチ薄い内容でしたが・・

まとめ

今年は諸々の事情もあり、ちょっと活動少なめだったなぁと反省しています。

来年はUG広島オフラインイベント開催とかできればいいなぁと勝手に思っています。

それでは皆様、よいお年を!(雑っ!!)

ベトナムでソラカメ使ってみた

SORACOMのイベントで「好きなSORACOMサービスは『Try! SORACOMキャンペーン』です!」と言って失笑されるozkです。

久しぶり(約1年ぶり?)でしょうか、待望の「Try! SORACOMキャンペーン」です。

https://www.lp.soracom.jp/202210-blog-campaign

今回は色々とバタバタで過去イチ内容が薄いですが、せっかくなので挑戦してみます。

MEは何しにベトナムへ?

実はこのブログはベトナムのホテルで執筆しております。

私の所属する会社はベトナムとインドに拠点があり、ベトナム社はASEAN地区の案件対応の拠点として2014年から営業をしており、徐々に結果が出始めています。

とはいえまだ少人数でIT専任はおろか、兼任スタッフもおらず、情報セキュリティ対策など多くの課題を抱えているため、現地の状況確認という名目で1週間の滞在予定で、11/20から来ています。

2019年(深セン)以来やく3年ぶりの海外、コロナの心配や文化の異なるスタッフとの交流の難しさもありますが、異国情緒を楽しんでおります。

ベトナムの米麵料理、フォー

ソラカメとは

ご存じの方にはかなり今更感ですが、Soracom Cloud Camera Services ソラカメはクラウド録画機能を持つネットワークカメラです。

https://soracom.jp/sora_cam

低価格で高性能なAI機能付きネットワークカメラ、ATOM Camにクラウド常時録画機能が付いたものです。

ちなみに私が持っているのは上下左右に首振り可能なATOM Cam Swingです。

たった5000円弱でこんなに!と驚愕のコスパです(クラウド録画機能は月額費用が発生します)。

今回はこれをベトナムオフィスにこっそり持ち込み、使ってみました。

結果

早速ですが結果です。

以下のように配置し、事務所の無線LANに接続しました。

はい、見れました!

スマホアプリのライブ表示画面

…で?って感じですが、以下に先日公開されたソラカメAPIを使ってタイムラプス動画を作る方法が公開されています。

https://soracom.github.io/iot-recipes/iot-workshop-sora-cam-api-timelapse/#0

帰国後、これを参考にダレトクの私のベトナム勤タイムラプス動画にまとめたいと思います。

現場からは以上です。

(おまけ)ベトナムでSoracom Mobile使ってみた

以下のSoracom Mobileというサービスを先日知り、タイムリーに海外出張が入ったので使ってみました。

https://soracommobile.com/ja

飛行機着陸後、機内モード解除するとすぐネットに接続!

いやー、便利ですねー。

iPhoneお持ちで海外にお出かけの方、是非使ってみていただければと思います。

まとめ

今回は本当に薄っすい内容でした。

もしかしたら海外オフィスの監視に使えるんじゃない?という可能性を匂わせて終わりとさせていただきます。

追伸

キャンペーン開始時、締め切りが11/24だったので急いで書いたのですが、12/25に延長されていました(ガーン)。

ただせっかくなので、「海外で書いた」という響きに憧れて、薄い内容ですが当初の締め切り日に投稿させていただきます。

末筆ではございますが、ソラコムさん、いつもアウトプットの機会をいただき、ありがとうございます。

今後とも何卒よろしくお願いいたします。

幼稚園バストラッカー続編

例によって「Try! SORACOMキャンペーン」です!

https://www.lp.soracom.jp/202112-blog-campaign

はじめに

前回の投稿でSORACOMのGPSマルチユニットを使った幼稚園バストラッカーを紹介しました。

既製品のデバイスを手軽に使えて良かったのですが、このシステム、以下が課題だなーと思ってました。

  1. (デバイスの仕様上)位置情報の送信が1分に1回しかできない
  2. (機能が無いので)距離が正確に算出できない
  3. (機能の都合で)移動していない時も1分に1回情報を送り続ける

「もっと細かい設定ができたらなー・・」と思ってたら、ハッ!

前々回の投稿でスマホ(RedMobile)という絶好のIoTデバイス(武器)を手に入れていました。

早速調べると、やはりありました!locationノード。

お試し

最低限で以下のフローで動かせます。

subscribeノードのSensorを「GeoLocation」にしてデプロイします。

subscribeノード

injectノード実行でデバッグウィンドウに数秒おきに緯度経度が表示されます。

RedMobile最高!

ついでにダッシュボードに表示。

実装

ここからSORACOMです。

SIMグループのHarvest Data設定などは割愛させていただきます。

まず取得した緯度経度をflow変数にセットします。

そしてinjectノードで設定した周期でSORACOM(Unified Endpoint)にhttp request。

injectノード
http requestノード

「送信データ作成」functionノードは以下。

var data = {};
data["lat"] = flow.get("lat");
data["lon"] = flow.get("lon");

msg.payload = data;

return msg;

これで課題1(短周期での送信)が解決!

続いて課題2(ちゃんとした距離の算出)。

2点の距離は緯度経度、三角関数で出せるそうです。

前回は緯度経度を使い、三平方の定理もどきで距離っぽいものを出していましたが、今回はコレが使えます。

距離取得のfunctionノードを追加します。

var base_lat = (起点の緯度);
var base_lon = (起点の経度);
var now_lat = msg.payload.latitude;
var now_lon = msg.payload.longitude;

var dist = 6371 * Math.acos(Math.cos(base_lat * Math.PI / 180) * Math.cos(now_lat * Math.PI / 180) * Math.cos(now_lon * Math.PI / 180 - base_lon * Math.PI / 180) + Math.sin(base_lat * Math.PI / 180) * Math.sin(now_lat * Math.PI / 180)) * 1000;
flow.set("dist", dist);
msg.payload = dist;

return msg;

そして送信データに距離を追加するだけ。

var data = {};
data["lat"] = flow.get("lat");
data["lon"] = flow.get("lon");
data["dist"] = flow.get("dist");

msg.payload = data;

return msg;

課題3(移動時のみ位置データ送信)は同じ方法で前回の送信場所からの移動距離を判定して「移動していなければ送らない」を実装して解決(手抜きですみません・汗)。

実証

開発はSORACOM Arcでやりましたが、本番はSORACOM Air(SIM)を挿して息子のバッグに忍ばせます。

そしていつものSORACOM Lagoonで可視化。

いい感じです。

拡大するとわかるのですが、短周期なので、より細かいトラッキングができていました。

前回のオチで書いた通り、世のシステムが立派すぎてコレもお蔵入りですが、今後どこかで使えたらいいなーって思います。

補足

せっかく作ったので、通勤の時に持って歩いたところ、アレ?

実際のルート(赤線)は直線的なのに超ジグザグ・・

というのも私、河川敷を徒歩で通勤しているのですが、どうやらRedMobileのlocationは道じゃないところは苦手なようです。

やってみてわかることってあるなーと感じた2021年年末でした(雑な結び)。

みなさま、よいお年を・・

IoTで子育てHack

この記事は、「子育てエンジニアAdvent Calendar 2021」17日目の記事です。

私事ではありますが、10月に第三子(長女)が生まれ、10月中旬から1カ月強の育休をいただきました。

今回このアドベントカレンダーを知り、たぶん人生で最初で最後の育児休暇の間の育児と家事を通じ、エンジニアとして何か改善できないか取り組んだ記録を残してみたいと思います。

自己紹介と家族構成

私は社会人21年目の中年おじさんで、プログラマーとしてキャリアをスタートし、いろいろ経て今は社内情シス(主にインフラと雑用)をしているなんちゃってエンジニアです。

妻(専業主婦)と息子2人(5歳と3歳)、新入りの長女の5人で暮らしています。

幸い私も妻も実家が近い地元暮らしなので、母と義母に助けてもらいながら子育てができる恵まれた環境(感謝!)で、少しですが趣味の時間もとれる状況です。

育休中大変だったこと

育休中、家事と育児、色々大変でしたが、その一つが長男(5歳)の幼稚園バスのバス停までの送迎です。

特に行きはバスの到着時間がまちまちで、待ち時間が長いときは「なんだかなぁ」と思ってました。

幼稚園バスのイラスト

IoTで課題解決

概要

なんちゃってエンジニアの私ですが、2018年からIoT(Internet of Things)にちょろちょろ携わっていて、特にソラコムのデバイスやサービスを使うのが好きです。

今回、以下のGPSマルチユニットを使って、幼稚園バスの現在地を可視化(および通知)をしてみようと思い、挑戦しました。

https://soracom.jp/store/5235

実装

GPSマルチユニットの設定の方法は以下にあります。

https://users.soracom.io/ja-jp/guides/iot-devices/gps-multiunit

今回は送信モードを「定期送信 – 手動モード」、送信間隔を最短の「1分」にしました。

さらに高頻度に送信するため、加速度割込みも設定します。

これにより移動中は1分未満で位置情報が送れます(たぶん)。

可視化はSORACOM Lagoonというツールを使い、Soracom MAPパネルを使って地図を表示します。

https://soracom.jp/services/lagoon

実験

いきなり幼稚園に「バスにコレ載せてください」はお願いしにくいので、息子のカバンに手持ちの2台のGPSマルチユニットを忍ばせました(それもどうなの・・?って感じですが・汗)。

結果、いい感じでデータとれました。

行き(マップはぼかしてます)

残念ながらSORACOM Lagoonには距離を取得する機能がない(知らないだけかも)ので、下段の幼稚園の距離は幼稚園とバスの緯度経度の差の二乗和(×1,000,000)で出してみました(SQRTもなく苦肉の策)。

「緯度」と「経度」は幼稚園の緯度経度
($A - 幼児園の緯度) * ($A - 幼稚園の緯度) + ($B - 幼稚園の経度) * ($B - 幼稚園の経度) * 1000000

※幼稚園の緯度と経度はGoogleマップから取得しました。

この値でアラート機能を使えば出発&お迎え通知機能もできそうです。

オチ

「さて、幼稚園に提案しようかな」と思ったのですが、ふと「幼稚園バス GPS」でググってみたら、月にわずか数千円で使えて、より高機能なサービスが山のように。

ま、そりゃそうか・・

しかしこういうものがDIYでできるようになったのは「テクノロジーの民主化」、すごいなーって思います。

今回は微妙な結果でしたが、引き続き子育てや家事に役立つシステムを日曜大工的に作るのも悪くないなーと感じたなんちゃってエンジニアおじさんでした。

スマホで簡単IoT

今回の投稿は以下のイベントで発表した内容です。

https://iotlt.connpass.com/event/227874

せっかくなので、(締め切り直前ですが)いつものキャンペーンに参加してみます。

https://www.lp.soracom.jp/202110-blog-campaign

経緯

私事ではありますが、先日第三子(長女)が生まれ、育休をいただいています(現在4週目)。

育休中、資格の勉強や積読(つんどく)&積みデバイスの片付けをしたかったのですが、(先人の教えの通り)家事&育児でほとんどできていませんでした。

そこにイベント登壇の依頼があったので、せっかくなので育児にかかわるシステムを作りたいと思い立ち、赤ちゃんの見守りシステムを作ってみることにしました。

どうやって?

SORACOM UGでもお世話になっている「しょーちゃん」さんが先日、スマホでPoCするブログをアップされていました。

https://zenn.dev/showm001/articles/2021-08-12-01

今回、このAndroidスマホ+Node-RED(RedMobile)+SORACOMサービスで挑戦しました。

準備

RedMobile

RedMobileはスマホ内蔵センサーのノードを組み込んだNode-RED環境を提供するもので、有償(500円)ですが、Google Playからインストールするだけで使えます。

インストール後Wi-Fiに接続した状態でアプリを起動し、Startをタップします。

RedMobileの起動

Node-REDが起動され、「http://(ローカルIP):1880/red」と表示されます。

Node-RED起動後の画面

同一ネットワークのパソコンでブラウザを起動し、先ほどの 「http://(ローカルIP):1880/red」 にアクセスするとNode-REDの編集画面になります。

Node-RED編集画面

SORACOM Arc

SORACOM Arcというサービスを使うと、SIM不要でインターネット環境からSORACOMのサービスを利用することができます。

SORACOM ArcはスマートフォンにWireGuardというアプリをインストールして設定します。

詳細の手順は前述の「しょーちゃん」さんのブログをご参照ください。

つくったもの

以下の機能を持つ赤ちゃんの見守りシステムにしました。

  • スマホ内蔵の明るさセンサーで夜間の照明点灯時間を計測
    →授乳回数やおむつ交換の参考とする
  • スマホカメラで赤ちゃんの睡眠の様子を観察する

携帯画面

Node-REDのダッシュボード機能でこんな画面を作りました。

携帯画面

SORACOMダッシュボード

SORACOMサービスとしては、明るさセンサーのデータはSORACOM Harvest Data、カメラで撮影した画像はSORACOM Harvest Filesに保存し、SORACOM Lagoonで可視化しました。

Lagoon画面

実装

Node-RED

以下のようなフローとなりました。

Node-REDフロー

詳細は別の機会に紹介できればと思います。

SORACOM

光センサーデータの送信は「しょーちゃん」さんのブログ、画像の送信&可視化は以下を参考に実装しました。

https://users.soracom.io/ja-jp/docs/harvest/send-files

https://users.soracom.io/ja-jp/docs/harvest/lagoon

画像送信はいろいろ問題があったので、後日まとめてQiitaにでも上げておきます。

テストの結果

結論から言うと失敗でした。

理由はスマホの明るさセンサーが作業時の常夜灯に反応せず、0だったが原因です。

写真も当たり前ですが、電気を消すと真っ暗…

テスト運用結果画面

まとめ

今回の開発システムは失敗でしたが、特別なデバイスを使わず、スマホだけでセンサーデータ、カメラ画像をSORACOMにアップロードできるのはいろいろと可能性が広がります。

また、「スマホだけでできる」というのはビギナーにとって「試してみる」のハードルを下げられるのではないかと思っています。

謝辞

くどいですが今回のシステムは「しょーちゃん」さんのブログのおかげで作ることができました。

また「しょーちゃん」さんには「もくもく会」でも直接アドバイスをいただき、感謝です。

https://soracomug-tokyo.connpass.com/event/229776

またイベント登壇のお声がけをいただきました武村さん、ブログ書くモチベーションをくださるソラコムさんいつもありがとうございます。