导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→初学者:请教老古单片机控制局域网的问题[chan_yo]

 *第8670篇: 初学者:请教老古单片机控制局域网的问题

  
楼 主:chan_yo 2003年3月3日17:17
 初学者:请教老古单片机控制局域网的问题
老古:

  谢谢你!如果不用DHCP的服务器,那么单片机如何与中心服务器的高层软件通讯呢?

有人说用串口,的确我看了你的文章,上面就是用串口先于一台机器通讯,然后利用

那台PC机器和上层软件进行建立连接。这样一来,不如直接在PC机器上装网卡就可以了。

开个玩笑。用单片机直接和上层建立连接,看来只好用DHCP,发送BOOTP请求。不知道

老古有没有别的好的建议。请给点建议!

  
2楼:蓝天 2003年3月3日17:31
 说清楚点,或许我能帮你解决。
你要传输什么样的数据?用TCP/IP协议进行连接吗?你说清楚,或许我能帮你。
  
3楼:蓝天 2003年3月3日17:33
 我做过单片机与远端的服务器传输数据的项目。
  
4楼:chan_yo 2003年3月4日08:41
  蓝天,就是你说的这个项目。
我是个菜鸟,因为一个项目用到单片机控制局域网,下位机单片机采集数据,传送到上位机

PC机器。不能采用串口,如何才能与上位机服务器建立连接通讯。大虾们帮帮忙!

  
5楼:蓝天 2003年3月4日11:08
 你提供个邮箱,我EMAIL个方案给你。
  
6楼:dirty 2003年3月4日13:25
 我也要
cetsupport@21cn.com
谢谢蓝天
  
7楼:tony0418 2003年3月4日17:56
 也给我一个
  
8楼:chan_yo 2003年3月5日08:46
 蓝天,我的E-MAIL:chan_yo@21cn.com
e-mail: chan_yo@21cn.com
  
9楼:bizhenke 2003年3月5日09:32
 也给我一个吧!谢谢!cool_dream12000@yahoo.com.cn
  
10楼:leezongfan 2003年3月5日08:48
 能给我一个吗?leezongfan@163.com
  
11楼:dirty 2003年3月5日12:20
 简直是废话,用了串口就没必要再用网卡了
用网卡的意义:
1、传输距离远的时候布线成本低,甚至于0布线成本(在小区等环境)。
2、远距离传输可以使用各种标准设备,避免了专业设备的高价位。
3、可以得到一个高速的传输环境,把所有复杂的数据交给上位机处理,比如100K的ad采样
结果的分析。在单片机上享有校分析难度很大,交给pc就很简单了。
4、避免上位机上使用专用接口,带来成本的下降。
5、无比宽阔的传输带宽,使得多路复用,不必要担心传输的延时。
等等……
  
12楼:chan_yo 2003年3月5日13:57
  同意guest的意见!
所以我的项目就要求不用串口通讯。

把它看作一个有RJ45接口的一个设备,

这个设备采用单片机和网卡芯片组成。可以有两个单片机。

  
13楼:dirty 2003年3月5日13:59
 为什么要两个呢?找一个高速一点的51家上rtx51,应该可以了
  
14楼:chan_yo 2003年3月5日14:09
 还是两个51呀
对,你说的很对。就是这个意思。

我把蓝天的方案也贴出来了,好像与我的设计有点偏差。

  
15楼:dirty 2003年3月5日12:22
 载下位机上定义一下上位机的ip和端口,有数据就发
上位机监听制定的端口,可以按照远端ip份检数据,这都是最基本的东西呀
  
16楼:chan_yo 2003年3月5日11:02
 蓝天的项目说明
方案如下:


单片机系统只需通过串行口把数据输给网关接口,再有网关接口把数据格式转为TCP/IP协议传输
给中心服务器;而中心服务器使用TCP/IP协议先把数据传输给网关接口,网关接口收到后把数据
还原为串口数据发送给单片机系统。网关接口是我自己开发的模块,与单片机连接只需通过RXD、
TXD、GND三线直接即可,无需做RS232转换,出口为RJ45头可直接接入局域网。
如你需要的话,我可以提供OEM板给你,

  
17楼:chan_yo 2003年3月5日14:06
 蓝天的项目讨论
使用UDP协议
例子
单片机系统要发送数据(0x41,0x42,0x43,0x44)给远程服务器192.168.0.100,端口2000。网
关接口IP:192.168.0.10,端口:2000则操作如下:
1、单片机首先发送如下命令设置远程IP和端口:
0x41,0x54,0x2B,0x55,0x50,0x3D,0xC0,0xA8,0x00,0x64,0x07,0xD0,0x0D
( A    T   +     U    P   =  )(192.168.0.100) (2000) (回车)
如远程PC程序已经运行,通讯正常,则网关接口返回信息给单片机:
0x41,0x54,0x2B,0x4F,0x4B,0x0D  (AT+OK回车)
2、单片机收到该信息后就可发数据,格式如下:
0x41,0x54,0x2B,0x55,0x44,0x3D,0x41,0x42,0x43,0x44,0x0D
(A     T    +    U    D    =) (- - - - -数据部分 )(回车)
3、远程PC机只须知道网关接口的IP和PORT端口,便可随时发送数据给单片机。网关接口转发给
单片机的数据格式与上面一样。
4、单片机只须在上电时设置第1步一次,以后继续发送数据使用第2步的格式就可以。整个通讯过
程是全双工的。

  
18楼:蓝天 2003年3月5日14:12
 另一种方式:
在网关接口预先设置远程PC机的IP和PORT,则就可以仅须把数据发送给网关接口就可以,而
不需加其他多余的信息。
  
19楼:chan_yo 2003年3月5日14:18
 如何与远程服务器建立连接呢?
远程服务器采用的是高级语言vc写的socket 套接字。如何建立连接?

仅仅就依靠connect(),就可以了吗?连接都建立不好,如何设置远程

服务器的ip?

  
20楼:蓝天 2003年3月5日14:36
 可以解决的。你有没有QQ啊?在QQ帮你解析啦。

>>>>>>对该主题发表你的看法

本主题贴数29,分页: [第1页] [第2页]


[上一篇主题]:初学者:单片机的内存访问

[下一篇主题]:压力传感器的简单问题?