嵌入式 ARM 网络服务器怎么搭建?(或上位机怎样控制ARM板)
嵌入式 ARM 的网络服务器怎么搞,我是想把ARM板子搭建成网络服务器,并且客户端(Web)只需使用浏览器输入ARM的IP地址就可以动态浏览到电机的转速等什么的,现在有几个问题;使用BOA
1.通过Web端将电机的调速参数以HTML的方式传到ARM的服务器上去,然后电机本身是一个线程在运行,这时候的怎样通过CGI来把这个数据传到电机运行的这个线程上去?
(或者,线程中电机运行的电机一些变量参数怎样通过CGI来放到ARM板上的网络服务器上去,才能使Web端调用BOA服务器并显示到浏览器上去)
2:BOA 服务器是干什么用的?
3:CGI 在这个服务器里是做什么的?
4:在浏览器的界面里,怎么给电机发送参数?
5:做这个服务器的流程是什么?一层一层的关系是什么?
这方面完全没有搞过,思路不是很清晰,求高手指点
你电机所在的线程的进程应该是和CGI两个进程,需要做进程间通信,CGI将参数传递给电机的进程,然后读电机的转速。至于电机的线程如何获得数据,就是线程间的通信了。
如果想不停的读取电机转速,必须在页面上做刷新,不停的调用CGI去读,需要用jscript,ajax等等
也可以不用cgi的方式,自己做webserver 为什么一定要让ARM去做服务器,电脑端做服务器不行吗? 不需要cgi 用appweb 或者goahead webserver和你的程序融为一体
或者使用openwrt luci模式 使用https://embedthis.com/appweb/
最简单 用裸机做过:
1,开一个TCP server监听80端口。
2,收到的数据分析,是什么页面,什么参数。然后生成要显示的页面,写入tcp返回给client
3,分析收到的参数,判断到要干什么动作,调用相应函数。
参数用get方式传递,只适合简单的页面,简单的事情。 我建议用golnag,但是需要是linux系统,在windows下就可以编译代码,而后放到合适位置就好,非常简单。 可以直接用php,配合linux系统 hyghyg1234 发表于 2016-12-28 14:58
为什么一定要让ARM去做服务器,电脑端做服务器不行吗?
因为工作需要吧,用电脑就体现不出ARM的作用了 yick 发表于 2016-12-28 19:14
因为工作需要吧,用电脑就体现不出ARM的作用了
我之前也研究过arm做服务器,感觉太鸡肋了,不管是用linux或者WIN做服务器都很好搞,用STM32太麻烦了。 albert.hu 发表于 2016-12-28 15:04
你电机所在的线程的进程应该是和CGI两个进程,需要做进程间通信,CGI将参数传递给电机的进程,然后读电机的 ...
你说的对,关键就是CGI的进程和跑电机程序的进程的通信,我这样想的,先验证整体是不是可行,不用进程间通信,之家通国CGI的获取环境变量,通过环境变量来改变电机的转速,这个时候跑电机的程序会停一下么?(只是实验阶段) yick 发表于 2016-12-28 19:19
你说的对,关键就是CGI的进程和跑电机程序的进程的通信,我这样想的,先验证整体是不是可行,不用进程间 ...
你自己做个webserver就可以了,这方面网上应该有很多源码,就像路由器一样,简单的固定页面返回 ericdai 发表于 2016-12-28 15:16
使用https://embedthis.com/appweb/
最简单
网上有人用goahead,但是接触不多,就没关注 yick 发表于 2016-12-28 19:59
网上有人用goahead,但是接触不多,就没关注
比你自己做简单安全 你要用CGI其实也可以,但是实际上换不如goahead
根据个人经验,其实web开发起来不方便,只是使用方便。开发最方便的还是udp,就跟串口一样。 youkebing 发表于 2016-12-28 15:21
我建议用golnag,但是需要是linux系统,在windows下就可以编译代码,而后放到合适位置就好,非常简单。 ...
go可以对arm的linux直接做交叉编译吗? redroof 发表于 2016-12-28 21:00
go可以对arm的linux直接做交叉编译吗?
可以,在win上就可以交叉编译,网上有这样的介绍,我也实验过。 ericdai 发表于 2016-12-28 20:27
你要用CGI其实也可以,但是实际上换不如goahead
那我要好好看看了 ericdai 发表于 2016-12-28 15:16
使用https://embedthis.com/appweb/
最简单
这东西怎么用的? ericdai 发表于 2016-12-28 15:16
使用https://embedthis.com/appweb/
最简单
多谢,有时间研究一下 quzegang 发表于 2016-12-28 16:30
可以直接用php,配合linux系统
php不会,如果用的话,估计会走很多弯路i justdomyself 发表于 2016-12-28 22:31
这东西怎么用的?
就是个c库 和你的程序一起编译 Embedding Appweb
When extending and embedding Appweb in your application or system, you have three options:
Use the existing Appweb main program and extend Appweb via a loadable module.
Use the existing Appweb main program and extend Appweb via the ESP web framework.
Link the Appweb HTTP library with your application main program. 要是有个详细的入门介绍就好了 goahead很适合搞这个吧。
要是嫌移植和学习goahead麻烦,自己写个server也可以,监听某个端口,收到连接了处理http头部,实现基本的get post即可,post发过来的调速参数想怎么存储怎么存储,post和get就几个固定的url,都可以在程序里写死,get对应的几个url如果复杂就单独写成html文件,不复杂,改变不多也可以写到程序里。 javenreal 发表于 2016-12-28 15:17
用裸机做过:
1,开一个TCP server监听80端口。
2,收到的数据分析,是什么页面,什么参数。然后生成要显示 ...
对,暂时就先做些简单的事情 zxq6 发表于 2016-12-28 20:49
根据个人经验,其实web开发起来不方便,只是使用方便。开发最方便的还是udp,就跟串口一样。 ...
如果用UDP的话,就差太远了 libmicrohttp 实时数据json格式输出,前端页面ajax定时去请求 这个莫元怎么给别人 这个答案好多都是对的,但是悬赏只能给一位,不好分,不好意思啊。
页:
[1]