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

【STM32WBA52CG评测】 WebApp 控制LED

[复制链接]
BinWin 发布时间:2023-8-20 17:15
       上次提到了ST有提供一个Web平台的APP,可以配合例程进行一些实验。这里就以P2PServer为例展开,也是对计划的小制作的延展。
1 y$ ~3 i( H3 z7 z        打开例程、编译、烧录这些都不用说,展开工程目录,可以看到如下分组
" a( u: X6 M* Y) A6 B# _       b.png ( X/ T3 C8 ~: n# ?5 w2 j* u7 r, E0 N( c
       已经标记了需要主要关注的地方,从主程序入口可以一步一步挖掘到蓝牙应用函数的地方。通过查看代码,定位了这个程序中对LED控制的代码段,如下
" p7 U" H. q, \( t3 M% e" T, [8 t         c.png
* ]: S4 f, k* V% l. G. a, M$ t           打开Web App来看下,是什么样子的2 C$ e! L3 L) S9 I' [
            d.png
1 c- C1 W( E: @4 ~0 ?          板卡程序烧录好以后,复位程序,这个时候,就可以用手机或电脑蓝牙搜索板卡的信号了。WEB端的操作是这样的。
; H/ R, _% _0 q1 }& ^" c            e.png
- O7 D4 L9 h( M0 k) X3 W9 u- O         因为我已经连接过了,所以有配对记录,连接成功后,就可以进入到上一幅图片的操作页面。点击按钮可以打开和关闭板子上的LED,按钮上的字符也会自行改变状态。下面的输入框,输入0x01和0x0也可以打开和关闭LED,这只是WEB UI呈现的不同,实际发送的有效数据内容都是0x01和0x0。到这里,APP控制LED的方法已经很清晰了。修改程序,添加两个指令,留着给RGB灯条的控制使用。程序段如下,是很简单的内容:- I* {0 C' ^8 x3 M
" C" q/ s' W% |1 [, m
  1.       /* USER CODE BEGIN Service1Char1_WRITE_NO_RESP_EVT */: Y. t  d! t! f4 M4 `9 ~6 G- I
  2.       if(p_Notification->DataTransfered.p_Payload[1] == 0x01)/ {2 S  m2 O% j- S+ `
  3.       {
    & b; ^" t4 V* E2 w6 ?3 z! w
  4.         BSP_LED_On(LED_BLUE);, o# S+ e- ~1 G. ]
  5.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 ON\n"); 2 f) i2 o( a. [
  6.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x01; /* LED1 ON */4 Y; G& y- c, v6 n/ s4 u
  7.       }
    : k/ b6 W: V3 L" J. b  `4 T
  8.       if(p_Notification->DataTransfered.p_Payload[1] == 0x00)
    0 T, J$ ?/ G6 _  T: U  P& R; O' W
  9.       {- k2 f2 A- O6 T9 S$ a7 L) G" e
  10.         BSP_LED_Off(LED_BLUE);
    $ r4 Q+ k; [/ ]7 V+ I1 o
  11.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 OFF\n"); ( j( j0 v5 ]! F8 t  c8 J1 c* l
  12.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x00; /* LED1 OFF */0 {6 b6 e- Z9 Q5 o, P5 B
  13.       }: h! s( N% Z- T' [5 x2 y' i
  14.                         if(p_Notification->DataTransfered.p_Payload[1] == 0x02)
      X6 l1 [; ]$ k# V) o
  15.       {
    ! {1 D; ~; @) {& H
  16.         BSP_LED_On(LED_RED);7 M$ b* x, V5 s, Q, e
  17.         APP_DBG_MSG("rgb set 1\n");
    ) K+ z8 \3 e, L) M$ N
  18.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x02; /* LED1 OFF */
    4 q7 o( H$ {$ a! ]
  19.       }
    : x& _, H" D" Y! E) V7 h3 A
  20.                          if(p_Notification->DataTransfered.p_Payload[1] == 0x03)
    ' W! V1 {, g) q" \( M9 N* @1 Y
  21.       {0 P6 Q3 I$ _8 x, ]& p" \! M
  22.         BSP_LED_Off(LED_RED);3 F1 `  |+ M( ]( k( g$ w
  23.         APP_DBG_MSG("rgb set 2\n"); " s9 ]1 J+ l7 g
  24.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x03; /* LED1 OFF */( n) z8 X, k6 v! u
  25.       }
    $ A) k' E2 k% i& ^
  26.       /* USER CODE END Service1Char1_WRITE_NO_RESP_EVT */
复制代码
         这样就可以有4条指令来给到板卡了。接下来一步做4种RGB灯条的效果。ST的WIKI资料做的真不错,涵盖了绝大部分内容。. e, Q: P# K, d% u$ M+ v+ f1 S
& G; r& a5 X8 z* Z
% H" a; N7 R' v0 R& O0 m
赞 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管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版