云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

轻量服务器_阿里云快速建站_优惠

小七 141 0

云存储_徐州市网站建设_多少钱

一段时间以来,云服务器服务器,B1i发布了其ECMA适配器(可在所有硬件平台上使用),以加快具体适配器或物联网世界中传感器接口应用程序的开发。但是,为了赶上速度,最快的方法是什么?

这个小型ECMA Adapter Cookbook博客(也可以被设计成"辅助垛式指南")将展示一条通往快速成功的有希望的道路。一切的基础都是在以前的岗位上打下的"B1i GY302适配器,Mk I:基础"和"B1i GY302适配器,Mk II:H[e]a[n]ds开!"作为一个具体的例子,BME280湿度、温度和大气压传感器的实现展示了这样一个项目的具体外观。

BME280是一个围绕环境值(温度、湿度、大气压)的同一个命名的Bosch传感器的转接板,适用于环境中使用RasPi或Arduino环境。它通过I2C总线协议公开了它的功能。

关于如何在B1i中快速使用传感器/为它们制作适配器,出现了一个普遍的问题:非常困难的方法是通过阅读数据表和编写必要的代码来从头开始构建,例如针对BME280的代码。如您所见(也参考了所附的C代码),这根本不是一个简单的方法……

因此一般来说,对于B1i中的传感器/适配器开发,有必要找出编码方面已经存在的内容:

如果您在Arduino中开发,您可以在社区中搜索(主流;您总是可以找到多个选项),例如文章。如果您为Atmel微控制器(如在我们的演示机器)中显式开发,您也会搜索ARDUINO社区,认识到ARDUINO库不是任何其他的C++库,它公开对象并将细节隐藏到观众。因此,您将C++代码转置为C。如果你使用的是Raspi和Python,那么你也是主流,可以搜索社区(也可以找到多种选择)如果你使用的是B1i,那么你使用的是Java,而且……从第一个角度来看,大数据解决方案,这很不走运,因为RasPi上的Java并不像Python那样主流!在BXI上的XXPI中,B1I暴露的java库PI4J公开了硬件,而这些硬件又依赖于C-API WiRIPPI,B.T.W.也是Python的底层基础。但这是官方铺设道路的终点……

但情况并不像看上去那么糟糕:由于B1i中的通用ECMA(Meta-)适配器,Javascript应运而生。在面向对象编程中,ECMA适配器可以被看作是真正适配器的一种抽象基类。具体来说,ECMA适配器意味着拥有基于ECMAScript V5的Nashorn Javascript引擎,以及V6的一些预览特性,店铺淘客,如本文所示,但是ECMAScript和RasPi仍然没有社区。但是有着巨大的社区和生态系统(也有它出现在拉斯皮)的是节点.js框架:确实存在无数(有时是特定于硬件的)传感器模块/库和其他任何东西。所以结论是:如果您想在B1i中实现(基于Javascript的)适配器(同时,但不只是在RasPi上!),在上面寻找蓝图节点.js第一!

这样做的基本挑战是节点.js比B1i有另一个环境/基础。这具体意味着:

找到一个实现/为底层技术基础做一个小的粘合层:传感器的技术连接总是相似的:使用GPIO、I2C、SPI、USB、1线、RS232、RS485。因此,在大多数情况下,一旦以合适的方式提供了这种连接,就有必要对特定的应用程序进行模拟节点.js模块:因为这些较高级别的模块(例如,下面的模块用于BME280)通常也依赖于此类较低级别的传输协议模块。对这样一个较低级别的传输协议模块的仿真应该没有那么困难,因为它们通常非常小并且功能简单。一旦完成,就有很大的机会为将来的项目重新使用。可能将ECMAScript 6或更好的语法重新调整为ECMAScript 5:节点.js是实现了所有最新ECMAScript特性的各方之一。另一方面,实现V5的Nashorn总是有一些特性滞后。因此,如果您在源代码中遇到一个"类",则需要转换为以另一种方式实现此功能的窗体。好消息是:在旧的ECMAScript版本中,没有完全不可能用另一种方式实现的showstepper特性。作为最后的救援,Java可以来帮忙(原版中缺少的东西)节点.js).设计一个合适的特定于适配器的XMLJSON数据传递和潜在的适配器参数化。这是一个具体的(但不是火箭科学)任务。

对于具体的情况,整个任务最好被组织成3个不同的逻辑部分(意味着Javascript源文件)。它们是(按必要的依赖顺序):

i2c\U节点_emu.js公司这是i2c"类",它模拟所使用的节点.jsi2c模块:一方面,它向顶部模拟所需的API。在底层,它需要使用PI4J的I2C工具,为此,有必要深入到Java。一个具体的低级警告是正确处理原始二进制字节到相应Javascript数的转换。CLCL\u bme280.js文件这是美国采用的高级BME280模块节点.js,使用低电平I2C模块:这里没有什么要做的,网建站,它基本上包含了与硬件无关和以Javascript为中心的"业务逻辑"。这正是寻找不可用的Javascript特性来支持端口的地方。bme280型_适配器.js最后,这是B1i特定的适配器模块,大数据分析是什么专业,需要执行数据传递和检索I2C设施:为了得到它们,B1i PI4J曝光(Pi4JResourceDispenser)的一小部分API需要以一种并发兼容的方式使用它(奇怪的是,所有这样的传感器编码都认为它是机器上唯一执行的东西)。实际上,并发兼容的执行是通过将整个I2C活动嵌入B1i为I2C总线提供的before-after模式来完成的。数据转换(=封送)通过B1i接口API for Javascript execution(scriptIO)使用B1i方便的XMLJSON payloadtype转换工具(JSONPltConf)完成。

从Javascript的角度来看,如何在