資源簡介
STM32+ESP8266+MQTT接入OneNet,并使用手機APP控制。例程源代碼
代碼片段和文件信息
/*
??Copyright?(c)?2009?Dave?Gamble
??Permission?is?hereby?granted?free?of?charge?to?any?person?obtaining?a?copy
??of?this?software?and?associated?documentation?files?(the?“Software“)?to?deal
??in?the?Software?without?restriction?including?without?limitation?the?rights
??to?use?copy?modify?merge?publish?distribute?sublicense?and/or?sell
??copies?of?the?Software?and?to?permit?persons?to?whom?the?Software?is
??furnished?to?do?so?subject?to?the?following?conditions:
??The?above?copyright?notice?and?this?permission?notice?shall?be?included?in
??all?copies?or?substantial?portions?of?the?Software.
??THE?SOFTWARE?IS?PROVIDED?“AS?IS“?WITHOUT?WARRANTY?OF?ANY?KIND?EXPRESS?OR
??IMPLIED?INCLUDING?BUT?NOT?LIMITED?TO?THE?WARRANTIES?OF?MERCHANTABILITY
??FITNESS?FOR?A?PARTICULAR?PURPOSE?AND?NONINFRINGEMENT.?IN?NO?EVENT?SHALL?THE
??AUTHORS?OR?COPYRIGHT?HOLDERS?BE?LIABLE?FOR?ANY?CLAIM?DAMAGES?OR?OTHER
??LIABILITY?WHETHER?IN?AN?ACTION?OF?CONTRACT?TORT?OR?OTHERWISE?ARISING?FROM
??OUT?OF?OR?IN?CONNECTION?WITH?THE?SOFTWARE?OR?THE?USE?OR?OTHER?DEALINGS?IN
??THE?SOFTWARE.
*/
/*?cJSON?*/
/*?JSON?parser?in?C.?*/
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?“cJSON.h“
static?const?char?*ep;
const?char?*cJSON_GetErrorPtr(void)
{
????return?ep;
}
static?int?cJSON_strcasecmp(const?char?*s1?const?char?*s2)
{
????if?(!s1)?return?(s1?==?s2)???0?:?1;
????if?(!s2)?return?1;
????for(;?tolower(*s1)?==?tolower(*s2);?++s1?++s2)?if(*s1?==?0)????return?0;
????return?tolower(*(const?unsigned?char?*)s1)?-?tolower(*(const?unsigned?char?*)s2);
}
static?void?*(*cJSON_malloc)(size_t?sz)?=?malloc;
static?void?(*cJSON_free)(void?*ptr)?=?free;
static?char*?cJSON_strdup(const?char*?str)
{
????size_t?len;
????char*?copy;
????len?=?strlen(str)?+?1;
copy?=?(char*)cJSON_malloc(len);
????if?(!copy)?return?0;
????memcpy(copy?str?len);
????return?copy;
}
void?cJSON_InitHooks(cJSON_Hooks*?hooks)
{
????if?(!hooks)???/*?Reset?hooks?*/
????{
????????cJSON_malloc?=?malloc;
????????cJSON_free?=?free;
????????return;
????}
????cJSON_malloc?=?(hooks->malloc_fn)???hooks->malloc_fn?:?malloc;
????cJSON_free???=?(hooks->free_fn)???hooks->free_fn?:?free;
}
/*?Internal?constructor.?*/
static?cJSON?*cJSON_New_Item(void)
{
????cJSON*?node?=?(cJSON*)cJSON_malloc(sizeof(cJSON));
????if?(node)?memset(node?0?sizeof(cJSON));
????return?node;
}
/*?Delete?a?cJSON?structure.?*/
void?cJSON_Delete(cJSON?*c)
{
????cJSON?*next;
????while?(c)
????{
????????next?=?c->next;
????????if?(!(c->type?&?cJSON_IsReference)?&&?c->child)?cJSON_Delete(c->child);
????????if?(!(c->type?&?cJSON_IsReference)?&&?c->valuestring)?cJSON_free(c->valuestring);
????????if?(!(c->type?&?cJSON_StringIsConst)?&&?c->string)?cJSON_free(c->string);
????????cJSON_free(c);
????????c?=?next;
????}
}
/*?Parse?the?input?text?to?generate?a?number?and?populate?the?result?into?item.?*/
static?const?char?*parse_number(cJSON?*it
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-06-30?14:29??上傳數據onenet\
?????目錄???????????0??2016-07-01?15:43??上傳數據onenet\printf(interrupt)\
?????目錄???????????0??2016-06-30?14:16??上傳數據onenet\printf(interrupt)\Doc\
?????文件???????????0??2013-03-18?19:46??上傳數據onenet\printf(interrupt)\Doc\readme.txt
?????目錄???????????0??2016-07-02?13:06??上傳數據onenet\printf(interrupt)\EDP\
?????文件???????36825??2016-06-01?18:46??上傳數據onenet\printf(interrupt)\EDP\cJSON.c
?????文件????????7526??2016-06-01?18:46??上傳數據onenet\printf(interrupt)\EDP\cJSON.h
?????文件?????????553??2016-06-01?18:46??上傳數據onenet\printf(interrupt)\EDP\Common.h
?????文件???????31030??2016-07-02?13:06??上傳數據onenet\printf(interrupt)\EDP\EdpKit.c
?????文件???????14612??2016-06-01?18:46??上傳數據onenet\printf(interrupt)\EDP\EdpKit.c.pre
?????文件???????26979??2016-06-01?18:46??上傳數據onenet\printf(interrupt)\EDP\edpkit.h
?????文件?????????399??2011-05-09?18:17??上傳數據onenet\printf(interrupt)\keilkill.bat
?????目錄???????????0??2016-06-30?14:16??上傳數據onenet\printf(interrupt)\Libraries\
?????目錄???????????0??2016-06-30?14:16??上傳數據onenet\printf(interrupt)\Libraries\CMSIS\
?????文件???????17273??2010-06-07?10:25??上傳數據onenet\printf(interrupt)\Libraries\CMSIS\core_cm3.c
?????文件???????85714??2011-02-09?14:59??上傳數據onenet\printf(interrupt)\Libraries\CMSIS\core_cm3.h
?????目錄???????????0??2016-06-30?14:16??上傳數據onenet\printf(interrupt)\Libraries\CMSIS\startup\
?????文件???????15766??2011-03-10?10:52??上傳數據onenet\printf(interrupt)\Libraries\CMSIS\startup\startup_stm32f10x_cl.s
?????文件???????15503??2011-03-10?10:52??上傳數據onenet\printf(interrupt)\Libraries\CMSIS\startup\startup_stm32f10x_hd.s
?????文件???????15692??2011-03-10?10:52??上傳數據onenet\printf(interrupt)\Libraries\CMSIS\startup\startup_stm32f10x_hd_vl.s
?????文件???????12376??2011-03-10?10:52??上傳數據onenet\printf(interrupt)\Libraries\CMSIS\startup\startup_stm32f10x_ld.s
?????文件???????13656??2011-03-10?10:52??上傳數據onenet\printf(interrupt)\Libraries\CMSIS\startup\startup_stm32f10x_ld_vl.s
?????文件???????12765??2011-03-10?10:52??上傳數據onenet\printf(interrupt)\Libraries\CMSIS\startup\startup_stm32f10x_md.s
?????文件???????14073??2011-03-10?10:51??上傳數據onenet\printf(interrupt)\Libraries\CMSIS\startup\startup_stm32f10x_md_vl.s
?????文件???????15955??2011-03-10?10:51??上傳數據onenet\printf(interrupt)\Libraries\CMSIS\startup\startup_stm32f10x_xl.s
?????文件??????633941??2011-03-10?10:51??上傳數據onenet\printf(interrupt)\Libraries\CMSIS\stm32f10x.h
?????文件???????36557??2011-03-10?10:51??上傳數據onenet\printf(interrupt)\Libraries\CMSIS\system_stm32f10x.c
?????文件????????2085??2011-03-10?10:51??上傳數據onenet\printf(interrupt)\Libraries\CMSIS\system_stm32f10x.h
?????目錄???????????0??2016-06-30?14:16??上傳數據onenet\printf(interrupt)\Libraries\FWlib\
?????目錄???????????0??2016-06-30?14:16??上傳數據onenet\printf(interrupt)\Libraries\FWlib\inc\
?????文件????????8982??2011-03-10?10:47??上傳數據onenet\printf(interrupt)\Libraries\FWlib\inc\misc.h
............此處省略182個文件信息
評論
共有 條評論