Sadržaj:

Pametni bicikl za dijeljenje: 12 koraka (sa slikama)
Pametni bicikl za dijeljenje: 12 koraka (sa slikama)

Video: Pametni bicikl za dijeljenje: 12 koraka (sa slikama)

Video: Pametni bicikl za dijeljenje: 12 koraka (sa slikama)
Video: Miletov cuveni pad sa bicikla. :D 2024, Juli
Anonim
Pametni bicikl za dijeljenje
Pametni bicikl za dijeljenje
Pametni bicikl za dijeljenje
Pametni bicikl za dijeljenje

Kad god koristim bicikl, zaboravim upaliti svjetla kada padne mrak. Također na svom biciklu nemam načina da znam koliko brzo idem.

Odlučio sam napraviti pametni bicikl za dijeljenje koji prati:

  • Brzina
  • Location
  • Koliko dugo koristite bicikl

Takođe automatski uključuje ili isključuje svetla. Koristio sam RFID skener kako bi netko drugi mogao koristiti bicikl bez mijenjanja mojih podataka.

Link na moj github.

Supplies

  • Raspberry Pi 3 (32, 49 €)
  • SD kartica (za RPi) (13, 99 €)
  • GPS NEO 6M (za brzinu i lokaciju) (15, 99 €)
  • Anker PowerCore 10400mAh (29, 99 €)
  • RFID RC522 (5, 49 €)
  • 16x2 LCD (9, 99 €)
  • Elegoo Uno R3 ploča (9, 34 €)
  • LDR (1,50 €)
  • MCP3008 (ADC) (5, 98 €)
  • Reciklirano svetlo
  • Drvo za kućište (~ 15,00 €)
  • Kablovi (~ 6,00 €)

Ukupna cijena: 145,76 €

Korak 1: Napravite krug

Napravi krug
Napravi krug
Napravi krug
Napravi krug

Prvo morate sve sastaviti. Uključio sam šemu fritzinga.

Napomena: Neke komponente poput RFID skenera potrebno je lemiti.

Korak 2: Postavite Python

Podesite Python
Podesite Python

Za ovaj projekat ću koristiti python 3 i pokretati kôd sa python serverom. Povezaću svoj github sa svojim kodom.

Prvo morate uspostaviti vezu sa svojim Raspberry Pi -om putem Postavke> Izgradnja, Izvlačenje, Razmještanje> Raspoređivanje. Zatim morate napraviti tumača sa svim potrebnim paketima. Na svom Raspberry Pi -u koristim python 3.5.

Kada ste napravili tumača, možete napraviti novi projekt i odabrati tumača koji ste upravo napravili za projekt. Tada ćete morati izabrati gdje želite spremiti datoteke na PC i RPi.

Korak 3: Pročitajte podatke

Pročitajte podatke
Pročitajte podatke

Nakon što ste napravili sklop i sve komponente rade, morate pročitati podatke sa senzora. Moj projekt je napravljen pomoću Pythona 3. U pythonu sam čitao većinu podataka sa senzora pomoću klasa.

  • RFID skener se koristi s arduinom (većina informacija o tome kako ga koristiti ovdje). Očitao sam podatke sa skenera pomoću arduina i poslao ih u RPi putem serijskog USB -a.
  • GPS modul također koristi serijsku komunikaciju. Podaci koje GPS šalje RPi -u nisu tako dobro formatirani. Upotrijebio sam biblioteku za raščlanjivanje podataka i znatno olakšavanje korištenja. (Još informacija o GPS podacima).
  • Analogne vrijednosti iz LDR -a se pretvaraju pomoću mcp3008 (adc), a zatim pretvaram vrijednost u postotak.

Napomena: Ako želite koristiti "while petlje" u pythonu za stalno dobivanje podataka dok radite na python serveru. Morat ćete koristiti threading (više informacija o threadingu). Nitanje je jednostavno za upotrebu.

Korak 4: Baza podataka (mySQL)

Baza podataka (mySQL)
Baza podataka (mySQL)

Sada kada imate podatke sa senzora, potrebno vam je neko mjesto za pohranu podataka. Pohranit ćemo podatke u relacijsku bazu podataka u mySQL.

Pokrećem bazu podataka na svom RPi -u da bi ovo funkcioniralo. Trebam imati instaliranu mariaDB na svom RPi -u. Nakon što instalirate mariaDB i postavite ga, možete koristiti mySQL radnu površinu na svom računaru za povezivanje s bazom podataka na RPi -u.

Morat ćete napraviti ERD na računaru; proslijediti ERD i izvesti bazu podataka. Zatim možete uvesti dump (ne zaboravite kreirati shemu) na RPi putem mySQL radne ploče.

Napomena: Tablica 'Bike_has_User' nije potrebna i bit će korištena samo ako planirate koristiti više bicikala. Možete ispustiti tablicu 'Bike_has_User' i povezati tablicu User sa 'Datahistory'.

Korak 5: Povežite svoj Python s bazom podataka

Povežite svoj Python s bazom podataka
Povežite svoj Python s bazom podataka

Sada kada imate instaliranu bazu podataka, možete povezati svoj python s bazom podataka. Kliknite na bazu podataka (s desne strane ekrana) i dodajte novi izvor podataka.

Baza podataka i python skripta rade na RPi -ju, pa koristite IP lokalnog hosta. Prilikom postavljanja mariaDB -a koristite korisnika kojeg ste prethodno stvorili.

Korak 6: Pošaljite podatke u bazu podataka

Slanje podataka u bazu podataka
Slanje podataka u bazu podataka

Kada sve postavite, možete početi slati podatke u bazu podataka. Za ovo sam koristio pomoćnike klase. Database u pythonu (pogledajte moj github).

Fotografija prikazuje neki primjer koda.

Korak 7: Koristite podatke

Koristite Podatke
Koristite Podatke

Pomoću klase helpers. Database možete umetnuti podatke u bazu podataka ili dobiti podatke iz baze podataka.

Sada kada sve funkcionira, možete koristiti podatke iz baze podataka da ih prikažete na web stranici ili gdje god želite.

Korak 8: Kućište: Dole

Kućište: dole
Kućište: dole

O kućištu

Konačno, kućište za ovaj projekt izrađeno je od drveta (310x130x110 mm). Većina komponenti je pričvršćena vijcima na drvo, osim powerbank -a i matične ploče.

Kućište možete smanjiti ako lemite komponente. Nisam naveo način za sigurno povezivanje kućišta s biciklom, ali postoji mnogo mogućnosti.

Izrada kućišta

Morat ćete početi s izradom donjeg dijela kućišta. Odsekao komad drveta (130x310 mm). Zatim pričvrstite RPi vijkom i zalijepite matičnu ploču na donji dio.

Napomena: Za gornji dio kućišta možete napraviti identičan dio

Korak 9: Kućište: male strane

Kućište: male strane
Kućište: male strane

Kada završite donji dio. Možete početi s rezanjem bočnih dijelova. Počnite s izradom manjih stranica.

Prvo ćete morati pričvrstiti manje stranice. Koristio sam dodatni komad drveta za povezivanje svih dijelova zajedno, ovaj dodatni komad olakšava.

Korak 10: Kućište: velike strane

Kućište: velike strane
Kućište: velike strane

Sada ćete morati napraviti veće stranice. Još jednom ispipajte stranice i pričvrstite ih na donji dio pomoću dodatnog komada drveta.

Korak 11: Dodavanje rupe za LCD i LDR

Dodavanje rupe za LCD i LDR
Dodavanje rupe za LCD i LDR

Također ćete morati napraviti rupu za LCD kako biste mogli vidjeti IP adresu i prikazati da li korisnik skenira unutra ili van.

Pomoću mjerenja LCD -a odlučite koliko će rupa imati veličinu.

Nakon što umetnete LCD, provjerite je li LDR izvan kućišta. Koristio sam malu rupu tako da LDR može vidjeti dnevnu svjetlost.

Korak 12: Pričvrstite Arduino i RFID skener sa strane

Pričvrstite Arduino i RFID skener sa strane
Pričvrstite Arduino i RFID skener sa strane

Nakon što je kućište dovršeno, još uvijek morate priključiti arduino i RFID skener. Možete ih pričvrstiti gdje god imate mjesta. Ali preporučujem da pričvrstite RFID skener ispod LCD -a kako bi korisnik mogao vidjeti je li skenirao unutra ili van.

Preporučuje se: