极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 173160|回复: 95

开源DIY,Arduino+旧手机变成视频监控机器人,可异地远程遥控

  [复制链接]
发表于 2015-11-9 16:22:36 | 显示全部楼层 |阅读模式
本帖最后由 迷你强 于 2015-12-1 11:56 编辑

本人花费大半年时间,用Arduino+旧手机 做了一个视频监控机器人,DIY成果分享一下。
说明,项目程序和源代码都开放,3D打印部件的 3DSTL文件和设计源文件也开放,欢迎大家使用!


演示视频:




这个机器人的原材料很简单:卡通外形的纸巾盒,车用手机夹,轮子电机,1寸万向轮,然后3D打印件






网灵机器人是特殊的,Ta跟常见的wifi-robot不同。常见的wifi-robot大多采用OpenWRT路由器板子和USB摄像头,而网灵机器人采用闲置的安卓旧手机作为机器人的大脑。
这不仅是废物利用的环保理念,而且通过充分利用安卓手机的强大计算能力和硬件资源,让网灵机器人的功能更加有亮点:
1)无需外接USB摄像头,直接利用安卓手机的高清摄像头,并通过手机强劲的GPU进行视频H.264压缩编码,以便网络传输。
2)利用安卓手机的联网能力,wifi、3G、4G都可以联网。并且集成了网灵的P2P云连接功能,从世界任何地方都可以连接机器人。
3)利用手机计算能力,实现语音识别,用自然语音控制机器人动作。
4)利用手机计算能力,基于OpenCV软件库,实现手势分析和人脸追踪。

除了作为大脑的安卓手机外,网灵机器人还采用了Arduino单片机,用于控制电机舵机和连接传感器模块。


作为大脑的安卓手机 与 Arduino单片机是通过蓝牙串口(例如市面上常见的HC-06)进行通信的,其通信协议很简单,是基于字符串格式的,Arduino向安卓手机周期性发送传感器读数,安卓手机向Arduino发送控制命令。



网灵机器人的显著特点是:可以用手机控制端和电脑控制端从异地远程遥控机器人,并实时观看摄像头图像。这个功能的实现是基于网灵的P2P云连接平台,这是网灵多年来积累的底层核心技术。只要机器人接入网络,就可以从世界上的任何角落连接到机器人,无需设置路由器端口,无需做动态域名映射,完全自动穿透NAT内网。
网灵机器人的控制端软件就是 网灵云控制, 它相当于一个“带视频回传的远程遥控手柄”,有一些手柄按键和2个虚拟摇杆,其UI界面是这样的:





终上所述,网灵机器人的总体框架原理图是这样的:



Arduino源代码:


安卓大脑源代码比较大,超过附件大小限制,可以从网灵极客论坛下载。
支持我的朋友,可以回复留电子邮箱,直接发给你~~~~~~~~


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


机器人Arduino周边电路连接就很容易。准备一些3Pin杜邦线和导电线,按照下面的电路图连接相应的电路模块:




可以看出,Arduino控制板的供电是由L298N电机控制板的5V输出的。
电压检测模块连接到Arduino的模拟口A5;头部舵机连接到Arduino的数字口D9;
你后续也可以扩展连接更多的传感器,比如:
气体传感器MQ2连接到模拟口A4,温湿度传感器连接到数字口D8,
这些都是在Arduino的程序代码中预定义好的,需要跟代码对应:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  1. #include <Servo.h>
  2. #include <dht.h>

  3. //模拟IO口和数字IO口的定义

  4. #define PIN_UNDEFINED  255

  5. #define PIN_A_VOLTAGE  5  //电池电压传感器
  6. #define PIN_A_MQX      4  //气体传感器,MQ2,MQ135

  7. #define PIN_D_SERVO_V  9
  8. #define PIN_D_SERVO_H  PIN_UNDEFINED
  9. #define PIN_D_SERVO_L  5  //PIN_UNDEFINED
  10. #define PIN_D_SERVO_R  6  //PIN_UNDEFINED
  11. #define PIN_D_DHT      8  //PIN_UNDEFINED  //DHT11温湿度传感器
  12. #define PIN_D_RELAY    PIN_UNDEFINED  //一路继电器
  13. #define PIN_D_RED      PIN_UNDEFINED  //红外人体感应传感器
  14. #define PIN_D_LEDA     PIN_UNDEFINED  //LED指示灯A
  15. #define PIN_D_LEDB     PIN_UNDEFINED  //LED指示灯B

  16. //PT2272 Recv,D0->D3用模拟IO口实现,因为Arduino UNO的数字IO口不够用
  17. #define PIN_D_2272VT   4
  18. #define PIN_A_2272D0   0
  19. #define PIN_A_2272D1   1
  20. #define PIN_A_2272D2   2
  21. #define PIN_A_2272D3   3

  22. //315M、433M RF Send,控制智能开关、智能插座、电动窗帘。。。
  23. #define PIN_D_315SEND   7  //PIN_UNDEFINED
  24. #define PIN_D_433SEND   PIN_UNDEFINED

  25. //左中右三个方向的壁障传感器pin定义
  26. #define PIN_D_BIZ_C     PIN_UNDEFINED
  27. #define PIN_D_BIZ_L     PIN_UNDEFINED
  28. #define PIN_D_BIZ_R     PIN_UNDEFINED

  29. //L298N电机驱动板的控制pin
  30. //舵机用了9号PWM,L298N用10,11号PWM的话,会导致10号PWM失效!!!
  31. // motor A
  32. #define dir1PinA    2
  33. #define dir2PinA    10
  34. #define speedPinA   3
  35. // motor B
  36. #define dir1PinB    12
  37. #define dir2PinB    13
  38. #define speedPinB   11

复制代码

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

 楼主| 发表于 2015-11-10 09:09:17 | 显示全部楼层
独行者 发表于 2015-11-10 08:53
楼主厉害,谢谢分享。我只有羡慕嫉妒恨,羡慕你的成绩,嫉妒你的才华,恨自己的无能。因无能而伸手:谢谢
...

已发到你邮箱,赶紧查收.
回复 支持 1 反对 0

使用道具 举报

发表于 2015-11-9 20:01:03 | 显示全部楼层
好贴,赞一个,最近正有想法做一个类似的东西,监控端可以使用树莓派或手机,控制端用pc和手机。有了这个帖子,省了我不少事,感谢
回复 支持 反对

使用道具 举报

发表于 2015-11-9 20:40:08 | 显示全部楼层
厉害,帮顶,请问安卓代码哪里下载
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-11-9 21:06:53 | 显示全部楼层
smilesmo 发表于 2015-11-9 20:40
厉害,帮顶,请问安卓代码哪里下载

网灵极客论坛:
http://www.wangling-tech.com/bbs/forum.php?mod=forumdisplay&fid=44
回复 支持 反对

使用道具 举报

发表于 2015-11-9 22:57:24 | 显示全部楼层
好厉害,支持一下
回复 支持 反对

使用道具 举报

发表于 2015-11-10 08:53:31 | 显示全部楼层
楼主厉害,谢谢分享。我只有羡慕嫉妒恨,羡慕你的成绩,嫉妒你的才华,恨自己的无能。因无能而伸手:谢谢
                                  [email protected]
回复 支持 反对

使用道具 举报

发表于 2015-11-10 09:19:10 | 显示全部楼层
atemphot 发表于 2015-11-10 09:09
已发到你邮箱,赶紧查收.

谢谢您,有劳了!
回复 支持 反对

使用道具 举报

发表于 2015-11-10 11:09:00 | 显示全部楼层
本帖最后由 wetnt 于 2015-11-10 11:17 编辑

非常棒,赞一个!看了你的全部内容,设想非常棒!特别是那个充电桩的解决方案,太有创意了!
回复 支持 反对

使用道具 举报

发表于 2015-11-10 11:09:57 | 显示全部楼层
真赞   给我发个 [email protected]{:soso_e179:}
回复 支持 反对

使用道具 举报

发表于 2015-11-10 13:24:20 | 显示全部楼层
[email protected]求大神指导,我也想自己玩玩试试,拜托了……真的好棒呀,一直想搞一个小机器人共鸣
回复 支持 反对

使用道具 举报

发表于 2015-11-10 15:33:51 | 显示全部楼层
[email protected]
谢谢大侠!好好学习一下!多谢了!
回复 支持 反对

使用道具 举报

发表于 2015-11-10 22:54:35 | 显示全部楼层
谢谢楼主无私奉献,学习来了,我的邮箱是[email protected]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-11-11 09:20:49 | 显示全部楼层
henrypcw 发表于 2015-11-10 22:54
谢谢楼主无私奉献,学习来了,我的邮箱是

以上几个留邮箱的,已发。请查收
回复 支持 反对

使用道具 举报

发表于 2015-11-11 16:06:10 | 显示全部楼层
哇哇   大神啊 终于找到了这个
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-24 23:34 , Processed in 0.045356 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表