没有树莓派,零花销也能畅玩网络机器人
作者:互联网
前面写了两篇关于远程视频机器人的,主要是使用树莓派作为载体,但是有的朋友说我手头没有树莓派,就是想体验下,又不想为了这个专门买块树莓派,估计买回来用一两次就该吃灰了,不值当。
没关系,只要有台电脑以上统统能够实现。没错,只要有台电脑就行。
这次就以最常用的智能云端摄像机为例,直接自己DIY一个云端摄像头,还不花费一分钱,只是动动手的事,废话不多上干货。
云端远程控制机器人
远程视频小车
一、项目原理
正如前面说的,项目主要是基于树莓派实现的,但是手头没有树莓派,那我们就在电脑上装个树莓派虚拟机,就都解决了。
二、项目准备
1、软件:
主要为虚拟机VMware14以及树莓派系统,云盘链接如下:
链接:https://pan.baidu.com/s/1rg_lGt5F0AW0ilqqc5MVgg
提取码:fje9
2、硬件:没有也没关系
摄像机云台,没有也没关系,直接使用电脑自带摄像头即可。
上面的云台是我基于萝卜太辣(RoboTerra)产品使用两个舵机搭建的,也可使用其他手边现成的都可,最终树莓派虚拟机可通过串口来与云台通信,实现对云台的控制。
3、项目平台:
remo.tv
最后,在项目开始之前,先确认你的电脑虚拟化技术是否开启,不然安装虚拟机后会出现:出现“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”错误提示,需要进入BIOS 设置页面进行设置,具体可参考:
Thinkpad VMware 安装虚拟机出现此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态
不同机型进入BIOS设置页面快捷键自行搜索。
三、虚拟机安装
参考资料:虚拟机 VMware14 安装——详细教程
1、打开下载好的软件文件,找到vmware14文件夹,运行VMware-workstation-full-14.0.0.24051.exe
2、进入安装引导页,点击下一步
3、勾选 我接受许可协议中的条款,点击下一步
4、选择安装位置,点击下一步
5、取消勾选,点击下一步
6、点击下一步
7、点击安装
8、安装完成后,点击许可证
9、运行 “Vmware 14注册机.exe“
10、复制序列号
11、将复制的序列化号填入,点击输入
12、安装完成
四、安装树莓派虚拟机
参考资料:
1、运行VMware
2、创建新的虚拟机
3、选自定义,然后点击下一步
4、默认,点击下一步
5、选择稍后安装操作系统,点击下一步
6、选择客户机操作系统:linux,版本:Ubnutu 64位(也可选其他,这个我测试比较顺而已),然后点击下一步
7、可以更改虚拟机名称和安装位置,点击下一步
8、对处理器进行配置,点击下一步
9、虚拟机内存建议选2G,点击下一步
10、网络连接选使用网络地址转换(NAT),点击下一步
11、选择默认推荐,点击下一步
12、选择默认推荐,点击下一步
13、选择默认推荐,点击下一步
14、磁盘大小选择推荐20G,点击下一步
15、默认,下一步
16、点击完成
17、选择创建好的虚拟机,点击** CD/DVD(SATA)选项
18、选择使用ISO映像文件**,点击浏览,找到项目前面准备好的树莓派系统映像:2020-02-12-rpd-x86-buster.iso,然后点击确定
19、开启此虚拟机
20、选择Graphical install,按Enter确认
21、点击Go back
22、选择Choose language,然后点击continue继续
23、选择中文(简体),然后点击continue,接下来安装界面就变为中文了,还是中文舒服
24、区域选中国,点击继续
25、键盘选汉语,点击继续
26、默认选项,继续
27、默认选项,继续
28、选择第二项:将/home放在单独的分区,点击继续
29、默认,继续
30、选择:是,点击继续
31、系统安装时间过长,请耐心等待
32、选择:是,点击继续
33、选择第二项,点击继续
34、点击继续,完成安装
35、树莓派虚拟机安装成功,点击next,进行配置
36、选择China,Chinese,Shanghai,点击next
31、设置密码,设置成功,点击 Next
32、选择skip,跳过
33、点击Reatart,重启
34、重启之后,看到界面为中文界面,说明安装成功
五、虚拟机视频功能确认
因为虚拟机和电脑公用硬件设备,包含usb接口、摄像头、声卡等,这些硬件只能在本机或者虚拟机其中一个上面运行,需要进行设置。
1、首先打开虚拟机,在右下角可以看到虚拟机的相关硬件的图标,灰色表示关闭,未打开,带色彩说明处于激活状态。
2、激活摄像头,直接点击摄像头图标,点击连接;
或者点击VM菜单栏:虚拟机–可移动设备–相应硬件,然后点击连接
3、打开树莓派播放器:VLC媒体播放器
4、选择播放器:媒体–打来捕获设备
5、选择对应的视频设备名称(可以逐个尝试,一般默认video0),点击播放
6、如果点击播放之后,播放器界面黑屏,并且电脑摄像头已经被激活,工作灯亮起,需要关闭虚拟机设置USB选项
7、打开USB控制器,USB兼容性选择USB3.0,点击确认
8、重新打开虚拟机,进入播放器,重复操作步骤3、4、5,界面会正常显示
9、如果还是黑屏,尝试断开摄像头,重新连接即可,一般可以正常。
六、平台注册
通过上面一系列步骤,我们整个软件环境已经布置完成,需要登陆项目平台remo.tv,注册一个账号以供后面项目使用。
1、登陆remo.tv平台,没有账号通过上面注册账号,已有账号通过下面直接登陆即可。因为网络原因,如果注册登陆不成功,需要梯子,自行搜索相关技能。如果注册过登陆不成功,可以找回密码重新尝试。
2、进入界面,点击Add server,添加自己的服务器
3、给服务器起名,提交确认
4、点击左侧对应的服务器名称,进入自己的服务器
5、在服务器里,点击Add Robot创建机器人,命名,确认
6、点击创建好的机器人,在弹出框中可以看到API key,会在后面项目中用到。
七、运行代码
可以参照平台开源代码:https://github.com/remotv/controller。
这里只是将我这个项目里涉及到的部分进行描述,如果要进行更丰富的开发,请查阅源文档。
打开树莓派虚拟机,点击进入命令界面
1、在Raspberry Pi上安装remotv控制脚本
Raspberry Pi将需要安装以下内容,以便可以与您的小车通信并与Internet连接。执行以下步骤时,请确保控制台中没有任何错误。如果遇到问题,可以再次运行此行,通常可以解决该问题!
1)、更新软件库
sudo apt update
sudo apt upgrade -y
更新时间较长,请耐心等待,出现下面界面说明更新成功
2)、出现下面界面,说明更新完成
3)、继续安装工具
sudo apt install ffmpeg python-serial python-dev libgnutls28-dev espeak python-smbus python-pip git
4)、是否继续执行,打Y
5)、安装完成
6)、从github下载remotv控制脚本
git clone https://github.com/remotv/controller.git ~/remotv
7)、安装python需求文档
sudo python -m pip install -r ~/remotv/requirements.txt
8)、打开新remotv目录
cd remotv
9)、复制controller.sample.conf到controller.conf
cp controller.sample.conf controller.conf
2、配置控制器
1)、编辑在上一节中创建的controller.conf文件。
nano controller.conf
2)、配置文件
3)、配置服务器之前,首先要拿到你的用户名及机器人密钥。
点击进入你的服务器,查看你自己的机器人,以我为例,目前有机器人camera,点击camera就可以看到中间弹出相应的API key就是需要的robot_key。
用户名owner就是右上角名称:roboterra(自己的)
4)、对配置文件进行修改
- owner 应该是您在remo.tv网站上注册机器人所使用的用户名。
- robot_key是您在网站上制作的机器人的API密钥。您的API密钥很长。它看起来应该像eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InJib3QtNTVjZjJmMjUtNjBhNS00ZDJkLTk5YzMtOGZmOGRiYWU4ZDQ1IiwiaWF0IjoxNTczNTExMDA2LCJzdWIiOiIifQ.LGXSBSyQ4T4X5xU_w3QJD6R3lLjrrkw_QktOIDzRW5U。如果长度不够,则您尚未复制完整密钥。
- turn_delay仅由motor_hat和使用mdd10。这会改变您的漫游器使用时间。我建议您在机器人移动之后将此值保留为默认值。
- straight_delay仅由motor_hat和使用mdd10。这会改变您的漫游器使用时间。我建议您在机器人移动之后将此值保留为默认值。
- type应该是您的机器人电机控制器的硬件类型。当前可用的类型。
其中上面主要修改的是owner、robot_key、type
因为树莓派与arduino之间通过usb串口通信,所以type选择serial_board。注:如果是使用电脑自带摄像头,此项不用设置,默认空即可
serial_device改为/dev/ttyUSB0
然后Ctrl+O保存,Enter确认,Ctrl+x退出即可。
3、在Raspberry Pi上设置start_robot文件
1)、将start_robot脚本复制到您的主目录。
cp ~/remotv/scripts/start_robot ~
2)、将启动脚本添加到 crontab
crontab -e
此处选1
注意:如果您不小心使用了错误的编辑器,请尝试
EDITOR=nano crontab -e
3)、在底部插入以下文本
@reboot /bin/bash /home/pi/start_robot
然后Ctrl+O保存,Enter确认,Ctrl+x退出即可。
4)、现在,只需插入相机和USB扬声器,然后重新启动
sudo reboot
5)、打开remo.tv,进入你的机器人频道就可以看到机器人摄像头图像了,我们机器人处于激活状态。
6、如果没有成功运行,进入树莓派remotv目录,运行controller.py文档
cd remotv/
ls
sudo python controller.py
八、通讯控制设置(使用电脑自带摄像头,无摄像机云台此步可跳过)
通过上面的操作现在树莓派虚拟机已经和remo.tv平台通信成功,接下来就是树莓派与云台通信,然后通过平台发送指令控制云台。
1、平台控制指令编写
进入remo.tv个人机器人界面,我们可以看到视频界面下端有默认的前后左右按钮,我们可以点击edit buttons进行按钮编辑
编辑时主要记住热键以及通信字符,云台主要实现上、下、左、右四个功能,编辑完成点击上传即可
修改完成,如图所示
2、云台程序
根据控制按钮的字符信息,编写云台程序,使其接收到相应动作字符,做出相应动作即可。
上传成功后就可以用USB线将arduino与树莓派进行连接,就可以通过小车进行控制了。
3、只要把虚拟机后台运行,一个网络监控云摄相机就做好了。
九、项目总结
因为功能比较简单,只是实现最基本的视频控制,其他功能也可继续丰富,比如加上麦和喇叭,就可以实现实时互动交流了。
**其他相关项目:
远程视频小车**
更多功能还可自行研究,也可加入群进行交流
标签:树莓,畅玩,虚拟机,机器人,花销,点击,remotv,安装 来源: https://blog.csdn.net/weixin_43073852/article/details/104851542