Roboconnect
Control your mower, change the mowing times or check the current status information of your mower. Receive push notifications about the recent activities of your mower.
1500
Downloads
4000
Active Devices
400
Active Subscriptions
What's Roboconnect?
Roboconnect is an companion app to a third party module
which you can install in compatible robotic lawn mowers. Learn more about the third party module called - Robonect.
The App is a versatile tool
designed to enhance your lawn care experience by simplifying the
management of your robotic lawn mower. It empowers you with a range
of practical features that put you in control of your lawn maintenance.
With Roboconnect, you gain the ability to monitor and
adjust your mower's operations effortlessly. Stay informed in
real-time about your mower's activities through push notifications,
ensuring you're always aware of what's happening in your yard.
One standout feature of Roboconnect is its Joystick control,
which allows you to take direct control of your mower's movements.
This feature provides a hands-on approach for those who prefer to
guide their mower manually.
Roboconnect allows you to submit specific
mowing instructions to your mower, enabling you to tailor
its mowing patterns to your liking. You can easily modify
the mowing schedule to suit your needs, providing
convenience and adaptability to your lawn care routine.
Roboconnect also offers detailed status information
about your mower, delivering insights such as battery
levels and operational conditions. This data empowers
you with a comprehensive overview of your mower's
performance, ensuring you can address any issues promptly.
How did I do it?
CloudFront 🌍
CloudFront is probably a bit overkill for what I am doing but it solves a very specific problem for me.
The third party software that is running on Robonect
will call my backend if there is a new message that
should be pushed to the user. Unfortunately it does not support HTTPS and Amazon's API Gateway does not Support plain HTTP.
There for I leverage CloudFront to accept HTTP calls and send them to my API Gateway with the added benefit of CloudFronts low latency.
API Gateway 🔗
The API Gateway exposes two APIs. One for registering new push device tokens and second to send new push messages to the devices.
Step Functions 🥾
Since the Apple Push servers do have a Sandbox and a Production production environment... Step Functions was the perfect fit to create the different SNS topics and SNS mobile push application endpoints.
Lambda & SNS 📮
Last but not least the API Gateway will call a lambda function wich in return check, construct and send the push message payload to an SNS topic.
Behind Roboconnect
Roboconnect holds a special place in my journey as
it marks not only my first venture into app development
but also my sole creation on the Apple App Store to date.
Technically speaking, Roboconnect is built using Swift,
a powerful programming language, and a blend of UIKit
and SwiftUI, which are popular frameworks for developing
iOS applications. To streamline the development process and
enhance the user experience, I integrated several third-party
libraries, simplifying the app's design and functionality.
One of the standout features of Roboconnect is its push
notification system, which is available for a modest
annual subscription fee. This functionality operates by
transmitting status information from your lawn mower to a
backend infrastructure hosted on Amazon Web Services (AWS).
To facilitate the seamless transfer of data, I
employed a combination of AWS services. An API Gateway
serves as the entry point for incoming messages, while
Lambda functions and the Simple Notification Service (SNS)
play pivotal roles in processing and delivering these
notifications. Additionally, DynamoDB comes into play for
securely storing customer subscription information.
The process involves cross-referencing the mower's
unique identifier with the corresponding user profile to
verify their subscription status. If the user is subscribed,
the status information from the mower is routed through SNS, which
in turn forwards the push messages to Apple's push servers.
Get In Touch
Let's talk about Work, Life, Traveling, Bouldering, Everything
Don't like forms? Reach out to me on LinkedIn