【物联网中间件平台-05】YFIOs策略开发指南

本文涉及的产品
性能测试 PTS,5000VUM额度
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介:  文档名称 YFIOs策略开发指南 版本 V1.0.0 作者 叶帆 日期 2012-12-25 历史   文档列表 http://www.sky-walker.com.cn/MFRelease/YF_document_list.pdf 1 YFIOs简介YFIOs就是YFSoft I/OServer的简称,在物联网、云计算时代,一切以数据为中心,不同的传感器通过不同的方式接入网络,通过云计算的方式为不同的终端用户提供服务。

 

文档名称

YFIOs策略开发指南

版本

V1.0.0

作者

叶帆

日期

2012-12-25

历史

 

文档列表

http://www.sky-walker.com.cn/MFRelease/YF_document_list.pdf

1 YFIOs简介

YFIOs就是YFSoft I/OServer的简称,在物联网、云计算时代,一切以数据为中心,不同的传感器通过不同的方式接入网络,通过云计算的方式为不同的终端用户提供服务。

为了适应这种新形势的发展,加速和降低各种传感器、智能模块的入网代价,以微软成熟的.NET Micro Framework系统为基础,打造出物联网时代的轻量级嵌入式组态系统 —— YFIOs

详情请参见《YFIOs技术白皮书》。

2 策略开发

2.1 YFIOs SDK安装

请参见文档《YFIOs安装指南》。

2.2新建策略项目

选择YFIOs Strategy模板进行策略开发。

2.3代码模板

 

 public StrategyInfo GetStrategyInfo()

 {

      StrategyInfoinfo = new StrategyInfo();

      info.Name = Name;

      info.ConfigSize = 0;

      returninfo;

 }

代码模板会自动生成如上代码。

2.4 Hello world

我们在OnRun函数里,添加如下代码:

 public int OnRun(IOperateop, StrategyMode mode,object arg)

 {

        op.Print(MessageType.Debug,"OnRun", Name);

        op.Print(MessageType.Information, "HelloWorld!!!", this.Name);

        return0;

 }

2.5 策略测试

2.5.1 编译添加策略

编译我们刚刚编写的策略代码。然后启动YFIOs Manager程序,单击树形控件 中的【策略列表】项,双击列表控件中的【新建…】选项,则弹出用户策略窗体。

我们选择策略Debug\le\ YFIOsStrategy1.pe文件。


进入【执行模式】面板,我们选择执行模式为Loop,设置循环周期为200ms。

2.5.2 配置项目属性

单击树形控件中的【项目属性】选项,双击列表控件中配置数据,则弹出如下界面,默认情况下,用户调试、普通信息、系统调试信息选项是没有勾选的。

我们勾选所有的选项。

2.5.4 项目部署调试

保存项目后,单击【调试】->【部署】菜单(或单击部署图标)进行项目部署。

2.5.5 项目运行

单击【调试】->【启动】菜单(或单击启动图标)让项目开始运行。

从信息输出窗口中,可以看到,策略已经正确加载,也输出了 Hello World!!!

3 策略调试

虽然编写的策略可以在YFIOsManager通过信息输出的方式进行调试,但是如果策略比较复杂,这种调试方法还是不太理想。

因此我们构建一个TinyIOsEmulator,在Visual Studio2010环境里进行策略调试。

由于YFSoft.DriverTest是一个标准的.NET MicroFramework程序,所以调试的时候,需要把系统设置为.NETMicro Framework系统模式。

确保PF9GND连接。

3.1 构建TinyIOsEmulator

TinyIOsEmulator项目里需要引用我们刚刚创建的策略。

测试的主要代码如下:

     public class YFIOsEmulator

    {

        YFIOSios = new YFIOS();

        public void Run()

        {

            YFIOsStrategy1mvs = new YFIOsStrategy1();

            mvs.OnLoad(ios.operate, null);

            while(true)

            {

                mvs.OnRun(ios.operate, new StrategyMode(),null);

                Thread.Sleep(3000);

            }

        }

    }

3.2 单步调试

从下图可以看出,在VisualStudio开发环境里,我们已经可以进行调试了,并且调试窗口也输出了Hello world!!!信息。

4额外说明

本篇文章仅仅是一篇策略开发入门的文章,要编写一个比较复杂的策略,还需要深入学习各种开发知识。

高阶策略开发相关的内容如下:

(1)      策略运行模式设定;

(2)      策略图形开发;

(3)      策略互相调用;

(4)      策略代码引用第三库;

(5)      策略YFIOBC操作;

(6)      策略直接调用驱动;

5相关资源

1、.NET Micro Framework 官方网址

http://www.microsoft.com/netmf/default.mspx

2、.NET Micro Framework官方博客

http://blogs.msdn.com/netmfteam/

3、中文博客

http://blog.csdn.net/yefanqiu

http://www.cnblogs.com/yefanqiu

4、叶帆科技

http://www.sky-walker.com.cn/

5、物联网中间件技术开发论坛

http://www.yfios.net

 

YFIOs/YFHMI免费试用

从2012-12-21起YFIOs和YFHMI将开展为期半年的免费试用活动,符合申请条件的用户,将依次获取YFIOs和YFHMI的试用机会。

申请表下载:http://sky-walker.com.cn/MFRelease/document/yfios_yfhmi_application.doc

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
2月前
|
监控 安全 物联网
物联网:如何对接物联网卡的管理平台
对接物联网平台的API通常涉及几个关键步骤,这些步骤帮助你有效地与平台交互,实现设备数据的收集、处理、分析及控制等功能。以下是一个通用的对接流程:
|
3月前
|
中间件 API 开发者
深入理解Python Web框架:中间件的工作原理与应用策略
在Python Web开发中,中间件位于请求处理的关键位置,提供强大的扩展能力。本文通过问答形式,探讨中间件的工作原理、应用场景及实践策略,并以Flask和Django为例展示具体实现。中间件可以在请求到达视图前或响应返回后执行代码,实现日志记录、权限验证等功能。Flask通过装饰器模拟中间件行为,而Django则提供官方中间件系统,允许在不同阶段扩展功能。合理制定中间件策略能显著提升应用的灵活性和可扩展性。
45 4
|
5月前
|
中间件 API 开发者
深入理解Python Web框架:中间件的工作原理与应用策略
【7月更文挑战第19天】Python Web中间件摘要:**中间件是扩展框架功能的关键组件,它拦截并处理请求与响应。在Flask中,通过`before_request`和`after_request`装饰器模拟中间件行为;Django则有官方中间件系统,需实现如`process_request`和`process_response`等方法。中间件用于日志、验证等场景,但应考虑性能、执行顺序、错误处理和代码可维护性。
83 0
|
7月前
|
存储 缓存 监控
中间件Read-Through Cache(直读缓存)策略实现方式
【5月更文挑战第11天】中间件Read-Through Cache(直读缓存)策略实现方式
84 4
中间件Read-Through Cache(直读缓存)策略实现方式
|
7月前
|
存储 缓存 中间件
中间件Cache-Aside(旁路缓存)策略中间件Cache-Aside(旁路缓存)策略
【5月更文挑战第7天】Cache-Aside策略是一种灵活且有效的缓存策略,可以根据应用程序的需求进行定制和优化。
191 7
中间件Cache-Aside(旁路缓存)策略中间件Cache-Aside(旁路缓存)策略
|
7月前
|
缓存 中间件 数据库
中间件Write-Through Cache(直写缓存)策略
【5月更文挑战第7天】中间件Write-Through Cache(直写缓存)策略
104 4
中间件Write-Through Cache(直写缓存)策略
|
7月前
|
存储 缓存 中间件
中间件Read-Through Cache(直读缓存)策略
【5月更文挑战第7天】中间件Read-Through Cache(直读缓存)策略
66 4
中间件Read-Through Cache(直读缓存)策略
|
7月前
|
缓存 算法 NoSQL
中间件Cache-Aside策略命中缓存
【5月更文挑战第10天】中间件Cache-Aside策略命中缓存
85 8
|
7月前
|
存储 缓存 监控
中间件Cache-Aside策略缓存未命中
【5月更文挑战第10天】
81 7
|
7月前
|
存储 缓存 监控
中间件Cache-Aside策略检查缓存
【5月更文挑战第10天】中间件Cache-Aside策略检查缓存
77 5