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

【STM32WBA52CG评测】 WebApp 控制LED

[复制链接]
BinWin 发布时间:2023-8-20 17:15
       上次提到了ST有提供一个Web平台的APP,可以配合例程进行一些实验。这里就以P2PServer为例展开,也是对计划的小制作的延展。: A1 S! P  r( |9 L# T3 W7 Z
        打开例程、编译、烧录这些都不用说,展开工程目录,可以看到如下分组
  R* n3 S+ _! V1 Q& `       b.png
/ T4 h- a$ Z! i& ]       已经标记了需要主要关注的地方,从主程序入口可以一步一步挖掘到蓝牙应用函数的地方。通过查看代码,定位了这个程序中对LED控制的代码段,如下( ]$ T9 J4 p8 K$ g+ |& I5 ^
         c.png
& P) R5 W) V- ^) u# v- e! c4 c5 g           打开Web App来看下,是什么样子的7 z8 \2 F* l" d# K9 P7 w9 ]
            d.png
5 x( C# f: ~+ J) T$ i# p2 ~          板卡程序烧录好以后,复位程序,这个时候,就可以用手机或电脑蓝牙搜索板卡的信号了。WEB端的操作是这样的。
1 J9 W! a* e# }& v" I            e.png . F: `2 M8 v  }; T4 s
         因为我已经连接过了,所以有配对记录,连接成功后,就可以进入到上一幅图片的操作页面。点击按钮可以打开和关闭板子上的LED,按钮上的字符也会自行改变状态。下面的输入框,输入0x01和0x0也可以打开和关闭LED,这只是WEB UI呈现的不同,实际发送的有效数据内容都是0x01和0x0。到这里,APP控制LED的方法已经很清晰了。修改程序,添加两个指令,留着给RGB灯条的控制使用。程序段如下,是很简单的内容:: j& W8 P8 u8 U8 R
* a2 _6 }& G! H* i3 E" v, R$ Z7 |
  1.       /* USER CODE BEGIN Service1Char1_WRITE_NO_RESP_EVT */
    ! r; G7 Q0 ]& u( z; E
  2.       if(p_Notification->DataTransfered.p_Payload[1] == 0x01)
    ( w& z+ j1 }6 k/ K
  3.       {- R) Y1 O$ }! n: a9 H
  4.         BSP_LED_On(LED_BLUE);
    - O6 g6 }; O' C% d6 l
  5.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 ON\n");
    . Q) Y' V$ n# F  @6 {# \# L
  6.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x01; /* LED1 ON */
    6 w; y0 m' G5 t/ \1 u  _
  7.       }
    8 \* h' X! Q8 y6 H
  8.       if(p_Notification->DataTransfered.p_Payload[1] == 0x00)- Q+ [/ o3 d6 y- k$ K* m+ `
  9.       {1 \2 T9 s# f2 r+ e  k3 ]  ]* b
  10.         BSP_LED_Off(LED_BLUE);' ^0 G1 n6 ?0 U; u, U; I
  11.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 OFF\n");
    ! A! o! }& N+ I- I
  12.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x00; /* LED1 OFF */
    0 b2 }* I9 P! a* i3 R
  13.       }0 E" K) B" v/ W4 G- @
  14.                         if(p_Notification->DataTransfered.p_Payload[1] == 0x02)
    ' E1 {3 I6 g( r8 w/ {# i
  15.       {  W4 T0 z& c* g3 z- ?. H
  16.         BSP_LED_On(LED_RED);/ q1 S6 z  z5 I; _$ q1 r
  17.         APP_DBG_MSG("rgb set 1\n"); " d8 G( K. D) J
  18.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x02; /* LED1 OFF */; `  \* V; ]3 D" T7 V# h. ]; T
  19.       }1 }5 e& Q9 z$ H- ]+ ?
  20.                          if(p_Notification->DataTransfered.p_Payload[1] == 0x03)- Y  d6 |1 p; V5 G0 J9 T: c
  21.       {4 I/ m+ w* s( m; J
  22.         BSP_LED_Off(LED_RED);& k1 I/ {7 X3 D% d* u8 w. L
  23.         APP_DBG_MSG("rgb set 2\n"); / x& {/ `- |" Q* n0 y/ C
  24.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x03; /* LED1 OFF */- l- V& V% {  m2 N6 {3 _! m
  25.       }! g/ b9 t) G( w+ I. |2 ~
  26.       /* USER CODE END Service1Char1_WRITE_NO_RESP_EVT */
复制代码
         这样就可以有4条指令来给到板卡了。接下来一步做4种RGB灯条的效果。ST的WIKI资料做的真不错,涵盖了绝大部分内容。( o& Q9 K" T" p/ C& |4 d; F

- n% ^# d) |8 H  C0 j0 o; E$ v- v$ }) k
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 手机版