W801 使用 UDP 通讯方式, 和电脑连接的一个模块是服务端, 需要其他多个模块客户端向服务端传输数据, 如何 IP 地址每次开关机随机, 客户端没有办法知道服务端的 IP 地址, 请教方法!
设置固定 IP 的话, 把 DHCP 关闭, 之后手动写上将要设置的 IP 地址即可, 以官方 demo 为例 在函数 demo_connect_net 中 , 修改如下
ip_param = tls_mem_alloc (sizeof (struct tls_param_ip) ) ;
if (ip_param)
{
ip4_addr_t loop_ipaddr, loop_netmask, loop_gw;
tls_param_get (TLS_PARAM_ID_IP, ip_param, FALSE) ;
ip_param- dhcp_enable = FALSE;
IP4_ADDR (&loop_gw, 192, 168, 0, 1) ;
IP4_ADDR (&loop_ipaddr, 192, 168, 0, 116) ;
IP4_ADDR (&loop_netmask, 255, 255, 255, 0) ;
memcpy (ip_param- ip , &loop_ipaddr , sizeof (loop_ipaddr) ) ;
memcpy (ip_param- netmask , &loop_netmask , sizeof (loop_netmask) ) ;
memcpy (ip_param- gateway , &loop_gw , sizeof (loop_gw) ) ;
tls_param_set (TLS_PARAM_ID_IP, ip_param, FALSE) ;
tls_mem_free (ip_param) ;
}
这样的话 再次连接路由的话 就是你设定的 IP 地址了