मोबाइल ऐप्लिकेशन में Pedometer (पेडोमीटर) एक सॉफ्टवेयर-हार्डवेयर तंत्र है जो एक्सेलेरोमीटर और जायरोस्कोप के डेटा के आधार पर उपयोगकर्ता के कदमों की गणना करता है। आधुनिक स्मार्टफोन सेंसर के साथ मशीन लर्निंग एल्गोरिदम का उपयोग करके चलने, दौड़ने और अन्य शारीरिक गतिविधियों का सटीक पता लगाते हैं। Apple HealthKit Documentation, 2025 के अनुसार, आधुनिक उपकरणों पर सामान्य चलने के दौरान कदम गणना की सटीकता 95–97% तक पहुँचती है।
मुख्य बिंदु
पेडोमीटर (Pedometer) मोबाइल ऐप्लिकेशन में एक फ़ंक्शन है जो स्मार्टफोन के अंतर्निर्मित गति सेंसर से प्राप्त डेटा के आधार पर उपयोगकर्ता के कदमों की संख्या निर्धारित करता है। पुराने यांत्रिक पेडोमीटर के विपरीत, मोबाइल पेडोमीटर सटीक लोकोमोशन गणना के लिए माइक्रोइलेक्ट्रोमैकेनिकल सेंसर (MEMS) और डिजिटल सिग्नल प्रोसेसिंग एल्गोरिदम का उपयोग करता है। आधुनिक कार्यान्वयन न केवल कदम गिनते हैं बल्कि गतिविधि को वर्गीकृत भी करते हैं: चलना, दौड़ना, सीढ़ी चढ़ना।
पेडोमीटर का मोबाइल उपकरणों में एकीकरण 2013 में iPhone 5s में M7 मोशन कोप्रोसेसर की शुरुआत के साथ संभव हुआ, जो न्यूनतम ऊर्जा खपत के साथ लगातार सेंसर से डेटा एकत्र करता था। आज, सभी आधुनिक स्मार्टफोन में सेंसर हब स्तर पर कदम गणना के लिए हार्डवेयर समर्थन है — एक समर्पित चिप जो मुख्य प्रोसेसर को जगाए बिना इनर्शियल सेंसर डेटा को प्रोसेस करती है।
स्मार्टफोन पर कदम गणना एक्सेलेरोमीटर सिग्नल के विश्लेषण पर आधारित है, जो तीन लंबवत अक्षों (X, Y, Z) पर डिवाइस के त्वरण को मापता है। चलने पर, प्रत्येक कदम एक विशिष्ट त्वरण पैटर्न बनाता है: पहले पैर उठाने पर ऊपर की ओर शिखर, फिर जमीन पर पड़ने पर नीचे की ओर शिखर। कदमों की दर (कैडेंस) चलने के लिए 100–130 कदम/मिनट और दौड़ने के लिए 150–180 कदम/मिनट होती है, जबकि त्वरण आयाम 2–6 मी/से² होता है।
एक्सेलेरोमीटर का कच्चा सिग्नल शोर और उच्च-आवृत्ति हस्तक्षेप से भरा होता है, इसलिए प्रसंस्करण का पहला चरण 3–5 हर्ट्ज कटऑफ आवृत्ति के साथ लो-पास फ़िल्टरिंग है। फ़िल्टरिंग के बाद, त्वरण वेक्टर की गणना की जाती है: a = sqrt(x² + y² + z²), जो डिवाइस की स्थिति से स्वतंत्र रूप से गति से संबंधित त्वरण को अलग करता है। फिर एल्गोरिदम सिग्नल में स्थानीय अधिकतम का पता लगाता है — प्रत्येक अधिकतम एक कदम के अनुरूप होता है।
गलत सकारात्मक परिणामों को कम करने के लिए (जैसे वाहन में हिलने-डुलने से), अतिरिक्त मानदंड लागू किए जाते हैं: न्यूनतम कदम आयाम (आमतौर पर >1.2 मी/से²), कदमों के बीच न्यूनतम अंतराल (चलने के लिए 300–400 मि.से.), और ऑटोकोरिलेशन के माध्यम से सिग्नल आवधिकता की जाँच। यदि शिखरों के बीच समय अंतराल अनियमित हैं, तो अनुक्रम को यादृच्छिक गति के रूप में चिह्नित किया जाता है और कदमों के रूप में नहीं गिना जाता।
मूल कदम का पता लगाने का एल्गोरिदम थ्रेशोल्ड डिटेक्शन विधि का उपयोग करता है: सिस्टम उन क्षणों की तलाश करता है जब एक्सेलेरोमीटर सिग्नल एक निर्धारित सीमा से अधिक हो जाता है और फिर आराम स्तर पर लौट आता है। ऐसी प्रत्येक घटना को संभावित कदम माना जाता है। दो दृष्टिकोण हैं: पीक डिटेक्शन और जीरो-क्रॉसिंग। पीक डिटेक्शन सिग्नल के अधिकतम को पकड़ता है, जबकि जीरो-क्रॉसिंग सिग्नल के माध्य मान को पार करने के क्षणों का पता लगाता है, जो कदम के आयाम पर कम निर्भर होता है।
आधुनिक कदम गणना एल्गोरिदम एक अनुकूली थ्रेशोल्ड का उपयोग करते हैं जो स्वचालित रूप से उपयोगकर्ता की चाल शैली के अनुसार समायोजित हो जाता है। सिस्टम पिछले 2–3 सेकंड में सिग्नल वेरिएंस का विश्लेषण करता है और रूट मीन स्क्वायर (RMS) को एक गुणांक से गुणा करके डायनामिक थ्रेशोल्ड की गणना करता है। यह गतिविधि प्रकारों के बीच क्रॉस-कैलिब्रेशन के बिना धीमी सैर और जोरदार दौड़ दोनों के दौरान सही कदम गणना की अनुमति देता है।
आधुनिक पेडोमीटर कार्यान्वयन न केवल पीक डिटेक्शन बल्कि गति पैटर्न को वर्गीकृत करने के लिए मशीन लर्निंग का भी उपयोग करते हैं। न्यूरल नेटवर्क मॉडल को विभिन्न परिदृश्यों से वास्तविक गतियों की हजारों घंटे की रिकॉर्डिंग पर प्रशिक्षित किया जाता है: समतल सतहों पर चलना, सीढ़ी चढ़ना, दौड़ना, वाहन में यात्रा करना। इनपुट विशेषताओं में एक्सेलेरोमीटर और जायरोस्कोप टाइम सीरीज़ शामिल हैं, और आउटपुट यह संभावना है कि वर्तमान सिग्नल सेगमेंट मानव लोकोमोशन के अनुरूप है।
Google Activity Recognition शोध के अनुसार, कन्वोल्यूशनल न्यूरल नेटवर्क (CNN) पर आधारित मॉडल बेंचमार्क डेटासेट पर 98% चलने की पहचान सटीकता प्राप्त करते हैं। Apple उपकरणों पर, 100,000 से अधिक स्वयंसेवकों के डेटा पर प्रशिक्षित Activity Classification मॉडल के साथ Core ML का उपयोग किया जाता है। ऑप्टिमाइज़ किए गए मॉडल सीधे डिवाइस पर चलते हैं (on-device inference), जो तत्काल प्रसंस्करण सुनिश्चित करता है और उपयोगकर्ता की गोपनीयता बनाए रखता है।
import CoreMotion
class PedometerObserver {
private let pedometer = CMPedometer()
func startTracking() {
guard CMPedometer.isStepCountingAvailable() else { return }
pedometer.startUpdates(from: Date()) { data, error in
guard let data = data else { return }
let steps = data.numberOfSteps.intValue
let distance = data.distance?.doubleValue
let floorsAscended = data.floorsAscended?.intValue
// चरणों की संख्या के साथ UI अपडेट करना
DispatchQueue.main.async {
// self.stepsLabel.text = "\(steps) कदम"
}
}
}
func stopTracking() {
pedometer.stopUpdates()
}
}
iOS पर पेडोमीटर तक पहुँचने के लिए Core Motion फ्रेमवर्क से CMPedometer क्लास का उपयोग किया जाता है। CMPedometer न केवल कदमों की संख्या प्रदान करता है, बल्कि तय की गई दूरी, मंजिलों की संख्या (चढ़ाई), चलने की गति और गतिविधि की अवधि भी प्रदान करता है। डेटा रियल टाइम (startUpdates) और अतीत की किसी भी अवधि (queryPedometerData) दोनों में उपलब्ध है। मोशन कोप्रोसेसर (M-सीरीज़) सेंसर डेटा को हार्डवेयर स्तर पर प्रोसेस करता है, जो सॉफ्टवेयर प्रोसेसिंग की तुलना में ऊर्जा खपत को 80% कम करता है।
Android पर पेडोमीटर कार्यक्षमता दो हार्डवेयर सेंसर के माध्यम से कार्यान्वित की जाती है: TYPE_STEP_COUNTER (बूट के बाद से संचयी कदम काउंटर) और TYPE_STEP_DETECTOR (प्रत्येक कदम पर ईवेंट जनरेशन)। TYPE_STEP_COUNTER को कैलिब्रेशन की आवश्यकता नहीं है और यह प्रोसेसर ऊर्जा की खपत नहीं करता — डेटा सेंसर हब स्तर पर हार्डवेयर में अपडेट होता है। दैनिक कदमों के संचित आँकड़ों तक पहुँचने के लिए, DataType.TYPE_STEP_COUNT_DELTA रिकॉर्ड के साथ Google Fit API का उपयोग किया जाता है।
import android.hardware.Sensor
import android.hardware.SensorEvent
import android.hardware.SensorEventListener
import android.hardware.SensorManager
class StepCounter(
private val sensorManager: SensorManager
) : SensorEventListener {
private var totalSteps = 0
private var previousSteps = -1
fun startListening() {
val sensor = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER)
sensor?.let {
sensorManager.registerListener(this, it, SensorManager.SENSOR_DELAY_NORMAL)
}
}
override fun onSensorChanged(event: SensorEvent) {
if (previousSteps < 0) {
previousSteps = event.values[0].toInt()
}
val currentSteps = event.values[0].toInt()
totalSteps = currentSteps - previousSteps
}
fun getStepCount(): Int = totalSteps
override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {}
}
पेडोमीटर की सटीकता कई कारकों पर निर्भर करती है: स्मार्टफोन की स्थिति (हाथ, जेब या बैग में), गतिविधि का प्रकार (चलना, दौड़ना, सीढ़ी चढ़ना) और सेंसर की गुणवत्ता। जब स्मार्टफोन पैंट की जेब में रखा जाता है, तो सटीकता 93–97% तक पहुँचती है; बैग या बैकपैक में यह घटकर 70–85% हो जाती है। सटीकता उपयोगकर्ता की चाल शैली से भी प्रभावित होती है: कम त्वरण आयाम वाली घिसटती चाल स्थिर कदम की तुलना में अधिक त्रुटियाँ उत्पन्न करती है।
मोबाइल पेडोमीटर की प्रमुख सीमाओं में शामिल हैं: बहुत धीमी गति (<1.5 किमी/घंटा) पर कदम गिनने में असमर्थता, वाहन यात्रा से गलत सकारात्मक परिणाम, कम गति पर दौड़ने (जॉगिंग) पर सटीकता में कमी, और बात करते समय हाव-भाव का प्रभाव। त्रुटियों को कम करने के लिए, आधुनिक ऐप्लिकेशन सेंसर (एक्सेलेरोमीटर + जायरोस्कोप + बैरोमीटर) के संयोजन और आर्टिफैक्ट को फ़िल्टर करने के लिए मशीन लर्निंग का उपयोग करते हैं। उदाहरण के लिए, बैरोमीटर सीढ़ी चढ़ने और ऊँचाई में बदलाव का पता लगाने में मदद करता है, लिफ्ट में झूठे कदमों को बाहर करता है।
अक्सर पूछे जाने वाले प्रश्न
फोन में पेडोमीटर एक्सेलेरोमीटर का उपयोग करता है, जो प्रत्येक कदम पर त्वरण दर्ज करता है। एल्गोरिदम तीन अक्षों पर त्वरण शिखरों का विश्लेषण करता है, शोर को फ़िल्टर करता है और कदमों की संख्या निर्धारित करता है। आधुनिक मॉडल सटीकता में सुधार और गतिविधि वर्गीकरण के लिए जायरोस्कोप और मशीन लर्निंग का भी उपयोग करते हैं।
स्मार्टफोन को पैंट की जेब में रखने पर, सामान्य चलने के दौरान सटीकता 95–97% तक पहुँच जाती है। बैग या बैकपैक में सटीकता घटकर 70–85% हो जाती है। चाल शैली और सतह का प्रकार भी सटीकता को प्रभावित करता है — असमान भूभाग 10–15% तक त्रुटियाँ उत्पन्न कर सकता है।
हाँ, पेडोमीटर इंटरनेट कनेक्शन के बिना पूरी तरह से ऑफलाइन काम करता है। सभी गणनाएँ अंतर्निर्मित सेंसर का उपयोग करके डिवाइस पर की जाती हैं। इंटरनेट की आवश्यकता केवल फिटनेस ऐप्स की क्लाउड सेवाओं के साथ डेटा सिंक्रोनाइज़ करने या रूट मानचित्र प्रदर्शित करने के लिए हो सकती है।
अलग-अलग ऐप्स सेंसर डेटा प्रोसेस करने, डिटेक्शन थ्रेशोल्ड और फ़िल्टरिंग विधियों के लिए अलग-अलग एल्गोरिदम का उपयोग करते हैं। कुछ ऐप्स कच्चे एक्सेलेरोमीटर डेटा के आधार पर कदम गिनते हैं, जबकि अन्य सिस्टम API (TYPE_STEP_COUNTER) का उपयोग करते हैं, और गणना में अंतर 10–15% तक पहुँच सकता है।
Android पर पेडोमीटर तक पहुँचने के लिए, Sensor API के माध्यम से TYPE_STEP_COUNTER सेंसर का उपयोग करें — यह डिवाइस के अंतिम रीबूट के बाद से संचयी कदम संख्या प्रदान करता है। किसी विशिष्ट दिन के कदमों तक पहुँचने के लिए, TYPE_STEP_COUNT_DELTA डेटा प्रकार के साथ Google Fit API को एकीकृत करें।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें