{"id":2784,"date":"2019-03-20T17:54:48","date_gmt":"2019-03-20T09:54:48","guid":{"rendered":"http:\/\/www.liangliang.org.cn\/?p=2784"},"modified":"2019-03-20T17:54:48","modified_gmt":"2019-03-20T09:54:48","slug":"%e6%a0%91%e8%8e%93%e6%b4%be3b_alphabot2%e6%a8%a1%e5%9d%97%e5%88%97%e8%a1%a8","status":"publish","type":"post","link":"https:\/\/www.liangliang.org.cn\/?p=2784","title":{"rendered":"\u6811\u8393\u6d3e3b+_AlphaBot2\u6a21\u5757\u5217\u8868"},"content":{"rendered":"<header class=\"entry-header\">\n<h1 class=\"entry-title\">Arduino\u63a7\u5236\u7a0b\u5e8f\uff1a<\/h1>\n<\/header>\n<div class=\"entry-content\">\n<pre><code class=\"hljs\"> Run-Test                       \u7535\u673a\u6d4b\u8bd5\n Joystick \u7a0b\u5e8f                  \u4e94\u5411\u6447\u6746\n IR \u7a0b\u5e8f                        \u7ea2\u5916\u9065\u63a7\u5668\u63a7\u5236\n Infrared-Obstacle-Avoidancec   \u7ea2\u5916\u907f\u969c\n Ultrasionc-Obstacle-Avoidance  \u8d85\u58f0\u6ce2\u907f\u969c\n Ultrasionc-Infrared-Obstacle-Avoidance  \u8d85\u58f0\u6ce2\u7ea2\u5916\u907f\u969c\n Ultrasionc_Ranging             \u8d85\u58f0\u6ce2\u6d4b\u8ddd\n TRSensors                      \u5bfb\u8ff9\u4f20\u611f\u5668\u6d4b\u8bd5\n Infrared-Line-Tracking         \u7ea2\u5916\u5bfb\u8ff9\n W2812                          RGB\u5f69\u706f\n OLED                           \u7ed8\u56fe\u64cd\u4f5cdemo\n Line-Tracking                  \u7efc\u5408\u7a0b\u5e8f\n MazeSolver                     \u8ff7\u5bab\u7a0b\u5e8f\n Bluetooth                      \u84dd\u7259\u63a7\u5236\n Bluetooth-json                 \u84dd\u7259\u63a7\u5236(json\u683c\u5f0f)<\/code><\/pre>\n<hr \/>\n<h3>\u6811\u8393\u6d3e\u63a7\u5236\u7a0b\u5e8f(AlphaBot2.tar.gz):<\/h3>\n<pre><code class=\"hljs ruby\"> wget <span class=\"hljs-symbol\">http:<\/span>\/<span class=\"hljs-regexp\">\/www.waveshare.net\/w<\/span><span class=\"hljs-regexp\">\/upload\/e<\/span><span class=\"hljs-regexp\">\/ee\/<\/span><span class=\"hljs-constant\">AlphaBot2<\/span>-<span class=\"hljs-constant\">Demo<\/span>.<span class=\"hljs-number\">7<\/span>z\n wget <span class=\"hljs-symbol\">http:<\/span>\/<span class=\"hljs-regexp\">\/www.waveshare.net\/w<\/span><span class=\"hljs-regexp\">\/upload\/c<\/span><span class=\"hljs-regexp\">\/c3\/<\/span><span class=\"hljs-constant\">Rpi_ws281x<\/span>-master.zip<\/code><\/pre>\n<h4>gpio<\/h4>\n<pre><code class=\"hljs bash\"> git <span class=\"hljs-built_in\">clone<\/span> git:\/\/git.drogon.net\/wiringPi\n <span class=\"hljs-built_in\">cd<\/span> wiringPi\n .\/build\n gpio -v\n gpio readall<\/code><\/pre>\n<h4>\u7ea2\u5916\u9065\u63a7\u5668\u63a7\u5236<\/h4>\n<pre><code class=\"hljs bash\"> <span class=\"hljs-built_in\">cd<\/span> ~\/AlphaBot2\/python\n python IRremote.py<\/code><\/pre>\n<h4>\u7535\u673a\u6d4b\u8bd5<\/h4>\n<pre><code class=\"hljs bash\"> <span class=\"hljs-built_in\">cd<\/span> ~\/AlphaBot2\/python\n python AlphaBot2.py<\/code><\/pre>\n<h4>\u4e94\u5411\u6447\u6746<\/h4>\n<pre><code class=\"hljs bash\"> <span class=\"hljs-built_in\">cd<\/span> ~\/AlphaBot2\/python\n python Joystick.py<\/code><\/pre>\n<h4>\u7ea2\u5916\u907f\u969c<\/h4>\n<pre><code class=\"hljs bash\"> <span class=\"hljs-built_in\">cd<\/span> ~\/AlphaBot2\/python\n python Infrared_Obstacle_Avoidance.py<\/code><\/pre>\n<h4>\u8d85\u58f0\u6ce2\u6d4b\u8ddd\uff08\u6811\u8393\u6d3e 3B \u5957\u9910\u4e0d\u5305\u542b\u8d85\u58f0\u6ce2\u6a21\u5757\uff09<\/h4>\n<pre><code class=\"hljs bash\"> <span class=\"hljs-built_in\">cd<\/span> ~\/AlphaBot2\/python\n python Ultrasonic_Rangeing.py<\/code><\/pre>\n<h4>\u8d85\u58f0\u6ce2\u6d4b\u8ddd\uff08\u6811\u8393\u6d3e 3B \u5957\u9910\u4e0d\u5305\u542b\u8d85\u58f0\u6ce2\u6a21\u5757\uff09<\/h4>\n<pre><code class=\"hljs bash\"> <span class=\"hljs-built_in\">cd<\/span> ~\/AlphaBot2\/python\n python Infrared_Obstacle_Avoidance.py<\/code><\/pre>\n<h4>RGB \u5f69\u706f<\/h4>\n<pre><code class=\"hljs bash\"> rpi_ws281x-master.zip\n unzip rpi_ws281x-master.zip\n\n apt-get install build-essential python-dev scons swig\n\n <span class=\"hljs-built_in\">cd<\/span> rpi_ws281x-master\n scons\n\n .\/<span class=\"hljs-built_in\">test<\/span>\n\n <span class=\"hljs-built_in\">cd<\/span> python\n python setup.py install\n\n <span class=\"hljs-built_in\">cd<\/span> examples\n python lowlevel.py\n\n <span class=\"hljs-built_in\">cd<\/span> ~\/AlphaBot2\/python\n python ws2812.py<\/code><\/pre>\n<h4>\u5faa\u8ff9\u4f20\u611f\u5668\u6d4b\u8bd5<\/h4>\n<pre><code class=\"hljs bash\"> <span class=\"hljs-built_in\">cd<\/span> ~\/AlphaBot2\/python\n python TRSensors.py<\/code><\/pre>\n<h4>\u7ea2\u5916\u5faa\u8ff9\u7a0b\u5e8f<\/h4>\n<pre><code class=\"hljs bash\"> <span class=\"hljs-built_in\">cd<\/span> ~\/AlphaBot2\/python\n python LineFollow.py<\/code><\/pre>\n<h4>\u8235\u673a<\/h4>\n<pre><code class=\"hljs bash\"> <span class=\"hljs-built_in\">cd<\/span> ~\/AlphaBot2\/python\n python PCA9685.py<\/code><\/pre>\n<h4>mjpg-streamer \u8f6f\u4ef6\u5b9e\u65f6\u76d1\u63a7<\/h4>\n<pre><code class=\"hljs ruby\"> a,raspi-config \u5f00\u542f\u6444\u50cf\u5934\n b,<span class=\"hljs-regexp\">\/etc\/modules<\/span> \u6dfb\u52a0\u4e00\u884c<span class=\"hljs-symbol\">:bcm2835-v4l2<\/span>\n c,\u91cd\u542f\u540e,ls -ltr \/dev\/video<span class=\"hljs-number\">0<\/span>\n (\u82e5\u65e0,rpi-update)\n\n cd <span class=\"hljs-constant\">AlphaBot2<\/span>\/lib\/mjpg-streamer\n .\/start\n <span class=\"hljs-symbol\">http:<\/span>\/<span class=\"hljs-regexp\">\/ip:8080\/<\/span><\/code><\/pre>\n<h4>\u901a\u8fc7 webiopi \u5b9e\u73b0\u8fdc\u7a0b\u9065\u63a7<\/h4>\n<pre><code class=\"hljs bash\"> <span class=\"hljs-built_in\">cd<\/span> AlphaBot2\/lib\/WebIOPi-<span class=\"hljs-number\">0.7<\/span>.<span class=\"hljs-number\">1<\/span>-raspi2\n .\/setup.sh\n webiopi -h\n webiopi <span class=\"hljs-operator\">-d<\/span> -c \/etc\/webiopi\/config\n http:\/\/ip:<span class=\"hljs-number\">8000<\/span>\n\n mjpg-AlphaBot \u76ee\u5f55\uff0c\u4fee\u6539\u89c6\u9891\u6e90 IP:\n <span class=\"hljs-built_in\">cd<\/span> .\/AlphaBot2\/mjpg-AlphaBot\/\n vim index.html\n http:\/\/x.x.x.x:<span class=\"hljs-number\">8080<\/span>\/?action=stream\n\n <span class=\"hljs-built_in\">cd<\/span> .\/AlphaBot2\/mjpg-AlphaBot\n webiopi -c config\n http:\/\/x.x.x.x:<span class=\"hljs-number\">8000<\/span>\/\n\n .\/AlphaBot2\/mjpg-AlphaBot\/mjpg-AlphaBot\n webiopi -c config\n\n \u8bbe\u7f6e\u5f00\u673a\u542f\u52a8\uff1a\n <span class=\"hljs-built_in\">cd<\/span> .\/AlphaBot2\/mjpg-AlphaBot\n cp config \/etc\/webiopi\/config\n update-rc.d webiopi defaults\n vim \/etc\/rc.local:\n     <span class=\"hljs-built_in\">cd<\/span> \/home\/pi\/AlphaBot2\/lib\/mjpg-streamer\n     .\/start.sh &amp;<\/code><\/pre>\n<h4>\u901a\u8fc7 Bottle \u5b9e\u73b0\u8fdc\u7a0b\u9065\u63a7<\/h4>\n<pre><code class=\"hljs cs\"> a.apt-<span class=\"hljs-keyword\">get<\/span> install python-bottle\n b.cd ~\/AlphaBot2\/Web-RGB\n   python main\n c. http:<span class=\"hljs-comment\">\/\/ip:8000<\/span>\n   (\u624b\u673a\u7aef)\n d.cd ~\/AlphaBot2\/Web-Control\n   vim index.html,\u4fee\u6539\u771f\u5b9eip:\n   &lt;img width=<span class=\"hljs-string\">\"320\"<\/span> height=<span class=\"hljs-string\">\"240\"<\/span> src=<span class=\"hljs-string\">\"http:\/\/192.168.10.235:8080\/?action=stream\"<\/span>&gt;\n e.python main\n f.http:<span class=\"hljs-comment\">\/\/ip:8000<\/span>\n g.\u5f00\u673a\u542f\u52a8\uff1a\n   vim \/etc\/rc.local:\n     cd \/home\/pi\/AlphaBot2\/lib\/mjpg-streamer\n     .\/start.sh &amp;\n     cd \/home\/pi\/AlphaBot2\/Web-Contrl\n     python main &amp;\n h.vim \/etc\/dhcpcd.comf \u8bbe\u7f6e\u9759\u6001 IP\n     <span class=\"hljs-keyword\">interface<\/span> <span class=\"hljs-title\">wlan0<\/span>\n     <span class=\"hljs-title\">static<\/span> <span class=\"hljs-title\">ip_address<\/span> = <span class=\"hljs-number\">192.168<\/span>.1.114\/<span class=\"hljs-number\">24<\/span>\n     <span class=\"hljs-keyword\">static<\/span> routers = <span class=\"hljs-number\">192.168<\/span>.1.1<\/code><\/pre>\n<h4>\u901a\u8fc7\u8f6f\u4ef6\u8fdc\u7a0b\u9065\u63a7\u5c0f\u8f66<\/h4>\n<pre><code class=\"hljs bash\"> a.cd ~\/AlphaBot2\/App-Control\n b.vim main.py:\n   Host = <span class=\"hljs-string\">'192.168.10.235'<\/span>\n c.python main\n\n d.\u8fd0\u884cmjpg-streamer\n\n e.\u6253\u5f00 AlphaBot.exe \u7a0b\u5e8f\uff0c\u8f93\u5165 IP \u5730\u5740\uff0cmjpg-stream \u7684\u7aef\u53e3\u53f7\uff0c\u5c0f\u8f66 Soket \u670d\u52a1\u7aef\u7684\u7aef\u53e3\u53f7\n f.\u5f00\u673a\u542f\u52a8, vim \/etc\/rc.local:\n   <span class=\"hljs-built_in\">cd<\/span> \/home\/pi\/AlphaBot\/lib\/mjpg-streamer\n   .\/start.sh &amp;\n   <span class=\"hljs-built_in\">cd<\/span> \/home\/pi\/AlphaBot\/App-Contrl\n   python main &amp;\n g.\u53ef\u5f00\u542f\u6811\u8393\u6d3e\u65e0\u7ebf\u7f51\u7edc\u9002\u914d\u5668\u7684AP\u529f\u80fd(\u4e0d\u7528\u8fde\u63a5WIFI)<\/code><\/pre>\n<h4>\u901a\u8fc7\u6811\u8393\u6d3e\u84dd\u7259\u9065\u63a7\u5c0f\u8f66<\/h4>\n<pre><code class=\"hljs sql\"> a.\u5347\u7ea7\u84dd\u7259\u8f6f\u4ef6\u5305\n   apt-get <span class=\"hljs-operator\"><span class=\"hljs-keyword\">update<\/span>\n   apt-<span class=\"hljs-keyword\">get<\/span> <span class=\"hljs-keyword\">upgrade<\/span> -y\n   apt-<span class=\"hljs-keyword\">get<\/span> dist-<span class=\"hljs-keyword\">upgrade<\/span> -y\n   apt-<span class=\"hljs-keyword\">get<\/span> <span class=\"hljs-keyword\">install<\/span> <span class=\"hljs-keyword\">pi<\/span>-bluetooth bluez bluez-firmware blueman\n b.<span class=\"hljs-keyword\">pi<\/span>\u7528\u6237\u5230\u84dd\u7259\u7ec4 \n   usermod \u2013G Bluetooth \u2013a <span class=\"hljs-keyword\">pi<\/span>\n c.reboot\n d.\u542f\u52a8\/\u589e\u52a0 SPP\uff0c\u5f00\u542f\u84dd\u7259\u8bbe\u5907:\n   vim \/etc\/systemd\/system\/dbus-org.bluez.service\n     ExecStart=\/usr\/lib\/bluetooth\/bluetoothd\n     ExecStartPost=\/usr\/<span class=\"hljs-keyword\">bin<\/span>\/sdptool <span class=\"hljs-keyword\">add<\/span> SP\n   reboot\n e.hciconfig\n   (\u5982\u679c\/boot\/config.txt \u6587\u4ef6\u4e2d\u6709 dtoverlay=pi3-miniuart-bt \u8fd9\u8bed\u53e5\u9700\u8981\u6ce8\u91ca\u6389)\n f.bluetoothctl\n   agent <span class=\"hljs-keyword\">on<\/span>\n   agent <span class=\"hljs-keyword\">on<\/span>\n   <span class=\"hljs-keyword\">default<\/span>-agent\n   pair XX:XX:XX:XX:XX:XX ( XX:XX:XX:XX:XX:XX \u66ff\u6362\u4e3a\u4f60\u81ea\u5df1\u8bbe\u5907\u7684\u5730\u5740)\n   trust XX:XX:XX:XX:XX:XX (\u914d\u5bf9\u4e4b\u540e\u628a\u8bbe\u5907\u6dfb\u52a0\u5230\u4fe1\u4efb\u5217\u8868)\n   <span class=\"hljs-keyword\">connect<\/span> XX:XX:XX:XX:XX:XX\n   (\u6ce8\u610f\uff1a\u5982\u679c\u547d\u4ee4\u884c\u4e0b\u94fe\u63a5\u4e0d\u6210\u529f\u53ef\u4ee5\u5728\u56fe\u5f62\u754c\u9762\u4e0b\u8fde\u63a5\u3002)\n g.cd \/AlphaBot2\/Bluetooth-Control\n   rfcomm watch hci0 <span class=\"hljs-number\">1<\/span> python bluetooth.py\n h.\u4e0b\u8f7dAPP(\u53ea\u6709\u5b89\u5353, page <span class=\"hljs-number\">45<\/span>)\n   https:\/\/fir.im\/hysk\n i.bluetoothctl\n   discoverable <span class=\"hljs-keyword\">on<\/span>\n   quit<\/span><\/code><\/pre>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Arduino\u63a7\u5236\u7a0b\u5e8f\uff1a Run-Test \u7535\u673a\u6d4b\u8bd5 Joystick \u7a0b\u5e8f \u4e94\u5411\u6447\u6746 IR \u7a0b\u5e8f \u7ea2\u5916\u9065\u63a7\u5668\u63a7\u5236 Infrared-Obstacle-Avoidancec \u7ea2\u5916\u907f\u969c Ultrasio&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[64],"tags":[],"class_list":["post-2784","post","type-post","status-publish","format-standard","hentry","category-64"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.liangliang.org.cn\/index.php?rest_route=\/wp\/v2\/posts\/2784","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.liangliang.org.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.liangliang.org.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.liangliang.org.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.liangliang.org.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2784"}],"version-history":[{"count":1,"href":"https:\/\/www.liangliang.org.cn\/index.php?rest_route=\/wp\/v2\/posts\/2784\/revisions"}],"predecessor-version":[{"id":2785,"href":"https:\/\/www.liangliang.org.cn\/index.php?rest_route=\/wp\/v2\/posts\/2784\/revisions\/2785"}],"wp:attachment":[{"href":"https:\/\/www.liangliang.org.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2784"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.liangliang.org.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2784"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.liangliang.org.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2784"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}