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

【STM32WBA52CG评测】 WebApp 控制LED

[复制链接]
BinWin 发布时间:2023-8-20 17:15
       上次提到了ST有提供一个Web平台的APP,可以配合例程进行一些实验。这里就以P2PServer为例展开,也是对计划的小制作的延展。$ A- h4 ^7 m& d) N
        打开例程、编译、烧录这些都不用说,展开工程目录,可以看到如下分组% r7 u" ^2 g& s0 Q; O5 Q; C
       b.png
' M( y3 A4 a$ O2 u4 D' f9 H( D  \       已经标记了需要主要关注的地方,从主程序入口可以一步一步挖掘到蓝牙应用函数的地方。通过查看代码,定位了这个程序中对LED控制的代码段,如下
1 y; c4 K% ?) v! h- y' y         c.png 1 V5 A9 k7 L$ H4 D- T2 }( `
           打开Web App来看下,是什么样子的
7 y+ F5 ~" {* ?$ V( C  G            d.png 5 y! U; S( ]+ ?2 _
          板卡程序烧录好以后,复位程序,这个时候,就可以用手机或电脑蓝牙搜索板卡的信号了。WEB端的操作是这样的。% q  ^5 M; x( s/ i5 {1 F
            e.png
- ~1 H7 {9 ?& g5 V         因为我已经连接过了,所以有配对记录,连接成功后,就可以进入到上一幅图片的操作页面。点击按钮可以打开和关闭板子上的LED,按钮上的字符也会自行改变状态。下面的输入框,输入0x01和0x0也可以打开和关闭LED,这只是WEB UI呈现的不同,实际发送的有效数据内容都是0x01和0x0。到这里,APP控制LED的方法已经很清晰了。修改程序,添加两个指令,留着给RGB灯条的控制使用。程序段如下,是很简单的内容:
6 U% e) m* u/ M6 g2 U' W1 M) g
% l2 u* l! y; j6 s4 f
  1.       /* USER CODE BEGIN Service1Char1_WRITE_NO_RESP_EVT */6 ?/ L9 |6 W& ~8 ~) X
  2.       if(p_Notification->DataTransfered.p_Payload[1] == 0x01)
    6 M' s  j' Y7 S2 I9 A  w0 p
  3.       {
    ( n* j5 ]5 l, e& S6 a; I
  4.         BSP_LED_On(LED_BLUE);3 z# D% Q* @  a( R* B/ u# y& r
  5.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 ON\n");
    7 K4 p/ @" w, o! w# d
  6.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x01; /* LED1 ON */
    / O$ O3 E4 ?: i0 c( W2 }; l
  7.       }
    9 C$ w7 D- D9 ]/ W' F% l$ G% O$ ~
  8.       if(p_Notification->DataTransfered.p_Payload[1] == 0x00)
    ! I9 x- H6 `2 t% Z- u! P
  9.       {
    + w* v+ `8 V7 y, c0 R% a1 D' n* X
  10.         BSP_LED_Off(LED_BLUE);
    / g0 \* x$ E8 j7 ^
  11.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 OFF\n");
    , ^8 d4 y) K7 q, W' |6 o0 `
  12.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x00; /* LED1 OFF */: J* G6 y" Q7 k2 V& Q5 S
  13.       }1 p5 \0 H8 ^# A) M% Z5 a
  14.                         if(p_Notification->DataTransfered.p_Payload[1] == 0x02)
    6 O/ g; f4 `2 ~5 E: C
  15.       {
    : w2 B( f. [& p" O
  16.         BSP_LED_On(LED_RED);% u' D4 x3 Q" e
  17.         APP_DBG_MSG("rgb set 1\n"); - d; F6 H* J' C# _& y; f% x
  18.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x02; /* LED1 OFF */
    , Q2 U$ _* h- L* \
  19.       }5 j. _/ `1 J! s" b3 b# I. q
  20.                          if(p_Notification->DataTransfered.p_Payload[1] == 0x03)$ g# }2 t7 ?: Q- q- q5 n3 P
  21.       {$ x! v  d5 \" L* V3 b$ u" P
  22.         BSP_LED_Off(LED_RED);
    2 o+ ]+ |& o1 t/ I' Z7 M1 L
  23.         APP_DBG_MSG("rgb set 2\n"); 3 O3 {! ^2 a8 H: `, C
  24.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x03; /* LED1 OFF */
    ! K% ]  r7 J9 |# u2 ~' ~1 e, @- S
  25.       }& J. f! Z/ m7 K8 m/ }0 E# k
  26.       /* USER CODE END Service1Char1_WRITE_NO_RESP_EVT */
复制代码
         这样就可以有4条指令来给到板卡了。接下来一步做4种RGB灯条的效果。ST的WIKI资料做的真不错,涵盖了绝大部分内容。3 }. b7 \8 q* ]+ i) x. J& U
; g" k5 f& e! s. R' p
( }, {; _. w" ]6 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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版