Obsah:
- Krok 1: Několik informací o App.remoteme.org
- Krok 2: Co je potřeba:
- Krok 3: Připojení
- Krok 4: PCB
- Krok 5: Výstupy DPS
- Krok 6: Jak to funguje?
- Krok 7: Sestavení auta - kola
- Krok 8: Napájení (dobíjecí baterie AA) Možnost 1/2
- Krok 9: Napájení (baterie Li-Po 7,2 V) Možnost 2/2
- Krok 10: Pájení
- Krok 11: Fotoaparát
- Krok 12: Sestavení dílů automobilu dohromady
- Krok 13: Konfigurace App.remoteme.org
- Krok 14: Konfigurace RasbperryPi
- Krok 15: Kontrola připojení
- Krok 16: Přidání skriptu Python
- Krok 17: Kontrola, zda byl skript Pythonu úspěšně přidán
- Krok 18: Přidání webové stránky do Control Car
- Krok 19: Konfigurace zařízení WebPage pro ovládání auta 1/2
- Krok 20: Konfigurace zařízení WebPage k ovládání vozu 2/2
- Krok 21: Otevřete Car Control Center
- Krok 22: Konfigurace kamery 1/2
- Krok 23: Konfigurace kamery 2/2
- Krok 24: Řízení 1/2
- Krok 25: Řízení 2/2
- Krok 26: Jak to funguje
- Krok 27: Tablet, mobilní řízení
- Krok 28: Otevřete stránku na mobilním telefonu
- Krok 29: Přidání serveru Turn
- Krok 30: Mobilní řízení
- Krok 31: Shrnutí
Video: Automobil RasbperryPi s kamerou FPV. Ovládání pomocí webového prohlížeče: 31 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Postavíme 4wd auto - řízení bude podobné jako v tanku - k otočení jedné strany se kola budou otáčet jinou rychlostí než ostatní. U auta bude umístěna kamera na speciální držák, kde můžeme měnit polohu kamery. Robot bude řízen webovým prohlížečem (chrom nebo firefox na stolním počítači nebo Firefox na mobilním telefonu), v prohlížeči získáme video z kamery (pouze s latencí 200 ms) a z prohlížeče můžeme ovládat pohyby auta a pozice kamery. Aby byla komunikace snazší, používal jsem systém app.remoteme.org, funguje také ovládání tohoto typu auta, takže nemusíte psát svůj vlastní kód, ale samozřejmě můžete upravit skripty nové možnosti atd.
Před připojením napájení k desce plošných spojů zkontrolujte všechna připojení
Krok 1: Několik informací o App.remoteme.org
Systém má tři části
- webová aplikace - když hostujete své kontrolní webové stránky a propojuje veškerou komunikaci
- program rasbperryPi - program, který odesílá video, spravuje vaše skripty pythonu
- knihovny, kde najdete definice tříd, funkcí
Remoteme.org je rychlý systém Propojíte všechna svá zařízení dohromady, můžete tam hostovat své webové stránky, vidět svá připojená zařízení. Systém Remoteme.org byl vytvořen, aby vám pomohl začít s realizací vašich projektů, bez starostí s komunikací protokolů. Hlavní myšlenkou je odesílání binárních zpráv mezi různými zařízeními, jako jsou webové stránky, RasbeprryPI, arduino a skripty.
Na druhou stranu vám Remoteme.org poskytuje plnou kontrolu nad vašimi soubory, můžete jej snadno upravit tak, že napíšete vlastní funkce
V tomto tutoriálu vám ukážu, jak vytvořit úžasný projekt, aniž byste museli psát jakýkoli kód.
Na konci tohoto tutoriálu jsem vložil užitečné odkazy, které vám pomohou porozumět systému remoteme.org.
Krok 2: Co je potřeba:
- Raspberry PI Zero W
- Vyhrazená kamera
- Adafruit 16kanálový 12bitový ovladač PWM/servo - rozhraní I2C - PCA9685 nebo jeho klon
- Dva servomechanismy kompatibilní s držákem kamery
- Držák kamery
- Baterie - V tutoriálu dvě možnosti připojení
- H můstek TB6612FNG, pro ovládání speer kola
- Soubory orla PCB Je snadné to udělat metodou tepelného přenosu DC-DC
- Step Down Converter Module DC
- Pouzdro na robot
Krok 3: Připojení
Servopohon Raspberry pi ovládá modul PWM a rychlost motoru můstkem H, který je připojen k pinům RasbperryPi, vstup PWM do můstku H je generován stejným modulem, jaký jsem použil pro serva (které části zmiňuji výše, nejsou potřeba žádné logické převodníky)
Krok 4: PCB
Zde si můžete stáhnout soubory orla PCB Cesty jsou tlusté, takže je snadné je vyrobit metodou tepelného přenosu
Krok 5: Výstupy DPS
- Vstup PWM pro hnací motory by měl být připojen k modulu PWM 15´ a 16pin (zaškrtněte zelený obdélník na obrázku modulu PWM)
- Příkon pro hnací motory (zkontrolujte, s jakým maximálním napětím mohou vaše motory pracovat)
- Výkon pro modul RasbperryPi a PWM - musí být přesně
- Výstupy hnacího motoru (existují dva výstupy, protože spárujeme hnací motory)
- Výkon servomechanismu - také Musíte zkontrolovat, jaké napětí je pro ně dobré
- Propojením současného výkonu z 5. vstupu budete napájet také motory, takže ke vstupu 2 není třeba nic připojovat
- Propojka, pokud je k dispozici RasbperryPi bude napájen z 3. vstupu - před vložením propojky sem zkontrolujte, zda jsou připojení v pořádku - Nechcete vypálit RPi
- Pojďme zde pájet kabely, protože nepotřebujeme logické převaděče
Krok 6: Jak to funguje?
Na RasbperryPi existuje skript pythonu, který používá dvě knihovny
- import RPi. GPIO jako GPIO-pro piny 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (označení BCM), které jsou připojeny k H můstku
- import Adafruit_PCA9685 pro modul PWM
Piny Rpi jsou připojeny následovně 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM) a režim ovládání H můstku (dopředu, dozadu, zastavení, krátká přestávka). Most H také potřebuje dva signály PWM, abychom mohli ovládat rychlost nebo otáčení motoru. Protože v projektu již máme PWM řadič (používaný pro servo), použijeme jej také ke generování PWM pro H můstek.
Modul PWM používá komunikační protokol I2C. Použil jsem práci po vybalení z krabice Adafruit_PCA9685. knihovna
Krok 7: Sestavení auta - kola
Začneme od připojení hnacích motorů ke skříni auta. Motory na levé/boční straně se spojují dohromady a oba se spárují připojením k nějakému napájecímu kabelu, který bude později připojen k desce plošných spojů. Důležitá poznámka při připojování motorových kol na každé straně se musí otáčet ve stejném směru.
Krok 8: Napájení (dobíjecí baterie AA) Možnost 1/2
Napíšu dvě možnosti napájení První auto je z dobíjecích baterií 10xAA Na posledním obrázku jsem nakreslil propojky červené barvy, které je třeba umístit.
Krok 9: Napájení (baterie Li-Po 7,2 V) Možnost 2/2
A druhou možností je 7,2 LI-PO baterie. V tomto případě jsme dostali 3 napětí - 5 V pro Rpi a modul, 6 V pro serva a přímo z baterií 7,2 V pro hnací motory. Musel jsem použít dva sestupné moduly
Možnost 2 s LI-PO je lepší:
- Baterie mají větší kapacitu - auto bude jezdit déle
- Větší napětí u hnacích motorů - auto pojede rychleji
- Menší pravděpodobnost, že poté, co se začnou lokalizovat hnací motory, bychom mohli mít obrovský pokles napětí a restartovat RPI.
Krok 10: Pájení
Na desku plošných spojů jsem vložil nějaké rozpěrky pro modul PWM. Není co psát, stačí se podívat na obrázky, jak vše pájet dohromady
Krok 11: Fotoaparát
připojujeme kameru, zde je napsáno, jak vycentrovat servomechanismy před montáží do držáku kamery, ale nejkratší cestou je jemně ručně zkontrolovat maximální polohu otáčení a nastavit serva na středovou polohu. Toto vycentrované servomechanismy jsme vložili do držáku kamery ve střední poloze (kamera míří rovně dopředu jako na fotografii)
Krok 12: Sestavení dílů automobilu dohromady
Pro PCB jsem vytvořil malý plexisklový stůl
Krok 13: Konfigurace App.remoteme.org
Použil jsem bezplatný systém app.remoteme.org, který vám pomůže navázat spojení, a již obsahuje skripty, které potřebujeme
Na tomto pokynu ukážu krok za krokem, co je třeba udělat pro řízení auta (zde najdete další podrobnosti)
- Po registraci zazpívejte na https://app.remoteme.org Budete automaticky přihlášeni
- vlevo otevřete kartu Token, poté klikněte na „nový token“, zadejte nějaké jméno a klikněte na OK, právě jsme vytvořili nový token (obrázek na obrazovce)
- v tomto případě je hodnota tokenu: ~ 1_ & p@+BNnZ@A+x8 (vaše bude jiná;))
Krok 14: Konfigurace RasbperryPi
na konzole tmelu (zde jak nastavit náš RPi zapnout komunikaci kamery I2c)
git clone git: //github.com/remoteme/remoteme.git
cd dálkový ovladač
python3.5 install.py
- Instalator nám položí několik otázek pro všechny odpovědi [Y] es a potvrdíme [enter]
- když instalace požádá o token, vložíme (posuneme+vložíme) token zkopírovaný z aplikace a Enter
- název například Rpi
- ID zařízení 1 Zadejte
- po instalaci - spusťte program
./runme.sh
Krok 15: Kontrola připojení
Vraťme se na
Na kartě zařízení uvidíme naše připojené RPi (ikona zeleného odkazu znamená, že RPi je připojeno právě teď)
Krok 16: Přidání skriptu Python
Nyní přidáme skript pythonu, který je již v šablonách, takže nemusíme nic programovat.
Na kartě zařízení otevřete nabídku RasbperryPi a zvolte „Přidat externí skript“.
Když se objeví nové okno, zadejte informace jako na obrázku výše
Nezapomeňte vybrat šablonu „car4wd“. Po těchto krocích remoteme.org přidá skript pythonu do našeho RasbperryPi a restartuje ho
Krok 17: Kontrola, zda byl skript Pythonu úspěšně přidán
Na kartě zařízení by mělo být přidáno nové skriptovací zařízení pythonu a jeho ID zařízení je 2. Do tohoto ID zařízení bude webová stránka odesílat zprávy k ovládání auta
Krok 18: Přidání webové stránky do Control Car
na kartě zařízení klikněte na „Nový“a poté na „Webová stránka“. Prostě přidáme další zařízení - webovou stránku, pomocí které budeme ovládat naše auto. A protože jsme na webové stránce použili šablonu „car4wdDesktop“, jsou soubory již téměř připraveny k použití
Krok 19: Konfigurace zařízení WebPage pro ovládání auta 1/2
Rozbalte Webovou stránku na kartě zařízení, klikněte na index.html a poté na Otevřít
Krok 20: Konfigurace zařízení WebPage k ovládání vozu 2/2
Zobrazí se okno, pak musíme poskytnout deviceId našeho python skriptu v našem případě deviceId je 2. Pojďme změnit místo zobrazené na obrázku
Krok 21: Otevřete Car Control Center
Nyní je čas otevřít naši stránku a zjistit, jak funguje. Na kartě zařízení klikněte na index.html a poté na „Otevřít na nové kartě“Chcete -li získat náhled videa, musíte použít prohlížeč Chrome nebo Firefox, jiný prohlížeč webRTC plně nepodporuje
Krok 22: Konfigurace kamery 1/2
Když přesuneme myš na oblast videa, kamera by měla změnit polohu a měla by fungovat přesně jako ve hrách FPS. Pravděpodobně se nebude pohybovat správně
Krok 23: Konfigurace kamery 2/2
Otevřete script.js (karta zařízení rozbalte webovou stránku, poté klikněte na script.js a poté otevřete) a najděte místo, které jsem ukázal na obrazovce
v mém případě je středová poloha 560 a 430 a rozsah pohybů je pro obě osy 200
S těmito čísly musíte experimentovat, abyste získali střed polohy kamery a plynulé pohyby. Pokud jste použili tento tutoriál, zkopírujte vložené hodnoty
Krok 24: Řízení 1/2
Pokud stisknete šipku nahoru na klávesnici, měřidla by měla změnit polohu a auto by mělo řídit. Pokud stisknete šipku „nahoru“a auto se otáčí, musíte na místech na obrazovce přidat/odebrat mínus.
Po této operaci po zásahu šipky „nahoru“by auto mělo jet vpřed a auto se šipkou dolů by mělo jet dozadu.
Krok 25: Řízení 2/2
Nyní se otáčí - pokud auto odbočuje doprava, stiskněte šipku doleva Musíte překlopit kabely (podívejte se na obrázek výše)
Pokud pájíte tyto kabely, můžete je změnit ve skriptu.js stačí změnit pořadí odesílacích motorů, před:
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));
po:
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));
a teď musíte hrát s mínusy jako jeden krok předtím, aby to fungovalo správně;). Jak jste si pravděpodobně všimli, po zásahu nahoru auto šípu nejede plnou rychlostí, aby se auto pohybovalo rychleji, stačí rychle uvolnit šipku nahoru, když je v maximální poloze a znovu jej stiskněte a podržte
Krok 26: Jak to funguje
Webová stránka odesílá zprávy 9. bajtu do skriptu pythonu ve formátu:
- 1 byte jeden bajt celočíselná hodnota 1
- 2 bajty celočíselná poloha kamery X
- 2 bajty celočíselná poloha Y kamery
- 1bytový celočíselný levý motorový režim (3 = zpět, 1 = vpřed, 2 = zastavení)
- 1 bajt celé číslo levé rychlosti motoru
- 1 bajtový celočíselný pravý motorový režim (3 = zpět, 1 = dopředu, 2 = zastavení)
- 1 bajt celé číslo pravé rychlosti motoru
odesílání zpráv se provádí v souboru script.js ve funkci "sendNow ()"
na RasbperryPi python.py dostává tuto zprávu ve funkci "onUserMessage"
Můžete si to prohlédnout a trochu si zahrát, abyste věděli, co se děje.
popis funkcí třídy zde
Krok 27: Tablet, mobilní řízení
Přidáváme novou webovou stránku přesně jako dříve, ale nyní jsme vybrali šablonu „car4wdMobile“
Dále vše nakonfigurujeme v souboru script.js, jako jsme to udělali pro webovou stránku pro ovládání počítače. Formát zprávy je úplně stejný, takže nemusíme měnit skript python.py.
Krok 28: Otevřete stránku na mobilním telefonu
Namísto přihlášení ke svému účtu z mobilu jednoduše naskenujte libovolnou URL adresy QR.
podrobnosti o QR zde
Pokud vaše mobilní ovládání funguje, když jsou RPi a mobilní zařízení na stejné síti Wi -Fi, ale pokud používáte mobilní internet, pak musíte přidat turn server, jak to udělat, napsal jsem zde
Krok 29: Přidání serveru Turn
Někdy (když jste za NAT nebo některými nastaveními brány firewall) Nemůžete svého robota připojit z jiné sítě, než je připojen váš robot. Není to velký problém a pak musíte přidat turn server.
Testoval jsem server od společnosti XIRSYS (je zdarma pro vývojáře) a ukážu, jak konfigurovat turn server pomocí systému XIRSYS
Registrovat:
global.xirsys.net/dashboard/signup
potom kliknutím na „plus“přidejte aplikaci
vpravo pod „přihlašovací údaje ke statickému otočení“Máte všechna potřebná data. Zkopírujte jej do souboru webrtc_streamer.conf a přejděte na
rozbalte RaspberryPi deivces
klikněte na soubor webrtc_streamer.conf
klikněte otevřít
a přidejte informace
turn_server = turn_username =
turn_credential =
po ukončení úprav Měli byste mít něco jako obrazovku.
poté klikněte na Uložit a restartovat You Rpi, kliknutím na nabídku na zařízení RasbperryPi a zvolte restart
Po restartování programu RPi Na mobilním telefonu můžete vidět náhled videa, i když používáte mobilní internet.
Krok 30: Mobilní řízení
v kruhu 1 umístíme levý palec, 2 vpravo - nemusí být přesně v těchto bodech - webová stránka nastaví nulovou pozici hned po dotyku obrazovky a pohybem palců (levé řízení, poloha pravé kamery) můžete ovládat tvé auto
Krok 31: Shrnutí
Doufám, že se vám tento návod líbil, jak jsem psal dříve v tomto tutoriálu jsou další podrobnosti o tom, jak funguje pod pokličkou.
nějaké odkazy:
remoteme.org - domovská stránka remoteme.org tam najdete dokumentaci a návody
FB fanpage - Facebook fanpage nejnovější informace o remoteme.org
Youtube - nějaká videa z projektu, návody
Na zdraví, Maciek
Doporučuje:
Odesílání dat na platformu AskSensors IoT z webového prohlížeče: 6 kroků
Odesílání dat na platformu AskSensors IoT z webového prohlížeče: Nedávno jsem zveřejnil instruktáž, která ukazuje krok za krokem průvodce pro připojení MCU uzlu ESP8266 k platformě AskSensors IoT. Získal jsem zpětnou vazbu od lidí, kteří se více zajímají o platformu AskSensors, ale nemají v ruce uzel MCU. Tento já
Ovládání 7segmentového LED displeje pomocí webového serveru ESP8266: 8 kroků (s obrázky)
Ovládání 7segmentového LED displeje pomocí webového serveru ESP8266: Můj projekt má Nodemcu ESP8266, který ovládá 7segmentový displej prostřednictvím http serveru pomocí html formuláře
Ovládání zařízení pomocí hlasového ovládání pomocí NodeMCU: 7 kroků (s obrázky)
Ovládání zařízení pomocí hlasového ovládání pomocí NodeMCU: Chci jen pozdravit všechny, toto je poprvé, co píšu instruktážní projekt. Angličtina není můj rodný jazyk, takže se pokusím udělat co nejkratší a nejsrozumitelnější. Ovládání zařízení hlasovým příkazem není nic zvláštního
Jak zveřejňovat obrázky na Instagramu z počítače pomocí prohlížeče Google Chrome: 9 kroků
Jak zveřejňovat obrázky na Instagramu z počítače pomocí prohlížeče Google Chrome: Instagram je v současné době jednou z předních platforem sociálních médií. Lidé využívající tuto platformu mohou sdílet fotografie a krátká videa, která lze nahrát pomocí mobilní aplikace Instagram. Jednou z hlavních výzev, se kterými se uživatelé Instagramu potýkají, je
Pořizujte úžasné makrosnímky s libovolnou kamerou, kamerou a telefonem Zvláště s iPhonem: 6 kroků
Pořizujte úžasné makrofotografie s libovolnou kamerou s telefonem s fotoaparátem … Zvláště s iPhonem: Chtěli jste někdy získat jednu z těch úžasných detailních fotografií … tu, která říká … WOW!? … s kamerou s telefonem fotoaparátu ne méně !? V zásadě se jedná o doplněk pro jakýkoli fotoaparát fotoaparátu s fotoaparátem, který zvětší váš stávající objektiv fotoaparátu a zabere