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

【STM32WBA52CG评测】 WebApp 控制LED

[复制链接]
BinWin 发布时间:2023-8-20 17:15
       上次提到了ST有提供一个Web平台的APP,可以配合例程进行一些实验。这里就以P2PServer为例展开,也是对计划的小制作的延展。" ]$ W3 g- c  {1 G/ O5 P5 r
        打开例程、编译、烧录这些都不用说,展开工程目录,可以看到如下分组
9 j# V1 w! l- K' n" ]: M  ^* e/ P       b.png ' a  h2 a( ~! w9 w, \
       已经标记了需要主要关注的地方,从主程序入口可以一步一步挖掘到蓝牙应用函数的地方。通过查看代码,定位了这个程序中对LED控制的代码段,如下
( F  K9 t" H4 I  }6 F9 V         c.png 0 ~3 Q1 i9 K& }, y3 r( g
           打开Web App来看下,是什么样子的
+ N6 }! b# W6 P/ O% u            d.png
4 E1 N. N8 Z: b. C          板卡程序烧录好以后,复位程序,这个时候,就可以用手机或电脑蓝牙搜索板卡的信号了。WEB端的操作是这样的。* Y3 F; ?. Z- s
            e.png
. ?: P& Y2 p" w/ ~$ ^         因为我已经连接过了,所以有配对记录,连接成功后,就可以进入到上一幅图片的操作页面。点击按钮可以打开和关闭板子上的LED,按钮上的字符也会自行改变状态。下面的输入框,输入0x01和0x0也可以打开和关闭LED,这只是WEB UI呈现的不同,实际发送的有效数据内容都是0x01和0x0。到这里,APP控制LED的方法已经很清晰了。修改程序,添加两个指令,留着给RGB灯条的控制使用。程序段如下,是很简单的内容:
9 X) A2 w4 Z1 d" ^6 o; U9 O' g# R: p  \" f, |* Y
  1.       /* USER CODE BEGIN Service1Char1_WRITE_NO_RESP_EVT */
      d3 m" x/ W$ n- i# ^3 |6 `
  2.       if(p_Notification->DataTransfered.p_Payload[1] == 0x01)
    - s, m5 ^# ~# `
  3.       {0 Z" R/ {. l* k; d- S4 o
  4.         BSP_LED_On(LED_BLUE);
    " y. J8 @* B6 h( s2 C
  5.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 ON\n");
    : U  p* S0 ~( j0 K
  6.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x01; /* LED1 ON */
    - S4 r" b" f4 y6 G& y
  7.       }
      N) W5 A7 p7 _4 H& X
  8.       if(p_Notification->DataTransfered.p_Payload[1] == 0x00)4 V, O8 L( o) `- `8 o
  9.       {
    # z& \  `- Z/ `  P" m
  10.         BSP_LED_Off(LED_BLUE);
    , P; y7 O& p  O; e5 w" M
  11.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 OFF\n");
    + N9 s( N5 F" W4 j! J; p9 R
  12.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x00; /* LED1 OFF */5 \6 o- G% A/ e1 r  @
  13.       }1 r+ m6 w+ {% _* ~5 C
  14.                         if(p_Notification->DataTransfered.p_Payload[1] == 0x02)
    # T1 v3 O9 V+ J& X: N- c
  15.       {3 ^2 J( u) l: `, g
  16.         BSP_LED_On(LED_RED);  k. R+ Q  x" w
  17.         APP_DBG_MSG("rgb set 1\n"); / x$ L! n  V" w* y/ M
  18.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x02; /* LED1 OFF */
    * @0 z! |  @; ]( t9 t
  19.       }
    ( t# q: ~' l0 g' ~
  20.                          if(p_Notification->DataTransfered.p_Payload[1] == 0x03)
    - d# ^; u0 ~& W7 J4 ^9 |$ U
  21.       {/ \, h$ l% B  c6 o9 i2 f
  22.         BSP_LED_Off(LED_RED);1 s$ D! p6 W2 _
  23.         APP_DBG_MSG("rgb set 2\n"); # o: F9 ^' F  P- N/ @
  24.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x03; /* LED1 OFF */
    , `( F2 V" x+ z( @
  25.       }& F- \2 m, u- e" {/ ~. G( r
  26.       /* USER CODE END Service1Char1_WRITE_NO_RESP_EVT */
复制代码
         这样就可以有4条指令来给到板卡了。接下来一步做4种RGB灯条的效果。ST的WIKI资料做的真不错,涵盖了绝大部分内容。
- I" f& K: }; E  E; {2 M8 T6 o% e4 w8 N2 g. z& Q% _' O1 S- N
, B/ L* o* u5 J7 C: I. e! [6 v
1 收藏 评论4 发布时间:2023-8-20 17:15

举报

4个回答
Yude 回答时间:2023-8-21 14:31:13

厉害,还有下一集吗?

STMWoodData 回答时间:2023-8-29 09:02:35

学习学习蓝牙

qintian0303 回答时间:2023-8-29 09:44:13

学习学习

无极考拉 回答时间:2023-8-29 13:06:44

学习一下

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