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

简介:

 

1 YFIOs简介

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

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

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

2 策略开发

2.1 YFIOs SDK安装

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

2.2新建策略项目

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

 

2.3代码模板

 

  public StrategyInfo GetStrategyInfo()

 {

      StrategyInfo info = new StrategyInfo();

      info.Name = Name;

      info.ConfigSize = 0;

      return info;

 }

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

2.4 Hello world

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

 public int OnRun(IOperate op, StrategyMode mode,object arg)

 {

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

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

        return 0;

 }

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 Studio 2010环境里进行策略调试。

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

 

确保PF9GND连接。

3.1 构建TinyIOsEmulator

 

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

测试的主要代码如下:

     public class YFIOsEmulator

    {

        YFIOS ios = new YFIOS();

        public void Run()

        {

            YFIOsStrategy1 mvs = new YFIOsStrategy1();

            mvs.OnLoad(ios.operate, null);

            while (true)

            {

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

                Thread.Sleep(3000);

            }

        }

    }

3.2 单步调试

从下图可以看出,在Visual Studio开发环境里,我们已经可以进行调试了,并且调试窗口也输出了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







本文转自yefanqiu51CTO博客,原文链接:http://blog.51cto.com/yfsoft/1108715,如需转载请自行联系原作者

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
消息中间件 存储 Java
第15课: Spring Boot中集成ActiveMQ
第15课: Spring Boot中集成ActiveMQ
708 0
|
消息中间件 网络协议 Java
微服务——SpringBoot使用归纳——Spring Boot中集成ActiveMQ——ActiveMQ集成
本文介绍了在 Spring Boot 中集成 ActiveMQ 的详细步骤。首先通过引入 `spring-boot-starter-activemq` 依赖并配置 `application.yml` 文件实现基本设置。接着,创建 Queue 和 Topic 消息类型,分别使用 `ActiveMQQueue` 和 `ActiveMQTopic` 类完成配置。随后,利用 `JmsMessagingTemplate` 实现消息发送功能,并通过 Controller 和监听器实现点对点消息的生产和消费。最后,通过浏览器访问测试接口验证消息传递的成功性。
959 0
|
JavaScript 算法 前端开发
为什么npm run serve正常,npm run build就报错:digital envelope routines::unsupported
通过本文的分析,我们详细介绍了 `npm run serve`正常但 `npm run build`时报错:`digital envelope routines::unsupported`的原因及解决方案。主要从检查Node.js版本、更新依赖、检查依赖库、配置文件及环境变量等方面进行了深入探讨。希望本文能帮助开发者解决这一问题,确保项目顺利构建和部署。
1746 6
|
前端开发 JavaScript 程序员
成功解决:尚硅谷中的谷粒商城前端项目运行依赖问题。【详细图解+问题说明+解决思路】
这篇文章介绍了如何解决尚硅谷谷粒商城前端项目中遇到的依赖问题,通过修改`package.json`和`package-lock.json`中的`node-sass`和`sass-loader`版本,成功解决了node版本与这些依赖的兼容性问题。
成功解决:尚硅谷中的谷粒商城前端项目运行依赖问题。【详细图解+问题说明+解决思路】
|
SQL 存储 安全
使用 SpringBoot 访问 MySQL 数据库
创建一个 MySQL 数据库,构建一个 Spring 应用程序,并将其连接到新创建的数据库。
806 0
|
设计模式 Java 测试技术
Spring Boot中的依赖注入详解
Spring Boot中的依赖注入详解
|
消息中间件 Java Kafka
SpringBoot实用开发篇第六章(整合第三方技术,ActiveMQ,RabbitMQ,RocketMQ,Kafka)
SpringBoot实用开发篇第六章(整合第三方技术,ActiveMQ,RabbitMQ,RocketMQ,Kafka)
|
机器学习/深度学习 自然语言处理 测试技术
Stable Diffusion——外挂VAE模型
Stable Diffusion——外挂VAE模型
1600 0
|
Java Spring 容器
彻底改变你的编程人生!揭秘 Spring 框架依赖注入的神奇魔力,让你的代码瞬间焕然一新!
【8月更文挑战第31天】本文介绍 Spring 框架中的依赖注入(DI),一种降低代码耦合度的设计模式。通过 Spring 的 DI 容器,开发者可专注业务逻辑而非依赖管理。文中详细解释了 DI 的基本概念及其实现方式,如构造器注入、字段注入与 setter 方法注入,并提供示例说明如何在实际项目中应用这些技术。通过 Spring 的 @Configuration 和 @Bean 注解,可轻松定义与管理应用中的组件及其依赖关系,实现更简洁、易维护的代码结构。
434 0
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp微信小程序的在线学习系统的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的在线学习系统的详细设计和实现
340 0