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

【STM32WBA52CG评测】 WebApp 控制LED

[复制链接]
BinWin 发布时间:2023-8-20 17:15
       上次提到了ST有提供一个Web平台的APP,可以配合例程进行一些实验。这里就以P2PServer为例展开,也是对计划的小制作的延展。
2 J1 K9 x0 Z: Q; x" h' b+ k        打开例程、编译、烧录这些都不用说,展开工程目录,可以看到如下分组
& C: t6 o5 ?7 i8 ~6 f: i       b.png 4 e7 ~6 `+ e0 H7 D
       已经标记了需要主要关注的地方,从主程序入口可以一步一步挖掘到蓝牙应用函数的地方。通过查看代码,定位了这个程序中对LED控制的代码段,如下/ B. c' x2 U) r
         c.png - a1 y7 Y5 \' U! y" Q
           打开Web App来看下,是什么样子的
, h( u8 w5 L; n; ?: j# r' S            d.png 8 l! L2 Z; s  j1 ^9 {( [
          板卡程序烧录好以后,复位程序,这个时候,就可以用手机或电脑蓝牙搜索板卡的信号了。WEB端的操作是这样的。, S3 k3 w1 N4 j: Z% v' U! W4 p
            e.png 2 x4 a7 }) o; ^& }* A' K
         因为我已经连接过了,所以有配对记录,连接成功后,就可以进入到上一幅图片的操作页面。点击按钮可以打开和关闭板子上的LED,按钮上的字符也会自行改变状态。下面的输入框,输入0x01和0x0也可以打开和关闭LED,这只是WEB UI呈现的不同,实际发送的有效数据内容都是0x01和0x0。到这里,APP控制LED的方法已经很清晰了。修改程序,添加两个指令,留着给RGB灯条的控制使用。程序段如下,是很简单的内容:
" _  d' s' v3 ]) S  O' R3 ^2 ?; ^9 x% l0 u% z9 X3 E
  1.       /* USER CODE BEGIN Service1Char1_WRITE_NO_RESP_EVT */
    9 v3 I4 t) V2 w% ]( c) G& T9 K* q
  2.       if(p_Notification->DataTransfered.p_Payload[1] == 0x01)& Z- o3 `8 R+ o6 {
  3.       {3 n& {) U7 `+ S8 i  y( J
  4.         BSP_LED_On(LED_BLUE);  u" ^' M; _7 U2 g1 V8 P
  5.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 ON\n");
    : ]3 O, h- w8 F" R/ X" }
  6.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x01; /* LED1 ON */0 b! T& H5 A& g+ M
  7.       }
    2 u( Y5 h( h  V9 o. Y
  8.       if(p_Notification->DataTransfered.p_Payload[1] == 0x00)
    * c- {7 y, c" [9 P4 z& [4 _
  9.       {
    - f4 S; Y* J9 u$ I! E  D. ]. g
  10.         BSP_LED_Off(LED_BLUE);  T+ u# u( M, h3 O) _: G
  11.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 OFF\n");
    6 ], [2 @0 W5 T" T7 Y9 S7 [
  12.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x00; /* LED1 OFF */
    3 e8 L6 F$ A% E; Z/ C3 H( b
  13.       }
    " l7 U7 d* I; K) `
  14.                         if(p_Notification->DataTransfered.p_Payload[1] == 0x02)
    ) h' {/ a7 G2 V  X
  15.       {
    0 C7 r& s% Q" P- h' X& i
  16.         BSP_LED_On(LED_RED);7 v0 M. O4 W0 ^" }& G7 M
  17.         APP_DBG_MSG("rgb set 1\n");
    $ u3 Z6 ^3 I5 {- ~/ q7 x
  18.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x02; /* LED1 OFF */+ l2 T* I5 i7 y% l6 R0 k
  19.       }
    & @8 b# C  G% [! ?/ B
  20.                          if(p_Notification->DataTransfered.p_Payload[1] == 0x03)* i) J( n8 U  Y6 [) |- [( T6 P
  21.       {/ j- f8 P0 Y8 M) c; }3 |
  22.         BSP_LED_Off(LED_RED);1 e6 A7 T6 V, O# V
  23.         APP_DBG_MSG("rgb set 2\n"); 7 a5 k% h: e  z7 U- Z7 v
  24.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x03; /* LED1 OFF */" J: i. W. x$ G+ A8 B+ T
  25.       }7 t4 h* [& D! s% @! D! C- L
  26.       /* USER CODE END Service1Char1_WRITE_NO_RESP_EVT */
复制代码
         这样就可以有4条指令来给到板卡了。接下来一步做4种RGB灯条的效果。ST的WIKI资料做的真不错,涵盖了绝大部分内容。7 F) v$ G2 [, A3 L; ?9 \

$ w5 U9 C+ x, q2 Q6 Q( y) X% A! T/ r
赞 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管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版