Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
W tym samouczku wyjaśnię, jak zrobić inteligentną walizkę za pomocą Raspberry Pi.
Kiedy skończysz, będziesz mógł śledzić swoją walizkę na całym świecie i zważyć ją bez potrzeby używania wagi.
Zacznijmy!
Krok 1: Komponenty, których potrzebujesz
- Raspberry Pi (oczywiście xd)
- Kable rozruchowe
- Walizka
- Powerbank do zasilania Twojego Pi
- Adafruit Ultimate GPS breakout + antena
- Wzmacniacz tensometryczny HX711
- Kombinator czujnika obciążenia
- Cztery ogniwa obciążnikowe 50 kg
- Dwie (drewniane) deski, które nie wyginają się zbyt łatwo (np. sklejka). Upewnij się, że deski mają ten sam wymiar i mieszczą się w Twojej walizce.
- Wyświetlacz LCD (opcjonalnie, użyję go do wyświetlenia IP mojego Raspberry Pi, aby użytkownik wiedział, na którą stronę musi się udać, aby zobaczyć informacje o walizce)
Krok 2: Składanie walizki
Na zdjęciu widać, jak należy połączyć wszystkie części. Jeśli masz problemy, wykonaj następujące kroki:
Aby podłączyć GPS:
- VIN -> Raspberry Pi pin 1 (3.3V)
- GND -> Raspberry Pi pin 6 (GND)
- TX -> Raspberry Pi pin 10 (RXD)
- RX -> Raspberry Pi pin 8 (TXD)
Aby podłączyć wyświetlacz LCD: (nie narysowałem go na schemacie Fritzing, ponieważ byłby bałagan..)
- VSS -> Raspberry Pi pin 6 (GND)
- VDD -> Raspberry Pi pin 2 (5V)
- V0 -> potencjometr (to dba o regulację kontrastu)
- RS -> Raspberry Pi pin 18 (GPIO24)
- RW -> Raspberry Pi pin 6 (GND)
- E -> Raspberry Pi pin 32 (GPIO25)
- D0 -> Raspberry Pi pin 42 (GPIO12)
- D1 -> Raspberry Pi pin 46 (GPIO16)
- D2 -> Raspberry Pi pin 48 (GPIO20)
- D3 -> Raspberry Pi pin 50 (GPIO21)
- D4 -> Raspberry Pi pin 11 (GPIO17)
- D5 -> Raspberry Pi pin 13 (GPIO27)
- D6 -> Raspberry Pi pin 15 (GPIO22)
- D7 -> Raspberry Pi pin 33 (GPIO13)
- A -> Raspberry Pi pin 2 (5V)
- K -> Raspberry Pi pin 6 (GND)
Aby podłączyć ogniwa obciążnikowe:
-
Na środku planszy kombinatora widać, że są cztery kolumny z każdym trzema połączeniami (-, + i C). Jedno ogniwo obciążnikowe ma dokładnie trzy przewody (biały, czerwony i czarny). Podłącz każdy czujnik obciążenia do kolumny w następujący sposób:
- - -> Czarny
- + -> Biały
- C -> Czerwony
-
Gdy już to zrobisz, podłącz płytkę kombinatora do wzmacniacza tensometrycznego HX711 w następujący sposób:
- Czerwony -> E+
- Czarny -> E-
- Zielony -> A-
- Biały -> A
-
Na koniec podłącz HX711 do swojego Raspberry Pi:
- VCC -> Raspberry Pi pin 17 (3.3V)
- GND -> Raspberry Pi pin 9 (GND)
- DT -> Raspberry Pi pin 29 (GPIO5)
- SCK -> Raspberry Pi pin 31 (GPIO6)
(B- i B+ na HX711 i żółty na płycie kombinatora pozostają puste)
Aby przymocować ogniwa obciążnikowe do tablic:
- Najpierw upewnij się, że ogniwa obciążnikowe są rozmieszczone równomiernie na płycie.
- Następnie dla każdego ogniwa obciążnikowego wykonaj mały, prostokątny otwór, aby „pokrywka” ogniwa obciążnikowego nie dotykała podłoża. Jeśli tak, otrzymasz wartości ujemne.
- Umieść ogniwa obciążnikowe we właściwym miejscu i przymocuj je do płyty za pomocą śrub.
- Następnie przymocuj płytkę kombinatora do górnej części płytki tak, aby kołki znajdowały się „na zewnątrz” powierzchni płytki.
-
Przymocuj przewody z ogniw obciążnikowych taśmą do płyty.
- Następnie zrób małe kostki z drewna i przymocuj je do środkowego pręta każdego ogniwa obciążnikowego za pomocą kleju. Waga będzie mierzona przez złożenie tego środkowego drążka.
- Na koniec przymocuj drugą deskę do małych kostek za pomocą kleju.
Krok 3: Wkładanie komponentów do walizki
Więc kiedy już wszystko połączysz, czas schować wszystko do walizki.
Waga: Jedna rzecz, która musi być w tym samym miejscu, bez względu na wagę, więc upewnij się, że bardzo dobrze przymocujesz je do dna walizki za pomocą mocnego kleju lub śrub.
Moduł GPS: Aby uzyskać lepszy sygnał GPS, zrobiłem mały otwór w mojej walizce, aby górną część anteny można było przymocować na zewnątrz walizki.
Ekran LCD: Aby umieścić wyświetlacz LCD w walizce, jeśli chcesz, wykonaj prostokątny otwór, który ma taki sam rozmiar jak ekran LCD. Następnie przymocuj ekran LCD za pomocą mocnego kleju.
Inne części:Możesz umieścić inne części, takie jak Raspberry Pi i powerbank, na spodzie lub po bokach walizki za pomocą kleju. Możesz to zrobić tak, jak chcesz.
Podsumowując, po prostu upewnij się, że wszystkie elementy są dobrze połączone z walizką, aby nic nie mogło się przesunąć.
Krok 4: Konfiguracja Raspberry Pi
Aby zacząć, musimy najpierw przeprowadzić konfigurację, więc po prostu wpisz następujące polecenia:
Najpierw zainstaluj kilka pakietów:
aktualizacje sudo aptudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
-
Następnie utwórz wirtualny
środowisko
:
python3 -m pip install --upgrade pip setuptools wheel virtualenvmkdir project1 && cd project1python3 -m venv --system-site-packages envsource env/bin/activatepython -m pip install mysql-connector-python argon2-cffi Flask-HTTPAuth Flask- MySQL-mysql-connector-python passlib
- Następnie sklonuj ten projekt m.in. PyCharm (projekt posiada 4 foldery)
- Upewnij się, że interpreter projektu to Python na twoim Raspberry Pi
- Aby skonfigurować bazę danych:
projekt cd1
sudo mariadb < sql/db_init.sql
- Nawiąż połączenie ze swoją bazą danych w PyCharm
- Na koniec kliknij prawym przyciskiem myszy plik „lugapp.sql” w folderze „sql” i wybierz „uruchom”. Spowoduje to umieszczenie tabel w bazie danych na Twoim Pi.
Następnie jedyne, co musisz zmienić, to pliki konfiguracyjne w folderze „CONF”. Przeczytaj każdy plik w tym folderze i wprowadź zmiany w razie potrzeby. (np. ścieżka robocza, użytkownik…).
Ostatnie kroki:
Skopiuj pliki „project1-flask.service” i „project1-lcd.service” do /etc/systemd/system za pomocą następującego polecenia:
sudo cp conf/project1-*.service /etc/systemd/system/
Następnie przeładuj:
sudo systemctl demon-reload
Na koniec uruchom dwie usługi:
sudo systemctl włącz projekt1-*
sudo systemctl uruchom projekt1-*