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

【经验分享】【TSC_WL_EVK STM32WL评估板】上手体验

[复制链接]
STMCU小助手 发布时间:2022-1-4 11:00
【TSC_WL_EVK STM32WL评估板】上手体验
9 l; r( a; E) d$ M一、前言
" Z' }+ F" Q% w! v
最近,腾讯云加社区发布了【LoRa 社区网关点亮活动】,详情见:腾讯云物联网LoRa社区狂欢送鹅厂公仔,更有多款开发套件优惠购!
! F* e! I7 E& t# D1 w# r! p  r( y通过该活动的优惠价格39.9元我拿到了一块TSC_WL_EVK STM32WL评估板,评估版到手后如下:
. Z8 J' _+ t5 ~! s  c" w
2020090523083685.png
9 M7 n9 W0 ~- a' R. V: O
7 p. O8 Z* T/ p/ }% d% }
接下来就是完成活动所说的 LoRa 社区网关点亮,官方提供在gitee的资料为:https://gitee.com/TencentOS/Tenc ... B_WL_Quick_Start.md
: i, L: \( S; y7 S- C/ h
* e0 T4 U. @2 |+ S3 a" X  j/ `4 s+ J二、开发环境的搭建
/ u+ r  O+ u9 R$ s$ y首先,由于使用了STM32WL系列的芯片,所以要在MDK中添加对STM32WL的支持,
9 X' `* g6 [- I" Z3 N
* I6 y( Q5 v  C- n/ v三、腾讯云IoT Explorer 设置

/ O. k  t2 S7 n/ `8 d, _: c9 P' N6 [2 e登录腾讯物联网开发平台控制台,点击新建项目,
( i2 u7 B4 C- `; a, W3 o
6 @7 l( t* E0 W! Z
20200906131249408.png
% b; ]3 }! [$ A$ H* B

4 U3 |2 {% K6 k7 j! X2 T# o然后输入项目名称和项目描述,点击保存. g3 e' L" x; Q; \% s

; d6 x9 W% _1 }4 }/ T+ V& J
20200906131451432.png

5 T0 ~9 I1 e" r. r
3 f; O; S  e# U; o项目新建成功后我们点击其进入" j# e5 [: v% }" a7 ]$ A
: G9 n& m7 b" j1 Q% J- s
20200906131638220.png
  o5 k1 S0 N5 y: ~0 C
' k. x4 C! l4 x
然后点击新建产品
. i9 F1 H/ J! o
5 i8 g; n1 j5 y
20200906131716387.png
5 Q3 a! e. j7 N# C
( N7 D, N0 h' C9 {# A% t$ ?( b
然后填写产品基本信息如下所示,点击保存即可
' z0 q0 e+ L/ v! \) B5 `( R5 v- b  ]
20200906131933438.png
: P  g' h8 l+ ]& N* v/ F: ]: y

; ~" x; G4 r; L% N4 o; R& V产品新建好后,点击进入产品,开始产品配置2 z# `: x1 C" v# T' g* u" i2 Q
% ?' H8 d8 u4 S
20200906132115435.png
4 }% j9 J: f9 [( ?

- O  R% N' m8 h( \在产品配置页,点击【导入JSON】0 Q( @! A+ ?! A* O( Y# x5 o4 t

% K1 L$ V, b9 H% y7 n
20200906132443467.png

; o( W. J: _. E2 b/ \6 \8 |* `+ p! t, L# v2 Y/ F0 N4 O1 M- M
填入的JSON代码如下,填入后点击【导入】即可,
' z  M3 b* S2 R; ^- Z# L( G3 o0 o4 S
  1. {
    5 S2 z* v) z+ Y3 t* Z% N, ]
  2.   "version": "1.0",
    " a5 }/ {7 Q) H$ d; U2 N
  3.   "profile": {+ V: c! g' Y9 v: F& l& x
  4.     "ProductId": "F2G256SY2G",
    - M3 _; L- f. L& _6 o+ P- G
  5.     "CategoryId": "1"
    ! V/ Y: \8 T8 a( q8 B
  6.   },* {1 h" I. }" G+ Z7 v
  7.   "properties": [8 T$ x% x, L3 G; P- J/ j" }; p' }
  8.     {% W# u' T  Z! b  U: G
  9.       "id": "temperature",
    0 O0 G8 D! b1 B; E3 N8 D- n
  10.       "name": "温度",
    / ]7 f+ c$ x6 a, {  X4 W$ Z0 }9 X
  11.       "desc": "",
    ' m/ \3 d: C* B3 u/ y1 t1 ], G( K
  12.       "mode": "r",
    # Y" l; f! v& L: d; S. ]# Y& U
  13.       "define": {
    & ^9 x' S5 ^; r
  14.         "type": "int",* z9 o/ `& k. X- ?  B
  15.         "min": "-100",
    ) I" U0 w$ B% [7 N
  16.         "max": "155",
    ' }) D7 b! P* ]$ @4 l
  17.         "start": "0",+ ~% d8 X3 C! h8 Z9 X, ]
  18.         "step": "1",
    - f; N( n( e" Z" y" z; y3 g( c+ t- J
  19.         "unit": "摄氏度"3 Z; T2 c/ \( I) o& m3 Q) a
  20.       },; v3 k. o" Y: [* _  N
  21.       "required": false6 {; U3 t5 f& k
  22.     },: z( F  [# l- r8 V7 Q- Z5 P5 w
  23.     {
    4 b. J& P+ }8 R$ `$ g/ }! E
  24.       "id": "humidity",3 M/ x- Y& Y/ @
  25.       "name": "湿度",
    ; ^& \7 Y# b/ W& k6 L. Z# {
  26.       "desc": "",- _" G/ ^  \) `$ r
  27.       "mode": "rw",: u! L+ z# B, V  ?
  28.       "define": {
    9 r+ f& x6 }7 Z" |& i7 d- P+ x  j
  29.         "type": "int",( e. R+ U* O, n; y0 Q9 D
  30.         "min": "0",5 N& v) J1 u0 c
  31.         "max": "100",; h% T9 z% K* ], X
  32.         "start": "0",
    6 U- m! c! X" }2 Q0 n& J& m8 ]
  33.         "step": "1",8 B4 {$ B4 c/ b$ W* J* F) t
  34.         "unit": "%"
    . \: E# F0 _3 I; r$ h1 \
  35.       },
    / M8 V6 z3 I, t5 |% Y" n4 h
  36.       "required": false
    # f/ A3 W) Y$ A. ?. x
  37.     },
    5 l& F* t1 S3 r) g% @
  38.     {
    1 E! _+ P8 w, {3 L$ d- R" N3 X8 n
  39.       "id": "period",
    6 r4 K4 @9 J$ v# c
  40.       "name": "上报周期",
    / T7 l( J2 q& o/ r& [
  41.       "desc": "",5 n$ N6 f6 |3 @/ W' I
  42.       "mode": "rw",
      t: m% l: Z- e4 R( V
  43.       "define": {
    ; ~  Q6 I- O, u
  44.         "type": "int",5 D2 r3 Q0 |% y$ S
  45.         "min": "0",4 K* j. w6 \7 r& }# q. Y( ]% o
  46.         "max": "3600",
    * G8 Q+ f  g0 O$ b& S
  47.         "start": "0",5 E# N9 Q* W- ]. d2 ^4 I4 y4 N
  48.         "step": "1",9 S# q1 X% D. s; B3 x- p, D
  49.         "unit": "秒"
      q4 k$ Q2 [9 h" y
  50.       },
    0 f2 O: E6 Z% D0 w3 D
  51.       "required": false
    % ?% B( ~, Y: c% Z" U% f
  52.     }
    1 n4 N# T) ~7 q' G. N
  53.   ],
    ( i) B1 I4 k" i" P0 d7 Q
  54.   "events": [],; B4 ]: n" T/ W
  55.   "actions": []7 i# K, d( n* @: M+ ?4 a3 f9 d2 }
  56. }
复制代码
5 S- G' m# ^0 g$ W" B3 W
20200906132744190.png

; f' W6 z5 u, t, K' O9 A1 J1 T" y3 Q
导入完成后,如下所示,然后就可以点击下一步了
: B# Y4 d0 ]1 T5 y  o& `  N4 Q) B7 z: R/ l- V8 F7 q0 G' q: |
20200906133006655.png
* }# w8 a& L4 W6 ^; J
6 g- Y) E7 E9 S9 I, S8 G1 `8 _) _$ m
在上行数据解析部分中,填入如下javascript 代码:
  1. function RawToProtocol(fPort, bytes) {) V$ g2 ?7 X' p' F5 w
  2.     var data = {
    ( k9 w1 [0 _* m4 h* `; g
  3.         "method": "report",
    ) G2 u/ c0 d7 ?3 }
  4.         "clientToken" : new Date(),) B' [! H5 E! m, l
  5.         "params" : {}
    " Y: b# N6 K) n! M' p; s
  6.     };
      z) Q8 T; Y6 b7 v8 W# `/ v; m3 \
  7.     data.params.temperature = bytes[0];! X( m$ l. u' @4 u) b
  8.     data.params.humidity = bytes[1];
    5 a0 E, \9 U: e8 M
  9.     data.params.period = bytes[2] | (bytes[3] << 8);
    - u$ |2 L' ?+ l% G. y0 q: G' _( @2 t
  10.     return data;, a5 k# Q  Q$ G. ~
  11. }
复制代码

' h. i  T3 D: [在下行数据解析部分中,填入如下javascript 代码:
% d- @: |7 I: s8 x& x; w2 W! v, x1 M0 u) e0 U
  1. function ProtocolToRaw(obj) {' I0 W5 V: u" G6 ^  Y0 b; t, E
  2.     var data = new Array();
    2 n/ i) ]2 g! X! H; u) J' O
  3.     data[0] = 5;// fport=5, U9 q% L$ y$ I1 m0 Y( N$ @
  4.     data[1] = 0;// unconfirmed mode2 f( v8 l9 `2 d4 M: V! c$ z- C: e
  5.     data[2] = obj.params.period & 0x00FF;
    ; a- L1 M: q: U* `3 D# w
  6.     data[3] = (obj.params.period >> 8) & 0x00FF;. I/ e. P6 A* X
  7.     return data;3 \) C6 G4 m6 @* a
  8. }
复制代码
1 k; E2 P4 f  Q
填入完成如下
% G" o5 {1 {  j, H5 ^$ U. }( n. d' o7 @/ `* }) Y
20200906133509244.png

5 _* f, t$ ^# O2 I' t- Z- O' o8 Y
# P* O7 F' V# U然后点击提交,进行保存) q+ ^6 g$ _% x0 `

4 k+ `: w, e: E' |
20200906133901811.png
, S/ c  c* r3 @% u" P
% w* t9 t8 K2 k" N! w* E: J( L
点击【设备调试】->【新建设备】,然后输入【设备名称】: WL_DEV_001,【DevEUI】:8cf9572000004dfe,【AppKey】:1234567891234567891234567891234e,然后点击保存;+ V+ w2 F* [" c6 `
; X( ^4 y$ |& e4 T8 g! a
20200906140115117.png
. O! h& h" Z3 O# U' E
4 N7 i: h, [' h! o
三、编译程序,烧录固件! g, j% e8 m1 C3 i
首先从TencentOS tiny官方开源仓下载源码
1 W' l! w7 p, I/ a  Z$ T' C- y" @5 D  T  l/ i
拉取下来后进入 TencentOS-tiny\board\RHF0M0E5_STM32WLE5xx\KEIL\lorawan目录,打开TencentOS_tiny.uvprojx工程:3 A% `; y  j# v% f4 ^$ D* Y/ D

6 }+ n" U: X9 a 20200906134551350.png - c8 B! n9 H9 T' B* {
  j  g6 c3 a  {
接下来打开commissioning.h头文件,将DevEUI和AppKey设置的和刚才在物联网平台上的一致5 F& B8 d/ Q7 t% r4 z
7 y- O9 B$ B9 G
20200906141127957.png

+ ?, u1 b( b% E( d( k/ r) n' T3 f/ X# P4 F0 V2 U
然后编译链接下载到开发板,不过下载过程会出现问题,因为RHF0M0E5模块在出场的时候设置了写保护,我们需要使用STM32CubeProgrammer将其清除,将开发板通过STlink与电脑连接,打开STM32CubeProgrammer,将其升级到最新版本V2J35S7) Q* p/ U% P: O5 G5 Y

' H3 C7 \: `9 V( i# |
20200906143538887.png

# N  v& b/ I& W. |* B
0 H4 }9 I7 ~3 R$ D' r升级完成后重新插拔一次ST-Link,接下来做如下操作" C% d# o9 p! Z; m) X

) L- U+ k/ d5 E4 ]# N
2020090614395784.png

5 L& |5 k* [5 I6 _- m2 g7 e/ n* Z) Z2 R6 Z: L$ A; s
然后再重新插拔ST-Link,编译链接下载即可成功:$ j, l+ ]& Z5 ]  ~0 [3 c3 K

7 I! e8 t+ S* _. ^( w$ m
20200906144251679.png
9 M* A1 J: g9 S4 Y; S. l  u8 S" @

8 C4 D$ d; m: x
5 D! A  ]* E( S
收藏 评论0 发布时间:2022-1-4 11:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版