Turinys:

Bendrinamas „Smartbike“: 12 žingsnių (su nuotraukomis)
Bendrinamas „Smartbike“: 12 žingsnių (su nuotraukomis)

Video: Bendrinamas „Smartbike“: 12 žingsnių (su nuotraukomis)

Video: Bendrinamas „Smartbike“: 12 žingsnių (su nuotraukomis)
Video: Jordan Klepper vs. Trump Supporters | The Daily Show 2024, Lapkritis
Anonim
Bendrinamas „Smartbike“
Bendrinamas „Smartbike“
Bendrinamas „Smartbike“
Bendrinamas „Smartbike“

Kai važinėju dviračiu, sutemus linkiu pamiršti įjungti šviesą. Be to, važiuodamas dviračiu, aš nežinau, kaip greitai važiuoju.

Taigi nusprendžiau sukurti bendrinamą išmanųjį dviratį, kuris stebėtų:

  • Greitis
  • Vieta
  • Kiek laiko naudojatės dviračiu

Jis taip pat automatiškai įjungia arba išjungia šviesas. Aš naudoju RFID skaitytuvą, kad kas nors kitas galėtų naudotis dviračiu nekeisdamas mano duomenų.

Nuoroda į mano github.

Prekės

  • „Raspberry Pi 3“(32, 49 eurai)
  • SD kortelė (RPi) (13, 99 EUR)
  • GPS NEO 6M (greitis ir vieta) (15, 99 EUR)
  • „Anker PowerCore 10400mAh“(29, 99 eurai)
  • RFID RC522 (5, 49 eurai)
  • 16x2 LCD (9, 99 eurai)
  • „Elegoo Uno R3 Board“(€ 9, 34)
  • LDR (1, 50 EUR)
  • MCP3008 (ADC) (5, 98 eurai)
  • Perdirbta šviesa
  • Mediena būstui (~ 15,00 EUR)
  • Kabeliai (~ 6,00 €)

Bendra kaina: 145,76 €

1 žingsnis: sukurkite grandinę

Sukurkite grandinę
Sukurkite grandinę
Sukurkite grandinę
Sukurkite grandinę

Pirmiausia turėsite viską sudėti. Įtraukiau fritavimo schemą.

Pastaba: kai kuriuos komponentus, tokius kaip RFID skaitytuvas, reikia lituoti.

2 veiksmas: nustatykite „Python“

Nustatykite „Python“
Nustatykite „Python“

Šiam projektui naudosiu „python 3“ir paleisiu kodą su „python“serveriu. Aš susiesiu savo „Github“su savo kodu.

Pirmiausia turite užmegzti ryšį su „Raspberry Pi“per Nustatymai> Sukurti, vykdyti, diegti> Diegimas. Tada jums reikia padaryti vertėją su visais reikalingais paketais. „Raspberry Pi“naudoju „python 3.5“.

Parengę vertėją, galite sukurti naują projektą ir pasirinkti ką tik sukurtą vertėją. Tada turėsite pasirinkti, kur išsaugoti failus kompiuteryje ir RPi.

3 žingsnis: perskaitykite duomenis

Skaitykite Duomenis
Skaitykite Duomenis

Sukūrę grandinę ir visus komponentus, turite perskaityti jutiklių duomenis. Mano projektas buvo sukurtas naudojant „Python 3. Python“. Aš perskaičiau daugumą jutiklių duomenų naudodamas klases.

  • RFID skaitytuvas naudojamas kartu su arduino (čia rasite daugiausiai informacijos, kaip jį naudoti). Aš perskaičiau duomenis iš skaitytuvo su arduino ir siunčiu juos į RPi su serijiniu USB.
  • GPS modulis taip pat naudoja nuoseklųjį ryšį. Duomenys, kuriuos GPS siunčia į RPi, nėra tokie gerai suformatuoti. Naudojau biblioteką duomenims išanalizuoti ir palengvinti jų naudojimą. (Šiek tiek daugiau informacijos apie GPS duomenis).
  • Analoginės vertės iš LDR konvertuojamos naudojant „mcp3008“(anc), tada vertę paverčiu procentais.

Pastaba: Jei norite naudoti „while ciklus“„python“, kad nuolat gautumėte duomenis, kai naudojate „python“serverį. Jums reikės naudoti sriegimą (daugiau informacijos apie sriegimą). Sriegį lengva naudoti.

4 veiksmas: duomenų bazė (mySQL)

Duomenų bazė (mySQL)
Duomenų bazė (mySQL)

Dabar, kai turite duomenis iš jutiklių, jums reikia vietos duomenims saugoti. Duomenis saugosime reliatyvinėje duomenų bazėje „MySQL“.

Aš paleisiu duomenų bazę savo RPi, kad tai veiktų, man reikia, kad mano RPi būtų įdiegta „mariaDB“. Įdiegę „mariaDB“ir ją nustatę, galite naudoti „mySQL“darbastalį savo kompiuteryje, kad prisijungtumėte prie jūsų duomenų bazės RPi.

Kompiuteryje turėsite padaryti ERD; inžinierius ERD ir eksportuoja duomenų bazę. Tada galite importuoti sąvartyną (nepamirškite sukurti schemos) į RPi per „mySQL“darbastalį.

Pastaba: lentelė „Bike_has_User“nėra būtina ir bus naudojama tik tuo atveju, jei planuojate naudoti kelis dviračius. Galite mesti lentelę „Bike_has_User“ir susieti lentelę Vartotojas su „Datahistory“.

5 veiksmas: susiekite „Python“su duomenų baze

Susiekite „Python“su duomenų baze
Susiekite „Python“su duomenų baze

Dabar, kai turite įdiegtą duomenų bazę, galite susieti savo „python“su duomenų baze. Spustelėkite duomenų bazę (ekrano dešinėje) ir pridėkite naują duomenų šaltinį.

Duomenų bazė ir „python“scenarijus veikia RPi, todėl naudokite „localhost“IP. Kurdami „mariaDB“naudokite anksčiau sukurtą vartotoją.

6 veiksmas: siųskite duomenis į duomenų bazę

Siųsti duomenis į duomenų bazę
Siųsti duomenis į duomenų bazę

Kai viskas yra nustatyta, galite pradėti siųsti duomenis į duomenų bazę. Aš naudoju klasės pagalbininkus. Tam skirta duomenų bazė „python“(žr. „Github“).

Nuotraukoje parodytas tam tikras kodo pavyzdys.

7 veiksmas: naudokite duomenis

Naudokite duomenis
Naudokite duomenis

Su klasės pagalbininkais. Duomenų bazėje galite įterpti duomenis į duomenų bazę arba gauti duomenis iš duomenų bazės.

Dabar, kai viskas veikia, galite naudoti duomenų bazės duomenis, kad juos rodytumėte svetainėje arba kur tik norite.

8 žingsnis: korpusas: apačioje

Korpusas: apačioje
Korpusas: apačioje

Apie būstą

Galiausiai šio projekto korpusas pagamintas iš medžio (310x130x110 mm). Dauguma komponentų yra prisukami prie medžio, išskyrus „Powerbank“ir duonos lentą.

Lituodami komponentus, galite sumažinti korpusą. Aš neįtraukiau būdo, kaip saugiai prijungti korpusą prie dviračio, tačiau yra daug variantų.

Korpuso gamyba

Turėsite pradėti nuo apatinės korpuso dalies. Nupjautas medžio gabalas (130x310 mm). Tada pritvirtinkite RPi varžtu ir priklijuokite duonos lentą prie apatinės dalies.

Pastaba: galite padaryti identišką korpuso viršaus dalį

9 žingsnis: korpusas: mažos pusės

Korpusas: mažos pusės
Korpusas: mažos pusės

Kai baigsite apatinę dalį. Galite pradėti pjauti šonines dalis. Pradėkite gaminti mažesnes puses.

Pirmiausia turite pritvirtinti mažesnes puses. Aš naudoju papildomą medžio gabalą, kad sujungčiau visas dalis, šis papildomas gabalas palengvina.

10 žingsnis: korpusas: didelės pusės

Korpusas: didelės pusės
Korpusas: didelės pusės

Dabar turėsite padaryti didesnes puses. Dar kartą pamatykite šonus ir pritvirtinkite juos prie apatinės dalies, naudodami papildomą medžio gabalą.

11 veiksmas: skylės pridėjimas LCD ir LDR

Skylės pridėjimas LCD ir LDR
Skylės pridėjimas LCD ir LDR

Taip pat turėsite padaryti skylę skystųjų kristalų ekranui, kad galėtumėte pamatyti IP adresą ir parodyti, ar vartotojas nuskaito, ar nuskaito.

Naudodami LCD matavimus nuspręskite, kokio dydžio skylė bus.

Įdėję LCD, įsitikinkite, kad LDR yra už korpuso. Aš naudojau mažą skylę, kad LDR galėtų matyti dienos šviesą.

12 veiksmas: pritvirtinkite „Arduino“ir RFID skaitytuvą prie šono

Pritvirtinkite „Arduino“ir RFID skaitytuvą prie šono
Pritvirtinkite „Arduino“ir RFID skaitytuvą prie šono

Kai korpusas bus baigtas, vis tiek turite prijungti arduino ir RFID skaitytuvą. Galite juos pritvirtinti visur, kur turite vietos. Bet aš rekomenduoju prijungti RFID skaitytuvą po skystųjų kristalų ekranu, kad vartotojas galėtų pamatyti, ar nuskaitė, ar nuskaitė.

Rekomenduojamas: