0
我想使用ALConnectionManager將我的NAO機器人連接到新的wifi網絡,因此我不必使用網頁。使用Python的API是不是點擊網頁上的更好...如何使用ALConnectionManager將NAO機器人連接到wifi,不使用網頁
我想使用ALConnectionManager將我的NAO機器人連接到新的wifi網絡,因此我不必使用網頁。使用Python的API是不是點擊網頁上的更好...如何使用ALConnectionManager將NAO機器人連接到wifi,不使用網頁
因此,這裏就是我發現,不完全以智能,但它工作在2.x.x版本罰款...
def connect(strSsid, strPassword):
print("INF: trying to connect to '%s', with some password..." % (strSsid))
self.cm = naoqi.ALProxy("ALConnectionManager")
self.cm.scan();
aS = self.cm.services();
bFound = False;
for s in aS:
print("\nService: %s" % s)
strServiceID = None;
for attr in s:
attrName, attrValue = attr;
if(attrName == "ServiceId"):
strServiceID = attrValue;
if(attrName == "Name" and attrValue == strSsid): # ASSUME, serviceID always set before Name
assert(strServiceID != None);
print("INF: Good found the right wifi, ServiceID: '%s'\n" % strServiceID)
bFound = True;
break;
if(bFound):
break;
# for each services - end
if(bFound):
# real connection
aServiceInput = [];
aServiceInput.append(["ServiceId", strServiceID ]);
aServiceInput.append(["Passphrase", strPassword ]);
aServiceInput.append(["PrivateKeyPassphrase", strPassword ]); # don't know wich one is usefull!
# aServiceInput.append(["Favorite", True ]); # not working
print("DBG: ServiceInput: %s" % aServiceInput)
retVal = self.cm.setServiceInput(aServiceInput);
print("DBG: setServiceInput return: %s" % str(retVal))
retVal = self.cm.connect(strServiceID);
print("DBG: connect return: %s" % str(retVal))