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

【STM32WBA52CG评测】 WebApp 控制LED

[复制链接]
BinWin 发布时间:2023-8-20 17:15
       上次提到了ST有提供一个Web平台的APP,可以配合例程进行一些实验。这里就以P2PServer为例展开,也是对计划的小制作的延展。3 `5 A9 w) |0 Q) A# V
        打开例程、编译、烧录这些都不用说,展开工程目录,可以看到如下分组
# _$ w1 ?+ z$ _       b.png
8 s! z- m/ n1 n, j* s$ H* Y& v% X       已经标记了需要主要关注的地方,从主程序入口可以一步一步挖掘到蓝牙应用函数的地方。通过查看代码,定位了这个程序中对LED控制的代码段,如下
& R  \5 |. W# W1 i* Z  v, _. ]         c.png
, ^: h/ R% a# R           打开Web App来看下,是什么样子的; }$ ^9 v( }' o6 h$ p0 P6 E8 P! H
            d.png
  g: a% H5 |6 u% X          板卡程序烧录好以后,复位程序,这个时候,就可以用手机或电脑蓝牙搜索板卡的信号了。WEB端的操作是这样的。& s* L) l7 B1 Q( M
            e.png
) b+ S, U" a0 C7 q! b0 R% W         因为我已经连接过了,所以有配对记录,连接成功后,就可以进入到上一幅图片的操作页面。点击按钮可以打开和关闭板子上的LED,按钮上的字符也会自行改变状态。下面的输入框,输入0x01和0x0也可以打开和关闭LED,这只是WEB UI呈现的不同,实际发送的有效数据内容都是0x01和0x0。到这里,APP控制LED的方法已经很清晰了。修改程序,添加两个指令,留着给RGB灯条的控制使用。程序段如下,是很简单的内容:8 d" O6 n3 P# S8 B) C
( P- Q! T" J5 v
  1.       /* USER CODE BEGIN Service1Char1_WRITE_NO_RESP_EVT */4 ?4 E) N# u0 I+ O
  2.       if(p_Notification->DataTransfered.p_Payload[1] == 0x01)
    8 C  C( @) o# v0 o) M
  3.       {
    & g% g9 e+ m9 D' |& k; E( V
  4.         BSP_LED_On(LED_BLUE);! {: x2 U7 Y3 c- R$ d
  5.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 ON\n");
    ' Q& \: L2 }. I9 u' w& N
  6.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x01; /* LED1 ON */
    . k8 ]$ @  H2 Z: s* t- R
  7.       }
    4 z2 H) C7 I, e; {6 p+ }; t
  8.       if(p_Notification->DataTransfered.p_Payload[1] == 0x00)
    3 n! |# L7 Y7 p( \3 f
  9.       {4 _2 \' U: K) l4 k0 t% v/ O" `
  10.         BSP_LED_Off(LED_BLUE);7 Z7 K( i; `1 G( E4 }: ]& ~
  11.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 OFF\n");
    2 J7 P8 l' ^, z  z* s) I
  12.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x00; /* LED1 OFF */
    1 J' A+ O) Z/ u; b* J8 z2 j- ~
  13.       }/ a4 S# ~' n+ b  D9 I3 y
  14.                         if(p_Notification->DataTransfered.p_Payload[1] == 0x02)
    ) z3 e  _  z  ]8 f7 i8 {
  15.       {
    ! p" x9 _+ s: Z2 m, L
  16.         BSP_LED_On(LED_RED);0 E  x! _- D3 R0 _
  17.         APP_DBG_MSG("rgb set 1\n");
    ) H! D' Z$ L, E3 Z( q" k/ N. B
  18.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x02; /* LED1 OFF */
    2 n# Y- P7 D  z' p1 S4 Q
  19.       }
      {$ d( |. p: K4 ?
  20.                          if(p_Notification->DataTransfered.p_Payload[1] == 0x03)
    . a# R- U1 X" _7 ~: |& \
  21.       {. Y& Z# M2 Z) v3 K
  22.         BSP_LED_Off(LED_RED);  Q$ Y6 w. I" [# G5 q
  23.         APP_DBG_MSG("rgb set 2\n"); 6 `5 S$ H0 ^% \0 ^, }  d; r
  24.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x03; /* LED1 OFF */
    ( Q/ l$ S4 i9 ^) T1 g' }' x
  25.       }
    / j2 k- M! I% l" Y4 k
  26.       /* USER CODE END Service1Char1_WRITE_NO_RESP_EVT */
复制代码
         这样就可以有4条指令来给到板卡了。接下来一步做4种RGB灯条的效果。ST的WIKI资料做的真不错,涵盖了绝大部分内容。6 Z$ P2 i, f( r3 f3 N

, w. A) l" P$ J0 N) U! }
9 l! }- l, P: T( F& d/ W# h; {
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 手机版