{"id":6203,"date":"2017-04-02T09:45:02","date_gmt":"2017-04-02T01:45:02","guid":{"rendered":"https:\/\/kyle.ai\/blog\/?p=6203"},"modified":"2018-05-29T16:57:44","modified_gmt":"2018-05-29T08:57:44","slug":"naoqi%e5%bc%80%e5%8f%91%e4%b8%80%e4%ba%9b%e6%8a%80%e5%b7%a7","status":"publish","type":"post","link":"https:\/\/kyle.ai\/blog\/6203.html","title":{"rendered":"NAOqi\u5f00\u53d1\u4e00\u4e9b\u6280\u5de7"},"content":{"rendered":"<p>\u4e00<\/p>\n<p>\u5f53NAO\u5f00\u542fDialog\u65f6\uff0c\u542c\u5230\u4eba\u8bf4\u8bdd\u5f00\u59cb\uff0c\u4ee5\u53ca\u8bf4\u8bdd\u7ed3\u675f\u65f6\uff0c\u90fd\u4f1a\u53d1\u51fa\u4e00\u4e2a\u58f0\u97f3\uff0c\u300ebee\u300f\u4e00\u6837\u7684\u3002\u8fd9\u4e2a\u884c\u4e3a\u7279\u5f81\u662f\u53ef\u4ee5\u80fd\u7528API\u6765\u5173\u6389\u7684\u3002<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nALSpeechRecognitionProxy.setVisualExpression(false)\r\n<\/pre>\n<p>\u4e8c<\/p>\n<p>NAOqi\u7cfb\u7edf\u81ea\u52a8\u542f\u52a8\u914d\u7f6e\u6587\u4ef6\u653e\u5728\u4e24\u4e2a\u5730\u65b9\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n\/home\/nao\/naoqi\/preferences\/autoload.ini\r\n\/etc\/naoqi\/autoload.ini\r\n<\/pre>\n<p>\u5176\u4e2d\u4e0a\u9762\u90a3\u4e2a\u662f\u7528\u6237\u53ef\u4ee5\u4fee\u6539\u7684\uff0c\u53ef\u4ee5\u5728\u91cc\u9762\u52a0\u5165\u81ea\u5df1\u60f3\u968f\u673a\u542f\u52a8\u7684\u7a0b\u5e8f\u3002<\/p>\n<p>\u4e0b\u9762\u90a3\u4e2a\u662f\u7cfb\u7edf\u6a21\u5757\uff0c\u53ea\u6709root\u6743\u9650\u624d\u80fd\u4fee\u6539\u3002\u91cc\u9762\u4e3b\u8981\u52a0\u8f7d\u7684\u662fNAOqi\u5185\u7f6e\u7684\u6a21\u5757\uff0c\u5982\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n&#x5B;core]\r\nalbase\r\nlogmanager.LogManager\r\nservicemanager.ALServiceManager\r\npackagemanager.PackageManager\r\npreferencemanager\r\nframemanager\r\naldebug.ALDebug\r\n&#x5B;extra]\r\nnotificationmanager\r\nnotificationadder._ALNotificationAdder\r\ndcm_hal\r\nexpressiveness\r\nalresourcemanager\r\nrobotmodel\r\naldiagnosis\r\nsensors\r\nalbodytemperature\r\nmotion\r\n<\/pre>\n<p>\u4e09<\/p>\n<p>Nuance\u9ed8\u8ba4\u5f15\u64ce\u8bed\u97f3\u53c2\u6570\u5728\u914d\u7f6e\u6587\u4ef6\u91cc\u9762\u53ef\u914d\u7f6e\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n\/home\/nao\/.local\/share\/PackageManager\/apps\/robot-language-french-romeo\/share\/tts\/nuance\/fr_FR\/voiceSettings.xml\r\n<\/pre>\n<p>\u53c2\u6570\u50cf\u8fd9\u4e2a\u6837\u5b50\u7684\uff1a<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;\r\n&lt;VoiceSettings&gt;\r\n&lt;Setting name=&quot;pitchShift&quot; description=&quot;Ratio of the pitch shifting applied to the main voice&quot; value=&quot;1.10&quot;\/&gt;\r\n&lt;Setting name=&quot;doubleVoice&quot; description=&quot;Ratio of the pitch shifting applied to the doubling voice&quot; value=&quot;0.0&quot;\/&gt;\r\n&lt;Setting name=&quot;doubleVoiceLevel&quot; description=&quot;Level of the doubling voice&quot; value=&quot;0.0&quot;\/&gt;\r\n&lt;Setting name=&quot;doubleVoiceTimeShift&quot; description=&quot;Delay (ms) between the double voice and the main voice&quot; value=&quot;0.0&quot;\/&gt;\r\n&lt;Setting name=&quot;voiceLevel&quot; description=&quot;Voice level&quot; value=&quot;1.0&quot;\/&gt;\r\n&lt;Setting name=&quot;sourceVoice&quot; description=&quot;Voice name&quot; value=&quot;naomnc&quot;\/&gt;\r\n&lt;Setting name=&quot;model&quot; description=&quot;Voice model&quot; value=&quot;bet3&quot;\/&gt;\r\n&lt;\/VoiceSettings&gt;\r\n<\/pre>\n<p>\u53ef\u4ee5\u4fee\u6539\u914d\u7f6e\u6587\u4ef6\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7API\u6765\u8bbe\u7f6e\u548c\u4fee\u6539\u8fd9\u4e9b\u53c2\u6570\u503c\uff0c\u4ece\u800c\u4f7fNAO\u53d1\u51fa\u4e0d\u540c\u7c7b\u578b\u7684\u58f0\u97f3\u3002<\/p>\n<p>\u56db<\/p>\n<p>\u901a\u8fc7GStreamer\u6765\u5c06Pepper\u7684\u6444\u50cf\u5934\u56fe\u50cf\u5b9e\u65f6\u4f20\u8f93\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\ngst-launch-0.10 v4l2src always-copy=false queue-size=14 device=\/dev\/video0 ! 'video\/x-raw-yuv,width=640,height=480,framerate=30\/1' ! ffmpegcolorspace ! jpegenc ! rtpjpegpay ! udpsink host=192.168.11.9 port=9000 sync=false -v\r\n<\/pre>\n<p>\u4f46\u6709\u65f6\u5019\u8fd0\u884c\u8fd9\u4e2a\u547d\u4ee4\uff0c\u5c31\u4f1a\u5bfc\u81f4Pepper\u5d29\u6e83\uff0c\u786c\u4ef6\u4e0a\u9762\u62a5\u9519\uff0c\u7136\u540e\u673a\u5668\u5173\u673a\u3002<\/p>\n<p>\u89e3\u51b3\u529e\u6cd5\u662f\u5173\u6389\u81ea\u4e3b\u751f\u6d3b\u6a21\u5f0f\u518d\u8fd0\u884c\u547d\u4ee4\uff0c\u7136\u540e\u4e5f\u4e0d\u8981\u4f7f\u7528Choregraphe\u6765\u770bPepper\u7684\u89c6\u9891\uff0c\u539f\u56e0\u5927\u6982\u662f\u89c6\u9891\u8bbe\u5907\u5360\u7528\u7684\u95ee\u9898\u3002<\/p>\n<p>\u4e94<\/p>\n<p>NAOqi\u7cfb\u7edf\u91cc\u9762\u6709ALRedBallDetecter\u6a21\u5757\uff0c\u53ef\u4ee5\u8ffd\u8e2a\u3001\u8bc6\u522b\u7ea2\u7403\u3002\u4f46\u7403\u7684\u989c\u8272\u662f\u53ef\u4ee5\u901a\u8fc7API\u6765\u4fee\u6539\u7684\uff0c\u5177\u4f53\u51fd\u6570\u4e3a\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nALColorBlobDetectionProxy::setColor()\r\nALColorBlobDetectionProxy::setObjectProperties()\r\nALColorBlobDetectionProxy::getCircle()\r\n<\/pre>\n<p>\u516d<\/p>\n<p>\u5982\u4f55\u5728NAOqi\u7cfb\u7edf\u5b89\u88c5python\u7684pip\u5de5\u5177\uff1f<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nwget https:\/\/raw.github.com\/pypa\/pip\/master\/contrib\/get-pip.py\r\npython get-pip.py --user\r\nexport PATH=$HOME\/.local\/bin:$PATH\r\n<\/pre>\n<p>\u4e03<\/p>\n<p>ALConnectionManager\u6a21\u5757\u91cc\u9762\u6709\u5173\u4e8ewifi\u8fde\u63a5\u548c\u7ba1\u7406\u7684\u51fd\u6570\uff0c\u5176\u4e2d\u4e5f\u6709\u4e00\u4e9b\u4e8b\u4ef6\u3002<\/p>\n<p>\u636e\u6211\u4f7f\u7528\u53d1\u73b0\uff0c\u5f53\u6211\u4eec\u5728NAO\u7684wifi\u8fde\u63a5\u754c\u9762\uff0c\u65ad\u5f00\u4e00\u4e2a\u7f51\u7edc\u8fde\u63a5\u65f6\uff0c\u89e6\u53d1\u7684\u4e8b\u4ef6\u4e3a\uff1aNetworkServiceStateChanged\uff0c\u800c\u4e0d\u662fNetworkStateChanged\u3002<\/p>\n<p>\u5f53\u8fde\u63a5\u4e0a\u4e00\u4e2awifi\u7f51\u7edc\u65f6\uff0c\u8fd9\u4e24\u4e2a\u4e8b\u4ef6\u90fd\u4f1a\u89e6\u53d1\u3002<\/p>\n<p>\u516b<\/p>\n<p>\u5e73\u65f6\u5199\u4ee3\u7801\u9700\u8981\u590d\u5236\u5230\u673a\u5668\u4eba\u7cfb\u7edf\u91cc\u9762\u8fd0\u884c\u505a\u6d4b\u8bd5\u7684\uff0c\u53ef\u4ee5\u901a\u8fc7scp\u547d\u4ee4\uff0c\u4f46scp\u4e0d\u662f\u589e\u91cf\u7684\u3002<\/p>\n<p>\u5982\u679c\u53ea\u4fee\u6539\u4e86\u4e00\u4e2a\u4ee3\u7801\u6587\u4ef6\uff0c\u90a3\u4e48\u53ea\u9700\u8981\u628a\u4fee\u6539\u8fc7\u7684\u6587\u4ef6\u590d\u5236\u8fc7\u53bb\u8986\u76d6\uff0c\u5176\u5b83\u6587\u4ef6\u4e0d\u7528\u52a8\u3002\u53ef\u4ee5\u7528rsync\u547d\u4ee4\u5b9e\u73b0\uff0c\u5982\u4e0b\u9762\u547d\u4ee4\u6240\u5f53\u524d\u76ee\u5f55\u4e0b\u9762\u7684AXMService\u6587\u4ef6\u5939\u590d\u5236\u5230\u8fdc\u7a0b\u673a\u5668\u4eba\u7cfb\u7edf\u91cc\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nrsync AXMService -av --exclude=.git --exclude=.idea --exclude axmservice\/config.py --exclude=&quot;*.pyc&quot; nao@192.168.0.13:.local\/\r\n<\/pre>\n<p>\u5176\u4e2d &#8211;exclude \u53c2\u6570\u8bbe\u7f6e\u9700\u8981\u5ffd\u7565\u54ea\u4e9b\u6587\u4ef6\u3002<\/p>\n<p>\u4e5d<\/p>\n<p>\u5728pepper\u4e2d\u67e5\u770b\u5e73\u677f\u4e2d\u6d4f\u89c8\u5668console\u65e5\u5fd7\uff0c\u53ef\u4ee5\u5728naoqi\u7cfb\u7edf\u4e2d\u6267\u884c\u5982\u4e0b\u547d\u4ee4<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nadb shell\r\nlogcat &quot;|&quot; grep CONSOLE\r\n<\/pre>\n<p>\u5341<\/p>\n<p>\u901a\u8fc7Choregraph\u5b89\u88c5 PKG \u5305\u65f6\uff0c\u9047\u5230\u8fd9\u4e2a\u62a5\u9519<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nAn error occurred during application's installation: error while trying to open project archive \/Users\/kyle\/Documents\/\u7075\u805a\u5927\u8111\/user_motion.pkg: Failed to convert a wide-character filename to a multi-byte filename, please make sure the package is not corrupted.\r\n<\/pre>\n<p>\u539f\u56e0\u662fpkg\u6587\u4ef6\u5939\u8def\u5f84\u5305\u542b\u4e2d\u6587\uff0c\u6362\u6210\u82f1\u6587\u76ee\u5f55\u5c31OK\u4e86\u3002<\/p>\n<p>\u5341\u4e00<\/p>\n<p>\u5728QiChat\u4e2d\uff0c\u8c03\u7528\u7cfb\u7edf\u5185\u7f6e\u6a21\u5757\u65b9\u6cd5\u65f6\uff0c\u53c2\u6570\u4e0d\u80fd\u7528\u53cc\u5f15\u53f7\uff0c\u6bd4\u5982\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nu:(&#x5B;\u7ad9\u8d77\u6765]) \u597d\u7684 ^pCall(ALRobotPosture.goToPosture(&quot;StandInit&quot;, 0.4))\r\n<\/pre>\n<p>\u5728\u8c03\u7528\u7684\u65f6\u5019\u5c31\u4f1a\u62a5\u9519\uff1a tail -f \/var\/log\/naoqi\/tail-naoqi.log<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n&#x5B;I] 1464923672.601594 3889 Dialog.DialogEngine: Force input: \u7ad9\u8d77\u6765\r\n&#x5B;I] 1464923672.603667 3889 Dialog.FastMatcher: Matching result: (0.967742) \u7ad9 \u8d77 \u6765 &#x5B;MATCH \u7ad9, \u7ad9 (0.0); MATCH \u8d77, \u8d77 (0.0); MATCH \u6765, \u6765 (0.0)]\r\n&#x5B;I] 1464923672.605031 3889 Dialog.Model: \u7ad9\u8d77\u6765 is matched by rule u model:standard app: topic:axmbasic lang:mnc line:8\r\n&#x5B;I] 1464923672.606126 3889 Dialog.Model: Matching &quot;\u7ad9\u8d77\u6765&quot;: 1 ms\r\n&#x5B;I] 1464923672.619235 3889 ALAnimatedSpeechInterfance: Animated Speech: Say : \u597d\u7684\\last\\^pCall(ALRobotPosture.goToPosture(StandInit,0.4))\r\n&#x5B;I] 1464923672.623770 3889 animatedspeech.main: Animated saying:  \\pau=500\\ \u597d\u7684 \\last\\  \\mrk=1\\ \r\nmrk=1: ^pCall(ALRobotPosture.goToPosture(StandInit,0.4))\r\n&#x5B;I] 1464923672.647859 3924 audio.altexttospeech.nuance: Enable equalizer 0 Start synthesis of  pause=500\\  \u597d\u7684   mrk=1\\  \r\n&#x5B;I] 1464923672.988508 3924 audio.alspeechrecognition: onSpeakersPlaying 1464923673.215256\r\n&#x5B;I] 1464923672.992801 3924 audio.alspeechrecognition: **************************** listening ON ***************** \r\n&#x5B;E] 1464923673.223602 3889 animatedspeech.director: An exception as been thrown during this call: ALRobotPosture.goToPosture(&#x5B;StandInit,0.4]) with this error: parse error\r\n<\/pre>\n<p>\u6539\u6210\u5355\u5f15\u53f7\u5c31\u597d\u4e86\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nu:(&#x5B;\u7ad9\u8d77\u6765]) \u597d\u7684 ^pCall(ALRobotPosture.goToPosture('StandInit', 0.4))\r\n<\/pre>\n<p>\u5728NAO\u4e0a\u9762\uff0c\u5982\u679cqichat\u7684\u53c2\u6570\u4e3a\u4e2d\u6587\uff0c\u5219\u4f1a\u51fa\u73b0\u8c03\u7528\u51fa\u9519\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nu:(_&#x5B;\u5f00\u59cb\u95f2\u804a \u6211\u4eec\u804a\u804a\u5427 \u5f00\u59cb\u804a\u5929 \u5c0f\u83ab\u5c0f\u83ab]) \u597d\u7684 ^call(AXMAsr.begin_chat($1))\r\n<\/pre>\n<p>\u6539\u6210\u8fd9\u6837\u5c31\u53ef\u4ee5<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nu:(_&#x5B;\u5f00\u59cb\u95f2\u804a \u6211\u4eec\u804a\u804a\u5427 \u5f00\u59cb\u804a\u5929 \u5c0f\u83ab\u5c0f\u83ab]) \u597d\u7684 ^call(AXMAsr.begin_chat('\u5f00\u59cb\u95f2\u804a'))\r\n<\/pre>\n<p>\u4f46\u662f\u5728$1\u4e24\u8fb9\u52a0\u4e0a\u5355\u5f15\u53f7\u4e0d\u884c\uff0c\u53c2\u6570\u4f1a\u88ab\u5ffd\u7565\u3002\u4f46\u662f\u5728\u5355\u5f15\u53f7\u4e24\u8fb9\u5404\u52a0\u4e0a\u4e00\u4e2a\u7a7a\u683c\uff0c\u5c31\u53ef\u4ee5\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nu:(_&#x5B;\u5f00\u59cb\u95f2\u804a \u6211\u4eec\u804a\u804a\u5427 \u5f00\u59cb\u804a\u5929 \u5c0f\u83ab\u5c0f\u83ab]) \u597d\u7684 ^call(AXMAsr.begin_chat(' $1 '))\r\n<\/pre>\n<p>\u5341\u4e8c<\/p>\n<p>\u5728NAO\u91cc\u9762\u52a0\u8f7d qichat \uff0c\u542f\u52a8Dialog\u65f6\uff0cNAO\u5728\u542c\u4eba\u8bb2\u8bdd\u7684\u65f6\u5019\uff0c\u4f1a\u968f\u673a\u505a\u4e00\u4e9b\u52a8\u4f5c\uff0c\u5c1d\u8bd5\u4e86\u4ee5\u4e0b\u529e\u6cd5\u90fd\u65e0\u6548\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nALAutonomousLife.setState('disabled')\r\nALAnimatedSpeech.setBodyLanguageEnabled(False)\r\nALAnimatedSpeech.setBodyLanguageModeFromStr('disabled')\r\nALAnimatedSpeech.setBodyLanguageMode(0)\r\n<\/pre>\n<p>\u6700\u540e\u6210\u529f\u7684\u65b9\u6cd5\u662f<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nALAutonomousMoves.setExpressiveListeningEnabled(False)\r\n<\/pre>\n<p>\u5341\u4e09<\/p>\n<p>\u66ffNAO\u8bbe\u7f6eVPN\u4ee3\u7406\u3002<\/p>\n<p>\u5f53\u7528\u7f51\u7ebf\u8fde\u63a5NAO\u4e0emac\u7535\u8111\u65f6\uff0c\u5728mac\u7684\u7f51\u7edc\u8bbe\u7f6e\u91cc\u9762\uff0c\u4f1a\u51fa\u73b0\u4e00\u4e2aNAO\u4e0emac\u7684\u7f51\u7edc\u63a5\u53e3\u3002<\/p>\n<p>\u5728mac\u4e0a\u9762\u8fde\u63a5\u597dvpn\u3002<\/p>\n<p>\u7136\u540e\u6253\u5f00mac\u7684\u300e\u7cfb\u7edf\u504f\u597d\u8bbe\u7f6e\u300f-\u300e\u5171\u4eab\u300f\uff0c\u5728\u4e0b\u9762\u7684\u4e92\u8054\u7f51\u5171\u4eab\uff0c\u53f3\u8fb9\u9009\u9879\u300e\u5171\u4eab\u4ee5\u4e0b\u6765\u6e90\u7684\u8fde\u63a5\u300f\u4e2d\uff0c\u9009\u62e9\u4f60\u7684VPN\u8fde\u63a5\u3002\u5728\u4e0b\u9762\u300e\u7528\u4ee5\u4e0b\u7aef\u53e3\u5171\u4eab\u7ed9\u7535\u8111\u300f\u4e2d\uff0c\u52fe\u9009\u4e0a\u9762NAO\u4e0emac\u8fde\u63a5\u7684\u90a3\u4e2a\u63a5\u53e3\u3002\u6700\u540e\u52fe\u4e0a\u53f3\u8fb9\u7684\u4e92\u8054\u7f51\u5171\u4eab\u3002<\/p>\n<p>\u8fd9\u6837NAO\u4e0a\u7f51\u5c31\u4f1a\u4f7f\u7528mac\u7684\u7f51\u7edc\uff0c\u5e76\u4e14\u7528VPN\u3002<\/p>\n<p>\u5341\u56db<\/p>\n<p>\u7ed9NAO\u5237\u673a\u5fc5\u9700\u4f7f\u7528 2.1 \u7248\u672c\u7684 Choregraphe\uff0c\u901a\u8fc7\u83dc\u5355\u300eConnection &#8211; Advanced &#8211; Update Robot System\u300f\uff0c\u9009\u62e9opn\u7cfb\u7edf\u6587\u4ef6\uff0c\u4e0a\u4f20\u5230NAO\u673a\u5668\u4eba\u91cc\u9762\u3002<\/p>\n<p>\u7136\u540e\u7cfb\u7edf\u4f1a\u628a OPN \u6587\u4ef6\u653e\u5230\u8def\u5f84\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n\/var\/persistent\/.image\/upgrade.img\r\n<\/pre>\n<p>\u7cfb\u7edf\u91cd\u542f\u540e\u4f1a\u81ea\u52a8\u4ece\u8fd9\u4e2a\u6587\u4ef6\u91cd\u88c5\u7cfb\u7edf\u3002\u5b89\u88c5\u5b8c\u540e\uff0c\u955c\u50cf\u6587\u4ef6\u4f1a\u88ab\u5220\u9664\uff0c\u6709\u4e00\u4e2a\u5347\u7ea7\u7684\u65e5\u5fd7\u6587\u4ef6\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nWalle &#x5B;0] ~ $ ls \/var\/persistent\/.image\/upgrade.log \r\n\/var\/persistent\/.image\/upgrade.log\r\nWalle &#x5B;0] ~ $ cat \/var\/persistent\/.image\/upgrade.log \r\n------------------------------------------------------------\r\nStarting upgrade to version 2.1.4\r\nThu Jun  9 02:45:13 UTC 2016\r\n&gt;&gt;&gt; Checking the image\/CPU compatibility...\r\n  Image\/CPU compatibility checks passed.\r\n&gt;&gt;&gt; Checking the image\/robot kind compatibility...\r\n  Image\/Robot compatibility checks passed.\r\n&gt;&gt;&gt; Checking the image integrity... \r\n  Image integrity checks passed.\r\n&gt;&gt;&gt; Checking the partition layout...\r\n  Partitions layout checks passed.\r\n&gt;&gt;&gt; Upgrading the system...\r\n  System has been upgraded.\r\n&gt;&gt;&gt; Checking the flashed data integrity... \r\n  Flashed data integrity check passed.\r\n&gt;&gt;&gt; Removing the upgrade image...\r\n  Done.\r\n<\/pre>\n<p>\u5341\u4e94<\/p>\n<p>python\u811a\u672c\u6740\u6389\u6240\u6709behaviors\u65f6\uff0c\u5982\u679c\u8fd9\u4e2a\u811a\u672c\u662f\u901a\u8fc7 choregraphe \u7684\u8fd0\u884c\u6309\u94ae\u8fd0\u884c\u8d77\u6765\u4e86\uff0c\u5219\u4e0d\u80fd\u6740\u6389\u81ea\u5df1\uff0c\u5426\u5219\u4f1a\u6302\u6b7b\u3002\u6b63\u786e\u5199\u6cd5\u793a\u4f8b\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\ndef _stop_other_bh(self):\r\n        running_bhs = self.qi_helper.ALBehaviorManager.getRunningBehaviors()\r\n        self.log('get bhs=%s' % running_bhs)\r\n        for app in running_bhs:\r\n            if not app.startswith(self.project_behavior_name) and not app.startswith('.lastUploadedChoregrapheBehavior'):\r\n                self.log('stop %s' % app)\r\n                self.qi_helper.ALBehaviorManager.stopBehavior(app)\r\n<\/pre>\n<p>\u5341\u516d<\/p>\n<p>pepper\u51fa\u786c\u4ef6\u62a5\u8b66\u65f6\uff0c\u4f1a\u5f71\u54cd\u8fd0\u52a8\uff0c\u4e00\u822c\u4f1a\u4f4e\u4e0b\u5934\u7ad9\u4e0d\u8d77\u6765\uff0c\u8fd9\u65f6\u53ef\u4ee5\u901a\u8fc7API\u89e3\u91ca\u62a5\u8b66\u7684\u9650\u5236\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nqicli call ALMotion.setDiagnosisEffectEnabled 0\r\n<\/pre>\n<p>\u5341\u4e03<\/p>\n<p>\u901a\u8fc7API\u6765\u62ffPepper\u7684\u786c\u4ef6ID\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nPepper &#x5B;0] ~ $ qicli call ALMemory.getData Device\/DeviceList\/ChestBoard\/BodyId\r\n&quot;AP990438A00Y67100236&quot;\r\nPepper &#x5B;0] ~ $ qicli call ALMemory.getData RobotConfig\/Head\/HeadId\r\n&quot;AP990237I00Y5C101543&quot;\r\n<\/pre>\n<p>BodyID\u548cHeadID\u7684Key\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nDevice\/DeviceList\/ChestBoard\/BodyId\r\nRobotConfig\/Head\/HeadId\r\nRobotConfig\/Body\/BaseVersion\r\n<\/pre>\n<p>\u5341\u516b<\/p>\n<p>pepper\u8fde\u4e86\u4e24\u4e2a\u7f51\uff0c\u4e00\u4e2a\u6709\u7ebf\uff0c\u4e00\u4e2awifi\uff0c\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0cnaoqi\u7cfb\u7edf\u4f1a\u4f18\u5148\u4f7f\u7528\u6709\u7ebf\u7684\u7f51\u7edc\u3002<\/p>\n<p>\u6bd4\u5982\u4f60\u7684\u6709\u7ebf\u662f\u4e0a\u4e0d\u4e86\u5916\u7f51\u7684\uff0cwifi\u53ef\u4ee5\u4e0a\u5916\u7f51\uff0c\u5982\u679c\u4f60\u60f3\u8ba9pepper\u80fd\u591f\u4e0a\u5916\u7f51\uff0c\u90a3\u4e48\u9700\u8981\u628awifi\u7684\u4f18\u5148\u7ea7\u8c03\u9ad8\u4e8e\u6709\u7ebf\u7f51\u7ebf\u3002<\/p>\n<p>\u901a\u8fc7 connmanctl \u547d\u4ee4\u53ef\u4ee5\u67e5\u770b\u7f51\u7edc\u4f18\u5148\u7ea7\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nPepper &#x5B;0] ~ $ connmanctl services\r\n*AR Wired                ethernet_0013951cb10e_cable\r\n*AR GKRobot_MY           wifi_48a9d28c722f_474b526f626f745f4d59_managed_psk\r\n    TP-LINK_2.4G_6F6F23  wifi_48a9d28c722f_54502d4c494e4b5f322e34475f364636463233_managed_psk\r\n    HUAWEI-KPX7NU        wifi_48a9d28c722f_4855415745492d4b5058374e55_managed_psk\r\n    TP-LINK_5G_6F6F23    wifi_48a9d28c722f_54502d4c494e4b5f35475f364636463233_managed_psk\r\n    china_unicom         wifi_48a9d28c722f_6368696e615f756e69636f6d_managed_none\r\n    local                wifi_48a9d28c722f_6c6f63616c_managed_ieee8021x\r\n    XF                   wifi_48a9d28c722f_5846_managed_psk\r\n    Everest              wifi_48a9d28c722f_45766572657374_managed_ieee8021x\r\n    HUAWEI-KPX7NU_5G     wifi_48a9d28c722f_4855415745492d4b5058374e555f3547_managed_psk\r\n    Cooky-029_5G         wifi_48a9d28c722f_436f6f6b792d3032395f3547_managed_psk\r\n    SRYJ1606A-045        wifi_48a9d28c722f_5352594a31363036412d303435_managed_psk\r\n    gzkfzx-master        wifi_48a9d28c722f_677a6b667a782d6d6173746572_managed_psk\r\n                         wifi_48a9d28c722f_hidden_managed_psk\r\n    chuangxinshiyan      wifi_48a9d28c722f_636875616e6778696e73686979616e_managed_psk\r\n<\/pre>\n<p>\u5c06wifi\u4f18\u5148\u7ea7\u8c03\u9ad8\u7684\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nconnmanctl move-before wifi_48a9d28c722f_474b526f626f745f4d59_managed_psk ethernet_0013951cb10e_cable\r\n<\/pre>\n<p>\u53c2\u6570\u53ef\u4ee5\u770b\u6587\u6863\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nconnmanctl --help\r\n<\/pre>\n<p>\u5341\u4e5d<\/p>\n<p>\u5982\u4f55\u67e5\u770b wav \u97f3\u9891\u6587\u4ef6\uff0c\u662f\u4e0d\u662f\u56db\u58f0\u9053\u7684\uff0c\u901a\u8fc7 file \u547d\u4ee4\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nkyle@MacBook-Air ~\/Desktop&gt; file 20170301_142155.wav                                                                                                                      14:45:16\r\n20170301_142155.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, 4 channels 16000 Hz\r\n<\/pre>\n<p>\u5982\u679c\u4e0d\u662f\u56db\u58f0\u9053\u7684\uff0c\u8f93\u51fa\u7ed3\u679c\u5c31\u6ca1\u6709 4 channels<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nkyle@MacBook-Air ~\/Desktop&gt; file 20170301_145103.wav                                                                                                                      14:51:29\r\n20170301_145103.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 16000 Hz\r\n<\/pre>\n<p>\u4e8c\u5341<\/p>\n<p>pepper\u5728\u5ba2\u6237\u7684\u5185\u7f51\u73af\u5883\u4e2d\uff0c\u7981\u7528\u6389\u4e8622\u300123\u7b49\u7aef\u53e3\uff0c\u5c31\u6ca1\u529e\u6cd5\u901a\u8fc7scp\u547d\u4ee4\u628a\u6587\u4ef6\u53d1\u9001\u7ed9\u670d\u52a1\u7aef\uff0c\u8fd9\u65f6\u53ef\u4ee5\u7528nc\u547d\u4ee4\u6765\u4f20\u8f93\u6587\u4ef6<\/p>\n<p>\u5728\u670d\u52a1\u5668\u4e0a\u9762\uff0c\u5982 api.axmtec.com \u6267\u884c\u547d\u4ee4\uff1a<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nnc -l 1234 &gt; wav.tar.gz\r\n<\/pre>\n<p>\u7136\u540e\u5728pepper\u7cfb\u7edf\u91cc\u9762\uff0c\u6267\u884c\u547d\u4ee4\uff0c\u4e0a\u4f20\u6587\u4ef6 wav.tar.gz<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\ncat wav.tar.gz | nc api.axmtec.com 1234\r\n<\/pre>\n<p>\u4e8c\u5341\u4e00<\/p>\n<p>qicli info XXX &#8211;hidden \u5217\u51fa\u9690\u85cf\u7684\u65b9\u6cd5<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nMixC-001 &#x5B;0] ~ $ qicli info ALTabletService --hidden | grep Apk\r\n   180 _installApk                  Bool (String)\r\n   181 _installSystemApk            Bool (String)\r\n   182 _launchApk                   Bool (String)\r\n   183 _removeApk                   Void (String)\r\n   184 _listApks                    String ()\r\n   185 _stopApk                     Void (String)\r\n   186 _isApkExist                  Bool (String)\r\n   187 _getApkVersion               String (String)\r\n   195 _stopApk                     Void ()\r\n   197 _getApkVersionCode           String (String)\r\n   216 onApkInstalled          (String)\r\n   219 onSystemApkInstalled    (String)\r\n   220 onSystemApkInstallError (Int32)\r\n<\/pre>\n<p>\u4e8c\u5341\u4e8c<\/p>\n<p>\u7ed9NAOqi\u7cfb\u7edf\u8bbe\u7f6e\u56fa\u5b9aIP<\/p>\n<p>\u7528connman\u547d\u4ee4\u884c\uff0c\u7075\u611f\u6765\u6e90\u4e8e https:\/\/community.ald.softbankrobotics.com\/en\/forum\/critical-static-ip-configuration-bug-1829<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nAXM-06 &#x5B;err 1] ~ $ \/usr\/lib\/connman\/test\/set-ipv4-method wifi_48a9d24b4844_6e616f2d3467_managed_psk manual 192.168.8.250 255.255.255.0 192.168.8.1\r\nSetting method manual for wifi_48a9d24b4844_6e616f2d3467_managed_psk\r\nNew IPv4.Configuration:  {'Netmask': dbus.String(u'255.255.255.0', variant_level=1), 'Gateway': dbus.String(u'192.168.8.1', variant_level=1), 'Method': dbus.String(u'manual', variant_level=1), 'Address': dbus.String(u'192.168.8.250', variant_level=1)}\r\n<\/pre>\n<p>\u5176\u4e2dwifi\u5b57\u7b26\u4e32 wifi_48a9d24b4844_6e616f2d3467_managed_psk \u662f\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u884c\u62ff\u5230\u7684\uff1a<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nAXM-06 &#x5B;0] ~ $ connman scan wifi\r\nAXM-06 &#x5B;0] ~ $ connman services\r\n* AR Wired                      { ethernet_0013951a97fa_cable }\r\n* AR nao-4g                     { wifi_48a9d24b4844_6e616f2d3467_managed_psk }\r\n     ChinaNet-RXA9              { wifi_48a9d24b4844_4368696e614e65742d52584139_managed_psk }\r\n     zeusis-guest               { wifi_48a9d24b4844_7a65757369732d6775657374_managed_psk }\r\n     zeusis                     { wifi_48a9d24b4844_7a6575736973_managed_psk }\r\n     DIRECT-43-HP M277 LaserJet { wifi_48a9d24b4844_4449524543542d34332d4850204d323737204c617365724a6574_managed_psk }\r\n     Pactera-Visitor            { wifi_48a9d24b4844_506163746572612d56697369746f72_managed_psk }\r\n     Pactera                    { wifi_48a9d24b4844_50616374657261_managed_none }\r\n     Cool Changer S1            { wifi_48a9d24b4844_436f6f6c204368616e676572205331_managed_psk }\r\nAXM-06 &#x5B;0] ~ $ \r\n<\/pre>\n<p>\u8bbe\u7f6estatic IP\u4e4b\u524d\uff0c\u8981\u786e\u5b9anameservers\u8bbe\u7f6e\u6b63\u786e\uff0cset dns\uff1a<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n\/usr\/lib\/connman\/test $ .\/set-nameservers wifi_48a9d2969a97_627263622d7a7a_managed_psk 211.138.91.1\r\n<\/pre>\n<p>\u4e8c\u5341\u4e09<\/p>\n<p>\u5bf91.8A\u7248\u672cPepper\u539f\u751f\u5e73\u677f\u8fdb\u884cRoot<\/p>\n<p>adb devices \u663e\u793a offline\uff0cadb kill-server \u540e\u4e0d\u8d77\u4f5c\u7528\u3002<\/p>\n<p>\u539f\u56e0\u662f adb \u7248\u672c\u53f7\u4e0d\u5bf9\uff0candroid\u7248\u672c\u4e3a 5.1\uff0cadb\u4e3a1.0.26\uff0c\u5728 \/home\/nao\/.local\/share\/PackageManager\/apps \u91cc\u9762\u53d1\u73b0\u4e86\u4e00\u4e2a 1.0.31\u7248\u672c\u7684adb<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nAXM-02 &#x5B;0] ~\/.local\/share\/PackageManager\/apps $ find -name adb\r\n.\/j-tablet-browser\/adb\r\nAXM-02 &#x5B;0] ~\/.local\/share\/PackageManager\/apps $ .\/j-tablet-browser\/adb version\r\nAndroid Debug Bridge version 1.0.31\r\n<\/pre>\n<p>\u4f7f\u7528\u8fd9\u4e2a\u7248\u672c\u7684adb\u5c31\u53ef\u4ee5\u4e86\uff0c\u9996\u5148\u8981\u5728\u5e73\u677f\u7684\u8bbe\u7f6e\u4e2d\u6253\u5f00usb\u8c03\u8bd5\u6a21\u5f0f\uff0c\u7136\u540e\u7528adb\u65f6\uff0c\u4f1a\u5f39\u51fa\u4e00\u4e2a\u6388\u6743\u786e\u8ba4\u6846\u3002<\/p>\n<p>\u8c03\u7528\u5e73\u677f\u8bbe\u7f6e\u754c\u9762\uff1a<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nqicli call ALTabletService._lanuchApk com.android.settings\r\n<\/pre>\n<p>\u7136\u540e\u5728\u5173\u4e8e\u672c\u673a\u4e2d\uff0c\u7248\u672c\u4fe1\u606f\u8fde\u7eed\u70b9\u51fb\u51e0\u6b21\uff0c\u5c31\u53ef\u4ee5\u6253\u5f00\u5f00\u53d1\u8005\u6a21\u5f0f\u3002<\/p>\n<p>\u4e0d\u80fd\u4f7f\u7528adb root\uff1a<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nAXM-02 &#x5B;0] ~ $ adb -s LPT200ARA00L5CC12345 root\r\nadbd cannot run as root in production builds\r\n<\/pre>\n<p>\u5c1d\u8bd5\u5b89\u88c5 adb install adbd-insecure.apk \uff0c\u8fd0\u884c\u540e\u4e5f\u62a5\u9519\uff0c\u6ca1\u6709root\u3002<\/p>\n<p>\u4e0b\u8f7d 360 \u8d85\u7ea7 root\u5de5\u5177\uff0c\u5b89\u88c5\u540e\u8fd0\u884c\uff0c\u8fdb\u884c\u7cfb\u7edfroot\u3002\u4e4b\u540e\u8fdb\u5165shell\uff0c\u518d\u8fd0\u884c su \uff0c\u5c31\u662froot\u7528\u6237\u4e86\u3002<\/p>\n<p>\u4e8c\u5341\u56db<\/p>\n<p>\u4fee\u6539NAOqi\u7cfb\u7edf\u9632\u706b\u5899<\/p>\n<p>\u67e5\u770bNAO\u76ee\u5f55\u7684\u9632\u706b\u5899\u6a21\u5f0f\uff1a<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nnao &#x5B;0] ~ $ \/etc\/init.d\/firewall_mode show\r\n * robot mode: development\r\n<\/pre>\n<p>\u4fee\u6539\u9632\u706b\u5899\u6a21\u5f0f\uff1a<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n\/etc\/init.d\/firewall_mode production\r\n\r\n\u6216\r\n\r\n\/etc\/init.d\/firewall_mode development\r\n<\/pre>\n<p>\u5982\u679c\u8981\u4fee\u6539\u5f53\u524d\u6a21\u5f0f\u4e3a\u9ed8\u8ba4\uff0c\u4e5f\u5c31\u662f\u7cfb\u7edf\u91cd\u542f\u540e\u4e5f\u662f\u8fd9\u79cd\u6a21\u5f0f\uff0c\u5219\u8981\u8fd0\u884c\uff1a<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n\/etc\/init.d\/firewall_mode save\r\n<\/pre>\n<p>\u53c2\u8003\u6587\u6863\uff1ahttp:\/\/doc.aldebaran.com\/2-1\/dev\/tools\/opennao.html<\/p>\n<p>\u7ecf\u8fc7\u9a8c\u8bc1\uff0c\u5f53\u9632\u706b\u5899\u5904\u4e8eproduction\u6a21\u5f0f\u65f6\uff1a<\/p>\n<ul>\n<li>choregraphe\uff0c\u65e0\u6cd5\u8fde\u63a5\u5230NAO\uff0c\u65e0\u8bba\u662f\u7528wifi\u7f51\u7edc\u8fd8\u662f\u6709\u7ebf\u7684\u7f51\u7edc\u3002<\/li>\n<li>ssh\uff0c\u901a\u8fc7\u65e0\u7ebf\u7f51\u7edc\u65e0\u6cd5\u8fde\u63a5\uff0c\u4f46\u662f\u6709\u7ebf\u7f51\u7edc\u53ef\u4ee5\u8fde\u63a5\u3002<\/li>\n<li>\u673a\u5668\u4eba\u914d\u7f6e\u9875\u9762\uff0c\u90fd\u65e0\u6cd5\u8bbf\u95ee\u3002<\/li>\n<\/ul>\n<p>\u4e8c\u5341\u4e94<\/p>\n<p>\u5728NAOqi\u4e2d\u5b89\u88c5pip<\/p>\n<p>\u5728home\u76ee\u5f55\u4e0b\u6267\u884c\u547d\u4ee4\uff1a<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\neasy_install --prefix=$HOME\/.local pip\r\n<\/pre>\n<p>\u4f1a\u9047\u5230\u62a5\u9519\uff1a<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nerror: can't create or remove files in install directory\r\n\r\nThe following error occurred while trying to add or remove files in the\r\ninstallation directory:\r\n\r\n    &#x5B;Errno 2] No such file or directory: '\/home\/nao\/.local\/lib\/python2.7\/site-packages\/test-easy-install-5607.write-test'\r\n\r\nThe installation directory you specified (via --install-dir, --prefix, or\r\nthe distutils default setting) was:\r\n\r\n    \/home\/nao\/.local\/lib\/python2.7\/site-packages\r\n\r\nThis directory does not currently exist.  Please create it and try again, or\r\nchoose a different installation directory (using the -d or --install-dir\r\noption).\r\n<\/pre>\n<p>\u7136\u540e\u624b\u52a8\u521b\u5efa\u76ee\u5f55<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nmkdir -p \/home\/nao\/.local\/lib\/python2.7\/site-packages\/\r\neasy_install --prefix=$HOME\/.local pip\r\n<\/pre>\n<p>\u5c31\u884c\u4e86<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00 \u5f53NAO\u5f00\u542fDialog\u65f6\uff0c\u542c\u5230\u4eba\u8bf4\u8bdd\u5f00\u59cb\uff0c\u4ee5\u53ca\u8bf4\u8bdd\u7ed3\u675f\u65f6\uff0c\u90fd\u4f1a\u53d1\u51fa\u4e00\u4e2a\u58f0\u97f3\uff0c\u300ebee\u300f\u4e00\u6837\u7684\u3002\u8fd9\u4e2a\u884c\u4e3a\u7279 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-6203","post","type-post","status-publish","format-standard","hentry","category-diary"],"_links":{"self":[{"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/posts\/6203","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/comments?post=6203"}],"version-history":[{"count":4,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/posts\/6203\/revisions"}],"predecessor-version":[{"id":6321,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/posts\/6203\/revisions\/6321"}],"wp:attachment":[{"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/media?parent=6203"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/categories?post=6203"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/tags?post=6203"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}