• 快速入门
  • HTTP文档
  • .NET开发指南
  • DEMO下载
  • 调用HTTP常见问题
    Show / Hide Table of Contents
    • 快速开始
      • 引入依赖包
      • 初始化
      • 开启FBox所有监控点
      • 盒子状态变更推送
      • 实时数据变更推送
      • 获取盒子信息与盒子分组
      • 获取监控点分组与监控点
      • 写值
    • 驱动操作
      • 获取盒子PLC
      • 下载盒子plc
    • 监控点操作
      • 新增监控点条目
      • 更新及删除监控点
    • 报警操作
      • 获取盒子下所有报警条目
      • 获取报警历史记录数据
      • 新增报警条目
      • 更新及删除报警条目
    • 历史操作
      • 获取历史记录数据
      • 获取历史记录条目
      • 新增历史记录条目
      • 更新及删除历史记录条目

    盒子状态变更推送

    当服务器侦测到FBox发生状态变更,则会推送消息
    消息内容为数组
    单个对象属性如下表

    字段名 类型 参数描述
    id string FBox的Id
    state int 盒子当前状态,0:未知,1:已连接,2:超时,3:已断开
    net int 盒子网络类型1:网络 2:2G,3:3G(目前不支持)4:WIFI,5:4G
    rssi int 信号:0~8
    vers json对象 FBox固件版本,fcs,fds,floader.
    mode int FBox状态0:正常,1:透传中

    侦听事件

    /// <summary>
    /// 启动
    /// </summary>
    public void Start()
    {
        // 通过参数登录服务器
        _fbox.Restart().Wait();
        //侦听盒子状态变更事件
        _fbox.BoxConnectStateChanged += _fbox_BoxConnectStateChanged;
    }
    //在Program,Main函数中调用
    class Program
        {
            static void Main(string[] args)
            {
                using (var fbox = new FBoxDemo())
                {
                    fbox.Start();  //启动
                    fbox.StartAllDMonData();//开启FBox所有监控点
                }
            }
        }
    
    /// <summary>
    /// 盒子状态变更函数
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void _fbox_BoxConnectStateChanged(object sender, IList<BoxConnectionStateItem> e)
    {
        foreach (var stateItem in e)
        {
            Console.WriteLine($"{stateItem.BoxNo},{stateItem.NewState}");
        }
    }
    
    Back to top Generated by DocFX