旧手机废物利用方法

1.电子钟/闹钟
不管是智能的还是非智能的,时钟这个功能始终都有,让旧手机插着充电器,放在床头柜设置好时间就可以了。
如果做电子钟时钟显示时间的话,推荐使用amoled屏幕的手机,因为这种屏幕黑色的不发光,这样在晚上不会太亮。(不过amoled的屏幕容易烧屏,需要配合app让屏幕内容不动态显示)。非智能手机也可以安装kjava的程序来显示全屏时间。

2.电子相册

3.电脑摄像头/网络摄像头

4.红外线遥控器

5.蓝牙遥控器

6.wifi遥控器
现在市面上有一些遥控玩具是可以用手机当遥控器的,比如 i-spy tank。玩具本身自带wifi信号,手机连上这个wifi后,打开控制的app就可以遥控玩具了。

7.电脑扩展显示器
idisplay可以让手机扩展显示器使用。分别在电脑端支持windows和mac,手机端app支持android和ios。ios的我没用试过,android手机我是用usb连接电脑,手机开启usb调试模式,启动手机端app就可以看到电脑的桌面已经扩展到手机屏幕上了,就和在笔记本上外接一个显示器的操作是一样的,效果是挺令人惊喜的。不过我测试后也发现了一些问题:
1)不能设置扩展桌面的分辨率,只能以1024×768显示(适合ipad的分辨率)
2)我用的是手机当扩展屏幕,所以画面显示的很小,看网页上的文字很难看清,看视频用全屏模式的话还不错。
3)我猜测这个扩展屏幕全都是用cpu模拟显示的,没有用到显卡,所以cpu的占有率挺高的,我笔记本是i7,cpu占有率大概20%左右。

8.无线ap
使用fqrouter可以让手机变成一个无线ap,扩展路由器的信号范围。fqrouter本来是个vpn工具,自带一个ap分享功能,不过这个分享功能对硬件要求比较高,目前我的夏普306sh,三星i919u和另外一个山寨手机都不能开启ap功能。

9.挂机赚钱
挂机赚钱就是把手机连上电脑之后共享给其他人使用,不过挂机赚钱陷阱很多,要找那些大平台,比如百度众测平台。

10.收音机
不管是智能还是非智能的手机,很多都带有收音机功能,拿来听听广播也不错。

夏普306sh使用指南

超窄边框的夏普306sh使用1年了,总结一下使用情况。

1.解锁

夏普306sh解锁是为了可以使用中国电信的手机卡打电话,发短信和上网。

电信的3g卡,4g卡都可以打电话和发短信,要是需要上网的话只能使用4g卡,但只能上电脑的3g网络。

2.激活

夏普30sh激活是为了可以使用wifi共享,收音机等功能。(我目前还没激活成功)

3.root(破解)

夏普306sh root是为了可以汉化手机,去除无用内置应用,以及各种后台管理插件等

 

目前我的夏普306sh是已解锁、已root、已汉化、安装微桌面、xposed(重力工具箱, fs动态变色),当上网手机使用。

closeWindow

function closeWindow(){
if(navigator.appName==”Microsoft Internet Explorer” || isIE11()) {
if (parent.window.external.Document==null) {
// IE with no wrapper application
// VBBrowse looks for the status ExitProgram to execute
// Timeout is presented to give vbbrowse time to close
parent.window.status = “ExitProgram”;
parent.window.status = “”;
setTimeout(‘parent.window.close()’, 2000);
} else {
// IE with Netkey wrapper
parent.window.external.Document.CurrentScreen = parent.window.external.Document.Screens(‘Attract Loop Start Screen’);
}
} else {
var win=window.open(“,’_self’,”);
win.close();
}
}

function isIE11(){
return /trident/7/.test(navigator.appVersion.toLowerCase());
}

php 读取 wav

<?php
function wav_graph($file, $f = 0, $w = 0) {
    global $DATA_DIR;
    if (!is_file($file)) return 0;
    $fp = fopen($DATA_DIR . $file, 'r');
    
    $raw = fread($fp, 36);
    $str = '';
    $header = unpack('A4Riff/VSize/A4Wav/A4Head/VHeadSize/vPCM/vChannels/VSampleRate/VByteRate/vBlockAlign/vSampleBits', $raw);
    foreach ($header as $k => $v) $str.= $k . ': ' . $v . ' ';
    
    echo $str;
    fseek($fp, 36 + $header['HeadSize'] – 16);    
    $raw = fread($fp, 8);
    $data = unpack('A4Data/VDataSize', $raw);
    foreach ($data as $k => $v) $str.= $k . ': ' . $v . ' ';
    $b = $header['SampleBits'];
    $c = $header['Channels'];
    $l = $b * $c / 8; // sample frame length in bytes
    $s = $data['DataSize'] / $l; // total number of samples
    $r = $header['SampleRate'];
    if ($f) $h = pow(2, $b) / $f;
    else {
        $h = 200;
        $f = pow(2, $b – 1) / $h;
    }
    if ($w == 0) $w = round($r / 1000); // default to show 1k sample frames per minute
    
    /*header("Content-type: image/png");
    $im = imagecreate($s / $w, $h * $c * 2);
    imagecolorallocate($im, 0xff, 0xff, 0xff); // white bg
    $color = imagecolorallocate($im, 0, 0, 255); // black
    //imagestring($im, 5, 5, 5, $str, $color);
    $x = 0;
    $y = array();
    $yn = array();
    for ($i = 0; $i < $c; $i++) $y[$i] = $h * $i + $h;
    $n = $l * $w;
    while (1) {
        if ($s == 0) break;

        if ($s < $n) $n = $s;
        $samples = fread($fp, 1000 * $n);
        if ($samples === FALSE) break;

        $packed = unpack("s*", $samples);
        foreach ($packed as $k => $v) {
            $cnt = ($k – 1) % ($w * $l);
            if ($cnt > $c – 1) continue;
            $yn[$cnt] = $h * $cnt + $h – $v / $f;
            imageline($im, $x, $y[$cnt], $x + 1, $yn[$cnt], $color);
            $y[$cnt] = $yn[$cnt];
            $x++;
        }
        $s-= $n;
    }
    imagepng($im);
    imagedestroy($im);*/
}
wav_graph('test.wav');

?>

ubuntu 12.04 ati 显卡驱动安装

1、卸载原有驱动

sudo apt-get remove –purge fglrx*  

2、去ATI官方下载驱动,选择显卡型号,和操作系统,官网会给出安装包。

3、解压后,加可执行权限。

4、下载必要的软件包

sudo apt-get install devscripts debhelper dh-modaliases execstack dkms 

5、运行ati的脚本,选择第二项生成安装包,再选自动检测到的操作系统。

6、查看log,没有报错,在当前目录下生成了3个deb包

7、安装

sudo dpkg -i fglrx*.deb  

8、 安装后配置

sudo aticonfig –initial -f  

9、重启

html base64 img 图片显示

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHhJREFUeNo8zjsOxCAMBFB/KEAUFFR0Cbng3nQPw68ArZdAlOZppPFIBhH5EAB8b+Tlt9MYQ6i1BuqFaq1CKSVcxZ2Acs6406KUgpt5/LCKuVgz5BDCSb13ZO99ZOdcZGvt4mJjzMVKqcha68iIePB86GAiOv8CDADlIUQBs7MD3wAAAABJRU5ErkJggg%3D%3D"/>

老电脑装deepin 12.12.1

最近把老电脑(12年了)升级了一把:

CPU:p4 2.0 -> p4 2.8

内存:640M -> 1.5G

显卡:GF2 mx400 -> HD4350 (PCI接口)

整个感觉是提高了不少,反正winxp是无比流畅了。于是装备再体验一下新版的deepin,下载了deepin 12.12.1,安装很顺利。进系统输入账号密码后,却只有背景,其他什么都没有,后来网上查了一下,说是显卡驱动问题,需要在启动时加参数nomodeset,之后才能正常进入桌面和使用系统。但此时的cpu占有率基本都维持在100%,做任何的操作都会反映比较慢。

网上又去查了一些原因,总结如下:

1.CPU占有率高,是因为加了 nomodeset参数,禁用了显卡驱动,所有图形的运算都由CPU完成,所以CPU占有率高

2.ATI显卡的linux版驱动,做得不太到位,旧型号的显卡没有新内核下的驱动。如我这个HD4350的最新版显卡驱动是Catalyst 13.1, 最高支持的内核是kernel 3.4,而deepin 12.12.1的内核是kernel 3.8的(就算是deepin 12.12的内核也是kernel 3.6的),所以是装不上显卡驱动。

据说deepin 12.06的内核是kernel 3.2的,我接下要装旧版的试试了。 不过deepin 12.12.1的桌面环境dde真的很赞,不知道12.06能否单位安装这个环境呢?