本帖最后由 说不定 于 2015-2-10 12:31 编辑 目前HLK-M30的串口转wifi模块到处都是,但是这些都是所有的wifi信息都不需要单片机去配置,都是一个类似串口调试助手去配置,所以当用HLK-M30作为一个产品的一部分被封在壳内后,再想去配置连接wifi这些信息的时候就比较麻烦了。现在把如何使用单片机去配置hlk-M30的信息。 首先原理图非常简单如下: HLK-M30ä¸åçæºè¿æ¥å¾ 1、HLK-M30启动 在HLK-M30使用之前必须先启动它,如下。 HLK-M30å¯å¨ 启动代码如下: void wifi_StartUp(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC |RCC_APB2Periph_GPIOA, ENABLE); //ES/RST <-->GPIOC6 RST<-->GPIOC7 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOC, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); //WIFI模块启动时序 W5500_RST_L; W5500_TX_L; delay_ms(100);//这个延时很重要 可适当调节 W5500_RST_H; delay_ms(200); W5500_TX_H; } 模块启动后状态LED会闪2下灭一下。 2、转为AT模式去配置信息(很重要) HLK-M30ç¶æè½¬æ¢ 代码实现如下: delay_ms(10000);//延时等待HLK-M30启动 直至稳定,否则配置不能成功 Uart1_Init();//串口初始化 //转为AT模式 W5500_ESRST_L; delay_ms(1000); W5500_ESRST_H; delay_ms(500); 3、wifi信息配置。 //Wifi 信息配置 void wifi_config(void) { printf("at+WM=2\r\n"); printf("at+WA=0\r\n"); printf("at+Sssid=TP-LINK_FBC\r\n");//wifi名称 printf("at+Sssidl=11\r\n");//wifi名称长度 printf("at+Sam=9\r\n");// 认证加密方式 wpa/wpa2_aes printf("at+Spw=123456\r\n");//wifi 密码 printf("at+Spwl=6\r\n");//wifi密码长度 printf("at+dhcp=0\r\n");//关闭自动获取IP printf("at+ip=192,168,1,99\r\n");//模块IP printf("at+mask=255,255,255,0\r\n");//子网掩码 printf("at+gw=192,168,1,1\r\n");//网关 printf("at+dns=192,168,1,1\r\n");//dns 没用上 随便配置的 printf("at+UType=2\r\n");//TCP客户端 printf("at+UIp=121.34.38.141\r\n");//目标IP printf("at+URPort=8384\r\n");//目标端口 printf("at+ULPort=20013\r\n");//模块端口 printf("at+Ub=115200\r\n");//串口配置 printf("at+Ud=8\r\n"); printf("at+Up=0\r\n"); printf("at+Us=1\r\n"); printf("at+WC=1\r\n"); printf("at+Rb=1\r\n"); } 至此HLK-M30信息配置好了,连上wifi后状态灯会熄灭。 虽然感觉很简单 ,但是也是本人很长世间单独调试出来的,属于原创吧 |
1、电脑上建立服务端
建ç«æå¡ç«¯
2、端口映射
登陆路由器 转发规则->虚拟服务器 下设置
目标IP就是路由器的IP,目标端口号就是设置的8485,模块端口号随便给一个 比如20013什么的都可以
你说的透明传输 可能是我们用的模块不一样,你得看资料,命令可能也是不一样的。
楼主你好,我现在在使用串口转wifi,有两个问题请教您:1,目标IP,目标端口和模块端口这三个怎么设置?是根据自己需要吗?2,配置好后怎么回到透传模式?按照帖子的提示,是使用语句“at+TS=1”,可是配置语句里没这条啊。期待您的回复。
不好意思 问题2我理解错你的意思了,他的资料上是说要发生at+TS的指令,但是我实际上测试就发送这些命令后就是透传的了 就灭加入那条指令了
W5500_RST_L;
W5500_TX_L;
以前使用的是有线连接方案吧,W5500?
是的 刚开始使用w5500 后改成wifi模块 这是我引脚定义时没改过来
谢谢楼主的答复,我用的是手机上的app,网络调试助手,是不是也可以这样建立,还是其他方法呢?
你使用MCU通过串口往WIFI芯片发送AT指令有什么区别那?
对于WIFI芯片来说PC和MCU都可以是上位机,都可以通过上位机写AT指令。
不用非得用PC才能写AT命令字啊!
手机建立wifi是可以连接到wifi上去的,不过你作为一个TCP客户端得要连接一个服务端啊,手机没法建立TCP服务端吧,可以使用笔记本电脑,或者WINDOWS的平板电脑。
没什么区别 都可以用
这里远程主机显示的IP是哪的?不是电脑IP,电脑IP不应该是下面的红圈里的吗?
è¿æ¯æç¨ç软件æ¾ç¤ºæ åµ