单片机联网方案的总结(新手发表)

2019-04-15 18:05发布

鄙人最近在研究stm32单片机联网的解决问题。有些心得通过此来记录下来,也算是留点纪念。不说多废话了。1.单片机联网一般有这么些方案(选择芯片)。自带TCPIP协议的W5500芯片 以及纯PHY的ENC28J60,dm9000等芯片(不带协议)。对于W5500芯片一般只需配置一些寄存器(它内部自带协议)就可以,比如配置一个socket。对于enc28j60芯片则不一样,您需要去移植tcpip协议(常见的lwip,uip等),这些协议来完成数据包的封装以及解包,而ENC28J60芯片只是去解决数据通过以太网发送接收的问题。具体的移植问题可参考原子视频。2.比较如何选择。对于目前的W5500芯片,我们可以用此快速去开发产品,而·去忽略掉复杂的移植问题,这款芯片也比较容易使用,直接看看芯片手册配置一些寄存器即可。对于ENC28J60芯片就比较复杂,我们用去移植协议,协议一般有两种使用方法(1.直接去操作底层的 ,比较复杂,但是实时好  2.和操作系统配合使用,这样我们就像我们PC机上一样去socket编程)。 3.怎样去通过上诉的芯片来通网页控制单片机首先我们讲讲http的请求和应答的问题 。当我们用电脑浏览器去连接我们单片机建立的socket服务器时。分为几个步骤大概f.首先去建立tcp的握手s.浏览器去发送http请求   具体的tcp包内容为:GET  HTTP 1.1..................(我就不写了)t.然后我们单片机接收到这个TCP包,去分析内容 发现它是GET  HTTP 1.1..................(我就不写了),我们就可以发送一个HTTP响应给它了。补充:HTTP请求包的格式以及意义   首先HTTP响应包:由响应头和网页内容组成   响应头是告诉浏览器我后面的内容是一个网页,浏览器会接受到http响应包后面网页内容,然后去解析它。(具体的网页知识可自行了解)four.浏览器接到HTTP响应后,然后解析,然后展示网页。five.这时单片机应该发送一个tcp断开(如果不发送浏览器一直会在等待接收数据),这样一个网页就结束了。


以上只是大体的讲解,细节部分后续补上。。。。。欢迎指点以及您的鼓励