手机是怎样通过wifi模块和单片机通信的呢?

知识汇聚


手机通过Wifi模块和单片机通信的方式有直接连接通信、组成局域网、通过云服务器中转三种

单片机一般是通过UART接口与Wifi模块连接,单片机可以给Wifi模块发送AT指令,让Wifi模块设置为AP Mode或者Stattion Mode。

手机直接Wifi模块直接通信

手机和Wifi模块需要在比较近的距离,两者需要在通讯范围之内,就好比手机和Wifi连接一样。单片机通过AT指令把Wifi模块设置为AP Mode,这样Wifi模块就好比一个热点,手机可以直接连接到Wifi模块。这样手机就可以通过Wifi模块与单片机进行通讯了。

手机和Wifi模块通过路幅器组成局域网进行通讯

手机和Wifi模需要连接到同一个路由器。在同一个局域网内,就好比局域网内的两个电脑也是可以互相通讯的。单片机通过AT指令把Wifi模块设置为Stattion Mode,并把无线路由器Wifi的SSID 和密码写入到Wifi模块。手机也连接到相同的路由器Wifi。这样两者就可以通过TCP/IP协议进行通讯了。

手机通过云服务器与Wifi模块通讯

通过云服务器中转后,手机和Wifi模块就算“远隔千里”都可以进行通讯,当然两者都需要接入到互联网才行。单片机通过AT指令把Wifi模块设置为Stattion Mode,并把在连接范围内的Wifi的SSID 和密码写入到Wifi模块,这样Wifi模块就可以连接到互联网了。单片机还需要给Wifi模块发送指令,让Wifi模块连接到指定的云服务器。当然手机也需要连接云服务器,通过云服务器,手机和Wifi模块就可以交互通讯了。

欢迎关注@电子产品设计方案,一起享受分享与学习的乐趣!关注我,成为朋友,一起交流一起学习

  • 记得点赞和评论哦!非常感谢!

电子产品设计方案


手机有wifi功能,但怎么设计能让单片机通过wifi功能与手机数据交互。

这里和大家从硬件和软件两个角度进行方案设计

首先硬件选型

1,单片机最小系统,要求:带串口通信。此处我使用GD32F103RCT6作为控制器,此单片机封装是LQPF,有64个引脚,最高主频108Mhz,有5个串口进行通信,

2,wifi模组,目前市面上选用比较常用的是ESP8266,选用3.3V硬件版本的模组。工作时峰值电流<=200mA,使用串口接口与单片机TX,RX交叉连接,波特率选用115200

3,电源系统,选用3.3V的LDO作为系统供电电源,考虑到wifi模块的工作峰值电流, 建议选用500mV的LDO电源芯片,

4,按键,建议增加1~2个独立按键,作为模式切换的按钮,

5,状态提示,可以选用LED灯,或者显示屏进行整个单片机项目的状态

6,外部配置串口,可以用来配置wifi的相关参数,

软件设计方面

esp8266模组有三种模式,分别是STA/AP/STA+AP,

STA指的是wifi模块通过路由器连接远程服务器,手机,平板,或者电脑通过远程服务器中转,经过wifi与单片机系统进行数据交互,

AP此模式下wifi模块是作为wifi热点,与手机,平板进行数据交互。

根据题目要求和上述sta和AP的说明,因此我们选用STA+AP的模式,

单片机与esp8266之间使用AT指令进行数据通信,在sta状态下,选用tcpIP方式,与提前固化到单片机flash的远程服务器的IP和端口号,进行数据传输。

远程服务器的IP和端口,通过单片机的另一个串口,发送到单片机系统,单片机并对IP和端口进行存储.

单片机的esp8266 需要在使用时,配置路由器的名称和密码,需要先打开手机wifi,并选择esp8266对应名称,再打开手机的游览器,输入192.168.1.1.切换到对应页面,输入wifi模块需要连接的路由器的名称和密码,并确定保存.配置成功后,

重启单片机wifi系统,则每次上电,单片机则会通过AT指令,操作wifi与路由器进行连接,并与远程服务器进行连接并建立透传,完成数据的传输。


以上是问题的粗略解答,难免会有遗漏



科技电小二


单片机要和手机通过wifi进行通讯,那么单片机必须通过控制wifi芯片来实现,选用和适合的wifi模块,将单片机和wifi模块通过UART来连接实现数据的交互,wifi模块的图片如下所示。

单片机和wifi模块的连接

单片机和wifi模块是通过UART来实现连接的,具体的连接方式如下图所示。

单片机和wifi模块使用相同的电源,单片机和wifi的通信端口在连接的时候要交叉连接,即单片机的TXD和wifi模块的RXD连接,单片机的RXD和wifi模块的TXD连接。硬件连接好后就可以编写程序了。

数据通讯协议的实现

两个设备要通信,必须遵循相同的通信协议。wifi模块内已经实现全栈的通信协议,是一个透传模块,所以单片机只要和wifi模块实现UART通讯即可。单片机通过UART向wifi模块发送AT指令即可实现对wifi模块的设置,通过AT指令可以实现波特率的设置、wifi模式的设置、用户名和密码等数据的修改。这些参数设置好后,单片机就可以通过wifi和手机进行通讯了。

以上就是这个问题的回答,感谢留言、评论、转发。

更多精彩内容请关注本头条号:玩转嵌入式。感谢大家。


玩转嵌入式


一般中间有通讯模块,匹配两边的频率等,作为中间介质。说的直白就是翻译的作用。


一心为消防


手机连到云端建立通讯管道,通常是tcp或udp。wifi模块连到云端也建立通讯管道,通过云端管理系统打通两根管道就能通讯了。wifi模块和单片机通常用串口uart通讯,如AT指令。其实wifi模块本身是一片强大的32位单片机,比如常用的esp8266,可以做SDK开发实现外围单片机的功能,甚至还能跑freeRTOS。


光明右使8787


因为单片机的处理能力不可能跑wifi驱动和tcpip协议栈,所以无法使用一般pc机上的无线网卡.目前淘宝上有一种串口转wifi模块是可以供单片机使用的,原理是单片机只是通过串口收发一些简单的ascii码指令给串口wifi模块,而wifi模块内部包含了tcpip协议栈及wifi驱动。


分享到:


相關文章: