这13个WiFi模块疑难问题,我们都替你解决了

研发的苦,你们不说,我们也都懂。RAK每天都会收到很多来自开发者伙伴的问题,因为研发属于非常严谨的工作,很多时候一些细微的变动就会得不到最终结果。

今天我们就大家重点咨询的问题做了个梳理,总结出13条大家平时可能会遇到的WiFi疑难问题,帮助大家能够最快的解决研发过程中出现的小插曲,快来看看下面这些问题能不能解决你目前的开发困境吧!

为什么一键配置有时无法成功?

一键配置出现无法成功时,可能会有以下一个或多个原因:

  • 密码输入错误;
  • 路由器接入客户端太多;
  • 路由器未开启DHCP;
  • 路由器开启了WMM或AP隔离。

你可以尝试从上面四个角度入手,筛查现有环境是否出现这些问题。

如何实现100%的配置成功率?

EasyConfig可便捷的通过手机App实现一键配置,用户可轻松使用各类智能硬件产品。EasyConfig的一次配置成功率在99.99%以上,是RAK的独家发明专利,受著作权保护。

如果计划实现100%的配置成功率,可以搭配扩展WPS、Web、UDP和AP配置网络,EasyConfig均支持这样的扩展。

如何在漫游网络*中实现一键配置?

将手机App连接到路由器后,会发SSID(BSSID)和PSK给模块,模块会通过BSSID连接路由器。

*漫游网络:网络里存在两个SSID相同的路由;

模块如何实现漫游?

将两个路由的SSID、PSK设置成一样,模块联网的时候先执行 at+scan=0\r\n 扫描一下网络,再用信号较强的路由器的BSSID去联网。

如何保证Socket链接的有效性?

对于TCP连接,可以采用发送心跳包的机制来检测连接是否有效。

如何移植UART WiFi驱动?

以RAK高性能系列产品RAK473为例,示例代码针对不带OS的应用,特点是对不能及时响应的AT命令不做阻塞处理,已移植好的平台有STM32F10x,Nano1xx,如果需移植到其他平台,你只需实现以下几个函数:

  • 复位WiFi模块函数;
  • 串口初始化(串口RX使能上拉)、串口发送、串口接收中断;
  • 定时器—实现延时(MS)、时间戳函数;

如何处理多Socket通信?

RAK低功耗系列产品RAK415透传模块,最多支持两路Socket透传,用户只需简单配置即可使用,且配置参数在掉电情况下不丢失。如果用户需要多于2个Socket进行通信,可以选择AT命令模块。

RAK低功耗系列产品RAK413 AT命令模块,最多支持8路Socket,支持1路Socket透传,数据接收方面支持中断和查询模式。

查询模式下,对于多个TCP Client来说,主机发AT命令给模块连接服务器,连接成功会返回OK和端口标志符,主机根据端口标识符,通过发命令到模块来发送数据。同时,接收数据里也有端口标志符,用来判断是哪个Socket接收的数据。

对于TCP Server,主机发命令到模块建立TCP Server,建立成功模块会返回OK和端口标识符,然后主机需要发命令 at+socket_status 到模块来查询当前Server连接的Client的IP信息和端口标志符,再通过Client的端口标志符发命令到模块来发送和接收数据。

对于TCP Server来说,每个Client连接后,模块都会上报给主机,上报信息里包含Client的IP信息和端口标志符,主机根据端口标识符发命令到模块来发送数据,接收数据里也有端口标志符,用来判断是哪个Socket接收的数据。

如何处理断网事件?

RAK的AT命令模块RAK4x3系列,在断网时会通知主机,如果之前保存过联网参数,可执行 at+auto_connect\r\n重新联网。

如何降低功耗?

RAK低功耗系列产品RAK413 AT命令模块,最低功耗仅2uA,此时模块控制部分进入深睡眠,无线部分关闭,唤醒需要串口发数据唤醒或拉线复位模块。正常情况下,模块会很快重新连接到路由,如果不能正常连接路由,建议复位使用 at+auto_connect\r\n 重新连接路由;

RAK高性能系列产品RAK473,节省模式功耗为30~50mA,此时模块可保持联网,但通信速率稍微不如全功耗模式;

RAK低功耗系列产品RAK415,最低功耗仅2uA,此时模块全部掉电,上电后模块自动联网。

如何使用auto connect命令?

RAK的AT命令模块RAK4x3系列,在EasyConfig一键配置、WPS或AP配置成功后,会保存联网参数到模块内部Flash,在发 at+auto_connect\r\n 后,模块自动联网。

为什么会出现WiFi搜不到信号的问题?

出现WiFi搜不到信号的状况,可能有以下集中情况,您可以逐个排查:

  • 供电不足:模块的工作电压为3.0~3.6V,需要80mA电流,若达不到这个要求会搜不到WiFi;
  • 没有通电导致的搜不到信号;
  • 检查模块天线是板载还是外置天线,如果是外置天线,查看天线是否松动或者断开;
  • 模块距离电脑搜索端是否太远,室内建议在50m以内,或使用手机WiFi搜索功能搜索;
  • 查看一下电脑的无线网卡是否开启,或查看电脑无线网络连接的对话框是否有模块的SSID。

WiFi搜不到信号如何解决?

RAK的AT命令模块RAK4x3系列:主机发 at+start_web\r\n 进入AP配置模式;

RAK低功耗系列产品RAK415透传模块:通过PC串口配置工具配置模块为AP模式,MCU主机也可按照PC串口配置工具配置模块的流程配置模块为AP模式。

串口异常如何解决?

出现乱码的原因通常有以下两个:

  • 波特率、数据位、校验位不匹配,即RAK的网络转串口设备与您的串口设备波特率不匹配,这样的情况下设置成一致即可;
  • 硬件原因,注意TTL、RS232、RS485这几种电平形式是不同的,不能直接连接,需要用232芯片或者485芯片转发,如果将TTL电平直接接到计算机上,肯定会出现乱码,因为计算机是RS232电平;另外在硬件设计中有干扰也可能会导致通讯不正常。

如无法确认问题在哪,可以使用自收发的形式排除:

  • 将您的设备直接和电脑通讯,按照您理解的波特率相关设置,看是否正常,以确认您的设置是否成功;
  • 断开您的设备与网络模块之间的连接,再将RAK的模块串口RXD和TXD短接,通过网络发送网络接收,看数据是否正常,以确认模块是否工作正常;
  • 断开您的设备与网络模块之间的连接,再将您的设备的串口收发短接,通过电脑自收自发,看数据是否正常,以确认您的电脑到串口这部分硬件工作正常;

相信通过这些问题的解答,能消除许多研发朋友们所面临的问题,如果还不能解决,那么你可以直接联系RAK,我们可以通过远程协助的方式,直到帮你将问题解决。