Satura rādītājs:

Pike - brauc drošāk, brauc gudrāk, brauc ar līdaku !: 5 soļi
Pike - brauc drošāk, brauc gudrāk, brauc ar līdaku !: 5 soļi

Video: Pike - brauc drošāk, brauc gudrāk, brauc ar līdaku !: 5 soļi

Video: Pike - brauc drošāk, brauc gudrāk, brauc ar līdaku !: 5 soļi
Video: Часть 7 — Аудиокнига «Дракула» Брэма Стокера (главы 24–27) 2024, Novembris
Anonim
Pike - brauc drošāk, brauc gudrāk, brauc ar līdaku!
Pike - brauc drošāk, brauc gudrāk, brauc ar līdaku!

Laipni lūdzam manā projektā ar nosaukumu Pike!

Šis ir projekts kā daļa no manas izglītības. Es esmu NMCT students Howestā Beļģijā. Mērķis bija padarīt kaut ko gudru, izmantojot Raspberry Pi. Mums bija pilnīga brīvība, kurā mēs gribējām kļūt gudri.

Man bija vienkārša izvēle padarīt savu velosipēdu mazliet gudrāku. Es dzīvoju vietā, kur, braucot ar velosipēdu, ātrāk nokļūstu galamērķī pilsētā.

Arī es reiz nokritu ar savu velosipēdu. Es salauzu elkoni. Es nokritu, jo norādīju uz šoferi aiz manis, ka gribu iet pa labi. Ceļš bija slidens, un es zaudēju kontroli, jo pie stūres bija tikai viena roka. Tāpēc mana pirmā ideja bija pievienot velosipēdam virziena rādītājus. No turienes es sāku domāt, ko vēl varētu piebilst, tāpēc es izdomāju GPS izsekošanu, lai vēlāk varētu redzēt, kuru maršrutu izvēlējāties.

Ko tad Pike var darīt?

Pike reģistrēs jūsu braukšanas sesijas. Tas izsekos jūsu izvēlētajam maršrutam, aprēķinās jūsu vidējo ātrumu un nobraukto attālumu. Pēc katras sesijas jūs varat pieteikties vietnē, lai pārbaudītu, kur un kā braucāt. Mēs arī radīsim kaut ko, lai jūs varētu izvēlēties, kurš brauks ar velosipēdu, lai vairāk cilvēku varētu izmantot jūsu Pike, ja viņi to vēlas!

1. solis: daļas

Daļas
Daļas

Tātad acīmredzot jums ir jāzina, kas jums nepieciešams, lai atjaunotu manu projektu. Pirms sākam, es gribētu teikt, ka šis projekts nebija īsti lēts. Arī vietējā veikalā es nopirku vadus, kas bija pārāk dārgi. Jūs varat tos iegādāties tiešsaistē par pāris eiro/dolāru (ko es iesaku jums darīt). Man nebija laika gaidīt. Tāpēc es tos nopirku no sava vietējā veikala par augstu cenu.

Iepirkumu saraksts

- Raspberry Pi

- Jumper kabeļi

- Powerbank jebkurš darīs tik ilgi, kamēr tas piešķirs jūsu Pi pietiekami daudz jaudas

- Maxxter viedtālruņa turētājs (būtībā lētākais, ko varat atrast …)

- Maxxter viedtālruņa turētājs (baltie apaļie arī ir ļoti lēti, lai ietilptu manās plastmasas caurulēs)

- plastmasas caurules (tajā izurbts caurums, lai ietilptu pogas, kas ietilpst viedtālruņa turētājā, lai piestiprinātu pie stūres)

- Pogas*

- 6x 220 Ω rezistori

- 1x 5K Ω rezistors

- LCD displejs

- DS18B20 viena stieples temperatūras sensors

- Adafruit GPS modulis Ultimate Breakout 66 Channel

- GPS antena - ārējā aktīvā antena - 3-5V 28db ar 5 metru kabeli SMA (lai pastiprinātu GPS signālu)

- uFLto SMA adapteris (lai pievienotu papildu antenu Adafruit GPS modulim)

Piezīmes:

* Attēlos redzamie ir metāla, varbūt ne ideālākie, bet tie bija manā vietējā veikalā. Jūs varat izmantot pilnīgi ūdensnecaurlaidīgas pogas, taču tās bija 15 eiro gabalā, kas, manuprāt, bija dārgi. Jūs varētu iegādāties jebkuru pogu, kuru vēlaties, ja vien tā darbojas ar pacelšanas sistēmu, jums viss būs kārtībā.

2. solis: visu pieslēdziet vadam

Visu vadu
Visu vadu
Visu vadu
Visu vadu

Tas nav tik grūti. Tā kā GPS modulis ir savienots ar USB. Iepriekš redzamajā attēlā varat redzēt, ka krāsas varat saskaņot ar USB adaptera kabeļiem. Pogas un gaismas diodes ir savienotas ar 220 Ω. DS18B20 temperatūras sensors ir savienots ar 5K Ω rezistoru.

3. darbība: konfigurēsim jūsu Raspberry Pi

Konfigurēsim jūsu Raspberry Pi!
Konfigurēsim jūsu Raspberry Pi!

Vispirms jums būs nepieciešama raspbian valoda, kuru varat apgūt šeit, un pēc tam jums ir jāveic šīs krātuves darbības.

Mans datu bāzes grafiks ir minimāls. Tajā ir 4 tabulas:

  1. tlusētājs

    1. UserID (tinyint, 2) AUTO INCREMENT, UNSIGNED
    2. Lietotājvārds (varchar, 175)
    3. UserLogin (varchar, 180)
    4. UserPassword (varchar, 255)
    5. UserActive (tinyint, 1) UNSIGNED
  2. tblsession

    1. Sesijas ID (int, 10) AUTO INCREMENT, UNSIGNED
    2. Sesijas datums (datums)
    3. Lietotāja ID
  3. tblsensor

    1. SensorID (tinyint, 3) AUTO INCREMENT, UNSIGNED
    2. SensorName (varchar, 150)
  4. tbl vēsture

    1. HistoryID (bigint, 20) AUTO INCREMENT, UNSIGNED
    2. SensorID
    3. Sesijas ID
    4. HistoryValue (varchar, 255)
    5. HistoryTime (laiks, 3)

Bet jūs varat arī apskatīt.sql dump failu

4. darbība: sāksim kodēšanu

Sāksim kodēšanu
Sāksim kodēšanu

Jūs varat atrast manu kodu, lai projekts darbotos šeit.

GPS

Sākt darbu ar GPS moduli ir patiešām vienkārši. Viss, kas jums jādara, ir instalēt gpsd-py3 pakotni savā Python vidē. Tad jūs varat izmantot šo bibliotēku, lai atvieglotu savu dzīvi. Jūs varat izmantot kodēšanas piemērus, lai no GPS iegūtu datus, piemēram, atrašanās vietu, platumu, ātrumu utt.

LCD displejs

Lai LCD displejs darbotos, jums jāinstalē bibliotēka no Adafruit. Kodēšanas piemērus var atrast šeit.

DS18B20 viena stieples temperatūras sensors

Lai atrastu savu viena stieples sensoru, jums būs jāveic nedaudz vairāk darba. Vispirms mums jāaktivizē viena stieples kopne. Lai to izdarītu, rīkojieties šādi:

  1. sudo raspi-config
  2. Saskarnes iespējas
  3. 1 vads

Lai sāktu lasīt datus no sensora, mums jāzina, kā sauc mūsu vienu vadu. Šim tipam cd/sys/bus/w1/devices/

Jūs redzēsit divas ierīces, no kurām viena ir pati Raspberry Pi, bet otrai vajadzētu izskatīties apmēram kā 28-0 … utt. Tā garā ciparu un burtu virkne ir veids, kā jūs varēsit lasīt datus Python. Lai lasītu datus python, jums tie jāatver kā fails. Tātad faila atvēršanas ceļam vajadzētu izskatīties apmēram šādi:/sys/bus/w1/devices/28-04177032d4ff/w1_slave.

Pogas un gaismas diodes

Šīs ir pamatfunkcijas, jūs varat apskatīt manu kodu šajā mapē Classes.

SQL paziņojumi

Gandrīz katrs paziņojums ir pamata SQL paziņojums. Tomēr es gribētu nedaudz paskaidrot, kā es saglabāju sensoriem to vērtības. Es manuāli pievienoju savus sensorus saviem tblsensors. Tāpēc es zināju, kuram sensoram ir kāds ID. Tāpēc es sekoju garuma, platuma un ātrumam. Katrai vērtībai es veicu citu funkciju. Es vienkārši izteiktu 3 sql paziņojumus, kas ir vienādi, bet atkarībā no tā, kuru vērtību es vēlētos saglabāt, es mainīju WHERE paziņojumu.

Ieteicams: