Inhoudsopgave:

Deelbare Smartbike: 12 stappen (met afbeeldingen)
Deelbare Smartbike: 12 stappen (met afbeeldingen)

Video: Deelbare Smartbike: 12 stappen (met afbeeldingen)

Video: Deelbare Smartbike: 12 stappen (met afbeeldingen)
Video: ИЗГОЙ – Лучший спортивный фильм года!🏆 ЭТОТ ФИЛЬМ ИЗМЕНИЛ МИЛЛИОНЫ ЛЮДЕЙ! спорт, workout, турники 2024, November
Anonim
Deelbare Smartbike
Deelbare Smartbike
Deelbare Smartbike
Deelbare Smartbike

Als ik mijn fiets gebruik, vergeet ik vaak mijn lichten aan te doen als het donker wordt. Ook op mijn fiets weet ik niet hoe hard ik ga.

Dus heb ik besloten om een deelbare smartbike te maken die het volgende bijhoudt:

  • Snelheid
  • Plaats
  • Hoe lang gebruik je de fiets?

Het schakelt ook automatisch de lichten aan of uit. Ik heb een RFID-scanner gebruikt zodat iemand anders de fiets kan gebruiken zonder mijn gegevens te wijzigen.

Link naar mijn github.

Benodigdheden

  • Framboos Pi 3 (€ 32, 49)
  • SD-kaart (voor RPi) (€ 13, 99)
  • GPS NEO 6M (voor snelheid en locatie) (€ 15, 99)
  • Anker PowerCore 10400mAh (€29, 99)
  • RFID-RC522 (€5, 49)
  • 16x2 LCD-scherm (€ 9, 99)
  • Elegoo Uno R3-bord (€ 9, 34)
  • LDR (€ 1, 50)
  • MCP3008 (ADC) (€ 5, 98)
  • Een gerecycled licht
  • Hout voor de behuizing (~€15, 00)
  • Kabels (~ € 6, 00)

Totaal prijskaartje: € 145,76

Stap 1: Maak het circuit

Maak het circuit
Maak het circuit
Maak het circuit
Maak het circuit

Eerst moet je alles in elkaar zetten. Ik heb een fritzing-schema toegevoegd.

Opmerking: sommige componenten, zoals de RFID-scanner, moeten worden gesoldeerd.

Stap 2: Python instellen

Python instellen
Python instellen

Voor dit project gebruik ik python 3 en voer ik de code uit met een python-server. Ik zal mijn github koppelen aan mijn code.

Eerst moet je verbinding maken met je Raspberry Pi via Instellingen > Build, Exection, Deployment > Deployment. Dan moet je een tolk maken met alle benodigde pakketten. Op mijn Raspberry Pi gebruik ik python 3.5.

Als je de tolk hebt gemaakt, kun je een nieuw project maken en de tolk selecteren die je zojuist voor het project hebt gemaakt. Vervolgens moet je kiezen waar je de bestanden op je pc en RPi wilt opslaan.

Stap 3: Lees de gegevens

Lees de gegevens
Lees de gegevens

Nadat je het circuit hebt gemaakt en alle componenten werken, moet je de gegevens van sensoren lezen. Mijn project is gemaakt met Python 3. In python lees ik de meeste gegevens van de sensoren uit met klassen.

  • De RFID-scanner wordt gebruikt met de Arduino (de meeste informatie over het gebruik hier). Ik lees de gegevens uit de scanner met de arduino en stuur deze naar de RPi met seriële USB.
  • De GPS-module maakt ook gebruik van seriële communicatie. De gegevens die de GPS naar de RPi stuurt, zijn niet zo goed geformatteerd. Ik heb een bibliotheek gebruikt om de gegevens te ontleden en het gebruik ervan een stuk gemakkelijker te maken. (Wat meer info over GPS-gegevens).
  • De analoge waarden van de LDR worden omgezet met de mcp3008 (een adc), daarna zet ik de waarde om naar een percentage.

Opmerking: als u 'while-loops' in python wilt gebruiken om constant gegevens te krijgen terwijl u een python-server uitvoert. Je hebt threading nodig (meer informatie over threading). Het inrijgen is gemakkelijk te gebruiken.

Stap 4: De database (mySQL)

De database (mySQL)
De database (mySQL)

Nu u uw gegevens van de sensoren hebt, heeft u een plaats nodig om de gegevens op te slaan. We slaan de gegevens op in een relationele database in mySQL.

Ik voer de database uit op mijn RPi om dit te laten werken. Ik moet mariaDB op mijn RPi hebben geïnstalleerd. Nadat u mariaDB hebt geïnstalleerd en ingesteld, kunt u de mySQL-werkbank op uw pc gebruiken om verbinding te maken met uw database op de RPi.

U moet de ERD op de pc maken; forward engineer de ERD en exporteer de database. Vervolgens kun je de dump (vergeet schema aanmaken) niet importeren op de RPi via mySQL workbench.

Opmerking: de tabel 'Bike_has_User' is niet vereist en wordt alleen gebruikt als u van plan bent meerdere fietsen te gebruiken. U kunt de tabel 'Bike_has_User' laten vallen en de tabel Gebruiker koppelen aan 'Datahistorie'.

Stap 5: Koppel uw Python aan de database

Koppel uw Python met de database
Koppel uw Python met de database

Nu u uw database hebt geïnstalleerd, kunt u uw python koppelen aan de database. Klik op database (rechts in het scherm) en voeg een nieuwe gegevensbron toe.

De database en het python-script draaien op de RPi, dus gebruik de localhost IP. Gebruik de gebruiker die u eerder hebt gemaakt terwijl u mariaDB instelde.

Stap 6: Gegevens naar de database verzenden

Gegevens naar de database verzenden
Gegevens naar de database verzenden

Als je alles hebt ingesteld, kun je beginnen met het verzenden van gegevens naar de database. Ik heb hiervoor een class helpers. Database in python gebruikt (zie mijn github).

De foto toont een voorbeeldcode.

Stap 7: Gebruik de gegevens

Gebruik de gegevens
Gebruik de gegevens

Met de klasse helpers. Database kunt u gegevens in de database invoegen of gegevens uit de database halen.

Nu alles werkt kun je de gegevens uit de database gebruiken om ze op een website of waar je maar wilt weer te geven.

Stap 8: De behuizing: bodem

De behuizing: bodem
De behuizing: bodem

Over de behuizing

Tenslotte is de behuizing voor dit project gemaakt van hout (310x130x110 mm). De meeste componenten zijn op het hout geschroefd, behalve de powerbank en het breadboard.

Je kunt de behuizing kleiner maken als je de componenten soldeert. Ik heb geen manier toegevoegd om de behuizing veilig op de fiets te bevestigen, maar er zijn veel opties.

De behuizing maken

Je zult moeten beginnen met het maken van het onderste deel van de behuizing. Zaag een stuk hout uit (130x310 mm). Bevestig vervolgens de RPi met schroef en lijm het breadboard op het onderste gedeelte.

Opmerking: U kunt een identiek onderdeel maken voor de bovenkant van de behuizing

Stap 9: De behuizing: kleine kanten

De behuizing: kleine kanten
De behuizing: kleine kanten

Als je klaar bent met het onderste deel. U kunt beginnen met het zagen van de zijdelen. Begin met het maken van de kleinere zijkanten.

Eerst moet je de kleinere zijkanten bevestigen. Ik heb een extra stuk hout gebruikt om alle onderdelen met elkaar te verbinden, dit extra stuk maakt het makkelijker.

Stap 10: De behuizing: grote zijkanten

De behuizing: grote zijkanten
De behuizing: grote zijkanten

Nu moet je de grotere zijkanten maken. Zaag nogmaals de zijkanten en bevestig ze aan het onderste deel met behulp van het extra stuk hout.

Stap 11: Een gat toevoegen voor de LCD & LDR

Een gat toevoegen voor de LCD & LDR
Een gat toevoegen voor de LCD & LDR

U moet ook een gat maken voor het LCD-scherm, zodat u het IP-adres kunt zien en kunt zien of een gebruiker in- of uitscant.

Gebruik de afmetingen van het LCD-scherm om te beslissen hoe groot het gat zal zijn.

Nadat u het LCD-scherm hebt geplaatst, moet u ervoor zorgen dat de LDR zich buiten de behuizing bevindt. Ik heb een klein gaatje gebruikt zodat de LDR daglicht kan zien.

Stap 12: Bevestig de Arduino & RFID-scanner aan de zijkant

Bevestig de Arduino & RFID-scanner aan de zijkant
Bevestig de Arduino & RFID-scanner aan de zijkant

Nadat de behuizing compleet is, moet je de arduino & RFID-scanner nog bevestigen. Je kunt ze overal bevestigen waar je ruimte hebt. Maar ik raad aan om de RFID-scanner onder het LCD-scherm te bevestigen, zodat de gebruiker kan zien of hij in- of uitgescand heeft.

Aanbevolen: