gekro
GitHub LinkedIn
Tesla

500 दिवस आणि 30,000 मैल

7 मिनिटांचे वाचन

हा इंग्रजी मूळ लेखाचा यांत्रिक अनुवाद आहे. काही बारकावे हरवू शकतात, म्हणून संदर्भासाठी इंग्रजी आवृत्तीच ग्राह्य धरावी. मूळ लेख इंग्रजीत वाचा

500 दिवस आणि 30,000 मैल चे प्रमुख आकडे

थोडक्यात

पाचशे दिवसांपूर्वी मी एका Raspberry Pi ला माझ्या कारकडे वळवले आणि ती चालवत असलेल्या प्रत्येक मैलाचा हिशेब ठेवू लागलो. त्याने 10.4 दशलक्ष डेटा पॉइंट्स नोंदवले आहेत, ज्याचे कारण मी नव्हतो अशी एकही धडधड न चुकवता, आणि वाटेत कुठेतरी तो लॉगर न राहता असे काहीतरी बनला ज्याला मी प्रश्न विचारू शकतो.
पाचशे दिवसांपूर्वी मी एका Raspberry Pi ला माझ्या कारकडे वळवले आणि प्रत्येक मैलाचा हिशेब ठेवू लागलो. तेव्हापासून त्याने 1.6 GB च्या डेटाबेसमध्ये 10.4 दशलक्ष डेटा पॉइंट्स नोंदवले आहेत, अशा Pi वर जो दुसरे काहीही करत नाही आणि तेव्हापासून ज्याला दुसरे काही करायला सांगितलेही गेलेले नाही. गेल्या रविवारी त्याने तीस हजारावा मैल नोंदवला. मला जे अपेक्षित नव्हते ते म्हणजे ही गोष्ट काय बनली: लॉगर नाही, तर असा डेटाबेस ज्याला मी माझ्याच आयुष्याबद्दल साध्या भाषेत प्रश्न विचारू शकतो, ज्यांची उत्तरे दुसरे कोणीच देऊ शकत नाही.

गेल्या रविवारी सकाळी 10:22 वाजता, ओडोमीटर 40,397.8 दाखवत असताना, माझ्या घरातील एका Raspberry Pi ने माझ्या ड्रायव्हिंगचा तीस हजारावा मैल नोंदवला. पाचशे दिवसांचे डेटा संकलन, अगदी बरोबर.

कशानेही त्याची खूण केली नाही, कारण त्यासाठी काही बनवलेलेच नव्हते. Postgres च्या एका टेबलमध्ये एक रो आली, अगदी आधीच्या एक कोटीसारखीच, आणि पायाभूत सुविधेला मी देऊ शकणारी ही सर्वात मोठी प्रशंसा आहे.

एक कोटी हा बोलण्याचा प्रकार नाही. डेटाबेसमध्ये 10,356,022 पोझिशन रो आहेत आणि चार्जिंग तपशिलाच्या आणखी 243,380 रो. हे दररोज सुमारे 20,700 नवीन रो होतात, रोज, पाचशे दिवस, एका समर्पित नोडमधून ज्याला फक्त हेच करण्यासाठी, आणि दुसरे काहीही न करण्यासाठी, एकटे सोडले आहे.

प्रत्यक्षात काय चालले आहे

एका Raspberry Pi 5 वर चार Docker कंटेनर. TeslaMate संकलन करतो, Postgres 16 साठवतो, Grafana चित्र काढतो, आणि Mosquitto MQTT वर लाइव्ह स्टेट प्रकाशित करतो म्हणजे घरातील बाकीच्या गोष्टी कार पोहोचल्यावर प्रतिक्रिया देऊ शकतात. संपूर्ण स्टॅक हाच आहे, आणि त्याला स्वतःचे एक मशीन आहे. माझ्या लॅबमध्ये अनेक Pi आहेत, आणि हा फक्त संकलनासाठी राखून ठेवला आहे, 24/7 नोंद ठेवण्याशिवाय काहीही करत नाही. CPU, मेमरी किंवा अपटाइमसाठी दुसरे काहीही त्याच्याशी स्पर्धा करत नाही, म्हणजे दुसरे काहीही त्याला पाडूही शकत नाही.

कलेक्टर पोलिंग लूपपेक्षा हुशार आहे. कार चालत असताना तो दर काही सेकंदांनी नमुना घेतो: स्थान, वेग, दिशा, उंची, बॅटरी पातळी, वीज वापर, तापमान. कार चार्ज होत असताना तो फक्त सुरुवात आणि शेवट नोंदवण्याऐवजी संपूर्ण सेशनचा मागोवा घेतो. आणि कार पार्क केलेली असताना तो जाणीवपूर्वक मागे हटतो आणि तिला झोपू देतो, कारण Tesla च्या API वर सतत ठोकत राहिल्याने ती जागी राहते आणि रात्रभर तुमची रेंज खाते. त्या शेवटच्या निर्णयामुळेच लॉगरने मला कधीही रेंज गमवायला लावली नाही.

पाचशे दिवसांचे ते सर्व, पूर्ण आणि सेकंद-सेकंदाने, एकूण 1.6 GB होते, जे एका चित्रपटापेक्षाही लहान आहे. मी स्टोरेज समस्या बनण्याची वाट पाहत राहतो आणि ती बनतच नाही.

ओडोमीटरच्या तुलनेत 30,144 मैल ट्रॅक झाले, रोज 60.3. 6,921 ड्राइव्ह ज्या 976 तासांच्या आहेत, म्हणजे स्टीअरिंगमागे पूर्ण चाळीस दिवस. 513 चार्जिंग सेशनमध्ये 10,016 kWh, ज्यापैकी 458 घरी, म्हणजे 89.3 टक्के, आणि EV घ्यायला घाबरणाऱ्या कोणालाही मी सांगू शकणारी ही सर्वात उपयुक्त गोष्ट आहे. पस्तीस ओव्हर-द-एअर अपडेट नोंदवले गेले, प्रत्येकावर वेळेचा शिक्का, ज्यामुळे Tesla जे काही प्रकाशित करते त्यापेक्षा अधिक अचूक असा माझा वैयक्तिक फर्मवेअर चेंजलॉग माझ्याकडे आहे.

संपूर्ण रनमध्ये संकलनाचा अपटाइम 92 टक्के आहे. देखरेखीशिवाय, ऑप्स टीमशिवाय एका सिंगल-बोर्ड कॉम्प्युटरसाठी मी हे प्रत्येक वेळी स्वीकारेन.

मी विकत घेतलेल्या प्रत्येक चार डॉलरच्या विजेपैकी सुमारे तीन प्रत्यक्षात कार चालवतात, आणि बाकी चार्जिंग हानी, एअर कंडिशनिंग आणि रात्री कार स्वतःहून जागी होण्यात जाते. ते किती वाईट होते हे हवामान ठरवते, उष्ण महिने मला सौम्य महिन्यांपेक्षा प्रति मैल 16 टक्के जास्त पडतात आणि टेक्सासचा हिवाळा 3.

कोणीही न सांगणारी गोष्ट

मी Pi मध्ये SSH करत राहिलो, आणि जवळजवळ कधीच तो दुरुस्त करायचा होता म्हणून नाही. मी जोडायचो कारण मला डेटा येताना पाहायचा होता, कार अजून ड्राइव्हवेमध्ये गरम असताना टेबलमध्ये एक ड्राइव्ह उतरताना पाहायची होती, आदल्या रात्रीची चार्ज कर्व खरोखर चार्ज कर्वसारखी दिसते का ते तपासायचे होते. सुरुवातीला मी हे करायचो कारण मला त्यावर अजून विश्वास नव्हता. नंतर करायचो कारण मला स्कीमा समजू लागला होता, आणि स्कीमा समजणे हा तो बिंदू आहे जिथे डेटाबेस ब्लॅक बॉक्स राहत नाही आणि तुम्ही जाऊन पाहू शकता अशी जागा बनतो.

हे ऐकायला वाटते त्यापेक्षा हळू शिक्षण आहे. तुम्ही शिकता की कारची स्थिती बदलताच drives ची रो येते, की चार्जिंग प्रक्रिया आणि चार्ज नमुना हे वेगवेगळ्या आयुष्यकाळाच्या वेगळ्या वस्तू आहेत, की ओडोमीटर हे एकमेव फील्ड आहे जे कधीच खोटे बोलत नाही. तुम्ही शिकता की तुमच्या स्वतःच्या डेटाचा अर्थ काय, जे तो नुसता असण्यापेक्षा वेगळे आहे.

यातल्या कशालाही AI ची गरज नव्हती, आणि मला कालरेषेबद्दल अचूक राहायचे आहे: कोणताही असिस्टंट माझ्यासाठी क्वेरी लिहू शकण्याच्या खूप आधीपासून मी हे करत होतो. शिकणे हेच काम होते.

मग क्वेरी सोप्या झाल्या

जे बदलले ते म्हणजे मी SQL लिहिणे बंद केले आणि प्रश्न विचारू लागलो.

मला आधीच समजलेल्या स्कीमावर LLM लावल्याने पाच मिनिटांची क्वेरी दहा सेकंदांची झाली. त्याला माझा डेटा माहीत आहे म्हणून नाही, तर मला माहीत आहे म्हणून, आणि तो मला जे उत्तर देतो ते बकवास असेल तर मी लगेच ओळखू शकतो. तोच मेळ उपयुक्त आहे. ज्याने टेबल कधी उघडलेच नाहीत त्याला पूर्ण आत्मविश्वासाने चुकीची उत्तरे मिळतात आणि ती पकडायला त्याच्याकडे काही मार्ग नसतो. ज्याला स्कीमा माहीत आहे आणि आता इंग्रजीत विचारता येते तो थेट रंजक भागावर पोहोचतो.

रंजक भाग म्हणजे प्रश्न चांगले होत जातात. क्वेरी महाग असते तेव्हा तुम्ही फक्त तेच विचारता ज्याची तुम्हाला आधीच शंका असते. ती स्वस्त असते तेव्हा तुम्ही अशा गोष्टी विचारू लागता ज्यांबद्दल तुमच्याकडे कोणतीही गृहीतके नसतात, आणि आश्चर्ये तिथेच राहतात. ऋतूंनुसार सरासरी प्रवासाची लांबी कशी बदलते. दिवसाच्या कोणत्या वेळी कार प्रत्यक्षात हलते. वर्षातील सर्वात उष्ण रात्रीचे चार्जिंग सेशन सर्वात सौम्य रात्रीच्या तुलनेत कसे दिसते.

Tesla चे ॲप यातल्या कशाचेही उत्तर देऊ शकत नाही. ते त्यासाठी बनलेलेच नव्हते. ते तुम्हाला सारांश दाखवते, आणि सारांश फक्त त्याच प्रश्नांची उत्तरे देऊ शकतो ज्यांचा अंदाज ते डिझाइन करताना कोणीतरी बांधला होता.

ज्या प्रश्नाने संपूर्ण प्रोजेक्टचा खर्च फेडला

या उन्हाळ्यात मला खात्री पटली की माझा वॉल कनेक्टर बिघडत आहे.

उष्ण रात्री ॲपमधील चार्जिंग सेशन थांबून पुन्हा सुरू होत असल्यासारखे दिसायचे. निदान आपोआप सुचले: थर्मल डीरेटिंग, युनिट तापल्यावर करंट कमी करत आहे, कारला त्या प्रकारे सायकल करवत आहे जे वर्षानुवर्षे बॅटरीला शांतपणे म्हातारे करते. वॉल कनेक्टर बदलणे स्वस्त नाही.

मग मला आठवले की मला अंदाज बांधायची गरज नाही. त्या गोष्टीने घेतलेला प्रत्येक चार्जिंग नमुना माझ्या घरातील एका डिस्कवर होता.

पायलट सिग्नल म्हणजे कनेक्टर कारला सांगतो की तिने किती अँपिअर ओढावेत. डीरेटिंग म्हणजे ती संख्या खाली येते. घरी घेतलेल्या 217,124 नमुन्यांपैकी 217,118 मध्ये त्याने 48 अँपिअर वाचले. दोन लाखांवरच्या नमुन्यांतील सहा रीडिंग इतरत्र आहेत, आणि सेशनच्या मध्यात बॅटरी पातळी कधीच खाली आली नाही, कार खरोखर तुटली असती तर ती आली असती.

कनेक्टर कधीही डगमगला नव्हता. सेशन्स बाहेरच्या तापमानाशी जुळवल्यावर खरे काय चालले होते ते दिसले: सर्वात उष्ण रात्री कार स्वतःच नेटवर्कवरून तुटत होती, त्यामुळे लॉगरला पूर्णपणे व्यवस्थित चालणाऱ्या सेशनचा मागमूस लागेनासा व्हायचा.

मी पैसे खर्च केले नाहीत. ते एक उत्तर, माझ्या मालकीच्या डेटावरून, माझ्याकडे आधीच असलेल्या हार्डवेअरवर, संपूर्ण प्रोजेक्टचा खर्च अनेक वेळा फेडून गेले.

पुढचे वीस हजार

दिवसाला साठ मैलांच्या गतीने पन्नास हजार पुढच्या वर्षाच्या मध्याच्या आसपास येईल, आणि डिस्कला तरीही काही फरक पडणार नाही.

मी खरोखर कशाची वाट पाहतोय ती तुलना आहे. टेक्सासचा एक उन्हाळा उष्णता आणि बॅटऱ्यांबद्दल काहीही सांगत नाही. दोन उन्हाळे तुम्हाला मोजू देतात. तीस हजार मैल हा साधारण तो बिंदू आहे जिथे लॉग लॉग राहत नाही आणि बेसलाइन बनतो, आणि मी तो चालू ठेवलेल्या प्रत्येक महिन्यात माझ्या कोणत्याही प्रयत्नाशिवाय तुलना अधिक धारदार होत जाते.

Pi हा माझ्याकडील सर्वात कमी मागणी करणारा आणि निर्विवादपणे सर्वात फलदायी पायाभूत घटक राहिला आहे, कारण तो चक्रवाढ होतो. त्याने एक सेटअप आणि अधूनमधून एक SSH सेशन मागितले, आणि बदल्यात त्याने शांतपणे असे काहीतरी घडवले जे मला कोणी विकू शकत नाही, रद्द करू शकत नाही, किंवा किंमत वाढवून माझ्या आवाक्याबाहेर नेऊ शकत नाही: मी माझी स्वतःची कार प्रत्यक्षात कशी वापरतो याची संपूर्ण, शोधता येणारी नोंद.

Rohit Burani

लेखक

Rohit Burani

AI इंजिनिअर, जे लॅबमधून लोकल-फर्स्ट सिस्टीम, सेल्फ-होस्टेड इन्फ्रास्ट्रक्चर आणि स्वायत्त टूल्स तयार करतात.

वाचल्याबद्दल धन्यवाद.

हा लेख आवडला असेल तर तो तुमच्या नेटवर्कसोबत शेअर करा.

← ब्लॉगवर परत जा