1 系统工作原理
该系统主要有GPRS连接、POP3接收邮件、Base 64解码和IA P编程4部分组成。GPRS连接通过SIM300模块将低压电力载波抄表终端连接到远程升级服务器;然后,通过POP3协议将邮件服务器上的新程序下载到低压电力载波抄表终端上;之后,对下载的程序进行Base 64解码,最后通过LPC2214的IAP功能将解码后的程序写到LPC2214的FLASH中,完成远程升级的功能。系统框图如图1所示。
2 POP3协议和Base 64编码原理
2.1 POP3协议
POP3适用于C/S结构的脱机模型,是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。POP3协议有三种状态:认可状态、处理状态和更新状态。当客户机与服务器建立联系时,一旦客户机提供了自己身份并成功确认,即由认可状态转入处理状态,在完成相应的操作后客户机发出Quit命令,则进入更新状态,更新之后重返认可状态。
2.2 Base 64编码原理
Base 64是一种很常见的编码规范,被设计用来将任意序列的8字节描述为一种不易被人直接识别的形式。它的作用是将二进制序列转换为人类可读的ASCII字符序列,常用在需用通过文本来传输二进制数据的协议中,如HTTP和SMTP等。
Base 64编码规则为对于待编码数据,以3个字节为单位,依次取6位,前两位补0形成8位编码,由于3×8=4×6,3个字节的输入会编码成4个字节的输出。如果剩下的字符不足3个字节,则用0填充,输出字符使用“=”,因此编码后输出的文本末尾可能会出现1个或2个“=”。因此,Base 64解码过程与编码过程正好相反。这里给出解码的关键程序示例: