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

【STM32WBA52CG评测】 WebApp 控制LED

[复制链接]
BinWin 发布时间:2023-8-20 17:15
       上次提到了ST有提供一个Web平台的APP,可以配合例程进行一些实验。这里就以P2PServer为例展开,也是对计划的小制作的延展。
. N- h/ ?' i+ b1 Z: |        打开例程、编译、烧录这些都不用说,展开工程目录,可以看到如下分组
/ V  p. e, ?# S       b.png
5 e2 c) c( ?& y7 l3 l       已经标记了需要主要关注的地方,从主程序入口可以一步一步挖掘到蓝牙应用函数的地方。通过查看代码,定位了这个程序中对LED控制的代码段,如下8 b: D4 r2 m. c; X/ x; M
         c.png
8 T7 P5 x+ r9 z/ N! M' }+ c2 \           打开Web App来看下,是什么样子的
! v0 B  w# b: z+ g( k            d.png 8 I; Z( p8 X0 Q5 Q. g# o, v
          板卡程序烧录好以后,复位程序,这个时候,就可以用手机或电脑蓝牙搜索板卡的信号了。WEB端的操作是这样的。2 g; x1 d" R1 B0 A0 |
            e.png
  |! T' J6 F2 J5 Z% y5 c6 p         因为我已经连接过了,所以有配对记录,连接成功后,就可以进入到上一幅图片的操作页面。点击按钮可以打开和关闭板子上的LED,按钮上的字符也会自行改变状态。下面的输入框,输入0x01和0x0也可以打开和关闭LED,这只是WEB UI呈现的不同,实际发送的有效数据内容都是0x01和0x0。到这里,APP控制LED的方法已经很清晰了。修改程序,添加两个指令,留着给RGB灯条的控制使用。程序段如下,是很简单的内容:
9 F! J- z' X% U8 ~. @: }( }: a" v4 [: Z
  1.       /* USER CODE BEGIN Service1Char1_WRITE_NO_RESP_EVT */
    & T# G6 N5 `+ S& D. j  q
  2.       if(p_Notification->DataTransfered.p_Payload[1] == 0x01). n' e( _: w) Q* v( W6 C
  3.       {! B* P7 ?& n/ h! W1 F
  4.         BSP_LED_On(LED_BLUE);
    $ n* w2 p$ W/ q2 m& r2 A! r
  5.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 ON\n"); + [* U0 t) D5 {
  6.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x01; /* LED1 ON */
    4 R0 F) a- r0 T6 h4 X6 R
  7.       }
    9 d/ B- {/ K, {. i# o+ d: Z" p
  8.       if(p_Notification->DataTransfered.p_Payload[1] == 0x00)) ^1 i- O6 q% x3 z5 U9 y  R
  9.       {$ h: I0 ~4 ~, S) K2 F7 Z
  10.         BSP_LED_Off(LED_BLUE);1 |4 Y; D' t, [" R
  11.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 OFF\n"); 9 j4 y# ~6 j; u* ]  X
  12.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x00; /* LED1 OFF */. U# w2 Q. n2 O. q% K3 J
  13.       }# J: e9 F6 `/ M
  14.                         if(p_Notification->DataTransfered.p_Payload[1] == 0x02)
    8 H+ u, J) D9 A/ }1 k) Q/ ]
  15.       {5 p" W4 U- C+ x# l1 E# E
  16.         BSP_LED_On(LED_RED);
    ! o) z. p; F$ z8 U3 `
  17.         APP_DBG_MSG("rgb set 1\n"); % o' x1 e. B9 l, z8 ~
  18.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x02; /* LED1 OFF */3 ^( [$ q- q5 \% m5 X% N3 L
  19.       }
    " z) R; E: Z9 E$ s0 a6 U+ h$ X  x
  20.                          if(p_Notification->DataTransfered.p_Payload[1] == 0x03)+ A# P) w+ D  F
  21.       {2 h/ {) l2 A* U/ c' T
  22.         BSP_LED_Off(LED_RED);
      C) b# e4 M! H8 K
  23.         APP_DBG_MSG("rgb set 2\n");
    ' q6 M( O' P. G1 d7 Z- x- c
  24.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x03; /* LED1 OFF */
    7 b2 k; N) v5 f; Y
  25.       }
    ( x* l3 |" k9 j' s# x
  26.       /* USER CODE END Service1Char1_WRITE_NO_RESP_EVT */
复制代码
         这样就可以有4条指令来给到板卡了。接下来一步做4种RGB灯条的效果。ST的WIKI资料做的真不错,涵盖了绝大部分内容。3 b0 M2 y6 d% x- J4 }! V( n
5 r% k$ ~1 z2 [0 X$ `) \

' L9 H3 u6 R/ b
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 手机版