【EmbeddedDev】搭建你的BeagleBot遥控车

 

如何搭建可以通过WIFI控制的BeagleBone Black机器人

 

我刚刚通过BBB完成了一个项目, 我创造了一个可以在局域网内通过wifi控制的机器车。听起来很酷,但是还有很多东西需要调整和改善。如果你们有谁在此基础上做了优化和改进,请一定要告诉我,即使是不一定能用得上的方案, 而我们也可能可以帮你继续实现它。

而首先我们需要去构建Bob(我是这么称呼它的) 。

BBB Bots almost finished.jpg

 
操作步骤:

  • 1. 准备零部件
  • 2. 构造机壳
  • 3. 焊接原型板用于连接电源(需要一些电路知识以及焊接经验)
  • 4. 在BBB上安装相应的开发包
  • 5. 运行web服务
  • 6. 运行python脚本
  • 7. 自启动需要运行的脚本
  • 8. 编译Bob(很简单,也可能繁琐)
  • 9. 通电
  • 10.出发

1. 准备零部件

    我们所需要的部件, 还是挺多的

Where to buy Farnell Order Code quantity product
cpc.farnell.com HK01209 1 ROBOT KIT CHASSIS
uk.farnell.com 2422228 1 BBONE-BLACK-4G
uk.farnell.com 2437981 1 WIFI DONGLE
uk.farnell.com 1650685 2 BATTERY HOLDER, LEADED, 4 X AA
uk.farnell.com 2345257 1 Alkaline AA Batteries (any will do, get rechargeable if you prefer)
uk.farnell.com 2075366 2 Continuous rotation servos
uk.farnell.com 1267751 1

PCB, RAW, 100X160

uk.farnell.com 1564682 1 Step-Down Voltage Regulator
uk.farnell.com 2474675 1 Prototyping Board
uk.farnell.com 9451080 1 100 µf radial capacitor
uk.farnell.com 9451129 1 1000 µf radial capacitor
uk.farnell.com 9565051 1 Diode
uk.farnell.com 1209546 1 100µH inductor
 
同时也需要.....
  • 电焊台(烙铁, 热垫, 焊接, PPE防护套件)
  • 一些线 (支持5V/3A, 或者一些较薄规格用于控制电机的电线)
  • 一些公母跳线
  • 一些扁头钳子
  • 一字/十字螺丝刀
  • 万能胶(小心腐蚀)或双面胶
  • 一些泡沫(或者可以固定BBB和电池的一些东西,可拆卸)
  • 胶带或者其他物品, 将BBB绑定到机壳
  • 锋利的工艺刀(小心, 如果不自信可以找有经验的人帮忙)

 

 

2. 构造机壳

 
把所有的机壳零件拿出来, 我们这里只是用了主要的基础台架,滚珠轴承 和轮子。
 
使用螺丝钉将滚珠轴承固定到机壳背部, 并确保螺钉拧下去一直伸到底部而没有高出顶部,否则我们将无法正确地安装我们的电池。
 
使用胶水/胶带将马达固定到机壳底部。

然后把线绕到顶部。你可能要把孔挖大一点,以便连接头可以穿过去......

接着我们需要裁剪翼板,使得BBB可以安放在上面。确定你需要多大(确定BBB需要多大的空间),然后按PCB板划线, 剪掉多余的部分。需要非常小心,最好用裁尺之类。持续切割知道泡沫刚好能装下BBB板。如果你没有裁尺或很自信, 用类似工艺刀的工具来切割也可以。
 
小心在机壳前面做一个可以起合的挡板,以支持接下来电池的装卸。
   
现在我们可以切出泡沫来适应BBB和电池了。测量并勾勒出BBB的形状,切割出BBB大小的槽。然后对电池的槽重复这样的操作。
接着就可以将泡沫粘到翼板和地盘中。确保BBB在顶部而电池在机壳的后右位置。

 

 

3. 焊接原型板用于连接电源(需要一些电路知识以及焊接经验)
这个步骤可能是该项目最难的,因为它可能会很繁琐容易出错而且需要你掌握一定的电子技术。

Firstly get your protoboard and score it then snap it in half, then score and snap in half again the other way to get a quarter (scoring down the holes makes it easier to snap). This quarter is the bit we're going to use.

现在,按照电路图来认真焊接对应的所有组件。 
Circuit Diagram for the BeagleBot power board
电池需要串联方式连接。
在DC插孔的内引脚为正极, 而外部金属壳为地极。在焊接之前确保已正确连线,否则会损害BBB。另外还要确保电容和二极管是正确的。
插入电池是需要用电压表来检测电压, 电压不能查过5V。检查电压都正常后, 等待主板启动, 一旦启动成功便将器关闭。恭喜你,你已经拥有了一个通过电池工作的Beaglebone。
 

 

4. 在BBB上安装相应的开发包

这个相当容易。启动BBB, 通过Ethernet或WIFI联网, 然后安装所需的软件包。如在终端中输入如下命令:
  1. sudo apt-get update  
  2. sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus -y --force-yes --fix-missing  
  3. sudo pip install Adafruit_BBIO  
  4. sudo apt-get install apache2 php5 libapache2-mod-php5 -y --force-install --fix-missing  
  5. systemctl disable cloud9.service  
  6. systemctl disable gateone.service  
  7. systemctl disable bonescript.service  
  8. systemctl disable bonescript.socket  
  9. systemctl disable bonescript-autorun.service  
  10. systemctl disableavahi-daemon.service  
  11. systemctl disable gdm.service  
  12. systemctl disable mpd.service  

 

 

5. 运行web服务
现在我们需要启动web服务。首先解压zip包并且放到U盘,将U盘插入BBBUSB槽然后重启。在终端中将文件从U盘拷贝到板上的某个目录。
  1. sudo cp -R /media/<path_to_memory_stick>/www/* /var/www/  
  2. sudo chmod -R www-data:www-data /var/www  
启动Apache服务,并监听80端口。使用你喜欢的编辑器来编辑配置文件, 我用了对初学者更易用的nano。
  1. sudo nano /etc/apache2/ports.conf  
找到监听端口对应的行,修改成80. 保存退出时按ctrl+X, 然后选y。接着重启服务:
  1. sudo service apache2 restart  
现在我们需要将BBB连上wifi网络。

 

 

6. 运行python脚本
这里我们需要做的是确保脚本可执行, 并且用python可以良好运行。

在终端中输入:

  1. sudo chmod a+x /var/www/*.py  
  2. python2.7 /var/www/move_php.py  
然后如果成功的话,你应该在你的屏幕中看到如下提示:
"Move_php script running..."
按Ctrl+C可以停止python进程。

 

 

7. 自启动需要运行的脚本
在这里将会用到crontab, 这是一个后台服务, 在指定时间来运行所需要的程序:
  1. sudo crontab -e  

在crontab窗口的底部加上如下命令:

  1. @reboot sudo service apache2 start  
  2. @reboot sudo python2.7 /var/www/move_php.py &  
注意第二行末的符号"&"。这很重要,它指定了改python程序是在后台运行的。如果不这么做, 它将会在前台运行而造成堵塞, crontab后面的任务将不能正常按顺序执行。
现在当我们重启时, aoache2和python脚本会自动在后台运行。你可以这样在终端中检查重启后的进程状态:
  1. ps -e | grep python  
如果python进程有在运行, 该command将会输出对应的进程ID信息。

 


8. 编译Bob (很简单,也可能繁琐)
这个步骤很容易, 不过也很难做到完美。
将BBB放在翼板上的泡沫架上, 电池放在机壳背部, 把所有的线整理并绕好在顶部。
按照zip包中BeagleBot_connections.png文件的指示来连接部件到正确的pin脚(除了电源) , 你可能需要用到跳线。如果你没有跳线,可以使用普通的电线,剪断,弄出一部分线头来直接接到pin脚上去。
当所有的部件都插拔好了之后, 整理好线路不至于太乱。一个好的方案是使用电工胶带它们捆起来, 要尽可能的防止短路。
 

9. 通电
一旦你的BeagleBot准备好运行, 插上电源并等待启动。如果你还没有设置当前局域网下的静态IP, 那你就需要在启动时通过ssh(??)或者通过串行线路来获得当前IP。(译者建议可以通过查看路由管理器的连接信息,或者显示屏接入HDMI, 或者广播方式ping可能的地址来获取IP)。
当你获得IP地址之后,并且主板已经完成启动, 也不再依靠有线连接时, 这个时候就可以准备开跑了。

 


10. 出发
打开同在局域网内的任何机器上的浏览器窗口, 在地址栏中输入http://<你的ip地址>/move.php
页面加载后,你就可以通过操作页面来控制小车了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值