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

【STM32WBA52CG评测】 WebApp 控制LED

[复制链接]
BinWin 发布时间:2023-8-20 17:15
       上次提到了ST有提供一个Web平台的APP,可以配合例程进行一些实验。这里就以P2PServer为例展开,也是对计划的小制作的延展。5 m: K  R, N" X7 r2 @9 ^1 x& A
        打开例程、编译、烧录这些都不用说,展开工程目录,可以看到如下分组
4 Q- ?! ?  }3 n6 s$ n* A       b.png
; s1 K/ h$ ]$ S! J2 [# N       已经标记了需要主要关注的地方,从主程序入口可以一步一步挖掘到蓝牙应用函数的地方。通过查看代码,定位了这个程序中对LED控制的代码段,如下( D) ~7 e( h  |
         c.png - u. c& h2 K: q- J
           打开Web App来看下,是什么样子的7 {5 ~% I. Z- O
            d.png
8 |: z- P% T- X! N" P          板卡程序烧录好以后,复位程序,这个时候,就可以用手机或电脑蓝牙搜索板卡的信号了。WEB端的操作是这样的。
/ y( q8 a2 j  v/ K3 v# }8 k' ]            e.png $ [. O- A: I* `+ v& ~5 D
         因为我已经连接过了,所以有配对记录,连接成功后,就可以进入到上一幅图片的操作页面。点击按钮可以打开和关闭板子上的LED,按钮上的字符也会自行改变状态。下面的输入框,输入0x01和0x0也可以打开和关闭LED,这只是WEB UI呈现的不同,实际发送的有效数据内容都是0x01和0x0。到这里,APP控制LED的方法已经很清晰了。修改程序,添加两个指令,留着给RGB灯条的控制使用。程序段如下,是很简单的内容:$ e: R+ j+ T  k7 O* M, d

+ f; V6 T1 Y, `  @3 d3 i
  1.       /* USER CODE BEGIN Service1Char1_WRITE_NO_RESP_EVT */
    % A- {  c8 ~8 f% z
  2.       if(p_Notification->DataTransfered.p_Payload[1] == 0x01)
    ( v* o2 P2 F) |( P+ C
  3.       {
    ' L3 i! g/ u6 G5 _
  4.         BSP_LED_On(LED_BLUE);+ h& b, u8 G6 I; H; N
  5.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 ON\n"); ( G7 ]) W: R6 [! P
  6.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x01; /* LED1 ON */
    9 o8 y5 m( J. }+ u& C7 S8 \
  7.       }
    : h: w; D& F5 m% t. |
  8.       if(p_Notification->DataTransfered.p_Payload[1] == 0x00)
    5 u+ o/ j, k- V( E) a; v
  9.       {8 M) i$ n- O/ z: p- |
  10.         BSP_LED_Off(LED_BLUE);
    / B4 d6 L& P4 t1 Y5 g
  11.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 OFF\n"); $ ]* ~+ A* V  \2 T' }+ `9 A
  12.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x00; /* LED1 OFF */- R- c% ^7 i4 }( [" n% ]1 f: b
  13.       }' p( a% ^2 h+ f7 @& T( ^& e6 a: @
  14.                         if(p_Notification->DataTransfered.p_Payload[1] == 0x02)
    3 X; H+ X0 c* i, I- j4 H
  15.       {; \2 k% a! M! M& n3 S% b
  16.         BSP_LED_On(LED_RED);
      E0 q, @! p# P( a
  17.         APP_DBG_MSG("rgb set 1\n");
    9 o, _' ~. R$ P( x5 |3 N% _# Z
  18.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x02; /* LED1 OFF */  K+ g# M1 k1 s9 ~6 f
  19.       }
    3 ?1 G$ Q3 k3 x: A9 k
  20.                          if(p_Notification->DataTransfered.p_Payload[1] == 0x03)
      N/ K: J7 c! ]/ }
  21.       {
    1 B- s& Z' i+ {
  22.         BSP_LED_Off(LED_RED);! T, Y, S7 D9 T: X9 Y; c
  23.         APP_DBG_MSG("rgb set 2\n"); % y. T& R$ P4 q$ ~1 M) G1 n$ v
  24.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x03; /* LED1 OFF */3 i( x* }' A0 c( s. H! t
  25.       }
    1 }5 C# Q5 m- G, [/ i3 o8 k
  26.       /* USER CODE END Service1Char1_WRITE_NO_RESP_EVT */
复制代码
         这样就可以有4条指令来给到板卡了。接下来一步做4种RGB灯条的效果。ST的WIKI资料做的真不错,涵盖了绝大部分内容。. \; @' w7 z: n+ n) _
# }* W3 U# q, u2 f$ U+ `2 W4 {

0 A) j  G+ [- {7 T1 l
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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版