碱性电池供电的定时拍摄和邮件传送装置

2018-12-18 10:16钱光明
电脑知识与技术 2018年26期

摘要:有关权威机构曾称现在的碱性电池已无汞环保,可以与生活垃圾一起丢弃。该文采用LR20碱性电池作为网络监测装置的唯一电源。该装置采用周期性工作方式,基于WIFI无线网络,定时启动拍摄现场图片并以电子邮件的形式发出,然后睡眠。通过约两年的实验表明这种装置具有一定的应用价值。

关键词:监测装置;碱性电池;定时启动

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)26-0247-02

1 概述

对于一套长期无人居住的房子,存在漏水、被盗等等担心。如果能安装一个摄像头,每天拍几张图片或传一些参数上网,实现远程监测,应该是一个不错的想法。当今先进的家用防盗报警装置琳琅满目,价格实惠,性能不错,但许多都要用220V交流市电。长期(如数月)無人的套房环境中不断电220V,其安全性并不会被所有人认可。例如,如果一两个月外出旅游,不少国人都有将冰箱断电的习惯。因此,自然也想到采用电池给这样的监测装置供电,碱性电池是候选者之一。

当今品牌的碱性电池虽然其能量密度不是最高,大电流放电性能不是最好,但是,它有两个显著优点:⑴有关权威机构声称此类电池无汞环保,可以与生活垃圾一起丢弃[1]。⑵该类电池在不少普通超市就能买到,且尺寸是标准的。不像前些年某些手机的电池,如果电池损坏了,需要找到手机生产商才能买到品牌的放心电池。

那么,碱性电池能不能满足这样的监测装置的用电要求呢?

2 设计思路

这里的碱性电池采用LR20,三节串联得4.5V。监测装置由电源控制(主要由场效应管组成)模块、WIFI模块GS1011MI、STM32F103RCT6主控单片机及摄像头模块PTC08组成[2]。为实现夜晚黑暗情况下的拍摄,摄像头配有红外灯。另外,单片机接有nRF24L01模块,以备短距离无线控制用(如控制WIFI路由器的供电)。LR20电池如何与监测装置配合,免不了要采用有关的低功耗设计手段[2][3]。这里列出几个主要特点:

(1) 周期性地定时启动,工作时间短,睡眠时间长。比如,一天工作4次,每次工作时间一分钟,假定工作时平均电流150mA,100天内工作时间总耗电只有100×150×(1/60)=250mAh,只要能努力降低睡眠时的电流,实现较长的工作时间是比较乐观的。

(2) 程序流程中的主要环节尽量采用定时器控制。无论是启动摄像头拍摄并获取照片,还是网络通信,一般厂商推荐的方法都是要开发者等待有关的应答标志的到来。比如,读到“FF D9”时才能算一张JPEG图片读完了。又如,向GS1011M发出“AT”命令后需要等待对方回答“OK”才算完整。但是,每次通信不能保证百分之百成功,需要的时间一般也随环境而变,尤其是网络通信,如果很快当然好,很慢甚至不成功的话,如果一味地等待下去,将耗费宝贵的电池能量,也会使得电池的使用寿命无法估计。因此,对这样的过程采用定时方式,或设定一个最大等待时间,是必需的。即使本次不成功,也要结束工作状态进入睡眠。一天内本次邮件不成功,另外三次成功也还是不错的(假定一天拍摄四次)。

(3) 主要耗电模块分时供电,以降低电池需要提供的最大电流。耗电主要以WIFI模块GS1011MI和摄像头模块为主,尤其是摄像头模块开通红外灯时。GS1011MI模块最大电流可达250mA,摄像头模块带上红外灯时可达300mA,绝不能让这两个最大电流同时出现。特别是当电池用过一段时间后,大电流会造成电池电压下降过多,容易造成整个装置不能正常工作或低电压关机。设计中采用的方法是:先拍摄照片,然后立即关断摄像头模块的电源,再打开WIFI模块的电源。

(4) 固定长度JPEG图片。一般来说,拍摄的JPEG图片文件的长度跟现场环境有关。如果每次只传送从文件头部算起的固定长度的数据,很可能后面一部分数据就丢了,远方看到的是一幅不完整图像[2]。但是,这样做有利于以定时方式进行编程,并且主控单片机的片内存储器足以储存。再说,不完整图像也能反映被监测现场的大部分信息。

3 邮件传输流程

每次主控单片机唤醒并初始化后,打开摄像头模块的电源,花数秒拍照并存入内存,然后切断该模块电源,再打开GS1011MI的电源,连接WIFI路由器,通过邮件协议发出内存中的图片。一定时间后,主控单片机切断GS1011MI的电源,自己也进入Standby状态,整个装置入睡。程序用C语言编写。其中,邮件发送过程如下:

发出命令EHLO x;

发出命令AUTH LOGIN;

用base64编码发出username:如monitor;

用base64编码发出password:如888888;

发出命令MAIL FROM: 如monitor@xxxxxx.com;

发出命令RCPT TO: 如monitor@xxxxxx.com;

发出命令DATA;

发出邮件数据帧(其中有的要以base64编码发);

以base64编码发出邮件附件图片文件的前n-1个等长包;

以base64编码发出邮件附件图片文件的最后一个小包;

发出命令endwithIMF;

发出命令QUIT。

4 结束语

图片以邮件附件的形式发出。实验中一个图片附件分15个包发出,前14个包长度均为1050个字节,最后一个小包为30个字节长。该装置实验了约两年的时间。在一次较长的实验中,一天四次唤醒,发四个邮件,每次唤醒时间不超过一分钟,一组新的品牌电池使用了约10个月后(其中有两次断电检查但总共不超过1天时间)仍然有不错的剩余电能,这组电池接着用于做其它相关实验,还正常使用了一段时间。经过估计,三节新的品牌电池可以连续使用一年以上。如果一天唤醒的次数小于四次,则可以更长。在这约10个月的实验中,WIFI路由器与本装置相距不超过10米,中间门窗不完全密封,邮件丢失总数不超过10%。

如果WIFI路由器距离较远信号较弱,为了保证邮件发送的成功率,可以采用加大WIFI模块的发射功率等措施,但这样会加大唤醒期间的耗电。因此,今后应该对程序、对硬件设计进行不断的改进,尽量降低整个装置的工作电流和睡眠电流。例如,如果采用超低功耗单片机STM32L162,其Standby状态时电流可低至1.15μA,而实验所用的STM32F103RC单片机Standby电流约为3.8μA。又如,如果切断nRF24L01模块电源,装置睡眠电流只有9μA左右(偶尔有几十μA),不切断的话(上述10个月的实验就是如此),多次测量都有几十μA。

参考文献:

[1] http://tv.cntv.cn/video,《走进科学》20150722,废旧电池换新说.

[2] 钱光明. 一种室内自动拍摄图片网传方案[J]. 电脑知识与技术,2015, 11(23):159-161.

[3] 钱光明. sleep+run周期模式下的低能耗估算[J]. 电脑知识与技术,2017, 13(26):45-47.

[4] STM32F103VD STM32F103ZD STM32F103QD STM32F103RD Datasheet-production data, 2016, www.st.com.

[5] STM32F103xC STM32F103xD STM32F103xE Datasheet-production data, 2015, www.st.com.

[通联编辑:代影]