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

【STM32WBA52CG评测】 WebApp 控制LED

[复制链接]
BinWin 发布时间:2023-8-20 17:15
       上次提到了ST有提供一个Web平台的APP,可以配合例程进行一些实验。这里就以P2PServer为例展开,也是对计划的小制作的延展。
' z0 ?4 `9 X- m& ]; g3 a  f: ^        打开例程、编译、烧录这些都不用说,展开工程目录,可以看到如下分组
6 X" f' T  O( C, ?  }       b.png
: S% P+ O% w% ^5 Y. X, S       已经标记了需要主要关注的地方,从主程序入口可以一步一步挖掘到蓝牙应用函数的地方。通过查看代码,定位了这个程序中对LED控制的代码段,如下
6 [5 `9 m: k- d# I1 O         c.png , T  C' q7 M  R# @
           打开Web App来看下,是什么样子的
7 K* ]- d$ {+ Y6 M& p3 j            d.png
6 {1 R, r8 l1 L1 E          板卡程序烧录好以后,复位程序,这个时候,就可以用手机或电脑蓝牙搜索板卡的信号了。WEB端的操作是这样的。
+ _1 l% u9 H( @  C  g            e.png
. p* ^2 a! e* f$ v2 L$ t         因为我已经连接过了,所以有配对记录,连接成功后,就可以进入到上一幅图片的操作页面。点击按钮可以打开和关闭板子上的LED,按钮上的字符也会自行改变状态。下面的输入框,输入0x01和0x0也可以打开和关闭LED,这只是WEB UI呈现的不同,实际发送的有效数据内容都是0x01和0x0。到这里,APP控制LED的方法已经很清晰了。修改程序,添加两个指令,留着给RGB灯条的控制使用。程序段如下,是很简单的内容:
( Y& {9 S' g7 x/ K* y. K
  Q2 r$ w- O5 q0 [9 M; J4 J; t
  1.       /* USER CODE BEGIN Service1Char1_WRITE_NO_RESP_EVT */
    / E# i8 A1 J7 E$ u/ K
  2.       if(p_Notification->DataTransfered.p_Payload[1] == 0x01)5 g* V5 k# e0 `2 B, T# \8 a. S
  3.       {
    5 H) `7 e5 j/ }+ A+ u' j) h% Z9 H" z8 p
  4.         BSP_LED_On(LED_BLUE);
    $ _' T5 ]8 m- \5 v
  5.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 ON\n");
    ; Y: U% v2 ?4 F" n8 O0 _) Q  A
  6.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x01; /* LED1 ON */5 n0 y7 [9 F. l) V
  7.       }* r! h7 }" {" P& Q7 Q' `+ ?
  8.       if(p_Notification->DataTransfered.p_Payload[1] == 0x00)
    ! R# z5 b5 b5 b
  9.       {1 e3 t+ Y/ w1 @" v& }2 e" W( g3 r
  10.         BSP_LED_Off(LED_BLUE);
    # k& D) K, a) J5 x
  11.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 OFF\n");
    3 A9 \! U- Y, ]+ {3 f2 X+ B8 H
  12.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x00; /* LED1 OFF */1 b' Q( R( a( H: i+ o  [* M
  13.       }
    ; F3 a  {7 [: K
  14.                         if(p_Notification->DataTransfered.p_Payload[1] == 0x02)
    ( n% X$ Y# j" ^8 \& M* m/ f
  15.       {- {8 N0 ^7 ]1 q: a" ]
  16.         BSP_LED_On(LED_RED);( Z& U/ S6 j4 ~( H! U# h8 g) C
  17.         APP_DBG_MSG("rgb set 1\n"); % v3 a2 `$ g2 p+ R
  18.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x02; /* LED1 OFF */
      ]4 T. l8 P2 X- `8 `1 g" t; d8 e
  19.       }, ?; a' f1 c' _' e4 {$ u: A
  20.                          if(p_Notification->DataTransfered.p_Payload[1] == 0x03)8 E0 k6 q; T3 |  n( f5 _1 x. Y
  21.       {
    5 G; z2 z5 z1 o. m- A' D& r" J
  22.         BSP_LED_Off(LED_RED);
    * [3 g( m' \8 `1 r
  23.         APP_DBG_MSG("rgb set 2\n");
    4 @* `6 ^. R0 n. R5 f, L; k: d
  24.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x03; /* LED1 OFF */6 y; F1 I9 n6 a. O- y. z
  25.       }
    ( D1 W4 e0 ~' H
  26.       /* USER CODE END Service1Char1_WRITE_NO_RESP_EVT */
复制代码
         这样就可以有4条指令来给到板卡了。接下来一步做4种RGB灯条的效果。ST的WIKI资料做的真不错,涵盖了绝大部分内容。5 S$ U1 S/ C; `% g* L3 z

( \  b) v5 D+ a6 J
! m5 a3 Q7 k1 l# M8 Y
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 手机版