核心概念:Nao的网络身份
在连接之前,你需要先了解Nao机器人有两个关键的“网络身份”:

- 机器人IP地址 (Robot's IP Address):这是Nao在局域网内的唯一地址,当你和Nao在同一个Wi-Fi下时,你需要通过这个IP地址来访问它。
- 机器人名称 (Robot's Name):"nao.local",这是一个更友好的地址,它依赖于 Bonjour/Avahi 服务(一种零配置网络协议),如果你的电脑支持(macOS和Linux原生支持,Windows可能需要安装Bonjour Print Services),你可以直接使用
nao.local来访问,而无需记住复杂的IP地址。
第一步:准备工作
在开始连接之前,请确保以下条件都已满足:
Nao机器人端设置
- 电源和网络:确保Nao机器人已开机,并通过以太网网线或Wi-Fi连接到你的局域网。
- 获取IP地址:
- 方法A (推荐):查看Nao的眼睛,Nao的眼睛会显示其IP地址,开机后,眼睛会滚动显示类似
168.1.100这样的地址。 - 方法B:使用Naoqi OS的设置界面,如果Nao连接了屏幕和鼠标,可以在设置中查看网络信息。
- 方法C:通过路由器管理后台,登录你的路由器管理页面,查看连接设备的列表,找到名为 "NAO" 或类似名称的设备及其IP地址。
- 方法A (推荐):查看Nao的眼睛,Nao的眼睛会显示其IP地址,开机后,眼睛会滚动显示类似
- 开启SSH服务:SSH是远程命令行连接的基础。
- 通过Nao的屏幕和鼠标:进入 "Settings" -> "Network" -> "Remote control",确保 "SSH" 选项是开启的。
- 通过 Choregraphe:在连接Nao后,在工具栏的连接菜单中也可以找到SSH开关。
- 开启Naoqi服务:Naoqi是Nao的操作系统和核心软件,远程API、Choregraphe连接等都需要Naoqi在后台运行,它通常会随机器人启动而自动运行。
你的电脑端设置
- 网络:确保你的电脑与Nao在同一个局域网内,都连接到 "MyHomeWiFi" 这个网络。
- 软件安装:
- SSH客户端:用于远程命令行连接。
- Windows: 推荐使用 PuTTY 或 Windows 10/11 自带的 "Windows Terminal" / PowerShell。
- macOS / Linux: 自带终端,直接使用
ssh命令。
- Naoqi SDK:如果你打算进行编程开发,需要从 SoftBank Robotics官网 下载并安装Naoqi SDK(包含Python、C++等API和工具)。
- Choregraphe:这是Nao的图形化编程和监控软件,强烈推荐,它也包含在Naoqi SDK中。
- SSH客户端:用于远程命令行连接。
第二步:连接方法
这里介绍三种最常用的远程连接方式,从简单到复杂。
使用SSH进行命令行连接(最基础)
这是直接与Nao的Linux系统交互的方式,适合高级用户进行系统管理、文件传输等。
- 打开你电脑的终端(Windows下是PuTTY或PowerShell)。
- 输入连接命令:
# 格式: ssh nao@<机器人IP地址> # ssh nao@192.168.1.100
如果你使用了机器人名称,可以更方便:
(图片来源网络,侵删)ssh nao@nao.local
- 首次连接时,系统会提示你确认主机的真实性,输入
yes。 - 输入密码。默认的SSH密码通常是 "nao"。(注意:出于安全考虑,强烈建议你首次连接后立即修改密码!)。
- 连接成功!你会看到Nao的Linux命令行提示符,现在你可以输入命令来管理Nao,
ls:列出文件。top:查看系统资源占用。reboot:重启机器人。
使用Choregraphe进行图形化连接(最推荐)
Choregraphe是Nao的官方图形化编程工具,通过它可以轻松地连接、监控、编程和调试Nao。
- 打开Choregraphe软件。
- 在顶部工具栏,点击 "连接" (Connect) 按钮。
- 在弹出的窗口中,选择 "新建连接"。
- 输入机器人信息:
- 机器人类型:选择 "Nao" 或 "Pepper"。
- IP地址/主机名:输入Nao的IP地址(如
168.1.100)或机器人名称(nao.local)。 - 端口:默认为
9559(这是Naoqi服务的默认端口)。 - 用户名:通常为
nao。 - 密码:默认为
nao。
- 点击 "连接"。
连接成功后,你会看到Choregraphe界面上出现Nao的3D模型,并且可以实时看到机器人的摄像头画面、电池电量、关节角度等信息,你可以:
- 拖拽行为图表到时间线上,让Nao执行动作。
- 查看和修改Nao的传感器数据。
- 上传和下载文件(如声音、图片、行为文件等)。
通过Python SDK进行编程连接(用于开发)
如果你想用Python代码来控制Nao,需要使用Naoqi SDK。
- 确保已安装Naoqi SDK,并将其
bin目录添加到系统的环境变量PATH中,这样你才能在终端中使用pip安装NAOqi库。 - 在你的Python代码中,创建一个连接对象。
from naoqi import ALProxy
# Nao的IP地址和端口
robot_ip = "192.168.1.100" # 或者 "nao.local"
port = 9559
try:
# 创建一个代理来连接Naoqi服务
# 连接到文本转语音服务
tts = ALProxy("ALTextToSpeech", robot_ip, port)
# 调用服务的方法
tts.say("Hello, I am Nao. I am connected remotely!")
# 再连接到运动服务
motion = ALProxy("ALMotion", robot_ip, port)
# 让Nao说 "Hello World" 并挥手
tts.say("Hello World")
motion.setAngles("RShoulderPitch", -1.5, 0.1) # 抬起右臂
motion.setAngles("RShoulderRoll", 1.5, 0.1) # 外展右臂
# ... 其他动作代码
except Exception as e:
print("Could not create proxy to ALTextToSpeech")
print("Error was: ", e)
运行这段Python脚本,如果连接成功,Nao就会说出 "Hello World" 并做出相应的动作。
第三步:高级主题 - 通过互联网远程连接
如果你需要从外部网络(从公司或另一个城市)连接你的Nao,这会复杂一些,因为家庭/公司路由器通常有一个外部公网IP和内部局域网IP,你需要进行端口转发。
警告:将Nao暴露在公网上存在巨大的安全风险,请务必确保你的网络足够安全,并且只在必要时进行操作。
步骤:
- 获取Nao的局域网IP:按照第一步的方法,找到Nao在家庭网络中的IP地址(
168.1.100)。 - 配置端口转发:
- 登录你的路由器管理后台。
- 找到 "端口转发" 或 "虚拟服务器" 设置。
- 你需要为Nao的两个主要服务设置转发规则:
- Naoqi服务 (端口 9559):将外部访问的TCP端口
9559转发到Nao的局域网IP168.1.100的9559端口。 - SSH服务 (端口 22):将外部访问的TCP端口
22转发到Nao的局域网IP168.1.100的22端口。
- Naoqi服务 (端口 9559):将外部访问的TCP端口
- 获取路由器的公网IP:在百度或Google搜索 "what is my ip",你会看到你路由器的公网IP地址。
- 连接:
- SSH连接:
ssh nao@<你的公网IP> - Choregraphe连接:在IP地址栏填入
<你的公网IP>。 - Python SDK连接:将代码中的
robot_ip设置为<你的公网IP>。
- SSH连接:
更安全的替代方案:使用 VPN (Virtual Private Network),你可以设置一个VPN服务器(例如在你的家庭路由器或一台始终开机的电脑上),然后从任何地方先连接到VPN,这样你的电脑就会像在局域网内一样,可以直接使用Nao的局域网IP(如 168.1.100)进行连接,这比直接端口转发要安全得多。
常见问题与排查
- 连接超时/无法连接:
- 检查Nao和电脑是否在同一个Wi-Fi下。
- 检查Nao的IP地址是否正确。
- 检查Nao的SSH和Naoqi服务是否已开启。
- 检查防火墙是否阻止了连接(尝试暂时关闭电脑或路由器的防火墙进行测试)。
- 连接后没有反应/Choregraphe显示未连接:
- 检查Naoqi服务是否在运行,可以通过SSH登录后,输入
ps aux | grep naoqi来查看进程。 - 尝试重启Nao的Naoqi服务:
sudo /etc/init.d/naoqi restart。
- 检查Naoqi服务是否在运行,可以通过SSH登录后,输入
- 忘记密码:
这是个棘手的问题,你可能需要通过物理方式访问Nao,进行系统恢复或重置,请查阅Nao的官方手册。
希望这份详细的指南能帮助你成功连接你的Nao机器人!
标签: nao机器人远程连接教程 nao机器人远程控制方法 nao机器人远程访问设置