جدول المحتويات:

TripComputer - كمبيوتر رحلة GPS ووحدة الطقس لسيارتك: 11 خطوة (بالصور)
TripComputer - كمبيوتر رحلة GPS ووحدة الطقس لسيارتك: 11 خطوة (بالصور)

فيديو: TripComputer - كمبيوتر رحلة GPS ووحدة الطقس لسيارتك: 11 خطوة (بالصور)

فيديو: TripComputer - كمبيوتر رحلة GPS ووحدة الطقس لسيارتك: 11 خطوة (بالصور)
فيديو: Tokyo LIVE Summer is here! 2024, يوليو
Anonim
TripComputer - كمبيوتر رحلة GPS ووحدة الطقس لمركبتك
TripComputer - كمبيوتر رحلة GPS ووحدة الطقس لمركبتك
TripComputer - كمبيوتر رحلة GPS ووحدة الطقس لمركبتك
TripComputer - كمبيوتر رحلة GPS ووحدة الطقس لمركبتك
TripComputer - كمبيوتر رحلة GPS ووحدة الطقس لمركبتك
TripComputer - كمبيوتر رحلة GPS ووحدة الطقس لمركبتك

مشروع raspberry pi الرائع الذي يستخدم وحدة الاختراق GPS وشاشتي Digole الصغيرتين للحصول على كمبيوتر ملاحة على لوحة القيادة الخاصة بك.

الخطوة 1: تفليش القرص الصلب RaspberriPi / تثبيت البرنامج المطلوب (باستخدام Ubuntu Linux)

قم بتنزيل "نسخة RASPBIAN JESSIE LITE"

قم بإنشاء القرص الثابت الجديد الخاص بك لـ DashboardPI

أدخل microSD في جهاز الكمبيوتر الخاص بك عبر محول USB وقم بإنشاء صورة القرص باستخدام الأمر dd

حدد موقع بطاقة microSD التي تم إدخالها عبر الأمر df -h ، وقم بإلغاء تحميلها وإنشاء صورة القرص باستخدام الأمر disk copy dd

$ df -h / dev / sdb1 7.4G 32K 7.4G 1٪ / media / XXX / 1234-5678

umount / dev / sdb1

تحذير: تأكد من أن الأمر دقيق تمامًا ، يمكنك إتلاف الأقراص الأخرى باستخدام هذا الأمر

if = موقع ملف صورة RASPBIAN JESSIE FULL VERSION = موقع بطاقة microSD الخاصة بك

$ sudo dd bs = 4M if = / path / to / raspbian-jessie-lite.img من = / dev / sdb (ملاحظة: في هذه الحالة ، يكون / dev / sdb ، / dev / sdb1 قسمًا مصنعًا موجودًا على microSD)

إعداد RaspberriPi الخاص بك

أدخل بطاقة microSD الجديدة في raspberrypi وقم بتشغيلها باستخدام شاشة متصلة بمنفذ HDMI

تسجيل الدخول

المستخدم: pi pass: Raspberry

تغيير كلمة مرور حسابك للأمان (من المحطة)

sudo passwd بي

تمكين خيارات RaspberriPi المتقدمة (من المحطة)

sudo raspi-config

اختر: 1 قم بتوسيع نظام الملفات

9 خيارات متقدمة

قام اسم مضيف A2 بتغييره إلى "TripComputer"

A4 SSH قم بتمكين خادم SSH

A7 I2C تمكين واجهة i2c

قم بتمكين لوحة المفاتيح الإنجليزية / الأمريكية

sudo نانو / الخ / الافتراضي / لوحة المفاتيح

قم بتغيير السطر التالي: XKBLAYOUT = "لنا"

إعادة تشغيل PI لتغييرات تخطيط لوحة المفاتيح / تغيير حجم نظام الملفات لتصبح سارية المفعول

$ sudo shutdown -r الآن

الاتصال التلقائي بشبكة WiFi الخاصة بك

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

أضف الأسطر التالية لجعل raspberrypi يتصل تلقائيًا بشبكة WiFi المنزلية (إذا كانت شبكتك اللاسلكية تسمى "linksys" على سبيل المثال ، في المثال التالي)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} أعد تشغيل PI للاتصال بشبكة WiFi

$ sudo shutdown -r الآن

