সুচিপত্র:

জিপিএস সিস্টেম: 7 টি ধাপ
জিপিএস সিস্টেম: 7 টি ধাপ

ভিডিও: জিপিএস সিস্টেম: 7 টি ধাপ

ভিডিও: জিপিএস সিস্টেম: 7 টি ধাপ
ভিডিও: GPS কি? GPS কিভাবেকাজ করে? GPS এর ব্যবহার কিভাবে করে? 2024, অক্টোবর
Anonim
জিপিএস সিস্টেম
জিপিএস সিস্টেম
জিপিএস সিস্টেম
জিপিএস সিস্টেম
জিপিএস সিস্টেম
জিপিএস সিস্টেম

প্রকল্প নির্মাতা: কার্লোস গোমেজ

বিশ্ব ভ্রমণ এবং অন্বেষণ করার চেষ্টা করার জন্য একটি নির্ভরযোগ্য নেভিগেশন সিস্টেম থাকা সর্বাধিক গুরুত্বপূর্ণ।

সর্বাধিক গুরুত্বপূর্ণ দিক যা নেভিগেশন সিস্টেমকে কাজ করতে দেয় তা হল সিস্টেমের ভিতরে জিপিএস সক্ষমতা। জিপিএস সিস্টেম ব্যবহারকারী সম্পর্কে সঠিক তথ্য প্রদর্শন করতে এবং ব্যবহারকারীকে তার অবস্থান এবং কতটা দূরে তার সঠিক উপস্থাপনা দেওয়ার জন্য তাদের অবস্থান এবং গতির উপর নজর রাখার অনুমতি দেয়।

গ্লোবাল পজিশনিং সিস্টেম (জিপিএস) হল স্যাটেলাইটের একটি নেটওয়ার্ক যা পৃথিবীকে প্রায় 20,000 কিলোমিটার উচ্চতায় প্রদক্ষিণ করে। জিপিএস ডিভাইসের সাহায্যে যে কেউ রেডিও সিগন্যাল গ্রহণ করতে পারে যা স্যাটেলাইটগুলি সম্প্রচার করে এবং সেগুলি যে কোন উপায়ে ব্যবহার করতে সক্ষম হয়। গ্রহে আপনার অবস্থান যেখানেই হোক কমপক্ষে চারটি জিপিএস যেকোনো সময় আপনার জন্য উপলব্ধ হওয়া উচিত। 3-ডি ট্রিলারেটেশন নামে একটি পদ্ধতি ব্যবহার করে, একটি জিপিএস ডিভাইস পৃথিবীতে ডিভাইসের অবস্থান নির্ধারণের জন্য তিনটি উপগ্রহ ব্যবহার করতে সক্ষম। তিনটি স্যাটেলাইটের প্রত্যেকটি ডিভাইসে একটি সংকেত পাঠায় এবং ডিভাইসটি স্যাটেলাইট থেকে তার দূরত্ব নির্ধারণ করে। তিনটি দূরত্বের গণনার প্রতিটি ব্যবহার করে ডিভাইসটি এখন পৃথিবীতে তার অবস্থান চিহ্নিত করতে সক্ষম এবং এটি ব্যবহারকারীর কাছে ফেরত দেয়।

আমরা যে জিপিএস সিস্টেম তৈরি করব তা ব্যবহারকারীর অবস্থানগুলি পৃথিবীতে ব্যবহারকারীর স্থানাঙ্কগুলি খুঁজে পেতে এবং ব্যবহারকারীর গতি, অবস্থান এবং আচ্ছাদিত দূরত্ব ফিরিয়ে আনতে কিছু গণনা করতে সক্ষম হবে।

ধাপ 1: শুরু করা

শুরু হচ্ছে
শুরু হচ্ছে
শুরু হচ্ছে
শুরু হচ্ছে
শুরু হচ্ছে
শুরু হচ্ছে
শুরু হচ্ছে
শুরু হচ্ছে

এই প্রকল্পটি শুরু করার জন্য, আমাদের প্রথমে সমস্ত সঠিক উপকরণ সংগ্রহ করতে হবে

1: রাস্পবেরি পাই জিরো ডব্লিউ

2: জিপিএস রিসিভার

3: 1.8 TFT 128 x 160 LCD SPI স্ক্রিন

4: ~ 11 তারের

5: 2 বোতাম

6: 2x 1k এবং 2x 10k রোধকারী টান ডাউন বোতামগুলির জন্য

7: রুটি বোর্ড

এই প্রকল্পটি রাস্পবেরি পাই এর জিপিআইও পিন ব্যবহার করবে এবং এইভাবে আমাদের প্রকল্পটি বিকাশের জন্য আমাদের সবকিছুকে রুটি বোর্ডের সাথে সংযুক্ত করতে হবে। এটাও ধরে নেওয়া হয় যে সমস্ত পিনের উপর সোল্ডারিং করা হয়েছে এবং শেষ হয়ে গেছে এবং আমাদের সমস্ত অংশগুলিকে সংযুক্ত করার আগে।

ধাপ 2: রাস্পবেরি পাইতে জিপিএস মডিউল সংযুক্ত করুন

জিপিএস মডিউলকে রাস্পবেরি পাইতে সংযুক্ত করুন
জিপিএস মডিউলকে রাস্পবেরি পাইতে সংযুক্ত করুন
জিপিএস মডিউলকে রাস্পবেরি পাইতে সংযুক্ত করুন
জিপিএস মডিউলকে রাস্পবেরি পাইতে সংযুক্ত করুন

আমাদের জিপিএস সিস্টেম ব্যবহারের জন্য আপনাকে জিপিএস মডিউল থেকে জিপিআইও পিন 14 এবং 15 এর সাথে রাস্পবেরি পাইতে টিএক্স এবং আরএক্স পিন সংযুক্ত করতে হবে। জিপিএস রিসিভারের টিএক্স পিন পাই এর আরএক্স পিনে যায় এবং জিপিএস রিসিভারের আরএক্স পিন রাস্পবেরি পাই এর টিএক্স পিনে যায়।

ছবিতে দেখানো জিপিএস রিসিভারের জন্য 3.3V ব্যবহার করতে হবে এবং গ্রাউন্ড পিনকে মাটিতে সংযুক্ত করার সময় আপনি 3.3V পিনগুলিকে সঠিক ভোল্টেজের সাথে সংযুক্ত করতে পারেন।

ধাপ 3: জিপিএস রিসিভার মডিউল থেকে ডেটা গ্রহণ করুন

জিপিএস রিসিভার মডিউল থেকে ডেটা গ্রহণ করুন
জিপিএস রিসিভার মডিউল থেকে ডেটা গ্রহণ করুন

জিপিএস রিসিভার থেকে রাস্পবেরি পাইতে ডেটা গ্রহণ করার জন্য আমাদের UART পোর্ট থেকে সঠিক সকেট পড়ার অনুমতি দিতে হবে। কাঁচা ডেটা পড়ার জন্য আমাদের নিজস্ব পার্সিং লাইব্রেরি তৈরি করতে হবে, কিন্তু এই পরিস্থিতিতে আমরা একটি জিপিএস ডিমন এর সুবিধা নিতে পারি যা ব্যাকগ্রাউন্ডে চললে ডেটা বিশ্লেষণ করতে সাহায্য করে এবং রাস্পবেরি পাই তে প্রেরণ করে

এটি সম্পন্ন করার জন্য আমরা রাস্পবেরি পাইতে একটি টার্মিনাল খুলতে পারি এবং কোডটি চালাতে পারি:

sudo apt- আপডেট পান

sudo apt-get gpsd gpsd-client পাইথন-জিপিএস ইনস্টল করুন

এটি আমাদের জন্য ডাউনলোডের যত্ন নেওয়া উচিত।

একবার এটি সম্পন্ন হলে, আমাদের নিম্নলিখিত কমান্ডগুলি চালানোর মাধ্যমে জিপিএসডি সিস্টেম পরিষেবা অক্ষম করতে হবে:

sudo systemctl স্টপ gpsd.socket

sudo systemctl gpsd.socket নিষ্ক্রিয় করুন

আপনি যদি কখনও ডিফল্ট জিপিএসডি সিস্টেম পরিষেবা সক্ষম করতে চান তবে আপনি এটি পুনরুদ্ধার করতে নিম্নলিখিত কমান্ডগুলি চালাতে পারেন:

sudo systemctl gpsd.socket সক্ষম করে

sudo systemctl শুরু gpsd.socket

এখন আমাদের জিপিএসডি ডেমন শুরু করতে হবে এবং এটি প্রবেশ করে UART পোর্টের দিকে নির্দেশ করতে হবে

sudo gpsd/dev/ttyAMA0 -F /var/run/gpsd.sock

আমরা এখন নীচের কমান্ডটি চালাতে পারি এবং সমস্ত ডেটা ভাসমান দেখতে পারি!

cgps -s

ধাপ 4: রাস্পবেরি পাই এর সাথে ডিসপ্লে সংযুক্ত করুন

রাস্পবেরি পাই এর সাথে ডিসপ্লে সংযুক্ত করুন
রাস্পবেরি পাই এর সাথে ডিসপ্লে সংযুক্ত করুন
রাস্পবেরি পাই এর সাথে ডিসপ্লে সংযুক্ত করুন
রাস্পবেরি পাই এর সাথে ডিসপ্লে সংযুক্ত করুন

একবার আমাদের জিপিএস রিসিভার হয়ে গেলে এবং রাস্পবেরি পাই এর সাথে কাজ করার পর, আমরা রাস্পবেরি পাই এর সাথে ডিসপ্লেটি সংযুক্ত করতে পারি। ্রগ.

আমি যে টিএফটি স্ক্রিনটি ব্যবহার করছি তার একটি ফটো অন্তর্ভুক্ত করেছি, তবে এটি একই আকার এবং বিল্ডের স্ক্রিনের সাথে কাজ করা উচিত।

LED- এবং GND কে মাটিতে সংযুক্ত করুন এবং LED+ এবং VCC কে 3.3V এর সাথে সংযুক্ত করুন।

পাই বোর্ডে 25 পিন করতে স্ক্রিনে রিসেট পিন সংযুক্ত করুন।

পাই বোর্ডে 24 পিন করতে A0 সংযুক্ত করুন।

Pi বোর্ডে MOSI পিনের সাথে SDA পিন সংযুক্ত করুন।

LCD স্ক্রিনে SCK পিনটি Pi বোর্ডের সাথে সংযুক্ত করুন।

পাই বোর্ডে 8 পিন করার জন্য সিএস পিন সংযুক্ত করুন।

ধাপ 5: রাস্পবেরি পাই এর সাথে কাজ করার জন্য ডিসপ্লে সেটআপ করুন

রাস্পবেরি পাই এর সাথে কাজ করার জন্য সেটআপ প্রদর্শন
রাস্পবেরি পাই এর সাথে কাজ করার জন্য সেটআপ প্রদর্শন

ডিসপ্লে সেটআপ করার জন্য আমাদের এই রেপোতে পাওয়া ST7735 লাইব্রেরি ব্যবহার করতে হবে:

পাইথন ST7735 স্ক্রিন লাইব্রেরি

একবার আমাদের ডিসপ্লে লাইব্রেরিটি আমাদের রাস্পবেরি পাই সিস্টেমে ইনস্টল হয়ে গেলে, আমরা এখন আমাদের আগের ওয়্যারিং সঠিকভাবে কাজ করছে তা নিশ্চিত করার জন্য একটি উদাহরণ ফাইল সেট আপ করতে এগিয়ে যেতে পারি।

Example.py শিরোনামের একটি ফাইল তৈরি করুন এবং একই ফোল্ডারে আপনার পছন্দের একটি নমুনা চিত্র সহ সেখানে নিম্নলিখিত পাঠ্যটি সন্নিবেশ করান

STF7735 TFTimport Adafruit_GPIO হিসাবে GPIO হিসাবে আমদানি করুন Adafruit_GPIO. SPI হিসাবে SPI

প্রস্থ = 128

HEIGHT = 160 SPEED_HZ = 4000000

