你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

网络温度监控设计

[复制链接]
mtg 发布时间:2014-11-15 14:09
本帖最后由 l854166013 于 2014-11-15 14:18 编辑 $ ~% t: I$ l! ?( I  z: w

! T! [" r( d; U" b  该设计使用STM32F103RC对芯片内部温度进行转换并通过串口输出,本人经过各种查资料使用VS2010自己编写了一个简单的串口数据接收应用程序,该程序在接收到串口的温度过后同时在为该温度记录一个时间点并保存到一个txt文件中。浏览器则每隔2秒中定时向服务器请求数据,而服务器则读取txt文件的数据并返回给浏览器。  浏览器使用EXTJS编写,串口数据接收和服务器使用C#编写。视频演示:http://www.tudou.com/programs/view/pSgeUkYjc0I/8 v; D% k8 j- \, s. D

" o% y2 Q# T  X- V* z! U/ s* G5 I: s1 |) @8 P, z3 f) H2 h% V

/ |  V! t2 i7 v4 `6 H; e9 a9 S# l
6 ~) x& f2 ?$ [6 y
ADC接收发送.png
2014-11-15_134059.png

浏览器切图

浏览器切图

浏览器切图

浏览器切图

adc初始化

adc初始化
演示图.png
收藏 评论2 发布时间:2014-11-15 14:09

举报

2个回答
小丁^_^ 回答时间:2014-11-15 22:19:39
浏览器显示波形是怎么做的,感觉很不错啊
mtg 回答时间:2014-11-16 18:17:01
小丁^_^ 发表于 2014-11-15 22:19
& F3 u. w/ `1 q5 B浏览器显示波形是怎么做的,感觉很不错啊
  {) v8 C2 I7 Y* Z3 K
网页显示是使用的ExtJs,用这个做波形图就简单的像是在office上做波形图一样,只是默认的比较丑,优化界面的时候加一些代码而已。
$ s' M$ G/ L$ \' ?* Y
  1. Ext.onReady(function () {) P0 g1 ^* q7 U2 J. N
  2.         var runner = new Ext.util.TaskRunner();
    2 z2 a2 \% u0 A' D
  3.         Ext.define('User',{
    ! o; n9 g, V0 t& f& }6 }6 T- {8 Y
  4.            extend:'Ext.data.Model',- C6 w/ Q5 s& h  C
  5.            fields:['Tmp','Tim']
    ) t5 G* O% o4 s& Z9 Y2 \
  6.         });
    8 @7 |0 r: G0 \; q: `' {
  7.         store=Ext.create('Ext.data.Store',{
      g5 o. t0 F2 r
  8.           model:'User',1 N& a7 y& R4 S6 b
  9.           autoLoad:true,
    , I% p- o; d& ~' @
  10.           proxy:{2 i, A' S4 k8 c- X9 x9 E4 A+ G7 O' E
  11.             type:'ajax',7 G- q% w7 V1 S
  12.             url: 'http://127.0.0.1:8080/ServiceRelease/text/?token=hu/v7ky8RTzYlYJrNZGUr+7jhP8Tl0md',
    # f1 ~" A% J3 B$ y% l4 u5 O, D
  13.            reader:{; T( A% J( U3 x
  14.                root:'data'; w3 X% e1 V" o4 A0 T5 Y
  15.             }
    8 Z1 X5 O( d6 v3 e. P
  16.           }. _9 _2 j  W$ p+ a2 z  H6 o& s
  17.         });4 }+ j8 M2 w' t: w& j$ E
  18.         
    7 Z2 p9 L6 `# V/ a
  19. var b1 = Ext.create("Ext.Window",{
    * }) Y) ]1 e& g
  20.         width:600,3 ?: K6 C" B" T4 E4 B
  21.         height:500,
    0 y( i' _/ ^2 |4 p4 k
  22.         title:'芯片内部温度图',
    1 a5 _5 T5 ^# D( K
  23.         shadow:false,
    ' L% C8 q$ x" ~7 s. T) }
  24.         maximizable:true,
    8 }$ m/ v; b& B( z5 @
  25.         layout:'fit',
    7 K' w9 @2 d! z- i* X7 P
  26.         items:[{
    0 J' o2 F$ E0 R! ~! H9 t
  27.                 xtype:'chart',4 R1 Z, q  Y! `: o+ Q5 |' c
  28.                 style:'background:#fff',//控制背景颜色
    1 o! P5 D+ u* H
  29.                 animate :true,//运行动画- }2 K, ]: ?" _" x& X# l( F" R
  30.                 shadow : true,5 t# _. x2 N+ i& V
  31.                 theme:"Category1",//皮肤
    8 k# C. x6 ^: |
  32.                 store:store,! ^! {9 l) w8 F3 O/ {3 p+ C$ {
  33.         axes:[{
    1 M4 r6 t  k! }' x& ]/ r- y
  34.                 type:'Numeric',
    3 S5 P! |- ~$ B% s: m& X) g/ @) c7 r1 L
  35.                 position:'left',//放置到左边
    7 \5 D) O$ a0 y
  36.                 dashSize:5,//引导线的宽度设置, A# J! y. c& ~% N
  37.                 title:'温度曲线(TM)',
      L" {  m# R, |  m
  38.                 fields:['Tmp'],//显示的数据索引
    $ T3 v7 v$ v. J2 @/ n& v# B7 x& h
  39.                 majorTickSteps:5,
    ' [9 _( V4 f6 Y+ X* s3 M$ s, ?
  40.                 minorTickSteps:6,( p  T' W% e% t( ~2 u
  41.                 grid:{% }9 C/ U- E, p! H' F/ M7 N% `
  42.                         odd:{//奇数行
    0 Z- M  A" y7 `5 u% I
  43.                                 opacity:1,//不透明5 `/ q/ W; T# C* f8 S$ q! T( ^
  44.                                 'stroke-width':0.5//表格线宽5 ~# `* Y2 \6 g! Z( S* d
  45.                         },. P. ?5 B! `6 M9 }3 J& e
  46.                         even:{//偶数行
    & A! [0 F2 Q7 i
  47.                                 opacity:1,//不透明- Z5 u  w! @- Q& n$ r2 N
  48.                                 stroke:'#DDD',2 |/ m2 e' e% [( h3 a7 ~6 c
  49.                                 'stroke-width':0.5//表格线宽
    1 L- k/ }* h: b9 o
  50.                         }
    ( M1 P/ }4 s9 T; s# ~5 l0 h
  51.                 }
    ' w/ _5 q  {# T) y* ~, G
  52.         },{
    ; N" Q8 X6 }- r' f! C% J' a* e
  53.                 type:'Category',  _: f' k* _" {% w
  54.                 position:'bottom',
    7 W6 B0 Y- @" O+ g5 |/ i
  55.                 fields:['Tim'],) I4 I( D7 t+ \  j& V! |
  56.                 title:'时间',+ X" [# Y  A, j( }1 i1 K8 {5 n
  57.                 grid:true; q  {9 \/ U" c0 Q
  58.         }],//轴/ @- O% a% W3 W, Z' N
  59.         series:[{
    % z9 X1 b3 B! l/ _( p+ i
  60.                 type:'line',
    6 j0 P' {* ?) v6 n
  61.                 axis:'left',
    ! Q4 W' Q6 y+ W5 c7 z
  62.                        xField: 'Tim',- t# q8 N$ z% [0 j# n
  63.                 yField: 'Tmp',; x8 |; k) T: j& ~0 \* i6 Z7 i
  64.                 highlight:true,6 T; m4 `# R7 R8 j" P* s
  65.                 tips:{
    . Q/ ]/ h" W6 c$ k6 _& P' c
  66.                           trackMouse: true,
    ) B5 N/ r# l2 ~+ e2 S+ \2 i
  67.                           width: 240,
    3 U1 w4 u5 v6 G% d+ x# B  u
  68.                           height: 28,/ q  t6 L1 |) ]8 l. G: B
  69.                           renderer: function(storeItem, item) {
    1 j2 j' Z( w( T$ G
  70.                             this.setTitle('在'+storeItem.get('Tim') + '温度是: ' +9 f6 j2 J3 O, D: ]! R' @
  71.                             storeItem.get('Tmp') + '摄氏度');# k! B5 f/ \/ Z6 a- Q0 H- G
  72.                           }
    0 ~0 e& }! M4 }' w( n
  73.                 }
    - }! B2 _0 g; n. a# x7 r8 w
  74.         }]//序列: I: v& G( t! w( r/ r! H& e
  75.         }], @8 ~5 B% J' V/ i) [
  76. }).show();      
    ) f' ^( `. ^. I- x7 ^/ r7 o
  77.         ( x1 N% n/ c7 j( ?$ K
  78.      var task = {
    # g. n% w1 N( D/ B4 o0 w
  79.                             run: function(){store.reload(); . b( {* M2 @1 {, w, g" y
  80.                             },
    . q! @0 ], V1 A/ A( D7 K
  81.                             interval: 1000 //1 second. L# M- s1 p+ s2 r
  82.                         };& f* q9 ?8 P' M
  83.                 runner.start(task);5 G6 G; m6 R$ G! [& n
  84.         9 k. ?" E2 ]6 M! N5 o* t. O
  85.     });
复制代码

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版