An IoT-based smart cradle system designed to assist parents in monitoring and soothing their infants.
- Remote Monitoring: Constantly monitor the baby via sensors.
- Notifications: Receive alerts on your mobile device if the baby wakes up, cries, or wets the bed.
- Automated Rocking: Side-to-side rocking motion to soothe the baby using a geared motor system.
- Environmental Monitoring: Check temperature and humidity around the cradle.
- Live Video Streaming: View live video feed from the cradle's camera.
- Cloud Storage: Store and analyze data in real-time using Firebase.
- Arduino Uno: Microcontroller for managing sensors and motors.
- Raspberry Pi: For handling the camera and data processing.
- Sound Sensor: Detects baby’s cries.
- Water Sensor: Detects moisture indicating a wet diaper.
- DHT11: Measures temperature and humidity.
- Pi Camera: Captures live video feed.
- Servo Motor: Controls the rocking motion.
- Power Supply Module: Powers all the components.
- Arduino Uno: Connect sensors and servo motor.
- Raspberry Pi: Set up Pi Camera and connect to the Arduino.
- Sensors: Attach sound, water, and DHT11 sensors to the Arduino.
- Power Supply: Ensure a stable power source for all components.
- Mobile App: Install the companion app on your mobile device to receive notifications and monitor data.
-
Clone the repository:
git clone https://github.com/riy4z/smart-cradle.git
-
Navigate to the project directory:
cd smart-cradle
-
Set up the Arduino:
- Upload the Arduino code from
smart_cradle/
directory to your Arduino Uno using Arduino IDE.
- Upload the Arduino code from
-
Set up the Raspberry Pi:
- Run python script
cradle.py
inRaspberry Pi Code/
directory to run the flask application and camera script. - Dependencies for python are cv2, serial, firebase_admin, pygame, flask
- Run python script
main.py
inCry Detection (ML)/
directory to run the Real Time Cry Detection Model.
- Run python script
-
Configure the mobile app:
- Navigate to the
BabyMonitoringApp/
directory to set up and configure the mobile application. - Use
npm i
to install all the dependencies required for the react native application. - Then use the command
npx expo start
to run the React Native Application - Use Virtual Emulator or Expo go app from playstore to use the mobile application.
- Navigate to the
- Place the baby in the cradle.
- Ensure all sensors and components are properly connected.
- Use the mobile app to monitor real-time data and receive alerts.
- Adjust cradle settings via the mobile app as needed.
- Mobile Application
- Raspberry Pi Terminal
- Cry Detection Model
Live Video Streaming is implemented using ngrok service, so setup ngrok service in the Raspberry Pi and tunnel the port 8080 to the internet
For any inquiries or support, please contact Riyas Ahamed J at jriyazamd@gmail.com.