Quick Details

Property Value
Program Name agent_pycubed
Agent Name pycubed
File agent_pycubed.cpp
Hardware PyCubed Mainboard


The PyCubed agent (AKA agent_pycubed) is an agent that handles all communication between the BeagleBone and PyCubed, making use of the PyCubed class

Communication Protocol

For details visit PyCubed Communication Protocol.


Usage: is_up

Description: Checks if the PyCubed can be reached.

If the PyCubed is connected properly, the request will return "UP". Otherwise, the request will return "DOWN".

Usage: send_message
Aliases: send

Description: Sends a message to the PyCubed.

The argument message_str is a message formatted to the PyCubed communication protocol requirements. The leading $ and checksum should not be included.

Usage: imu

Description: Retrieves the PyCubed IMU data.

Returns a JSON-formatted string.

Usage: gps

Description: Retrieves the PyCubed GPS data.

Returns a JSON-formatted string.

Usage: power

Description: Retrieves the PyCubed power data.

Returns a JSON-formatted string.

Usage: temperature
Aliases: temp

Description: Retrieves the PyCubed temperature data.

Returns a JSON-formatted string.

Usage: killradio yes

Description: Kills future radio transmission.

The argument yes is required, and is meant to prevent accidental usage of the request.

Note: You should not call this request unless the radio is transmitting harmful noise, or if you are performing tests.



Device Property Storage Type COSMOS Name
CPU UTC double or Time device_cpu_utc_000
Temperature (K) float device_cpu_temp_000
Voltage (V) float device_cpu_volt_000
Current (A) float device_cpu_amp_000
Memory Used (GiB) float device_cpu_gib_000
Maximum Memory (GiB) float device_cpu_maxgib_000
Up Time (s) int device_cpu_uptime_000
Battery UTC double or Time device_batt_utc_000
Temperature (K) float device_batt_temp_000
Voltage (V) float device_batt_volt_000
Current (A) float device_batt_amp_000
Capacity (Ah) float device_batt_cap_000
Charge (Ah) float device_batt_charge_000
Percentage (%) float device_batt_percentage_000
IMU UTC double or Time device_imu_utc_000
Temperature (K) float device_imu_temp_000
Acceleration (m/s2) Vec3 device_imu_accel_000
Angular Velocity (°/s) Vec3 device_imu_omega_000
Magnetic Field (G) Vec3 device_imu_mag_000
GPS UTC double or Time device_gps_utc_000
Location Location device_gps_geods_000
Velocity (m/s) Vec3 device_gps_geocv_000
Satellites Used int device_gps_sats_used_000

Block Diagram

Below is a software diagram demonstrating the behavior of this agent Agent block diagram