精华内容
下载资源
问答
  • C#传感器输入数据模拟命令行接收

    千次阅读 多人点赞 2020-06-16 21:21:05
    C#传感器输入数据模拟命令行接收 首先设置textbox,并在设置栏中将背景设置为黑色,字体设置为白色,尽可能还原命令行。 按下botton4按钮 // An highlighted block private void button4_Click(object sender, ...

    C#传感器输入数据模拟命令行接收

    Workstation.dll程序为实现封装好的
    首先设置textbox,并在设置栏中将背景设置为黑色,字体设置为白色,尽可能还原命令行。
    botton4为显示按钮
    botton5为退出按钮

    // An highlighted block
    using sun.management;
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Windows.Forms.DataVisualization.Charting;
    using System.Runtime.InteropServices;
    using System.Net.Sockets;
    using System.Net;
    using System.IO;
    namespace WindowsFormsApptest
    {
    public partial class console : Form
        {
            [DllImport("Workstation.dll", EntryPoint = "getIP",
               CallingConvention = CallingConvention.Cdecl)]
    	public unsafe static extern IntPtr getIP();
    	[DllImport("Workstation.dll", EntryPoint = "initSensors",
                CallingConvention = CallingConvention.Cdecl)]
             public static extern int initSensors();
            [DllImport("Workstation.dll", EntryPoint = "getCodedDataPackage_ModeNormal",
                CallingConvention = CallingConvention.Cdecl)]
            public unsafe static extern IntPtr getCodedDataPackage_ModeNormal(int sensorID);
            [DllImport("Workstation.dll", EntryPoint = "decodeDataPackage_ModeNormal",
                CallingConvention = CallingConvention.Cdecl)]
             public unsafe static extern int* decodeDataPackage_ModeNorma(string codeDataPackage);
            static int num2;                 
    public console(int num)
            {
                InitializeComponent();
                num2 = num;
            }
    unsafe public static int[] receive()
            {
                int[] m = new int[1018];
                int* recDecodeBuff;                                 //定义解码数据缓冲区
                IntPtr recCodedBuff = getCodedDataPackage_ModeNormal(num2);
                string strun = Marshal.PtrToStringAnsi(recCodedBuff);
                recDecodeBuff = decodeDataPackage_ModeNorma(strun);
                for (int i = 0; i < 1018; i++)
                {
                    if (recDecodeBuff != null)
                    { m[i] = recDecodeBuff[i]; }
                    else
                    { m = null; }
                }
                return m;
            }
    private void button4_Click(object sender, EventArgs e)
            {
                int[] sensor = new int[1018];
                sensor = receive();
                if (sensor == null)
                {
                    switch (num2)
                    {
                        case 1:
                            {
                                MessageBox.Show(" 温度传感器数据异常 ", " 警告", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                            }
                            break;
                        case 2:
                            {
                                MessageBox.Show(" 湿度传感器数据异常 ", " 警告", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                            }
                            break;
                        case 3:
                            {
                                MessageBox.Show(" PM2.5传感器数据异常 ", " 警告", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                            }
                            break;
                        case 4:
                            {
                                MessageBox.Show(" 光照传感器数据异常 ", " 警告", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                            }
                            break;
                        case 5:
                            {
                                MessageBox.Show(" CO传感器数据异常 ", " 警告", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                            }
                            break;
                        default:
                            {
                                MessageBox.Show(" 请选择传感器类型 ", " 警告", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                            }
                            break;
                    }
                }
                else
                {
                    this.textBox1.Text = this.textBox1.Text + "ask for protocol successfully!" + "\r\n";
                    this.textBox1.Text = this.textBox1.Text + "creat socket successfully!" + "\r\n";
                    this.textBox1.Text = this.textBox1.Text + "connect successfully!" + "\r\n";
                    for (int i = 0; i < sensor.Length - 1; i++)
                    {
                        this.textBox1.Text = this.textBox1.Text + sensor[i] + ',';
                    }
                    this.textBox1.Text = "\r\n" + this.textBox1.Text + "请按任意键继续...";
                }
            } 
     private void button5_Click(object sender, EventArgs e)
            {
                System.Environment.Exit(0);
            }
        }
    }

    使用效果如图所示在这里插入图片描述

    展开全文
  • 前端数据模拟两种方式

    千次阅读 2018-07-30 18:15:10
    前端数据模拟两种方式 数据模拟对前后端分离的重要性不言而喻。 现在介绍下面几种数据模拟方式 使用本地json模式 感觉是现在用的最广的方式,以文件形式当成数据源。 reqwest({ url: 'mock/user.json' }...

    前端数据模拟两种方式

    数据模拟对前后端分离的重要性不言而喻。

    现在介绍下面几种数据模拟方式

    使用本地json模式

    感觉是现在用的最广的方式,以文件形式当成数据源。

    
    reqwest({
                url: 'mock/user.json'
            })
                .then(res => {
                    console.log(res)
                })
                .fail(err => {
                    console.log(err)
    

    这种方式本地需要开启mocker服务,不方便,数据只能保存一份,用后就丢,麻烦。
    或者更先进一点的使用mock.js

    使用远程模拟

    该方式比较先进,不用开启web服务。同时系统性管理接口,对接口文档、接口管理大有益处。

    代表有:easy-mock和wemock
    easy-mock在使用上比较麻烦,对代码有业务侵入。
    wemock在功能上会更加强大,能搜集接口,对业务零侵入,同时可以写接口文档。

    https://wemock.cn/

    展开全文
  • 如何使用KepServerEx进行数据模拟

    万次阅读 2018-03-06 22:32:46
    KepServerEx是一款在工业控制中比较常见的数据采集服务软件之一,提供了多种类型的驱动,具有比较广泛的...幸运的是KepServerEx提供了数据模拟功能,可以提供多种类型、格式的模拟数据。下面就是具体的配置过程。 ...

    KepServerEx是一款在工业控制中比较常见的数据采集服务软件之一,提供了多种类型的驱动,具有比较广泛的适用性。很多厂商和个人都会选择用它来做OPCServer。在项目的实施或测试过程中,我们有时会遇到身边没有传感器、PLC之类设备的情况,就无法通过实时数据来测试工作成果的有效性。幸运的是KepServerEx提供了数据模拟功能,可以提供多种类型、格式的模拟数据。下面就是具体的配置过程。


    创建Channel

    Channel即通道,可以将它理解为OPC中的Server。
    这里写图片描述

    名字随便取。
    这里写图片描述

    这一步是关键,设备驱动选择“Simulator”,即模拟器驱动。然后一直点击下一步完成。。
    这里写图片描述

    这里写图片描述

    剩余两项设置也可以调整,如果需要可以自行调整
    这里写图片描述

    创建Device

    Device即设备,可以理解为OPC中的Group。
    这里写图片描述
    随便起个名。
    这里写图片描述

    设备类型可以根据需要选择16位或8位。

    这里写图片描述
    设备ID,可以自行修改。

    这里写图片描述
    下一步,完成。

    创建Tag

    Tag即标签,可理解为OPC中的Item。现在才来到整篇文章的重点。

    这里写图片描述

    添加标签的界面包含两部分,一部分是对标签的定义(Identification),包括名称(Name)、地址(Address)、描述(Description),另一部分是数据的属性(Data Properties),包括数据类型(DataType )、读写类型(Client)、扫描频率(Scan Rate)。
    对我们而言,用处最大的就是Address,我们可以编写不同的函数放在Address中用来模拟不同类型的数据。官方文档提供了多种模拟函数供我们使用(可在帮助文档中找到)。


    线形变化型

    RAMP(Rate, Low Limit, High Limit, Increment)

    Rate:变化率,单位毫秒
    Low Limit:下限值
    High Limit:上限值
    Increment:变化量

    举例:

    RAMP(120, 35, 100, 4)

    从35 增长到100,每120毫秒增长4。

    RAMP(300, 150.75, 200.50, -0.25)

    从200.50降低到150.75,每300毫秒减少0.25。


    随机变化型

    RANDOM(Rate, Low Limit, High Limit)

    Rate:变化率,单位毫秒
    Low Limit:下限值
    High Limit:上限值

    举例:

    RANDOM(30, -20, 75)

    在-20和75之间随机变化,每30毫秒变化一次。


    三角函数型

    SINE(Rate, Low Limit, High Limit, Frequency, Phase)

    Rate:变化率/变化周期,单位毫秒
    Low Limit:下限值
    High Limit:上限值
    Frequency:三角函数频率
    Phase:三角函数偏移量

    注意:频率(Frequency)的最大有效值是5Hz,有效范围是从0.001到5赫兹。偏移量(Phase)取值范围在0.0至360.0之间。为了得到一个更好的正弦输出,变化率(Rate)应该至少比期望频率快一倍。比如频率(Frequency)为5赫兹的正弦曲线,其周期是200毫秒,那么变化周期(Rate)的值最大只能设为100毫秒。在这类函数中,变化周期的取值范围是10-1000毫秒。

    举例:

    SINE(10, -40, 40, 2, 0)

    以2赫兹的频率在-40和40 之间进行正弦变化,偏移量为0

    用户自定义型

    USER(Rate, User Value1, User Value2, User Value3,…User ValueN)

    Rate:变化率,单位毫秒
    User Value1….ValueN:用户自定义的值,可以有多个

    举例:

    USER(250, Hello, World, This, Is, A, Test)

    以250毫秒的频率循环显示Hello、World、This、Is、A、Test中的一个单词。

    USER(50, 1,1,0,1,0,1,0,0,1,1,1,0,0,0)

    以50毫秒的频率循环显示后面的1、0。

    需要注意的是上面几种函数创建的Tag都是只读(ReadOnly)类型的,是不能写入的。


    创建自己需要的标签

    有了上面的函数我们可以根据自己的需要创建不同类型的标签。

    RANDOM(200, 10.0, 40.0)模拟室内温度
    RANDOM(200, 30.0, 90.0)模拟室内湿度
    USER(1000, 1,1,0,1,0,1,0,0)模拟开关比变化量
    RAMP(5000, 0, 1000, 1)模拟人员进入数量

    将标签添加完之后保存,用OPCClient连接就可以看到数据在愉快的跳动了。

    展开全文
  • Easy Mock - 数据模拟神器

    千次阅读 2019-02-23 15:04:02
    由大搜车无线团队出品的 easy-mock 在线数据模拟服务上线至今已经有几个月时间了,近期网站刚更新了焕然一新的 2.0 版本,与此同时,我们还带来一个更重磅的消息: 今天正式将整个服务的代码在 github 开源(github...


    开源公告

    由大搜车无线团队出品的 easy-mock 在线数据模拟服务上线至今已经有几个月时间了,近期网站刚更新了焕然一新的 2.0 版本,与此同时,我们还带来一个更重磅的消息:

    今天正式将整个服务的代码在 github 开源(github.com/easy-mock/e…)

    以此,你可以将功能完整的 easy-mock 服务部署到内网,并且与内网的开发流程(例如 swagger)集成到一起,内网集成与使用方式见本文最后的集成建议。

    后续关于 easy-mock 的 bug 和建议,大家可以直接在 github 中提 issues,或者通过 pull request 的方式一起参与完善此项目。

     

    链接与详细文档

     

    使用数据

    上线几个月以来,在线使用用户突破 8000 人,项目 12000 个,接口 70000 个,请求数 1700 万,在此感谢初期用户对我们的信任,并且提出了很多宝贵的意见,大家可放心使用此服务。

     

    关于 Easy Mock

    Easy Mock 是一个可视化,并且能快速生成 模拟数据 的持久化服务。

    特性

    • 支持接口代理
    • 支持快捷键操作
    • 支持协同编辑
    • 支持团队项目
    • 支持 Restful
    • 支持 Swagger 1.2 & 2.0
      • 基于 Swagger 快速创建项目
      • 支持显示接口入参与返回值
      • 支持显示实体类
    • 支持灵活性与扩展性更高的响应式数据开发
    • 支持 Mock.js 语法
    • 支持 restc 方式的接口预览

    更多详细特性可以通过使用文档了解 easy-mock.com/docs

     

    界面截图

    项目列表(内网项目,名字已隐去)

    接口列表

    接口编辑

    项目设置

    功能介绍

     

    关于 Easy Mock 的内网应用

    在此,跟大家推荐一下我们内网 easy-mock 的应用流程:

    • 需求,可行性评估。
    • 需求评审,通常是交互稿或者原型。
    • 交互或者设计评审,确认逻辑细节。
    • 开发给出排期,包括(接口定义/前端开发/联调/提测/测试时间)。
    • PM或架构师系统和架构分析产出。
    • 服务端设计数据库和接口,给出详细的接口定义(swagger)
    • 接口评审,完成后部署开发服务器,会自动根据 swagger 定义通过 easy-mock 服务生成对应的 mock 项目
    • 前后端分别开发,前端直接使用 easy-mock 提供的数据构建前端页面
    • 联调,提测。测试,预发。运维发布线上,测试回归线上。

    可以注意加粗的部分,通过 easy-mock 提供的 swagger 解析服务,可以快速通过服务端接口定义生成前端需要的 mock 数据,大大减少在接口模拟方面花费的成本。

     

    结语

    希望通过本次 easy-mock 的开源,能够让这个工具惠及更多的开发者,并且希望通过开源的方式,让这个项目在社区中得到更好的孵化。

     

    附:

    展开全文
  • mockJs -- vue中常用数据模拟

    千次阅读 2020-09-25 13:53:34
    mockJs – vue中常用数据模拟 import Mock from "mockjs"; // 引入mockjs const Random = Mock.Random; // Mock.Random 是一个工具类,用于生成各种随机数据 mock.mock("msg", function(){ //循环随机生成100条数据 ...
  • 数据模拟-mock.js

    千次阅读 2015-07-16 11:32:21
    mock.js 数据模拟工作中,前端免不了需要和各种后台数据打交道。如果后端接口迟迟没提供,而又需要数据做展示或测试。而这时候,前端往往需要自己手动去模拟数据
  • nodejs+mockjs分页数据模拟实践

    千次阅读 2018-02-24 14:48:37
    最近发现一款特别好用的数据模拟插件,完全满足前端自己开发测试调试了。 首先,大致说下mockjs的几个常用用法。 1、Mock.mock 根据数据模板生成模拟数据。 最常见的用法是: Mock.mock({ ‘list|1-10’: [ {...
  • SuperMap轨迹点数据模拟数据生成

    千次阅读 2018-12-15 23:16:46
    跟车辆对接时,需要获取实时的坐标数据,在项目实施过程中车辆安装GPS需要一个过程,但这时候开发又不能等待GPS真实坐标的上传,只能先人工模拟造一些GPS位置轨迹数据,方便开发调试与演示汇报,本文章基于SuperMap ...
  • GPS数据模拟

    千次阅读 2017-11-30 19:24:10
    今天用到了GPS数据,但是需要组成标准的数据包发给客户端去解析,在查看了常用的GPS数据包格式,最后选用了GPRMC字段的数据。 GPRMC数据格式很容易就可以搜索到: $GPRMC,,,,,,,,,,,,*hh ...
  • Task1:皮尔森相关系数计算 | 数据模拟皮尔森相关系数计算 | 数据模拟1. 数据选取:2. 计算皮尔森相关系数2.1 研究变量:2.2 研究问题:2.3 演示流程及结果演示在SPSS中计算五个变量两两之间的皮尔森相关系数,演示...
  • JSON数据模拟

    千次阅读 2018-09-16 21:51:08
    { “res_code”:0, “res_error”:”“, “res_body”:{ “list”:[ {“id”:1,”img”:”/img/pic_big1.png”,”desc”:”仔姜 250g/份”,”price”:”4.50”,”vgb_move1”:”加入购物车”}, ...
  • 微信小程序开发中,后端提供了接口设计文档,前端可以先mock数据模拟api请求进行开发调试,而且可以根据需要设计mock文件的格式和内容,这样在后端接口开发完成之前,前端可以最大限度的完成前端的开发。 编写mock...
  • 项目主要是给前端人员做个JSON的数据模拟服务器,也就是说你可以用最简单的方式搭建一个基于REST API的JSON服务器,一条命令搞定。这个项目很棒,前面的项目确实也没有用到数据模拟这个东西,都是上传到服务器,然后...
  • 中国电信物联网平台入门学习笔记6:电信平台数据模拟采集 电信平台创建应用:https://www.cnblogs.com/mtgy/p/10019997.html 1.注册模拟设备 2.点击想注册的设备 3.填写信息("验证码"全网唯一,...
  • 局部数据模拟是底层模拟的扩展,可以对局部变量、代码片断实施模拟,以便在用例中设定需要的数据;也用以在底层模拟不支持的情形下代替底层模拟。利用局部数据模拟可以视需要在测试过程中修改被测试代码,而不修改...
  • 使用RESTClient插件进行数据模拟(GET,POST)提交
  • 嵌入式设备的接口通信开发过程中,MODBUS协议时常作为一种数据传输协议,负责采集终端(传感器)设备数据,或上传数据至就地数据服务器。如下图中的“嵌入式数据采集设备”作为系统中数据采集和传输的关键节点,同时...
  • uni-app+ mockjs实现本地数据模拟

    千次阅读 2020-08-24 14:45:09
    最近在开发项目的时候,需要用到mockjs这个包来实现前端本地数据模拟,下面我就来说一下具体步骤: 前言 uni-app将自己的配置融合到了vue.config.js中,所以需要自己配置,需要在package.json的同级目录下新建一个...
  • 前端数据模拟的三种姿势

    千次阅读 2018-02-07 09:43:32
    后端同学接口还没做好,前端同学怎么测试呢,这样就要用到模拟数据了。  现在我就来说说我认为还不错的三种模拟数据方法。 方法一:请求本地的 json 文件 项目里新建个文件夹用来存放测试用的 json 文件。 ...
  • 基于ngMockE2E实现后台数据模拟

    千次阅读 热门讨论 2016-08-27 10:44:40
    引言  今天老大给了新任务,在开始给我说...这一下子就整懵逼了,没有后台数据怎么办,那些流程的流转咋弄,结果老大说数据只需要模拟一份就可以了,不需要入库,但是上面的什么流程启动,发送,保存功能都需要实现。
  • public class BatchInsertThread implements Runnable{ private String sql; private static Logger log = Logger.getLogger(BatchInsertThread.class); public BatchInsertThread(String sql) { ...
  • SPOT多光谱数据模拟真彩色的三种方法 以往用户在用遥感数据合成真彩色影像时一般采用Landsat数据,这是因为Landsat的TM或ETM+传感器提供了R,G,B以及IR等共6个波段(1,2,3,4,5和7波段)的多光谱数据,不足之处...
  • React中使用Mockjs进行接口数据模拟

    万次阅读 2019-05-13 16:34:29
    引子 每个改进都是为了解决问题。 现在我在开发中碰到了问题,我先描述下问题: ...第一种:自己这边随便造点数据,等后端接口写好了之后,再小修改,再调试。 第二种:想想我们之前获得用户信息的dist/api/user...
  • vue-cli如何使用json数据模拟

    千次阅读 2019-07-16 21:55:51
    简单的把题目翻译过来 意思就是如何解决数据问题? 方法一: 使用express搭建静态服务 mock数据写在json文件中,proxyTable 里将接口代理到具体mock数据json文件上。 ...
  • h5学习笔记:vue 和 数据模拟

    千次阅读 2017-05-10 07:37:16
    感觉自己已经落伍了不少,最近开始接触 vue 的全家桶套装,vuejs axios ,vuex, 还有昨天看到mockjs ,非常有意思的模拟数据。http://mockjs.com/可以模拟出很多测试数据。对于使用vue 的开发的时候,让我产生很大...
  • KepServerEx是一款在工业控制中比较常见的数据采集服务软件之一,提供了多种类型的驱动,具有比较广泛的适用性。很多厂商和个人都会选择用它来做OPCServer。在项目的实施或测试过程中,我们有时会遇到身边没有...
  • 前端数据模拟 Mock.js 使用教程

    千次阅读 2018-02-07 10:46:35
    Mock.js 是一个用来生成模拟数据,拦截 AJAX 的工具。前后端分离的前端同学会经常使用。  Mock.js 官网地址:http://mockjs.com 一、安装  npm install --save mockjs 二、示例 import Mock from 'mockjs...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 86,184
精华内容 34,473
关键字:

数据模拟