Агуулгын хүснэгт:

TripComputer - GPS -ийн аяллын компьютер ба таны тээврийн хэрэгслийн цаг агаарын модуль: 11 алхам (зурагтай)
TripComputer - GPS -ийн аяллын компьютер ба таны тээврийн хэрэгслийн цаг агаарын модуль: 11 алхам (зурагтай)

Видео: TripComputer - GPS -ийн аяллын компьютер ба таны тээврийн хэрэгслийн цаг агаарын модуль: 11 алхам (зурагтай)

Видео: TripComputer - GPS -ийн аяллын компьютер ба таны тээврийн хэрэгслийн цаг агаарын модуль: 11 алхам (зурагтай)
Видео: АЯЛЛЫН ЗӨВЛӨГӨӨ - 6-р анги 2024, Долдугаар сарын
Anonim
TripComputer - Таны тээврийн хэрэгслийн GPS аяллын компьютер ба цаг агаарын модуль
TripComputer - Таны тээврийн хэрэгслийн GPS аяллын компьютер ба цаг агаарын модуль
TripComputer - Таны тээврийн хэрэгслийн GPS аяллын компьютер ба цаг агаарын модуль
TripComputer - Таны тээврийн хэрэгслийн GPS аяллын компьютер ба цаг агаарын модуль
TripComputer - Таны тээврийн хэрэгслийн GPS аяллын компьютер ба цаг агаарын модуль
TripComputer - Таны тээврийн хэрэгслийн GPS аяллын компьютер ба цаг агаарын модуль

GPS -ийн таслах модуль болон 2 жижиг Digole дэлгэцийг ашиглан зураас дээрээ навигацийн компьютер байрлуулах гайхалтай бөөрөлзгөнө pi төсөл.

Алхам 1: RaspberriPi хатуу дискийг анивчуулах / Шаардлагатай програм хангамжийг суулгах (Ubuntu Linux ашиглан)

"RASPBIAN JESSIE LITE VERSION" татаж авах

DashboardPI -д зориулж шинэ хатуу дискээ үүсгээрэй

USB адаптераар дамжуулан microSD -ийг компьютерт оруулаад dd командыг ашиглан дискний дүрсийг үүсгэнэ үү

Оруулсан microSD картаа df -h командын тусламжтайгаар олоод салгаад дискний хуулбар dd тушаалаар дискний дүрсийг үүсгэнэ үү.

$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/медиа/XXX/1234-5678

$ umount /dev /sdb1

Анхааруулга: тушаал үнэхээр зөв байгаа эсэхийг шалгаарай, та энэ тушаалаар бусад дискийг гэмтээж болно

if = RASPBIAN JESSIE FULL VERSION зургийн файлын байршил = таны microSD картны байршил

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of//dev/sdb (жич: энэ тохиолдолд/dev/sdb,/dev/sdb1 нь одоо байгаа үйлдвэрийн хуваалт байсан. microSD)

RaspberriPi -ийг тохируулж байна

Шинэ microSD картаа raspberrypi -д оруулаад HDMI порт руу холбогдсон дэлгэцээр асаана уу

Нэвтрэх

хэрэглэгч: pi нэвтрүүлэх: бөөрөлзгөнө

Аюулгүй байдлын үүднээс дансны нууц үгээ солино уу (терминалаас)

sudo passwd pi

RaspberriPi Нарийвчилсан сонголтыг идэвхжүүлэх (терминалаас)

sudo raspi-config

Сонгоно уу: 1 Файлын системийг өргөжүүлэх

9 Нарийвчилсан сонголтууд

A2 хостын нэрийг үүнийг "TripComputer" болгон өөрчилнө үү.

A4 SSH SSH серверийг идэвхжүүлнэ үү

A7 I2C i2c интерфэйсийг идэвхжүүлнэ

Англи/АНУ -ын гарыг идэвхжүүлнэ үү

sudo nano/etc/default/keyboard

Дараах мөрийг өөрчил: XKBLAYOUT = "us"

Хүчин төгөлдөр болохын тулд гарны байрлалын өөрчлөлт / файлын системийн хэмжээг өөрчлөхийн тулд PI -ийг дахин ачаална уу

$ sudo shutdown -r одоо

Wi-Fi сүлжээндээ автоматаар холбогдох

sudo нано /etc/wpa_supplicant/wpa_supplicant.conf

Raspberrypi -г гэрийнхээ WiFi сүлжээнд автоматаар холбохын тулд дараах мөрүүдийг нэмнэ үү (хэрэв таны утасгүй сүлжээг "linksys" гэж нэрлэсэн бол, жишээ нь дараах жишээнд)

сүлжээ = {ssid = "linksys" psk = "ЭНД УТАСГҮЙ НУУЦ ҮГ"} WiFi сүлжээнд холбогдохын тулд PI -г дахин ачаална уу.

$ sudo shutdown -r одоо

Одоо таны PI дотоод сүлжээнд байгаа тул та SSH -ээр дамжуулан алсаас нэвтрэх боломжтой болно. Гэхдээ эхлээд та одоо байгаа IP хаягийг авах хэрэгтэй.

$ ifconfig Дараах командын гаралтаас "inet addr: 192.168. XXX. XXX" -ийг хайж олоорой.

Өөр машин руу очоод raspberrypi руу ssh ашиглан нэвтэрнэ үү

$ ssh [email protected]. XXX. XXX

Шаардлагатай багцуудыг суулгаж эхлээрэй

$ sudo apt-get update && sudo apt-get upgrade

$ sudo apt-get install build-essential 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

дараах мөрийг нэмнэ үү.

alias l = 'ls -lh'

эх сурвалж ~/.bashrc

VIM -ийн анхдагч синтаксийг тодруулж засах [заавал биш]

sudo vi/etc/vim/vimrc

Дараах мөрийг комментоос хасна уу.

синтакс асаалттай байна

Алхам 2: Шаардлагатай нийлүүлэлт

Шаардлагатай нийлүүлсэн
Шаардлагатай нийлүүлсэн
Шаардлагатай нийлүүлсэн
Шаардлагатай нийлүүлсэн
Шаардлагатай нийлүүлсэн
Шаардлагатай нийлүүлсэн

2 320x240 TFT LCD цооног дэлгэц (x2)

DHT11 чийгшүүлэгч

RaspberriPi тэг

Adafruit GPS -ийн тасархай

52мм 2 хэмжигч - шилэн ба дэлгэцийн эргэн тойронд ашиглагддаг

2 хэмжигч холбох сав

Алхам 3: Хавсралтыг хэвлэх

Энэхүү төслийн "3DPrint/" фолдерт хэмжигч-final.stl файлыг хэвлэх ба энэ нь хэмжигч бэхэлгээний контейнер дотор 2 дэлгэцийг холбоход шаардлагатай Digole дэлгэцийн эргэн тойрныг гаргах болно.

Алхам 4: Аяллын компьютер бүтээх

Аялалын компьютер бүтээх
Аялалын компьютер бүтээх

Дараах төхөөрөмжүүдийг Pi Zero дээрх зүүгээр холбоно уу

Digole (тус бүр): 3v / GND / SDA / SCL

DHT11: 5v / GPIO 16 (36) / GND

HW UART холболтоор дамжуулан GPS USB модулийг RaspberriPi -д холбох GPS модульд HW UART -ийг ашиглах нь таны Pi дээрх UART холболтыг чөлөөлөхийн тулд дараахь зүйлийг шаарддаг.

"Загалмай"-GPS модулаас TX ба RX зүүг RPi TX (GPIO 14/8 зүү) ба RX (GPIO 15/10 зүү) руу холбоно уу. RPi 5V -ийг VIN зүү рүү, GPS модулийн GND зүүг боломжтой RPi GND зүү рүү холбоно уу.

Алхам 5: Эцсийн чуулган

Эцсийн чуулган
Эцсийн чуулган
Эцсийн чуулган
Эцсийн чуулган

Хэмжээний бүрхүүл дотор бэхэлгээг хадгалахын тулд доод хэсгийг нь модоор хайчилж ав.

52 мм -ийн 2 инчийн 2 хэмжигчийг аваад оройг нь таслаарай, бид зөвхөн шил, эргэн тойрноо ашиглан өөрийн дэлгэц болох Диголе дэлгэцийг суурилуулж байна. Тэднийг халуун цавуугаар байрлуул.

Алхам 6: Эцсийн чуулган (үргэлжлэл …)

Эцсийн чуулган (үргэлжлэл …)
Эцсийн чуулган (үргэлжлэл …)
Эцсийн чуулган (үргэлжлэл …)
Эцсийн чуулган (үргэлжлэл …)

Дээрх бүдүүвчийг ашиглан бүх зүйлийг бат бөх, байнгын болгохын тулд бүрэлдэхүүн хэсгүүдийг гагнуур ашиглан ашиглана.

Бүрэлдэхүүн хэсгүүдийг хос хэмжигч бүрхүүлд суулгаж, 3D хэвлэсэн орчныг ашиглан дөрвөлжин хэлбэртэй Digole дэлгэцийг дугуй хэмжигч цонхонд тохируулна.

Алхам 7: Програм хангамжийн тохиргоо / суурилуулалт

UART дээрх GPS модулийг ашиглахын тулд Pi -ээ тохируулна уу

sudo vi /boot/cmdline.txt

өөрчлөх:

dwc_otg.lpm_enable = 0 консол = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 консол = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 лифт = эцсийн хугацаа rootwait

руу:

dwc_otg.lpm_enable = 0 консол = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 лифт = эцсийн хугацаа rootwait

(жишээ нь, консол = ttyAMA0, 115200, хэрэв байгаа бол kgdboc = ttyAMA0, 115200 -ийг устгана уу)

Та консол = serial0, 115200 эсвэл консол = ttyS0, 115200 -ийг харж магадгүй бөгөөд хэрэв байгаа бол шугамын эдгээр хэсгүүдийг арилгах ёстойг анхаарна уу.

Дараах тушаалуудыг ажиллуулна уу

sudo systemctl stop [email protected]

sudo systemctl [email protected]ийг идэвхгүй болгох

GPS модулийг суулгах Туршилтын хувьд USB төхөөрөмжөө gpsd -тэй холбохыг хүчлээрэй

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

sudo systemctl gpsd.socket -ийг зогсоох

sudo killall gpsd

sudo dpkg-gpsd-ийг дахин тохируулна уу

sudo vi/etc/default/gpsd

# Gpsd -ийн үндсэн тохиргоо. START_DAEMON = "үнэн" GPSD_OPTIONS = "-n" DEVICES = "/dev/ttyS0" USBAUTO = "худал" GPSD_SOCKET = "/var/run/gpsd.sock"

Тушаал ажиллаж байгаа эсэхийг шалгаарай

cgps -s

DHT11 cd ~ суулгана уу

git clone

cd Adafruit_Python_DHT/

sudo python setup.py суулгах

sudo python ez_setup.py

cd жишээ/

vi simpletest.py

Дараах мөрийг өөрчилнө үү.

мэдрэгч = Adafruit_DHT. DHT11

Мөрийг тайлбарлана уу

зүү = 'P8_11'

Мөрийг тайлж, зүү дугаарыг 16 болгож өөрчилнө үү

зүү = 16

Тестийг ажиллуулна уу

python simpletest.py

Тушаалын мөрөнд Температур ба чийгшлийн хэмжигдэхүүнийг унших ёстой.

Скриптүүдийг тохируулах ба ажиллуулах cd ~

git clone

Алхам 8: Жолоодлогыг хянах хэрэгсэл ба DB бүртгэлийг суулгана уу

sudo apt-get install ifstat memcached python-memcache postgresql postgresql-салым python-psycopg2

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

Файлын төгсгөлд дараах мөрийг нэмнэ үү

орон нутгийн бүх pi нууц үг

sudo -i -u postgres

psql

pi pi нууц үгийг 'энд нууц үг' үүсгэх;

pi нэвтрэх үүргийг өөрчлөх;

pi супер хэрэглэгчийн үүргийг өөрчлөх;

du

(та зөвшөөрөгдсөн зөвшөөрлүүдтэй өөрийн PI хэрэглэгчийг харах ёстой)

drive_statistics мэдээллийн санг бий болгох;

q

гарах

psql -d driving_statistics

Дараах асуулгыг ажиллуулна уу

ХҮСНЭГИЙН ХӨТӨЛБӨР үүсгэх (id цуваа, цагийн бүсийн тэмдэггүй цаг хугацааны тэмдэг NULL биш, NULL биш), цагийн бүсийн бус цагийн тэмдэгийн тэмдэг NULL, gps_latitude давхар нарийвчлал, gps_longitude давхар нарийвчлал, gps_altitude бодит, gps_speed бодит, gps_climb бодит, gps_track текст, locale_addc текст, locale_addc текст, locale_county текст, locale_country текст, locale_zipcode текст, дотор_темп бодит, дотор_хмидти бодит, цаг агаарын_хугацааны тэмдэг, цаг агаарын_мэдээлэл, цаг агаарын тэмдэг, цаг агаарын_тогтмол температур

Жолоодлогын статистик дээр давтагдашгүй INDEX time_idx үүсгэх (цаг);

GPSD -ийг UART холболттой хамтран sudo su -г дахин ачаалахад ашиглахын тулд хакердах шаардлагатай

crontab -e

@дахин ачаалах /бин /унтах 5; killall gpsd

@дахин ачаалах /бин /унтах 10; /usr/sbin/gpsd/dev/ttyS0 -F /var/run/gpsd.sock

Өгөгдлийг хадгалахын тулд бүртгэлийн хавтас үүсгэнэ mkdir/home/pi/TripComputer/computer/logs

Алхам 9: Crontab скриптүүдийг эхлүүлэх - Pi & Root

Ачаалах үед ажиллах скриптүүдийг тохируулна уу

crontab -e

Дараах мөрүүдийг нэмнэ үү

@дахин ачаалах /бин /унтах 15; nohup python /home/pi/TripComputer/computer/mtk3339.py> /home/pi/TripComputer/computer/mtk3339.log 2> & 1

@дахин ачаалах /бин /унтах 18; nohup python /home/pi/TripComputer/computer/driving.py> /home/pi/TripComputer/computer/driving.log 2> & 1

@дахин ачаалах /бин /унтах 19; nohup python /home/pi/TripComputer/computer/address.py> /home/pi/TripComputer/computer/address.log 2> & 1

@дахин ачаалах /бин /унтах 30; nohup python /home/pi/TripComputer/computer/gauges.py> /home/pi/TripComputer/computer/gauges.log 2> & 1

@дахин ачаалах /бин /унтах 21; nohup python /home/pi/TripComputer/computer/locale.py> /home/pi/TripComputer/computer/locale.log 2> & 1

@дахин ачаалах /бин /унтах 22; nohup python /home/pi/TripComputer/computer/notification.py> /home/pi/TripComputer/computer/notification.log 2> & 1

@дахин ачаалах /бин /унтах 24; nohup python /home/pi/TripComputer/computer/temperature.py> /home/pi/TripComputer/computer/temperature.log 2> & 1

@дахин ачаалах /бин /унтах 25; nohup python /home/pi/TripComputer/computer/upload.py> /home/pi/TripComputer/computer/upload.log 2> & 1

@дахин ачаалах /бин /унтах 26; nohup python /home/pi/TripComputer/computer/weather.py> /home/pi/TripComputer/computer/weather.log 2> & 1

@дахин ачаалах /бин /унтах 30; nohup python /home/pi/TripComputer/computer/stats.py> /home/pi/TripComputer/computer/stats.log 2> & 1

GPS модуль зөв холбогдсон эсэхийг шалгахын тулд root хэрэглэгчийн crontab -ийг тохируулна уу

sudo su

crontab -e

Дараах мөрүүдийг нэмнэ үү

@дахин ачаалах /бин /унтах 5; systemctl gpsd.socket -ийг зогсоох

@дахин ачаалах /бин /унтах 8; killall gpsd

@дахин ачаалах /бин /унтах 12; /usr/sbin/gpsd/dev/ttyS0 -F /var/run/gpsd.sock

Алхам 10: Цаг агаар ба хяналтын самбарт холбогдохыг тохируулна уу (заавал биш)

Эцэст нь аяллын компьютерийг ажиллуулахад шаардлагатай локал тохиргоог бий болго

/Computer/includes/settings.shadow.py файлыг олоорой

Зөвхөн settings.py нэртэй тохиргооны файлын өөрийн хувилбарыг үүсгэ

weather.io API түлхүүр нь орон нутгийн цаг агаарын мэдээлэлд зориулагдсан цаг агаар APIURL = 'https://api.forecast.io/forecast/'

weatherAPIKey = 'API түлхүүрийг эндээс үзнэ үү'

Хэрэв танд төхөөрөмжийн төв төсөл ажиллаж байгаа бол (https://github.com/khinds10/DeviceHub) devicesServer = 'https://my.server.com'

Хэрэв танд хяналтын самбар ажиллаж байгаа бол (https://github.com/khinds10/RetroDashboard) dashboardServer = 'https://my.server.com'

Алхам 11: Dash / Mount Humidistat дээр суурилуулж дууссан

Dash / Mount Humidistat дээр суурилуулж дууссан!
Dash / Mount Humidistat дээр суурилуулж дууссан!
Dash / Mount Humidistat дээр суурилуулж, дуусгасан!
Dash / Mount Humidistat дээр суурилуулж, дуусгасан!

Даш дээр холбоно уу

Humidistat уул нь нарны шууд тусгалаас хол байна

RPi -г дахин ачаална уу, та явахад бэлэн байх ёстой!

Зөвлөмж болгож буй: