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

Google газрын зургийн тусламжтайгаар тээврийн мэдээллийн дүрслэл: 6 алхам
Google газрын зургийн тусламжтайгаар тээврийн мэдээллийн дүрслэл: 6 алхам

Видео: Google газрын зургийн тусламжтайгаар тээврийн мэдээллийн дүрслэл: 6 алхам

Видео: Google газрын зургийн тусламжтайгаар тээврийн мэдээллийн дүрслэл: 6 алхам
Видео: 50 необычных, но невероятных автомобилей с 2002 по 2022 год 2024, Долдугаар сарын
Anonim
Google газрын зураг ашиглан тээврийн мэдээллийн дүрслэл
Google газрын зураг ашиглан тээврийн мэдээллийн дүрслэл

Бид ихэвчлэн унадаг дугуй унахдаа янз бүрийн өгөгдлийг бүртгэхийг хүсдэг бөгөөд энэ удаад тэдгээрийг хянахын тулд шинэ Wio LTE ашигласан болно.

Алхам 1: Энэхүү төсөлд ашигласан зүйлс

Hareware -ийн бүрэлдэхүүн хэсгүүд

  • Wio LTE EU хувилбар v1.3- 4G, Cat.1, GNSS, Espruino нийцтэй
  • Grove - Чихний хавчуурга бүхий зүрхний цохилтын мэдрэгч
  • Grove - 16 x 2 LCD (Шар дээр хар)

Програм хангамж, онлайн үйлчилгээ

  • Arduino IDE
  • PubNub Publish/Subscribe API
  • Гүүгл газрын зураг

Алхам 2: Түүх

Image
Image

Алхам 3: Тоног төхөөрөмжийн холболт

Вэбийн тохиргоо
Вэбийн тохиргоо

GPS болон LTE антеннуудыг Wio LTE -д суулгаад SIM картаа залгаарай. Чихний хавчуургын зүрхний цохилт мэдрэгч ба 16x2 LCD-ийг Wio LTE-ийн D20 ба I2C порт руу холбоно уу.

Та чихний хавчуургын зүрхний цохилтын мэдрэгчийг өөр бусад мэдрэгч болгон өөрчилж болно. Энэ нийтлэлийн төгсгөлийг үзнэ үү.

Алхам 4: Вэб тохиргоо

1 -р хэсэг: PubNub

PubNub данс руу нэвтрэх эсвэл бүртгүүлэхийн тулд энд дарна уу, PubNub нь бодит цагийн мэдээллийг газрын зураг руу дамжуулахад ашиглагддаг.

PubNub админ портал дээр Демо төслийг нээвэл та нийтлэх түлхүүр ба захиалгын түлхүүрийг харах болно, програм хангамжийн програмыг санаж байх хэрэгтэй.

2 -р хэсэг: Google газрын зураг

Google газрын зургийн API түлхүүрийг авахын тулд энд дарж програм хангамжийн програмчлалд ашиглах болно.

Алхам 5: Програм хангамжийн програмчлал

Програм хангамжийн програмчлал
Програм хангамжийн програмчлал

1 -р хэсэг: Wio LTE

Wio LTE -д зориулсан PubNub номын сан байхгүй тул бид HTTP хүсэлтээс өгөгдлөө илгээж болно, PubNub REST API баримтыг үзнэ үү.

Wio LTE -д залгагдсан SIM картаараа HTTP холболт хийхийн тулд та эхлээд APN -ээ тохируулах ёстой, хэрэв та үүнийг мэдэхгүй бол үүрэн холбооны операторуудтай холбоо барина уу.

Дараа нь PubNub Publish Key, Subscribe Key, Channel -ийг тохируулна уу. Энд байгаа суваг нь Нийтлэгч ба Захиалагчдыг ялгахад ашиглагддаг. Жишээлбэл, бид энд сувгийн дугуй ашигладаг, сувгийн дугуйнд байгаа бүх захиалагчид бидний нийтэлсэн мессежийг хүлээн авах болно.

Дээрх тохиргоонуудыг бид ангидаа баглаагүй тул та bike.ino дээр хялбархан өөрчилж болно, та эдгээр кодыг энэ нийтлэлийн төгсгөлөөс татаж авах боломжтой.

2 -р хэсэг: PubNub

Wio LTE дээр Boot0 товчлуурыг дарж, USB кабелиар компьютерт холбож, Arduino IDE програмыг байршуулж, Wio LTE дээр дахин тохируулах товчийг дарна уу.

Дараа нь PubNub руу очоод Demo Project дээр Debug Console дээр дарж, сувгийнхаа нэрийг Default Channel дээр бөглөж, Client нэмэх дээр дарна уу.

Та консол дээр [1, "Захиалсан", "унадаг дугуй"] - г хараад Захиалагч амжилттай нэмэгдлээ. Хэсэг хугацааны дараа консол дээр Wio LTE өгөгдөл гарч ирнэ.

3 -р хэсэг: Google газрын зураг

ENO газрын зураг нь PubNub ба MapBox-тэй бодит цагийн газрын зураг бөгөөд үүнийг PubNub болон Google Map-д ашиглах боломжтой бөгөөд та үүнийг GitHub дээрээс татаж авах боломжтой.

Та жишээ хавтаснаас google-draw-line.html нэртэй жишээг ашиглаж болно, 29, 30, 33, 47-р мөрөнд Publish Key, Subscribe Key, Channel, Google Key-ийг өөрчилнө үү.

АНХААРУУЛГА: 42 -р мөрийг тайлбарлана уу, эс тэгвээс энэ нь симуляцийн өгөгдлийг PubNub руу илгээх болно.

Хэрэв та зүрхний цохилтын хүснэгтийг баруун доод буланд харуулахыг хүсвэл Chart.js-ийг ашиглаж болно, үүнийг вэбсайтаас татаж аваад ENO газрын зургийн үндсэн хавтсанд оруулаад google-draw-line.html-ийн толгойд оруулна уу..

Диаграмыг харуулахын тулд div -д зураг нэмж оруулаарай.

Дараа нь диаграмын өгөгдлийг хадгалахын тулд хоёр массив үүсгэнэ үү

//… var chartLabels = шинэ Array (); var chartData = шинэ Array (); //…

Тэдгээрийн дотор chartLabels нь байршлын өгөгдлийг хадгалахад ашиглагддаг бол chartData нь зүрхний цохилтын өгөгдлийг хадгалахад ашиглагддаг. Мессеж ирэхэд шинэ өгөгдлийг тэдэнд өгөөд диаграмыг сэргээнэ үү.

//… var map = eon.map ({message: function (message, timetoken, channel) {//… chartLabels.push (obj2string (message [0].latlng))); chartData.push (message [0].data)); var ctx = document.getElementById ("chart"). getContext ('2d'); var chart = new Chart (ctx, {type: 'line', өгөгдөл: {labels: chartLabels, өгөгдлийн багц: [{label: ") Зүрхний цохилт ", өгөгдөл: chartData}]}}); //…}});

Бүгд бэлэн. Дараагийн удаа дугуйгаар авч явахыг хичээгээрэй.

Алхам 6: Бусад мэдрэгч Grove -тэй хэрхэн ажиллах вэ?

Wio LTE -ийн програмд та нэг ба түүнээс дээш тооны өгөгдлийг диаграммд харуулах эсвэл илүү ихийг хийх боломжтой. Дараахь нийтлэлд програмыг хэрхэн өөрчлөх талаар олж мэдэх болно.

Таны мэдэх ёстой хамгийн эхний зүйл бол PubNub дээр нийтлэхийг хүсч буй json-ийг url кодчилсон байх ёстой. Кодлогдсон json нь BikeTracker ангилалд хатуу кодлогдсон бөгөөд иймэрхүү харагдаж байна.

%% 5b %% 7b %% 22latlng %% 22 %% 3a %% 5b%f %% 2c%f %% 5d %% 2c %% 22data %% 22 %% 3a%d %% 7d %% 5d

Тиймээс нэг өгөгдөл авахад хялбар байдаг, эсвэл url кодчилох хэрэгслүүдийг ашиглан өөрийн кодлогдсон json-ийг ашиглан илүү их мэдээлэл авах боломжтой.

Энэ удаад бид зүрхний цохилтыг сайжруулахын тулд I2C High Accracy Temp & Humi Grove -ийг ашиглахыг оролдож байна. LCD Grove нь I2C -ийг ашигладаг тул Temp & Humi Grove, LCD Grove -ийг Wio LTE -тэй холбохын тулд I2C Hub ашигладаг.

Дараа нь толгой файлыг BickTracker.h дээр оруулаад температурыг хадгалах, хэмжих BikeTracker ангилалд арга, аргыг нэмнэ үү.

/// BikeTracker.h

//… #Seeed_SHT35.h "ангийн програмыг оруулна уу:: BikeTracker: application:: interface:: IApplication {//… хамгаалагдсан: //… SHT35 _sht35; хөвөх _ температур; //… хүчингүй MeasureTemperature (хүчингүй); } /// BikeTracker.cpp //… // BikeTracker:: BikeTracker (void) //: _ethernet (Ethernet ()), _gnss (GNSS ()) {} // 21 бол SCL зүү дугаар юм BikeTracker:: BikeTracker (void): _ethernet (Ethernet ()), _gnss (GNSS ()), _sht35 (SHT35 (21)) {} //… void BikeTracker:: tədbirTemperature (void) {хөвөх температур, чийгшил; хэрэв (_sht35.read_meas_data_single_shot (HIGH_REP_WITH_STRCH, & температур, чийгшил) == ҮГҮЙ) {_temperature = температур; }} //…

Хэрэв та хүсвэл LCD дэлгэцийг Loop () аргаар өөрчилж болно.

// sprintf (line2, "Зүрхний цохилт: %d", _heartRate);

Температурыг хэмжих (); sprintf (line2, "Temp: %f", _temperature);

Гэхдээ үүнийг PubNub дээр хэрхэн нийтлэх вэ? PublishToPubNub () аргаар кодлогдсон json болон sprintf () функцийн параметрүүдийг өөрчлөх шаардлагатай байна.

// sprintf (cmd, "GET/нийтлэх/%s/%s/0/%s/0/%% 5b %% 7b %% 22latlng %% 22 %% 3a %% 5b%f %% 2c%f% %5d %% 2c %% 22data %% 22 %% 3a%d %% 7d %% 5d? Store = 0 HTTP/1.0 / n / r / n / r ", // _publishKey, _subscribeKey, _channel, _atitude, _longitude, _heartRate); sprintf (cmd, "GET/нийтлэх/%s/%s/0/%s/0/%% 5b %% 7b %% 22latlng %% 22 %% 3a %% 5b%f %% 2c%f %% 5d %% 2c %% 22data %% 22 %% 3a%f %% 7d %% 5d? Store = 0 HTTP/1.0 / n / r / n / r ", _publishKey, _subscribeKey, _channel, _atitude, _longitude, _temperature);

Дараа нь та PubNub дибаг хийх консол дээр температурыг харж болно.

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