रिमोट ऐक्सेस सेट अप करना

अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

Android 14 में पेश है रिमोट ऐक्सेस की नई सुविधा, इससे पार्टनर, Android को रिमोट लोकेशन से चालू कर पाते हैं, ताकि वे कार में मौजूद Android डिवाइस पर चुनिंदा टास्क. उदाहरण के लिए, सॉफ़्टवेयर इस्तेमाल करने के लिए, रात भर गराज मोड अपडेट. शुरू से आखिर तक, Android के अलावा, दूसरे कई कॉम्पोनेंट इस्तेमाल करने की ज़रूरत होती है इस्तेमाल किया जा सकता है. Android, गैर-Android वर्शन के लिए सुविधाएं तय नहीं करता और न ही उन्हें लागू करने की सुविधा देता है (यह ज़िम्मेदारी आपकी है).

ज़्यादा जानकारी के लिए, ये सेक्शन देखें:

भवन निर्माण

इस कॉन्टेंट के लिए, यहां दिए गए सैंपल आर्किटेक्चर का इस्तेमाल किया गया है. काल्पनिक है और हो सकता है कि इसमें असल आर्किटेक्चर न दिखे. OEM को इनके हिसाब से काम करना चाहिए उनके वाहन और सर्वर के आर्किटेक्चर को लागू करना.

इमेज

पहला डायग्राम. आर्किटेक्चर का नमूना.

सैंपल आर्किटेक्चर में ये हार्डवेयर कॉम्पोनेंट होते हैं:

हार्डवेयर कॉम्पोनेंट ब्यौरा
ऐप्लिकेशन प्रोसेसर Android चलाने वाला प्रोसेसर. Android, वर्चुअल मेमोरी (वीएम) पर चल सकता है (असल हार्डवेयर पर नहीं).
व्हीकल प्रोसेसर ऐप्लिकेशन को पावर कंट्रोल करने की ज़िम्मेदारी प्रोसेसर प्रोसेसर चुनें.
टेलीमेटिक्स कंट्रोल यूनिट (टीसीयू) गाड़ी में मौजूद प्रोसेसर, हमेशा रिमोट मैसेज ले सकता है क्लाउड. माना जाता है कि टीसीएफ़ हमेशा चालू या कम पावर वाले मोड में होता है. इस्तेमाल की जाने वाली चीज़ें TCU को चालू करने के लिए रिमोट मैसेज.
जगाने वाला सर्वर एक ऐसा रिमोट सर्वर जो क्लाउड पर चलता है और चालू करने के निर्देश देने के लिए, गाड़ी में टीसीयू से संपर्क करना.
रिमोट टास्क सर्वर रिमोट टास्क सर्वर, क्लाउड पर चलता है और लोगों से इंटरैक्ट करता है और रिमोट टास्क मैनेज करती है.

नमूना आर्किटेक्चर में ये सॉफ़्टवेयर घटक शामिल होते हैं, जो सभी जो Android पर चलते हैं:

Android डिवाइस पर मौजूद सॉफ़्टवेयर कॉम्पोनेंट ब्यौरा
कार सेवा AAOS फ़्रेमवर्क की सेवा, जो रिमोट ऐक्सेस वाले एपीआई उपलब्ध कराती है.
रिमोट टास्क क्लाइंट वेंडर का लिखा हुआ Service क्लास, जो रिमोट टास्क करती है. एक Android सिस्टम, कई डिवाइसों पर रिमोट टास्क क्लाइंट चुनें.
रिमोट ऐक्सेस एचएएल रिमोट ऐक्सेस के लिए लागू किया जाना चाहिए.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है AAOS और गैर-Android के बीच कम्यूनिकेशन के लिए ऐब्स्ट्रैक्शन लेयर कॉम्पोनेंट, जैसे कि TCU.

Android के अलावा अन्य सॉफ़्टवेयर के कॉम्पोनेंट के बारे में यहां बताया गया है:

Android के अलावा कोई दूसरा सॉफ़्टवेयर कॉम्पोनेंट ब्यौरा
जगाने वाला क्लाइंट TCU पर चलने वाला सॉफ़्टवेयर, जो चालू करने वाला सर्वर. यह रिमोट ऐक्सेस एचएएल के साथ भी कनेक्शन बनाए रखता है कार सेवा को रिमोट टास्क डिलीवर करने के लिए.
वेक-अप सर्वर लागू करना ऐसा सर्वर जो TCU पर चलने वाले वेक-अप क्लाइंट से संपर्क करता है. कैन जागने के अनुरोध को भेजने वाले क्लाइंट को भेजें.
रिमोट टास्क सर्वर को लागू करना रिमोट टास्क मैनेज करने वाला सर्वर. उपयोगकर्ता इन कामों के लिए इस सर्वर से इंटरैक्ट करते हैं रिमोट टास्क से जुड़ी समस्या हल करने और उन्हें मॉनिटर करने में मदद मिलेगी.

वर्कफ़्लो

इस सेक्शन में, सैंपल वर्कफ़्लो के चरण दिए गए हैं.

वर्कफ़्लो का सैंपल

ज़्यादा जानकारी वाला वर्कफ़्लो, इससे मिलता-जुलता हो सकता है:

  1. उपयोगकर्ता, गैराज में गाड़ी पार्क कर रहे हों.

  2. पार्टनर, वाहन के इंटरैक्शन होने पर उसे रात भर अपडेट करना चाहता है संभावना नहीं है.

  3. पार्टनर क्लाउड सर्वर, गाड़ी पर अपडेट सिस्टम का रिमोट टास्क भेजता है. खास तौर पर, टेलीमैटिक कंट्रोल यूनिट (टीसीयू).

  4. वाहन का टीसीयू, Android इलेक्ट्रॉनिक कंट्रोल यूनिट (ईसीयू) को चालू करता है और किसी OEM सेवा से गराज मोड ट्रिगर होता है.

  5. Google Play से अपडेट डाउनलोड और इंस्टॉल करने के लिए Android, गैराज मोड का इस्तेमाल करता है.

  6. अपडेट लागू करने के बाद, Android इस टास्क को 'पूरा हो गया' के तौर पर मार्क करता है और कनेक्शन खत्म हो जाता है या तय किए गए टाइम आउट पर पहुंच जाता है.

वर्कफ़्लो के बारे में ज़्यादा जानकारी

रिमोट ऐक्सेस के लिए, दो ज़रूरी चरण पूरे करने होते हैं. पहला है क्लाइंट को रजिस्टर करें, जो किसी खास उपयोगकर्ता को किसी खास रिमोट से लिंक करने के लिए है किसी चुनिंदा वाहन पर काम करने वाला टास्क क्लाइंट. दूसरा है एक टास्क पूरा करना, जिसमें रिमोट टास्क, किसी उपयोगकर्ता को रिमोट टास्क पर डिलीवर करना है ग्राहक किसी चुने गए वाहन पर चल रहा हो.

क्लाइंट रजिस्टर करें

रिमोट ऐक्सेस की सुविधा का इस्तेमाल करने के लिए, उपयोगकर्ता को रिमोट टास्क क्लाइंट खोलना होगा कम से कम एक बार ऐप्लिकेशन डाउनलोड करना होगा और क्लाइंट रजिस्ट्रेशन की प्रक्रिया पूरी करनी होगी (बोल्ड टेक्स्ट AAOS के लागू किए गए टास्क के बारे में बताता है):

  1. बूट-अप करने पर, कार सर्विस को रिमोट ऐक्सेस से वाहन की जानकारी मिलती है हैल.

  2. बूट-अप पर, Car Service ने सभी रिमोट टास्क क्लाइंट को लॉन्च किया इंटेंट फ़िल्टर और अनुमति.

  3. रिमोट टास्क क्लाइंट स्टार्ट होने पर, रिमोट टास्क क्लाइंट खुद को कार सेवा.

  4. कार सर्विस, रिमोट टास्क क्लाइंट को रजिस्ट्रेशन के बारे में सूचना देती है अन्य जानकारी. इसमें वाहन का आईडी और क्लाइंट आईडी भी शामिल है. क्लाइंट आईडी यूनीक होता है और कार सर्विस के ज़रिए इस क्लाइंट को असाइन की गई हो. वह खास होगा एक ही वाहन पर काम कर रहे सभी रिमोट टास्क क्लाइंट के लिए.

  5. उपयोगकर्ता, रिमोट टास्क क्लाइंट के ज़रिए रिमोट टास्क सर्वर में लॉग इन करता है और इस वाहन के लिए रिमोट ऐक्सेस की सुविधा चालू करता है. आम तौर पर, यह चरण में रिमोट टास्क सर्वर के ज़रिए पुष्टि करना शामिल होता है.

  6. रिमोट टास्क क्लाइंट, वाहन आईडी के साथ उपयोगकर्ता की जानकारी अपलोड करता है और क्लाइंट आईडी को रिमोट टास्क सर्वर से लिंक करता है और उसे उपयोगकर्ता को इस खास क्लाइंट और इस खास वाहन के डेटा को इकट्ठा करने के लिए किया जा सकता है.

    इसके अलावा, इस चरण में दो तरीकों से पुष्टि करने की सुविधा का इस्तेमाल भी करना पड़ सकता है उपयोगकर्ता से मिलता है.

    रिमोट टास्क सर्वर को इस बात की पुष्टि करनी होगी कि अनुरोध भेजने वाले के वाहन के आईडी से मेल खाता हो. इसके ज़रिए, वाहन को प्रमाणित करने से जुड़ी जानकारी.

जब तक फ़ैक्ट्री रीसेट नहीं होता, तब तक क्लाइंट रजिस्ट्रेशन प्रोसेस की ज़रूरत होती है एक वाहन के लिए, एक उपयोगकर्ता को सिर्फ़ एक बार शुल्क देना होगा. क्लाइंट आईडी को कार सर्विस में स्थानीय तौर पर सेव किया जाता है और एक ही क्लाइंट के लिए समान रहता है.

इमेज

दूसरा डायग्राम. क्लाइंट रजिस्टर करें.

क्लाइंट का रजिस्ट्रेशन रद्द करें

उपयोगकर्ता, वाहन को अपने खाते से अनलिंक कर सकता है. इसके लिए, उसे उस वाहन से या रिमोट टास्क सर्वर:

  • वाहन पर, उपयोगकर्ता रिमोट टास्क क्लाइंट ऐप्लिकेशन खोलकर उसे जारी कर सकते हैं इस वाहन को, पहले लिंक किए गए उपयोगकर्ता खाते से अनलिंक करने का अनुरोध खाते.

  • रिमोट टास्क सर्वर पर, उपयोगकर्ता अपने खाते में लॉग इन कर सकते हैं और उसे अनलिंक कर सकते हैं इस खाते से पहले से लिंक किया गया वाहन.

अगर उपयोगकर्ता अपने खाते से वाहन को अनलिंक करता है, तो रिमोट टास्क सर्वर को किसी खास उपयोगकर्ता के लिए सेव की गई मैपिंग हटाएं.

टास्क डिलीवर करना

क्लाउड में:

  1. किसी खास टास्क को रिमोट टास्क भेजने के लिए, उपयोगकर्ता रिमोट टास्क सर्वर का इस्तेमाल करता है वाहन.

  2. रिमोट टास्क सर्वर, यूज़र आईडी को व्हीकल आईडी और क्लाइंट आईडी से मैप करता है. यह सक्रिय करने वाले सर्वर को टास्क डेटा, वाहन आईडी, और क्लाइंट आईडी भेजता है.

  3. वेक-अप सर्वर, वाहन आईडी के लिए खास टीसीयू ढूंढता है (यह मानते हुए कि TCU रजिस्ट्रेशन पहले ही हो चुका है) और वह टास्क का डेटा और क्लाइंट आईडी TCU.

वाहन पर (बोल्ड टेक्स्ट, AAOS की मदद से किए गए टास्क के बारे में बताता है):

  1. TCU को, रिमोट सर्वर से रिमोट टास्क मिलते हैं.

  2. अगर AAOS चलाने वाला ऐप्लिकेशन प्रोसेसर (एपी) बंद है, तो टीसीयू वाहन प्रोसेसर (वीपी) का इस्तेमाल करके, एपी को चालू करना.

  3. कार सर्विस को TCU से टास्क मिलते हैं.

  4. कार सेवा, रिमोट टास्क क्लाइंट को टास्क बांटती है.

  5. रिमोट टास्क क्लाइंट को टास्क मिलता है और वह उसे लागू करता है.

    (ज़रूरी नहीं) टास्क की ज़्यादा जानकारी के लिए, रिमोट टास्क क्लाइंट से संपर्क करने वाला टास्क सर्वर और टास्क को लागू करता है.

  6. (ज़रूरी नहीं) रिमोट टास्क क्लाइंट सेवा, टास्क के नतीजे को टास्क सर्वर को रिपोर्ट करती है.

  7. रिमोट टास्क क्लाइंट, टास्क पूरा होने पर कार सेवा की सूचना देता है.

  8. ज़रूरत पड़ने पर, कार सेवा की मदद से वाहन को फिर से चालू किया जा सकता है.

इमेज

तीसरी इमेज. टास्क डिलीवर करना.

रिमोट टास्क क्लाइंट लिखें

CarRemoteAccessManager, रिमोट ऐक्सेस की सुविधाओं के लिए एपीआई उपलब्ध कराता है. सीखने में ज़्यादा, देखें CarRemoteAccessManager. रिमोट टास्क क्लाइंट एक Android सेवा है, जो रिमोट टास्क लागू करती है और इनका इस्तेमाल करती है CarRemoteAccessManager. इसके लिए PERMISSION_USE_REMOTE_ACCESS और PERMISSION_CONTROL_REMOTE_ACCESS और इसके लिए इंटेंट फ़िल्टर का एलान करना ज़रूरी है RemoteTaskClientService जैसे:

<service android:name=".remoteaccess.RemoteTaskClientService"
         android:directBootAware="true"
         android:exported="true">
    <intent-filter>
       <action android:name="android.car.remoteaccess.RemoteTaskClientService" />
    </intent-filter>
</service>

बनाने के दौरान रिमोट टास्क क्लाइंट को खुद को कार सेवा में रजिस्टर करना चाहिए:

public final class RemoteTaskClientService extends Service {
    @Override
    public void onCreate() {
        // mCar = Car.createCar()...
        mRemoteAccessManager = (CarRemoteAccessManager)
            mcar.getCarManager(Car.CAR_REMOTE_ACCESS_SERVICE);
        if (mRemoteAccessManager == null) {
            // Remote access feature is not supported.
            return;
        }
        mRemoteAccessManager.setRemoteTaskClient(executor, mRemoteTaskClient);
    }
}

शून्य वापस लौटाने के लिए इसे onBind फ़ंक्शन को ओवरराइड करना होगा.

@Override
public IBinder onBind(Intent intent) {
    return null;
}

कार सेवा अपनी लाइफ़ साइकल को मैनेज करती है. कार सेवा इस सेवा से इस दौरान बंध जाती है: रिमोट टास्क के उपलब्ध होने पर सूचना मिलती है. कार सेवा इस सेवा से तब जुड़ती है, जब टास्क पूरा हो गया हो. इस बारे में ज़्यादा जानने के लिए, यह देखें सेवा की लाइफ़साइकल मैनेज करना.

रिमोट टास्क क्लाइंट, सिस्टम के उपयोगकर्ता के तौर पर चलता है, ताकि उसके पास इसका ऐक्सेस न हो का इस्तेमाल करने के लिए डिज़ाइन किया गया है.

नीचे दिए गए उदाहरण में, रजिस्टर किए गए कॉलबैक को मैनेज करने का तरीका बताया गया है:

private final class RemoteTaskClient
    implements CarRemoteAccessManager.RemoteTaskClientCallback {
    @Override
    public void onRegistrationUpdated(
        RemoteTaskClientRegistrationInfo info) {
        // Register to remote task server using info.
    }
    @Override
    public void onRemoteTaskRequested(String taskId,
        byte[] data, int remainingTimeSec) {
        // Parses the data and execute the task.
        // Report task result to remote task server.
        mRemoteAccessManager.reportRemoteTaskDone(taskId);
    }
    @Override
    public void onShutdownStarting(CompleteableRemoteTaskFuture future) {
        // Stop the executing task.
        // Clear the pending task queue.
        future.complete();
    }
}

वेंडर को लागू करना

रिमोट ऐक्सेस की सुविधा ज़रूरी नहीं है और डिफ़ॉल्ट रूप से बंद रहती है. इसे सक्षम करने के लिए सुविधा के लिए, कोई RRO जोड़ें, जैसे कि:

// res/xml/overlays.xml
<?xml version="1.0" encoding="utf-8"?>
<overlay>
    <item target="array/config_allowed_optional_car_features" value="@array/config_allowed_optional_car_features" />
</overlay>

// res/values/config.xml
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string-array translatable="false" name="config_allowed_optional_car_features">
        <item>car_remote_access_service</item>
    </string-array>
</resources>

// Android.bp
runtime_resource_overlay {
    name: "RemoteAccessOverlay",
    resource_dirs: ["res"],
    manifest: "AndroidManifest.xml",
    sdk_version: "current",
    product_specific: true
}

या userdebug/eng बिल्ड पर नीचे दिए गए adb कमांड का इस्तेमाल करें:

adb shell cmd car_service enable-feature car_remote_access_service

Android डिवाइसों के लिए ज़रूरी शर्तें

रिमोट ऐक्सेस एचएएल

रिमोट ऐक्सेस हार्डवेयर ऐब्स्ट्रक्शन लेयर (एचएएल) को वेंडर के ज़रिए लागू किया गया है एएओएस और अन्य ईसीयू के बीच कम्यूनिकेशन के लिए ऐब्स्ट्रक्शन लेयर. उदाहरण के लिए, TCU) चुनें. रिमोट ऐक्सेस की सुविधा का इस्तेमाल करने के लिए, इसका इस्तेमाल करना ज़रूरी है. इसकी ज़रूरत नहीं है रिमोट ऐक्सेस की सुविधा के लागू न होने पर, इस नीति को लागू किया जाएगा.

इंटरफ़ेस को यहां परिभाषित किया गया है IRemoteAccess.aidl और इसमें ये तरीके शामिल हैं:

कक्षा ब्यौरा
String getVehicleId() एक यूनीक वाहन आईडी मिलता है, जिसकी पहचान डिवाइस की स्क्रीन चालू करने पर की जा सकती है सर्वर.
String getWakeupServiceName() रिमोट वेक-अप सर्वर को नाम देता है.
String getProcessorId() एक यूनीक प्रोसेसर आईडी देता है, जिसे क्लाइंट.
void setRemoteTaskCallback(IRemoteTaskCallback callback)

रिमोट टास्क का अनुरोध किए जाने पर, कॉलबैक को सेट करता है.

void clearRemoteTaskCallback() रिमोट टास्क के लिए पहले से सेट किए गए कॉलबैक को हटाता है.
void notifyApStateChange(in ApState state)

यह पता लगाता है कि ऐप्लिकेशन प्रोसेसर, रिमोट टास्क पाने के लिए तैयार है या नहीं.

कॉलबैक इंटरफ़ेस को यहां तय किया गया है IRemoteTaskCallback.aid.

कक्षा ब्यौरा
oneway void onRemoteTaskRequested(String clientId, in byte[] data)

रिमोट टास्क का अनुरोध करने पर, इसे कॉलबैक किया जाता है.

ज़्यादा जानकारी के लिए, रेफ़रंस फ़ाइल लागू करना बाहरी TCU के साथ काम करता है. लागू करने की प्रोसेस में, लंबे समय तक लाइव स्ट्रीम देखने की सुविधा का इस्तेमाल किया जाता है रिमोट टास्क पाएं और नीचे दिए गए debug कमांड का इस्तेमाल करें:

dumpsys android.hardware.automotive.remoteaccess.IRemoteAccess/default

वाहन का एचएएल

रिमोट ऐक्सेस की सुविधा देने के लिए, वीएचएएल को ये प्रॉपर्टी काम करनी चाहिए:

कक्षा ब्यौरा
SHUTDOWN_REQUEST मुख्य यूनिट को बंद करने का अनुरोध करता है.
VEHICLE_IN_USE
  • पता लगाता है कि वाहन का इस्तेमाल किया जा रहा है या नहीं.
  • जब उपयोगकर्ता कार को अनलॉक करे या उपयोगकर्ता के पास आने पर जाने की ज़रूरत नहीं. यह true होना चाहिए.
  • एक तय समय, जब उपयोगकर्ता वाहन बंद कर देता है या जब उपयोगकर्ता गाड़ी को लॉक कर देता है. यह false होना चाहिए.
  • true पर, AAOS फ़ाइल को बंद करने की कोशिश नहीं करती रिमोट टास्क पूरा होने पर गाड़ियों की संख्या डालें.

इस बारे में ज़्यादा जानने के लिए, यह देखें इस्तेमाल की जा सकने वाली सिस्टम प्रॉपर्टी.

मौन मोड

रिमोट ऐक्सेस की सुविधा के लिए, साइलेंट मोड की सुविधा होनी चाहिए, ताकि वाहन कोई उपयोगकर्ता मौजूद न होने पर रिमोट टास्क करने के लिए, साइलेंट मोड में डिवाइस चालू हो सकता है. के साथ साइलेंट मोड में डिवाइस का डिसप्ले और ऑडियो बंद होने पर भी AAOS डिवाइस चालू होता है.

साइलेंट मोड को दो Linux कर्नेल sysfs फ़ाइलों से कंट्रोल किया जाता है.

कक्षा ब्यौरा
/sys/kernel/silent_boot/pm_silentmode_kernel_state

इससे, मौजूदा साइलेंट मोड को दिखाया जाता है.

/sys/kernel/silent_boot/pm_silentmode_hw_state

नया साइलेंट मोड सेट करने के लिए, यह हार्डवेयर सिग्नल दिखाता है.

गाड़ी का प्रोसेसर, साइलेंट मोड को चालू/बंद करने के लिए Android SoC को HW सिग्नल भेजता है मोड. सिग्नल (0 या 1) को लिखा जाता है /sys/kernel/silent_boot/pm_silentmode_hw_state. इसके बाद, AAOS फ़्रेमवर्क से जुड़े अपडेट /sys/kernel/silent_boot/pm_silentmode_kernel_state के हिसाब से जो मौजूदा साइलेंट मोड का प्रतिनिधित्व करता है. एएओएस मॉड्यूल की जांच /sys/kernel/silent_boot/pm_silentmode_kernel_state जानें कि सिस्टम साइलेंट मोड में हो या नहीं.

जब रिमोट टास्क मिलता है और AAOS चालू हो जाता है, तो गाड़ी का प्रोसेसर सेट हो जाता है साइलेंट मोड पर सेट होती है और AAOS चालू करती है, ताकि डिसप्ले/ऑडियो बंद होने पर सिस्टम चालू हो जाए.

गाड़ी में Android के अलावा, दूसरे कॉम्पोनेंट इस्तेमाल करने की सुविधा

व्हीकल प्रोसेसर

वाहन प्रोसेसर, वाहन में लगा एक प्रोसेसर है, जो पावर को कंट्रोल कर सकता है Android पर चलने वाले ऐप्लिकेशन प्रोसेसर के लिए काम करता है. आर्किटेक्चर के उदाहरण में, टीसीयू गाड़ी पर सिग्नल भेजकर, ऐप्लिकेशन प्रोसेसर को चालू करता है प्रोसेसर चुनें.

गाड़ी में Android के अलावा, दूसरे कॉम्पोनेंट इस्तेमाल करने की सुविधा

टीसीयू वाहन में किसी भी समय रिमोट मैसेज पाए जा सकते हैं.

सक्रिय करने वाला क्लाइंट, टीसीएफ़ पर चलता है, ताकि यह पक्का किया जा सके कि आपका कनेक्शन, रिमोट वेक-अप सर्वर.

AP पर काम करने वाला AAOS, डिवाइस को चालू करने वाले क्लाइंट से संपर्क कर सकता है रिमोट ऐक्सेस वाले एचएएल की मदद से टीसीयू.

इमेज

चौथी इमेज. TCU (वेक-अप क्लाइंट).

ऑन-क्लाउड कॉम्पोनेंट

जगाने वाला सर्वर

सक्रिय करने वाला सर्वर, टीसीयू पर वेक-अप क्लाइंट से इस तरह संपर्क करता है:

  • वाहन के टीसीयू के साथ लंबे समय तक कनेक्शन बनाए रखें.
  • वाहन के आईडी के आधार पर कोई टीसीयू ढूंढना.
  • गाड़ी की स्थिति की शिकायत करें. उदाहरण के लिए, ऑनलाइन या ऑफ़लाइन या अंतिम रिमोट टास्क सर्वर पर लगने वाला ऑनलाइन समय.

असल में, वेक-अप सर्वर को रिमोट के साथ मर्ज किया जा सकता है टास्क सर्वर पर क्लिक करें.

रिमोट टास्क सर्वर

रिमोट टास्क सर्वर, इन रिमोट टास्क को मैनेज करता है.

  • उपयोगकर्ता, रिमोट टास्क शुरू करने और मॉनिटर करने के लिए, सर्वर से इंटरैक्ट करता है रिमोट टास्क.

  • ऐप्लिकेशन प्रोसेसर को चालू करने के लिए, रिमोट वेक-अप सर्वर का इस्तेमाल करता है इस्तेमाल कर रहे हैं.

  • गाड़ी पर रिमोट टास्क क्लाइंट से इंटरैक्ट करता है.

  • क्लाइंट के रजिस्ट्रेशन की जानकारी सेव करता है. यह एक खास उपयोगकर्ता को जोड़ता है किसी रिमोट टास्क क्लाइंट को भेज सकते हैं.

आम तौर पर, डिवाइस की स्क्रीन चालू होने पर टास्क का डेटा, रिमोट टास्क सर्वर से भेजा जाता है सर्वर, वाहन के टीसीयू, और रिमोट टास्क वाले क्लाइंट को टास्क आईडी रिमोट टास्क क्लाइंट, टास्क आईडी का इस्तेमाल करके ज़्यादा जानकारी फ़ेच करता है रिमोट टास्क सर्वर से मिलने वाली जानकारी.

निजता और सुरक्षा से जुड़ी ज़रूरी शर्तें

टास्क शर्त ज़रूरी शर्त
टीसीयू (वेक-अप क्लाइंट) ज़रूरी है
  • सक्रिय करने वाले सर्वर की पुष्टि करें.
  • कोड पर भरोसा करें.
जगाने वाला सर्वर ज़रूरी है
  • सिर्फ़ सूची में शामिल रिमोट टास्क सर्वर को कनेक्ट करने की अनुमति दें.
  • स्क्रीन चालू करने वाले क्लाइंट की पुष्टि करें.
  • जगाने वाला मैसेज सिर्फ़ टारगेट किए गए वाहन को भेजें.
रिमोट टास्क क्लाइंट ज़रूरी है
  • रजिस्ट्रेशन के दौरान उपयोगकर्ता की पुष्टि करें.
  • रिमोट टास्क सर्वर की पुष्टि करें.
  • किसी Android सेवा के लिए सुरक्षा से जुड़ी सभी ज़रूरी शर्तें पूरी करना. उदाहरण के लिए, सीमित अनुमतियां.
रिमोट टास्क सर्वर ज़रूरी है
  • सक्रिय करने वाले सर्वर को प्रमाणित करना होगा.
  • वाहन को प्रमाणित करने से जुड़ी जानकारी उपलब्ध कराएं. इसका मतलब है कि पुष्टि करने के बाद, अनुरोध में दिया गया आईडी, पैसे भेजने वाले व्यक्ति के वाहन आईडी से मेल खाता हो. अगर वाहन में प्रमाणित नहीं किया जा सकता, लेकिन पुष्टि करने के लिए दूसरे तरीकों का इस्तेमाल करना होगा उपयोगकर्ता के पास फ़िलहाल वाहन का मालिकाना हक है.
  • उपयोगकर्ता की पहचान की पुष्टि करें.
  • उपयोगकर्ता को मैनेज करने वाले सर्वर की सुरक्षा से जुड़ी सभी ज़रूरी शर्तें पूरी करें जानकारी.

फ़ैक्ट्री रीसेट करना और मालिकाना हक ट्रांसफ़र करना

अगर कोई उपयोगकर्ता फ़ैक्ट्री रीसेट करता है, तो कार सेवा में सेव किया गया क्लाइंट आईडी वाइप किया. हालांकि, सर्वर (रिमोट टास्क सर्वर और रिमोट वेकअप सर्वर) को सूचित नहीं किया गया. सर्वर, उस क्लाइंट आईडी की मैपिंग को बनाए रखते हैं जिसकी समयसीमा अब खत्म हो चुकी है. जाने की ज़रूरत नहीं. इस वजह से, अगर उपयोगकर्ता अपनी गाड़ी के लिए रिमोट टास्क शुरू करता है, यह ऐसे क्लाइंट आईडी का इस्तेमाल करता है जिसकी समयसीमा खत्म हो चुकी है. गाड़ी चालू है, लेकिन अब यह रिमोट टास्क नहीं है नहीं चलाया जा सकता क्योंकि रिमोट टास्क क्लाइंट का क्लाइंट आईडी अलग है मेल नहीं खाता.

नीचे फ़ैक्ट्री रीसेट के लिए एक संभावित लागू करने के बारे में बताया गया है.

जब कोई उपयोगकर्ता फ़ैक्ट्री रीसेट करता है, तो वेंडर उसे लॉग इन करने के लिए कहता है रिमोट टास्क सर्वर को चालू कर सकते हैं और अगर उपयोगकर्ता के पास गाड़ी को पहले लिंक किया गया था. डिवाइस में नेटवर्क होने की गारंटी नहीं है फ़ैक् टरी रीसेट के दौरान ऐक्सेस कर सकता है. इसलिए, खाता अनलिंक करने का अनुरोध जारी करके डिवाइस से फ़ैक्ट्री रीसेट करते समय, शायद ऐसा करना मुमकिन न हो.

जब भी किसी वाहन का मालिकाना हक ट्रांसफ़र किया जाता है, तो कुछ कार्रवाइयों को यह पक्का किया जाता है कि पिछला मालिक अब वाहन. उदाहरण के लिए, नए मालिक से कहा जा सकता है कि वह:

  • फ़ैक्ट्री रीसेट करें. इससे यह पक्का होता है कि क्लाइंट आईडी फिर से जनरेट हो गया है. इस तारीख के बाद ऐसा करने पर, पिछला मालिक अब भी वाहन को चालू कर सकता है, लेकिन रिमोट टास्क को ज़्यादा समय तक एक्ज़ीक्यूट किया जा सकता है.

  • रिमोट टास्क क्लाइंट ऐप्लिकेशन खोलें और निर्देशों का पालन करें वाहन को अनलिंक करने के लिए क्लाइंट का रजिस्ट्रेशन रद्द करना प्रक्रिया खाते से लिंक किया जा सकता है. नया मालिक क्लाइंट की प्रक्रिया के तहत, वाहन को अपने खाते से लिंक करना और लिंक किया गया खाता है.

  • नया मालिक, इन कामों के लिए क्लाइंट रजिस्टर करें प्रोसेस का इस्तेमाल कर सकता है वाहन को उनके खाते से लिंक करना होगा और पहले लिंक किए गए खाते को बदलना होगा.

रिमोट टास्क क्लाइंट की जांच करें

हम रिमोट ऐक्सेस वाला एचएएल रेफ़रंस देते हैं default रिमोट टास्क क्लाइंट की जाँच करने के लिए डायरेक्ट्री. debug का इस्तेमाल किया जा सकता है एक नकली रिमोट टास्क को HAL को इंजेक्ट करने का निर्देश दें, जिसे आपके रिमोट टास्क क्लाइंट का नाम डालें, बशर्ते आपने सही क्लाइंट आईडी दिया हो. आपको क्लाइंट को अपने रिमोट टास्क क्लाइंट में रजिस्ट्रेशन की जानकारी लॉग करके आईडी लागू करना.

adb root && adb shell dumpsys android.hardware.automotive.remoteaccess.IRemoteAccess/default --inject-task [clientID] [taskData]