本帖最后由 聿怀嘿嘿 于 2015-1-12 21:29 编辑
7 j0 y" b5 I9 z3 E- L- H3 F0 Y
~, ]9 ]4 m9 C- [4 D0 N7 fyeelink云平台是一个开放的通用物联网平台,主要提供传感器数据的接入、存储和展现服务,最重要的是对所有的软硬件爱好者是免费使用的!但yeelink SDK主要只做Arduino平台,之前自己用stm32库写了yeelink的上传程序、期间也因为不熟悉yeelink走了弯路、最后还是实现了功能,现在和大家一起共享!
6 \) j' C" b' ^1 ~
下面是上传gps类型的程序、输入参数是纬度、经度、速度" o% w6 Y" H* N' l3 q
标红字体分别是你的设备id、传感器id和你的ApiKey,以下不再做解释哈;0 s+ O9 [; T+ c3 P: ]' H+ U
) `; b* U9 G1 Y+ C* {$ V1 R3 i' ]- int postgps (u32 lat,u32 lon,u16 speed)//
2 l& @1 B) V" L& N3 H - {float lattp,lontp,speedtp,tp;0 y% D" E# Y2 K: f7 o6 {/ @( W
- lattp=lat;lontp=lon;speedtp=speed;) m" Q8 f) q. j6 u( L
- int count=0;tp=speedtp/1000;
, a- Q/ h6 l$ m# x2 i8 z { - if(tp<100&tp>=10)
4 X. b: H. k* v$ { - {count=72;}
+ i9 o. O% f4 W5 r) | - else
: \0 l! N; D3 `: Z8 O6 o, z - {if(tp<10) count=71;: \7 d% N) C* X1 t+ m$ c
- else count=73;
( N; |1 R$ b" W/ k - }
% N) t& Y2 ^- j# `4 ?5 X; m - sprintf((char *)postGPS,"POST /v1.0/device/<font color="#ff0000">ddddd</font>/sensor/<font color="#ff0000">xxxxx</font>/datapoints HTTP/1.1\r\n"
1 t* C& ?' h8 K8 {5 i/ H) W0 |6 g - "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:9.0.1) Gecko/20100101 Firefox/9.0.1\r\n"
( L/ Y5 [* Z5 R2 b' h - "Host: api.yeelink.net\r\n"7 m( W) y7 |; @
- "Accept: */*\r\n"
/ y% Q. r( s- Y Q8 B( P2 }8 J - "U-ApiKey: <font color="#ff0000">xxx</font>\r\n"
8 J& Z# k7 _6 L7 S) T3 t* q! Y# ^ - "Content-Length: %02d\r\n"% h; D# @9 F( D: g9 [
- "Content-Type: application/x-www-form-urlencoded\r\n"! M/ Z9 a" b2 G- S- @& d$ P+ Y
- "\r\n"
' z) b) G. o# t7 S" A! ? - "{"value":{"lat":%.5f,"lng":%.5f,"speed":%.3f,"offset":"yes"}}\r\n",count,lattp/=100000,lontp/=100000,speedtp/=1000);
! \: T" w6 Q9 B0 _% T - . Q! n/ T6 D! i, A: X" q
- return strlen(postGPS);
复制代码 下面是数据点类型的程序: n" H8 g, O) o& o3 Y2 N
/ [+ L% i, O' F5 [- X$ j4 D( U输入参数是 你的数据。
% ^+ Q. |8 Q$ k& w( r3 i* } ]4 [/ ]- int posthigh (int altitude); V. I8 W& i5 P$ C' A- S+ ]
- {float alttp,tp;
% n2 V" r& e. u3 m - alttp=altitude;. \* L$ x( ]+ P, R; [! i$ D; `
- int count=0;tp=alttp/10;
: [8 G0 k4 P* J* P3 J# B - if(tp<100&tp>=10) # z! w$ e& ]9 y+ G$ v
- {count=15;}) e! l P8 m- P1 }8 D5 d$ p
- else - Z$ ~8 U2 n/ ^/ [3 x
- {if(tp<10) count=14;
1 \- c2 ~8 k S. F' g0 F - else count=16;# ^) o. p7 \6 R( P4 G7 ~. S
- }
3 s$ J1 l) M+ H8 y - sprintf((char *)postHIGH,"POST /v1.0/device/<font color="#ff0000">ddddd</font>/sensor/<font color="#ff0000">xxxxx</font>/datapoints HTTP/1.1\r\n"
- z1 ~/ y2 ~8 x- u+ P - "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:9.0.1) Gecko/20100101 Firefox/9.0.1\r\n" , b8 ?! e% G; d' \1 q
- "Host: api.yeelink.net\r\n"7 T3 a3 B! l8 ]* h
- "Accept: */*\r\n"
7 h$ t/ z: P6 t- ]6 n4 O - "U-ApiKey:<font color="#ff0000">xxx</font>\r\n"8 S2 x5 {9 z r' J; ]6 t% u
- "Content-Length: %02d\r\n"& G' K: g1 Q; F+ G/ a
- "Content-Type: application/x-www-form-urlencoded\r\n"# W7 h4 T8 ?/ }6 z# {& q
- "\r\n"' q/ }$ C4 }0 w3 T
- "{"value":%.2f}\r\n",count,alttp/=10);
( T2 L0 y2 G- I' h& n: T& F$ J - 6 R$ u( Y3 p; w0 v2 F3 V
- return strlen(postHIGH);/ i3 W: i, M0 u L1 J
- }
复制代码 下面是开关类型的数据
6 M, {0 p( x, X& s8 ?' m- int postswitch(int switch0), G; o6 v! |5 Y1 p- \
- {
" K# Z$ H2 m6 U5 {& h4 e( F - sprintf((char *)postSWITCH0,"POST /v1.0/device/<font color="#ff0000">ddddd</font>/sensor/<font color="#ff0000">xxxxx</font>/datapoints HTTP/1.1\r\n"/ v* u9 ], U2 m
- "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:9.0.1) Gecko/20100101 Firefox/9.0.1\r\n" " P% ?4 }% G& I" j9 v
- "Host: api.yeelink.net\r\n". T+ o5 w1 Y2 O
- "Accept: */*\r\n"
: @; P* l, g7 t7 I1 y& { - "U-ApiKey: <font color="#ff0000">xxx</font>\r\n"# \ E/ a) n# l! l2 F0 b* ^
- "Content-Length: 11\r\n"% U8 O! T& k, T( M
- "Content-Type: application/x-www-form-urlencoded\r\n": ?* g! C- b. _) e' b$ m; b
- "\r\n"
! X4 C1 z, j% M, v6 V - "{"value":%01d}\r\n",switch0);
; s: X" B! i2 m* e/ X. I/ K( E - - u$ n2 m- r3 N- N# b+ A- U0 k. O
- return strlen(postSWITCH0);
. u. ^# T& B7 v2 | - }
复制代码 很小白,大神轻喷哈!
8 ~& g9 V9 E) h0 I- K- T k
yeelink.zip
(1.36 KB, 下载次数: 209)
|
yeelink官方已经开发了app、支持安卓和ios系统的
谢谢哈哈
我不需要他的,我希望用我自己的APP,可以的吗?
理论上可以、他的api接口是开放的、
免费使用?
嗯、对于个人是