【网灵科技】官方网站

 

本次分享的项目名叫“网灵机器人”,来自资深创客高华。2012年高华开始接触Arduino和智能硬件,之后也经历过硬件创业,虽然没有成功,但动手和分享的乐趣并没改变。
本项目的所有电路结构和源代码都已经开源。

 

网灵机器人是一个特殊的机器人,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发送控制命令。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 安卓大脑与Arduino单片机之间的蓝牙串口通信协议如下:

(1)下位机 -> 安卓机子

k 字母'k' + MQX空气传感器读数 + '\n'
o 字母'o' + 壁障传感器电平值集合(左中右三个壁障传感器电平值的按位或) + '\n'
w 字母'w' + 温度值 + '\n'
s 字母's' + 湿度值 + '\n'
H 字母'H' + H舵机的当前角度值 + '\n'
V 字母'V' + V舵机的当前角度值 + '\n'
L 字母'L' + L舵机的当前角度值 + '\n'
R 字母'R' + R舵机的当前角度值 + '\n'
j 字母'j' + 继电器的当前开合状态(0或1) + '\n'
M 字母'M' + 接收到315M射频信号的数据码 + '\n'
U 字母'U' + 电池电压读数 + '\n'
h 字母'h' + 人体红外感应模块的电平值(0或1) + '\n'

(2)安卓机子 -> 下位机

H 字母'H' + H舵机应转动到的角度值 + '\n'
V 字母'V' + V舵机应转动到的角度值 + '\n'
L 字母'L' + L舵机应转动到的角度值 + '\n'
R 字母'R' + R舵机应转动到的角度值 + '\n'
j 字母'j' + 要设定的继电器的开合状态(0或1) + '\n'
a 字母'a' + 要设定的LED-A灯(0或1) + '\n'
b 字母'b' + 要设定的LED-B灯(0或1) + '\n'
Z 字母'Z' + 底盘电机A的转速值(负值表示反转) + ',' + 底盘电机B的转速值(负值表示反转) + '\n'
T 字母'T' + '\n' (使底盘电机停止转动)
m 字母'm' + 发射RF射频信号的频率值(315或433)+ 发射RF的振荡参数 + 发射RF的编码类型(2262或1527)+ 发射RF的信号内容 + '\n'
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

网灵机器人的显著特点是:可以用手机控制端和电脑控制端从异地远程遥控机器人,并实时观看摄像头图像。这个功能的实现基于网灵的P2P云连接平台——只要机器人接入网络,就可以从世界上的任何角落连接到机器人,无需设置路由器端口,无需做动态域名映射,完全自动穿透NAT内网。

网灵机器人的控制端软件就是 网灵云控制, 它相当于一个“带视频回传的远程遥控手柄”,有一些手柄按键和2个虚拟摇杆,其UI界面是这样的:

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

【网灵科技】官方网站

【QQ交流群:221890987】欢迎大家进来一起探讨交流!!!

 

 

高华的网站 QQ:84277775    湘ICP备19003745号-1