الآن بعد أن أصبح PI الخاص بك أخيرًا على الشبكة المحلية ، يمكنك تسجيل الدخول إليه عن بُعد عبر SSH. لكن عليك أولاً الحصول على عنوان IP الموجود به حاليًا.

$ ifconfig ابحث عن "inet addr: 192.168. XXX. XXX" في إخراج الأمر التالي لعنوان IP الخاص بـ PI

انتقل إلى جهاز آخر وقم بتسجيل الدخول إلى raspberrypi الخاص بك عبر ssh

$ ssh [email protected]. XXX. XXX

ابدأ بتثبيت الحزم المطلوبة

sudo apt-get update && sudo apt-get Upgrade $

$ sudo apt-get install build-basic git gpsd gpsd-clients i2c-tools libi2c-dev python3 python3-pip python-dev python-gps python-imaging python-pip python-smbus rpi.gpio vim python-psutil

sudo pip $ قم بتثبيت RPi. GPIO

قم بتحديث إعدادات المنطقة الزمنية المحلية

sudo dpkg-إعادة تكوين tzdata

حدد منطقتك الزمنية باستخدام الواجهة

قم بإعداد أمر الدليل البسيط l [اختياري]

vi ~ /.bashrc

أضف السطر التالي:

الاسم المستعار l = 'ls -lh'

المصدر ~ /

إصلاح تمييز البنية الافتراضية لـ VIM [اختياري]

sudo vi / etc / vim / vimrc

uncomment السطر التالي:

بناء الجملة على

الخطوة 2: الموردة المطلوبة

الموردة المطلوبة
الموردة المطلوبة
الموردة المطلوبة
الموردة المطلوبة
الموردة المطلوبة
الموردة المطلوبة

شاشة 2 320x240 TFT LCD Digole (x2)

DHT11 رطوبة

RaspberriPi Zero

Adafruit GPS Breakout

مقاييس 52 مم 2 بوصة - تستخدم للزجاج / ومحيط الشاشة

2 حاوية قياس جبل

الخطوة 3: اطبع الضميمة

في مجلد "3DPrint /" لهذا المشروع ، اطبع ملف gauges-final.stl الذي سينتج محيط شاشة Digole اللازمة لتركيب الشاشتين داخل حاوية تركيب جهاز القياس.

الخطوة 4: بناء كمبيوتر الرحلة

بناء كمبيوتر الرحلة
بناء كمبيوتر الرحلة

قم بتوصيل الأجهزة التالية بالدبابيس الموجودة على Pi Zero

Digole (كل منهما): 3v / GND / SDA / SCL

DHT11: 5 فولت / GPIO 16 (36) / GND

قم بتوصيل وحدة GPS USB بوحدة RaspberriPi عبر اتصالات HW UART يتطلب استخدام HW UART لوحدة GPS ما يلي لتحرير اتصال UART على Pi الخاص بك.

"Cross" - قم بتوصيل دبابيس TX و RX من وحدة GPS إلى RPi TX (GPIO 14/8 pin) و RX (GPIO 15/10 pin) - [ينتقل TX إلى RX على الجهاز والعكس بالعكس]. RPi 5V إلى دبوس VIN ودبوس GND لوحدة GPS إلى دبوس RPi GND متاح.

الخطوة 5: التجميع النهائي

التجميع النهائي
التجميع النهائي
التجميع النهائي
التجميع النهائي

قطع قطعة من الخشب للأسفل لعقد المكونات داخل غلاف المقياس.

خذ مقاييس 2 52mm 2in وقم بقطع الأسطح ، نحن فقط نستخدم الزجاج والإحاطة لتركيب شاشاتنا الخاصة ، شاشات Digole. صقها في مكانها بالغراء الساخن.

الخطوة 6: التجميع النهائي (تابع …)

التجميع النهائي (تابع …)
التجميع النهائي (تابع …)
التجميع النهائي (تابع …)
التجميع النهائي (تابع …)

باستخدام السلك التخطيطي أعلاه معًا المكونات باستخدام اللحام لجعل كل شيء قويًا ودائمًا.

قم بتركيب المكونات داخل غلاف المقياس المزدوج ، واستخدم المحيطات المطبوعة ثلاثية الأبعاد لجعل شاشات Digole ذات الشكل المربع تتناسب مع نوافذ المقاييس الدائرية.

الخطوة 7: تكوين / تثبيت البرنامج

تكوين Pi الخاص بك لاستخدام وحدة GPS على UART

sudo vi /boot/cmdline.txt

يتغيرون:

dwc_otg.lpm_enable = 0 وحدة تحكم = ttyAMA0، 115200 kgdboc = ttyAMA0، 115200 console = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 Elevator = الموعد النهائي rootwait

إلى:

dwc_otg.lpm_enable = 0 وحدة تحكم = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 elevator = جذر الموعد النهائي

(على سبيل المثال ، إزالة وحدة التحكم = ttyAMA0، 115200 وإذا كان هناك ، kgdboc = ttyAMA0، 115200)

لاحظ أنك قد ترى وحدة التحكم = serial0 ، 115200 أو وحدة التحكم = ttyS0 ، 115200 ويجب إزالة تلك الأجزاء من الخط إذا كانت موجودة.

قم بتشغيل الأوامر التالية:

sudo systemctl stop [email protected]. نظام sudo

sudo systemctl تعطيل [email protected]

تثبيت وحدة GPS للاختبار ، قم بإجبار جهاز USB الخاص بك على الاتصال بـ GPSd

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

sudo systemctl stop gpsd.socket

sudo killall gpsd

sudo dpkg-إعادة تكوين نظام تحديد المواقع العالمي (GPSd)

sudo vi / etc / default / gpsd

# الإعدادات الافتراضية لنظام تحديد المواقع العالمي. START_DAEMON = "true" GPSD_OPTIONS = "- n" DEVICES = "/ dev / ttyS0" USBAUTO = "false" GPSD_SOCKET = "/ var / run / gpsd.sock"

تأكد من أن الأمر يعمل

cgps -s

DHT11 قم بتثبيت القرص المضغوط ~

استنساخ بوابة

قرص مضغوط Adafruit_Python_DHT /

sudo python setup.py install

sudo python ez_setup.py

أمثلة على القرص المضغوط /

vi أبسط

قم بتغيير السطر التالي:

جهاز استشعار = Adafruit_DHT. DHT11

التعليق على السطر

دبوس = 'P8_11'

قم بفك تعليق الخط وتغيير الرقم السري إلى 16

دبوس = 16

قم بإجراء الاختبار

بيثون أبسط

يجب أن تشاهد قراءة مترية لدرجة الحرارة والرطوبة معروضة في سطر الأوامر.

قم بإعداد وتشغيل البرامج النصية cd ~

استنساخ بوابة

الخطوة 8: تثبيت أدوات مراقبة القيادة وتسجيل قاعدة البيانات

sudo apt-get install ifstat memcached python-memcache postgresql postgresql-contrib python-psycopg2

sudo vi /etc/postgresql/9.4/main/pg_hba.conf

أضف السطر التالي إلى نهاية الملف:

المحلية كل كلمة مرور بي

sudo -i -u postgres

بسكل

إنشاء كلمة مرور للدور "كلمة المرور هنا" ؛

تغيير دور pi تسجيل الدخول ؛

تغيير دور المستخدم الخارق ؛

du

(يجب أن ترى مستخدم PI الخاص بك مع الأذونات الممنوحة)

إنشاء قاعدة بيانات driving_statistics ؛

ف

خروج

psql -d driving_statistics

قم بتشغيل الاستعلامات التالية:

CREATE TABLE driving_stats (معرف تسلسلي ، طابع زمني بدون منطقة زمنية NOT NULL ، new_trip_start timestamp بدون منطقة زمنية NULL ، دقة مزدوجة GPS_latitude ، دقة مزدوجة GPS_longitude ، gps_altitude real ، gps_speed real ، gps_climb real ، gps_track real ، locale_address text ، locale_area text ، locale_climb text ، locale_area text ، locale_climb text ، locale_county text ، locale_country text ، locale_zipcode text ، inside_temp real ، inside_hmidty real ، weather_time timestamp ، weather_summary text ، weather_icon text ، weather_apparentTemperature real ، weather_humidity real ، weather_precipIntensity real ، weather_precipProbability real ، weather)

إنشاء UNIQUE INDEX time_idx ON driving_stats (الوقت) ؛

مطلوب اختراق للحصول على GPSD يعمل مع اتصال UART عند إعادة تشغيل sudo su

