Arduino Mega服务器

图片

是的,这又是Arduino,但不要急着关闭页面,这一次您正在等待真正新的有趣的东西。基本上,本文将重点介绍Arduino Mega微控制器板和Ethernet Shield W5100网络接口卡,以及如果您允许自己超越构造型,则可以用它们完成的奇迹。

那么,什么是典型的Arduino开发板?具有可笑的RAM数量(在Mega中为8 KB)和相同数量的闪存(对于Mega为256 KB)的“差” 8位微控制器。扩展卡为环境增添了生气,在我们的例子中是以太网屏蔽,但从根本上讲,它什么都没有改变。此类板的范围包括边缘工艺和著名的LED闪烁。

但这一直到最后一刻。自然界中现在有了一个Arduino Mega Server,它从根本上改变了一切。例如,如果遇到以下语句,您会说什么:
  • 在Arduino上,您可以组织功能全面的Web服务器,而对文件的大小和数量没有限制?
  • 动态更新内容而无需停止服务器?
  • HTML5, CSS3, JavaScript, Ajax, Processig, THREE.js, . .?
  • «» ( )?
  • , , ( 32 )?

您会说这根本不可能。

但是,这是事实。并且您可以将分发工具包下载到计算机上并亲自查看(Habr除外,这是一个假设的示例)。

有什么秘诀?一切都非常简单。网络接口板支持连接最大32 GB的SD存储卡,没有什么可以阻止我们使用它来存储Web服务器文件和实际内容。您只需要解决将所有这些财富集成到一个系统中的问题。

为了使所有这些工作正常进行,您需要为Arduino编写一个服务器引擎,并教他如何根据浏览器的要求显示闪存卡的内容。实际上,几乎所有东西。您还需要以某种方式“实时”组织服务器文件和内容的更新,以使您不必每次需要更改服务器配置或更改内容时就可以起床,关闭Arduino的电源并卸下存储卡。或在内容中。这项艰巨而艰巨的任务委托给了Arduino Serial Commander,后者控制着文件下载到正在运行的服务器的过程,而不会停止它。

图片

如果一切都这么简单,那为什么以前没有做过呢?这确实是一个问题。我的版本是思维定型观念。他们告诉您这是一个8位控制器,THREE.js还有什么?什么托管?你在说什么?公平地说,我必须说难题的所有部分都已经存在于自然界中,但是它们以完全不雅的形式存在-以完全脱离现实的抽象服务器形式,或者以Ajax示例的形式存在,但又只有两个抽象按钮,目前尚不清楚该怎么办。

应用领域


现在,让我们谈谈这项技术的应用,以及实际上有什么奇妙和有用的技术。

必要的解释。该名称包含“服务器”一词,本文的第一部分是有关系统的服务器功能的。这可能会使您误入歧途,并给人一种印象,该系统的主要目的是托管文件和站点以及分发内容。这并非完全正确。该系统的瓶颈在于SD卡的速度,当然,用真正的Web服务器替换微控制器将失败。

该系统的含义有所不同。与Arduino Mega Server一起使用,您可以使用Web界面方便地管理设备,并且可以使用现代技术的所有强大功能(HTML5,CSS3,THREE.js等)简单豪华地(在视觉上)显示其工作结果。无论是用于智能家居,温室,自动售货机,气象站的控制系统,还是任何您想像得到的东西。

图片

系统应用的另一个有趣的领域是(交互式)自文档化。例如,您发现在一个尘土飞扬的食品储藏室(您或您的客户的)中,微控制器不清楚如何操作(很久以前,所有文档都丢失了)。您所需要的只是去他的网站,获得有关连接,协议,环境等的全面信息。毕竟,我们对存储文件的数量没有限制。该文档可以是交互式的。例如,控制器的引脚排列不仅在页面上绘制,而且可以实时更新(状态,电位等)。您可以立即看到它起作用的方式和方式,以及它失效的方式和方式。

图片

机上除了服务器外还有什么


我非常关注服务器功能,但这只是系统的一部分。除服务器外,Arduino还包含适用于所有场合的代码:
  • 温度测量
  • 被动红外传感器的维护
  • 接触式传感器维护
  • 实时时钟
  • 用于监视和测量13个通道的网络电压和电流的模块
  • LED灯条模块
  • 网络设备可用性确定模块
  • 用于SD存储卡的模块
  • 用于通过网络接收和发布命令的模块
  • 集成模块与家庭自动化系统
  • 和许多其他功能以及创建新功能的能力

支持模块化结构和模块的选择性编译。代码的浏览器部分可以识别是否存在已编译的模块,并允许您直接从网页上动态启用或禁用它。

图片

与MajorDoMo集成


从历史上看,Arduino Mega Server(以下称为AMS)是与基于MajorDoMo开放平台的家庭自动化系统结合并作为其一部分开发的,并已对该平台内置了“本机”支持。他可以将状态和数据进行分析和存储,发送给他的“哥哥”,并通过网络从他那里接收控制命令。

此外,目前,AMS正在所谓的工作中。串联模式,即对于某些功能,使用MajorDoMo服务器的资源。但是,Mega Server的协同工作是无原则的,它可以完全自主地工作。

图片

辅助技术


在该项目的框架内,实施了一些有趣且独特的技术,例如,微控制器的CPU级别指示器。这很方便,因为您可以立即看到控制器的繁忙程度及其当前的状态。我不知道这有什么独特之处,但是我在网上找不到任何类似的东西,尤其是具有精美图形和网页的易消化形式。

图片

已经创建了一个电子模块,用于监视电源电压和另外13个电流通道。通过安装在配电盘中,您可以直接或间接监视房屋中的所有电气活动。当打开和关闭特定设备时,它消耗多少电量以及其对电费金额的影响是多少。它还使您可以间接跟踪房屋中是否有人。

图片

已经创建了一个模块,用于可视化和控制13个通道中任何一个上的电源电压和电流的形状。另外,当Arduino实时将动态信号(波形)传输到您的网页时,将添加一个网络示波器。据我所知,它也没有类似物。

图片

为现代信息显示面板添加了屏幕保护程序模块。您可以从屏幕上删除所有技术信息,而仅在必要的背景下保留美丽的图片。事实证明,诸如大或小面板的框架中的图片之类的东西。

图片

仍在执行的事情包括市电电压频率表,可用于警告不久的将来可能发生的故障,例如用于216个对象/子系统/功能的多功能3D系统状态指示器,该指示器在站点的标题中旋转。其含义是您一眼就能评估复杂系统的状态。

依此类推,等等。更多的技术超出了此页面的适用范围。所有这些都在具有8 KB内存的8位微控制器上运行,简直令人难以置信。

图片

前景展望


前景是无限的。您可以使用任何技术来实现,甚至是最出色的项目。例如,分布在控制器上的智能家居智能,控制器在网络上的动态刷新(取决于某些条件)以及在铁级的智能家居的动态重新配置,为“确实很糟糕”的Arduino Uno提供Web界面等。更不用说聪明的酿酒厂和家里的每个花卉网站以及他们的个人博客。

为此,除了Arduino,Ethernet Shield,AMS,SD卡和您的想象力之外,您将不需要任何其他东西。

图片

商业前景


您只需将所需的所有物品放入盒子中,然后为任务添加AMS固件,即可出售设备。客户打开设备并通过完整的Web界面对其进行控制,而无需任何其他操作。而且,如果您仍然考虑在不使用烙铁的情况下连接设备和传感器,则可以进一步扩大潜在客户的范围。

不用烙铁怎么办?(自称为)开放式家庭自动化标准(OHAS)标准以及一键式连接的传感器将帮助您实现这一目标,但这是另一回事了。如果有意思的话,我将在这里描述更多的“突破性”技术。

项目状态


项目状态为Alpha版本,一切正常,但所有工作都需要完成。如果您有需求和适当的资格,则可以加入该项目并加快开发过程,并获得无与伦比的支持者。或者,您可以下载源代码并创建您的梦想项目。

该项目是完全开放的,对其使用没有任何限制。您可以自由地将其用于任何目的,包括用于商业目的,更改代码,对其进行修改,在GitHub上创建您自己的项目等。

图片

您可以在该项目官方网站上下载最新版本。如果您有任何疑问,可以在论坛上提问。该论坛还提供了有关安装和配置AMS的说明。

朋友们!我忘了提到项目的另一个,也许是最重要的部分。这是一种学习功能。如果您开始处理项目并更改任务代码,那么您将快速学习实践许多现代技术,例如HTML,CSS,JavaScript,浏览器之间的交互,在浏览器中调试代码,Arduino编程,Processing等。

还有最后一个。该项目字面上充满了想法和排他性。您可以简单地为自己的项目使用必要的代码,对其进行补充和改进。

加法一个Youtube频道已打开,这是Arduino Mega Server 促销视频,演示了如何在真实系统上工作。

Source: https://habr.com/ru/post/zh-CN382177/


All Articles