欢迎光临散文网 会员登陆 & 注册

ESP32无线WiFi芯片技术,无线wifi网络配置模块

2021-12-21 14:56 作者:飞睿科技  | 我要投稿

在很多领域,比如人员无法到达的偏僻环境、高腐蚀性及现场无法利用有线连接的环境,选择有线数据采集传输系统显然己无法满足数据采集和传输的需要。

无线数据采集方式就成为了一种有效的替代方式,它与传感器网络、信息处理等作为现代数据监测控制的基本技术,在物联网、工业控制、环境监测等方面得到了越来越广泛的应用。


ESP32是乐鑫继ESP8266后推出的一款集成Wifi功能的蓝牙系统级芯片,基于ESP32的强大的处理能力、低功耗及高速稳定的Wifi通信等特点。

以ESP32主控芯片为核心的无线数据采集系统,系统通过ESP32连接芯片STM32F407进行数据采集,再使用无线Wifi模块连接指定网络,通过Socket接口与上位机进行通讯,将采集的数据传输给上位机系统。


ESP32与数据源模块通过SPI接口连接,ESP32模块作为SPISlave(被动式SPI设备),数据源模块作为SPIMaster(SPI主动设备);ESP32通过AP(无线访问接入点),与上位机建立以太网络连接。

系统运行时,数据源模块周期性地将数据发送给ESP32模块,ESP32系统对所采集到的数据进行缓存,在与上位机保持连接的同时将所采集到的数据通过WiFi网络发送给上位机,上位机则对数据进行存储及实时显示。


ESP32作为SPISlave使用时,只能等待SPIMaster发起通信连接,并根据主机提供的时钟信号接收数据。ESP32的主程序设计主要包括两个模块,Wifi网络配置模块和线程与队列模块。

其中Wifi网络配置模块负责网络配置,线程与队列模块负责实现无线数据采集系统的主要功能,即SPI数据采集与网络数据发送。


WEB服务器线程模块为上位机提供信息查询,使上位机可以通过浏览器获取ESP32系统上的运行信息。

ESP32芯片支持高速稳定的WIFI通信,并支持三种模式:“AP”、“STA”、”AP+STA”。为保证ESP32系统及时有效地进行数据接收和发送,需要采用队列来保持SPI数据采集线程和数据发送线程之间的数据同步。


ESP32通过SPI协议进行数据传输,为实现SPI数据采集及两个线程间的数据传递,同时考虑到ESP32有限的内存及SPI底层驱动机制。

采用DMA机制,因此所建立的环形缓冲空间需要向系统申请DMA访问用的内存空间,单个存储空间大小的选择最好根据每个周期SPI发送数据的长度选择。


当ESP32连接上WIFI并获取到AP分配的IP后,即可通过Socket接口与上位机建立通讯,发送获取到的数据。Socket是ESP32和上位机之间建立通讯的接口。

ESP32主动对上位机发起连接请求,上位机在连接前开启监听的Socket接口,以实时监听客户端的请求,连接建立完成后,ESP32和上位机即可进行通信。


针对ESP32无线网络配置、数据接收和发送程序进行了详细的设计与说明,同时对ESP32系统的WEB服务程序进行设计,以方便上位机进行信息查询。


基于ESP32的无线数据采集传输系统程序设计合理,易于使用,提高抗干扰及数据传输效率,提高系统性能。

ESP32无线WiFi芯片技术,无线wifi网络配置模块的评论 (共 条)

分享到微博请遵守国家法律