搜索
bottom↓
回复: 46

C#网络编程,和单片机通讯,租用的服务器(已解决,欢迎交流)

  [复制链接]

出0入211汤圆

发表于 2014-11-21 12:53:07 | 显示全部楼层 |阅读模式
本帖最后由 hushaoxin 于 2014-11-21 19:35 编辑

首先说下配置:
1、单片机采用STM32
2、wifi转232模块,有人科技的,支持post,get访问网页的方式
3、服务器是网上租用的虚拟服务器,支持asp.net,支持sql数据库

再说需求:
1、希望每隔一分钟将电压、电流、电量等共计差不多8个参数传到数据库
2、做网页界面,读取数据库数据,分析(这个可以不管)
3、我们的设备(上传到数据库8个参数的设备)可能遍布全球。
4、我们的用户访问这个网页的可能遍布全球(这个也可以不管)

最后说可能的方案:

方案一:自己架设服务器,申请公网IP
     优点:这个是最好的方式了,可以直接和单片机建立TCP/IP链接,可以在服务器上运行一个上位机程序,自己定义协议,上位机接收到数据之后再操作数据库,将数据存放好。
     缺点:造价高,目前无法承受,也请懂行的网友帮计算一下这种方案前期花费和以后每年维护费用,数据量不大。

方案二:租用虚拟服务器供应商的服务器,采用单片机直接操作数据库
    优点:非常直接的操作数据库,没有上位机开发,只需要开发网页就行。
    缺点:我个人感觉这个缺点非常致命,单片机该如何操作数据库?

方案三:租用虚拟服务器供应商的服务器,开发网页,单片机模拟电机按钮的方式操作数据库
    优点:没有上位机开发,只需开发网页
    缺点:单片机模拟按钮操作,貌似.net平台下,点击某个按钮,上传的数据量“巨大(相对单片机来说)”,怎么截获这个数据来分析呢?归结在单片机如何模拟点击按钮呢?

方案四:租用虚拟服务器供应商的服务器,开发网页,单片机通过asp访问后面带参数的方式
   优点:网页开发,单片机的开发难度都降到最低了
   缺点:通过地址参数的方式传输的数据量很有限,以后升级很困难,没有办法传输更多的参数。


我能想到的就上面这些了,而且我对C#网页编程也是新手,也不知道分析得对不对,请各位网友帮参考一下,发表自己的看法,在此先谢过!

谢谢各位的回复,初步选定采用c#开发web程序,sql数据库,租用网络服务器,单片机通过post方式与web服务器通讯,我对c#的web开发不熟悉,所以临时写了个测试程序,现在可以实现单片机post数据,web程序能正确存放到数据库了,网页就随便做了一个,也能添加、修改、删除数据库里面的内容了!各位如果有什么问题可以提出来,我还在继续摸索中我写一个大概的功能,证实可行性就可以,然后项目外包了,希望有能力做的网友也可以联系我!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

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

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入37汤圆

发表于 2014-11-21 13:11:31 | 显示全部楼层
asp开发网页不太熟悉,直接从http协议的角度来考虑:
如果只是给网页提交数据直接模拟post就行了,http说白了都是一个字符串,字符串是由 http header+content组成, 其中header你弄简单点,这样可以少传点数据。content部分就是模拟html里的form提交,其实也很简单的
但是这种方式需要考虑到安全性的问题,即:不能谁都能提交,需要asp做个登录系统

出0入0汤圆

发表于 2014-11-21 13:13:28 | 显示全部楼层
楼主可以看看阿里云服务器。费用不贵,2G内存,单核,2M带宽,固定外网IP,一年一千多。硬盘容量可以自己加很便宜的。

出0入8汤圆

发表于 2014-11-21 13:13:32 | 显示全部楼层
发现自己什么都只是略懂,只能友情帮顶了

出0入0汤圆

发表于 2014-11-21 13:25:06 | 显示全部楼层
用阿里云可能会简单很多

出0入211汤圆

 楼主| 发表于 2014-11-21 13:42:12 | 显示全部楼层
感谢楼上各位,我先看看阿里云是啥玩意
本人对网络那真的是七窍通了六窍啊,云里雾里的!希望各位多多帮忙

出0入0汤圆

发表于 2014-11-21 13:43:20 | 显示全部楼层
LZ这是要做物联网的节奏.
网站方面可以参考:  国内 yeelink和乐为物联, 国外的 xively

出0入0汤圆

发表于 2014-11-21 13:47:05 | 显示全部楼层
wifi转232模块,有人科技的,支持post,get访问网页的方式, 这个价位大约多少?

出0入147汤圆

发表于 2014-11-21 13:51:54 | 显示全部楼层
虚拟空间的话http get的方式提交数据就可以了。

自己搭建服务器的话,服务器2W左右,宽带1W+/年,外加托管费,算起来其实能承受的起。

出0入211汤圆

 楼主| 发表于 2014-11-21 13:54:17 | 显示全部楼层
qiushui_007 发表于 2014-11-21 13:47
wifi转232模块,有人科技的,支持post,get访问网页的方式, 这个价位大约多少?

49.9元吧,还有98元的,我一样的买了两个,感觉差不多

出0入211汤圆

 楼主| 发表于 2014-11-21 13:54:55 | 显示全部楼层
jiwx2011 发表于 2014-11-21 13:25
用阿里云可能会简单很多

阿里云不能运行exe这种上位机吧?

出0入22汤圆

发表于 2014-11-21 13:57:57 来自手机 | 显示全部楼层
我也是类似的需求,只是用的gprs,租用的阿里云,一年1000多块,直接固定ip,单片机提交给服务器上我的软件,软件收到后写数据库。外部所有的操作都是跟软件打交道,协议自定义。当然,我这个主要用在国内。也没有web需求

出0入211汤圆

 楼主| 发表于 2014-11-21 14:00:20 | 显示全部楼层
zxq6 发表于 2014-11-21 13:57
我也是类似的需求,只是用的gprs,租用的阿里云,一年1000多块,直接固定ip,单片机提交给服务器上我的软件 ...

请问你的数据是如何提交给阿里云的呢?阿里云服务器上可以直接运行你的上位机软件吗?

出0入17汤圆

发表于 2014-11-21 14:01:09 | 显示全部楼层
直接采用yeelink和乐为物联会好一些,人家是一个团队在战斗,而且积累很多经验了。楼主单打独斗,费时费力,还赶不上人家的好。

出0入22汤圆

发表于 2014-11-21 14:02:14 来自手机 | 显示全部楼层
hushaoxin 发表于 2014-11-21 14:00
请问你的数据是如何提交给阿里云的呢?阿里云服务器上可以直接运行你的上位机软件吗? ...

可以,我租用的vps,就是一个完整的操作系统,随便你操作,除了很底层的,比如格式化硬盘啥的。

出0入0汤圆

发表于 2014-11-21 14:04:51 | 显示全部楼层
还是采用别人的平台好,不懂,看看大家的主意

出0入0汤圆

发表于 2014-11-21 14:05:08 | 显示全部楼层
本帖最后由 sibtck 于 2014-11-21 14:06 编辑

方案一,一年费用几万元.拉专线就行了.方案2,单片机为毛操作数据库,你网页后台脚本操作就可以了.方案三.为毛是巨大的.你一个GET请求或POST请求数据均可以在后台采集REQUESET数据方式得到.数据量与用PHP,ASP根本没区别.方案四.为毛要用ASP.可以用POST方式啊.


我建议.单片机仅通过HTTP传送POST请求.其它操作交给网站后台服务.可以无网页.只需要写服务即可.多准备几个可以重新建立路由的地页面.防止以后IP变化或国情有变.

出0入0汤圆

发表于 2014-11-21 14:10:13 | 显示全部楼层
租个阿里云,跑windows,果断运行exe,设备直接socket到服务器的公网固定ip,妥妥的。不过楼主应该考虑下通讯容量和设备数量。原乡做的20个设备端这样访问一点问题都木有

出0入211汤圆

 楼主| 发表于 2014-11-21 14:11:19 | 显示全部楼层
jacky_yhy 发表于 2014-11-21 14:10
租个阿里云,跑windows,果断运行exe,设备直接socket到服务器的公网固定ip,妥妥的。不过楼主应该考虑下通 ...

我感觉你说的这个很好,妥妥的

出0入0汤圆

发表于 2014-11-21 14:14:23 | 显示全部楼层
个人认为STM32专门采集数据, 增加一个中继设备刷openwrt收集数据并和云平台交互, 以适应客户的不断增长的需求.

出0入211汤圆

 楼主| 发表于 2014-11-21 14:14:55 | 显示全部楼层
jacky_yhy 发表于 2014-11-21 14:10
租个阿里云,跑windows,果断运行exe,设备直接socket到服务器的公网固定ip,妥妥的。不过楼主应该考虑下通 ...



哪种服务器噢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入211汤圆

 楼主| 发表于 2014-11-21 14:15:56 | 显示全部楼层
qiushui_007 发表于 2014-11-21 14:14
个人认为STM32专门采集数据, 增加一个中继设备刷openwrt收集数据并和云平台交互, 以适应客户的不断增长的需 ...

不能加中继的.....

出0入0汤圆

发表于 2014-11-21 14:20:11 | 显示全部楼层
hushaoxin 发表于 2014-11-21 14:15
不能加中继的.....

不是加中继, 是增加个设备专门刷openwrt, 作为单片机和云平台的桥梁. 硬件价格也不到100元, 当然你的自己写相关的程序了.
这样分层后, 修改和维护都方便.  我们目前就是这么应用的.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-11-21 14:22:22 | 显示全部楼层

ecs----------不过其实有免费的方法。直接远端操作百度的某个云盘还不知道是自定义的数据库。具体细节忘了。瞥见一眼

出0入0汤圆

发表于 2014-11-21 14:23:39 | 显示全部楼层
用SAAS(BAE,SAE)搭建REST服务,绑定自己的域名,
MCU通过HTTP方式访问。

这个成本最低了,灵活性也最高。

出0入0汤圆

发表于 2014-11-21 14:27:26 | 显示全部楼层
纯帮顶,好高端的样子

出0入0汤圆

发表于 2014-11-21 14:29:31 来自手机 | 显示全部楼层
不用什么vps 死贵
找个带数据库的网页空间就行了 做实验上tb 随便买个几十元搞定 买个域名 一共不超过200元,随便写个php 就可以

出0入0汤圆

发表于 2014-11-21 14:56:57 | 显示全部楼层
看样子lz很多问题没有考虑
1.设备的数量,很关键,设备比较少就无所谓啦
2.不要想着买个支持asp,sql空间之类的就可以,那些比较难有保障的(多数是n多网站共享着机器用的),放个网页什么的还可以,要稳定可靠地工作,好的vps免不了,阿里云,linode之类的该上就上了,自己弄服务器也不见得会好到哪里去,linode也很便宜,不过国人很多不习惯linux
3.设备遍布全球的话,网络状况真没想像的那么好,还要测试看看
4.按你的数据频率,设备过万后可能瓶颈就出来了
5.既然是做服务端,也不必要一定要抱着c#,好的解决方案现在很少跟c#有关系,虽然.net也开源了

出0入211汤圆

 楼主| 发表于 2014-11-21 15:24:33 | 显示全部楼层
yj_yulin 发表于 2014-11-21 14:56
看样子lz很多问题没有考虑
1.设备的数量,很关键,设备比较少就无所谓啦
2.不要想着买个支持asp,sql空间之类 ...

1.设备的数量,很关键,设备比较少就无所谓啦
设备估计会以K计,不会过万!
2.不要想着买个支持asp,sql空间之类的就可以,那些比较难有保障的(多数是n多网站共享着机器用的),放个网页什么的还可以,要稳定可靠地工作,好的vps免不了,阿里云,linode之类的该上就上了,自己弄服务器也不见得会好到哪里去,linode也很便宜,不过国人很多不习惯linux
照你这么说那种网络租用的服务器性能不是很好咯,还得购买阿里云的服务器
3.设备遍布全球的话,网络状况真没想像的那么好,还要测试看看
我们这是前期规划,是要考虑到,我们现在寻找合作方开发这套系统,我现在只是在补课,好方便以后谈判,这些内容我也不懂
4.按你的数据频率,设备过万后可能瓶颈就出来了
这个我个人真没法估算,我没做过
5.既然是做服务端,也不必要一定要抱着c#,好的解决方案现在很少跟c#有关系,虽然.net也开源了
希望你在这方面多提提意见

出0入0汤圆

发表于 2014-11-21 16:46:35 | 显示全部楼层
c#也不是那么差,效率比php是差了,但是楼主如果不懂php的话,c#还是很好的选择
c#开发一个asp.net的网页程序就行,使用post方式传输的数据会大一点,比通过 ?arg1=xxx&arg2=yyy 的方式传输的数据量大一点
使用asp.net访问数据库就行了,使用asp。net获取post过来的数据还是很方便的。
至于wifi模块怎么post数据,那就要看资料了,我没有搞过

出0入0汤圆

发表于 2014-11-21 17:00:21 | 显示全部楼层
hushaoxin 发表于 2014-11-21 15:24
1.设备的数量,很关键,设备比较少就无所谓啦
设备估计会以K计,不会过万!
2.不要想着买个支持asp,sql空间 ...

你这个数据量不大不小的,自己做服务器就省了吧............麻烦事一大堆
要稳定一点,还是阿里云之类吧,使用网页空间+数据库就行,以后扩展也方便,不要搞野鸡服务器就行
如果不熟悉asp。net,可以开发c# exe,租用vps运行,这样接口协议可以自己控制

出0入211汤圆

 楼主| 发表于 2014-11-21 21:26:30 | 显示全部楼层
不知道安信网络的服务器咋样?我们用了三年了,还可以

出0入0汤圆

发表于 2014-11-21 22:03:24 | 显示全部楼层
哈哈,看得我云里雾里

出0入0汤圆

发表于 2014-11-21 22:27:08 | 显示全部楼层
。。。云时代真的来临了

出0入0汤圆

发表于 2014-11-22 03:09:05 来自手机 | 显示全部楼层
直接delphi,反正跑exe.  vb都可

出0入0汤圆

发表于 2014-11-22 07:33:14 | 显示全部楼层
好像有方法,可以使用动态IP的吧

出0入0汤圆

发表于 2014-11-22 07:54:37 | 显示全部楼层
只能当看客帮顶!

出0入0汤圆

发表于 2014-11-22 08:28:14 | 显示全部楼层
看看,帮顶

出0入0汤圆

发表于 2014-11-22 13:48:11 | 显示全部楼层
共同关注楼主的网络服务器进展,后期我也会搞一个,学习学习经验

出10入0汤圆

发表于 2014-11-22 15:01:24 | 显示全部楼层
物联网是个趋势

租用服务器这种做法我也比较认同,毕竟将专业的问题交给专业的公司去做,更可靠更省钱。

出0入0汤圆

发表于 2014-11-22 21:33:45 来自手机 | 显示全部楼层
看不懂,帮顶了

出0入0汤圆

发表于 2014-11-22 21:35:19 来自手机 | 显示全部楼层
收藏,,,,,

出0入4汤圆

发表于 2014-11-22 21:54:15 | 显示全部楼层
mark,学习了

出0入13汤圆

发表于 2014-11-22 22:03:14 | 显示全部楼层
我也要设计类似路由器的管理页面1

出0入0汤圆

发表于 2014-11-22 23:51:14 | 显示全部楼层
本帖最后由 codefish 于 2014-11-22 23:52 编辑

我搞过这种服务器的编程,用C#。
初步实现很简单,但是要做得完善不容易。

出0入0汤圆

发表于 2014-11-27 22:24:31 | 显示全部楼层
关注,正准备构建此类环境!

出0入0汤圆

发表于 2015-2-16 11:10:35 来自手机 | 显示全部楼层
楼主你好,现在好的怎么样了,用的结构是怎样的?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-3 03:25

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

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