Spisu treści:

WeatherCar: 6 kroków
WeatherCar: 6 kroków

Wideo: WeatherCar: 6 kroków

Wideo: WeatherCar: 6 kroków
Wideo: Amazon's Kayme 6-Layer Waterproof All Weather Car Cover 1 Year Performance Update 2024, Lipiec
Anonim
PogodaSamochód
PogodaSamochód

WeatherCar, mały projekt domowej roboty, który może prowadzić, jednocześnie zbierając przydatne dane!

Zrobiłem ten projekt jako finał mojego pierwszego roku w Howest of Kortrijk. Ten projekt nie ma jeszcze dobrego wykończenia, ale ten dokument dotyczy wszystkich elementów wewnętrznych tego samochodu, bez robienia pełnej klatki.

Krok 1: Wymagania

Do tego projektu potrzebne będą wszystkie te komponenty:

  • Malina PI
  • 2x silnik (12v)
  • Serwo
  • DHT11
  • BMP280
  • Moduł GPS GY-NEO6MV2
  • 4 x tranzystory NPN
  • 2 x rezystory (1k i 2k)
  • Kierowca motocyklu
  • Zestawy akumulatorów 2 x 6v
  • Tablica prototypowa
  • Regulator napięcia obniżającego napięcie
  • Izolowany drut miedziany
  • Płaski kabel
  • Stary kabel Micro-USB
  • Sklejka

Krok 2: lutowanie/okablowanie

Lutowanie/okablowanie
Lutowanie/okablowanie
Lutowanie/okablowanie
Lutowanie/okablowanie
Lutowanie/okablowanie
Lutowanie/okablowanie

W pierwszym kroku przejdziemy od razu do połączenia wszystkich przewodów. (PS. Możesz użyć płytki stykowej do testowania przed lutowaniem wszystkiego)

Dostarczyłem schemat, który pokazuje, jak wszystko okablowałem, chociaż nie mogłem znaleźć odpowiedniej części dla mojego sterownika silnika. Dla mojego sterownika silnika użyłem 4 tranzystorów NPN, aby przekonwertować mój sygnał 3,3 V na sygnał 12 V, aby sterować sterownikiem silnika. To dlatego, że ten, którego użyłem, obsługuje tylko 1 napięcie (12 V, ponieważ moje silniki mają 12 V).

Krok 3: Konfiguracja Raspberry Pi

Jeśli nie masz jeszcze konfiguracji, musisz to zrobić najpierw, w przeciwnym razie możesz pominąć ten krok, jeśli masz wymagane programy z ostatniego fragmentu kodu w tym kroku.

Najpierw musisz pobrać wersję Raspbian na komputer, którą można znaleźć tutaj:

Po pobraniu będziesz musiał użyć Etcher lub WinDiskImager, aby umieścić plik obrazu na karcie SD z raspberry Pi. (Może to chwilę potrwać).

Po zakończeniu programu otwórz eksplorator plików i otwórz dysk o nazwie „boot”. Tutaj znajdziesz plik tekstowy "cmdline.txt". Otwórz to i dodaj ip=169.254.10.1 na końcu pliku. Uważaj, aby nie dodawać żadnych wejść do pliku, ponieważ może to prowadzić do problemów.

Teraz, gdy PI ma domyślny adres IP, nadal będziemy musieli włączyć SSH, aby móc się z nim połączyć. Możesz to zrobić, tworząc nowy plik o nazwie "SSH" bez żadnego rozszerzenia, co powie raspberry pi, aby włączyć ssh przy pierwszym uruchomieniu.

Dzięki temu możemy teraz połączyć się z raspberry pi za pomocą kabla Ethernet. Podłącz kabel między komputerem a Raspberry PI. Teraz potrzebujemy klienta SSH. Do tego użyłem kitu (https://www.putty.org/). Otwórz putty i wpisz 169.254.10.1 jako nazwę hosta. Może minąć trochę czasu, zanim będzie można się połączyć.

Po nawiązaniu połączenia zaloguj się przy użyciu tych danych logowania:

Login: piHasło: malina

Teraz możemy skonfigurować połączenie internetowe, aby to zrobić. Wykonaj to polecenie i zastąp SSID i hasło sieciowe nazwą i hasłem Wi-Fi.

echo "hasło" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant/wpa_supplicant.conf

wpa_cli -i ponownie konfiguruję wlan0

Teraz, gdy mamy połączenie z Internetem, możemy zainstalować Pythona i inne potrzebne programy za pomocą następujących poleceń

aktualizacja sudo apt

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

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

pogoda mkdir && cd weathercar

python3 -m venv --system-site-pakiety env

źródło env/bin/aktywuj

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

Krok 4: Konfiguracja bazy danych

Teraz, gdy raspberry pi ma wszystkie potrzebne programy, nadal będziemy musieli skonfigurować bazę danych. Co możemy zrobić, uruchamiając Mysql

sudo mariadb

i wtedy

UTWÓRZ UŻYTKOWNIKA 'project1-admin'@'localhost' ZIDENTYFIKOWANY PRZEZ 'adminpassword';UTWÓRZ UŻYTKOWNIKA 'project1-web'@'localhost' ZIDENTYFIKOWANY PRZEZ 'webpassword';UTWÓRZ UŻYTKOWNIKA 'project1-sensor'@'localhost' ZIDENTYFIKOWANY PRZEZ 'sensorpassword';

UTWÓRZ BAZĘ DANYCH weathercar_db;

PRZYZNAJ WSZYSTKIE UPRAWNIENIA W POGODZIE.* 'project1-admin'@'localhost' Z OPCJĄ PRZYZNANIA;PRZYZNAJ WYBÓR, WSTAW, AKTUALIZUJ, USUŃ W projekcie1.* DO 'project1-web'@'localhost';GRANT SELECT, INSERT, UPDATE, USUŃ W projekcie1.* TO 'project1-sensor'@'localhost';PRZYWILEJE FLUSH;

Krok 5: Kod

W tym kroku sklonujemy potrzebny kod do twojego Raspberry Pi. Zrobimy to w ten sposób:

Przede wszystkim upewnij się, że jesteś w swoim katalogu domowym, wpisując „cd”

Płyta CD

teraz sklonujemy repozytorium za pomocą

klon git

Teraz możemy zaimportować ustawienia bazy danych za pomocą:

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

Teraz, gdy skończyliśmy bazę danych, możemy iść dalej i skonfigurować naszą usługę

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

Krok 6: Połącz

Łączyć!
Łączyć!

Jesteśmy prawie na miejscu, jeszcze tylko jeden krok. I to jest adres IP, który podało nam wifi.

Zrobimy to, umieszczając

adres IP

pojawi się kupa bzdur, ale powinieneś być w stanie znaleźć „wlan0”, a następnie kilka linijek dalej „inet 192.168.x.x”

umieść ten adres IP w przeglądarce i gotowe. Masz połączenie z witryną.

Zalecana: