You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/pa/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md

13 KiB

GPS ਡਾਟਾ ਪੜ੍ਹੋ - ਵਰਚੁਅਲ IoT ਹਾਰਡਵੇਅਰ

ਇਸ ਪਾਠ ਦੇ ਇਸ ਹਿੱਸੇ ਵਿੱਚ, ਤੁਸੀਂ ਆਪਣੇ ਵਰਚੁਅਲ IoT ਡਿਵਾਈਸ ਵਿੱਚ GPS ਸੈਂਸਰ ਸ਼ਾਮਲ ਕਰੋਗੇ ਅਤੇ ਇਸ ਤੋਂ ਮੁੱਲ ਪੜ੍ਹੋਗੇ।

ਵਰਚੁਅਲ ਹਾਰਡਵੇਅਰ

ਵਰਚੁਅਲ IoT ਡਿਵਾਈਸ ਇੱਕ ਸਿਮੂਲੇਟ ਕੀਤੇ GPS ਸੈਂਸਰ ਦੀ ਵਰਤੋਂ ਕਰੇਗਾ ਜੋ ਕਿ UART ਰਾਹੀਂ ਇੱਕ ਸੀਰੀਅਲ ਪੋਰਟ ਉੱਤੇ ਪਹੁੰਚਯੋਗ ਹੈ।

ਇੱਕ ਭੌਤਿਕ GPS ਸੈਂਸਰ ਵਿੱਚ GPS ਸੈਟੇਲਾਈਟਾਂ ਤੋਂ ਰੇਡੀਓ ਤਰੰਗਾਂ ਨੂੰ ਕੈਪਚਰ ਕਰਨ ਲਈ ਐਂਟੀਨਾ ਹੁੰਦਾ ਹੈ ਅਤੇ GPS ਸਿਗਨਲਾਂ ਨੂੰ GPS ਡਾਟਾ ਵਿੱਚ ਬਦਲਦਾ ਹੈ। ਵਰਚੁਅਲ ਵਰਜਨ ਇਸ ਨੂੰ ਸਿਮੂਲੇਟ ਕਰਦਾ ਹੈ, ਜਿੱਥੇ ਤੁਸੀਂ ਲੈਟੀਟਿਊਡ ਅਤੇ ਲੌਂਗਿਟਿਊਡ ਸੈਟ ਕਰ ਸਕਦੇ ਹੋ, ਕੱਚੇ NMEA ਵਾਕ ਭੇਜ ਸਕਦੇ ਹੋ, ਜਾਂ ਇੱਕ GPX ਫਾਈਲ ਅੱਪਲੋਡ ਕਰ ਸਕਦੇ ਹੋ ਜਿਸ ਵਿੱਚ ਕਈ ਸਥਾਨ ਹਨ ਜੋ ਲਗਾਤਾਰ ਵਾਪਸ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ।

🎓 NMEA ਵਾਕਾਂ ਬਾਰੇ ਇਸ ਪਾਠ ਵਿੱਚ ਬਾਅਦ ਵਿੱਚ ਚਰਚਾ ਕੀਤੀ ਜਾਵੇਗੀ

CounterFit ਵਿੱਚ ਸੈਂਸਰ ਸ਼ਾਮਲ ਕਰੋ

ਵਰਚੁਅਲ GPS ਸੈਂਸਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਇਸਨੂੰ CounterFit ਐਪ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਨਾ ਪਵੇਗਾ।

ਕੰਮ - CounterFit ਵਿੱਚ ਸੈਂਸਰ ਸ਼ਾਮਲ ਕਰੋ

CounterFit ਐਪ ਵਿੱਚ GPS ਸੈਂਸਰ ਸ਼ਾਮਲ ਕਰੋ।

  1. ਆਪਣੇ ਕੰਪਿਊਟਰ 'ਤੇ gps-sensor ਨਾਮਕ ਫੋਲਡਰ ਵਿੱਚ ਇੱਕ ਨਵੀਂ Python ਐਪ ਬਣਾਓ, ਜਿਸ ਵਿੱਚ ਇੱਕ ਫਾਈਲ app.py ਹੋਵੇ ਅਤੇ ਇੱਕ Python ਵਰਚੁਅਲ ਵਾਤਾਵਰਣ ਹੋਵੇ, ਅਤੇ CounterFit ਪਿਪ ਪੈਕੇਜ ਸ਼ਾਮਲ ਕਰੋ।

    ⚠️ ਤੁਸੀਂ ਪਾਠ 1 ਵਿੱਚ CounterFit Python ਪ੍ਰੋਜੈਕਟ ਬਣਾਉਣ ਅਤੇ ਸੈਟਅੱਪ ਕਰਨ ਲਈ ਨਿਰਦੇਸ਼ਾਂ ਨੂੰ ਜ਼ਰੂਰਤ ਪੈਣ 'ਤੇ ਵੇਖ ਸਕਦੇ ਹੋ।

  2. ਇੱਕ ਹੋਰ ਪਿਪ ਪੈਕੇਜ ਇੰਸਟਾਲ ਕਰੋ ਜੋ UART ਅਧਾਰਿਤ ਸੈਂਸਰਾਂ ਨਾਲ ਸੀਰੀਅਲ ਕਨੈਕਸ਼ਨ ਰਾਹੀਂ ਗੱਲਬਾਤ ਕਰਨ ਲਈ CounterFit ਸ਼ਿਮ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਸੀਂ ਇਹ ਵਰਚੁਅਲ ਵਾਤਾਵਰਣ ਐਕਟੀਵੇਟ ਕੀਤੇ ਹੋਏ ਟਰਮੀਨਲ ਤੋਂ ਇੰਸਟਾਲ ਕਰ ਰਹੇ ਹੋ।

    pip install counterfit-shims-serial
    
  3. ਯਕੀਨੀ ਬਣਾਓ ਕਿ CounterFit ਵੈੱਬ ਐਪ ਚੱਲ ਰਿਹਾ ਹੈ।

  4. ਇੱਕ GPS ਸੈਂਸਰ ਬਣਾਓ:

    1. Sensors ਪੈਨ ਵਿੱਚ Create sensor ਬਾਕਸ ਵਿੱਚ, Sensor type ਡ੍ਰੌਪਡਾਊਨ ਬਾਕਸ ਵਿੱਚੋਂ UART GPS ਚੁਣੋ।

    2. Port ਨੂੰ /dev/ttyAMA0 'ਤੇ ਹੀ ਛੱਡੋ।

    3. Add ਬਟਨ ਚੁਣੋ ਤਾਂ ਜੋ /dev/ttyAMA0 ਪੋਰਟ 'ਤੇ GPS ਸੈਂਸਰ ਬਣਾਇਆ ਜਾ ਸਕੇ।

    GPS ਸੈਂਸਰ ਸੈਟਿੰਗ

    GPS ਸੈਂਸਰ ਬਣਾਇਆ ਜਾਵੇਗਾ ਅਤੇ ਸੈਂਸਰਾਂ ਦੀ ਸੂਚੀ ਵਿੱਚ ਦਿਖਾਈ ਦੇਵੇਗਾ।

    GPS ਸੈਂਸਰ ਬਣਾਇਆ ਗਿਆ

GPS ਸੈਂਸਰ ਪ੍ਰੋਗਰਾਮ ਕਰੋ

ਹੁਣ ਵਰਚੁਅਲ IoT ਡਿਵਾਈਸ ਨੂੰ ਵਰਚੁਅਲ GPS ਸੈਂਸਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਪ੍ਰੋਗਰਾਮ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।

ਕੰਮ - GPS ਸੈਂਸਰ ਪ੍ਰੋਗਰਾਮ ਕਰੋ

GPS ਸੈਂਸਰ ਐਪ ਪ੍ਰੋਗਰਾਮ ਕਰੋ।

  1. ਯਕੀਨੀ ਬਣਾਓ ਕਿ gps-sensor ਐਪ VS Code ਵਿੱਚ ਖੁੱਲ੍ਹੀ ਹੋਈ ਹੈ।

  2. app.py ਫਾਈਲ ਖੋਲ੍ਹੋ।

  3. CounterFit ਨਾਲ ਐਪ ਨੂੰ ਕਨੈਕਟ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ app.py ਦੇ ਸਿਰੇ 'ਤੇ ਸ਼ਾਮਲ ਕਰੋ:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  4. ਇਸ ਤੋਂ ਹੇਠਾਂ ਕੁਝ ਲੋੜੀਂਦੇ ਲਾਇਬ੍ਰੇਰੀਆਂ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ, ਜਿਸ ਵਿੱਚ CounterFit ਸੀਰੀਅਲ ਪੋਰਟ ਲਈ ਲਾਇਬ੍ਰੇਰੀ ਵੀ ਸ਼ਾਮਲ ਹੈ:

    import time
    import counterfit_shims_serial
    
    serial = counterfit_shims_serial.Serial('/dev/ttyAMA0')
    

    ਇਹ ਕੋਡ counterfit_shims_serial ਪਿਪ ਪੈਕੇਜ ਤੋਂ serial ਮੋਡੀਊਲ ਨੂੰ ਇੰਪੋਰਟ ਕਰਦਾ ਹੈ। ਫਿਰ ਇਹ /dev/ttyAMA0 ਸੀਰੀਅਲ ਪੋਰਟ ਨਾਲ ਕਨੈਕਟ ਕਰਦਾ ਹੈ - ਇਹ ਉਹ ਪਤਾ ਹੈ ਜੋ ਵਰਚੁਅਲ GPS ਸੈਂਸਰ ਆਪਣੇ UART ਪੋਰਟ ਲਈ ਵਰਤਦਾ ਹੈ।

  5. ਇਸ ਤੋਂ ਹੇਠਾਂ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ ਤਾਂ ਜੋ ਸੀਰੀਅਲ ਪੋਰਟ ਤੋਂ ਡਾਟਾ ਪੜ੍ਹਿਆ ਜਾ ਸਕੇ ਅਤੇ ਕੌਨਸੋਲ 'ਤੇ ਪ੍ਰਿੰਟ ਕੀਤਾ ਜਾ ਸਕੇ:

    def print_gps_data(line):
        print(line.rstrip())
    
    while True:
        line = serial.readline().decode('utf-8')
    
        while len(line) > 0:
            print_gps_data(line)
            line = serial.readline().decode('utf-8')
    
        time.sleep(1)
    

    ਇੱਕ ਫੰਕਸ਼ਨ print_gps_data ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ ਜੋ ਲਾਈਨ ਨੂੰ ਕੌਨਸੋਲ 'ਤੇ ਪ੍ਰਿੰਟ ਕਰਦਾ ਹੈ।

    ਫਿਰ ਕੋਡ ਹਮੇਸ਼ਾ ਚੱਲਦਾ ਰਹਿੰਦਾ ਹੈ, ਹਰ ਚੱਕਰ ਵਿੱਚ ਸੀਰੀਅਲ ਪੋਰਟ ਤੋਂ ਜਿੰਨੀ ਲਾਈਨਾਂ ਪੜ੍ਹ ਸਕਦਾ ਹੈ, ਪੜ੍ਹਦਾ ਹੈ। ਇਹ ਹਰ ਲਾਈਨ ਲਈ print_gps_data ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ।

    ਸਾਰਾ ਡਾਟਾ ਪੜ੍ਹਨ ਤੋਂ ਬਾਅਦ, ਲੂਪ 1 ਸਕਿੰਟ ਲਈ ਰੁਕਦਾ ਹੈ, ਫਿਰ ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ।

  6. ਇਸ ਕੋਡ ਨੂੰ ਚਲਾਓ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹੋਏ ਕਿ ਤੁਸੀਂ CounterFit ਐਪ ਚਲਾਉਣ ਵਾਲੇ ਟਰਮੀਨਲ ਤੋਂ ਵੱਖਰੇ ਟਰਮੀਨਲ ਵਿੱਚ ਇਸਨੂੰ ਚਲਾ ਰਹੇ ਹੋ, ਤਾਂ ਜੋ CounterFit ਐਪ ਚੱਲਦੀ ਰਹੇ।

  7. CounterFit ਐਪ ਤੋਂ, GPS ਸੈਂਸਰ ਦਾ ਮੁੱਲ ਬਦਲੋ। ਤੁਸੀਂ ਇਹ ਹੇਠਾਂ ਦਿੱਤੇ ਤਰੀਕਿਆਂ ਵਿੱਚੋਂ ਕਿਸੇ ਇੱਕ ਨਾਲ ਕਰ ਸਕਦੇ ਹੋ:

    • Source ਨੂੰ Lat/Lon 'ਤੇ ਸੈਟ ਕਰੋ ਅਤੇ ਇੱਕ ਸਪਸ਼ਟ ਲੈਟੀਟਿਊਡ, ਲੌਂਗਿਟਿਊਡ ਅਤੇ ਸੈਟੇਲਾਈਟਾਂ ਦੀ ਗਿਣਤੀ ਸੈਟ ਕਰੋ। ਇਹ ਮੁੱਲ ਸਿਰਫ ਇੱਕ ਵਾਰ ਭੇਜਿਆ ਜਾਵੇਗਾ, ਇਸ ਲਈ Repeat ਬਾਕਸ ਚੈੱਕ ਕਰੋ ਤਾਂ ਜੋ ਡਾਟਾ ਹਰ ਸਕਿੰਟ ਦੁਹਰਾਇਆ ਜਾਵੇ।

      GPS ਸੈਂਸਰ lat lon ਨਾਲ ਚੁਣਿਆ ਗਿਆ

    • Source ਨੂੰ NMEA 'ਤੇ ਸੈਟ ਕਰੋ ਅਤੇ ਕੁਝ NMEA ਵਾਕ ਟੈਕਸਟ ਬਾਕਸ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ। ਇਹ ਸਾਰੇ ਮੁੱਲ ਭੇਜੇ ਜਾਣਗੇ, ਹਰ ਨਵੇਂ GGA (ਸਥਿਤੀ ਫਿਕਸ) ਵਾਕ ਤੋਂ ਪਹਿਲਾਂ 1 ਸਕਿੰਟ ਦੀ ਦੇਰੀ ਨਾਲ।

      GPS ਸੈਂਸਰ NMEA ਵਾਕਾਂ ਨਾਲ ਸੈਟ ਕੀਤਾ ਗਿਆ

      ਤੁਸੀਂ nmeagen.org ਵਰਗੇ ਟੂਲ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ ਮੈਪ 'ਤੇ ਖਿੱਚਣ ਲਈ ਇਹ ਵਾਕ ਬਣਾਉਣ ਲਈ। ਇਹ ਮੁੱਲ ਸਿਰਫ ਇੱਕ ਵਾਰ ਭੇਜੇ ਜਾਣਗੇ, ਇਸ ਲਈ Repeat ਬਾਕਸ ਚੈੱਕ ਕਰੋ ਤਾਂ ਜੋ ਸਾਰਾ ਡਾਟਾ ਭੇਜਣ ਤੋਂ ਬਾਅਦ ਇੱਕ ਸਕਿੰਟ ਬਾਅਦ ਦੁਹਰਾਇਆ ਜਾਵੇ।

    • Source ਨੂੰ GPX ਫਾਈਲ 'ਤੇ ਸੈਟ ਕਰੋ ਅਤੇ ਟਰੈਕ ਸਥਾਨਾਂ ਵਾਲੀ GPX ਫਾਈਲ ਅੱਪਲੋਡ ਕਰੋ। ਤੁਸੀਂ AllTrails ਵਰਗੀਆਂ ਮਸ਼ਹੂਰ ਮੈਪਿੰਗ ਅਤੇ ਹਾਈਕਿੰਗ ਸਾਈਟਾਂ ਤੋਂ GPX ਫਾਈਲਾਂ ਡਾਊਨਲੋਡ ਕਰ ਸਕਦੇ ਹੋ। ਇਹ ਫਾਈਲਾਂ ਇੱਕ ਟ੍ਰੇਲ ਵਜੋਂ ਕਈ GPS ਸਥਾਨਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਦੀਆਂ ਹਨ, ਅਤੇ GPS ਸੈਂਸਰ ਹਰ ਨਵੇਂ ਸਥਾਨ ਨੂੰ 1 ਸਕਿੰਟ ਦੇ ਅੰਤਰਾਲ 'ਤੇ ਵਾਪਸ ਕਰੇਗਾ।

      GPS ਸੈਂਸਰ GPX ਫਾਈਲ ਨਾਲ ਸੈਟ ਕੀਤਾ ਗਿਆ

      ਇਹ ਮੁੱਲ ਸਿਰਫ ਇੱਕ ਵਾਰ ਭੇਜੇ ਜਾਣਗੇ, ਇਸ ਲਈ Repeat ਬਾਕਸ ਚੈੱਕ ਕਰੋ ਤਾਂ ਜੋ ਸਾਰਾ ਡਾਟਾ ਭੇਜਣ ਤੋਂ ਬਾਅਦ ਇੱਕ ਸਕਿੰਟ ਬਾਅਦ ਦੁਹਰਾਇਆ ਜਾਵੇ।

    ਜਦੋਂ ਤੁਸੀਂ GPS ਸੈਟਿੰਗਾਂ ਨੂੰ ਕਨਫਿਗਰ ਕਰ ਲਵੋ, Set ਬਟਨ ਚੁਣੋ ਤਾਂ ਜੋ ਇਹ ਮੁੱਲ ਸੈਂਸਰ 'ਤੇ ਲਾਗੂ ਹੋ ਜਾਣ।

  8. ਤੁਸੀਂ GPS ਸੈਂਸਰ ਤੋਂ ਕੱਚਾ ਆਉਟਪੁੱਟ ਦੇਖੋਗੇ, ਕੁਝ ਇਸ ਤਰ੍ਹਾਂ:

    $GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67
    $GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67
    

💁 ਤੁਸੀਂ ਇਹ ਕੋਡ code-gps/virtual-device ਫੋਲਡਰ ਵਿੱਚ ਲੱਭ ਸਕਦੇ ਹੋ।

😀 ਤੁਹਾਡਾ GPS ਸੈਂਸਰ ਪ੍ਰੋਗਰਾਮ ਸਫਲ ਰਿਹਾ!


ਅਸਵੀਕਰਤੀ:
ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ Co-op Translator ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀਤਾ ਲਈ ਯਤਨਸ਼ੀਲ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁਚਤਤਾਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਇਸਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ।