ly/Device/Command/GraphCommand.cs

241 lines
6.4 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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();
}
}
}