基于S3C2410的CDMA无线数据传输方法
设置好后,在开发板环境下输入pppd,如果出现乱码,则说明ppp移植正确。键入拨号命令pppd call cdma1,生成一个新的网络接口ppp0,服务器自动分配一个IP地址。此时PPP的移植及设置结束,也就是说现在已经创造好了一个可以上网的嵌入式系统。
3.3 Email发送程序设计[2]
图片采集终端采集的图片要发送到Email中,需要以附件的形式发送。邮件发送过程中,需要对邮件地址、用户密码和附件内容进行加密处理,这里采用了Base64加密法。Base64算法就是以3个字节为单位,当剩下的字符数量不足3个字节时,则应使用0进行填充,依次取6位数据并在前面补上两个0形成新的8位编码,由于3*8=4*6,这样3个字节的输入会变成4个字节的输出,长度上增加了1/3。相应地,输出字符则使用‘=’占位,因此编码后输出的文本末尾可能会出现1至2个‘=’。
邮件发送程序经过了以下几个过程[3]:
(1)socket(int domain,int type,int protocol);
该函数建立新的socket,以建立一个新的通信端口并获得文件描述符。函数中的参数domain确定一个协议族,这里定义为AF_INET,type指定套接字类型,该处使用SOCK_STREAM,protocol一般为0,使用默认协议。
(2)connect(int sockfd,struct sockaddr *address,size_t address_len);
当调用socket建立传输端口后,调用connect函数建立与远程服务器相连的连接线路。
(3) recv(int sockfd,void *buf,int len,unsigned int flags);
该函数用于接收从套接口传来的信息,socket用connect连接的套接口,buf是指向内存块的指针,用于存储接受的消息,len指明内存块的大小,flags是一个操作标志。
(4)Base64_Code();//对登陆信息或附件内容进行加密
(5)send(int sockfd,const void *msg,int len,unsigned int flags);
该函数是用来通过套接口向其它程序传递数据的。sockfd是用来传输数据的socked描述符,msg是一个指向要发送数据的指针,len是以字节为单位的数据的长度,flags一般情况下设置为0。
4 总结
实验证明用CDMA无线网络发送数据,速度比较稳定,有时会由于网络原因发送失败,但是成功率较高,收到的图片数据丢帧现象不明显。该方法可用于工业现场的监视以及家庭监控系统以及远程的数据采集。由于图片是发送到Email中的,因此运行成本较低,有较大的推广空间。
本文创新点:目前基于GPRS的无线数据传输方法研究的较多,而CDMA网络的高性能特性,逐渐引起了研究者的注意,本文就结合CDMA网络设计了一套与嵌入式相结合的系统,,将采集的现场图片,以附件的形式发送到Email中。
- 基于s3c2410的CramFS根文件系统的移植(07-13)
- AD7888与S3C2410的SPI接口及Linux下嵌入式驱动的实现(11-06)
- 基于WinCE的ARM视频监控系统(11-14)
- 基于WinCE的I2C驱动程序设计(04-24)
- WinCE下光电编码器的驱动程序设计(04-12)
- 嵌入式Win CE中CAN总线控制器的驱动设计与实现(05-01)