Excerpt |
---|
本页介绍了configure_network_demo的用法,分别在AP和STA模式下配置网络。 |
本页内容
Table of Contents | ||
---|---|---|
|
运行环境准备
软件平台
需要:
...
- Visual Studio 2010 SP1
- Slamware Windows SDK:
...
- Slamware Windows SDK
- RoboStudio(用于显示地图):Robostudio installer
Sample Code:
...
Info 使用更高版本的Visual Studio可能会带来编译异常。
使用Visual Studio 2010(无SP1)可能会因为无法与.Net Framework兼容而报编译错误,此时增加SP1更新包即可解决问题
硬件平台
硬件平台:
(以下任选其一)
- Slamware SDP mini
...
- Slamware 套装 (基于Slamware导航方案的用户机器人系统)
...
编译运行:
...
- Apollo/Ares/Athena等底盘系统
编译运行
- 打开samples工程,右键configure_network_demo, 将此工程设置成StartUp project
右键configure_network_demo, 打开属性选项,将Slamware SDK 的include目录和lib目录添加到工程
...
Info Slamware SDK的include和lib目录无需复制到参考例程目录,只需在Visual Studio里指定路径即可
- 右键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
...
- 点击F5运行
- 分别在AP和STA模式下设置网络
- AP模式:
配置之后,wifi名称,密码
- AP模式:
...
- , IP地址,信道,都会变成下图所设置数值
- , 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模式
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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模式
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
std::map<std::string, std::string> options;
options["ssid"] = ssid;
options["password"] = password;
result = sdp.configurateNetwork(NetworkMode::NetworkModeStation, options); |
- 关闭/打开DHCP
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
if (opt_disable_wifi == true) {
std::cout << "disable wifi" << std::endl;
options.clear();
result = sdp.configurateNetwork(NetworkMode::NetworkModeWifiDisabled, options);
} |