Inspiration
My family bought a puppy during quarantine named Midas. He is a lovely, energetic, very time-consuming lad to play with, but issues arose once the world got back on its feet and suddenly my whole family became quite busy. We would struggle to remember basic things like refilling his water bowl, hearing him call out to go to the washroom from downstairs, and so on. Thus, I wanted to create an IoT that connects to cell phones and pings busy people with a reminder to slow down and spend time taking care of their pups.
What it does
This IoT system allows busy dog owners to receive push notifications to their phones when their dog's water bowl becomes empty or when the dog needs to go outside, so that even if the person is fully absorbed in their tasks, as long as they have a phone on them, they can be reminded to take good care of their dog
How we built it
The IoT part is composed of two parts: the washroom sensor (or as I call it, the Pee Sensor) and the Water Sensor.
- The Pee sensor uses an ultrasonic distance sensor and microphone connected to an ESP12E WiFi Arduino to determine when a dog is barking and waiting by the door to go outside.
- The Water sensor plugs into another ESP12E WiFi Arduino and determines how full a dog's water bowl is.
Both devices transmit this data to a Firebase Realtime Database, which can be accessed by other devices like, say, a phone application. The iOS application provides a simple, clean U/I to see how full your dog's water bowl is and to receive notifications when your dog needs to get outside urgently!
Challenges we ran into
- Installing the correct libraries and versions for the Arduino (the perfect pairing are both outdated libraries that happen to work perfectly together)
- Finding the correct "fingerprint" of Firebase for the Arduino library
- Dealing with finicky quirks of the ESP12E chip (such as having to unplug power and reset the board on startup)
- Sending data to the Firebase database without revealing my own WiFi password
- Trying to learn Swift and XCode for iOS app development in 3 hours on very little sleep
Accomplishments that we're proud of
- Finding the right libraries and configurations for the hardware
- Creating two devices that successfully transmit fairly clean sensory data to a real database
- Learning the basics of Swift and app development by creating the U/I
- Continuing to power through the hours and hours of failure and have something to show at the end
What we learned
- Troubleshooting
- Patience
- Water level sensor/ESP12E/Ultrasonic sensor/Microphone
- Firebase Realtime Database
- Swift/Xcode
What's next for DogTime
DogTime has tons of potential to be a really useful, innovative app for all types of dog owners. Possible new features include...
- A page to meet similar size/temperament dogs and arrange playdates
- An API that tells a dog owner whether their dog can eat a certain food or not
- A pressure sensor to monitor food bowl levels
- IoT devices on the dog itself to track physical activity
- A health section on the app to keep track of weight, height, veterinary appointments, medication, etc.
Log in or sign up for Devpost to join the conversation.