ly/Device/Command/GraphCommand.cs

241 lines
6.4 KiB
C#
Raw Permalink Normal View History

2025-03-22 12:16:22 +00:00
namespace LY.App.Device.Command
{
public static class GraphCommand
{
/// <summary>
/// 获取打击状态
/// </summary>
/// <returns></returns>
public static string AttackStatus()
{
return @"{
widebandJammer {
band15
band24
band58
}
}";
}
/// <summary>
/// 获取无人机
/// </summary>
/// <returns></returns>
public static string GetFindTarget()
{
return @"{drone {
attack_bands,
attack_type,
attacking,
can_attack,
can_takeover,
created_time,
deleted_time,
description,
direction,
distance,
has_duplicate,
id,
initial_location {
lat
lng
},
jamming_conflicts,
lastseen,
latitude,
link_id,
localization {
lat
lng
},
longitude,
name,
height,
distance,
seen_sensor {
detected_freq_khz
noise_dbm
sensor_id
signal_dbm
snr_dB
},
state,
whitelisted
}}";
}
/// <summary>
/// 获取设备状态信息
/// </summary>
public static string GetDeveceStatusInfo()
{
return @"{
devices{
id
config
gps_fixed
class
}
}";
}
public static string GetAdsb()
{
return @"{
droneAdsB {
support
drone {
id
speed
height
latitude
longitude
yaw_angle
confirmed
registration
typecode
manufacturer
model
owner
}
}
}";
}
/// <summary>
/// 获取传感器状态
/// </summary>
/// <returns></returns>
public static string GetSensorStatus()
{
return @"{sensor {
config,
faults,
id,
mac,
name,
sensor_status {
built_time
component_type
first_seen
git_hash
ip_address
last_seen
temperature
version
},
state,
ttl
}}";
}
/// <summary>
/// 白名单
/// </summary>
/// <returns></returns>
public static string GetWhitelist()
{
return @"{whitelist{dronetype,id}}";
}
/// <summary>
/// 系统能力查询
/// </summary>
/// <returns></returns>
public static string GetSystemCapability()
{
return @"{sysCapability}";
}
/// <summary>
/// 获取宽带打击的频段
/// </summary>
/// <returns></returns>
public static string widebanJammer()
{
return @"{widebandJammer{
band12
band14
band15
band18
band24
band4
band58
band9}}";
}
/// <summary>
/// 添加白名单
/// </summary>
/// <param name="droneId"></param>
/// <param name="droneType"></param>
/// <returns></returns>
public static string AddWhitelist(string droneId, string droneType)
{
return "mutation{addWhitelist(id:\"" + droneId + "\"\ndronetype:\"" + droneType + "\"\ntimerange:\"permanent,permanent\")}";
}
/// <summary>
/// 删除白名单
/// </summary>
/// <param name="droneId"></param>
/// <param name="droneType"></param>
/// <returns></returns>
public static string DeleteWhitelist(string droneId)
{
return "mutation{deleteWhitelist(id:\"" + droneId + "\")}";
}
/// <summary>
/// 精确打击flse开始true停止
/// </summary>
/// <param name="isAttack"></param>
/// <param name="droneId"></param>
/// <returns></returns>
public static string AccurateAttack(bool isAttack, string droneId)
{
string cmdstr = "mutation{ attack( cancel:true \n takeover:false \n id: \"" + droneId + "\"\n )}";
if (isAttack)
{
cmdstr = "mutation{ attack( cancel:false \n takeover:false \n id: \"" + droneId + "\"\n )}";
}
else
{
cmdstr = "mutation{ attack( cancel:true \n takeover:false \n id: \"" + droneId + "\"\n )}";
}
return cmdstr;
}
/// <summary>
/// 自动打击
/// </summary>
/// <param name="isAuto"></param>
/// <returns></returns>
public static string AutoAttack(bool isAuto)
{
string cmdstr = "mutation{ autoAttack( on: " + isAuto + " \n wbEnabled: false ) }";
if (isAuto)
{
cmdstr = "mutation{ autoAttack( on:true \n wbEnabled: false ) }";
}
else
{
cmdstr = "mutation{ autoAttack( on:false \n wbEnabled: false ) }";
}
return cmdstr.ToLower();
}
/// <summary>
/// 宽带打击
/// </summary>
/// <param name="band">15,24,58</param>
/// <param name="status">true,开启false关闭</param>
/// <returns></returns>
public static string WidebandAttack(string band, bool status)
{
string cmdstr = "mutation{ wideband_attack( band: \"" + band + "\"\n wb_status:" + status + ")\n" +
"{band15\nband24\nband58\nband9}}";
return cmdstr.ToLower();
}
}
}