Tartalomjegyzék:
- 1. lépés: Néhány információ az App.remoteme.org -ról
- 2. lépés: Amire szükség van:
- 3. lépés: Kapcsolatok
- 4. lépés: PCB
- 5. lépés: PCB kimenetek
- 6. lépés: Hogyan működik
- 7. lépés: Autószerelés - kerekek
- 8. lépés: Tápellátás (AA újratölthető elemek) Opció 1/2
- 9. lépés: Tápellátás (7,2 V-os Li-Po akkumulátorok) 2/2. Opció
- 10. lépés: Forrasztás
- 11. lépés: Kamera
- 12. lépés: Az autók alkatrészeinek összerakása
- 13. lépés: App.remoteme.org konfiguráció
- 14. lépés: A RasbperryPi konfigurálása
- 15. lépés: A kapcsolatok ellenőrzése
- 16. lépés: Python -szkript hozzáadása
- 17. lépés: A Python -szkript sikeres hozzáadásának ellenőrzése
- 18. lépés: Weboldal hozzáadása a vezérlőautóhoz
- 19. lépés: Állítsa be a WebPage eszközt az autó vezérléséhez 1/2
- 20. lépés: A WebPage eszköz beállítása az autó 2/2 vezérlésére
- 21. lépés: Nyissa meg az Autóvezérlő Központot
- 22. lépés: Kamera konfigurálása 1/2
- 23. lépés: A kamera konfigurálása 2/2
- 24. lépés: Vezetés 1/2
- 25. lépés: Vezetés 2/2
- 26. lépés: Hogyan működik?
- 27. lépés: Táblagép, mobil kormányzás
- 28. lépés: Nyissa meg az oldalt a mobiltelefonon
- 29. lépés: A Turn Server hozzáadása
- 30. lépés: Mobil kormányzás
- 31. lépés: Összefoglalás
Videó: RasbperryPi autó FPV kamerával. Vezérlés webböngészővel: 31 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Építeni fogunk 4wd autót - a kormányzás hasonló lesz, mint egy tartályban -, hogy a kerekek egyik oldala más sebességgel forogjon, mint a másik. Az autónál a kamera egy speciális tartóba kerül, ahol megváltoztathatjuk a kamera pozícióját. A robotot webböngésző fogja irányítani (asztalon chrome vagy firefox, vagy mobiltelefonon firefox), böngészőben, kamerás videót kapunk (csak 200 ms késéssel), és a böngészőből irányíthatjuk az autó mozgását és kamera pozíciója. A kommunikáció megkönnyítése érdekében az app.remoteme.org rendszert használtam, és az ilyen típusú autók vezérlése is a dobozból történik, tehát nem kell saját kódot írnia, de természetesen módosíthatja a szkripteket új lehetőségek stb.
Mielőtt áramot csatlakoztatna a PCB -hez, ellenőrizze az összes csatlakozást
1. lépés: Néhány információ az App.remoteme.org -ról
A rendszer három részből áll
- webalkalmazás - amikor a vezérlő weboldalakat tárolja, és összeköti az összes kommunikációt
- rasbperryPi program - videó küldő program, kezeli a python szkripteket
- könyvtárak, ahol osztály, függvény definíciókat talál
A Remoteme.org rendszergyors A Remoteme.org rendszert azért hozták létre, hogy segítsen elkezdeni projektjeinek elkészítését, és nem kell aggódnia a protokollos kommunikáció miatt. A fő ötlet bináris üzenetek küldése különböző eszközök, például weblapok, RasbeprryPI, arduino és szkriptek között.
Másrészt a Remoteme.org teljes körű irányítást biztosít a fájlok felett, könnyedén módosíthatja a saját funkcióit
Ebben az oktatóanyagban megmutatom, hogyan készíthetsz el egy fantasztikus projektet bármilyen kód írása nélkül.
Ennek az oktatóanyagnak a végén hasznos linkeket tettem fel, amelyek segítenek megérteni a remoteme.org rendszert.
2. lépés: Amire szükség van:
- Málna PI Zero W
- Dedikált kamera
- Adafruit 16 csatornás 12 bites PWM/szervo meghajtó - I2C interfész - PCA9685 vagy annak klónja
- Két szervo mechanizmus kompatibilis a kamera tartójával
- Kamera tartó
- Elemek - Az oktatóanyagban két csatlakoztatási lehetőség
- H -híd TB6612FNG, a kerekek vezérléséhez
- PCB sas fájlok Könnyen elkészíthető hőátviteli módszer DC-DC
- Lépjen le DC átalakító modulról
- Robot tok
3. lépés: Kapcsolatok
Raspberry pi vezérlő szervo mechanizmus a PWM modulon keresztül és a motor fordulatszáma a H hídon keresztül, amely a RasbperryPi csapokhoz van csatlakoztatva, a PWM bemenet a H hídhoz ugyanazt a modult generálja, amelyet a szervókhoz használtam (mely részeket fent említettem, nincs szükség logikai átalakítókra)
4. lépés: PCB
A PCB sas fájlokat innen töltheti le. Az utak zsírosak, így könnyen elkészíthetőek hőátviteli módszerrel
5. lépés: PCB kimenetek
- PWM bemenet a hajtómotorokhoz A PWM modul 15. és 16. érintkezőjéhez kell csatlakoztatni (ellenőrizze a zöld téglalapot a PWM modul képén)
- Tápellátás hajtómotorokhoz (ellenőrizze, hogy a motorok mekkora maximális feszültséggel dolgozhatnak)
- A RasbperryPi és a PWM modul tápellátásának pontosan kell lennie
- Hajtómotor kimenetek (két kimenet van, mert a hajtómotorokat párosítjuk)
- Szervo mechanizmusok teljesítménye - szintén ellenőriznie kell, hogy milyen feszültség jó nekik
- A jelenlegi teljesítményét az 5. bemenetről áthidalva a motorokat is hajtja, így nem kell semmit csatlakoztatni a 2. bemenethez
- Átkötő, ha van A RasbperryPi a 3. bemenetről kap áramot - mielőtt ide helyezi az áthidalót, ellenőrizze, hogy a csatlakozók rendben vannak -e - Nem akarja elégetni az RPi -jét
- Itt forraszthatjuk a kábeleket, mivel nincs szükségünk logikai átalakítókra
6. lépés: Hogyan működik
A RasbperryPi -n van egy python szkript, amely két könyvtárat használ
- RPi. GPIO importálása GPIO-ként-25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM jelölés) csapokhoz, amelyek a H hídhoz vannak csatlakoztatva
- importálja az Adafruit_PCA9685 -öt a PWM modulhoz
Az Rpi csapok a következők szerint csatlakoznak: 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM) és a H híd vezérlési módja (előre, hátra, leállítás, rövid szünet). A H hídnak két PWM jelre is szüksége van, így szabályozhatjuk a sebességet vagy a motor forgását. Mivel a projektnél már rendelkezünk PWM vezérlővel (szervóhoz), azt is felhasználjuk PWM generálására a H bridge számára.
A PWM modul I2C kommunikációs protokollt használ. Az Adafruit_PCA9685 dobozból való kivitelezést használtam. könyvtár
7. lépés: Autószerelés - kerekek
Kezdjük a hajtómotorok csatlakoztatásával az autóházhoz. A bal/oldalsó motorok összekapcsolódnak, és mindkettő párosul egy tápkábelhez, amelyet később a NYÁK -hoz csatlakoztatnak. Fontos megjegyzés a motorok összekötésekor mindkét oldalon a kerekeknek azonos irányban kell forogniuk.
8. lépés: Tápellátás (AA újratölthető elemek) Opció 1/2
Írok kétféle áramellátási lehetőséget Az első autó 10xAA újratölthető elemekből áll. Végül a képen piros színű jumpereket rajzoltam, amelyeket fel kell helyezni.
9. lépés: Tápellátás (7,2 V-os Li-Po akkumulátorok) 2/2. Opció
A második lehetőség a 7,2 LI-PO akkumulátor. Ebben az esetben 3 feszültséget kaptunk - 5 V Rpi -hez és modulhoz, 6 V szervókhoz és közvetlenül akkumulátorokból 7,2 V -hoz hajtott motorokhoz. Két lefelé lépő modult kellett használnom
A 2. lehetőség LI-PO-val jobb:
- Az akkumulátorok nagyobb kapacitással rendelkeznek - az autó tovább fog vezetni
- Nagyobb feszültség a hajtómotoroknál - az autó gyorsabban fog haladni
- Kisebb annak a valószínűsége, hogy miután a hajtómotorok elkezdenek elhelyezkedni, hatalmas feszültségcsökkenés és RPI újraindulhat.
10. lépés: Forrasztás
A NYÁK -ra tettem néhány távtartót a PWM modulhoz. Nincs mit írni, csak nézze meg a képeket, hogyan lehet mindent összeforrasztani
11. lépés: Kamera
csatlakoztatjuk a kamerát, itt van leírva, hogyan kell a szervómechanizmusokat középre helyezni, mielőtt a kameratartóba szereljük, de a legrövidebb módja az, hogy óvatosan manuálisan ellenőrizze a maximális forgási helyzetet, és állítsa a szervókat középső helyzetbe. Ezeket a központosított szervomechanizmusokat a kamera tartójába helyezzük a középső helyzetbe (a kamera egyenesen előre mutat, mint a fényképen)
12. lépés: Az autók alkatrészeinek összerakása
NYÁK -hoz készítettem egy kis plexi asztalt
13. lépés: App.remoteme.org konfiguráció
Az ingyenes app.remoteme.org rendszert használtam, amely segít a kapcsolatok létrehozásában, és már rendelkezik szkriptekkel, amelyekre szükségünk van
Ezen a tanulságos lépésenként megmutatom, mit kell tenni az autóvezetés érdekében (itt további részleteket talál)
- Regisztráció után énekeljen a https://app.remoteme.org oldalon. Automatikusan bejelentkezik
- nyissa meg a Token lapot a bal oldalon, majd kattintson az „új token” elemre, és adjon nevet, majd kattintson az OK gombra. Most hoztunk létre új tokent (kép a képernyőn)
- ebben a példában a token értéke: ~ 1_ & p@+BNnZ@A+x8 (a tiéd más lesz;))
14. lépés: A RasbperryPi konfigurálása
a gitt konzolon (itt állíthatjuk be, hogyan állítsuk be az RPi kapcsolót a kamera I2c kommunikációjához)
git klón git: //github.com/remoteme/remoteme.git
cd távoli
python3.5 install.py
- Az Instalator feltesz néhány kérdést minden válaszunkra, és megerősíti az [enter] gombbal
- amikor a telepítés tokent kér, beillesztjük (shift+beszúr) az alkalmazásból másolt tokent és az Enter billentyűt
- a név például Rpi
- deviceId 1 Lépjen be
- telepítés után - futtassa a programot
./runme.sh
15. lépés: A kapcsolatok ellenőrzése
Térjünk vissza a https://app.remoteme.org oldalra
Az Eszközök lapon látni fogjuk a csatlakoztatott RPi -t (a zöld link ikon azt jelenti, hogy az RPi jelenleg csatlakoztatva van)
16. lépés: Python -szkript hozzáadása
Most hozzáadunk egy python szkriptet, amely már megtalálható a sablonokban, így nem kell semmit programoznunk.
Az Eszközök lapon nyissa meg a RasbperryPi menüt, és válassza a "Külső szkript hozzáadása" lehetőséget.
Amikor megjelenik az új ablak, adja meg a fenti képen látható információkat
Ne felejtse el kiválasztani a "car4wd" sablont. Ezen lépések után a remoteme.org hozzáadja a python parancsfájlt a RasbperryPi -hez, és újraindítja
17. lépés: A Python -szkript sikeres hozzáadásának ellenőrzése
Az Eszközök lapon új python -szkript -eszközt kell hozzáadni, és az eszköz -azonosítója 2. Az eszköz azonosítója weboldal üzeneteket küld az autó vezérlőjének
18. lépés: Weboldal hozzáadása a vezérlőautóhoz
az eszközök lapon kattintson az "Új", majd a "Weboldal" gombra. Csak hozzáadunk egy másik eszközt - a weblapot, amelyet az autónk irányítására használunk. És mivel a weboldalon a "car4wdDesktop" sablont használtuk, a fájlok már majdnem használatra készek
19. lépés: Állítsa be a WebPage eszközt az autó vezérléséhez 1/2
Bontsa ki a Weblapot az eszköz lapon, és kattintson az index.html, majd a Megnyitás gombra
20. lépés: A WebPage eszköz beállítása az autó 2/2 vezérlésére
Megjelenik az ablak, majd meg kell adnunk a DeviceId -t a python -szkriptünkből a mi eszközünkId értéke 2. Változtassuk meg a képen látható helyet
21. lépés: Nyissa meg az Autóvezérlő Központot
Itt az ideje, hogy nyissa meg oldalunkat, és nézze meg, hogyan működik. Az eszköz lapon kattintson az index.html, majd a „Megnyitás új lapon” lehetőségre A videó előnézetének megtekintéséhez Chrome vagy Firefox böngészőt kell használnia, más böngésző nem támogatja teljes mértékben a webRTC -t
22. lépés: Kamera konfigurálása 1/2
Amikor az egeret mozgatjuk a videoterületen, a kamerának változtatnia kell a pozícióját, és pontosan úgy kell működnie, mint az FPS játékoknál. Valószínűleg nem fog megfelelően mozogni
23. lépés: A kamera konfigurálása 2/2
Nyissa meg a script.js -t (az Eszközök lap bontsa ki a weboldalt, majd kattintson a script.js -re, majd nyissa meg), és keresse meg azt a helyet, amelyet a képernyőn mutattam
az én esetemben a középső pozíció 560 és 430, a mozgástartomány mindkét tengelyre 200
Kísérleteznie kell ezekkel a számokkal, hogy megkapja a kamera pozíciójának középpontját és a sima mozgásokat, Ha ezt az oktatóanyagot használta, csak másolja be a beillesztett megadott értékeket
24. lépés: Vezetés 1/2
Ha u megnyomja a billentyűzeten a felfelé mutató nyilat, a mérőműszereknek változtatniuk kell a pozíciójukat, és az autónak vezetnie kell. Ha megnyomja a „fel” nyilat, és az autó forog, akkor hozzá kell adnia/eltávolítania a mínuszt a képernyőn.
Ezen művelet után a „fel” nyíl megnyomása után az autónak előre kell haladnia, a lefelé mutató nyílnak pedig hátra.
25. lépés: Vezetés 2/2
Most fordul - nyomja meg a bal nyilat, ha az autó jobbra fordul Kábeleket kell fordítani (ellenőrizze a fenti képet)
Ha forrasztja ezeket a kábeleket, akkor a script.js oldalon módosíthatja, csak módosítsa a motorok sebességének küldési sorrendjét, előtt:
pos = putByte (ret, pos, carController.getMotorMode (carController.getRightSideSpeed ())); pos = putByte (ret, pos, Math.abs (carController.getRightSideSpeed ()*255));
pos = putByte (ret, pos, carController.getMotorMode (-carController.getLeftSideSpeed ()));
pos = putByte (ret, pos, Math.abs (carController.getLeftSideSpeed ()*255));
után:
pos = putByte (ret, pos, carController.getMotorMode (-carController.getLeftSideSpeed ()));
pos = putByte (ret, pos, Math.abs (carController.getLeftSideSpeed ()*255));
pos = putByte (ret, pos, carController.getMotorMode (carController.getRightSideSpeed ()));
pos = putByte (ret, pos, Math.abs (carController.getRightSideSpeed ()*255));
és most meg kell játszani a mínuszokkal, mint egy lépéssel azelőtt, hogy megfelelően működjön;). Amint azt valószínűleg észrevette, miután felütötte a nyilat, az autó nem hajt teljes sebességgel, hogy az autó gyorsabban mozogjon, csak gyorsan engedje felfelé a nyilat, amikor a maximális helyzetben van és nyomja meg újra és tartsa lenyomva
26. lépés: Hogyan működik?
A weboldal 9. bájtos üzeneteket küld a python parancsfájlba a következő formátumban:
- 1 bájt egy bájtos egész érték 1
- 2 bájtos egész X kamera pozíció
- 2 bájtos egész Y kamera pozíció
- 1 bájtos egész bal motor üzemmód (3 = hátra, 1 = előre, 2 = leállítás)
- 1 bájtos egész bal motor fordulatszám
- 1 bájtos egész motoros üzemmód (3 = hátra, 1 = előre, 2 = leállítás)
- 1 bájtos egész motor jobb fordulatszáma
az üzenet küldése a script.js fájlban történik a "sendNow ()" függvényben
a RasbperryPi webhelyen a python.py ezt az üzenetet kapja az "onUserMessage" függvényben
Megnézheti és játszhat egy kicsit, így tudja, mi történik.
osztály funkcióinak leírása itt
27. lépés: Táblagép, mobil kormányzás
Kiválóan adunk hozzá új weboldalt, mint korábban, de most a "car4wdMobile" sablont választjuk
Ezután mindent konfigurálunk a script.js fájlban, mint az asztali vezérlő weboldalon. Az üzenet formátuma pontosan ugyanaz, így nem kell módosítanunk a python.py parancsfájlt.
28. lépés: Nyissa meg az oldalt a mobiltelefonon
Ahelyett, hogy mobilról bejelentkezne a fiókjába, csak szkennelje be a QR -azonosító URL -jét.
a QR részletei itt
Ha a mobilvezérlés működik, amikor az RPi és a mobil ugyanazon a wifi -n van, de nem működik, ha mobilinternetet használ, akkor hozzá kell adnia a turn szervert, hogyan kell ezt megtenni
29. lépés: A Turn Server hozzáadása
Néha (amikor a NAT vagy néhány tűzfalbeállítás mögött van) Nem tudja csatlakoztatni robotját más hálózatról, akkor a robot csatlakoztatva van. Ez nem nagy probléma, és akkor hozzá kell adnia a turn szervert.
Kipróbáltam a XIRSYS cég szerverét (ingyenes fejlesztői használatra), és megmutatom, hogyan kell konfigurálni a turn szervert az XIRSYS rendszer használatával
Regisztráció:
global.xirsys.net/dashboard/signup
majd kattintson a "plusz" gombra az alkalmazás hozzáadásához
jobb oldalon a "statikus forduló hitelesítő adatok" alatt van minden szükséges adat. Másolja át a webrtc_streamer.conf fájlba, hogy megtehesse ezt:
kiterjesztés RaspberryPi deivces
kattintson a webrtc_streamer.conf fájlra
kattintson a megnyitásra
és adjunk hozzá információkat
turn_server = turn_username =
turn_credential =
a szerkesztés befejezése után Valami hasonlónak kell lennie a képernyőn.
majd kattintson a Mentés és indítsa újra a Rpi -t a RasbperryPi eszköz menüjére kattintva, és válassza az újraindítást
Az RPi program újraindítása után akkor is megtekintheti a videó előnézetét a mobiltelefonján, ha mobilinternetet használ.
30. lépés: Mobil kormányzás
az 1. körnél a bal hüvelykujjat, a 2 jobbra helyezzük - nem kell pontosan ezen a ponton lennie - a weboldal nulla pozíciót állít be közvetlenül az érintőképernyő megérintése után, és a hüvelykujja mozgatásával (bal vezetés, jobb kamera helyzet) az autód
31. lépés: Összefoglalás
Remélem tetszett ez az oktatóanyag, ahogy korábban írtam ezen az oktatóanyagon, részletesebben olvasható arról, hogyan működik a motorháztető alatt.
néhány link:
remoteme.org - a remoteme.org honlapja Dokumentációkat és oktatóanyagokat talál
FB rajongói oldal - Facebook rajongói oldal legújabb információi a remoteme.org -ról
Youtube - néhány videó a projektről, oktatóanyagok
Egészségére, Maciek
Ajánlott:
RC tartály mozgó FPV kamerával: 9 lépés (képekkel)
RC tartály mozgó FPV kamerával: Helló. Ebben az oktathatóban megmutatom, hogyan kell távirányító tartályt építeni FPV kamerával. Eleinte csak RC tartályt építek FPV kamera nélkül, de amikor a házban vezettem, nem láttam, hol van. Szóval kitaláltam, hogy kiegészítem
Első lépések az M5StickV AI + IOT kamerával: 6 lépés (képekkel)
Első lépések az M5StickV AI + IOT fényképezőgéppel: Rövid áttekintés tisztességes specifikációk. A fényképezőgépet hihetetlenül táplálja
ESP8266 RGB LED STRIP WIFI vezérlés - NODEMCU IR távirányítóként a Wifi -n keresztül vezérelt LED szalaghoz - RGB LED STRIP okostelefon -vezérlés: 4 lépés
ESP8266 RGB LED STRIP WIFI vezérlés | NODEMCU IR távirányítóként a Wifi -n keresztül vezérelt LED szalaghoz | RGB LED STRIP okostelefon -vezérlés: Sziasztok, ebben az oktatóanyagban megtanuljuk, hogyan kell használni a nodemcu -t vagy az esp8266 -ot infravörös távirányítóként az RGB LED -szalag vezérléséhez, és a Nodemcu -t okostelefonon keresztül wifi -n keresztül kell irányítani. Tehát alapvetően okostelefonjával vezérelheti az RGB LED STRIP -et
Fejkövetés Wii távoli kamerával (War Thunder): 6 lépés (képekkel)
Fejkövetés Wii távoli kamerával (War Thunder): Üdv mindenkinek! Szeretném megosztani veletek az első igazi befejezett Arduino projektemet. Próbáltam egyfajta házi kiterjesztett valóságot készíteni. Hadd magyarázzam el Önnek: Ez alapvetően egy rendszer, amely kamerát használ a fejmozgások nyomon követésére, hogy
Vizuális objektumfelismerés kamerával (TfCD): 15 lépés (képekkel)
Vizuális objektumfelismerés kamerával (TfCD): Az érzelmeket, emberek arcát vagy egyszerű tárgyakat felismerő kognitív szolgáltatások jelenleg még a fejlesztés korai szakaszában vannak, de a gépi tanulással ez a technológia egyre inkább fejlődik. Arra számíthatunk, hogy többet látunk ebből a varázslatból