Sponsoring
Contents
まとめ – SwiftGardenの実装を終えて
この記事はiOSDC2023で発表したセッション、Swiftでりんごを育ててみたの発表のまとめの内容をまとめた記事になります。
「4.iOSアプリでデータを確認する – Swift Chartsの実装」の記事の続編です。もしまだ読んでいない方は読んでいただけると!
SwiftGarden 4.iOSアプリでデータを確認する - Swift Chartsの実装この記事は、「Swiftでりんごを育ててみた」の4部「iOSアプリでデータを確認する - Swift Chartsの実装」の内容をまとめた記事になります!...
今回の発表ではSwift&RaspberryPiを使って、家庭菜園に関するタスクの自動化/省力化に挑みました
まとめとしては…
- 普段書いているSwiftでもラズパイの開発ができる
- ラズパイ(Linux)とMacOSではSwiftの挙動に差異がある
- ハードの実装には普段のiOS開発とは異なる経験や知見が必要
- 普段のiOS開発の環境はかなり恵まれているように感じる
- 去年同様、身の回りの課題をアイデアと実装で改善するのは楽しい
- ハードの実装+iOSアプリの連携は色々応用が効きそう
- 野菜を育てるのはとても大変、今まで以上に大切に食べたい
去年の発表でも感じましたが、ハードウェアの実装は普段のアプリ開発とは異なる勘所や知識が必要で、奥深さもありつつ、経験が必要かなと思いました
Bluetoothとかも使えるとより幅が広がりそうです!
また自分で野菜を育ててみると感じますが、なかなか野菜を、さらにスーパーで売ってるように綺麗に育てるのは大変で、いつも当たり前のようにスーパーで買えるのにもありがたみを感じます
より食べものを大事に食べようと思いました
今回はα版的な開発だったので、実装してみると色々と改善したいことや追加で実装したいことが出てきました
- 土壌/気温センサーのデータによる実行の自動化
- 「土壌の水分量が〇〇以下になったら、」、「温度と湿度が〇〇の条件を満たしたら」といった条件を設定し、それらの条件をトリガーに実行できればと思っています
- 給水チューブのカスタマイズ(均一に給水できるようにする)
- 撮影写真のサイズのリサイズ(今は数百KB~1MBくらい)
- 今は画像サイズが大きいので、ダウンロードも時間かかってしまい、かつCloudStorageの料金もお金がかかってしまいます
- 夜間の写真撮影の工夫(赤外線カメラの利用など)
- 最初に実装した時に、夜中は真っ暗だったので、せっかく写真を撮っても何も映ってなかったです笑
- 屋外でも利用できるようにする
- 電源確保、防水・防塵・防虫・防熱、セキュリティなどの追加対応が必要です
- アプリからスケジュールなどの設定ができるようにする
- リアルタイムでの設定反映は大変そうなので、指定時間にラズパイ側からFirestoreの設定情報を取得するなどの実装をすれば、低コストで実装できそうです
- もしくはiOSのSDKだと標準で実装できるような、Firestore側の変更を監視する仕組みを実装できればいけるかもしれない…?
今後もっと大きな家に引っ越したりして、よりのめり込めるようになったら、beta版/本番運用と実装を進化させていければと思います
ちなみに今回買ったパイナップルですが、この状態からスーパーなどで見かける状態になるまで、2~3年かかるそうなので、その結果はiOSDC2026までお待ちください~
参考資料
- Raspberry Pi Documentation – Camera software
- https://www.raspberrypi.com/documentation/computers/camera_software.html
- Google Cloud Storage JSON API の概要
- https://cloud.google.com/storage/docs/json_api
- Cloud Firestore REST API の使用
- https://firebase.google.com/docs/firestore/use-rest-api
- https://firebase.google.com/docs/firestore/use-rest-api
- ラズパイ – 水中ポンプを制御しよう
- https://zenn.dev/kotaproj/articles/4903ba3b416269
- https://zenn.dev/kotaproj/articles/4903ba3b416269
- Creating a chart using Swift Charts
- https://developer.apple.com/documentation/charts/creating-a-chart-using-swift-charts
- https://developer.apple.com/documentation/charts/creating-a-chart-using-swift-charts
- SwitchBot API v1.1
- https://github.com/OpenWonderLabs/SwitchBotAPI
0
Sponsoring