• VEXcode Robotics Logo VEX Robotics Logo
  • VEX API Home Button VEX API Home Button
  • VEX 123 logo in purple VEX 123 logo in white
  • VEX GO logo in lime green VEX GO logo in white
  • VEXcode AIM logo in blue VEXcode AIM logo in white
  • VEX IQ logo in blue VEX IQ logo in white
  • VEX EXP logo in red VEX EXP logo in white
  • VEX V5 logo in red VEX V5 logo in white
  • VEX CTE logo in green VEX CTE logo in white
  • VEX AIR logo in orange VEX AIR logo in white
  • VEXcode VR logo in gold VEXcode VR logo in white
Léim go dtí an príomhábhar
Ctrl+K

< Back to Platform Select

  • VEX V5
  • Tagairt API VEX V5
  • VEXlink
  • Nasc Teachtaireachta
Gaeilge
  • English
  • العربية
  • বাংলা
  • Česky
  • Deutsch
  • Ελληνικά
  • Español
  • Español Latinoamericano
  • Suomi
  • Français
  • हिंदी
  • Magyar
  • Bahasa Indonesia
  • 日本語
  • 한국어
  • Lietuvių
  • Latviešu
  • മലയാളം
  • Nederlands
  • Polski
  • Português
  • Русский
  • Svenska
  • ไทย
  • Türkçe
  • Українська
  • Tiếng Việt
  • 简体中文
  • 繁體中文
  • VEXcode Robotics Logo

Nascleanúint na Rannóige

  • Bloic
  • Python
    • Tiomáint
    • Gluaiseacht
    • Fís
    • Scáileán
    • Rialaitheoir
    • Braiteadh
    • Támhúlacht
    • Gléasanna 3-Sreang
    • Neomataic
    • Inchinn
    • Fuaim
    • Cárta SD
    • VEXlink
      • Nasc Teachtaireachta
      • Nasc Sraitheach
    • Consól
    • Lóighic
    • Lámh 6-Ais
    • Maighnéad
    • Comórtas
    • Leabharlanna MicroPython
  • C++
  • Ranganna Teagaisc VEXcode

Nascleanúint Ardáin

  • VEX 123 logo in purple VEX 123 logo in white
  • VEX GO logo in lime green VEX GO logo in white
  • VEXcode AIM logo in blue VEXcode AIM logo in white
  • VEX IQ logo in blue VEX IQ logo in white
  • VEX EXP logo in red VEX EXP logo in white
  • VEX V5 logo in red VEX V5 logo in white
  • VEX CTE logo in green VEX CTE logo in white
  • VEX AIR logo in orange VEX AIR logo in white
  • VEXcode VR logo in gold VEXcode VR logo in white

Nasc Teachtaireachta#

  • Réamhrá

  • Cruthaigh Nasc

  • Modhanna atá ar Fáil

    • is_nasctha

    • seol

    • faigh

    • faighte

Réamhrá#

Ligeann MessageLink do dhá V5 Brain cumarsáid a dhéanamh trí theachtaireachtaí gearra teaghrán a sheoladh le sonraí beaga roghnacha. Tá sé deartha le haghaidh comhordú róbat go róbat — amhail gnáthaimh a thosú, torthaí braiteoirí a roinnt, nó iompraíochtaí a spreagadh ar róbat eile.

Cuireann gach úsáid a bhaintear as send teachtaireacht le scuaine an V5 Brain nasctha, agus léitear an scuaine isteach ar dtús, amach ar dtús (FIFO). Má sheoltar il-theachtaireachtaí sula n-úsáideann an V5 Brain eile receive, stórálfar agus cuirfear ar ais iad ceann ar cheann san ord inar seoladh iad. Ós rud é gur féidir le teachtaireachtaí scuaine a dhéanamh, d’fhéadfadh sé go gcruthófaí riaráiste má sheoltar an stádas céanna arís agus arís eile i ngach lúb; i gcás loighic ríthábhachtach ó thaobh ama de, seoltar ach amháin nuair a athraíonn luachanna.

Tábhachtach: Caithfidh an dá róbat tionscadail a úsáideann MessageLink a bheith ag rith ag an am céanna, nó ní sheolfar/ní gheofar aon teachtaireachtaí.

Úsáideann an leathanach seo link mar shamplaainm MessageLink Cuir d’ainm cumraithe féin ina áit de réir mar is gá.

Seo thíos liosta de na modhanna atá ar fáil:

  • is_linked – Tugann sé seo ar ais an bhfuil an Inchinn seo ceangailte go gníomhach lena Inchinn phéireáilte.

  • send – Seolann sé teachtaireacht chuig an Inchinn phéireáilte.

  • receive – Fanann sé leis an gcéad teachtaireacht isteach eile agus seolann sé ar ais í.

  • received – Cláraíonn sé feidhm le glaoch uirthi aon uair a fhaightear teachtaireacht nua.

Cruthaigh Nasc#

Cruthaigh MessageLink ar an dá V5 Brains chun cainéal cumarsáide a bhunú eatarthu—gan sreang le Raidióin Róbat V5 nó trí Chábla Cliste sreangaithe—ionas gur féidir leis na róbónna teachtaireachtaí a sheoladh chuig a chéile.

MessageLink(smartport, name, linktype, wired)

Paraiméadar

Cur síos

smartport

An Port Cliste a úsáidtear don nasc seo—an port a bhfuil an Raidió Róbat V5 ceangailte leis (gan sreang) nó a bhfuil an Cábla Cliste breiseánaithe isteach ann (sreangaithe). Scríofa mar Ports.PORTx áit a seasann x don uimhir phoirt.

name

An t-ainm uathúil le tabhairt don nasc seo mar shreang.
Nóta: Ba chóir go mbeadh an t-ainm seo fada go leor chun aitheantóir uathúil a chruthú ionas nach mbeidh sé ag teacht le nasc foirne eile de thaisme.

linktype

An ról a úsáidfidh an Inchinn seo don phéire nasc seo. Ní mór Bainisteoir amháin agus Oibrí amháin a bheith i ngach péire:

  • VexlinkType.MANAGER – Úsáid don róbat a sheolfaidh níos mó teachtaireachtaí nó teachtaireachtaí níos mó. Tá bandaleithead amach níos airde ag bainisteoirí (~1040 beart/soic).
  • VexlinkType.WORKER – Úsáid don róbat a sheolfaidh níos lú teachtaireachtaí nó teachtaireachtaí níos lú. Tá bandaleithead amach níos ísle ag oibrithe (~520 beart/soic).

wired

Roghnach. Cibé acu an bhfuil an nasc seo sreangaithe nó gan sreang:

  • True – Tá na V5 Brains ceangailte trí Chábla Cliste.
  • False (réamhshocraithe) – Ceanglaíonn na V5 Brains gan sreang ag baint úsáide as Raidióin Róbat V5.

Cód do Róbat 1

"""
Create a wireless link in Port 1
name: VEXRoboticsLink123456789
linktype: Manager
"""
link = MessageLink(Ports.PORT1, "VEXRoboticsLink123456789", VexlinkType.MANAGER)

Cód do Róbat 2

"""
Create a wireless link in Port 1
name: VEXRoboticsLink123456789
linktype: Worker
"""
link = MessageLink(Ports.PORT1, "VEXRoboticsLink123456789", VexlinkType.WORKER)

Modhanna atá ar Fáil#

Nuair a bheidh do MessageLink socraithe agus na Brains nasctha, is féidir leat na modhanna thíos a úsáid chun teachtaireachtaí a sheoladh, a fháil agus a fhreagairt.

is_linked#

Tugann an modh is_linked ar ais cibé an bhfuil na V5 Brains ar MessageLink péireáilte le chéile.

  • True – Tá an dá inchinn V5 péireáilte agus ag cumarsáid ar an nasc seo.

  • False – Níl an dá Inchinn V5 péireáilte ar an nasc seo.

Nóta: Is dea-chleachtas é a chinntiú i gcónaí go bhfuil na V5 Brains nasctha ag tús tionscadail sula ritheann tú aon chód eile.

Usage:
link.is_linked()

Paraiméadair

Cur síos

Níl aon pharaiméadair ag an modh seo.

Cód do Róbat 1

# Tell the other robot when the screen is being pressed

# Create the link
link = MessageLink(Ports.PORT1, "VEXRoboticsLink123456789", VexlinkType.MANAGER)

# Do not run code UNTIL the Brains are linked
while not link.is_linked():
    wait(0.1, SECONDS)

brain.screen.print("Robot 1 - Manager")

# Continuously send if the screen is being pressed
while True:
    if brain.screen.pressing():
        link.send("pressed")
    else:
        link.send("released")

    wait(50, MSEC)

Cód do Róbat 2

# Display if the other robot's screen is being pressed

# Create the link
link = MessageLink(Ports.PORT1, "VEXRoboticsLink123456789", VexlinkType.WORKER)

# Do not run code UNTIL the Brains are linked
while not link.is_linked():
    wait(0.1, SECONDS)

# Continuously check if Robot 1 has sent "pressed"
while True:
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("Robot 2 - Worker")
    brain.screen.next_row()

    if link.receive() == "pressed":
        brain.screen.new_line()
        brain.screen.print("Manager is being pressed!")

    wait(50, MSEC)

send#

send seolann teaghrán agus/nó slánuimhir agus/nó snámhphointe chuig an V5 Brain nasctha eile.

Usage:
send(string, integer, float)

Paraiméadair

Cur síos

string

An teaghrán le seoladh chuig an V5 Brain nasctha eile.

integer

Roghnach. Slánuimhir le seoladh chuig an V5 Brain nasctha eile.

float

Roghnach. Snámhphointe le seoladh chuig an V5 Brain nasctha eile. Déantar snámhphointí a fhormáidiú go 4 dheachúlacha; má sholáthraítear níos lú deachúlacha, cuirtear nialais ina dhiaidh sin leis go dtí go dtaispeántar 4.

Mura seoltar ach string , faigheann an V5 Brain nasctha eile an teaghrán cruinn sin.

Má chuirtear integer agus/nó float san áireamh, faigheann an Brain glactha teaghrán ionchódaithe aonair a chomhcheanglaíonn na réimsí go léir san ord seo: .string_integer_float

Sampla: Ag baint úsáide as link.send(“string”, 1, 2.55) mar .string_1_2.5500.

Cód do Róbat 1

# Tell the other robot when the screen is being pressed

# Create the link
link = MessageLink(Ports.PORT1, "VEXRoboticsLink123456789", VexlinkType.MANAGER)

# Do not run code UNTIL the Brains are linked
while not link.is_linked():
    wait(0.1, SECONDS)

brain.screen.print("Robot 1 - Manager")

# Continuously send if the screen is being pressed
while True:
    if brain.screen.pressing():
        link.send("pressed")
    else:
        link.send("released")

    wait(50, MSEC)

Cód do Róbat 2

# Display if the other robot's screen is being pressed

# Create the link
link = MessageLink(Ports.PORT1, "VEXRoboticsLink123456789", VexlinkType.WORKER)

# Do not run code UNTIL the Brains are linked
while not link.is_linked():
    wait(0.1, SECONDS)

# Continuously check if Robot 1 has sent "pressed"
while True:
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("Robot 2 - Worker")
    brain.screen.next_row()

    if link.receive() == "pressed":
        brain.screen.new_line()
        brain.screen.print("Manager is being pressed!")

    wait(50, MSEC)

Cód do Róbat 1

# Tell the other robot where the screen was pressed

# Create the link
link = MessageLink(Ports.PORT1, "VEXRoboticsLink123456789", VexlinkType.MANAGER)

# Do not run code UNTIL the Brains are linked
while not link.is_linked():
    wait(0.1, SECONDS)

brain.screen.print("Robot 1 - Manager")
brain.screen.next_row()
brain.screen.print("Tap to send circles")

# Send the coordinates whenever the screen is pressed
while True:
    if brain.screen.pressing():
        x = brain.screen.x_position()
        y = brain.screen.y_position()

        link.send("touch", x, y)

    wait(10, MSEC)

Cód do Róbat 2

# Draw a circle where Robot 1's screen was pressed

# Create the link
link = MessageLink(Ports.PORT1, "VEXRoboticsLink123456789", VexlinkType.WORKER)

# Do not run code UNTIL the Brains are linked
while not link.is_linked():
    wait(0.1, SECONDS)

brain.screen.print("Robot 2 - Worker")

while True:
    # Get the full encoded string
    circle_coordinates = link.receive(200)

    if circle_coordinates:

        # Split the encoded string by _
        parts = circle_coordinates.split("_")

        if len(parts) == 3:
            # Convert the coordinates back into numbers
            x = float(parts[1])
            y = float(parts[2])

            brain.screen.set_fill_color(Color.WHITE)
            brain.screen.draw_circle(x, y, 20)

    wait(10, MSEC)

receive#

Seolann receive an chéad teachtaireacht eile sa scuaine ón V5 Brain nasctha eile. Léitear teachtaireachtaí in ord FIFO (an ceann is sine gan léamh ar dtús). Má tá an scuaine folamh nuair a ghlaotar receive , fanann sé go dtí an t-am críochnaithe receive le haghaidh teachtaireacht nua. Mura dtagann aon teachtaireacht isteach sa fhuinneog sin, seolann receive timeoutar ais, agus fanann aon teachtaireacht a sheoltar ina dhiaidh sin sa scuaine le léamh an chéad uair eile a úsáidtear None.

Más rud é nár sheol an V5 Brain nasctha eile ach teaghrán string, receive seolann sé an teaghrán beacht sin ar ais.

Má sheol an V5 Brain nasctha eile slánuimhir agus/nó snámhphointe, tugann receive teaghrán ionchódaithe aonair ar ais a chomhcheanglaíonn na réimsí go léir san ord seo: .string_integer_float

Mar shampla, má úsáideann an V5 Brain nasctha eile link.send(“string”, 1, 2.55), ansin má úsáideann tú link.receive() , cuirtear teaghrán ionchódaithe ar ais amhail .string_1_2.5500. Is féidir leat an teaghrán ionchódaithe seo a roinnt (féach na samplaí thíos) chun ainm an teachtaireachta, an tslánuimhir, agus na luachanna snámhphointe a bhaint amach.

Más fearr leat scoilt/parsáil láimhe a sheachaint, bain úsáid as received chun láimhseálaí a chlárú le haghaidh ainm teachtaireachta ar leith; faigheann an láimhseálaí na luachanna seolta mar argóintí.

Usage:
receive(timeout)

Paraiméadair

Cur síos

timeout

Roghnach. Cé chomh fada i milleasoicindí a fhanfaidh receive le haghaidh teachtaireacht nua ach amháin má tá an scuaine folamh. Is é 300,000 (300 soicind) an réamhshocrú.

Cód do Róbat 1

# Tell the other robot when the screen is being pressed

# Create the link
link = MessageLink(Ports.PORT1, "VEXRoboticsLink123456789", VexlinkType.MANAGER)

# Do not run code UNTIL the Brains are linked
while not link.is_linked():
    wait(0.1, SECONDS)

brain.screen.print("Robot 1 - Manager")

# Continuously send if the screen is being pressed
while True:
    if brain.screen.pressing():
        link.send("pressed")
    else:
        link.send("released")

    wait(50, MSEC)

Cód do Róbat 2

# Display if the other robot's screen is being pressed

# Create the link
link = MessageLink(Ports.PORT1, "VEXRoboticsLink123456789", VexlinkType.WORKER)

# Do not run code UNTIL the Brains are linked
while not link.is_linked():
    wait(0.1, SECONDS)

# Continuously check if Robot 1 has sent "pressed"
while True:
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("Robot 2 - Worker")
    brain.screen.next_row()

    if link.receive() == "pressed":
        brain.screen.new_line()
        brain.screen.print("Manager is being pressed!")

    wait(50, MSEC)

Cód do Róbat 1

# Send a math problem for the other Brain to solve

# Create the link
link = MessageLink(Ports.PORT1, "VEXRoboticsLink123456789", VexlinkType.MANAGER)

# Do not run code UNTIL the Brains are linked
while not link.is_linked():
    wait(0.1, SECONDS)

brain.screen.print("Robot 1 - Manager")

"""
Change whether to "add" or "subtract",
then what numbers to use in the operation.
"""
link.send("add", 7, 2.5)

Cód do Róbat 2

# Solve the math problem that the other Brain sends

# Create the link
link = MessageLink(Ports.PORT1, "VEXRoboticsLink123456789", VexlinkType.WORKER)

# Do not run code UNTIL the Brains are linked
while not link.is_linked():
    wait(0.1, SECONDS)

brain.screen.print("Robot 2 - Worker")
brain.screen.next_row()

math_problem = link.receive()

if math_problem:

    # Split the encoded string by _
    parts = math_problem.split("_")

    if len(parts) == 3:
        # Remove the . from the beginning of the string
        operator = "".join([c for c in parts[0] if c.isalpha()])

        # Separate out the numbers for the operation
        a = int(parts[1])
        b = float(parts[2])

        # Use what operator was sent
        if operator == "add":
            result = a + b
        elif operator == "subtract":
            result = a - b
        # If neither add or subtract is sent, do nothing
        else:
            pass

brain.screen.print("Result = ", result)

received#

received cláraíonn feidhm le glaoch uirthi aon uair a fhaigheann an V5 Brain teachtaireacht sheolta.

Usage:
link.received(message, arg)

Paraiméadair

Cur síos

message

Ainm an teachtaireachta (teaghrán) le meaitseáil. Nuair a bhíonn ainm teachtaireachta a fuarthas ag teacht leis an luach seo, glaotar ar an bhfeidhm callback.

callback

Feidhm [Feidhm atá sainithe roimhe seo a ritheann nuair a fhaigheann an V5 Brain teachtaireacht a mheaitseálann message.

received glao ar ais a ghlaoitear le ceithre argóint:

Síniú Athghlao:
callback(message, linkname, index, value)

Argóint

Cur síos

message

Ainm an teachtaireachta a fuarthas (mar shampla, “add”).

linkname

Ainm an naisc a bhfuarthas an teachtaireacht uaidh.

index

An luach slánuimhir a sheoltar leis an teachtaireacht (más soláthraítear é).

value

An luach snámhphointe a sheoltar leis an teachtaireacht (más soláthraítear é).

Cód do Róbat 1

# Send a math problem for the other Brain to solve

# Create the link
link = MessageLink(Ports.PORT1, "VEXRoboticsLink123456789", VexlinkType.MANAGER)

# Do not run code UNTIL the Brains are linked
while not link.is_linked():
    wait(0.1, SECONDS)

brain.screen.print("Robot 1 - Manager")

"""
Change whether to "add" or "subtract",
then what numbers to use in the operation.
"""
link.send("add", 7, 2.5)

Cód do Róbat 2

# Solve the math problem that the other Brain sends

# Create the link
link = MessageLink(Ports.PORT1, "VEXRoboticsLink123456789", VexlinkType.WORKER)

while not link.is_linked():
    wait(0.1, SECONDS)

brain.screen.print("Robot 2 - Worker")
brain.screen.next_row()

# add if "add" is received
def add_cmd(message, linkname, a, b):
    result = a + b
    brain.screen.print("Result = ", result)

# subtract if ""subtract" is received
def subtract_cmd(message, linkname, a, b):
    result = a - b
    brain.screen.print("Result = ", result)

# Create event handlers for "add" and "subtract"
link.received("add", add_cmd)
link.received("subtract", subtract_cmd)

previous

VEXlink

next

Nasc Sraitheach

On this page
  • Réamhrá
  • Cruthaigh Nasc
  • Modhanna atá ar Fáil
    • is_linked
    • send
    • receive
    • received
Innovation First, International
​

Is trádmharcanna nó marcanna seirbhíse de chuid Innovation First, Inc. iad VEX agus VEX Robotics. Cóipcheart ©2026Gach ceart ar cosaint. Is fochuideachta de chuid Innovation First International, Inc. é VEX Robotics, Inc. Is leis na húinéirí faoi seach gach ainm/marc táirge eile de chuid daoine eile. Paitinní agus/nó Paitinní atá ar Feitheamh - innovationfirst.com/patents
Polasaí Príobháideachta an tSuímh / Téarmaí Úsáide an tSuímh / Polasaí Fianán / Polasaí Príobháideachta Bogearraí

Tabhair cuairt ar Leathanach Facebook VEX Robotics Tabhair cuairt ar Leathanach Twitter VEX Robotics Tabhair cuairt ar Leathanach Instagram VEX Robotics Tabhair cuairt ar leathanach YouTube VEX Robotics
Foirm Aiseolais API VEX

Cuirimid luach ar d’aiseolas! Úsáid an fhoirm seo chun moltaí, moladh, nó earráidí a thuairisciú maidir le VEX API. Cuidíonn d’aiseolas linn doiciméadacht VEX API a fheabhsú.

​

Má bhíonn fadhbanna teicniúla agat nó má theastaíonn tacaíocht do chustaiméirí uait, tabhair cuairt ar support.vex.com.

  • Send Happy Feedback
  • Send Sad Feedback

Tabhair faoi deara: roinnfear an URL reatha le do theachtaireacht

Trí do sheoladh ríomhphoist a chur san áireamh, aontaíonn tú go bhféadfadh VEX ríomhphoist ríomhphoist a sheoladh chugat má bhíonn ceisteanna againn faoi d’aiseolas.
Polasaí Príobháideachais >
Tabhair d'aiseolas le do thoil. Aiseolas curtha isteach go rathúil!
Choose Which VEX IQ Generation to View

VEX IQ (1st gen)

VEX IQ (2nd gen)