Aktualizace (02 / 12 / 2024): Všech našich produktů máme dostatek skladem, najdete nás také v a    Zobrazit kolekci

Rozhraní SBC s knihovnou uROS

V tomto tutoriálu se naučíme, jak používat knihovnu uROS pro micropython: https://github.com/mgtm98/uRos

ROS je operační systém pro roboty, ve kterém různé „uzly“ komunikují s centrálním serverem prostřednictvím zpráv TCP ve formátu JSON.

Tato knihovna nám umožňuje implementovat uzel ROS v našem SBC. Připojí se k serveru a bude moci odesílat (publikovat) nebo přijímat (přihlašovat se k odběru) zpráv.

Kód pro odeslání zprávy je následující:

 1 2 3 4 5 6 7 8 9 10 11 12 13 14
import síť
od uros import *
od uros.std_msgs import std_Bool lan = síť.LAN() lan.aktivní(Pravdivý) lan.ifconfig(( "10.0.0.1", "255.255.255.0", "10.0.0.2", "8.8.8.8" ))
zatímco(lan.postavení() != 3 ):
    vytisknout( ".", konec="" ) čas.spát(1)
vytisknout( "Připojeno!" ) uRos = Ros( "10.0.0.2", 9090 )    #vytvoření nového objektu uRos
msg = std_Bool( data = Pravdivý )     #vytvoření objektu msg řetězce Ros
uRos.publikovat( "uRosTopic", zpráva )  #publikování objektu msg
vytisknout("Hotovo")

V tomto kódu se nejprve připojíme k síti LAN a poté k serveru ROS; definujeme formát naší zprávy a nakonec ji zveřejníme.

Na PC spustíme kód v pythonu, který funguje jako ROS server. Pro jednoduchost je tento kód pouze soketový server, který tiskne data do konzole.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
import zásuvka
import sys
def socket_server( hostitel, port ): s = zásuvka.zásuvka (zásuvka.AF_INET, zásuvka.SOCK_STREAM) s.bind((hostitel, port)) s.poslouchat(1)
    zatímco Pravdivý: spoj, adr = s.akceptovat()
        vytisknout('Připojeno', adresa)
        zatímco Pravdivý: údaje = spoj.recv(1024)
            if ne údaje:
                rozbít
            vytisknout(data) spoj.zavřít()
        vytisknout("spojení uzavřeno") s.zavřít()
    vytisknout("je zavřeno") socket_server( "10.0.0.2", 9090 )
vytisknout("Hotovo")

V důsledku toho se zobrazí data přijatá na serveru:

Pokud prozkoumáme data, uvidíme dvě části:

1. Definice našeho sdělení uRosTopic. Toto je odesláno pouze jednou pro každý nový typ zprávy.

2. A zveřejněná data. Odesílá se pokaždé, když zveřejníme novou hodnotu.

 

Nyní jste připraveni připojit svůj SBC k jakémukoli zařízení ROS přes ethernet, definovat vlastní zprávu a odeslat ji pouze s několika řádky kódu python.

Pokud se vám tento obsah líbil, můžete nás sledovat X, Youtube, facebook or LinkedIn abyste byli informováni o obsahu, jako je tento.

Máte nějaké dotazy nebo požadavky?
Kontaktujte nás! Odpovíme <24 hodin!

Ikona
Kontakt ArduSimple
zavřít

Chcete se dozvědět více o GPS/RTK?

1. Náš technický tým vás bude kontaktovat, aby vyřešil jakékoli dotazy
2. Budeme vás informovat o akcích a nových produktech
3. Uslyšíte od nás pouze, když budeme mít důležité zprávy, nebudeme váš e-mail spamovat