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, Studeni
Anonim
Pametni bicikl za dijeljenje
Pametni bicikl za dijeljenje
Pametni bicikl za dijeljenje
Pametni bicikl za dijeljenje

Kad god koristim bicikl, zaboravim upaliti svjetla kad padne mrak. Također na svom biciklu ne mogu znati koliko brzo idem.

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

  • Ubrzati
  • Mjesto
  • Koliko dugo koristite bicikl

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

Link na moj github.

Pribor

  • 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 svjetlo
  • Drvo za kućište (~ 15,00 €)
  • Kablovi (~ 6,00 €)

Ukupna cijena: 145,76 €

Korak 1: Napravite krug

Napravite krug
Napravite krug
Napravite krug
Napravite krug

Prvo ćete morati sastaviti sve. Uključio sam shemu prevrtanja.

Napomena: Neke komponente poput RFID skenera potrebno je lemiti.

Korak 2: Postavite Python

Postavite Python
Postavite Python

Za ovaj projekt koristit ću python 3 i pokrenuti kôd s poslužiteljem python. Povezat ću svoj github sa svojim kodom.

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

Kad ste napravili tumača, možete napraviti novi projekt i odabrati tumača koji ste upravo napravili za projekt. Tada ćete morati odabrati mjesto za spremanje datoteka na računalo i RPi.

Korak 3: Pročitajte podatke

Pročitajte Podatke
Pročitajte Podatke

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

  • RFID skener koristi se 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 vrijednost pretvaram u postotak.

Napomena: Ako želite koristiti "while petlje" u pythonu za stalno dobivanje podataka tijekom izvođenja python poslužitelja. Morat ćete koristiti threading (više informacija o threadingu). Nitanje je jednostavno za korištenje.

Korak 4: Baza podataka (mySQL)

Baza podataka (mySQL)
Baza podataka (mySQL)

Sada kada imate podatke sa senzora, potrebno vam je 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 upotrijebiti radnu ploču mySQL na svom računalu za povezivanje s bazom podataka na RPi -ju.

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

Napomena: Tablica 'Bike_has_User' nije potrebna i koristit će se samo ako namjeravate koristiti više bicikala. Možete ispustiti tablicu 'Bike_has_User' i povezati tablicu User s '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 zaslona) i dodajte novi izvor podataka.

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

Korak 6: Pošaljite podatke u bazu podataka

Slanje podataka u bazu podataka
Slanje podataka u bazu podataka

Kad sve postavite, možete početi slati podatke u bazu podataka. Za to 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 za prikaz na web stranici ili gdje god želite.

Korak 8: Kućište: Dno

Kućište: dolje
Kućište: dolje

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. Ispilio je komad drveta (130x310 mm). Zatim pričvrstite RPi vijkom i zalijepite matičnu ploču na donji dio.

Napomena: Možete napraviti identičan dio za vrh kućišta

Korak 9: Stanovanje: male strane

Stanovanje: male strane
Stanovanje: male strane

Kad završite donji dio. Možete početi piljenje 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 skenira li korisnik ulaz ili izlaz.

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 dnevno svjetlo.

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čeni: