使用 Raspberry Pi 和 Bridge Shield 的机器人
Bridge Shield 是面向学生、黑客和研究人员的董事会。您可以将它与 Pi 或 Arduino Uno 一起使用,轻松创建酷炫的 DIY 项目。这将是一个开源板,我们目前正在设计第二代。
我们目前在 Kickstarter 上,您可以通过支持我们或与您的朋友和家人分享以下提及链接来支持我们
Bridge Shield Kickstarter 链接
它有什么?
10自由度惯性测量单元。
温度感应器。双桥电机驱动器,可驱动高达1Amp的电机。
8通道伺服电机驱动器,支持I2C。
具有纽扣电池备份功能的 RTC。
打开5V-3.3V双向电压电平转换器。
Arduino Uno 和 Raspberry Pi 之间的 SPI、I2C、UART 电平转换。
Attiny85 微控制器加载了 Arduino 引导加载程序。
ESP8266 Wi-Fi 模块头。
HC-05蓝牙模块接头。无线遥控红外传感器。
USB转UART模块。
单输入12V电源,为Pi和Arduino Uno供电 具有一个3A可变电压调节器、一个5V/3A电压调节器和一个3.3V/1A电压调节器。
两节锂离子电池充电器,带有 LED 和信号引脚,用于监控电池充电状态。
通过I2C控制的强度可变LED。
其机械结构使其与大多数可堆叠的 Arduino Uno 和 Raspberry Pi 盾牌兼容。
注:以上为二代规格
我们用它做了什么?
我们已经构建了一些非常酷的项目,例如
– 通过互联网控制的机器人
– 家庭自动化控制任何可以进入电源插座的东西
– 网络摄像机
– 电池供电的 Pi,可以作为移动计算解决方案
你能用它做什么?
通过结合 arduino 和 raspberry pi,您可以制作一些令人惊叹的项目。您想如何使用我们的电路板取决于您——我们的主要目标是让您玩得开心。我们可以想到的一些例子是:
– 构建自主或自平衡机器人
– 制作您自己的无人机(负责任地使用!免责声明:我们不对您邻居的隐私丢失负责)
– 使用我们的传感器阵列自动化您的家。我们的大多数传感器都支持 I2C,并且板载电机驱动器将帮助您触发伺服电机、直流电机和步进电机等执行器。
我们已经完成了第一个原型,目前正在对其进行测试。我们保证您会更惊讶于第二代的功能。要了解有关我们所做工作的更多信息,您可以观看我们网站和 YouTube 频道上的视频。
在以下步骤中,我们将向您展示使用 Bridge Shield 并制作远程控制(通过互联网)机器人的简单方法,如果您仍然渴望更多,我们添加了一个可选部分,我们将向您展示如何使用 Bridge Shield 和 ESP8266 wifi 模块进行一些基本的家庭自动化。
所以让我们开始做饭吧!!
第一步:第一步:使用基础软件设置树莓派
配料表:
- Bridge Shield 或 L293D 板
- Raspberry Pi(带有 SD 卡和电源系统用于初始设置)
- USB 摄像头/Pi 摄像头模块
- 带有电机夹具、螺母/螺栓和外围设备的机器人底盘。
- 两个 BO 电机
- 锂离子电池(2 芯,约 1000-2000mAh)
- Arduino UNO(可选)
- ESP8266 wifi 模块(可选)
- 1.3 英寸 OLED(可选)
首先,您需要在 Raspberry Pi 和 PHP 上设置一个网络服务器。我建议阅读这个指导
在这一点上,我假设您已遵循上述说明并了解启动 Pi、安装操作系统、将 pi 连接到键盘 + 鼠标 + 显示器或启用 SSH 模式以远程访问 pi 和启用 pi 摄像头的基础知识.
完成上述操作后,让我们开始安装 Apache。 Apache 是一个完整的网络服务器创建和管理工具。它可以执行强大的多样化功能,这就是它非常受欢迎的原因。
现在重新开始工作,启动您的 pi 并打开终端(或 SSH 连接),然后在提示符中键入此命令
$sudo apt-get 更新
您会在显示屏上看到许多正在运行的说明。让它全部结束(当你再次收到带有闪烁提示的“$”时你就会知道)。
接下来我们在同一个终端中使用以下命令安装apache和PHP
$sudo apt-get install apache2 php5 libapache2-mod-php5
它会询问您是否要安装显示以下短语的软件包:“您要继续吗”,键入“y”并按回车/回车。
等待安装完成(这可能需要一段时间,当您再次看到仅带有“$”的闪烁提示时,您就会知道安装已完成)。
如果您现在在计算机上启动 Web 浏览器,并在地址栏中输入 pi 的 IP 地址,您应该会看到一条消息,内容类似于“您的网站正在运行/正在运行!!”。
您也可以选择使用以下命令安装 ftp 服务器
$sudo apt-get install vsftpd
现在您已经安装了 FTP 服务器,您需要进行一些配置。请参阅以下说明:
$sudo nano /etc/vsftpd.conf
(nano 是 Raspbian 操作系统中内置的文本编辑器。它有助于从终端快速编辑或修改文件)
滚动文件并更改以下几行:
anonymous_enable=YES 改为anonymous_enable=NO
并删除以下两行的“#”(取消注释)
#local_enable=YES 更改为 local_enable=YES
#write_enable=YES 改为 write_enable=YES
在文件末尾添加以下代码行:
force_dot_files=YES
要保存并退出,请按“Ctrl + x”,然后按“y”,然后按 Return / Enter。
您现在需要重新启动 FTP 服务器以使更改生效 - 使用以下命令:
$sudo 服务 vsftpd 重启
第 2 步:第 2 步:安装 MPEG-STREAMER
接下来我们将安装 MPEG-Streamer。 Mpeg Streamer 是一种一站式解决方案
在互联网上流式传输您的相机视频(来源:我参考此链接以了解如何安装它)
打开终端窗口并输入以下命令
$sudo apt-get install libjpeg8-dev
安装完成后输入
$sudo apt-get install imagemagick
接下来我们需要做一些配置。在终端中输入以下内容,并在每行后输入 ENTER/RETURN。
$cd ~
$mkdir tmp
$cd tmp
$svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg... mjpg-streamer
$cd mjpg-streamer/mjpg-streamer
$make
编译完成后,您可以通过键入以下命令运行 mjpeg-streamer
$ cd /home/pi/code/mjpg-streamer
$ ./mjpg_streamer -i “./input_uvc.so” -o “./output_http.so -p 8080 -w ./www”
如果您现在想查看流,请打开网络浏览器,在网络浏览器中键入以下“http://[Pi 的主机名或 IP 地址]:8080”
您将能够在网页上看到 mjpg-streamer,并带有一个小窗口,显示来自 pi 相机的图片
如果您想直接看到视频流,请在您的网络浏览器中输入以下网址
“http://[树莓派的主机名或 IP 地址]:8080/?action=stream”
第 3 步:第 3 步:对 Pi 和 MPEG 流媒体接口进行编程
接下来,我们需要对 Pi 进行一些编程,以便在 Pi cam 和网页之间顺利连接。我们将从 PHP 指令中将一些值传递给 python 文件以触发 Pi 上的 GPIO 引脚(但是,在您执行此操作之前,您需要安装 WiringPi 以使其工作 - 请参阅其网站上的说明以执行此操作).我已经将其中的一部分用于基本代码开发。
安装 WiringPi 后,您只需放置以下文件
控件.html
控制.php
控制.py
在“/var/www/server/”文件夹中
接下来您需要编辑 control.html 文件中的一行。使用 nano 来做到这一点:
$sudo nano /var/www/server/control.html
查找“img src”并将其编辑为:
img src=http://[Pi ip 地址]:8080/?action=stream
然后只需在您的计算机上打开网络浏览器并在网址中输入以下内容。
http://[树莓派的主机名或 IP 地址]/server/control.html
现在,如果您已经运行了 mjpeg-server,您应该可以看到
网页上的视频流
如果您看不到视频,请打开终端并输入以下内容:
$ ./mjpg_streamer -i “./input_uvc.so” -o”./output_http.so -p 8080 -w ./www”
现在您应该能够看到网页上的所有按钮和视频。如果您触发前后左右按钮,GPIO 将打开/关闭。
第 4 步:第 4 步:硬件连接(Pi 和 Bridge Shield)以使您的机器人启动并运行:
我们使用桥屏蔽电机驱动器连接到树莓派,而不是单独的电机驱动器。如果您有一块单独的板或已经制作了一个,那么您可以使用来自 raspberry pi GPIO 接头的引脚号 4,17,22,23 连接到电机驱动器引脚号 2,7,15,10 。这些连接必须是如图制作
最后,所有这些都必须安装在机器人底盘上(请参见图片以帮助您安排零件)。将wifi加密狗放在指定的插槽中。将桥板固定在树莓派上,将两节锂离子电池连接到桥板,你的机械小伙伴就可以滚了!!
第 5 步:第 5 步:Esp8266 和 Arduino UNO 编程(可选)
如果您想使用 wifi 模块玩家庭自动化并控制附近的设备,您需要使用 ESP8266 的 ip 地址/ESP8266 wifi 模块的端口更改 control.py 文件中的以下两行。这可以通过打开终端并输入
来完成$sudo nano /var/www/server/control.py
在此文件中进行以下更改:
TCP_IP =你的wifi模块ip地址
TCP_PORT =你的wifi模块端口地址
您可以在您的 uno 上上传 arduino 代码。要让您的 oled 显示器启动并运行,您需要安装一些可以在 adafruit 网站上找到的库。请注意,您的路由器需要进行一些端口转发设置。我目前正在使用 Netgear 路由器,其设置页面上有一个端口转发选项卡,我可以在其中输入我的 wifi 模块的 IP 地址以及我正在访问的端口。您可以通过以下链接查看路由器的端口转发说明:
http://portforward.com/english/routers/port_forwarding/routerindex.htm
更多细节:使用树莓派和桥接盾的机器人
制造工艺
- 使用 LabVIEW 的树莓派温度曲线
- Python 和 Raspberry Pi 温度传感器
- 使用树莓派远程监测天气
- SensorTag 到 Blynk 使用 Node-RED
- 使用 Raspberry Pi 的运动传感器
- 使用 Raspberry pi 通过 GPIO 检测按钮按下
- 使用 Raspberry Pi 监控家中温度
- 在没有 LIRC 的情况下将 IR Remote 与 Raspberry Pi 一起使用
- 使用 MCP3008 的 Raspberry Pi 上的模拟传感器
- 构建 MonkMakes Raspberry Pi 机器人套件
- XMOS startKIT:构建 XMOS 和 Raspberry Pi 机器人 XMP-1
- Raspberry Pi CD Box Robot