在我们决定旅行的几天后,我想我不得不在我们不在的时候监视房子。因此,我需要将微控制器连接到设备并通过Web界面控制它以打开或关闭它们,我想要做的是将我的家用PC变成服务器并且我已经安装了apache并配置它,现在通过我需要通过DB9端口发送串行数据的网页来控制微控制器。问题是,从HTML发送串行数据的最佳方法是什么?它是通过JavaScript还是其他东西?怎么样?
答案 0 :(得分:0)
简答:
HTML
的Javascript
...和1种支持TCP套接字和设备的语言(用于DB9)。
这可以是c,c ++,python,ruby,c#,Objective-C,Java等。
长答案: 此系统将包含3个组件:
Web服务器(HTML / Javascript / CSS)
RESTful服务器(C或Java或其他)
DB9串行服务器(Tiny C / Assembly / Other)
实现这些结果的最佳方法是创建一种所谓的RESTful API服务器,该服务器采用与您的操作系统完美集成的语言编写。您必须编写一个接受TCP连接的程序,最好是通过端口80或443(为安全起见)。然后程序将解析http数据,标题和正文等,并相应地向微控制器发出命令。
这是关于休息的好指南: Dr. Dobbs Rest
我假设您知道如何通过串行线路发送数据。如果您在linux中并且已经安装了一个" dev"您可以只写入相应文件的目录。在其他情况下,我编写了linux程序" screen"之前。
您可以使用任何可以访问TCP套接字的语言编写服务器程序,这通常可以通过操作系统上的sys调用来实现。
RESTful API可以与您的实际HTML服务器程序分开......这是apache。然后在您提供的html内容中,添加一个javascript onclick事件,该事件将向您的restful服务器发送一个restful请求。