极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 31708|回复: 45

[教程][T003]0元打造Wifi无线摄像头版入门级盒仔——一起去探险吧!

[复制链接]
发表于 2012-9-11 20:28:37 | 显示全部楼层 |阅读模式
本帖最后由 幻生幻灭 于 2014-10-21 15:37 编辑


Video link:http://v.youku.com/v_show/id_XNDQ5MzAzMDc2.html

IMG_0023new.jpg
大家好,我是Leo。在前两部教程里我们给大家讲解了盒仔及其皮肤的制作过程。这里我们给大家介绍一个零成本打造Wifi无线摄像头版盒仔的方案,带领大家进入一个崭新的世界!当然,所谓的零成本也是有前提的,事先大家需要准备一个盒仔,Android手机和一台笔记本电脑,以及一个有Wifi的网络环境。虽然目前网络上已经有很多Wifi机器人搭载摄像头的方案了,但这次我们要做的是纯娱乐性的玩法,用最简单的方式去实现我们的目标。那么你将在几分钟内拥有Wifi摄像头机器人!

上图一张,当时拍视频的盒仔效果图
IMG_2965.jpg




控制原理
本设计的控制原理非常简单,其实是走了两路无线通讯。一路是用于发送控制指令的蓝牙。另一路是用于传输视频和音频的Wifi。按照正常的Wifi机器人设计思路应该是将控制信号也集成在Wifi通讯上,而不使用蓝牙。但这也意味着我们需要在上位机进行复杂的软件编程,和下位机软硬件的支持,至少也得刷一个无线路由或者一块Wifi扩展板。由于涉及到很多跨领域的先进技术,属实不是一件容易的事情。
01.png

材料准备:
1. 盒仔或者任何能移动的机器人(要求蓝牙通讯,预先下载好BOXZ的程序)
2. Android手机一部(带Wifi和摄像头功能)
3. 笔记本电脑一台(带蓝牙和Wifi,预装Java运行环境)
4. 家里的无线路由

制作过程:
1. 首先把SECuRET LiveStream.apk软件安装到Android手机上
05.png
2. 然后打开LiveStream软件,确认已经连上家里的无线路由,否则会显示如左图一样红色的WiFi Connected。直接点击下方“Start”启动按钮即可
   06.png 07.png
3. 弹窗窗口可以使用网页浏览器或者另一部Android设备(手机或平板),这里我们选择“Web Browser”
08.png
4. 这时候软件已经进入就绪状态了,会有提示给一个IP地址,例如:192.168.1.104:8000。点击OK启动监控服务
09.png
5. 然后在笔记本电脑打开网页浏览器输入上面的IP地址,即可实现视频和音频的Wifi监控。(可能部分玩家此时会提示安装Java运行环境,按照提示操作即可)。
12 screenshot.jpg

再来看看手机上面的效果,是不是很轻松就实现了Wifi无线摄像头!?
11.png

6. 最后开启蓝牙并使用任意的串口助手软件来控制盒仔,这里推荐下OpenJumper开发的一款串口助手,直接可以支持按键操作,盒仔的控制使用软件默认设定就行啦,无需更改!
004018kgal0xhg7hthaygx.jpg





OpenJumper串口助手[链接]

欢迎访问:
BOXZ官方网站
中文网站:http://www.diyfun.org/
英文网站:http://www.boxz.cc/

BOXZ交流群
Arudino|歹饭空间
QQ群号:11187193

BOXZ资料下载
https://github.com/leolite/BOXZ/

SECuRET LiveStream.zip

1.49 MB, 阅读权限: 10, 下载次数: 116

回复

使用道具 举报

发表于 2012-9-11 22:14:13 | 显示全部楼层
真心虎...话说以后要来请教做视频
回复 支持 反对

使用道具 举报

发表于 2012-9-11 22:40:14 | 显示全部楼层
严重支持
回复 支持 反对

使用道具 举报

发表于 2012-10-11 22:29:35 | 显示全部楼层
支持,求boxz程序
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-10-12 08:20:43 | 显示全部楼层
战舸 发表于 2012-10-11 22:29
支持,求boxz程序

可以看看系列教程先,第一个教程最后就有程序

http://www.geek-workshop.com/thread-1365-1-1.html
回复 支持 反对

使用道具 举报

发表于 2012-10-12 12:01:27 | 显示全部楼层
恩好的谢谢
回复 支持 反对

使用道具 举报

发表于 2012-10-12 12:04:51 | 显示全部楼层
幻生幻灭 发表于 2012-10-12 08:20
可以看看系列教程先,第一个教程最后就有程序

http://www.geek-workshop.com/thread-1365-1-1.html

就是编译时出错了,不知为什么啊

G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:7:22: error: WProgram.h: No such file or directory
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp: In member function 'void AFMotorController::enable()':
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:27: error: 'OUTPUT' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:27: error: 'pinMode' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:37: error: 'LOW' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:37: error: 'digitalWrite' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp: In member function 'void AFMotorController::latch_tx()':
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:45: error: 'LOW' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:45: error: 'digitalWrite' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:56: error: 'HIGH' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:62: error: 'HIGH' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:65: error: 'HIGH' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp: In function 'void initPWM1(uint8_t)':
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:91: error: 'OUTPUT' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:91: error: 'pinMode' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp: In function 'void initPWM2(uint8_t)':
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:126: error: 'OUTPUT' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:126: error: 'pinMode' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp: In function 'void initPWM3(uint8_t)':
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:162: error: 'OUTPUT' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:162: error: 'pinMode' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp: In function 'void initPWM4(uint8_t)':
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:200: error: 'OUTPUT' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:200: error: 'pinMode' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp: In constructor 'AF_Stepper::AF_Stepper(uint16_t, uint8_t)':
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:311: error: 'OUTPUT' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:311: error: 'pinMode' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:313: error: 'HIGH' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:313: error: 'digitalWrite' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:330: error: 'OUTPUT' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:330: error: 'pinMode' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:332: error: 'HIGH' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:332: error: 'digitalWrite' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp: In member function 'void AF_Stepper::step(uint16_t, uint8_t, uint8_t)':
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:382: error: 'delay' was not declared in this scope
G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:394: error: 'delay' was not declared in this scope
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-10-12 21:05:41 | 显示全部楼层
战舸 发表于 2012-10-12 12:04
就是编译时出错了,不知为什么啊

G:\Arduino-1.0.1\libraries\AFMotor\AFMotor.cpp:7:22: error: WPro ...

把你的操作过程说一下,确定已经安装AFMotor库了吗?

参考本帖操作
http://www.geek-workshop.com/thread-449-1-1.html
回复 支持 反对

使用道具 举报

发表于 2012-10-13 10:03:21 | 显示全部楼层
幻生幻灭 发表于 2012-10-12 21:05
把你的操作过程说一下,确定已经安装AFMotor库了吗?

参考本帖操作

1、解压缩吧AFMotor库文件放在libraries文件夹2、打开BoxzController_20120630.pde文件,然后就编译出错了
回复 支持 反对

使用道具 举报

发表于 2012-10-13 10:06:03 | 显示全部楼层
战舸 发表于 2012-10-13 10:03
1、解压缩吧AFMotor库文件放在libraries文件夹2、打开BoxzController_20120630.pde文件,然后 ...

对了,我用的是Arduino-1.0.1版本,是不是这个版本的问题呢
回复 支持 反对

使用道具 举报

发表于 2012-10-13 10:11:05 | 显示全部楼层
幻生幻灭 发表于 2012-10-12 21:05
把你的操作过程说一下,确定已经安装AFMotor库了吗?

参考本帖操作

我改用arduino0023又可以了嘢,感谢楼主!!!
回复 支持 反对

使用道具 举报

发表于 2012-10-13 16:19:33 | 显示全部楼层
幻生幻灭 发表于 2012-10-12 08:20
可以看看系列教程先,第一个教程最后就有程序

http://www.geek-workshop.com/thread-1365-1-1.html

我的电机驱动板,M1是连接5、4 I\O的,M2连接6、7,请问该如何改动boxz程序呢?
回复 支持 反对

使用道具 举报

发表于 2012-10-14 15:22:34 | 显示全部楼层
其实建议 BOXZ可以参考类似MWC飞控模块的代码,把很多端口和设备的定义 单独放一个文件,这样爱好者在不增加新功能的时候可以避免误改动重要代码
同时开发者开发出新的功能模块可以单独作为独立模块,使用会更方便
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-10-15 09:18:53 | 显示全部楼层
战舸 发表于 2012-10-13 16:19
我的电机驱动板,M1是连接5、4 I\O的,M2连接6、7,请问该如何改动boxz程序呢?

我也不懂了哦
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-10-15 09:25:23 | 显示全部楼层
darkorigin 发表于 2012-10-14 15:22
其实建议 BOXZ可以参考类似MWC飞控模块的代码,把很多端口和设备的定义 单独放一个文件,这样爱好者在不增加 ...

谢谢您的建议,MWC飞控这块对我来说很陌生,呵呵。
不过很希望能将不同领域的元素结合到一起来哈

将来会尝试把重要的文件封装到一个库里面,到时候直接调用即可
另外本月会发布BOXZ的 Flash客户端的Demo,里面有些概念和你说的比较类似

说白了就是让玩家可以自定义配置,但却不需要修改代码哈。

点评

另外,他们用的谷歌代码来发布代码和进行分布式开发,每个人负责不同的代码方向。有的负责传感器,有的负责PID,等等  发表于 2012-10-15 11:40
我说的MWC,不是说它的领域。而是方式,它需要支持很多不同类型的传感器,于是它把每个器件的基本设置和初始化放在一个文件力,但是设置有效器件包括其他数据设置都是独立出来,对于编程方面薄弱的人就不会误改动...  发表于 2012-10-15 11:39
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2020-7-16 12:58 , Processed in 0.061760 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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