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

【STM32WBA52CG评测】 WebApp 控制LED

[复制链接]
BinWin 发布时间:2023-8-20 17:15
       上次提到了ST有提供一个Web平台的APP,可以配合例程进行一些实验。这里就以P2PServer为例展开,也是对计划的小制作的延展。* }$ \, ~2 d& @3 m! `3 U
        打开例程、编译、烧录这些都不用说,展开工程目录,可以看到如下分组
# \" _7 I8 V$ W* G% K8 N; E: F: Q       b.png 3 d1 h* H0 x% e, D5 j
       已经标记了需要主要关注的地方,从主程序入口可以一步一步挖掘到蓝牙应用函数的地方。通过查看代码,定位了这个程序中对LED控制的代码段,如下
! L5 n* l8 g0 Q+ x9 u  z! Y         c.png
  E9 P- y. U. e" F; b           打开Web App来看下,是什么样子的
4 o& ^2 k) b5 |3 }! o" Q            d.png 5 J" b! o: n1 p" ?9 `! r$ f
          板卡程序烧录好以后,复位程序,这个时候,就可以用手机或电脑蓝牙搜索板卡的信号了。WEB端的操作是这样的。9 Q( [* C  A4 q' _( h
            e.png $ I! g3 \9 B% h/ x  L* v3 J/ U( z
         因为我已经连接过了,所以有配对记录,连接成功后,就可以进入到上一幅图片的操作页面。点击按钮可以打开和关闭板子上的LED,按钮上的字符也会自行改变状态。下面的输入框,输入0x01和0x0也可以打开和关闭LED,这只是WEB UI呈现的不同,实际发送的有效数据内容都是0x01和0x0。到这里,APP控制LED的方法已经很清晰了。修改程序,添加两个指令,留着给RGB灯条的控制使用。程序段如下,是很简单的内容:
$ r3 r9 a; S5 @2 L  z
3 j3 F& z& X# ^5 s! e
  1.       /* USER CODE BEGIN Service1Char1_WRITE_NO_RESP_EVT */9 v; i! E. w! ?9 S+ Y( @+ U
  2.       if(p_Notification->DataTransfered.p_Payload[1] == 0x01)
    ( t3 Y+ q0 ]+ w3 {. {( g
  3.       {
    1 z$ H$ I7 Y% Q
  4.         BSP_LED_On(LED_BLUE);7 l0 R7 i8 I4 X% q
  5.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 ON\n"); 3 l6 J* a! U. X4 x2 p1 D+ Y% v) `
  6.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x01; /* LED1 ON */
    % E7 x2 i5 P) H1 l5 |" ~
  7.       }! h4 e/ x0 ~3 h& y% {6 @
  8.       if(p_Notification->DataTransfered.p_Payload[1] == 0x00)
    % s+ d! J8 m8 W9 P0 Q
  9.       {" R8 e- m. r4 C( @( C
  10.         BSP_LED_Off(LED_BLUE);% N0 v; Y3 _& w& w" Y- \  @' X& L) w
  11.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 OFF\n"); 2 V/ j. w* J; }% ^7 o5 D
  12.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x00; /* LED1 OFF */
    5 x6 V, s$ `# i! A- t
  13.       }$ b1 ?1 V, M# H8 _: j
  14.                         if(p_Notification->DataTransfered.p_Payload[1] == 0x02)
    7 {: Y5 k3 s/ I, L
  15.       {3 W5 I  D- p  k) {
  16.         BSP_LED_On(LED_RED);
    * J  B$ |) N  R5 J
  17.         APP_DBG_MSG("rgb set 1\n");
    ' G% W- g7 g2 n+ U
  18.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x02; /* LED1 OFF */0 t1 m; G8 V9 a) z0 |! S
  19.       }# M1 K9 m' D1 A8 q& n- Z# }
  20.                          if(p_Notification->DataTransfered.p_Payload[1] == 0x03)# @# a. E; T0 T
  21.       {
    - }8 ?. z# L5 ~% P. u
  22.         BSP_LED_Off(LED_RED);
    . e. g- O9 F8 h* E% \' a4 c
  23.         APP_DBG_MSG("rgb set 2\n"); 7 z7 y  ?2 N8 s% v  A4 ~1 |3 l
  24.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x03; /* LED1 OFF */
    3 O5 e- N0 L- U( _$ d" C
  25.       }
    % T- z7 ?- ]+ d8 h7 L
  26.       /* USER CODE END Service1Char1_WRITE_NO_RESP_EVT */
复制代码
         这样就可以有4条指令来给到板卡了。接下来一步做4种RGB灯条的效果。ST的WIKI资料做的真不错,涵盖了绝大部分内容。
. a) V! @1 t/ W" j( ]! d, H4 [6 I$ J$ f1 Z

% P0 x1 D9 s0 W# X: 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管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版