Inhoudsopgave:

WeatherCar: 6 stappen
WeatherCar: 6 stappen

Video: WeatherCar: 6 stappen

Video: WeatherCar: 6 stappen
Video: Horeca training | Een perfect biertje tappen in 6 stappen 2024, Juli-
Anonim
WeerAuto
WeerAuto

De WeatherCar, een klein zelfgemaakt project dat kan rijden en tegelijkertijd nuttige gegevens kan verzamelen!

Dit project maakte ik als afstudeeropdracht voor mijn eerste jaar in de Howest van Kortrijk. Dit project heeft nog geen goede afwerking, maar dit document gaat over alle interne onderdelen van deze auto, zonder het volledige frame te maken.

Stap 1: Vereisten

Je hebt al deze componenten nodig voor dit project:

  • Framboos PI
  • 2x motor (12v)
  • Servo
  • DHT11
  • BMP280
  • GY-NEO6MV2 GPS-module
  • 4 x NPN-transistoren
  • 2 x weerstanden (1k en 2k)
  • Motor bestuurder
  • 2 x 6v batterijpakketten
  • Prototyping bord
  • Step-down spanningsregelaar
  • Geïsoleerde koperdraad
  • Platte kabel
  • Oude Micro-USB-kabel
  • Multiplex

Stap 2: Solderen / Bedrading

Solderen / Bedrading
Solderen / Bedrading
Solderen / Bedrading
Solderen / Bedrading
Solderen / Bedrading
Solderen / Bedrading

Voor de eerste stap gaan we direct in op het aansluiten van alle draden. (PS. Je kunt een breadboard gebruiken om te testen voordat je alles gaat solderen)

Ik heb een schema gegeven dat laat zien hoe ik alles heb aangesloten, hoewel ik het juiste onderdeel voor mijn motorrijder niet kon vinden. Voor mijn motordriver heb ik de 4 NPN-transistoren gebruikt om mijn 3.3v-signaal om te zetten in een 12v-signaal om de motordriver te besturen. Dit omdat degene die ik gebruikte maar 1 spanning ondersteunt (12v omdat mijn motoren 12v zijn).

Stap 3: Raspberry Pi-configuratie

Als je nog geen setup hebt, moet je dit eerst doen, anders kun je deze stap overslaan als je de vereiste programma's uit het laatste codefragment in deze stap hebt.

Allereerst moet je de Raspbian-desktopversie downloaden, die je hier kunt vinden:

Nadat je dit hebt gedownload, moet je Etcher of WinDiskImager gebruiken om het afbeeldingsbestand van je Raspberry Pi op de SD-kaart te zetten. (Dit kan even duren).

Wanneer het programma klaar is, opent u de bestandsverkenner en opent u de schijf genaamd "boot". Hierin vindt u een tekstbestand "cmdline.txt". Open dit en voeg ip=169.254.10.1 toe aan het einde van het bestand. Zorg ervoor dat u geen enters aan het bestand toevoegt, aangezien dit tot problemen kan leiden.

Nu de PI een standaard ip-adres heeft, moeten we SSH nog steeds inschakelen om er verbinding mee te kunnen maken. U kunt dit doen door een nieuw bestand met de naam "SSH" te maken zonder enige extensie, dit zal de raspberry pi vertellen om ssh in te schakelen bij de eerste keer opstarten.

Hiermee kunnen we nu via een ethernetkabel verbinding maken met de Raspberry Pi. Sluit de kabel aan tussen je pc en de Raspberry PI. Nu hebben we een SSH-client nodig. Hiervoor heb ik putty gebruikt (https://www.putty.org/). Open putty en voer 169.254.10.1 in als hostnaam. Het kan even duren voordat je verbinding kunt maken.

Zodra u bent verbonden, logt u in met deze inloggegevens:

Login: piWachtwoord: framboos

Nu kunnen we hiervoor een internetverbinding instellen. Voer deze opdracht uit en vervang SSID en netwerkwachtwoord door de naam en het wachtwoord van uw wifi.

echo "wachtwoord" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant/wpa_supplicant.conf

wpa_cli -i wlan0 opnieuw configureren

Nu we een internetverbinding hebben, kunnen we python en andere benodigde programma's installeren met behulp van de volgende opdrachten:

sudo apt update

sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

python3 -m pip install --upgrade pip setuptools wiel virtualenv

mkdir weathercar && cd weathercar

python3 -m venv --system-site-packages env

bron env/bin/activeren

python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib flask-socketio

Stap 4: Database instellen

Nu je Raspberry Pi alle benodigde programma's heeft, moeten we de database nog steeds configureren. Wat we kunnen doen door eerst Mysql. te starten

sudo mariadb

en dan

CREER GEBRUIKER 'project1-admin'@'localhost' GEDENTIFICEERD DOOR 'adminpassword';CREER GEBRUIKER 'project1-web'@'localhost' GEDENTIFICEERD DOOR 'webpassword';CREER GEBRUIKER 'project1-sensor'@'localhost' GEDENTIFICEERD DOOR 'sensorpassword';

MAAK DATABASE weathercar_db;

VERLENEN ALLE PRIVILEGES OP weathercar.* aan 'project1-admin'@'localhost' MET SUBSIDIEOPTIE; GRANT SELECT, INSERT, UPDATE, DELETE ON project1.* TO 'project1-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, VERWIJDER OP project1.* NAAR 'project1-sensor'@'localhost';SPOEL VOORRECHTEN;

Stap 5: Coderen

In deze stap klonen we de benodigde code op je Raspberry Pi. Dit gaan we doen door dit te doen:

Zorg er allereerst voor dat u zich in uw homedirectory bevindt door "cd" in te voeren

CD

nu gaan we de repository klonen met

git kloon

Nu kunnen we de database-instellingen importeren met:

sudo mariadb weathercar_db < /weathercar/sql/weathercar_db_historiek.sql sudo mariadb weathercar_db < /weathercar/sql/weathercar_db_sensoren.sql

Nu we de database hebben voltooid, kunnen we doorgaan en onze service instellen

sudo cp weathercar/conf/project1-*.service /etc/systemd/system/sudo systemctl daemon-reloadsudo systemctl start project1-*sudo systemctl activeer project1-*

Stap 6: Verbinden

Aansluiten!
Aansluiten!

We zijn er bijna, nog één stap. En dat is het ip-adres krijgen dat de wifi ons gaf.

Dit doen we door

ip adres

er zal een hoop onzin verschijnen, maar je zou "wlan0" moeten kunnen vinden en dan een paar regels verder "inet 192.168.x.x"

zet dat ip-adres in je browser en daar ga je. U bent verbonden met de website.

Aanbevolen: