17355|51

918

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

Web动态显示芯片内核温度 [复制链接]


通过JavaScript周期500ms发送XMLHttpRequest的方式,获取芯片内核温度,不用刷新网页,可以动态显示的一种简单方法。
function gettemp()
{
  var gettemp = false;
function gettempComplete()
{
if(gettemp.readyState == 4)
{
if(gettemp.status == 200)
{
document.getElementById("temp").innerHTML = "
" + gettemp.responseText + "
";
}
}
}
 
 if(window.XMLHttpRequest)
{
gettemp = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
gettemp = new ActiveXObject("Microsoft.XMLHTTP");
}
if(gettemp)
{
gettemp.open("GET", "/gettemp?id=" + Math.random(), true);
gettemp.onreadystatechange = gettempComplete;
gettemp.send(null);
t=setTimeout('gettemp()',500)//这里每隔500ms就调用一次。
}

最新回复

仪表库不错,收藏之  详情 回复 发表于 2012-3-12 16:30
 
点赞 关注

回复
举报

928

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 
有意思。
 
个人签名动手创造个性自我

https://home.eeworld.com.cn/?95709
 

回复

79

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

   有意思!   今天我也自己写了,用ad采样,还有自身带有的温度传感器,测量了芯片的温度

         只要修改网页的javascript  那程序还要修改什么??

 
个人签名机遇总是给有准备的人呢
 
 

回复

79

帖子

0

TA的资源

一粒金砂(中级)

4
 

回复 板凳 flyingbing 的帖子

期待你的回复。
 
个人签名机遇总是给有准备的人呢
 
 

回复

918

帖子

0

TA的资源

纯净的硅(中级)

5
 

回复 4楼 flyingbing 的帖子

呵呵,不错哦。 总体来说有三步: 1.在网页html中要是显示温度的地方放置 DIV标签。如我上边用的“temp”标签,放在了 “当前芯片内核温度的后边”。
  1. 当前芯片内核温度:
  2. -
  3. 摄氏度
复制代码
2.依照上边的例子修改一下JavaScript的代码。主要是名称上要保持一致。 3.最后在lmi_fs.c的fs_open()函数中,添加如下代码,注意名称要和JavaScript中的保持一致。
  1. if(strncmp(name, "/gettemp?id", 11) == 0)
  2. {
  3. static char pcBuf[16];
  4. usprintf(pcBuf, "%d", io_gettemp());
  5. ptFile->data = pcBuf;
  6. ptFile->len = strlen(pcBuf);
  7. ptFile->index = ptFile->len;
  8. ptFile->pextension = NULL;
  9. return(ptFile);
  10. }
复制代码
以上三步,基本上应该就可以了。 [ 本帖最后由 academic 于 2010-11-30 09:01 编辑 ]
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(中级)

6
 
   啦啦  谢谢啦    敬佩
 
个人签名机遇总是给有准备的人呢
 
 

回复

918

帖子

0

TA的资源

纯净的硅(中级)

7
 

回复 6楼 flyingbing 的帖子

它的调用关系是这样的,首先在载入网页后调用gettemp()
,然后gettemp()再调用t=setTimeout('gettemp()',500),然后就每隔500ms浏览器调用gettemp()周期发送get请求。
 
 
 

回复

1万

帖子

16

TA的资源

版主

8
 

强烈要求楼主上原码

 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复

918

帖子

0

TA的资源

纯净的硅(中级)

9
 

 必须要上传源码,只是前阵子觉得这个太简单了。后来一看还是有点意思。当前我片子的温度是43摄氏度,当用手指按住芯片后,会发现有点烫手,且显示的温度立即开始下降。

感兴趣的朋友,可以试试啊。

我发现,使用PLL时 50Mhz,温度在43度左右。

使用OCS8Mhz温度在37度左右。频率降低了6倍,温度也下降了6度,呵呵。

[ 本帖最后由 academic 于 2010-12-13 17:43 编辑 ]

showtemp_web.zip

22.5 KB, 下载次数: 168

这里边是bin文件,下载到8962板上可运行

showtemp_web_src.zip

834.17 KB, 下载次数: 515

这是源码

 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

10
 
楼主你这个程序怎么样呀,能不能用个文档说明一下
 
 
 

回复

918

帖子

0

TA的资源

纯净的硅(中级)

11
 

回复 10楼 lishengqiang 的帖子

程序挺简单的,看看源码就知道了。呵呵,过几天我再写写。

[ 本帖最后由 academic 于 2010-12-15 17:53 编辑 ]
 
 
 

回复

918

帖子

0

TA的资源

纯净的硅(中级)

12
 

还是每隔500ms更新一下,上图显示的芯片温度大概是37度左右吧。

呵呵,再更新一下,做了上面这样的一个温度计,动态显示芯片内核温度。其实,只要JavaScript有一定基础的人就很容易做出来啊。

showtemp_web.zip

61.46 KB, 下载次数: 123

bin文件,感兴趣的朋友,可以试一下。

 
 
 

回复

918

帖子

0

TA的资源

纯净的硅(中级)

13
 

回复 12楼 academic 的帖子

我是在EEWord送的8962试用版做的,IE浏览器打不开,可以试试firefox。

[ 本帖最后由 academic 于 2010-12-15 18:01 编辑 ]
 
 
 

回复

155

帖子

0

TA的资源

一粒金砂(中级)

14
 

不错

学习了,谢谢!!!!
 
个人签名http://www.tdhj.cn
 
 

回复

918

帖子

0

TA的资源

纯净的硅(中级)

15
 

在这里附上我用到的这个JavaScript仪表库,从网上下的,感兴趣的朋友可以看看,它这个库里边JavaScript比较复杂,但是用起来却很容易,

里边还有两个应用的例子,我把它和我前几天的那个结合起来,就做出了上面这个温度计。

一般的浏览器可能打不开,试试Firefox。

源程序基本上没变,只是把网页代码改变了。

在原来的工程文件夹下创建了一个webs文件夹

bindows_gauges中的内容保持不变,

将Gauges文件夹下只留下g_vertical_01.xml文件。

 

 

[ 本帖最后由 academic 于 2010-12-16 08:35 编辑 ]

bindows_free_gauges_11_beta3.zip

61.42 KB, 下载次数: 94

 
 
 

回复

155

帖子

0

TA的资源

一粒金砂(中级)

16
 

按照说明配置温度没有显示???

academic:你好!能否帮助看看源代码哪里出问题了?
 
个人签名http://www.tdhj.cn
 
 

回复

918

帖子

0

TA的资源

纯净的硅(中级)

17
 
<P>这个是整个index.html文件,简单吧。</P> <P><html><BR>&nbsp;<head><BR>&nbsp;<title>温度显示</title><BR>&nbsp;<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></P> <P>&nbsp;<!-- Import the bindows gauges javascriptpackage --><BR>&nbsp;</P> <P>&nbsp;</head><BR>&nbsp;<body></P> <P>&nbsp;<!-- Create a div to hold the gauge --><BR>&nbsp;<div id="gaugeDiv" style="width: 400; height: 400" ></div></P> <P>&nbsp;<script type="text/javascript"></P> <P>&nbsp;&nbsp;// Load the gauge into the div<BR>&nbsp;&nbsp;var gauge = bindows.loadGaugeIntoDiv("gauges/g_vertical_01.xml", "gaugeDiv");</P> <P>&nbsp;&nbsp;var interval = 500;<BR>&nbsp;&nbsp;function updateGauge() {<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;function gettempComplete()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(gettemp.readyState == 4)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(gettemp.status == 200)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gauge.needle.setValue(parseInt(gettemp.responseText,10));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp; if(window.XMLHttpRequest)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gettemp = new XMLHttpRequest();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else if(window.ActiveXObject)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gettemp = new ActiveXObject("Microsoft.XMLHTTP");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(gettemp)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gettemp.open("GET", "/gettemp?id=" + Math.random(), true);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gettemp.onreadystatechange = gettempComplete;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gettemp.send(null);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;</P> <P>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;setInterval(updateGauge, interval);</P> <P>&nbsp;</script><BR>&nbsp;</body><BR>&nbsp;</html></P> <P>&nbsp;</P> <P>这里我没有使用最开始用的setTimeout(),而是setInterval(updateGauge, interval);它们俩功能差不多,我觉得后者更好一些。</P> <P>webs文件夹我也打包奉献,里边有这个文件。</P> <P>可以复制一个makefsfile到工程文件目录下,如上边的我的是showtemp_web</P> <P>DOS环境下进入到makefsfile所在的目录:</P> <P>输入,makefsfile -i webs -o io_fsdata.h -h -r 回车</P> <P>即可转换网页文件,这个由于插入的javaScript库比较多,所以生成的网页数据比较大,也可以不采用这种方法,把网页数据都放到SD卡中,就不用转换网页文件了。不过如果有JavaScript高手能够对这个库简化一下,更好。</P> <P>编译,下载。之后即可。</P> <P>&nbsp;</P> [ 本帖最后由 academic 于 2010-12-16 08:51 编辑 ]

webs.zip

40.82 KB, 下载次数: 104

 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

18
 
请问下楼主,你给的这个程序,我怎么样才能下到板子上啊,用的什么编译环境呀,没看到可执行文件啊
 
 
 

回复

918

帖子

0

TA的资源

纯净的硅(中级)

19
 

回复 18楼 lishengqiang 的帖子

bin文件在12楼,用的Keil环境,可以用LM Flash Programer下载啊。
 
 
 

回复

155

帖子

0

TA的资源

一粒金砂(中级)

20
 

已经跑起来了

学习,谢谢!

[ 本帖最后由 bjmonsoon 于 2010-12-17 08:42 编辑 ]

QQ截图未命名.jpg (10.51 KB, 下载次数: 0)

QQ截图未命名.jpg
 
个人签名http://www.tdhj.cn
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表