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

【STM32WBA52CG评测】 WebApp 控制LED

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

2 Z# N1 R+ n1 r
  1.       /* USER CODE BEGIN Service1Char1_WRITE_NO_RESP_EVT */
    9 q. k3 k4 W4 a1 T: |0 Y
  2.       if(p_Notification->DataTransfered.p_Payload[1] == 0x01)* H  e1 m/ E' @9 }# U' G* F% y
  3.       {
    / B7 @3 O1 H6 ]
  4.         BSP_LED_On(LED_BLUE);9 P, }, ^6 ?; f
  5.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 ON\n");
    4 F4 s4 a1 n# Q, M3 R: _
  6.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x01; /* LED1 ON */
    1 a! r4 g; c% a* Y  }
  7.       }
    . r% H" ^" v1 n) R( {" J/ O6 H
  8.       if(p_Notification->DataTransfered.p_Payload[1] == 0x00)$ t4 J! f. v  P1 x; p+ K
  9.       {3 x8 h2 I. A# P& _) t: t8 g! W
  10.         BSP_LED_Off(LED_BLUE);- t5 O2 L; N  ?
  11.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 OFF\n");
    4 i# A8 Y8 F4 Z  q: z! e7 d
  12.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x00; /* LED1 OFF */
    ' l/ g' U1 {6 k9 g6 ?# C  V. {
  13.       }
    ) ?$ K0 u% b' t( I4 E' I. x, [0 ]
  14.                         if(p_Notification->DataTransfered.p_Payload[1] == 0x02)9 R( W5 y) C5 C
  15.       {; w4 _( Y6 a5 Z& j. g1 y
  16.         BSP_LED_On(LED_RED);
    7 l, F  r0 p1 V5 [5 u
  17.         APP_DBG_MSG("rgb set 1\n");
    1 R) p1 J) b! ^. x
  18.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x02; /* LED1 OFF */8 Y4 B# |$ q5 c/ c+ F
  19.       }& U$ m' z* b  G
  20.                          if(p_Notification->DataTransfered.p_Payload[1] == 0x03)8 h* j4 w; w7 p5 Q4 x" Q
  21.       {: P; ^  C) \* O
  22.         BSP_LED_Off(LED_RED);
    9 F& I# I. R* G3 ]
  23.         APP_DBG_MSG("rgb set 2\n");
    : J9 f6 L& h& N, U8 u5 {3 l
  24.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x03; /* LED1 OFF */
    1 z/ M( V. r; a* L/ f
  25.       }
    # n$ p% V# _# E
  26.       /* USER CODE END Service1Char1_WRITE_NO_RESP_EVT */
复制代码
         这样就可以有4条指令来给到板卡了。接下来一步做4种RGB灯条的效果。ST的WIKI资料做的真不错,涵盖了绝大部分内容。
, L$ N- r& @" r
+ n( A$ h* Z, u* m5 s" T! d& P8 k6 D  D
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 手机版