كرونتاب -e

@ reboot / bin / sleep 5 ؛ killall gpsd

@ reboot / bin / sleep 10 ؛ / usr / sbin / gpsd / dev / ttyS0 -F /var/run/gpsd.sock

قم بإنشاء مجلد السجلات للبيانات المراد حفظها mkdir / home / pi / TripComputer / computer / logs

الخطوة 9: بدء تشغيل البرامج النصية Crontab - Pi & Root

قم بإعداد البرامج النصية للتشغيل عند التمهيد

كرونتاب -e

أضف الأسطر التالية

@ reboot / bin / sleep 15 ؛ nohup python /home/pi/TripComputer/computer/mtk3339.py> /home/pi/TripComputer/computer/mtk3339.log 2> & 1

@ reboot / bin / sleep 18 ؛ nohup python /home/pi/TripComputer/computer/driving.py> /home/pi/TripComputer/computer/driving.log 2> & 1

@ reboot / bin / sleep 19 ؛ nohup python /home/pi/TripComputer/computer/address.py> /home/pi/TripComputer/computer/address.log 2> & 1

@ reboot / bin / sleep 30 ؛ nohup python /home/pi/TripComputer/computer/gauges.py> /home/pi/TripComputer/computer/gauges.log 2> & 1

@ reboot / bin / sleep 21 ؛ nohup python /home/pi/TripComputer/computer/locale.py> /home/pi/TripComputer/computer/locale.log 2> & 1

@ reboot / bin / sleep 22 ؛ nohup python /home/pi/TripComputer/computer/notification.py> /home/pi/TripComputer/computer/notification.log 2> & 1

@ reboot / bin / النوم 24 ؛ nohup python /home/pi/TripComputer/computer/temperature.py> /home/pi/TripComputer/computer/temperature.log 2> & 1

@ reboot / bin / sleep 25 ؛ nohup python /home/pi/TripComputer/computer/upload.py> /home/pi/TripComputer/computer/upload.log 2> & 1

@ reboot / bin / sleep 26 ؛ nohup python /home/pi/TripComputer/computer/weather.py> /home/pi/TripComputer/computer/weather.log 2> & 1

@ reboot / bin / sleep 30 ؛ nohup python /home/pi/TripComputer/computer/stats.py> /home/pi/TripComputer/computer/stats.log 2> & 1

قم بإعداد crontab المستخدم الجذر للتأكد من توصيل وحدة GPS بشكل صحيح

sudo su

كرونتاب -e

أضف الأسطر التالية

@ reboot / bin / sleep 5 ؛ توقف systemctl gpsd.socket

@ reboot / bin / sleep 8 ؛ killall gpsd

@ reboot / bin / sleep 12 ؛ / usr / sbin / gpsd / dev / ttyS0 -F /var/run/gpsd.sock

الخطوة 10: التهيئة للاتصال بالطقس ولوحة المعلومات (اختياري)

أخيرًا ، قم بإنشاء الإعدادات المحلية اللازمة لتشغيل كمبيوتر الرحلة

ابحث عن الملف /computer/includes/settings.shadow.py

قم بإنشاء نسختك الخاصة من ملف الإعدادات المسمى ببساطة settings.py

مفتاح واجهة برمجة التطبيقات لـ Forecast.io لمعلومات الطقس المحلية WeatherAPIURL = 'https://api.forecast.io/forecast/'

WeatherAPIKey = 'API KEY هنا'

إذا كان لديك مشروع محور الجهاز قيد التشغيل (https://github.com/khinds10/DeviceHub) devicesServer = 'https://my.server.com'

إذا كان لديك مشروع هاتف لوحة القيادة قيد التشغيل (https://github.com/khinds10/RetroDashboard) dashboardServer = 'https://my.server.com'

الخطوة 11: قم بالتركيب على داش / جبل الرطوبة والانتهاء

جبل على اندفاعة / جبل الرطوبة والانتهاء!
جبل على اندفاعة / جبل الرطوبة والانتهاء!
جبل على اندفاعة / جبل الرطوبة والانتهاء!
جبل على اندفاعة / جبل الرطوبة والانتهاء!

جبل على داش

جبل الرطوبة بعيداً عن الشمس المباشرة

أعد تشغيل RPi وستكون جاهزًا للانطلاق!

موصى به: