本页介绍了configure_network_demo的用法,分别在AP和STA模式下配置网络。



本页内容


运行环境准备

  • 软件平台

    • Visual Studio 2010  SP1
    • Slamware Windows SDK:Slamware Windows SDK
    • RoboStudio(用于显示地图):Robostudio installer
    • Sample Code: 

      使用更高版本的Visual Studio可能会带来编译异常。

      使用Visual Studio 2010(无SP1)可能会因为无法与.Net Framework兼容而报编译错误,此时增加SP1更新包即可解决问题

  • 硬件平台

          (以下任选其一)

      • Slamware SDP mini 
      • Slamware 套装 (基于Slamware导航方案的用户机器人系统)
      • Apollo/Ares/Athena等底盘系统


例程下载

Win32-例程下载



编译运行

  1. 打开samples工程,右键configure_network_demo, 将此工程设置成StartUp project


  2. 右键configure_network_demo, 打开属性选项,将Slamware SDK 的include目录和lib目录添加到工程

    Slamware SDK的include和lib目录无需复制到参考例程目录,只需在Visual Studio里指定路径即可




  3. 右键configure_network_demo, 打开properties选项,设置Command Arguments

    格式说明:
    configure_network_demo  [OPTS]   <SDP IP Address>
    slamware_address            The ip address string of the SLAMWARE SDP.
    AP                                     Configurate network in AP mode.
    STA                                   Configurate network in STA mode.
    --disable-dhcp                   disable dhcp.
    --enable-dhcp                   enable dhcp.
    --disable-wifi                     disable wifi
    -h                                      Show this message

  4. 点击F5运行
  5. 分别在AP和STA模式下设置网络
    • AP模式:
      配置之后,wifi名称,密码, IP地址,信道,都会变成下图所设置数值


      验证 :重新连接wifi名为test,密码为12345678的slamware AP之后, 可以用192.168.11.101连接slamware模块(192.168.11.1 为默认值,依然可用)


      此时wifi信道已经更改成6:
  • STA模式:

                  配置时需要输入当前可用局域网的名称和密码,成功之后,机器人将接入局域网,需要用机器人分到的IP来连接。

 

                 验证:

                 将客户端连入同一个局域网,可以访问slamware模块。下图中,机器人分到的IP地址为:10.0.129.75

                

                同样,可以disable/enable DHCP, disable WIFI, 使用命令如上所述,在此不具体描述。



代码描述

  • 将slamware模块配置成AP模式
	std::map<std::string, std::string> options;
	options["ssid"] = "test";      
	options["password"] = "12345678"; // password length should surpass 8 
	options["ip"] = "192.168.11.101"; // do not use address from 192.168.11.1 to 192.168.11.100 (reserved for internal usage)
	options["channel"] = "6";
	result = sdp.configurateNetwork(NetworkMode::NetworkModeAP, options);
  •  将slamware模块配置成STA模式
			std::map<std::string, std::string> options;
			options["ssid"] = ssid;
			options["password"] = password;
			result = sdp.configurateNetwork(NetworkMode::NetworkModeStation, options);	
  • 关闭/打开DHCP
	    if (opt_enable_dhcp == true) {
			std::cout << "enable DHCP" << std::endl;
            options.clear();
			result = sdp.configurateNetwork(NetworkModeDHCPEnabled, options);
		}
		if (opt_disable_dhcp == true) {
			std::cout << "disable DHCP" << std::endl;
            options.clear();
			result = sdp.configurateNetwork(NetworkModeDHCPEnabled, options);
		}
  • 关闭WIFI
		if (opt_disable_wifi == true) {
			std::cout << "disable wifi" << std::endl;
            options.clear();
			result = sdp.configurateNetwork(NetworkMode::NetworkModeWifiDisabled, options);			
		}