VOXL Connection to MAVLINK server failed using pymavlink
-
Hello, I am trying to read mavlink messages like the pressure and altitude from the VOXL 2 sensors using pymavlink. I wanted to make sure that the udpin to the mavlink connection is correct?
I am having trouble connecting to the mavlink server. I set the port number to 14557 based on the first diagram in this page: (https://docs.modalai.com/mavlink/).
When I uselocalhost
as the port, . When I uselocalhost
, I get an error that saysOSError: [Errno 98] Address already in use
, and when I use the IP address192.168.8.10
it gives an error that saysOSError: [Errno 99] Cannot assign requested address
.If that is not the correct IP address, how can I find the IP address for my specific VOXL? It is worth noting that my VOXL isn't connected to the internet, but is physically connected to the flight controller by wire.
Thanks for your help!
# MAVLINK Common Message Set: https://mavlink.io/en/messages/common.html from pymavlink import mavutil the_connection = mavutil.mavlink_connection('udpin:192.168.8.10:14557') the_connection.wait_heartbeat() print("Heartbeat from system (system %u component %u)" % (the_connection.target_system, the_connection.target_component)) while True: try: # local xyz position msg_pos = the_connection.recv_match(type='LOCAL_POSITION_NED', blocking=True) print(msg_pos.x, msg_pos.y, msg_pos.z) # altitude msg_altitude = the_connection.recv_match(type='ALTITUDE', blocking=True) print(msg_altitude.altitude_local, msg_altitude.altitude_relative) # pressure msg_pressure = the_connection.recv_match(type='SCALED_PRESSURE', blocking=True) print(msg_pressure.press_abs) except KeyboardInterrupt: print('Terminating mavlink...') break
-
@svempati You can run
ifconfig
to view the IP addresses for your various network interfaces on voxl2, if you're using wifi then you'll want to look atwlan0
-
@tom I ran
ifconfig
on voxl2, but I haven't found anything onwlan0
. This is the output I get after running that command:bond0: flags=5123<UP,BROADCAST,MASTER,MULTICAST> mtu 1500 ether fe:ca:d2:74:91:69 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 dummy0: flags=195<UP,BROADCAST,RUNNING,NOARP> mtu 1500 inet6 fe80::e2a:ce35:6c11:d803 prefixlen 64 scopeid 0x20<link> ether de:92:20:5e:07:c9 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 25 bytes 7462 (7.4 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 368130 bytes 35420354 (35.4 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 368130 bytes 35420354 (35.4 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
would any of these help with finding the voxl's ip address?
-
@svempati Do you have a wifi dongle connected to VOXL2?
-
@tom No I don't have a wifi dongle connected.
-
@svempati Are you trying to access the mavlink data from VOXL 2 itself or from an offboard computer / ground station?