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

【STM32WBA52CG评测】 WebApp 控制LED

[复制链接]
BinWin 发布时间:2023-8-20 17:15
       上次提到了ST有提供一个Web平台的APP,可以配合例程进行一些实验。这里就以P2PServer为例展开,也是对计划的小制作的延展。, B& k0 k  t" c1 U
        打开例程、编译、烧录这些都不用说,展开工程目录,可以看到如下分组- M9 A% P6 l7 L$ n, x
       b.png 6 M2 n5 i2 ?7 d. Y" V( V! @4 l3 v
       已经标记了需要主要关注的地方,从主程序入口可以一步一步挖掘到蓝牙应用函数的地方。通过查看代码,定位了这个程序中对LED控制的代码段,如下
/ V* D: ^) e" R: e; a  h         c.png
; i0 S  x" m7 u  `; q5 b: W           打开Web App来看下,是什么样子的
  R8 W, D+ x) @2 n            d.png . x) j" N* p7 P  ]8 a" z/ t
          板卡程序烧录好以后,复位程序,这个时候,就可以用手机或电脑蓝牙搜索板卡的信号了。WEB端的操作是这样的。. k! N* m2 y0 S4 |1 q9 }8 Z
            e.png
" c  K4 L& \( M; R         因为我已经连接过了,所以有配对记录,连接成功后,就可以进入到上一幅图片的操作页面。点击按钮可以打开和关闭板子上的LED,按钮上的字符也会自行改变状态。下面的输入框,输入0x01和0x0也可以打开和关闭LED,这只是WEB UI呈现的不同,实际发送的有效数据内容都是0x01和0x0。到这里,APP控制LED的方法已经很清晰了。修改程序,添加两个指令,留着给RGB灯条的控制使用。程序段如下,是很简单的内容:
$ C' t- }0 q+ v
6 f3 X3 M% D/ N, Q8 `
  1.       /* USER CODE BEGIN Service1Char1_WRITE_NO_RESP_EVT */
    2 z5 S# \8 c! p" D6 e
  2.       if(p_Notification->DataTransfered.p_Payload[1] == 0x01)* y  [. }: P. }1 C
  3.       {/ D9 m1 v" z* j7 S$ z9 [
  4.         BSP_LED_On(LED_BLUE);
    * z+ C5 g% C: |5 h
  5.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 ON\n"); * e: j; C  o5 u# R+ V- Q& Q  ~! E5 h
  6.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x01; /* LED1 ON */
    * q8 W% {* k6 x* }. d1 Q
  7.       }# a' Q4 ]/ }* o% x" u6 [5 \. n
  8.       if(p_Notification->DataTransfered.p_Payload[1] == 0x00)
    * h5 k! O& `0 x% F& I. X
  9.       {4 x% J4 e( U) D' Q
  10.         BSP_LED_Off(LED_BLUE);# a8 G3 m6 J( E, h# w5 G4 p5 d
  11.         APP_DBG_MSG("-- P2P APPLICATION SERVER : LED1 OFF\n");
    5 l9 @, z2 d* a
  12.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x00; /* LED1 OFF */
    ) V8 o5 V5 |; N( S+ |6 R3 B+ p
  13.       }  O, m1 @6 x( _  Y5 n  S
  14.                         if(p_Notification->DataTransfered.p_Payload[1] == 0x02)& Z$ B/ F. ^- H: ]( \/ C
  15.       {' E0 [% S8 \9 K0 z
  16.         BSP_LED_On(LED_RED);8 _* ^$ U( ]; x  I. t
  17.         APP_DBG_MSG("rgb set 1\n");
    . c/ p* w/ S% n7 i7 e
  18.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x02; /* LED1 OFF */
    6 Z7 z; K* s3 z- A% n1 t
  19.       }
    , y! j, i( w& K9 ]4 c0 v
  20.                          if(p_Notification->DataTransfered.p_Payload[1] == 0x03)
    4 O9 \" a, E$ i% u3 l2 `
  21.       {
    9 j7 Q0 V+ Q8 P# |4 }! y. ?
  22.         BSP_LED_Off(LED_RED);& r9 H5 Z" n$ x, G
  23.         APP_DBG_MSG("rgb set 2\n"); 8 T( ~, }2 K" O
  24.         P2P_SERVER_APP_Context.LedControl.Led1 = 0x03; /* LED1 OFF */5 X1 U& ~$ t, A7 `8 v
  25.       }
      h1 i# Q: K7 F# A2 B( k& u9 \" {0 f0 d
  26.       /* USER CODE END Service1Char1_WRITE_NO_RESP_EVT */
复制代码
         这样就可以有4条指令来给到板卡了。接下来一步做4种RGB灯条的效果。ST的WIKI资料做的真不错,涵盖了绝大部分内容。
9 K/ M3 j& M! @6 \' _! M8 G8 [5 r0 P. w' V

. c4 J; V7 p/ G$ d6 l3 X" t/ e- j. 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 手机版