可视化从串行端口到Web服务的数据,而无需部署Apache

对于许多初学者来说,通过wifi路由器从任何设备管理arduino都是梦想成真。作为优秀的初学者,我们还决定尝试一下。



在搜索了几篇habr文章之后,例如“将数据从COM端口重定向到Web”“通过Web轻松控制Arduino”,我们决定开发自己的Web服务器以与COM端口交换数据并将其输出到Web服务器。此外,应该单击几次即可部署服务器。

为此,他们使用文章“在15分钟内使用C#编写多线程服务器”,编写了一个服务器,我将不提供其全文,但最后我将保留指向github的链接,每个人都可以对其进行测试,并根据需要进行任何可行的更改。当然,很多时间都花在了上面,写“服务器已写”非常简单,手几乎没有抬起头,但是,恐怕对于微控制器相关人员来说,这种描述将毫无意义。让我们注意使用微控制器:在github上使用Arduino时,您会发现一个库,该库可让您创建极其清晰的代码。

因此,继续使用githaba ServArd.exe和Arduino库(ArdServ)。

我建议您只需将Arduino的数字42输出到Web服务器因为这就是生命的意义,因为您可以输出任何变量。显示按钮,即闪烁LED或打开房屋中的某些电器。

还值得尝试使用一个单独的模块,该模块可以杀死50%的时间,这是压电元件的音乐编辑器。

这是arduino的草图代码:

#include "ArdServ.h"
  int outputPin = 2;                //   
  int MusicPin =6;
  float Param=42.00;
  ArdServ A;
void setup() 
{
      pinMode(outputPin, OUTPUT);
      Serial.begin(9600);
}
void loop() 
{
         if(A.ReadCmdFromSrv()==0)
         {
            A.textSend(" ",Param,0); 
            A.buttonSend(" ",outputPin); 
            A.melodySend(" ",0,MusicPin);
            A.endBlock();
         }
}

if(A.ReadCmdFromSrv()== 0)-如果命令来自服务器,则更新数据。

A.textSend(“您的参数”,参数,0)-创建输出参数名称“您的参数”,参数参数值,在我们的例子中是42.0-1,请勿使用/使用图形(开发中)。

A.buttonSend(“绿色LED”,outputPin)-创建一个名称为“绿色LED”的按钮,3-该按钮启用的端口号。

A.melodySend(“播放音乐”,0,MusicPin)-创建音乐的输入字段。 0压电元件(将来我们将尝试完成复音),MusicPin引脚上我们悬挂了压电元件。

A.endBlock(); -确保以该块结束代码。

因此,在数据更新块和结束块之间可以是任何代码,可以具有任意数量的参数。网站本身将选择草图中指定的所有字段并以正确的顺序排列。

有关所描述草图的操作的视频:



我们的github

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


All Articles