北京儿童插座价格联盟

制作一台宠物感应拍照机

只看楼主 收藏 回复
  • - -
楼主


项目主要目的是为了能够随时随地和家人朋友分享家中爱宠的照片信息,由于工作繁忙,没有太多时间去关照家里的宠物,更别说拍照片了,所以萌发了想给家中的狗狗拍照片的想法。


之前想过用山狗和树莓派来搭建,但是都没有去做,因为两个问题,第一个如果用树莓派的官方摄像头,不太好集成到我的程序里面,只能通过shell脚本来实现,不够高端大气上档次。。。如果用arduino有觉得摄像头不好控制。。。。后来参加blueeye做无人船的时候,大熊借给我一块Edison,所以决定用edison去实现拍照的功能,是不是有作死的感觉,通过查阅资料,看到edison的运算性能非常不错,又非常的低功耗,也有大神已经实现了在edison上跑opencv的实践。


因此就想的用edison结合传感器来实现拍照了。实现的原理很简单,在大牛的眼里,就是小儿科啊。。。我只用了一个传感器,就是人体红外热释传感器,也叫运动传感器,就是如果传感器感应到有运动物体就会产生电平的高低变化(因为这是一个数字传感器),通过程序判断电平的高低变化就可以实现对运动物体的检测,然后通过edison结合opencv的视觉库,进行抓图的操作,并存入一张照片,然后利用定时脚本将拍摄的照片通过wifi传入阿里云服务器,再通过编辑好的页面展示出来。这样,不管是在任何地方,任何时间,只要萌宠经过传感器的前方,就会被感应到,并且被拍照上传服务器。我和我的朋友家人就可以通过手机或者电脑,随时随地的访问这些图片了。当然,后期会考虑如果涉及到安全和隐私的话,我们会加入验证环节。另外,通过在喂食盆附近的放置该设备,还可以通过对图片的统计算出宠物被感应到的次数,就可以绘制出一个曲线,判断萌宠饥饿的程度,然后提供的数据可以总结后设置一个自动喂食机构,在达到阈值就投放食物,真是宠物用品界的大数据分析和应用啊!想法诞生的时候只是简单画了个图:



然后为了增加吸引眼球的元素,加入了我之前打印的3D暴龙头骨,美其名曰,恐吓图腾。哈哈,为了防止萌宠过来跪舔摄像头。(理由好牵强)



然后现场制作:制作过程中由于大家都太专注,拍摄的图片少,大家凑合看啦,头骨是用502粘到俞廷同学设计和打印的3D外壳上的。制作需要的物件:


Edison一块

Edison扩展板 一块

还要一块很重要的设备,就是DFRobot的一块I/O extended sheild,有了它,一切变得更加简单了。

母对母头杜邦线x3

270度摄像头一个

人体红外热释传感器 一个


构建过程极其简单,我将人体红外热释传感器通过线缆接入到i/o扩展板的7号接口,记得看清楚pin脚的描述。


vcc----接5v

GND---接地

sign----接io扩展板的pin脚

摄像头-----接usb接口(唯一一个宽口的USB)



然后刷入yoctolinux系统,这个过程需要用到:




具体刷系统的过程就不写了。很简单,intel官方网站有,请自行搜索。


然后启动edison的时候通过串口连入edison:


这里要简单说明一下,edison有两个microusb的接口。和我们用的android手机充电接口一样,最下面的那个是调试串口,上面的一个小的microusb是和大口usb共用的,靠一个switch来控制。


这个实验里面我已经把switch拨到靠近大usb口的位置了,所以大的usb将会得到应用。小的可以做为供电。


然后通过电脑连接串口进行查看。


因为我的电脑是mac,所以我用的的方法和大家不一样,如果是windows就用putty去连接设备。




连接的时候先查询一下自己连上来后被识别出来的串口设备文件,我这里是:




接下来就利用screen命令进行访问。


#screen  /dev/tty.usbserial-AJ03613A 115200


这里我的设备名称和大家的可能不一样,根据实际情况选择就好,115200是波特率,就是和edison通信的速率。大家照着填写就好了。


如果登陆成功显示就是如下内容:




然后通过root登陆,初始密码是空。


我一般登陆后要做一些简单的初始化工作:


例如配置edison的主机名,连接wifi,设置软件的源,修改root密码等等。




利用configure_edison 命令,可以去配置很多东西。


例如我想配置密码就:

#configure_edison  --password


如果想配置wifi就:

#configure_edison --wifi


然后按照提示一步一步完成就好。很简单。


 

然后会有提示:



我家里的wifi的ssid是yoyojacky,所以我就选择24。


下面就是询问是否正确,填写密码就好了。



我看到我已经获取到IP地址了。后期就可不用串口线,直接通过wifi网络直接连接设备了。


然后就是修改配置源:

#vi  /etc/opkg/base-feeds.conf



接下来就是安装opencv的一些库。我安装的opencv版本是:


剩下就是创建一个目录去写程序了。

点击下方“阅读原文”查看程序源代码
↓↓↓

举报 | 1楼 回复

友情链接