# রাস্পবেরি পাই কনফিগারেশন।

# এইগুলি রাস্পবেরি পাইয়ের সাথে এলসিডি সংযোগ করার জন্য প্রয়োজনীয় পিনগুলি

DC = 24 RST = 25 SPI_PORT = 0 SPI_DEVICE = 0

# টিএফটি এলসিডি ডিসপ্লে ক্লাস তৈরি করুন।

disp = TFT. ST7735 (DC, rst = RST, spi = SPI. SpiDev (SPI_PORT, SPI_DEVICE, max_speed_hz = SPEED_HZ))

# ডিসপ্লে শুরু করুন।

disp.begin () disp.reset ()

# একটি ছবি লোড করুন।

newData = 0x42 disp.command (newData) প্রিন্ট ('ছবি লোড হচ্ছে …') ছবি = Image.open ('cat.jpg')

# ছবির আকার পরিবর্তন করুন এবং ঘোরান যাতে ডিসপ্লের সাথে মেলে।

image = image.rotate (270)। resize ((WIDTH, HEIGHT))

# টার্মিনালে প্রিন্ট করবে যে আমাদের প্রোগ্রামটি স্ক্রিনে আমাদের ছবি আঁকছে

মুদ্রণ ('ছবি আঁকা')

# এই ফাংশনটি স্ক্রিনে আমাদের ছবি প্রদর্শন করবে

ডিসপ ডিসপ্লে (ছবি)

এই ফাইলটি এলসিডি স্ক্রিনের জন্য রাস্পবেরি পাই কনফিগারেশন সেটআপ করবে এবং লাইব্রেরি আমাদের ছবিটিকে ফোল্ডারে রূপান্তর করবে এবং স্ক্রিনে প্রদর্শন করবে।

ধাপ 6: ডিসপ্লেতে জিপিএস তথ্য প্রদর্শনের জন্য স্টেট মেশিন সেটআপ করুন

ডিসপ্লেতে জিপিএস তথ্য প্রদর্শনের জন্য স্টেট মেশিন সেটআপ করুন
ডিসপ্লেতে জিপিএস তথ্য প্রদর্শনের জন্য স্টেট মেশিন সেটআপ করুন
ডিসপ্লেতে জিপিএস তথ্য প্রদর্শনের জন্য স্টেট মেশিন সেটআপ করুন
ডিসপ্লেতে জিপিএস তথ্য প্রদর্শনের জন্য স্টেট মেশিন সেটআপ করুন
ডিসপ্লেতে জিপিএস তথ্য প্রদর্শনের জন্য স্টেট মেশিন সেটআপ করুন
ডিসপ্লেতে জিপিএস তথ্য প্রদর্শনের জন্য স্টেট মেশিন সেটআপ করুন

আমাদের জিপিএস সিস্টেম সেটআপ করার জন্য আমাদের টাস্ক ডায়াগ্রাম বাস্তবায়নের সময় আমরা 5 টি ভিন্ন রাষ্ট্র মেশিন ব্যবহার করব।

ডিসপ্লে চেঞ্জ স্টেট মেশিন:

এই স্টেট মেশিনটি আমাদের বাটন ইনপুটের উপর নির্ভর করে কোনটি প্রদর্শন করবে তা নিয়ন্ত্রণ করবে। এটি একটি ভেরিয়েবল পরিবর্তন করে এটি করে যা পাইথনকে ডাক টাইপিংয়ের সুবিধা নিতে এবং সঠিক ফাংশনকে কল করার জন্য কল করা ফাংশনের উপর নির্ভর করে

স্পিড স্টেট মেশিন:

এই রাষ্ট্রীয় মেশিন ব্যক্তিদের অবস্থানের উপর নির্ভর করে বর্তমান গতি চালাবে। এটি জিপিএস সিস্টেমের জন্য প্রতিটি ঘড়ি চক্র চালাবে

আউটপুট স্টেট মেশিন:

এই স্টেট মেশিনটি ভেরিয়েবলের উপর ভিত্তি করে আউটপুট নির্ধারণ করবে যা ডিসপ্লে চেঞ্জ স্টেট মেশিন বর্তমান ডিসপ্লে হিসেবে নির্ধারণ করে।

দূরত্ব রাষ্ট্র যন্ত্র

এই স্টেট মেশিনটি প্রতিটি ঘড়ি চক্র চালায় এবং ব্যবহারকারীর ভ্রমণের মোট দূরত্ব নির্ধারণ করে এবং একবার রিসেট বোতামটি ধাক্কা দিলে ভ্রমণের বর্তমান দূরত্ব পুনরায় সেট করবে।

অবস্থান রাষ্ট্র মেশিন:

এই স্টেট মেশিনটি ব্যবহারকারীর বর্তমান অবস্থান ফিরিয়ে দেয়, সেই সমন্বয় ব্যবহার করে যা জিপিএস মডিউল ব্যবহারকারী সম্পর্কে ফিরে আসে। এই রাষ্ট্রযন্ত্রটি ব্যবহারকারীদের ইন্টারনেট সংযোগের উপর নির্ভরশীল।

ধাপ 7: আমাদের জিপিএস সিস্টেম বাস্তবায়ন করা যাক

একবার আমাদের জিপিএস মডিউল আমাদের রাস্পবেরি পাই এবং আমাদের এলসিডি স্ক্রিনে তথ্য প্রদর্শন করার জন্য তথ্য পাঠানোর পরে আমরা আমাদের জিপিএস সিস্টেম প্রোগ্রাম করা শুরু করতে পারি। আমাদের জিপিএস সিস্টেমকে কোড করার জন্য আমি আগের ধাপের সীমাবদ্ধ রাষ্ট্র মেশিন ব্যবহার করব

## নেভিগেশন সিস্টেমের জন্য প্রধান ফাইল # # # #

# ছবি আঁকার জন্য লাইব্রেরি

পিআইএল থেকে আমদানি ইমেজ পিআইএল থেকে আমদানি ইমেজড্রা পিআইএল আমদানি ইমেজফন্ট থেকে

# ST7737 নিয়ামকের জন্য লাইব্রেরি

ST7735 টিএফটি হিসাবে আমদানি করুন

রাস্পবেরি পাই এর জন্য জিপিআইওর জন্য লাইব্রেরি

GPIO হিসাবে Adafruit_GPIO আমদানি করুন Adafruit_GPIO. SPI হিসাবে SPI

জিপিএসের জন্য # লাইব্রেরি

#আমদানি gpsd থেকে gps3 আমদানি gps3

# সময়ের জন্য লাইব্রেরি

আমদানির সময়

# দুই পয়েন্টের মধ্যে দূরত্ব খোঁজার জন্য লাইব্রেরি

গণিত আমদানি থেকে পাপ, cos, sqrt, atan2, radians

# Rpi লাইব্রেরি আমদানি করুন মেনুগুলি পরিবর্তন করতে এবং রিসেট করতে বোতামগুলি ব্যবহার করতে

# BGPIO হিসাবে RPi. GPIO আমদানি করুন

# বোতামগুলির জন্য পিন সেটআপ করুন

bGPIO.setmode (bGPIO. BCM)

bGPIO.setup (18, bGPIO. IN, pull_up_down = bGPIO. PUD_DOWN)

bGPIO.setup (23, bGPIO. IN, pull_up_down = bGPIO. PUD_DOWN)

# জিওকোডিংয়ের জন্য জিওপি লাইব্রেরি আমদানি করুন

এই কাজ করার জন্য # # ইন্টারনেট অ্যাক্সেস প্রয়োজন

Geopy.geocoders থেকে Nominatim আমদানি করুন

ভূতাত্ত্বিক = Nominatim ()

# সিস্টেমের জন্য ধ্রুবক

#################################

প্রস্থ = 128

HEIGHT = 160 SPEED_HZ = 4000000

# রাস্পবেরি পাই কনফিগারেশন পিন

TFT স্ক্রিনে DC = 24 # A0 RST = 25 # TFT স্ক্রিনে পিন রিসেট করুন SPI_PORT = 0 # রাস্পবেরি পাইতে SPI পোর্ট, SPI0 SPI_DEVICE = 0 # স্ল্যাভ সিলেক্ট করুন rapsberry pi, CE0

# TFT LCD ডিসপ্লে অবজেক্ট তৈরি করুন

disp = TFT. ST7735 (DC, rst = RST, spi = SPI. SpiDev (SPI_PORT, SPI_DEVICE, max_speed_hz = SPEED_HZ))

# ডিসপ্লে শুরু করুন

disp.begin ()

# পটভূমি সবুজ সেট করা হবে

#disp. clear ((0, 255, 0))

# সাদা এবং প্রদর্শন করতে পর্দা পরিষ্কার করুন

#disp.clear ((255, 255, 255)) draw = disp.draw () #draw.rectangle ((0, 10, 127, 150), outline = (255, 0, 0), fill = (0, 0, 255)) #disp.display ()

# গতি, অক্ষাংশ, দ্রাঘিমাংশ বসানোর ভেরিয়েবল

#currentS = "বর্তমান গতি:" # গতির স্ট্রিং #totalDis = "মোট দূরত্ব:" # দূরত্বের স্ট্রিং #currentLoc = "বর্তমান অবস্থান:" # অবস্থান স্ট্রিং

# দূরত্ব x এবং y স্থানাঙ্ক

distX = 10 distY = 20

পয়েন্ট তালিকা =

# গতি x এবং y স্থানাঙ্ক

speedX = 10 speedY = 20

# অবস্থান x এবং y স্থানাঙ্ক

locX = 10 locY = 20

# M/s থেকে mph এ রূপান্তরিত হয়

রূপান্তর ভ্যাল = 2.24

# স্পিড আপডেট ফাংশন, স্ট্রিং রিটার্ন করে

SpeedVar = 0

def speedFunc (): global SpeedVar SpeedText = data_stream. TPV ['speed'] if (SpeedText! = "n/a"): SpeedText = float (SpeedText) * conversionVal SpeedVar = round (SpeedText, 1) # return (SpeedText)

def locationFunc ():

latLoc = str (latFunc ()) lonLoc = str (lonFunc ())

reverseString = latLoc + "," + lonLoc

অবস্থান = geolocator.reverse (reverseString)

ফেরত (অবস্থান ঠিকানা)

# অক্ষাংশ আপডেট ফাংশন, ভাসমান মান প্রদান করে

def latFunc (): Latitude = data_stream. TPV ['lat'] if (Latitude == "n/a"): return 0 else: return float (round (Latitude, 4))

# দ্রাঘিমাংশ আপডেট ফাংশন, স্ট্রিং প্রদান করে

def lonFunc (): Longitude = data_stream. TPV ['lon'] if (Longitude == "n/a"): return 0 else: return float (round (Longitude, 4))

# দূরত্ব ফাংশন ভ্রমণ করা মোট দূরত্ব প্রদান করে

মোট দূরত্ব = 0

def distFunc ():

বিশ্বব্যাপী মোট দূরত্ব newLat = latFunc () newLon = lonFunc () if (newLat == 0 বা newLon == 0): totalDistance = totalDistance # return (totalDistance) else: pointsList.append ((newLat, newLon)) last = len (pointsList)) -1 if (last == 0): return else: totalDistance += coorDistance (pointsList [last-1], pointsList [last]) # return totalDistance

# মোট দূরত্ব পুনরায় সেট করে

def resDistance ():

বিশ্বব্যাপী মোট দূরত্ব মোট দূরত্ব = 0

# ফাংশন দুটি স্থানাঙ্কের মধ্যে দূরত্ব খুঁজে পেতে ব্যবহৃত হয়

# খোঁজার জন্য হাভারসাইনের সূত্র ব্যবহার করে। # ইনপুট পয়েন্ট একটি টুপল

def coorDistance (point1, point2):

# কিলোমিটারে পৃথিবীর আনুমানিক ব্যাসার্ধ EarthRadius = 6373.0

lat1 = point1 [0]

lon1 = point1 [1]

lat2 = point2 [0]

lon2 = point2 [1]

distanceLon = lon2 - lon1

distanceLat = lat2 - lat1

# হাভারসাইন ক

a = sin (distanceLat/2) ** 2 + cos (lat1)*cos (lat2)*sin (distanceLon/2) ** 2

# হাভারসাইন গ

c = 2 * atan2 (sqrt (a), sqrt (1-a))

# কিমি কে মাইল এ রূপান্তর করুন

দূরত্ব = (আর্থ রেডিয়াস * গ) * 0.62137

যদি (দূরত্ব <= 0.01): রিটার্ন 0.00 অন্য: রিটার্ন রাউন্ড (দূরত্ব, 3)

# স্ক্রিনে গতি প্রদর্শন করার ফাংশন

def dispSpeed ():

গ্লোবাল স্পিডভার # স্ক্রিন ড্র এ টেক্সট ((speedX, speedY), str (SpeedVar), font = ImageFont.truetype ("Lato-Medium.ttf", 72))

# পর্দায় দূরত্ব প্রদর্শন ফাংশন

def dispDistance ():

draw.text ((distX, distY), str (totalDistance), font = ImageFont.truetype ("Lato-Medium.ttf", 60))

# ফাংশন স্ক্রিনে ডিসপ্লে লোকেশন, কাজ করার জন্য ইন্টারনেটের প্রয়োজন

def dispLocation ():

draw.text ((locX, locY), locationFunc (), font = ImageFont.truetype ("Lato-Medium.ttf", 8))

# ডিকশনারি ব্যবহার করে সুইচ স্টেটমেন্ট অনুকরণ করা

dispOptions = {

0: dispSpeed, 1: dispDistance, 2: dispLocation}

# স্ক্রিন আউটপুট ফাংশন

ডিফ আউটপুট ():

# ডিসপ্লের জন্য গ্লোবাল ভেরিয়েবল ব্যবহার করা পূরণ করুন (255, 0, 0))

# ডিসপ্লে ইন্ডেক্স ভ্যালুর উপর নির্ভর করে কল ফাংশন

dispOptions [displayIndex] ()

# অন্য পদ্ধতি কাজ করলে মুছে ফেলবে

# পর্দায় দূরত্ব পরিবর্তনশীল রাখুন

#draw।.load_default ()) # ডিসপ্লের আপডেট ডিসপ্লে ডিসপ্লে প্রদর্শন ()

displayButton = 18 # রাস্পবেরি পাইতে BCM পিন

resetButton = 23 # রাস্পবেরি পাইতে BCM পিন

buttonPress = মিথ্যা

def checkDisplay ():

গ্লোবাল বোতাম টিপুন গ্লোবাল ডিসপ্লে ইন্ডেক্স যদি (bGPIO.input (displayButton) না বাটন প্রেস): displayIndex += 1 button প্রেস = সত্য হলে (displayIndex == 2): displayIndex = 0 elif (bGPIO.input (displayButton) এবং buttonPress): print (" এখনও টিপুন ") অন্যথায়: buttonPress = মিথ্যা

# জিপিএস সেটআপ করুন

gps_socket = gps3. GPSDSocket () data_stream = gps3. DataStream () gps_socket.connect () gps_socket.watch ()

timerPeriod =.5

# ডিসপ্লে ডিসপ্লের জন্য সূচকের মান], data_stream. TPV ['lat'], data_stream. TPV ['lon'] distFunc () speedFunc () output () checkDisplay () if (bGPIO.input (resetButton)): resDistance () else: output () checkDisplay () if (bGPIO.input (resetButton)): resDistance () print ('GPS এখনও সংযুক্ত হয়নি') time.sleep (.1) time.sleep (.8) কীবোর্ড ব্যতীত বিরতি: gps_socket.close () print (' user n ব্যবহারকারী ctrl+c 'দ্বারা সমাপ্ত)

উপরের কোডটি আমাদের সিস্টেমকে কীভাবে কোড করতে হয় তার একটি উদাহরণ এবং এই সিস্টেমটি কীভাবে কাজ করে সে সম্পর্কে আমি একটি ভিডিও এম্বেড করেছি।

প্রস্তাবিত: