请选择 进入手机版 | 继续访问电脑版

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

[分享]WB-EIOT开发板实验例程

[复制链接]
wbeast 发布时间:2019-7-23 19:03
1、硬件平台:STM32F407& Z. ~, N8 G9 p; y& ?
2、软件rtthread4.00版本
7 M  U2 p3 H% ?4 v实验例程基于rtthread开发,充分利用rtt丰富组件和软件包,MQTT,JSON,LWIP,AT SOCKET ,file system等等。, Y. A& g$ {& [* z( Q3 J2 H* U
6 N# m; g: t0 Y: B
TIM截图20190729163559.png
, d) i3 q- `1 o; z8 Y2 `
5 |3 w' X! }0 @# [
8 q! s. c7 ]  j# G TIM截图20190729163616.png
; z2 o) ?: t- L8 g7 e2 n$ f; j; q7 X+ d2 {  ]
链接:https://pan.baidu.com/s/1yM3QOZrPyBL9A382g0rkBg ( K* o7 f7 b/ V2 Z. B
提取码:clb3 ) q# j- q7 M& j7 ?4 `
PC端的远程温湿度显示工具: g$ F- ?; F0 K% c* v5 _. A+ ^
webwxgetmsgimg.jpg
9 l6 O; R/ C7 D! b9 H$ P  |# n) N
PC端远程控制工具
& P7 @- ~: s( `5 a; O4 e' y  |: H webwxgetmsgimg (1).jpg
$ c3 Q* X0 y5 g% g; F9 v
' z- m# q& F. Q2 Q4 u9 r' a( V- v4 A: d0 G. ?8 [; b$ _# i5 s' O" t9 B
//移动安卓端的工具, P8 G6 o1 @2 ~( |7 B! ]+ D2 V  J
webwxgetmsgimg (2).jpg
) |7 I3 H% K3 W
  @& {- [6 s. a+ j# E2 g4 B
收藏 2 评论7 发布时间:2019-7-23 19:03

举报

7个回答
wbeast 回答时间:2019-7-25 14:33:29
                            阿里云IOT示例
5 N8 P* v+ r( m2 ?5 Y

- D! w3 _4 X( V% j& `7 O本章实验演示连接阿里云IOT,实验运用了rtthreadMQTT软件包,tiny_sha1_hmac加密软件包,LWIP组件等等,用ENV工具可以获取软件包和组件,避免重复造轮子。以温湿度传感器为设备模型,用MQTT协议上传到阿里云物联网平台上,可以在物联网平台上查看温湿度数据。
在阿里云物联网套件申请步骤:
$ l) P9 s" O9 t, \( |
1、创建产品,如下图所示) a( Z. E4 \* q1 C8 u7 t" v; H
1.png
, x$ g4 E9 R8 a6 t' ]  y8 Q$ `- P3 [9 v) C8 s4 \
7 ^- B6 k! w6 R2 z( C
2、输入产品名称和分类。( T/ g0 i  ?3 j+ X7 k% ^
2.png
$ F; ]' {6 p2 L% M* o+ L# \" g8 J0 J3、设置产品功能定义
6 u$ q/ M! d' a2 N, s( H, i 3.png
" I* l1 ^: |' q! R& u4 R" q' ^' S5 c* {  K; D% F4 A
4、输入产品功能名称,标识符,数据类型等等。本章实验是以温湿度设备为例子。

: W: I# Q; |5 D1 G: F& @1 K, Q5 z 4.png
, O" J6 Z9 a" r4 y8 h( b0 z" b; G 5.png 8 v7 B* l1 @4 R/ |( @+ H
5、发布产品
6.png

: P. K5 E" J* \$ c  ~
6、添加设备

2 s9 u: W# Q6 Y7 u- o 7.png : ]+ ~& F, {" b& [

4 M/ }2 e4 S# w' E  {
7 g& p8 d# P  j, T4 F+ o' `7、获取设备三元组信息: ProductKey, DeviceName, DeviceSecret( J0 H/ z& v+ }6 Y* A
TIM截图20190725141910.png # M. ?8 I- \  e' l" }$ Y, U
! u+ K6 y( u6 J! r* n% Z$ _4 T7 h
8、打开程序,在MQTT.h中修改申请的设备三元组信息 : ProductKey, DeviceName, DeviceSecret。. V. Y8 Z* f6 i8 ~& |
9、编译无错误后,下载程序。
- w# N: w6 _) m1 S' v3 f0 W# q, @10、连接成功,如下图所示。
, {4 V* }1 a* N* o4 h
TIM截图20190725141125.png ( V5 X4 b  k6 @$ p

) _0 H( p* `) w1 d$ R11、查看数据
  \$ |9 \/ b2 ?2 B 11.png
4 K, w, S" T+ k9 F3 {# [# f7 ^' q1 V
# T" j  T/ C: }
! h8 O& Q4 z0 O* h! w
+ L! k5 O+ ^9 N2 J2 ^, v% [
wangallenwang 回答时间:2019-7-26 11:37:09
wbeast 回答时间:2019-7-29 16:51:39
                                                                    json示例+ H2 H0 ?! X6 a4 m7 E

: m3 O  e+ h7 o" C1 V8 f' ?
# Y; Z6 w+ d7 v, c! s
! `9 X& ?/ d4 G4 s1 T
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
" F4 U2 l2 l, `: K8 X' p1 {: S! o2 o  d: Y6 F8 C" L
1、 打开env工具,选中JSON。保存后退出,输入:pkgs --update命令下载软件包,输入:scons –-targer=mkd5命令,编译工程。
: @" p5 k& R% i8 `* R' V6 M0 _( \ TIM截图20190726160125.png
: _# F& r  M9 f7 l" ?2、通过步骤1,就把JSON移植成功了,是不是很方便。
* V. n% Y, @0 z& R, X9 _$ k; o  a, Y& d1 Q# D2 ^1 {; t
3、程序示例( K2 X: E9 h: N! E/ S
  1. void json_examples(){% {9 h* T- h) V1 z; e, d/ z
  2.         2 {) ^/ y. W- `9 [$ Y) R
  3. 9 b/ T4 q$ R" J/ b) d( d
  4.           cJSON * usr,*usr1,* Array,*usr2;7 p4 I# a. c9 U1 \  }
  5.            char *out;  w  U( K+ s7 Q! Q
  6.         1 Q5 @8 a" _" P0 I" s. W
  7.   & A& _. _: ?& z! X
  8.     usr=cJSON_CreateObject();   //创建JSON对象4 X) d- ~# r* Q  z) f7 Q% e/ p1 X
  9.          cJSON_AddItemToObject(usr,"temp",cJSON_CreateNumber(22));  //在对象中添加数字" L$ @# v) }8 M* y( w
  10.          cJSON_AddItemToObject(usr,"humi",cJSON_CreateNumber(22));  //在对象中添加数字# t) l' y! W* u; S+ Y7 `! y
  11.           out= cJSON_Print(usr);% i, J* p2 ?0 l+ J& g+ Z
  12.           rt_kprintf("\r\n%s\r\n",out);
    8 s$ m5 B# t- P9 g) w6 u3 d; O
  13.            free(out);//释放内存, b% }4 a, q. x7 I4 L& N1 J
  14.                  cJSON_Delete(usr);//删除JSON对象" T/ W5 Y3 k! g* a

  15. " z2 ]) ?8 t" M. _
  16.     usr=cJSON_CreateObject();   //创建JSON对象
      P* y4 t- e! w' c5 \% D' U
  17.          cJSON_AddItemToObject(usr,"DeviceName",cJSON_CreateString("EIOT"));  //在对象中添加字符串类型参数; ~8 O( e' L% ?: U2 o5 G4 q9 n
  18.          cJSON_AddItemToObject(usr,"DeviceValue",cJSON_CreateString("123456"));  //在对象中添加字符串类型参数/ h9 [) t: g1 k7 e
  19.           out= cJSON_Print(usr);
    ) O' q/ V! d* S* \) p& w
  20.           rt_kprintf("\r\n%s\r\n",out);
    / d" E6 L. n- w- P
  21.           free(out);' a) o* T, e, v
  22.                  cJSON_Delete(usr);9 n9 C; r% Q3 P3 D# Y
  23.         6 \; a2 u# X* ]: ~. q, L0 o6 b
  24.         
    3 |& h' r' o- Z; f4 |7 z
  25.     usr=cJSON_CreateObject();   //创建JSON对象
    ! N) u# F. a  f* C6 T9 Z
  26.          cJSON_AddItemToObject(usr,"power",cJSON_CreateTrue()); //在对象中添加布尔类型参数" v' Z; ?* T. U- k/ w5 S
  27.          cJSON_AddItemToObject(usr,"power1",cJSON_CreateFalse());//在对象中添加布尔类型参数* y9 {1 H% v7 O+ E; T- ]
  28.           out= cJSON_Print(usr);//json对象转换成字符串5 I( S4 r. ^: p3 B
  29.           rt_kprintf("\r\n%s\r\n",out);
    & X) s, q7 T. x2 s( B" H" t6 ?
  30.           free(out);//释放内存
    * G7 w  V6 w( u; T9 @3 A
  31.                 cJSON_Delete(usr);//删除JSON对象' h: i; {/ o# Z$ _- G! S1 Z) K
  32.                 3 w# w% g- z9 r" n# j
  33.                  //创建json数组对象, ~0 A, j8 s+ b  t9 S" {0 O
  34.                          Array = cJSON_CreateArray();5 b" X9 p6 `* J; h7 M% e8 J
  35.                          usr1 = cJSON_CreateObject();
    ) r9 z4 F) L2 |5 ~  b
  36.                   cJSON_AddItemToArray(Array,usr1);+ _, y; k( d: H7 P
  37.                  cJSON_AddItemToObject(usr1,"temp",cJSON_CreateNumber(22));  //在对象中添加数字
    ; \4 c0 ~4 \: o8 d: g' X7 ^
  38.             cJSON_AddItemToObject(usr1,"humi",cJSON_CreateNumber(22));  //在对象中添加数字4 \" u$ c  G6 t  X4 J0 e
  39.                   out= cJSON_Print(usr);//json对象转换成字符串4 T  }' R( o: Z$ G/ T$ a3 W, C
  40.             cJSON_Delete(usr);
    + y+ n, b7 e. ?
  41.             rt_kprintf("\r\n%s\r\n",out);
    / `; B, D; t4 H. I
  42.                          free(out);1 I' B( m% x0 `! D/ l1 [$ |
  43.         % w& p9 ~! t# w* v$ `% N

  44. * s. o6 |( U$ e2 N6 @5 M
  45.         0 I* v6 @! |: E9 h. x
  46.         
    - I% H" g8 p8 e+ w- {" }
  47.            //json对象嵌套使用* p* W; H! W' B# k( O4 p
  48.                    usr=cJSON_CreateObject();   //创建JSON对象- W$ \* R, i! g
  49.                          Array = cJSON_CreateArray();
    " S0 y- _+ w9 P6 q* I
  50.                   cJSON_AddItemToObject(usr, "rows",Array );0 t) k5 |8 ?) c" b! m5 ^
  51.                          usr1 = cJSON_CreateObject();
    6 J# E# R  D2 g4 w. t) K( u
  52.                          usr2 = cJSON_CreateObject();" ?; m+ p. X9 H1 c" e1 \
  53.                   cJSON_AddItemToArray(Array,usr1);
    5 l" |- p( v/ ]' n
  54.                          cJSON_AddItemToArray(Array,usr2);
    6 t2 E; {' P, E
  55.                                 
    - \. l( Y' J/ C( G% F& T
  56.                         cJSON_AddItemToObject(usr1,"power",cJSON_CreateTrue());//在对象中添加布尔类项参数
    0 P% g- k+ w5 F2 w
  57.             cJSON_AddItemToObject(usr1,"power1",cJSON_CreateFalse());+ h; t- f4 u5 e7 r$ {/ h7 n. S
  58.          6 o( X/ l. M& g' ~' }
  59.                   cJSON_AddItemToObject(usr2,"temp",cJSON_CreateNumber(22));  //在对象中添加数字
    4 v) O) r; _$ C
  60.             cJSON_AddItemToObject(usr2,"humi",cJSON_CreateNumber(22));  //在对象中添加数字5 Y& p! v; R1 o1 T8 m2 t( |1 n! Z
  61.          1 U5 A+ Z; u' W
  62.                   out= cJSON_Print(usr);//json对象转换成字符串
    # c+ {$ d2 H! i+ w2 H% m
  63.             cJSON_Delete(usr);//删除JSON对象
    ; [# Z* ?8 G7 Z- g% z! E4 X* L$ i
  64.             rt_kprintf("\r\n%s\r\n",out);
    " p: O3 L8 k( o. t+ e
  65.                          free(out);//释放内存
    5 o& Z4 b' D% I9 v' x$ L
  66.         
    ! B* o! Q+ z1 o+ J! R
  67. }2 I0 L! J+ C1 `0 h: L! P
  68. 6 @! p8 a( H* W) N2 N& g+ U. \
复制代码
0 ]. ^' q( j, v/ G  O; Z8 V

+ b9 V8 c" i, P0 H5 e1 U' [- G4、实验现象,如下图所示。
! g5 f# B* \4 l0 C# b TIM截图20190726160304.png
0 w, g, B2 G* W
- c$ R) M8 l8 ]( ]0 t
* g7 R& L; F7 @4 [0 @# \2 K1 C/ a. t& t! N% n
wbeast 回答时间:2019-7-30 09:34:55
另外开贴说明
wangallenwang 回答时间:2019-7-31 15:35:27
wangallenwang 回答时间:2019-8-14 14:45:15
generalcircuits 回答时间:2019-8-14 15:33:56
感谢分享,辛苦啦

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版