جدول المحتويات:
- اللوازم
- الخطوة 1: الحالة الأولية
- الخطوة 2: BerryGPS-GSM & Raspberry Pi Zero
- الخطوة 3: الموقع ولوحة معلومات السرعة
فيديو: تتبع GPS في الوقت الحقيقي: 3 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
تابع المزيد بالمؤلف:
في هذا البرنامج التعليمي ، سنوضح لك كيفية القيام بتتبع الموقع في الوقت الفعلي باستخدام BerryGPS-GSM و Raspberry Pi Zero و Initial State. سنرسل خطوط الطول والعرض والسرعة عبر 3G مع BerryGPS-GSM إلى الحالة الأولية.
اللوازم
- Raspberry Pi Zero
- BerryGPS-GSM
- الحالة الأولية
الخطوة 1: الحالة الأولية
نريد دفق جميع بيانات خطوط الطول والعرض والسرعة لدينا إلى خدمة سحابية وجعل هذه الخدمة تحول بياناتنا إلى لوحة تحكم لطيفة يمكننا الوصول إليها من جهاز الكمبيوتر المحمول أو الجهاز المحمول الخاص بنا. سوف نستخدم الحالة الأولية.
الخطوة 1: التسجيل للحصول على حساب الدولة الأولي
انتقل إلى https://iot.app.initialstate.com وأنشئ حسابًا جديدًا. تحصل على نسخة تجريبية مجانية مدتها 14 يومًا ويمكن لأي شخص لديه عنوان بريد إلكتروني تعليمي التسجيل للحصول على خطة مجانية للطلاب.
الخطوة 2: قم بتثبيت ISStreamer
قم بتثبيت وحدة بيثون الحالة الأولية على Raspberry Pi الخاص بك. في موجه الأوامر ، قم بتشغيل الأمر التالي:
$ cd / الرئيسية / pi /
$ / curl -sSL https://get.initialstate.com/python -o - | سودو باش
الخطوة 3: اصنع بعض Automagic
بعد الخطوة 2 ، سترى شيئًا مشابهًا للإخراج التالي على الشاشة:
pi @ raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o - | sudo bashPassword: بداية ISStreamer Python سهل التثبيت! قد يستغرق هذا بضع دقائق للتثبيت ، احصل على بعض القهوة:) ولكن لا تنسَ العودة ، سأطرح أسئلة لاحقًا! Found easy_install: setuptools 1.1.6 Found pip: pip 1.5.6 from /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) إصدار النقطة الرئيسي: 1 pip إصدار ثانوي: تم العثور على 5 ISStreamer ، قيد التحديث … المطلب محدث بالفعل: ISStreamer في Library / Python / 2.7 / site-packs Cleaning up… هل تريد الحصول تلقائيًا على مثال على البرنامج النصي؟ [y / N] أين تريد حفظ المثال؟ [افتراضي:./is_example.py] يرجى تحديد تطبيق الحالة الأولية الذي تستخدمه: 1. app.initialstate.com 2. [NEW!] iot.app.initialstate.com أدخل الخيار 1 أو 2: أدخل iot.app اسم مستخدم.initialstate.com: أدخل كلمة مرور iot.app.initialstate.com:
عند سؤالك عما إذا كنت تريد الحصول على مثال نصي تلقائيًا ، ضع "y" للإجابة على "نعم" واضغط على "إدخال" لحفظ البرنامج النصي في الموقع الافتراضي. بالنسبة للسؤال حول التطبيق الذي تستخدمه ، حدد 2 (إلا إذا قمت بالتسجيل قبل نوفمبر 2018) وأدخل اسم المستخدم وكلمة المرور الخاصين بك.
الخطوة 4: قم بتشغيل المثال النصي
قم بتشغيل البرنامج النصي التجريبي للتأكد من أنه يمكننا إنشاء دفق بيانات إلى حساب Initial State الخاص بك. اكتب الأمر التالي:
$ python is_example.py
الخطوة 5: مثال على البيانات
ارجع إلى حساب Initial State الخاص بك في متصفح الويب الخاص بك. يجب أن تظهر مجموعة بيانات جديدة تسمى "Python Stream Example" على اليسار في رف السجل (قد تضطر إلى تحديث الصفحة). انقر فوق هذه المجموعة لعرض البيانات الخاصة بك.
الخطوة 2: BerryGPS-GSM & Raspberry Pi Zero
إذا كنت تستخدم BerryGPS-GSM ، فيمكنك اتباع هذا الدليل للحصول على GPS يعمل والحصول على Pi للاتصال عبر 3G باستخدام PPP.
يوضح الدليل المرتبط أيضًا كيفية جعل Pi الخاص بك يتصل بشبكة الناقل تلقائيًا عند التمهيد. ستحتاج إلى هذا إذا كنت تخطط لإجراء التتبع عن بُعد.
تثبيت المكتبات
ستحتاج إلى تثبيت المكتبات التالية:
sudo apt-get install python-pip
sudo pip install pynmea2 $ sudo pip تثبيت ISStreamer
نص بايثون الرئيسي
سننشئ هنا البرنامج النصي الرئيسي الذي سيدفق بيانات GPS إلى الحالة الأولية. يُنشئ الكود أدناه سلسلة منفصلة تُستخدم لمراقبة المنفذ التسلسلي. هذا ضروري لأن لدينا وقفة في الحلقة الرئيسية. يوجد التوقف لتحديد مقدار البيانات التي نحملها عبر شبكة الجيل الثالث.
إذا فعلنا كل شيء في نفس الخيط أثناء الإيقاف المؤقت ، فسيتم ملء المخزن المؤقت التسلسلي (هو FIFO) وعندما نحصل على القيمة التالية من المخزن المؤقت ، فسيكون قديمًا لبضع ثوان. يحدث هذا في كل حلقة وفي النهاية ستتأخر البيانات دقائق أو ساعات.
لإنشاء نص Python وفتح محرر النصوص ، أدخل الأمر التالي:
نانو GPS Tracker.py
انسخ الكود التالي والصقه في محرر النصوص. ستحتاج إلى إدخال مفتاح الوصول الأولي للحالة في السطر 11 حيث يقول "أدخل مفتاح الوصول":
#! / usr / bin / python من استيراد نظام تحديد المواقع العالمي * من استيراد الوقت * استيراد تاريخ استيراد مؤشر الترابط والوقت من ISStreamer. Streamer import Streamer gpsd = لا شيء # إعداد المتغير العام # إعداد دفق الحالة الأولية ، أدخل مفتاح الوصول الخاص بك أسفل جهاز البث = Streamer (bucket_name = "GPS_Tracker "، bucket_key =" GPS_TRACKER "، access_key =" أدخل مفتاح الوصول الخاص بك ") فئة GPSDcollector (threading. Thread): def _init _ (self، threadID): threading. Thread._ init _ (self) self.threadID = threadID global gpsd #bring في النطاق gpsd = gps (mode = WATCH_ENABLE) #Start GPSD self.running = True # ابدأ تشغيل هذا الخيط def run (self): global gpsd while gpsdThread.running: gpsd.next () if _name_ == '_main_': gpsdThread = GPSDcollector (1) # إنشاء مؤشر ترابط لجمع البيانات ، جرب: gpsdThread.start () # ابدأ تشغيله بينما صحيح: طباعة "GPS" ، و gpsd.utc ، و "وقت وحدة المعالجة المركزية->" ، datetime.datetime.now ().time ()، if (gpsd.fix.longitude0) و (gpsd.fix.longitude'nan '): streamer.log ("Location"، "{lat}، {lon}". format (lat = gpsd.fix.latitude، lon = gpsd.fix.longitu de)) streamer.log ("speed"، gpsd.fix.speed) طباعة 'lat'، gpsd.fix.latitude، طباعة 'lon'، gpsd.fix.longitude، طباعة 'speed'، gpsd.fix.speed sleep (5) باستثناء (KeyboardInterrupt، SystemExit): # عند الضغط على ctrl + c طباعة "\ n Killing Thread…" gpsdThread.running = False gpsdThread.join () # انتظر حتى ينتهي مؤشر الترابط مما يفعله اطبع "تم. / n الخروج."
احفظ واخرج من محرر النصوص بالضغط على CTRL + X ، Y ، أدخل.
ابدأ البرنامج النصي تلقائيًا عند التمهيد
إذا كنت تقوم بالمراقبة عن بعد ، فقد ترغب في تشغيل البرنامج النصي عند التمهيد. للقيام بذلك ، سننشئ نصًا صغيرًا سيبدأ برنامج بايثون الرئيسي. أدخل الأمر التالي:
نانو GPS TrackerStart.sh
انسخ الأسطر في محرر النصوص:
#! / بن / باش
النوم 15 بيثون / home/pi/GPStracker.py &
يوجد الإيقاف المؤقت أعلاه لمنح Pi وقتًا للتمهيد والاتصال عبر PPP.
اجعل البرنامج النصي قابلاً للتنفيذ:
$ chmod + x ~ / GPStrackerStart.sh
سنستخدم cron لبدء النص في كل مرة يقوم فيها Pi بالتمهيد:
$ crontab -e
أضف السطر أدناه إلى الأسفل:
reboot /home/pi/GPStrackerStart.sh &
الخطوة 3: الموقع ولوحة معلومات السرعة
الآن بعد أن تم إعداد مشروعك وتشغيله ، يجب إرسال البيانات إلى الحالة الأولية. سيكون لديك بيانات GPS وبيانات السرعة. يمكنك استخدام بيانات GPS في مربع الخرائط لتتبع الموقع. بالنسبة إلى لوحة الخريطة ، تأكد من تحديد مربع الاختيار رسم المسار بحيث يتم تعيين تتبع موقعك مثل لوحة القيادة أعلاه. يمكنك وضع بيانات السرعة في رسم بياني خطي لمعرفة السرعة بمرور الوقت.
موصى به:
مكعب روبيك في الوقت الحقيقي معصوب العينين باستخدام Raspberry Pi و OpenCV: 4 خطوات
مكعب روبيك في الوقت الحقيقي معصوب العينين باستخدام Raspberry Pi و OpenCV: هذا هو الإصدار الثاني من أداة مكعب روبيك المصممة لحل معصوب العينين. تم تطوير الإصدار الأول بواسطة javascript ، يمكنك رؤية المشروع RubiksCubeBlindfolded1 على عكس الإصدار السابق ، يستخدم هذا الإصدار مكتبة OpenCV لاكتشاف الألوان و e
مقياس مستوى مياه الآبار في الوقت الحقيقي: 6 خطوات (بالصور)
مقياس مستوى مياه الآبار في الوقت الفعلي: تصف هذه التعليمات كيفية إنشاء مقياس مستوى المياه في الوقت الفعلي ومنخفض التكلفة لاستخدامه في الآبار المحفورة. تم تصميم عداد مستوى المياه للتعليق داخل بئر محفور ، وقياس مستوى المياه مرة واحدة في اليوم ، وإرسال البيانات عبر شبكة WiFi أو اتصال خلوي
مقياس درجة حرارة مياه الآبار وموصلية المياه ومستوى المياه في الوقت الحقيقي: 6 خطوات (بالصور)
مقياس درجة حرارة مياه الآبار وموصلية المياه ومستوى المياه في الوقت الفعلي: تصف هذه التعليمات كيفية إنشاء عداد مياه منخفض التكلفة وفي الوقت الفعلي لمراقبة درجة الحرارة والتوصيل الكهربائي (EC) ومستويات المياه في الآبار المحفورة. تم تصميم العداد للتعليق داخل بئر محفور ، وقياس درجة حرارة الماء ، و EC و
كيفية عمل مسجل بيانات في الوقت الحقيقي للرطوبة ودرجة الحرارة باستخدام Arduino UNO وبطاقة SD - DHT11 محاكاة مسجل البيانات في Proteus: 5 خطوات
كيفية عمل مسجل بيانات في الوقت الحقيقي للرطوبة ودرجة الحرارة باستخدام Arduino UNO وبطاقة SD | DHT11 محاكاة مسجل البيانات في Proteus: مقدمة: مرحبًا ، هذا Liono Maker ، إليك رابط YouTube. نحن نصنع مشروعًا إبداعيًا مع Arduino ونعمل على أنظمة مضمنة. Data-Logger: مسجل البيانات (أيضًا مسجل البيانات أو مسجل البيانات) هو جهاز إلكتروني يسجل البيانات بمرور الوقت مع
متتبع GPS في الوقت الحقيقي محلي الصنع (SIM800L ، Ublox NEO-6M ، Arduino): 8 خطوات
متتبع GPS في الوقت الحقيقي محلي الصنع (SIM800L ، Ublox NEO-6M ، Arduino): هل لديك وحدة GSM موجودة مثلي؟ أيضا جهاز تعقب GPS؟ نعتقد نفس الشيء! في هذه التعليمات ، سأحاول إرشادك إلى كيفية تحقيق هدفك من منظور مبتدئ ، حيث لم يكن لدي معرفة سابقة بالهندسة الكهربائية (إلى