人们普遍认为,工业物联网(IIoT)有望为许多传统行业带来变革性影响。它不仅可以发现效率低下的流程,需要维护的工厂,还可以帮助管理提高资产利用率,而且还有望实现大量新业务服务。部署传感器(例如用于测量工业过程中的振动,温度和湿度的传感器)将为分析应用提供基础数据,以提取有用信息并控制工厂操作。由于许多组织都采用IIoT,因此越来越需要传感器和执行器来结合某种形式的显示功能。 IIoT的实际情况是,所有内容都是通过云应用程序实现自动化和控制的,这与当地运营和维护人员的需求不一致。对他们而言,一个好处是可以看到工厂指标,以便在问题变得严重之前帮助识别他们。在许多情况下,这个要求可以通过使用单个显示器来实现,该显示器显示来自多个传感器源的收集数据,理想情况是在功能工厂或资产级别。本文将展示如何通过结合无线连接的低成本,紧凑型显示模块来满足此要求。
为了从生产线上的多个点获取数据,首选路线已经过在关键位置添加低成本,电池供电的无线连接传感器。这种传感器的设计标准规定了低资源微控制器,无线模块和传感器元件。在许多情况下,微控制器和无线模块已成为一体,因为与运行无线协议栈相比,传感器数据的应用程序处理程度最小。对于嵌入式开发人员来说,这种传感器设备的设计是一项相对简单的任务。大多数开发时间可能用于实现省电睡眠模式,以平衡将功耗降至最低的需求,同时降低对应用响应的影响。
但是,需要添加显示器传感器的功能显着增加了设计复杂性。首先,从实用的角度来看,添加任何实际使用的屏幕尺寸可能会使物理尺寸加倍。其次,有功耗考虑因素。屏幕还将增加主机微控制器的存储器和计算规格,更不用说需要LCD控制器。在显示任何内容之前,开发人员需要准备字体和图像,如果要实现触摸屏,那些控制器也会起作用。
对于面向实现这种设计的嵌入式开发人员,有显然有很多选择。越来越多地,创建定制分立设计所花费的时间被视为一个缺点。一种可供采用的替代方案是使用紧凑的显示模块,该模块不仅将主微控制器与用户应用空间集成,而且还提供无线通信。一个例子是最近推出的4D系统的gen4显示器(IoD)系列(图1)。该模块基于Espressif ESP8266 Wi-Fi微控制器,提供电阻式触摸320 x 240像素TFT 65,000真实彩色显示屏,尺寸为2.4,2.8或3.2英寸。
图1:gen4互联网显示模块。
该模块具有512 kB的用户闪存和128 kB的SRAM,以及用于安装额外存储空间的microSD插槽图像并用于数据记录应用程序。 gen4-IoD 2.8英寸型号的整体尺寸为78.4 mm x 44.8 mm x 7.2 mm。最快的编程方法是通过免费下载的Arduino IDE。这种方法可以用最少的开发工具和资源实现设计概念的快速原型设计。需要gen4-IoD编程器适配器(图2)才能实现与USB主机的直接通信,允许通过10针FPC电缆连接任何4D系统gen4-IoD系列。
图2:gen4-IoD编程适配器。
使用Arduino IDE不仅提供了一种低成本且经过充分验证的gen4-IoD模块编程方法,还可以从广泛的ESP8266社区访问大量代码示例和资源。
从硬件角度来看,gen4-IoD得到了极好的支持,但开发人员会发现软件应用程序资源的程度特别好。为了便于创建基于图形的用户界面,4D Systems提供了GFX4d库。包括广泛的原始图形函数列表,可以从4D Systems GitHub存储库下载库和其他资源。该公司还提供了一个名为Workshop 4的图形开发环境,它通过使用小部件和基于布局的自动编码来加速GUI应用程序的开发。
为了说明如何使用gen4-IoD显示,让我们考虑一下我们希望从云平台接收和显示数据的要求。此外,假设数据是在工业过程中流过闸阀的流体温度的数据。显示器可能安装在离阀本身一定距离的位置,而温度传感器则可放置在阀门内或阀门上。正如文章开头所讨论的那样,传感器的设计规格可能与显示器的设计规格大不相同。
对于我们的示例,我们可以设置一个只模拟接收数据的应用程序。但是,在我们看一下gen4-IoD显示器的设计之前,让我们看一下使用现有资源创建物联网测试台的一些简单方法。由于我们的显示器只接收来自云的数据,我们需要找到一种方法将数据从传感器推送到云端。有许多具有这种能力的无头Wi-Fi单板计算机,其中一个例子是微型Adafruit Feather M0板。该电路板配备Microchip微控制器和Wi-Fi模块,完全支持Arduino IDE,可实现快速原型设计。现在让我们看一下如何将数据推送到物联网云平台。
物联网应用中最常用的协议之一是消息队列遥测传输(MQTT)。这种极其简单轻便的协议几乎可用于任何形式的网络。设备可以将数据“发布”到服务器,而另一方面,设备可以“订阅”从服务器推送数据的订阅源。在服务器上,一个名为MQTT代理的小应用程序处理订阅者和发布者之间的通信。您可以从应用程序中选择许多商用云平台,但是对于这个简单的示例,我们将使用Adafruit的Adafruit.IO平台。根据消息频率提供不同的使用计划,免费选项是原型设计的理想选择。 Adafruit提供了详细的入门指南,以便开始使用Feather M0板以及大量用于各种其他单板计算机的示例。在我们的例子中,我们使用了一个简单的草图,其中包含了Adafruit的MQTT库,该库将15°C和28°C之间的随机数生成的模拟温度值(图3)发送到Adafruit.IO。
图3:使用Adafruit Feather M0 Wi-Fi与Adafruit.IO进行通信的草图。
下图4中的Adafruit.IO仪表板已设置最多可以接收已发布的数据。我们现在有一个MQTT数据馈送,我们可以订阅我们的gen4-IoD显示模块。
图4:Adafruit.IO饲料仪表板。
我们使用gen4-IoD模块的第一个任务是设置GUI以显示通过我们想象的阀门的液体温度。我们使用Workshop 4 IDE来实现这一目标。在开始之前,请确保已从4D Systems站点下载并安装了最新版本的此版本。运行应用程序并打开一个新项目,从可用设置中选择gen4-IoD显示。有两个主窗口框架,左边生成的Arduino草图代码,右边是模块的虚拟显示。 (图5)。
为了使显示器尽可能方便用户,在彩色背景上添加一个简单的阀门图标。
图5: 4D Systems Workshop 4,右侧显示虚拟gen4-IoD。
工作室4有各种操作模式;上面说明的那个突出显示它可以在您设计GUI时生成Arduino代码。提供全面的小部件,提供预定义的按钮,仪表和显示元素,进一步加快设计速度。在此设计中,我们选择使用七段显示小部件,方法是将其从小部件栏拖动到阀门图像的中间。在图5中,在右下方框架中,您可以看到可以设置的七个段属性以适合您的应用程序。在这里,我们决定提供两位数字,没有任何小数。静态文本“Feed Valve 15”是显示屏上显示的唯一其他信息。
一旦排列了图像小部件,就可以选择“编译”以生成相关的Arduino草图,该草图显示在图5的左侧,该过程还创建了在将其插入gen4-IoD模块之前需要存储在microSD卡上的屏幕布局文件。此步骤还使用Workshop 4项目的文件名创建常量定义文件,在本例中为FeedValveConst.h,需要包含在主草图文件中。屏幕布局文件使用类似的命名约定。
下一步是为gen4-IoD显示创建主草图文件。您可以选择使用Workshop 4 IDE来准备草图,而不是使用Arduino IDE。但是,要做到这一点,您仍然需要在同一台计算机上加载Arduino IDE,因为Workshop 4将在编译和上载代码时对其进行后台调用。图6突出显示了主要的包含文件,其中包括ESP8266 Wi-Fi,4D系统图形库以及两个Adafruit MQTT文件。还包括Workshop 4 IDE创建的常量文件。然后,您需要输入SSID和密码参数,以便显示模块连接到您的Wi-Fi,然后输入用于创建Feed的Adafruit.IO用户名和密钥。
图6:包含用于设置gen4-IoD显示的文件。
在草图中,您还需要在设置部分输入许多命令以启动与图形库和显示功能。这些显示在图7的上半部分。图像元素iStatictext1等在常量文件中定义,随后使用语法gfx.UserImages(iStatictext1,0)等进行寻址。在这种情况下,值参数阀门温度,作为该函数的第二个参数传递。
图7:用于设置gen4-IoD显示功能的草图代码。
在上传之前,可以在Arduino IDE中编译完成的草图。如果尚未完成,则需要将gen4-IoD显示模块添加到可用板的列表中。模块的数据表中提供了完整的详细信息,但实质上它涉及在Arduino IDE首选项中添加板URL以提供ESP8266类别,您可以从中找到列出的gen4-IoD显示。请注意,有几个版本的“ESP8266 by ESP8266 Community”电路板管理器文件。应该选择2.3.0文件。
上传草图后,电路板应该开始运行,显示应该变为现实。使用串行监视器功能是一种非常方便的调试应用程序的方法。编写草图时,您始终可以自由使用Serial.print函数来指示程序的位置以及任何关键变量。在图6的右上角,当草图开始运行时,您可以看到串行监视器窗口。最初连接到无线接入点,它获取IP地址,然后连接到Adafruit.IO MQTT代理服务。然后订阅数据馈送并开始接收从羽毛M0板传递给馈送的每个更新的阀门。
图8显示了使用阀门图像和静态文本的gen4-IoD显示器与在Workshop 4中创建的完全一样。
图8:正在使用的gen4-IoD显示从Adafruit.IO接收数据。
结论
在本文中,我们在很短的时间内取得了很多成就。我们已经看到开始将数据推送到云IoT应用程序然后将其接收回模块不仅集成了计算和通信功能,而且还有显示器是多么容易。虽然此示例中的显示布局非常简单,但只需几分钟即可完成。无需担心必须创建字体或任何特殊图像,库或驱动程序。此外,由于显示器由一个非常流行的无线微控制器平台托管,开发人员可以放心,有来自扩展的用户社区的支持。访问免费的云资源,MQTT代理服务以及所有必需的驱动程序和库文件,可以轻松进行原型设计。
-
传感器
+关注
关注
2552文章
51219浏览量
754624 -
显示器
+关注
关注
21文章
4987浏览量
140120 -
物联网
+关注
关注
2909文章
44741浏览量
374526
发布评论请先 登录
相关推荐
评论