搜索
bottom↓
回复: 30

嵌入式 ARM 网络服务器怎么搭建?(或上位机怎样控制ARM板)

[复制链接]

出0入0汤圆

发表于 2016-12-28 14:34:12 | 显示全部楼层 |阅读模式
嵌入式 ARM 的网络服务器怎么搞,我是想把ARM板子搭建成网络服务器,并且客户端(Web)只需使用浏览器输入ARM的IP地址就可以动态浏览到电机的转速等什么的,现在有几个问题;
使用BOA

1.通过Web端将电机的调速参数以HTML的方式传到ARM的服务器上去,然后电机本身是一个线程在运行,这时候的怎样通过CGI来把这个数据传到电机运行的这个线程上去?
(或者,线程中电机运行的电机一些变量参数怎样通过CGI来放到ARM板上的网络服务器上去,才能使Web端调用BOA服务器并显示到浏览器上去)


2:BOA 服务器是干什么用的?

3:CGI 在这个服务器里是做什么的?

4:在浏览器的界面里,怎么给电机发送参数?

5:做这个服务器的流程是什么?一层一层的关系是什么?
这方面完全没有搞过,思路不是很清晰,求高手指点

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2016-12-28 14:34:13 | 显示全部楼层
你电机所在的线程的进程应该是和CGI两个进程,需要做进程间通信,CGI将参数传递给电机的进程,然后读电机的转速。至于电机的线程如何获得数据,就是线程间的通信了。

如果想不停的读取电机转速,必须在页面上做刷新,不停的调用CGI去读,  需要用jscript  ,ajax等等

也可以不用cgi的方式,自己做webserver

出0入0汤圆

发表于 2016-12-28 14:58:08 | 显示全部楼层
为什么一定要让ARM去做服务器,电脑端做服务器不行吗?

出0入0汤圆

发表于 2016-12-28 15:15:59 | 显示全部楼层
不需要cgi 用appweb 或者goahead webserver和你的程序融为一体
或者使用openwrt luci模式

出0入0汤圆

发表于 2016-12-28 15:16:50 | 显示全部楼层
使用https://embedthis.com/appweb/
最简单

出0入0汤圆

发表于 2016-12-28 15:17:04 | 显示全部楼层
用裸机做过:
1,开一个TCP server监听80端口。
2,收到的数据分析,是什么页面,什么参数。然后生成要显示的页面,写入tcp返回给client
3,分析收到的参数,判断到要干什么动作,调用相应函数。

参数用get方式传递,只适合简单的页面,简单的事情。

出0入89汤圆

发表于 2016-12-28 15:21:48 | 显示全部楼层
我建议用golnag,但是需要是linux系统,在windows下就可以编译代码,而后放到合适位置就好,非常简单。

出0入0汤圆

发表于 2016-12-28 16:30:30 | 显示全部楼层
可以直接用php,配合linux系统

出0入0汤圆

 楼主| 发表于 2016-12-28 19:14:37 | 显示全部楼层
hyghyg1234 发表于 2016-12-28 14:58
为什么一定要让ARM去做服务器,电脑端做服务器不行吗?

因为工作需要吧,用电脑就体现不出ARM的作用了

出0入0汤圆

发表于 2016-12-28 19:17:43 | 显示全部楼层
yick 发表于 2016-12-28 19:14
因为工作需要吧,用电脑就体现不出ARM的作用了

我之前也研究过arm做服务器,感觉太鸡肋了,不管是用linux或者WIN做服务器都很好搞,用STM32太麻烦了。

出0入0汤圆

 楼主| 发表于 2016-12-28 19:19:37 | 显示全部楼层
albert.hu 发表于 2016-12-28 15:04
你电机所在的线程的进程应该是和CGI两个进程,需要做进程间通信,CGI将参数传递给电机的进程,然后读电机的 ...

你说的对,关键就是CGI的进程和跑电机程序的进程的通信,我这样想的,先验证整体是不是可行,不用进程间通信,之家通国CGI的获取环境变量,通过环境变量来改变电机的转速,这个时候跑电机的程序会停一下么?(只是实验阶段)

出0入0汤圆

发表于 2016-12-28 19:23:10 | 显示全部楼层
yick 发表于 2016-12-28 19:19
你说的对,关键就是CGI的进程和跑电机程序的进程的通信,我这样想的,先验证整体是不是可行,不用进程间 ...

你自己做个webserver就可以了,这方面网上应该有很多源码,就像路由器一样,简单的固定页面返回

出0入0汤圆

 楼主| 发表于 2016-12-28 19:59:38 | 显示全部楼层
ericdai 发表于 2016-12-28 15:16
使用https://embedthis.com/appweb/
最简单

网上有人用goahead,但是接触不多,就没关注

出0入0汤圆

发表于 2016-12-28 20:02:24 | 显示全部楼层
yick 发表于 2016-12-28 19:59
网上有人用goahead,但是接触不多,就没关注

比你自己做简单安全

出0入0汤圆

发表于 2016-12-28 20:27:40 | 显示全部楼层
你要用CGI其实也可以,但是实际上换不如goahead

出0入22汤圆

发表于 2016-12-28 20:49:20 来自手机 | 显示全部楼层
根据个人经验,其实web开发起来不方便,只是使用方便。开发最方便的还是udp,就跟串口一样。

出300入477汤圆

发表于 2016-12-28 21:00:39 来自手机 | 显示全部楼层
youkebing 发表于 2016-12-28 15:21
我建议用golnag,但是需要是linux系统,在windows下就可以编译代码,而后放到合适位置就好,非常简单。 ...

go可以对arm的linux直接做交叉编译吗?

出0入89汤圆

发表于 2016-12-28 21:11:33 | 显示全部楼层
redroof 发表于 2016-12-28 21:00
go可以对arm的linux直接做交叉编译吗?

可以,在win上就可以交叉编译,网上有这样的介绍,我也实验过。

出0入0汤圆

 楼主| 发表于 2016-12-28 21:27:38 | 显示全部楼层
ericdai 发表于 2016-12-28 20:27
你要用CGI其实也可以,但是实际上换不如goahead

那我要好好看看了

出0入8汤圆

发表于 2016-12-28 22:31:47 来自手机 | 显示全部楼层
ericdai 发表于 2016-12-28 15:16
使用https://embedthis.com/appweb/
最简单

这东西怎么用的?

出0入0汤圆

 楼主| 发表于 2016-12-28 22:33:05 | 显示全部楼层
ericdai 发表于 2016-12-28 15:16
使用https://embedthis.com/appweb/
最简单

多谢,有时间研究一下

出0入0汤圆

 楼主| 发表于 2016-12-28 22:33:57 | 显示全部楼层
quzegang 发表于 2016-12-28 16:30
可以直接用php,配合linux系统

php不会,如果用的话,估计会走很多弯路i

出0入0汤圆

发表于 2016-12-29 07:59:00 | 显示全部楼层

就是个c库 和你的程序一起编译

出0入0汤圆

发表于 2016-12-29 08:01:56 | 显示全部楼层
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.

出0入0汤圆

发表于 2016-12-29 09:33:29 | 显示全部楼层
要是有个详细的入门介绍就好了

出0入0汤圆

发表于 2016-12-29 11:52:43 | 显示全部楼层
goahead很适合搞这个吧。

要是嫌移植和学习goahead麻烦,自己写个server也可以,监听某个端口,收到连接了处理http头部,实现基本的get post即可,post发过来的调速参数想怎么存储怎么存储,post和get就几个固定的url,都可以在程序里写死,get对应的几个url如果复杂就单独写成html文件,不复杂,改变不多也可以写到程序里。

出0入0汤圆

 楼主| 发表于 2016-12-29 21:37:01 | 显示全部楼层
javenreal 发表于 2016-12-28 15:17
用裸机做过:
1,开一个TCP server监听80端口。
2,收到的数据分析,是什么页面,什么参数。然后生成要显示 ...

对,暂时就先做些简单的事情

出0入0汤圆

 楼主| 发表于 2016-12-29 21:39:03 | 显示全部楼层
zxq6 发表于 2016-12-28 20:49
根据个人经验,其实web开发起来不方便,只是使用方便。开发最方便的还是udp,就跟串口一样。 ...

如果用UDP的话,就差太远了

出0入50汤圆

发表于 2016-12-29 22:06:31 来自手机 | 显示全部楼层
libmicrohttp 实时数据json格式输出,前端页面ajax定时去请求

出0入0汤圆

 楼主| 发表于 2017-1-8 20:51:27 | 显示全部楼层
这个莫元怎么给别人

出0入0汤圆

 楼主| 发表于 2017-3-2 07:39:57 | 显示全部楼层
这个答案好多都是对的,但是悬赏只能给一位,不好分,不好意思啊。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 19:58

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表