|
微信公众平台大家应该不陌生,它与硬件的一些结合也有一些案例。
例如:与路由器配合使用。
平台:pc,微信公众平台
pc端程序:c#桌面小程序
虽然还没有涉及到开发板,我只是提供一种可以操控pc(也可以说是一种硬件吧)的一些思路。
流程:第一次使用-》登陆pc端程序,用户向相关微信发送控制命令(获取到id),将id、定时、功能填好并启动软件
,用户再次发送指令即可控制pc。
再次使用时已经保存好了id,无需再次输入。
微信返回页面:
登陆界面:
启动界面:
微信开发模式下的文件:
weixin.php
query.php
pic.php
数据库:
control_weixin、字段:`content`,`type`,`uid` , `mid` , `time`
图片存储地址:
pic
关机指令-》微信(判断,将关机、用户id、消息id、发送时间写进数据库)-》pc端程序一直post数据(id)到query.php获取在最近时间数据库中与id匹配的控制信息(关机),并返回消息id、指令给pc端程序,程序通过判断执行定时关机(发送重启和取消关机类似)
<?php
$db = new SaeMysql();
$str = "SELECT `mid`, `content`, `time` FROM `control_weixin` WHERE `uid` = '%s' ORDER BY `time` DESC LIMIT 1";
$sql = sprintf($str, $_GET['uid']);
$data = $db->getData($sql);
if ($data) {
if ((time() - $data[0]["time"]) <= 100 ) {
echo sprintf('%s,%s', $data[0]["mid"], $data[0]["content"]);
} else {
echo '0,expired';//务必保留,否则无数据返回则会报错!因为客户端没有做多余判断
}
} else {
echo '0,null';//务必保留,否则无数据返回则会报错!因为客户端没有做多余判断
}
?>
屏幕截图指令-》微信(判断,将屏幕截图、用户id、消息id、发送时间写进数据库,返回图片地址(几秒后可以查看))-》pc端程序一直post数据(id)到query.php获取在最近时间数据库中与id匹配的控制信息(屏幕截图),并返回消息id、指令给pc端程序,判断,生成一张截图,将截图发给存储文件pic.php,将图片存储起来,图片链接就是微信返回的图片地址。
<?php
$target_path = SAE_TMP_PATH;
$basename=basename( $_FILES['uploadedfile']['name']);
$domain='pic';
$uuid=md5(uniqid(rand(), true));
$target_path = $target_path.$uuid;
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
} else{
echo "There was an error uploading the file, please try again!";
}
$file_contents= file_get_contents($target_path);
$s = new SaeStorage();
//$filename=$uuid.'/'.$basename;
$filename=$_GET["MsgId"].".jpg";
$s->write($domain, $filename ,$file_contents);
$url=$s->getUrl($domain, $filename );
?>
以上思路根据某贴子加上自己的改进而来。
pc端程序下载地址:http://zhbitwiki-wx.stor.sinaapp.com/WxControl1.0.rar
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|