这是一篇有一点小改动的更新贴,因为我正忙于写另一个帖子,采用带VSCP的MQTT,讨论一下云PaaS。我想如果直接谈云,可能太跳跃了,我还没有写如何在udoo上使用VSCP软件的帖子! 此外,我也花了一些时间来修改以前发布的有关“在UDOO上运行VSCP”的帖子。从那时起,我已开始转入研究github的最新“vscp_software”。
我上周开始写此博客时,就出现了一些新功能,如仿真器驱动程序。在不久的将来,我希望构建能将现有CAN4VSCP模块和采用RJ45接头的UDOO相连的电路板,然后将vscp_firmware移植到Kinetis,这样我就可以使用自己的 “模块”并选择屏蔽系统提供的接头。
现在电路板上有更新了! 我应当在2015年6月5日获得印刷电路板和一些元件。 
上一篇帖子中,我说明了运行VSCP软件的UDOO。现在是时候看它做一些半有趣的玩意(等到我开始连接这些玩意,它才会变得有趣)。
我在前台运行vscp守护进程时,看到它在注册记录器和仿真器的驱动程序(我此处所说的驱动程序,即vscp驱动程序)。
然而,默认情况下, "VSCP_Level_II_Logger_Driver_1"并不在此处。 驱动程序的配置由XML文件vscpd.conf来处理。其他II级驱动程序的示例如下:
测试系统说明书介绍了如何启用驱动程序,但它们指的是windows安装。 在vscpd.conf中,下面标题之下
您可以找到如下的条目:
我们需要将<path>标签中的文件从vscpl2_loggerdrv.so更改为vscpl2drv_logger.so。如果您查看一下/usr/local/lib,就会看到所有驱动程序的语法已经更改为vscpl2drv_<driver_name>.so。因为这是一个“记录器”驱动程序,<config>标签指定了日志文件应当放置在何处。然而,对于mqtt驱动程序来说,它看起来如下:
我将在未来帖子中研究有关mqtt的更多详细信息,但正如您所看到的,它拥有配置 mqtt (pub | sub ; topic ; host ; port ; keep_alive)的所有相关字段以及未使用的用户、通行证、过滤器和屏蔽字段。 就vscp而言,我起初并不完全清楚过滤器和屏蔽的定义,但似乎是过滤器控制允许值的范围,而屏蔽则在全局唯一标识(GUID)或地址范围中屏蔽某些字段。Ake Hedman清晰度将正好用在此处,因为很难从驱动程序页面的信息中区分“过滤器”和“屏蔽”之间的差别。 我想,一个实际用例就是,如果您订阅了某个主题,但您只对发送某类事件的设备或某一类设备感兴趣,或者对这两类设备均有兴趣。 此处大多数的字段都是为了实现一致性,因为协议越简单,它们就越有用。
最后,确保驱动程序启用设置为"true",而且vscpd.conf位于/srv/vscp中。 由于某种原因,我将其存在/etc/vscpd中。现在,如果您进入界面选项卡,就会看到VSCP L2记录器,名字在vscpd.conf<name>标签中指定。
编辑
“测试系统”文件似乎出现了排版错误。vscpd.conf应当位于/etc中,而文件则为/srv。
我不知道网页为什么没有从能够获取时间的守护进程中获取日期。顺便说一句,Shutter运行良好,可以在udoo上截屏。 现在针对半有趣的玩意,我们来检查一些演示。在srv/vscp/web/testws/settings.js下方,取消注释下面的基本测试行,并从udoo本身查看演示。
然后,进入localhost:8080/testws/index.html 并单击testauth.html,应当会出现连接、请求、认证和响应的很长的日志。 之后,您可以点击任何演示,如谷歌图表,它会自动从仿真器驱动程序中获取数值。 您还可以手动在event.html页面发送事件,并查看所有仿真器事件的语法。此外,我还建议检查statebutton.html,其上有平面布置图和区分行为编程的按钮。使用演示3发送负温度,您应该能够看到下图的变化。
|