Sisukord:

Jagatav Smartbike: 12 sammu (piltidega)
Jagatav Smartbike: 12 sammu (piltidega)

Video: Jagatav Smartbike: 12 sammu (piltidega)

Video: Jagatav Smartbike: 12 sammu (piltidega)
Video: Улучшенные Велогаджеты Совершенно Нового Уровня 2024, November
Anonim
Jagatav Smartbike
Jagatav Smartbike
Jagatav Smartbike
Jagatav Smartbike

Kui kasutan jalgratast, unustan ma pimeda saabudes tuled sisse lülitada. Ka rattaga ei saa ma teada, kui kiiresti ma lähen.

Seega olen otsustanud teha jagatava nutijalgratta, mis jälgib:

  • Kiirus
  • Asukoht
  • Kui kaua olete jalgratast kasutanud

Samuti lülitab see tuled automaatselt sisse või välja. Kasutasin RFID -skannerit, et keegi teine saaks jalgratast ilma minu andmeid muutmata kasutada.

Link minu githubile.

Tarvikud

  • Vaarika Pi 3 (32, 49 eurot)
  • SD -kaart (RPi jaoks) (13, 99 eurot)
  • GPS NEO 6M (kiiruse ja asukoha jaoks) (15, 99 eurot)
  • Anker PowerCore 10400mAh (29, 99 eurot)
  • RFID RC522 (5, 49 eurot)
  • 16x2 LCD (9,99 eurot)
  • Elegoo Uno R3 pardal (9, 34 eurot)
  • LDR (1, 50 eurot)
  • MCP3008 (ADC) (5, 98 eurot)
  • Taaskasutatud valgus
  • Eluaseme puit (~ 15 000 eurot)
  • Kaablid (~ 6,00 €)

Kokku hinnasilt: 145,76 €

Samm: tehke vooluring

Tehke ringrada
Tehke ringrada
Tehke ringrada
Tehke ringrada

Kõigepealt peate kõik kokku panema. Lisasin fritseerimisskeemi.

Märkus. Mõned komponendid, näiteks RFID -skanner, peavad olema joodetud.

Samm: seadistage Python

Pythoni seadistamine
Pythoni seadistamine

Selle projekti jaoks kasutan python 3 ja käivitan koodi pythoni serveriga. Linkin oma githubi oma koodiga.

Kõigepealt peate oma Raspberry Pi -ga ühenduse looma, valides Seaded> Ehitamine, Exection, Deployment> Deployment. Seejärel peate tegema tõlgi koos kõigi vajalike pakettidega. Kasutan oma Raspberry Pi -s python 3.5.

Kui olete tõlgi teinud, saate teha uue projekti ja valida tõlgi, mille just projekti jaoks tegite. Siis peate valima, kuhu failid arvutisse ja RPi salvestada.

Samm: lugege andmeid

Lugege Andmeid
Lugege Andmeid

Pärast vooluringi ja kõigi komponentide toimimist peate lugema andurite andmeid. Minu projekt tehti Python 3 abil. Pythonis lugesin enamuse andurite andmetest klasside abil välja.

  • RFID -skannerit kasutatakse koos arduinoga (siin on enamus teavet selle kasutamise kohta). Lugesin arduino abil skannerilt andmed välja ja saatsin need jada -USB abil RPi -le.
  • GPS -moodul kasutab ka jadaühendust. Andmed, mida GPS RPile saadab, pole nii hästi vormindatud. Andmete parsimiseks ja nende kasutamise hõlbustamiseks kasutasin raamatukogu. (Lisateavet GPS -andmete kohta).
  • LDR -i analoogväärtused teisendatakse mcp3008 (anc) abil, seejärel teisendan väärtuse protsendiks.

Märkus. Kui soovite pythonis kasutada 'while silmuseid', et saada andmeid pidevalt Pythoni serveri käitamise ajal. Peate kasutama keermestamist (rohkem teavet keermestamise kohta). Keermestamist on lihtne kasutada.

4. samm: andmebaas (mySQL)

Andmebaas (mySQL)
Andmebaas (mySQL)

Nüüd, kui teil on anduritelt saadud andmed, vajate andmete salvestamiseks mõnda kohta. Salvestame andmed mySQL -i relatsiooniandmebaasi.

Ma töötan oma RPi andmebaasi, et see toimiks. Mul peab olema RPi installitud mariaDB. Kui olete mariaDB installinud ja selle seadistanud, saate oma arvutis oleva mySQL töölaua abil RPi andmebaasiga ühenduse luua.

Peate ERD tegema arvutis; edastage ERD edasi ja eksportige andmebaas. Seejärel saate prügila importida (ärge unustage skeemi loomist) RPi -sse mySQL töölaua kaudu.

Märkus. Tabel „Bike_has_User” pole kohustuslik ja seda kasutatakse ainult siis, kui kavatsete kasutada mitut jalgratast. Võite loobuda tabelist „Bike_has_User” ja linkida tabeli „Datahistory” kasutajaga.

Samm: linkige oma Python andmebaasiga

Linkige oma Python andmebaasiga
Linkige oma Python andmebaasiga

Nüüd, kui olete oma andmebaasi installinud, saate oma pythoni andmebaasiga siduda. Klõpsake andmebaasil (ekraani paremal) ja lisage uus andmeallikas.

Andmebaas ja pythoni skript töötavad RPi -l, nii et kasutage localhost IP -d. Kasutage mariaDB seadistamise ajal varem loodud kasutajat.

6. samm: saatke andmed andmebaasi

Andmete saatmine andmebaasi
Andmete saatmine andmebaasi

Kui olete kõik seadistanud, võite hakata andmeid andmebaasi saatma. Ma kasutasin klassi abistajaid. Selle jaoks andmebaas pythonis (vt minu githubi).

Foto näitab näidiskoodi.

Samm: kasutage andmeid

Kasutage andmeid
Kasutage andmeid

Klassi abilistega. Andmebaas saate andmeid andmebaasi sisestada või andmeid andmebaasist hankida.

Nüüd, kui kõik töötab, saate andmebaasi andmeid kasutada nende kuvamiseks veebisaidil või kus iganes soovite.

8. samm: korpus: alt

Korpus: alt
Korpus: alt

Eluaseme kohta

Lõpuks on selle projekti korpus valmistatud puidust (310x130x110 mm). Enamik komponente on kruvitud puidu külge, välja arvatud jõupank ja leivaplaat.

Komponentide jootmisel saate korpust väiksemaks muuta. Ma ei lisanud võimalust korpuse turvaliseks ühendamiseks jalgrattaga, kuid võimalusi on palju.

Korpuse tegemine

Peate alustama korpuse alumise osa valmistamisega. Saagis välja puutüki (130x310 mm). Seejärel kinnitage RPi kruviga ja liimige leivaplaat alumise osa külge.

Märkus. Korpuse ülaosa jaoks saate teha identse osa

9. samm: korpus: väikesed küljed

Korpus: väikesed küljed
Korpus: väikesed küljed

Kui olete alumise osa lõpetanud. Võite alustada külgmiste osade saagimist. Alustage väiksemate külgede valmistamisega.

Kõigepealt peate kinnitama väiksemad küljed. Ma kasutasin kõigi osade ühendamiseks täiendavat puidutükki, see lisatükk muudab selle lihtsamaks.

10. samm: korpus: suured küljed

Korpus: suured küljed
Korpus: suured küljed

Nüüd peate tegema suuremad küljed. Nägi veel kord külgi ja kinnitage need alumise osa külge, kasutades täiendavat puutükki.

11. samm: ava ja LCD -ekraanile lisamine

Aukude lisamine LCD -le ja LDR -ile
Aukude lisamine LCD -le ja LDR -ile

Samuti peate LCD -ekraanile augu tegema, et saaksite näha IP -aadressi ja kuvada, kas kasutaja skaneerib sisse või välja.

Kasutage vedelkristallekraani mõõtmeid, et otsustada, kui suur auk on.

Pärast LCD -ekraani sisestamist veenduge, et LDR on väljaspool korpust. Ma kasutasin väikest auku, et LDR näeks päevavalgust.

Samm: kinnitage Arduino ja RFID -skanner küljele

Kinnitage Arduino ja RFID -skanner küljele
Kinnitage Arduino ja RFID -skanner küljele

Pärast korpuse valmimist peate siiski kinnitama arduino ja RFID -skanneri. Saate need kinnitada kõikjale, kus teil on ruumi. Kuid soovitan kinnitada RFID -skanneri LCD -ekraani alla, et kasutaja saaks näha, kas ta skaneeris sisse või välja.

Soovitan: