现场总线技术的定义实时数据传输与设备控制测试Arduino代码示例及功能介绍现场总线技术革新
业界认为,物联网(IoT)对紧凑型无头微板的快速增长起到了重要作用,这些板专为传感器和致动器等多种边界节点设备而设计。凭借其无线微、少量I/O和极低能耗,此类开发板和模块将成为众多将数据馈送至云分析服务的设备。许多应用都要求更多计算资源、操作员接口和连接选项。不论是执行网关功能、聚合许多传感器的数据,还是启动本地控制或多种功能,都需要具有更多功能和资源的单板计算机。制造商们在设法打造可满足每件设备所有不同需要的嵌入式器件,他们多数会选择一种平台方法——使用一块嵌入式主板并按需添加外设。
对于中小批量,在市场上大量越来越流行的开源单板计算机(SBC)中选择一台的优势更加显著。这不仅可以省去大量NRE成本、无线监管认证和软件启动,还让开发团队可以在设计的应用程序方面快速上手,而不必对可能需要集成的各种器件进行评估、设计和原型开发。对于许多工程团队,IoT的一个显著影响是,处理新项目的方式会有根本性转变。团队可能完全有能力从零开始设计嵌入式板,但在很紧凑的期限内交付工作设计才是最终目标。
对于在创建自己的开发板前使用SBC平台快速评估设计的人来说,访问所有机械文件、布局和BOM都很有必要。在图1中,我们可以看到一个代表性的SBC——UDOONeo,它分为基本版、扩展版及完整版,是一个全面的低成本系统,其核心是一个基于适合Android与Linux运行环境Freescalei.MX6SoloX应用处理器构建。
这款Freescale芯片配备了一个运行频率为1GHz强大单核ARM®Cortex®-A9处理器,以及一个200MHz高效ARM Cortex-M4实时协处理器。这两者通过高速AXI总线连接,为共享硬件实施功能提供了便利,如GPIO、UART等。此外,它们还允许复用配置,以决定哪个内核应分配这些外设功能。
UDOO Neo完整版配备了1GB闪存,以及丰富的地理位置信息(GPS)、串行接口、高级Wi-Fi 802.11b/g/n支持以及蓝牙(BLE)连接。此外,它还带有一套运动传感组合,有加速度计、三轴陀螺仪以及磁力计,可以适用于工业环境中的广泛应用。而且,由于其灵活性,可以根据需求定制输入输出配置,使其变得非常符合实际情况。
从操作系统角度看,该Cortex-A9内核能够运行Android Lollipop或Udoo Ubuntu (14.04LTS),而Cortex-M4则拥有Arduino环境的一次堆栈访问权限,并且支持Arduino扩展排针,使得它更具灵活性。在图2中显示红色的是默认分给Cortex-A9管理,而绿色的内部引脚由尺寸相同于Arduino UNO标准排针输出到Cortex-M4控制,因此这些引脚既可以直接来自文件系统(Linux/Android)控制,也可以被 Arduino代码利用。
此卡片由6–15VDC电源供电,并且所有GPIO均为3.3VDC。在图3所示框图中,我们看到基于i.MX应用处理者的主要组成部分及其接口展示了这一点。如果您的预期应用不需要那么多传感或内存,那么您也可以选择基本或扩展版本以节省成本,对于很多远程场景,无头配置也是可取方案,只需通过SSH远程端子或者类似端子与之通信即可实现控制。
进入到具体技术细节的话,Neo入门再简单不过,用以运行必要信息及更全面的配置代码示例都能找到在Wiki-style网站上;如果需要,更全面布局文件还有BOM清单也有提供。不过这个卡片没有安装任何操作系统,您必须准备容量至少8GB以上microSD卡,然后下载所选操作系统并解压缩到PC电脑之后,将microSD卡插入卡槽或USB适配,再通过命令行完成映像写入后记得同步弹出以正确关闭映像写入过程,最终把microSD卡放回Neoboard,让它通电,一切就绪后,就能看到LED灯闪烁,如果你选择Linux,你甚至能立刻进入Ubuntu桌面用户界面,而且预装着ArduinoIDE使得一切就像是家常菜一样简单快捷!
然后就是Web控制面板,你可以通过轻松移动Neoboard测试加速度计陀螺仪磁力仪轴度数据,同时也提供了一些测试代码草稿样本,比如那个经典“闪烁”例子,从而让初学者迅速体验编程乐趣。而且,不同于其他一些复杂难用的工具,这里的WebIDE采用了一种新的互联逻辑块形式,即Ardublocky,使得编码变得直观易懂,就像是玩积木一样简单。你只需点击几下按钮,就能创建出你想要的小程序!
最后值得提醒的是,对于那些想深化探索 GPIO 的人来说,每个引脚都是独立管理,不论是否被设置成输入输出状态,都能够产生硬件触发事件。当它们作为输出时,可以设置0 或 1 值,当作输入时,可读取当前值。如果你的项目对实时性能要求极高,那么理解如何有效地利用这些数字信号将成为关键之一步迈向成功!