14871| 5
|
[预选赛] Arduino WIFI相机,自动拍照Intel Edison 和云端储存 |
本帖最后由 三寸立方 于 2015-7-31 16:37 编辑 项目目标- 实现低成本的全天候延时拍摄,低耗电 项目描述 - 摄像头每30秒(可自定义)拍摄照片一张 - 通过WIFI无线传输到远程服务器 - 云端服务器进行储存和后续处理(后续部分不在本文中讨论,例如浏览、管理或导出为视频) 主要硬件 - Arduino UNO - Adafruit CC3000 breakout https://www.adafruit.com/products/1469 - TTL serial camera, Adafruit TTL JPEG Camera (VC0706 chipset) http://www.adafruit.com/products/397 开源程序 除文中罗列以外,也可以在最后的附件中打包下载到我所提到的所有程序 测试CC3000 WIFI - 下载所需库文件 https://github.com/adafruit/Adafruit_CC3000_Library - 找到所需的测试程序 https://github.com/adafruit/Adaf ... /examples/buildtest - 在测试程序里写入所需连接WIFI的SSID和密码#define WLAN_SSID "yourNetwork" #define WLAN_PASS "yourPassword" - 确保你使用了正确的加密方式 #define WLAN_SECURITY WLAN_SEC_WPA2 - 连接CC3000
连接完成: 连接启动以后应可以测试通过,主要有以下内容: - 问候语 Hello - 启动 Initialising the CC3000,如果成功连接,打印出固件版本和MAC地址 - 列出所找到的WIFI Networks found - 尝试连接并打印IP地址,通常是通过DHCP,也可以固定IP Attempting to connect ... - 通过DNS解析指定网址的IP,并且发送ping指令,返回结果 Pinging 115.239.210.27...4 replies 如遇到更细节问题和疑难分析可参考厂商网页:https://learn.adafruit.com/adafruit-cc3000-wifi/overview 测试摄像头 - 下载摄像头的类库 https://github.com/adafruit/Adafruit-VC0706-Serial-Camera-Library - 找到测试摄像头的程序: https://github.com/openhomeautom ... est/camera_test.ino - 连接摄像头 和WIFI连接测试相比,主要改动是 2-5接口,9-13保持不变。 连接完成(乱七八糟,随便看看就好。。。): 运行测试: 服务器 - 在传输和运行之前,需要搭建所需的网络服务器,具体的LAMP环境就不在这里叙述了,假设你已经有了一个可以运行PHP的环境——或者你可以自己编写任何其他可以接受HTTP POST的服务端。 - 获取服务端代码: https://github.com/aetherwu/ardu ... b/master/camera.php - 将Camera.php放置在服务器的根目录下,新建一个uploads目录,并且将该目录设置为777(简化起见: chmod 777 uploads) - 测试是否可以顺利上传,使用upload.html,随便上传个啥试试 https://github.com/aetherwu/ardu ... /master/upload.html - 如果上传成功,可以在uploads里面看到上传的图片,通常PHP的上传限制比较小,试试几百K的图片就好。其他有关的问题不在这里继续讨论 拍摄和传输 我所参考的资料里,作者给出的源代码无法成功运行,这里给出我调试后可运行的修改版本: https://github.com/aetherwu/ardu ... ifi/camera_wifi.ino 相比原始代码,主要的更新有:
- 将程序中的SSID、密码、服务器IP地址改为你自己的配置(一共有三处,特别留意第一处都是逗号分隔,不是点号,而后两处都是标准的IP地址,点号分隔) 开始运行 一切正常的话,初始化摄像头、WIFI都会很快,只是传输的时候会很慢。 如果遇到报错信息,可以参考返回的信息加以调试,比如以下情况,是我忘了把camera.php放到根目录了: 程序会在传输完毕以后等待10秒再拍摄和传输下一张。如果一切顺利的话,就可以在uploads的目录里看到这款Arduino Wifi Camera所自动上传的照片。 下一步 - 拔掉USB数据线和电源线,插上电池(注意CC3000要求至少1A的稳定输入),就可以把这个自动牌照的相机部署到你想要的任何地方了。你可以修改拍照的时间以迎合更广泛的需求,比如每小时一次。- 修改第58行中的 cam.setImageSize(VC0706_640x480) 以获得不同或者更高的分辨率。但需要留意这样会让文件变大,导致在UNO里传输的时候速度更慢。 Intel Edison 的设想 一款个性化的钢铁侠聚能模块! 钢铁侠同学的胸灯大概是这个样子的: 爱好者们的自制 网友自制反应堆效果图 但以上都只是灯好吗?。。。我们来做点儿更好玩儿的吧! 更加智能的个人反应堆: - 通过激光蚀刻机和3D打印机制造外壳 - 发光部分换用小型液晶显示器,放置在透明丙烯下加保护,LED放在周边 - 底层放置Edison和电池 - 搭配云端服务器和iOS app 功能: - 以常规的LED制造电影上的核能堆效果(其实那都是糊弄人扯谈的,谁见过真的核能反应堆是那样的,激光枪的BIUBIU声还更真实些(误)) - 手机上设置你的微信号、QQ号、支付宝等信息 - 物理按钮,一键显示你的微信号,立刻扫码加人 - 物理按钮,一键显示你的支付号,立刻扫码收钱 - 手机一键上传你最喜欢的个性图片,支持定时轮换,一键变身绿灯侠/闪电侠/蝙蝠侠/Hello Kitty(大误),展示你的心情和大家分享 以下其实我也就只是想想,没打算真做,但只是说这个项目的可能性: - 可选:计划支持GIF动图或者视频(需考虑Edison的可实现性) - 可选:手机更新各种显示模式,发光模式。 - 可选:使用随身移动电池供其他穿戴设备充电,真正意义上的聚能中心。 - 可选:开放自身接口允许其他穿戴设备介入Edison的运算能力。 - 更多好玩儿可能性,充分展现个人魅力和个性,和朋友们交互游戏。 |
问一下有哪位同学有Edison可用的TFT高分屏吗?有320*240,2.4-2.8寸都可以。DFRobot开发包里的LCD虽然可用,但是没办法显示出一个QR码。我试了ITEAD的一个2.8 TFT,虽然可以编译通过,但是在Edison上用不了。我的基本需要是可以读取SD然后显示bitmap就行。 目前我看到最接近的一个是Seeed的一款,但是貌似他们也已经有更新款,不知道这法子还能不能用。 https://communities.intel.com/thread/51310 最好……能即插即用,让我能专注在编程上比较好…… |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed