一、网址参考
1、 i2cdetect(8) - Linux man page
7、Linux下使用Shell脚本实现FTP自动上传和下载文件
9、send() function in C how to handle if not all bytes are sent?
12、深入理解Android:Wi-Fi、NFC和GPS卷(完整版)
二、实战经验
1、i2cdetect命令示例, 后面的4表示I2C总线,可以扫描总线下面的I2C设备:
i2cdetect -l i2cdetect -y -r 4
2、通过shell脚本进行ftp传输文件和telnet操作
#!/bin/sh PUTFILE=test HOST_IP=192.168.22.76 ( sleep 1 echo cjb sleep 1 echo 123456 sleep 1 echo "rm -rf /opt/$PUTFILE" sleep 1 ) | telnet $HOST_IP ftp -v -n $HOST_IP<<EOF user root linux binary cd /opt lcd . prompt put $PUTFILE bye #here document EOF echo "commit to ftp successfully" ( sleep 1 echo cjb sleep 1 echo 123456 sleep 1 echo "cd /opt" sleep 1 echo "chmod +x $PUTFILE" sleep 1 echo "sync" sleep 1 echo "reboot" sleep 3 ) | telnet $HOST_IP
注意:在reboot命令后,一定要加延时,否则重启命令无效
3、send函数
1)当需要发送一个很大的数据包,如50~60k,则最好分包发送,而每次send函数的len最大值设置为8192字节(比较实际需要发送字节数与8192,取最小值),网上说设置8192的效率高点;
2)非阻塞方式发送时,需要判断返回值. 如EWOULDBLOCK, 可以延时一会儿,再发送
4、grep使用
同时查找两个字符串的命令: grep '1419B688007F8|1419B68F80505' res.log > res2.log
注意字符串中间在管道符号前面的‘’转义符号,并且不要有空格