SmartPlugV2.0 icon indicating copy to clipboard operation
SmartPlugV2.0 copied to clipboard

Smart socket project based on esp8266 hardware(基于esp8266硬件的智能插座项目)

姒?杩?/h1>
  • 璇ュ?轰欢?辨??浜烘???ヤ?涓?灏????堕?村??绮惧??杩?琛?寮?????璋?璇?锛?浠?渚?esp8266?卞ソ??涓?璧峰?????浜ゆ???

  • 璇ュ?轰欢寮?????娴?璇?骞冲?颁负esp8266锛?Flash澶у?涓?M??esp8266??SDK?轰欢????涓?.0??

  • 婧???????璇?瑷?缂???锛????ㄦ?ゅ?虹?涓?瀵瑰???借?琛?淇??瑰???╁???

  • ??绔?椤甸?㈤????code>jquery+bootstrap缂???锛???绔??у???涔???浠ヨ??宸辩?????绔?锛?灏?椤甸?㈡??浠剁?у???lash?冲????

??????纭?浠?/h1>
  • ??浣跨??SP8266?烘?轰?寮????裤??

  • ESP-12F妯″????琛???寤恒??濡??????朵?寮????垮????瑕?淇???O瀹?涔????扮?璇??冲??

?轰欢????/h1>

??渚????轰欢??浠ヤ????斤?

  • ??璁剧疆10涓?瀹??躲??寤舵?朵换?°??绾㈠??ユ?э???纭?浠舵????锛????甸?????э???纭?浠舵????锛?绛????姐??

  • ??杩?琛?绯荤?璁剧疆????璁剧疆璁惧???绉帮?榛?璁や负SmartPlug锛???esp8266??宸ヤ?妯″???????OTA杩?绋??轰欢??绾с???у?惰?惧????????у?惰?惧??㈠??哄??璁剧疆??

  • ????杩?web椤甸?㈡?у??sp8266璁惧???

  • ?????伴??杩???????json?煎??版??杩?琛?浜や???

  • ??????瀹?涔?缃?椤电?у?锛???杩?琛?浜?娆″?????

  • ?????版?版????绂伙?缃?椤垫?版???у???lash涓?锛???浠舵?荤??澶у?涓??借?杩?2MB锛????轰欢??缃?椤靛????????绾с??

  • ????AP??station妯″?锛?station妯″?涓?????smartconfig杩?琛?wifi??缃?????

  • 宸插?规?ヨ?澹崇?╄?????捐??杩?杩?骞冲?般??????杩?澶╃??绮剧?点??寰?淇″?绋?搴?杩?绋??у?躲??

?у?涓???缃?

?峰???轰欢

git浠?搴??板??宸蹭??у?板??杩?绉昏???板?板??锛???浠?搴?浠g??宸蹭???缁存??/p>

???板?轰欢浠?杩????峰??锛? https://github.com/sunkaimr/SmartPlugV2.0/releases

?轰欢涓?杞藉????瀹瑰?涓?锛?

[root@esp8266_v5.0.1]$ tree -L 1
.
?????? 宸ュ?????? ?????? FLASH_DOWNLOAD_TOOLS_V3.6.4  ==> ?у?宸ュ?????? ?????? WinGZip V1.0.exe             ==> 缃?椤靛??缂╁伐?????? ?????? sscom                        ==> 涓插?h?璇??╂??
?????? ??妗?                            ==> 寮?????????妗??????? ?у??轰欢                          ==> ??瀵逛???寮????跨???轰欢  
???? ?????? changxin                     ==> ?轰?甯告?版??搴ф?硅???纭?浠跺甫?甸??璁¢??  
???? ?????? changxinV1                   ==> ?轰?甯告?版??搴ф?硅???纭?浠朵?甯??甸??璁¢??  
???? ?????? jizhiyun                     ==> ?轰??烘?轰?寮????跨???轰欢  
?????? ?у??规?锛?changxinV1锛?.txt
?????? ?у??规?锛?changxin锛?.txt
?????? ?у??规?锛?jizhiyun锛?.txt          ==> ?烘?轰?寮????垮?轰欢?у?姝ラ??

涓?杈圭????浣??芥??浠?code>jizhiyun纭?浠朵负渚?杩?琛???浣????ュ?h?存??锛?

?ュ??/th> 璇存??
IO_13 wifi?舵????绀?1:on 0:off]
IO_15 缁х?靛?ㄦ?у??1:on 0:off]
IO_12 缁х?靛?ㄧ?舵????绀?1:on 0:off]
IO_4 ????杈?????涓?涓轰??靛钩]?????????????存?ユ?у?跺??筹???涓?????3-6s褰?wifi??绀虹??蹇???????杩??ュ?㈡?风??妯″?锛???????涓?6s浠ヤ?wifi??绀虹??甯镐寒杩??ョ???规ā寮?

?у??板??

bin??浠?/th> ?у??板?? 璇存??
esp_init_data_default.bin 0x3fc000 ??濮????朵?灏?棰????帮??变???瀹??规??渚????????у??涓?娆°??
blank.bin 0x3fe000 ??濮???绯荤????板?猴??变???瀹??规??渚????????у??涓?娆°??
boot_v1.6.bin 0x00000 ?变???瀹??规??渚????????у??涓?娆°??
user1.4096.new.6.bin 0x01000 ?ㄦ?蜂富绋?搴?user1.bin锛?缂?璇?搴??ㄧ?搴?????
user1.4096.new.6.bin 0x101000 ?ㄦ?蜂富绋?搴?user2.bin锛?缂?璇?搴??ㄧ?搴?????

?у?

?轰欢??涓??ㄥ??锛?涓??ㄥ????bin??浠堕??瑕???杩?ESPFlashDownloadTool涓插?g?у??扮‖浠讹????涓??ㄥ??????绔???椤甸?㈤??瑕???杩?娴?瑙??ㄧ?у??拌??????娉ㄦ???规????宸辩??璁惧??ョ?у???轰欢锛??轰欢??纭?浠朵??归??浼?瀵艰?磋?惧???娉????ㄣ??

?у??轰欢

棣???瑕??у??轰欢锛?姝ラ?ゅ?涓?

  1. ??寮??у?宸ュ?凤?宸ュ??FLASH_DOWNLOAD_TOOLS_V3.6.4\ESPFlashDownloadTool_v3.6.4.exe锛?.

  2. ??涓??鹃???╁ソ?轰欢浠ュ??瀵瑰????у??板???瑰?烩??START??瀹????轰欢?у???锛?棣?娆$?у??跺???瑰?烩??ERASE?????ゅ?ㄩ??LASH??杩?琛??у?锛?

?у?缃?椤垫?版??

  1. ??寮?涓插?e?╂??锛?./宸ュ??sscom锛?骞惰??ュソesp8266???跺??缁?esp8266???颁??点?? ??????涓?6s浠ヤ?wifi??绀虹??甯镐寒杩??ョ???规ā寮? ??esp8266灏????????ㄥ苟杩???p妯″???

  2. 寰?esp8266????瀹???涓插?e?╂????濡?涓?淇℃??杈??衡??set wifi mode AP successed??琛ㄧず宸插凡杩???P妯″???

  3. ?佃??杩???sp8266??灏???wifi淇″?凤?榛?璁?ifi??绉颁负??SmartPlug_XXXX????

  4. ??寮?娴?瑙??ㄥ?ㄥ?板????杈??モ??192.168.4.1??杩???sp8266????缃?椤甸????

  5. ?瑰?荤?椤靛??绾т腑???????╂??浠垛??锛??跺?????┾???у??轰欢\jizhiyun\html\??涓?????缂╄???缃?椤垫?版????

  6. ??澶?涓?涓?姝ラ?ゅ????у??轰欢\jizhiyun\html??涓?????浠跺?ㄩ?ㄩ???╁ソ???瑰?烩??涓?浼???寮?濮??у?缃?椤垫?版????濡?涓??句负涓?浼?瀹???????绀烘???俱??娉ㄦ???у??堕??瑕?灏??ㄩ?ㄦ??浠朵?娆℃?х?у?杩??伙???瑕???涓?涓?澶辫触浜???瑕??ㄩ?ㄩ???扮?у???

  7. ?у?瀹?椤甸?㈠??锛??ㄦ?瑙??ㄥ?ㄥ?板???????拌??モ??192.168.4.1???冲??杩???sp8266??涓婚〉????

??缃?

??缃???2绉??瑰?锛????╁?朵腑涓?绉??冲??

  • ???规ā寮???宸ラ??缃?
  • smartplug?瑰???缃?

???规ā寮???宸ラ??缃?

?у?瀹?????锛?浣?sp8266澶?浜????规ā寮?锛???????涓?6s浠ヤ?锛?锛??佃??/???鸿???sp8266??WiFi杩??ヨ?剧疆椤甸????

  1. ???┾??璁剧疆????绛撅?寮?濮???缃?esp8266??

  2. ??涓??撅?灏?妯″?璁剧疆涓衡??瀹㈡?风??????骞跺~??濂借?杩??ョ??wifi??绉板??瀵??????瑰?烩??纭?瀹??????跺???瑰?烩????????浣挎?伴??缃???????

  3. esp8266????瀹????朵覆?f??濡?涓?淇℃??杈??恒????????ifi宸茶?剧疆涓?tation妯″?锛?esp8266??????ip涓?92.168.1.102??

  4. ??涓?wifi涓??ㄦ?瑙??ㄨ??モ??192.168.1.102???冲??杩???sp8266棣?椤点??

SmartConfig?瑰???缃?

SmartConfig??瀹?淇″????渚???涓?绉?蹇??烽??缃??瑰?锛?灏?esp8266璁剧疆涓哄?㈡?风??妯″???杩????哄?wifi????绉板??瀵???骞挎???哄??sp8266??杩?骞挎??寰???iFi??绉板??瀵?????

  1. ??涓?????3-6s褰?wifi??绀虹??蹇???????杩??ュ?㈡?风??妯″?锛?寮?濮?smartconfig??缃???涓插?f??濡?涓?淇℃??杈??恒??

  2. 璁╂???鸿???ifi锛???????????2.4G棰?娈碉?5G棰?娈电??澶у??╄??璁惧??戒?????锛?锛?骞朵娇?ㄦ???哄井淇℃??绱⑩??瀹?淇″??绉???????浼??凤?杩??ュ??浼??峰???瑰?烩??WIFI??缃???->??寮?濮???缃?????杈???ifi??瀵????瑰?烩??杩??モ????绛?寰????叉??绀虹????姝㈤??????涓哄父浜?锛?esp8266??缃???????

  3. 涓插?f???板?轰互涓?淇℃??esp8266宸叉?ュ??ifi??IP涓?92.168.0.102

浣跨?ㄦ????

???规ā寮?涓???瑕?杩???sp8266???虹??wifi骞朵?IP浣跨??92.168.4.1锛????规ā寮????介??杩????烘???佃???磋?esp8266??娉?杩?绋??у?躲??浠ュ?㈡?风??妯″?涓轰?杩???浠ュ?㈡?风??妯″?涓轰?璇存??椤甸?㈢?????姐??

椤电??浠?缁?

1646834415359

  1. ??SmartPlug??涓鸿?惧???绉板??浠ュ?ㄢ??璁剧疆??->????绉扳??涓???瀹?涔????ㄧ???规ā寮?涓?璇ュ??绉板?充负esp8266???虹??wifi??绉帮??ㄥ?㈡?风??妯″?涓?璇ュ??绉板?充负璁惧???绉般??

  2. ??寮????????????抽???????????у??sp8266缁胯?叉??绀虹?????舵??锛?寮??虫??绀虹??锛???璇ユ?????舵????缁胯?叉??绀虹?????舵??淇?????姝ワ?姣?????浼??峰??涓?娆?sp8266寮??崇?舵????

  3. ??2020-01-04 23:26:33 ????????esp8266???堕?淬??esp8266?ㄥ?㈡?风??妯″?涓????ㄦ?朵???杩?sntp??璁?浠?浜???缃??峰?????版?堕?达??ㄧ???规ā寮?涓??变?esp8266??娉???缃???浠ヨ?ユ?堕?撮??瑕???杩?娴?瑙??ㄨ?块??esp8266椤甸??????ㄥ?娴?瑙??ㄧ???堕?村??姝ョ?esp8266??

  4. ???充????剧ずesp8266??杩?琛??堕?淬???轰欢??????缂?璇??堕?寸??淇℃????

  5. "?у?跺??quot;锛??瑰?绘?у?跺?颁???涓?涓??扮??缃?椤靛脊?猴?璇ョ?椤甸??杩?websocket??璁?涓?esp8266淇????块?炬?ワ???浠ラ??杩??ㄥ???戒护?ュ??esp8266杩?琛?浜や???浣?涔???浠ラ??杩?淇??规????ュ???版?村??????姐??

    1646834854560

瀹??惰?剧疆

榛?璁ゆ??渚?浜?10缁?瀹??跺??渚?浣跨?ㄣ???瑰?烩??瀹??垛??-->??淇??光????淇??瑰?瑰???瀹??朵换?°??褰?瀵瑰???瀹??跺???ㄦ?朵?浠ョ豢?查??叉??璇???

  • ????绉扳??锛?瀹??朵换?$????绉帮????┾??瀵瑰?锯????浼????ㄨ?ュ???跺??/p>

  • ??寮????堕?粹??锛??ㄨ?ユ?堕?寸?逛???寮?缁х?靛????崇豢?叉??绀虹??浜?锛?锛????┾??瀵瑰?锯????浼??ㄨ?ユ?堕?寸?瑰???缁х?靛?ㄣ??

  • ???抽???堕?粹??锛??ㄨ?ユ?堕?寸?逛??抽??缁х?靛????崇豢?叉??绀虹????锛??????┾??瀵瑰?锯????浼??ㄨ?ユ?堕?寸?瑰?抽??缁х?靛?ㄣ??

  • ???宠??寤舵?垛??:璇ュ???朵换?℃?ц?瀹?????浼????ㄥ???ㄥ?宠????寤舵?朵换?°??

  • ????澶???锛??ュ?ㄤ??板?ㄦ?ラ?芥病???╁??璇ヤ换?″???ц?涓?娆°??锛??板?????斤??鸿?借烦杩??????ワ?浠?浜???缃??峰???????ヤ俊?????ㄦ?瀹??????ョ??????锛?

寤舵?惰?剧疆

???烽?璁ゆ??渚?浜?10缁?寤舵?跺??渚?浣跨?ㄣ???瑰?烩??寤舵?垛??-->??淇??光????淇??瑰?瑰???寤舵?朵换?°??

  • ????绉扳??锛?寤舵?朵换?$????绉帮????┾??瀵瑰?锯????浼????ㄨ?ュ欢?躲??

  • ??寮????撮????&&???抽???撮????缁х?靛?ㄤ?寮???锛??崇豢?叉??绀虹??浜?锛????抽??锛??崇豢?叉??绀虹????锛?瀵瑰????堕?淬??

  • ???宠??寤舵?垛??:璇ュ欢?朵换?℃?ц?瀹?????浼????ㄥ???ㄥ?宠????寤舵?朵换?°??

  • ????澶?娆℃?扳??锛?寮??????抽????寰???娆℃?帮?寰???涓?娆¢??澶?娆℃?板??1锛???涓??跺欢?朵换?″??姝???ユ???宠???朵???寤舵?跺?????ㄥ?宠????寤舵?躲??

绾㈠??у??/h2>

??杩?瀛???ユ?у?ㄧ??????????锛???杩??ユ?у?ㄥ氨??浠ユ?у??sp8266锛?涓?杩?杩?涓????介??瑕?纭?浠舵????锛?jizhiyun纭?浠舵??娌℃??璇ュ???斤?锛?绾㈠??ユ?剁??S0038?ュ??O5锛???????????妗?甯告?板???舵??搴ф?硅?.pdf???????撅????瑰?烩??绾㈠???-->??淇??光????淇??瑰?瑰???绾㈠???缃???

  • ????绉扳??锛?绾㈠???缃?????绉帮????┾??瀵瑰?锯????浼????ㄨ?ョ孩澶???

  • ??寮????尖??锛??瑰?诲?瑰??宠竟???????板???????绔??冲??ユ?у?ㄥ?瑰??绾㈠??ユ?跺ご??涓?瑕?瀛??????????璇ュ????间??剧ず涓哄凡瀛????绾㈠????笺??

  • ???抽???尖??锛??瑰?诲?瑰??宠竟???????板???????绔??冲??ユ?у?ㄥ?瑰??绾㈠??ユ?跺ご??涓?瑕?瀛??????????璇ュ?抽???间??剧ず涓哄凡瀛????绾㈠????笺??

瀛??瀹??????瑰?烩??纭?瀹?????浜ら??缃???姝ゆ?跺????涓??ユ?у?ㄥ?瑰???????灏卞??浠ユ?у??sp8266??濡???寮????煎???抽???肩?稿???d?寮????充?杞?娴??ц???

?甸??璁¢??

??杩??甸??璁¢????浠ュ???剁???拌?ユ??搴х???靛?????垫???????绛?淇℃??锛?骞朵???浠ヨ?剧疆杩???杩?娴?淇??ょ?????姐??璇ュ???介??瑕?纭?浠舵????浣跨??LW8032?ュ??sp8266??浼????版??锛???????????妗?甯告?板???舵??搴ф?硅?(甯??甸??缁?璁″????.pdf???????撅????瑰?烩???甸???????ョ???甸??绛?璁¢??淇℃????

  • ?????ㄥ?锋?扳??锛?璁剧疆???ㄥ?锋?版?堕?撮?撮????

  • ???靛????锛??剧ず瀹??剁?靛??????浣?锛?V

  • ???垫???锛??剧ず瀹??剁?垫?????浣?锛?A

  • ????????锛??剧ず瀹??舵????????????浣?锛?W

  • ??瀹??ㄥ??????锛??剧ず瀹??ㄥ????锛??靛??*?垫???寰??版??锛????ц?杞芥?跺???ㄥ????浼?澶т?????????????浣?锛?W

  • ?????????扳??锛??????????や互瀹??ㄥ??????寰???

  • ???甸????锛?瀹??剁?ㄧ?甸??????浣?锛?Wh

  • ??杩?琛??堕?粹??锛?esp8266绱?璁$??杩?琛??堕?达?姝ゅ???杩?琛??堕?村???????????充???涓?????杩?琛??堕?粹??涓???esp8266姝e父?????惰?ユ?堕?翠?娓??讹?????????????杩?琛??堕?撮?????朵?娓??躲????浣?锛?灏???/p>

  • ??娓??舵?版????锛??甸????杩?琛??堕?存?版??浼?娓??躲??

  • ??娆???淇??も??锛??鹃???宠竟????瀵瑰?锯???剁?靛??灏?浜?璇ヨ?惧???靛????搴т??抽??????浣?锛?V

  • ??杩???淇??も??锛??鹃???宠竟????瀵瑰?锯???剁?靛??澶т?璇ヨ?惧???靛????搴т??抽??????浣?锛?V

  • ??杩?娴?淇??も??锛??鹃???宠竟????瀵瑰?锯???剁?垫?澶т?璇ヨ?惧???垫???搴т??抽??????浣?锛?A

  • ??杩?杞戒??も??锛??鹃???宠竟????瀵瑰?锯???跺????澶т?璇ヨ?惧????????搴т??抽??????浣?锛?W

  • ?????典??も??锛??鹃???宠竟????瀵瑰?锯???舵?娴??板????灏?浜?璁惧?????????跺??????涔???灏??抽??璁惧?????浣?锛?W

浜?骞冲??/h2>

瀵规?ヤ?骞冲?板??瀹??拌?惧???杩?绋??у?讹?????????璐?澹崇?╄?????捐???╄??骞冲?般??娉ㄦ??:?????ㄥ?㈡?风??妯″?涓?杩??ュ?板?缃??舵??浼?瀵规?ユ??????

1646836594988

?捐??浜??╄??骞冲??/h3>

娉ㄥ???宠?捐??浜??╄??骞冲?板??浠ュ???伴??杩????捐??杩?杩???灏?绋?搴??ヨ?绋??у?朵互??杩?绋??轰欢??绾х????浣????捐??浜??╄??骞冲?板?浣?浣跨?ㄥ??浠ュ????杩???

??2绉?娉ㄥ???瑰?锛??ㄦ??娉ㄥ????????娉ㄥ????

  • ?ㄦ??娉ㄥ???跺????瑕???渚?浜у??ID??浜у??瀵???sp8266棣?娆″???ㄦ?朵?灏?MAC?板??浣?涓鸿?惧???绉版敞???宠?捐??浜??╄??骞冲?般??杩??峰????濂藉???涓??ㄤ????ㄨ?捐??浜??╄??骞冲?板??寤鸿?惧?锛?澶?涓?esp8266??浠ラ??缃???涓?涓?浜у??ID??浜у??瀵??ャ???ㄨ??浣跨?ㄥ?ㄦ??娉ㄥ????
  • ????娉ㄥ????瑕?浜????ㄨ?捐??浜??╄??骞冲?板??寤哄ソ璁惧?锛??跺??灏? 浜у??ID??璁惧?ID??璁惧?瀵??ラ??缃???sp8266涓???

濡???esp8266宸茬?瀹?????缃?姝ゆ?惰?界?跺??浠ユ????娉ㄥ???拌?捐??浜??╄??骞冲?帮?浣???璁惧?????宸辩?????捐??杩?杩???灏?绋?搴???娉?瀹????宠????濡????宠??宠??璧锋?ュ??浠ョ?诲??捐??浜??╄??骞冲?板?ㄢ??璁惧?璋?璇????惧?板?瑰???璁惧?锛??跺???ㄢ???捐??杩?杩???灏?绋?搴?????璁惧???浜?缁寸??瀹???缁?瀹?锛?缁?瀹???灏卞??浠ュ?ㄢ???捐??杩?杩???灏?绋?搴?涓??у?惰?ヨ?惧???涓?杩?杩?绉??瑰?澶?楹荤????

杩??????涓?绉??瑰???浠ヨ???ㄥ????缁?瀹?锛?浜у??ID??浜у??瀵??ュ苟淇?瀛?濂介??缃???锛???涓?????3-6s褰?wifi??绀虹??蹇???????杩???martconfig??缃?妯″?锛?姝ゆ?舵??寮????捐??杩?杩???灏?绋?搴? > ??+?封???炬?? > "娣诲??璁惧?" > "?靛伐?ф??" > "??搴?quot; ???ф??绀哄?濮???缃?????缃?瀹??????ㄢ???捐??杩?杩???灏?绋?搴?涓???浠ョ???版?よ?惧???瑙?棰???绋?????杩???

璐?澹崇?╄??骞冲??/h3>

??瑕?浜?????a href="https://www.bigiot.net/User/listDev.html">璐?澹崇?╄??骞冲??/a>??寤哄ソ璁惧????ュ?c??濡?浣???寤鸿?惧?浠ュ??灏?璐?澹崇?╄??璐??风?瀹??板ぉ??绮剧?靛苟??????杩???

  • ??璁惧???绉扳??锛??????冲? 锛?瀵规?ユ??????璇ュ??绉颁?浠?璐?澹崇?╄??骞冲?拌???ㄨ?峰????

  • ??璁惧?绫诲????锛??规??瀹??????佃??瀹?涔?璁剧疆锛?杩?涓????版??涔?涓?澶???

  • ??璁惧?ID??锛?蹇?濉?椤广??瀵瑰?璐?澹崇?╄??璁惧?ID

  • ??API KEY??锛?蹇?濉?椤广??瀵瑰?璐?澹崇?╄??璁惧???APIKEY??娉ㄦ??锛???璁惧?ID??????APIKEY??蹇?椤诲?瑰?????浼?杩??ヨ?澹崇?╄??浼?澶辫触??

  • ??寮??虫?ュ?b??锛???濉???璐?澹崇?╄??璁惧?瀵瑰????ュ??D锛?濉???浜?璇ユ?ュ??D esp8266浼?瀹??朵??ュ??崇???舵?????ヤ?濉???涓?浼?涓??ョ?舵????

  • ??娓╁害?ュ?b??锛???濉???璐?澹崇?╄??璁惧?瀵瑰????ュ??D锛?濉???浜?璇ユ?ュ??Desp8266浼?瀹??朵??ユ俯搴??版?????ヤ?濉???涓?涓??ャ??

  • ??婀垮害?ュ?b??锛???濉???璐?澹崇?╄??璁惧?瀵瑰????ュ??D锛?濉???浜?璇ユ?ュ??Desp8266浼?瀹??朵??ユ箍搴??版?????ヤ?濉???涓?涓??ャ??

璁剧疆

  • ????绉扳??锛???P妯″?涓?璇ュ??绉板?充负esp8266???虹??wifi??绉帮???tation妯″?涓?璇ュ??绉板?充负璁惧???绉般??

  • ??妯″???锛?1锛?瀹㈡?风??妯″?锛??充负station妯″?锛?2锛????规ā寮?锛??充负AP妯″?锛?3锛??鸿?介??瀵癸?璁惧?涓?娆¢?????朵?杩???tation妯″?骞跺????martconfig??瑕?浣跨?ㄦ???洪???扮?esp8266??缃???

  • ??WIFI??锛??ㄥ?㈡?风??妯″?涓??瑰?绘??????璁剧疆涓?娆¢?????惰??ョ??wifi??绉?/p>

  • ??瀵?????锛?杩???ifi??瀵???

  • ??涓??电?舵????锛??抽??锛?姣?娆′??甸?藉?抽??缁х?靛?????寮?锛?姣?娆′??甸?芥??寮?缁х?靛???涓?娆$?舵??锛?淇???涓?涓?娆$???舵??

  • ????绾р??锛????╂?板?轰欢杩?琛??ㄧ嚎??绾?/p>

  • ????????锛?????esp8266

  • ????缃???锛??㈠??哄??妯″???瀹??躲??寤舵?躲??绾㈠????甸?????版??灏??ㄩ?ㄦ??讹?esp8266杩??ラ?璁ょ??station妯″?骞跺?濮?smartconfig??缃???浜?骞冲?扮????缃?涓?浼?娓??躲??

??寤哄?????澧?

瀹?瑁?IDE

  • 瀹?淇″????瀵?sp8266??渚?浜?涓?浣???寮?????澧?锛??轰? Windows + Cygwin + Eclipse+ GCC 锛?锛??瑰??a href="https://pan.baidu.com/s/12h7Tu3W4NZCjCtkhTIYNTg?pwd=j49n">杩???涓?杞斤?瑙e??????浠ョ?存?ヨ?琛?????瀹?瑁???涓?杞藉???存?ヨВ???????圭??褰??冲????

  • 涓?杞芥???锛??板??锛?https://github.com/sunkaimr/SmartPlugV2.0.git

??寤哄伐绋?

  • ??寮?IDE

1647010030561

  • ?ㄨ????????File?? > "Import"锛??ㄥ脊?虹??瀵硅??妗????┾??Existing Code as Makefile Project?? ?跺????Next????

1647010372224

  • ???╀???宸茬?clone涓??ョ??浠g??璺?寰?锛???瑕?娉ㄦ??????璺?寰?瑕????╁??martPlugV2.0\plug2.0涓?锛???????杈圭?璇?浼???涓烘?句???akefile??澶辫触??

1647010714554

  • 寮?濮?缂?璇?宸ョ?锛?榧???绉昏?抽」????绉颁????诲?抽??锛?寮瑰?虹?????????┾??Build Project??锛???寮???console????浠ユ?ョ??缂?璇?淇℃????

1647011242001

  • 缂?璇??????????扮??bin??浠跺??code>SmartPlugV2.0\plug2.0\bin\upgrade\user1.4096.new.6.bin

浠g??

浠g??缁???

?????? app                        => ?ㄦ?蜂唬??瀛??剧??褰?
???? ?????? driver                 => 椹卞?ㄧ?稿?筹?涓昏?????GPIO??涓插?g??椹卞?????? ???? ?????? gpio.c
???? ???? ?????? Makefile
???? ???? ?????? uart.c
???? ?????? include                => 椹卞?ㄧ??澶存??浠????? ???? ?????? gpio.h
???? ???? ?????? uart.h
        ......
???? ?????? Makefile
???? ?????? readme.txt
???? ?????? user                   => ?ㄦ?风??涓??′唬??
????     ?????? base64.c           => ??渚?base64缂?????瑙g??搴?
????     ?????? base64.h
????     ?????? Makefile
????     ?????? sha1.c             => sha1缂???搴?
????     ?????? sha1.h
????     ?????? user_bigiot.c      => 瀵规?ヨ?澹崇?╄???稿?充唬??
????     ?????? user_comm.c        => ??渚????ㄧ???芥??????     ?????? user_config.c      => ??渚???缃??稿?崇??锛?????浠?Flash涓?璇诲???????ラ??缃?锛?浠ュ????缃?????娉??ф???????     ?????? user_dns.c         => 瀹??颁?涓?涓?绠?????dns???″??????     ?????? user_flash.c       => 瀹??颁?Flash璇诲??搴?灞??芥??????     ?????? user_http.c        => 瑙f??http??璁?
????     ?????? user_httpHandle.c  => 澶???http璇锋?
????     ?????? user_infrared.c    => 瑙f??绾㈠?缂???
????     ?????? user_key.c         => ??????澶???
????     ?????? user_led.c         => LED?????舵??璁剧疆
????     ?????? user_log.c         => ??渚??ュ????煎???杈???????     ?????? user_main.c        => ?ㄦ?蜂??″?芥?扮???ュ??????     ?????? user_meter.c       => ??渚?HLW8032?甸??璁¢???稿?崇???版??瑙f??锛?浠ュ?????????靛???版??淇?瀛?绛?????????     ?????? user_mqtt.c        => ??杩?mqtt??璁?瀵规?ヨ?捐???╄??骞冲??????     ?????? user_plug.c        => ??搴х?稿?崇?????斤?????瀹??躲??寤舵?剁??????????     ?????? user_temp.c        => ?╃?ㄧ?????甸?婚??杩?AD璁$??娓╁害
????     ?????? user_upgrade.c     => OTA??绾х?稿??????     ?????? user_web.c         => ??渚?web server???芥?帮?http浼?浣跨??
????     ?????? user_websocket.c   => 瀹??颁?绠?????websocket??璁?
????     ?????? user_wifi.c        => ??缃?esp8266??宸ヤ?妯″?AP??station??smartconfig绛?
?????? bin
???? ?????? upgrade
????     ?????? user1.4096.new.6.bin  => 姣?娆$?璇???????bin??浠??????? extra_include                 => 澶??ㄧ??澶存??浠??????? include                       => 澶存??浠??????? ld
?????? lib                           => 瀛???hird_party缂?璇??????炬?ュ?
?????? LICENSE
?????? Makefile
?????? Makefile.bak
?????? README.md  
?????? third_party                   => 绗?涓??瑰?锛??存?ヤ慨?规????锛?淇??瑰????瑕????版?翠釜缂?璇?third_party???戒娇???????? tools 
?????? VERSION

浠g???ュ??/h2>

1647011758296

API?ュ??/h1>

寮??崇?舵??

?ヨ?㈠??崇?舵??

?规?锛?GET

URL锛? /relaystatus

???帮?

??

??搴???锛? 200锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
status string on锛???寮?锛?off锛??抽??

?蜂?锛?

curl -X GET http://192.168.3.15/relaystatus
{"status":"on"}

璁剧疆寮??崇?舵??

?规?锛?POST

URL锛? /relaystatus

???帮?

瀛?娈?/th> 绫诲?? 璇存??
status string on锛???寮?锛?off锛??抽??

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
status string on锛???寮?锛?off锛??抽??

?蜂?锛?

curl -X POST http://192.168.3.15/relaystatus -d'{"status":"off"}'
{"status":"off"}

?ユ??

?ヨ?㈡?ユ??

?规?锛?GET

URL锛? /date

???帮?

??

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
Date string ?ユ??锛?濡? ??2022-03-12 12:15:13??
SyncTime bool true锛??堕?村凡缁???姝ユ????锛?false锛??堕?存????姝?/td>

?蜂?锛?

curl -X GET http://192.168.3.15/date
{"Date":"2022-03-12 12:18:05", "SyncTime":true}

璁剧疆?ユ??

?规?锛?POST

URL锛? /date

???帮?

瀛?娈?/th> 绫诲?? 璇存??
Date string ?ユ??锛?濡? ??2022-03-12 12:15:13??

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
Date string ?ユ??锛?濡? ??2022-03-12 12:15:13??
SyncTime bool true锛??堕?村凡缁???姝ユ????锛?false锛??堕?存????姝?/td>

?蜂?锛?

curl -X POST http://192.168.3.15/date -d'{"Date":"2032-03-12 12:18:05"}'
{"Date":"2032-03-12 12:18:05", "SyncTime":true}

娓╁害

?ヨ?㈡俯搴?/h3>

?规?锛?GET

URL锛? /temperature

???帮?

??

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
Temperature float 娓╁害锛?float绫诲??锛?濡?锛?29.7

?蜂?锛?

curl -X GET http://192.168.3.15/temperature
{"Temperature": 29.8}

璁惧?淇℃??

?ヨ?㈣?惧?淇℃??

?规?锛?GET

URL锛? /info

???帮?

??

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
GitCommit string git commit id
BuildDate string ?轰欢缂?璇??ユ??
SDKVersion string FreeRTOS??????
SoftWareVersion string 杞?浠剁??????
FlashMap string Flash??澶у?
UserBin string 褰???浣跨?ㄧ??user bin锛?user1.bin????user2.bin
RunTime int 杩?琛??堕?村??浣???绉???锛?????浼?浠??跺?濮?
Hardware string 纭?浠跺???凤??ㄤ唬??涓???瀹?涔?
Mac string esp8266??mac?板??

?蜂?锛?

curl -X GET http://192.168.3.15/info
{"GitCommit":"81c9939f2b33115d8305ff023f581053f2cedc3a","BuildDate":"Jun  7 2021 22:33:0","SDKVersion":"2.0.0(e271380)","SoftWareVersion":"5.0.1","FlashMap":"4MB","UserBin":"user1.bin","RunTime":3490,"Hardware":"changxin meter","Mac":"ECFABC0D6308"}

瀹???/h2>

?ヨ?㈡??瀹???瀹??跺??/h3>

?规?锛?GET

URL锛? /timer/{timer_id}

???帮?

瀛?娈?/th> 绫诲?? 璇存??
timer_id int 瀹??跺??D锛????艰???? ~ 10

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
Num int 瀹??跺??D
Name string 瀹??跺?ㄥ??瀛?
Enable bool 璇ュ???跺?ㄦ????????/td>
OnTime string 寮??????堕?寸?癸?濡?锛???08:00??
OnEnable bool 寮??????堕?寸?瑰???芥????????/td>
OffTime string ?抽?????堕?寸?癸?濡?锛???18:00??
OffEnable bool ?抽?????堕?寸?瑰???芥????????/td>
Week int ??澶?锛?0x00锛??ц?涓?娆★?锛?0x01锛?姣??ㄤ?锛?锛?0x02锛?姣??ㄤ?锛?锛?0x04锛?姣??ㄤ?锛?锛?0x08锛?姣??ㄥ??锛?锛?0x10锛?姣??ㄤ?锛?锛?0x20锛?姣??ㄥ??锛?锛?0x40锛?姣??ㄦ?ワ?锛?0x7F锛?姣?澶╋???浠ヤ????靛??浠ラ????缁???????瀵瑰?舵???杩?绠?锛?姣?濡??冲?ㄥ?ㄤ????ㄤ??ц??? ??Week=(0x01|0x02)??
CascodeNum int 绾ц??浠诲?★?璇ュ???朵换?″????涔???浼????ㄥ欢?朵换?★?寤舵?朵换?$??ID?充负CascodeNum
Cascode bool 绾ц??浠诲?℃??????寮?

?蜂?锛?

curl -X GET http://192.168.3.15/timer/1
[{"Num":1,"Name":"timer 1","Enable":false,"OnEnable":true,"OffEnable":true,"Cascode":false,"Week":31,"CascodeNum":1,"OnTime":"18:30","OffTime":"03:00"}]

璁剧疆??瀹???瀹??跺??/h3>

?规?锛?POST

URL锛? /timer

???帮?

瀛?娈?/th> 绫诲?? 璇存??
Num int 瀹??跺??D
Name string 瀹??跺?ㄥ??瀛?
Enable bool 璇ュ???跺?ㄦ????????/td>
OnTime string 寮??????堕?寸?癸?濡?锛???08:00??
OnEnable bool 寮??????堕?寸?瑰???芥????????/td>
OffTime string ?抽?????堕?寸?癸?濡?锛???18:00??
OffEnable bool ?抽?????堕?寸?瑰???芥????????/td>
Week int ??澶?锛?0x00锛??ц?涓?娆★?锛?0x01锛?姣??ㄤ?锛?锛?0x02锛?姣??ㄤ?锛?锛?0x04锛?姣??ㄤ?锛?锛?0x08锛?姣??ㄥ??锛?锛?0x10锛?姣??ㄤ?锛?锛?0x20锛?姣??ㄥ??锛?锛?0x40锛?姣??ㄦ?ワ?锛?0x7F锛?姣?澶╋???浠ヤ????靛??浠ラ????缁???????瀵瑰?舵???杩?绠?锛?姣?濡??冲?ㄥ?ㄤ????ㄤ??ц??? ??Week=(0x01|0x02)??
CascodeNum int 绾ц??浠诲?★?璇ュ???朵换?″????涔???浼????ㄥ欢?朵换?★?寤舵?朵换?$??ID?充负CascodeNum
Cascode bool 绾ц??浠诲?℃??????寮?

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
result string 缁?????success锛?????锛?澶辫触锛?failed
msg string 杩???淇℃??

?蜂?锛?

curl -X POST http://192.168.3.15/timer -d'[{"Num":1,"Name":"timer 1","Enable":true,"OnEnable":true,"OffEnable":true,"Cascode":false,"CascodeNum":1,"Week":31,"OnTime":"18:30","OffTime":"03:00"}]'
{"result":"success", "msg":""}

?峰??????瀹??跺??/h3>

?规?锛?POST

URL锛? /timer/all

???帮?

??

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

??搴?瀛?娈靛???????ヨ?㈡??瀹???瀹??跺?ㄢ????

?蜂?锛?

curl -X GET http://192.168.3.15/timer/all
[{"Num":1,"Name":"timer 1","Enable":true,"OnEnable":true,"OffEnable":true,"Cascode":false,"Week":31,"CascodeNum":1,"OnTime":"18:30","OffTime":"03:00"},{"Num":2,"Name":"timer 2","Enable":false,"OnEnable":true,"OffEnable":true,"Cascode":false,"Week":0,"CascodeNum":1,"OnTime":"00:00","OffTime":"00:00"},{"Num":3,"Name":"timer 3","Enable":false,"OnEnable":true,"OffEnable":true,"Cascode":false,"Week":0,"CascodeNum":1,"OnTime":"00:00","OffTime":"00:00"},{"Num":4,"Name":"timer 4","Enable":false,"OnEnable":true,"OffEnable":true,"Cascode":false,"Week":0,"CascodeNum":1,"OnTime":"00:00","OffTime":"00:00"},{"Num":5,"Name":"timer 5","Enable":false,"OnEnable":true,"OffEnable":true,"Cascode":false,"Week":0,"CascodeNum":1,"OnTime":"00:00","OffTime":"00:00"},{"Num":6,"Name":"timer 6","Enable":false,"OnEnable":true,"OffEnable":true,"Cascode":false,"Week":0,"CascodeNum":1,"OnTime":"00:00","OffTime":"00:00"},{"Num":7,"Name":"timer 7","Enable":false,"OnEnable":true,"OffEnable":true,"Cascode":false,"Week":0,"CascodeNum":1,"OnTime":"00:00","OffTime":"00:00"},{"Num":8,"Name":"timer 8","Enable":false,"OnEnable":true,"OffEnable":true,"Cascode":false,"Week":0,"CascodeNum":1,"OnTime":"00:00","OffTime":"00:00"},{"Num":9,"Name":"timer 9","Enable":false,"OnEnable":true,"OffEnable":true,"Cascode":false,"Week":0,"CascodeNum":1,"OnTime":"00:00","OffTime":"00:00"},{"Num":10,"Name":"timer 10","Enable":false,"OnEnable":true,"OffEnable":true,"Cascode":false,"Week":0,"CascodeNum":1,"OnTime":"00:00","OffTime":"00:00"}]

寤舵??/h2>

?ヨ?㈡??瀹???寤舵?跺??/h3>

?规?锛?GET

URL锛? /delay/{delay_id}

???帮?

瀛?娈?/th> 绫诲?? 璇存??
delay_id int 寤舵?跺??D锛????艰???? ~ 10

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
Num int 寤舵?跺??D
Name string 寤舵?跺?ㄥ??瀛?
Enable bool 璇ュ欢?跺?ㄦ????????/td>
OnInterval string 寮??????堕?撮?撮??锛?濡?寮????堕?撮?撮??涓?0????"00:10"
OnEnable bool 寮??????芥????????/td>
OffInterval string ?抽?????堕?撮?撮??锛?濡??抽???堕?撮?撮??涓?????"00:01"
OffEnable bool ?抽?????芥????????/td>
TimePoint string 寮??????抽?????堕?寸?广??锛???璇伙??辩?搴??规??褰????堕?磋???ㄨ?$??锛?
SwFlag int 褰?????瑕?璁$??寮????堕?磋????抽???堕?达?2:off,1:on,0:?戒???锛???璇伙??辩?搴????ㄨ?$??锛?
CycleTimes int 寰???娆℃??/td>
TmpCycleTimes int ?╀?寰??ц???寰???娆℃?帮???璇伙??辩?搴????ㄨ?$??锛?
CascodeNum int 绾ц??浠诲?★?璇ュ欢?朵换?″????涔???浼????ㄤ?涓?涓?寤舵?朵换?★?寤舵?朵换?$??ID?充负CascodeNum
Cascode bool 绾ц??浠诲?℃??????寮?

?蜂?锛?

curl -X GET http://192.168.3.15/delay/1
[{"Num":1,"Name":"delay 1","Enable":false,"OnEnable":true,"OffEnable":true,"CycleTimes":1,"TmpCycleTimes":1,"SwFlag":0,"Cascode":false,"CascodeNum":2,"OnInterval":"00:10","OffInterval":"00:01","TimePoint":"16:51"}]

璁剧疆??瀹???寤舵?跺??/h3>

?规?锛?POST

URL锛? /delay

???帮?

瀛?娈?/th> 绫诲?? 璇存??
Num int 寤舵?跺??D
Name string 寤舵?跺?ㄥ??瀛?
Enable bool 璇ュ欢?跺?ㄦ????????/td>
OnInterval string 寮??????堕?撮?撮??锛?濡?寮????堕?撮?撮??涓?0????"00:10"
OnEnable bool 寮??????芥????????/td>
OffInterval string ?抽?????堕?撮?撮??锛?濡??抽???堕?撮?撮??涓?????"00:01"
OffEnable bool ?抽?????芥????????/td>
CycleTimes int 寰???娆℃??/td>
CascodeNum int 绾ц??浠诲?★?璇ュ欢?朵换?″????涔???浼????ㄤ?涓?涓?寤舵?朵换?★?寤舵?朵换?$??ID?充负CascodeNum
Cascode bool 绾ц??浠诲?℃??????寮?

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
result string 缁?????success锛?????锛?澶辫触锛?failed
msg string 杩???淇℃??

?蜂?锛?

curl -X POST http://192.168.3.15/delay -d'[{"Num":1,"Name":"delay 1","Enable":true,"OnEnable":true,"OffEnable":true,"Cascode":false,"CascodeNum":2,"CycleTimes":10,"OnInterval":"00:02","OffInterval":"00:01"}]'
{"result":"success", "msg":""}

?峰??????寤舵?朵换??/h3>

?规?锛?GET

URL锛? /delay/all

???帮?

??

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

??搴?瀛?娈靛???????ヨ?㈡??瀹???寤舵?跺?ㄢ????

?蜂?锛?

curl -X GET http://192.168.3.15/delay/all
[{"Num":1,"Name":"delay 1","Enable":true,"OnEnable":true,"OffEnable":true,"CycleTimes":10,"TmpCycleTimes":9,"SwFlag":2,"Cascode":false,"CascodeNum":2,"OnInterval":"00:02","OffInterval":"00:01","TimePoint":"13:17"},{"Num":2,"Name":"delay 2","Enable":false,"OnEnable":true,"OffEnable":true,"CycleTimes":15,"TmpCycleTimes":15,"SwFlag":2,"Cascode":false,"CascodeNum":3,"OnInterval":"00:01","OffInterval":"00:02","TimePoint":"16:41"},{"Num":3,"Name":"delay 3","Enable":false,"OnEnable":true,"OffEnable":true,"CycleTimes":1,"TmpCycleTimes":0,"SwFlag":0,"Cascode":false,"CascodeNum":4,"OnInterval":"00:01","OffInterval":"00:01","TimePoint":"00:00"},{"Num":4,"Name":"delay 4","Enable":false,"OnEnable":true,"OffEnable":true,"CycleTimes":1,"TmpCycleTimes":0,"SwFlag":0,"Cascode":false,"CascodeNum":5,"OnInterval":"00:01","OffInterval":"00:01","TimePoint":"00:00"},{"Num":5,"Name":"delay 5","Enable":false,"OnEnable":true,"OffEnable":true,"CycleTimes":1,"TmpCycleTimes":0,"SwFlag":0,"Cascode":false,"CascodeNum":6,"OnInterval":"00:01","OffInterval":"00:01","TimePoint":"00:00"},{"Num":6,"Name":"delay 6","Enable":false,"OnEnable":true,"OffEnable":true,"CycleTimes":1,"TmpCycleTimes":0,"SwFlag":0,"Cascode":false,"CascodeNum":7,"OnInterval":"00:01","OffInterval":"00:01","TimePoint":"00:00"},{"Num":7,"Name":"delay 7","Enable":false,"OnEnable":true,"OffEnable":true,"CycleTimes":1,"TmpCycleTimes":0,"SwFlag":0,"Cascode":false,"CascodeNum":8,"OnInterval":"00:01","OffInterval":"00:01","TimePoint":"00:00"},{"Num":8,"Name":"delay 8","Enable":false,"OnEnable":true,"OffEnable":true,"CycleTimes":1,"TmpCycleTimes":0,"SwFlag":0,"Cascode":false,"CascodeNum":9,"OnInterval":"00:01","OffInterval":"00:01","TimePoint":"00:00"},{"Num":9,"Name":"delay 9","Enable":false,"OnEnable":true,"OffEnable":true,"CycleTimes":1,"TmpCycleTimes":0,"SwFlag":0,"Cascode":false,"CascodeNum":10,"OnInterval":"00:01","OffInterval":"00:01","TimePoint":"00:00"},{"Num":10,"Name":"delay 10","Enable":false,"OnEnable":true,"OffEnable":true,"CycleTimes":1,"TmpCycleTimes":0,"SwFlag":0,"Cascode":false,"CascodeNum":0,"OnInterval":"00:01","OffInterval":"00:01","TimePoint":"00:00"}]

绾㈠?

璇存??锛???瑕?纭?浠舵????锛?灏?SmartPlugV2.0\plug2.0\app\include\user_led.h涓???IS_CHANG_XIN??IS_CHANG_XIN_V1璁剧疆涓?code>1?舵??????姝ゅ???姐??

?ヨ?㈡??瀹???绾㈠?浠诲??/h3>

?规?锛?GET

URL锛? /infrared/{infrared_id}

???帮?

瀛?娈?/th> 绫诲?? 璇存??
infrared_id int 绾㈠?浠诲??D锛????艰???? ~ 10

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
Num int 绾㈠??у?跺??D
Name string 绾㈠??у?跺?ㄥ??瀛?
Enable bool 绾㈠??у?跺?ㄦ????????/td>
OnValue string 绾㈠?寮?????????锛?"DA00000"
OffValue string 绾㈠??抽????????锛???DA02000??

?蜂?锛?

curl -X GET http://192.168.3.15/infrared/1
[{"Num":1,"Name":"infrared 1","Enable":false,"OnValue":"0","OffValue":"0"}]

瀛??寮???????

?规?锛?GET

URL锛? /infrared/{infrared_id}/switch/on

???帮?

瀛?娈?/th> 绫诲?? 璇存??
infrared_id int 绾㈠?浠诲??D锛????艰???? ~ 10

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
Num int 绾㈠??у?跺??D
Value string 瀛???扮孩澶?????锛?濡???CA80000??锛?娉ㄦ??锛? ???ㄥ??0s??瀹???瀛?? 锛?????瓒??朵?杩???0

璇ユ?ュ?e苟涓?浼?瀛??ㄥ????扮??绾㈠?????锛???瑕???娆¤??ㄢ??璁剧疆??瀹?绾㈠?浠诲?♀???ュ?f?ヨ?剧疆?拌?惧?????

?蜂?锛?

curl -X GET http://192.168.3.15/infrared/1/switch/on
{"Num":1, "Value":"CA80000"}

瀛???抽??????

?规?锛?GET

URL锛? /infrared/{infrared_id}/switch/off

???帮?

瀛?娈?/th> 绫诲?? 璇存??
infrared_id int 绾㈠?浠诲??D锛????艰???? ~ 10

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
Num int 绾㈠??у?跺??D
Value string 瀛???扮孩澶?????锛?濡???DA00000??锛?娉ㄦ??锛? ???ㄥ??0s??瀹???瀛?? 锛?????瓒??朵?杩???0

璇ユ?ュ?e苟涓?浼?瀛??ㄥ????扮??绾㈠?????锛???瑕???娆¤??ㄢ??璁剧疆??瀹?绾㈠?浠诲?♀???ュ?f?ヨ?剧疆?拌?惧?????

?蜂?锛?

curl -X GET http://192.168.3.15/infrared/1/switch/off
{"Num":1, "Value":"DA00000"}

璁剧疆??瀹???绾㈠?浠诲??/h3>

?规?锛?POST

URL锛? /infrared

???帮?

瀛?娈?/th> 绫诲?? 璇存??
Num int 绾㈠??у?跺??D
Name string 绾㈠??у?跺?ㄥ??瀛?
Enable bool 绾㈠??у?跺?ㄦ????????/td>
OnValue string 绾㈠?寮?????????锛?"DA02000"锛?璇ュ?煎??浠ラ??杩???瀛??寮??????????ュ?f?ヨ?峰??
OffValue string 绾㈠??抽????????锛???DA00000??锛?璇ュ?煎??浠ラ??杩???瀛???抽?????????ュ?f?ヨ?峰??

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
result string 缁?????success锛?????锛?澶辫触锛?failed
msg string 杩???淇℃??

?蜂?锛?

curl -X POST http://192.168.3.15/infrared -d'[{"Num":1,"Name":"infrared 1","Enable":true,"OnValue":"DA00000","OffValue":"DA02000"}]'
{"result":"success", "msg":""}

?峰??????绾㈠?浠诲??/h3>

?规?锛?GET

URL锛? /infrared/all

???帮?

??

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

??搴?瀛?娈靛???????ヨ?㈡??瀹???绾㈠?浠诲?♀????

?蜂?锛?

curl -X GET http://192.168.3.15/infrared/all
[{"Num":1,"Name":"infrared 1","Enable":true,"OnValue":"DA00000","OffValue":"DA02000"},{"Num":2,"Name":"infrared 2","Enable":false,"OnValue":"0","OffValue":"0"},{"Num":3,"Name":"infrared 3","Enable":false,"OnValue":"0","OffValue":"0"},{"Num":4,"Name":"infrared 4","Enable":false,"OnValue":"0","OffValue":"0"},{"Num":5,"Name":"infrared 5","Enable":false,"OnValue":"0","OffValue":"0"},{"Num":6,"Name":"infrared 6","Enable":false,"OnValue":"0","OffValue":"0"},{"Num":7,"Name":"infrared 7","Enable":false,"OnValue":"0","OffValue":"0"},{"Num":8,"Name":"infrared 8","Enable":false,"OnValue":"0","OffValue":"0"},{"Num":9,"Name":"infrared 9","Enable":false,"OnValue":"0","OffValue":"0"},{"Num":10,"Name":"infrared 10","Enable":false,"OnValue":"0","OffValue":"0"}]

?甸??

璇存??锛???瑕?纭?浠舵????锛?灏?SmartPlugV2.0\plug2.0\app\include\user_led.h涓???IS_CHANG_XIN璁剧疆涓?code>1?舵??????姝ゅ???姐??

?ヨ?㈢?甸??璁¢??

?规?锛?GET

URL锛? /meter

???帮?

??

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
Voltage string ?靛??
Current string ?垫?
Power string ????
ApparentPower string 瑙??ㄥ????
PowerFactor string ????????/td>
Electricity string ?甸??
RunTime string 杩?琛??堕?达???浣?灏???/td>
UnderVoltage string 娆???淇??ゅ?ㄤ??靛??
UnderVoltageEnable bool ???????娆???淇???/td>
OverVoltage string 杩???淇??ゅ?ㄤ??靛??
OverVoltageEnable bool ???????杩???淇???/td>
OverCurrent string 杩?娴?淇??ゅ?ㄤ??垫?
OverCurrentEnable bool ???????杩?娴?淇???/td>
OverPower bool 杩?杞戒??ゅ?ㄤ?????
OverPowerEnable bool ???????杩?杞戒???/td>
UnderPower string ???典??わ?妫?娴??板????灏?浜?姝ゅ?????跺??????涔???灏??抽??璁惧?
UnderPowerEnable bool ??????????典???/td>

?蜂?锛?

curl -X GET http://192.168.3.15/meter
{"Voltage":"234.2","Current":"0.4","Power":"45.2","ApparentPower":"98.5","PowerFactor":"0.46","Electricity":"9438.6","RunTime":"4939.2","UnderVoltage":"180","OverVoltage":"250","OverCurrent":" 10","OverPower":"2200","UnderPower":"1.0","UnderVoltageEnable":true,"OverVoltageEnable":true,"OverCurrentEnable":true,"OverPowerEnable":true,"UnderPowerEnable":false}

璁剧疆?甸??璁¢??

?规?锛?GET

URL锛? /meter

???帮?

瀛?娈?/th> 绫诲?? 璇存??
Electricity string ?甸??
RunTime string 杩?琛??堕?达???浣?灏???/td>
UnderVoltage string 娆???淇??ゅ?ㄤ??靛??
UnderVoltageEnable bool ???????娆???淇???/td>
OverVoltage string 杩???淇??ゅ?ㄤ??靛??
OverVoltageEnable bool ???????杩???淇???/td>
OverCurrent string 杩?娴?淇??ゅ?ㄤ??垫?
OverCurrentEnable bool ???????杩?娴?淇???/td>
OverPower bool 杩?杞戒??ゅ?ㄤ?????
OverPowerEnable bool ???????杩?杞戒???/td>
UnderPower string ???典??わ?妫?娴??板????灏?浜?姝ゅ?????跺??????涔???灏??抽??璁惧?
UnderPowerEnable bool ??????????典???/td>

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

??搴?瀛?娈靛???????ヨ?㈢?甸??璁¢??????

?蜂?锛?

# 娓??剁?甸????杩?琛??堕??curl -X POST http://192.168.3.15/meter -d'{"Electricity":"0","RunTime":"0"}'
{"Voltage":"233.7","Current":"0.4","Power":"42.0","ApparentPower":"91.5","PowerFactor":"0.46","Electricity":"0.0","RunTime":"0.0","UnderVoltage":"180","OverVoltage":"250","OverCurrent":" 10","OverPower":"2200","UnderPower":"1.0","UnderVoltageEnable":true,"OverVoltageEnable":true,"OverCurrentEnable":true,"OverPowerEnable":true,"UnderPowerEnable":false}

# 璁剧疆杩?娴?淇??ょ???垫?
curl -X POST http://192.168.3.15/meter -d'{"OverCurrent":"1","OverCurrentEnable": true}'
{"Voltage":"233.1","Current":"0.4","Power":"38.5","ApparentPower":"82.1","PowerFactor":"0.47","Electricity":"1.7","RunTime":"0.1","UnderVoltage":"180","OverVoltage":"250","OverCurrent":"  1","OverPower":"2200","UnderPower":"1.0","UnderVoltageEnable":true,"OverVoltageEnable":true,"OverCurrentEnable":true,"OverPowerEnable":true,"UnderPowerEnable":false}

浜?骞冲??/h2>

?ヨ???骞冲?颁俊??

?规?锛?GET

URL锛? /cloudplatform

???帮?

??

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

?规??骞冲?板????涓?绫伙?涓?绫绘?????捐???╄??骞冲?扮?稿?崇??锛?涓?绫绘????璐?澹崇?╄???稿?崇????

瀛?娈?/th> 绫诲?? 璇存??
TencentEnable bool ??蹇???????????ヨ?宠?捐??浜??╄??骞冲??/td>
MqttRegisteType int ??蹇?????璁惧???娉ㄥ??绫诲????2绫伙??ㄦ??娉ㄥ??锛?0锛?????娉ㄥ??锛?1锛??ㄦ??娉ㄥ????瑕???渚?MqttProductKey锛?MqttProductSecret??????娉ㄥ????瑕???渚?MqttProductKey锛?MqttDevName锛?MqttDevSecret??
MqttProductKey string ??蹇?????浜у??ID
MqttProductSecret string ???ㄦ??娉ㄥ???跺?????浜у??瀵???/td>
MqttDevName string ??????娉ㄥ???跺?????璁惧?ID
MqttDevSecret string ??????娉ㄥ???跺?????璁惧?瀵???/td>
TencontConnectSta string 璁惧?涓??捐??浜??╄??骞冲?扮??杩??ョ?舵????connectting锛?姝e?ㄨ??ワ?connected锛?宸茶??ワ?failed锛?杩??ュけ璐ワ????芥??缃?缁?????????瀵??ユ??璇?锛?unknown锛????ョ?舵??锛?TencentEnable涓?alse?躲??
瀛?娈?/th> 绫诲?? 璇存??
BigiotEnable bool ??????ヨ?宠?澹崇?╄??骞冲??/td>
DevType int 0:榛?璁よ?惧?;1:?佃?;2:??;3:绌鸿?;4:绌烘???????5:??搴?6:寮???7:???版?哄?ㄤ汉;8:绐?甯?;9:??婀垮??10:椋???;11:??濂跺??12:璞?娴???13:?电??姘村6;14:楗?姘存??15:????澶?16:璺??卞??17:?甸キ??18:??姘村??19:?ょ??20:??姘村??21:?扮??22:?洪《??;23:浼?????24:娲?琛f??25:?鸿?藉?;26:棣??版??27:绐?;28:?芥补????29:??绾归??;30:涓??介?ユ?у??31:娲?纰???32:?ゆ箍??33:骞茶。??34:澹?????;35:寰?娉㈢??;36:??????37:椹辫????38:璺?姝ユ??39:?鸿?介?ㄦ???ㄩ??);40:?鸿?芥????;41:?捐。??
BigiotDevId string 璁惧?ID
BigiotApiKey string 璁惧???ApiKey
SwitchId string 寮??虫?ュ??D
TempId string 娓╁害?ュ??D
HumidityId string 婀垮害?ュ??D
VoltageId string ?靛???ュ??D
CurrentId string ?垫??ュ??D
PowerId string ?????ュ??D
ElectricityId string ?甸???ュ??D
BigiotConnectSta string 璁惧?涓?璐?澹崇?╄??骞冲?扮??杩??ョ?舵????connectting锛?姝e?ㄨ??ワ?connected锛?宸茶??ワ?failed锛?杩??ュけ璐ワ????芥??缃?缁?????????瀵??ユ??璇?锛?unknown锛????ョ?舵??锛?TencentEnable涓?alse?躲??

?蜂?锛?

curl -X GET http://192.168.3.15/cloudplatform
{"TencentEnable":true,"MqttRegisteType":0,"MqttProductKey":"5KH10PRXDE","MqttProductSecret":"FvsLalMo4dCeD7XZhbQFmxtN","MqttDevName":"ECFABC0D6308","MqttDevSecret":"4DhySkKn9CZ4TDYmHCUy1g==","BigiotEnable":false,"DevType":0,"BigiotDevId":"14391","BigiotApiKey":"964db11e2","SwitchId":"12978","TempId":"12979","HumidityId":"","VoltageId":"13425","CurrentId":"13426","PowerId":"13427","ElectricityId":"13429","BigiotDevName":"","BigiotConnectSta":"unknown","TencontConnectSta":"connected"}

璁剧疆浜?骞冲?颁俊??

?规?锛?POST

URL锛? /cloudplatform

???帮?

?规??骞冲?板????涓?绫伙?涓?绫绘?????捐???╄??骞冲?扮?稿?崇??锛?涓?绫绘????璐?澹崇?╄???稿?崇????娉ㄦ????缃?瀹????伴??瑕?????????浼???????

  • ??缃??捐??浜??╄??骞冲?颁俊??浣挎??渚?浠ヤ?????/li>
瀛?娈?/th> 绫诲?? 璇存??
TencentEnable bool ??蹇???????????ヨ?宠?捐??浜??╄??骞冲??/td>
MqttRegisteType int ??蹇?????璁惧???娉ㄥ??绫诲????2绫伙??ㄦ??娉ㄥ??锛?0锛?????娉ㄥ??锛?1锛??ㄦ??娉ㄥ????瑕???渚?MqttProductKey锛?MqttProductSecret??????娉ㄥ????瑕???渚?MqttProductKey锛?MqttDevName锛?MqttDevSecret??
MqttProductKey string ??蹇?????浜у??ID
MqttProductSecret string ???ㄦ??娉ㄥ???跺?????浜у??瀵???/td>
MqttDevName string ??????娉ㄥ???跺?????璁惧?ID?????ㄦ??娉ㄥ???跺?????涓?MqttDevSecret蹇?椤婚??缃?涓虹┖
MqttDevSecret string ??????娉ㄥ???跺?????璁惧?瀵??ャ?????ㄦ??娉ㄥ???跺?????涓?MqttDevSecret蹇?椤婚??缃?涓虹┖
  • ??缃?璐?澹崇?╄??骞冲?颁俊??浣挎??渚?浠ヤ?????/li>
瀛?娈?/th> 绫诲?? 璇存??
BigiotEnable bool ??蹇???????????ヨ?宠?澹崇?╄??骞冲??/td>
DevType int ????濉???0:榛?璁よ?惧?;1:?佃?;2:??;3:绌鸿?;4:绌烘???????5:??搴?6:寮???7:???版?哄?ㄤ汉;8:绐?甯?;9:??婀垮??10:椋???;11:??濂跺??12:璞?娴???13:?电??姘村6;14:楗?姘存??15:????澶?16:璺??卞??17:?甸キ??18:??姘村??19:?ょ??20:??姘村??21:?扮??22:?洪《??;23:浼?????24:娲?琛f??25:?鸿?藉?;26:棣??版??27:绐?;28:?芥补????29:??绾归??;30:涓??介?ユ?у??31:娲?纰???32:?ゆ箍??33:骞茶。??34:澹?????;35:寰?娉㈢??;36:??????37:椹辫????38:璺?姝ユ??39:?鸿?介?ㄦ???ㄩ??);40:?鸿?芥????;41:?捐。??
BigiotDevId string ??蹇?????璁惧?ID
BigiotApiKey string ??蹇?????璁惧???ApiKey
SwitchId string ????濉???寮??虫?ュ??D锛?濡????ョ?????у?跺??崇?舵????????渚?
TempId string ????濉???娓╁害?ュ??D锛?濡????ョ??娓╁害??????渚?
HumidityId string ????濉???婀垮害?ュ??D锛?????娌℃??????婀垮害?版??
VoltageId string ????濉????靛???ュ??D锛?濡????ョ???靛???版????????渚?涓???纭?浠舵????
CurrentId string ????濉????垫??ュ??D锛?濡????ョ???垫??版????????渚?涓???纭?浠舵????
PowerId string ????濉????????ュ??D锛?濡????ョ???????版????????渚?涓???纭?浠舵????
ElectricityId string ????濉????甸???ュ??D锛?濡????ョ???甸???版????????渚?涓???纭?浠舵????

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
result string 缁?????success锛?????锛?澶辫触锛?failed
msg string 杩???淇℃??

?蜂?锛?

## 浠ヤ?????缃??界?惰???????锛?浣???????????浼?????锛?锛?锛?

# ?ㄦ??娉ㄥ???宠?捐???╄??骞冲??curl -X POST http://192.168.3.15/cloudplatform -d'{"TencentEnable":true,"MqttRegistType":0,"MqttProductKey":"5KH10PABCD","MqttProductSecret":"FvsLalMo4dCeD7XZABCD","MqttDevName":"","MqttDevSecret":""}'
{"result":"success", "msg":""}

# ????娉ㄥ???宠?捐???╄??骞冲??curl -X POST http://192.168.3.15/cloudplatform -d'{"TencentEnable":true,"MqttRegistType":1,"MqttProductKey":"5KH10PABCD","MqttDevName":"ECFABC0D6308","MqttDevSecret":"4DhySkKn9CZ4TDYmHCabcd=="}'
{"result":"success", "msg":""}

# ??缃?杩??ヨ?宠?澹崇?╄??
curl -X POST http://192.168.3.15/cloudplatform -d'{"BigiotEnable":true,"DevType":0,"BigiotDevId":"14391","BigiotApiKey":"964dbabcd","SwitchId":"12988","TempId":"15979","VoltageId":"16425","CurrentId":"13726","PowerId":"14427","ElectricityId":"16429"}'

# ????璁剧疆涓?杩??ヨ?捐???╄??骞冲??curl -X POST http://192.168.3.15/cloudplatform -d'{"TencentEnable":false}'
{"result":"success", "msg":""}

# ????璁剧疆涓?杩??ヨ?澹崇?╄??骞冲??curl -X POST http://192.168.3.15/cloudplatform -d'{"BigiotEnable":false}'
{"result":"success", "msg":""}

绯荤?璁剧疆

?ヨ?㈢郴缁???缃?淇℃??

?规?锛?GET

URL锛? /system

???帮?

??

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
PlugName string 璁惧???绉帮?32涓?瀛?绗?互??锛?锛?????涓???锛?姣?涓?涓?????3涓?瀛?绗??????P妯″?涓?璇ュ??绉板?充负esp8266???虹??wifi??绉帮???tation妯″?涓?璇ュ??绉板?充负璁惧???绉般??
WifiMode int esp8266宸ヤ?妯″? 1:station 2:ap 3:station_AP
SmartConfigFlag bool SmartConfig??????????true锛?????锛?fasle锛?澶辫触??灏?姝ゆ??蹇?璁剧疆涓?alse骞朵?灏?WifiMode璁剧疆涓?tation妯″?锛???????esp8266浼????ㄨ???martConfig??缃?妯″???
RelayPowerUp int 0,锛?涓?娆$?舵??锛?淇???涓??靛???舵??锛?1锛??抽??锛?姣?娆′??甸?藉?抽??寮??筹?2锛???寮?锛?姣?娆′??甸?芥??寮?寮??筹?
WifiSSID string 杩???ifi????绉?/td>
WifiPasswd string 杩???ifi??瀵???
GetWay string 缃??冲?板??锛???璇?/td>
IP string ??????IIP?板??锛???璇?/td>
Mac string esp8266??MAC?板??锛???璇?/td>
NetMask string ?╃??锛???璇?/td>
RelayStatus bool 寮??崇???舵??

?蜂?锛?

curl -X GET http://192.168.3.15/system
{"RelayStatus":false,"SmartConfigFlag":true,"RelayPowerUp":0,"WifiMode":1,"PlugName":"?佃??","WifiSSID":"SKYK","WifiPasswd":"1234567","IP":"192.168.3.15","GetWay":"192.168.3.1","NetMask":"255.255.255.0","Mac":"ECFABC0D6308"}

璁剧疆绯荤?淇℃??

?规?锛?POST

URL锛? /system

???帮?

瀛?娈?/th> 绫诲?? 璇存??
PlugName string 璁惧???绉帮?32涓?瀛?绗?互??锛?锛?????涓???锛?姣?涓?涓?????3涓?瀛?绗??????P妯″?涓?璇ュ??绉板?充负esp8266???虹??wifi??绉帮???tation妯″?涓?璇ュ??绉板?充负璁惧???绉般??
WifiMode int esp8266宸ヤ?妯″? 1:station 2:ap 3:station_AP
SmartConfigFlag bool SmartConfig??????????true锛?????锛?fasle锛?澶辫触??灏?姝ゆ??蹇?璁剧疆涓?alse骞朵?灏?WifiMode璁剧疆涓?tation妯″?锛???????esp8266浼????ㄨ???martConfig??缃?妯″???
RelayPowerUp int 0,锛?涓?娆$?舵??锛?淇???涓??靛???舵??锛?1锛??抽??锛?姣?娆′??甸?藉?抽??寮??筹?2锛???寮?锛?姣?娆′??甸?芥??寮?寮??筹?
WifiSSID string 杩???ifi????绉?/td>
WifiPasswd string 杩???ifi??瀵???

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
result string 缁?????success锛?????锛?澶辫触锛?failed
msg string 杩???淇℃??

?蜂?锛?

## 浠ヤ?????缃??界?惰???????锛?浣???????????浼?????锛?锛?锛?

# ??缃?涓?tation妯″?(瀹㈡?风??妯″?)锛?骞朵?璁剧疆瑕?杩??ョ??wifi??绉板??瀵???
curl -X POST http://192.168.3.15/system -d'{"WifiMode":1,"WifiSSID":"SKYK","WifiPasswd":"1234567","SmartConfigFlag":true}'
{"result":"success", "msg":""}

# ??缃?涓?martplug妯″?锛???????浼?杩???martpconfig??缃?妯″?
curl -X POST http://192.168.3.15/system -d'{"RelayPowerUp":0,"WifiMode":1,"SmartConfigFlag":false}'
{"result":"success", "msg":""}

# ??缃?涓虹???规ā寮?
curl -X POST http://192.168.3.15/system -d'{"RelayPowerUp":0,"WifiMode":2}'
{"result":"success", "msg":""}

# 璁剧疆璁惧???绉?curl -X POST http://192.168.3.15/system -d'{"PlugName":"test"}'
{"result":"success", "msg":""}

???????㈠??哄??

?规?锛?POST

URL锛? /control

???帮?

瀛?娈?/th> 绫诲?? 璇存??
Action int 0锛?????璁惧?锛?1锛??㈠??哄??璁剧疆?㈠??哄??妯″???瀹??躲??寤舵?躲??绾㈠????甸?????版??灏??ㄩ?ㄦ??讹?esp8266杩??ラ?璁ょ??station妯″?骞跺?濮?smartconfig??缃???浜?骞冲?扮????缃?涓?浼?娓??躲??

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
result string 缁?????success锛?????锛?澶辫触锛?failed
msg string 杩???淇℃??

?蜂?锛?

# ????璁惧?
curl -X POST http://192.168.3.15/system -d'{"Action":0}'
{"result":"success", "msg":""}

# ?㈠??哄??璁剧疆
curl -X POST http://192.168.3.15/system -d'{"Action":1}'
{"result":"success", "msg":""}

?轰欢??绾?/h2>

?规?锛?PUT

URL锛? /upgrade

???帮?

灏??轰欢浠ヤ?杩??舵?瑰??惧??ttp璇锋?浣???锛?娉ㄦ??涓???form琛ㄥ???煎???

**??搴???锛?**201锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
result string 缁?????success锛?????锛?澶辫触锛?failed
msg string 杩???淇℃??

?蜂?锛?

# ??绾ч?璁や娇??TTP 1.1??????璁?锛??朵腑user1.4096.new.6.bin涓哄?轰欢??绉?curl -X PUT --data-binary @user1.4096.new.6.bin http://192.168.3.13/upgrade
{"result":"success", "msg":""}

# 濡???浣跨?ㄤ?杈瑰?戒护??绾уけ璐ワ???浠ュ?璇?浣跨??TTP1.0????????璁?锛???杩?????-http1.0?ユ??瀹?浣跨??ttp1.0??????璁?
curl -X PUT --http1.0 --data-binary @user1.4096.new.6.bin http://192.168.3.13/upgrade 
{"result":"success", "msg":""}

杩?????渚?涓?涓?js??涓?浼???浠剁ず渚?锛?

function upgread(){
	var file=document.getElementById("binFile").files[0];
	if(file==null){
		alert("璇烽???╁?轰欢");
		return;
	}
	xhr=new XMLHttpRequest();
	xhr.upload.onprogress=function progressFunction(evt) {
		if (evt.lengthComputable) {
			alert("杩?搴?quot; + Math.round(evt.loaded / evt.total * 100) + "%");
		}
	};
	xhr.open("put", "/upgrade", true);
	xhr.onreadystatechange=function () {
		if ( xhr.readyState==2 ){
			alert("姝e?ㄦ?¢??");
		}else if (xhr.readyState==4) {
			if( xhr.status==201){
				alert("??绾ф????锛?璁惧?姝e?ㄩ????");
			}else{
				alert("??绾уけ璐?quot;);
			}
		}
	}
	xhr.send(file);
}

缃?椤电?у??

?峰??缃?椤电?у??椤甸??/h3>

?у????缃?椤垫??缂?璇??颁唬??涓???锛???杩?娴?瑙??ㄨ?块??姝ゆ?ュ?e??浠ョ??ㄦ?锋??渚?涓?涓??у??澶???椤甸?㈢???ュ?c??锛?璇ユ?ュ?i????娴?瑙??ㄨ?块??锛?

?规?锛?GET

URL锛? /upload

???帮?

??

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

杩???涓?涓?html椤甸??/p>

椤甸?㈡?蜂?锛?

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="content-type" content="text/html,charset=gb2312">
    <title>??绾?lt;/title>
</head>

<body>
    <table border="0" width="70%" align="center" cellpadding="6" id="tab" cellspacing="0">
        <tr>
            <th colspan="4">?轰欢??绾?lt;/th>
        </tr>
        <tr>
            <td colspan="4">
                <hr />
            </td>
        </tr>
        <tr align="left">
            <th width="40%">??浠?lt;/th>
            <th width="15%">澶у?</th>
            <th width="20%">?舵??</th>
            <th width="25%"></th>
        </tr>
        <tr align="left">
            <td><input type="file" id="binFile" accept=".bin" onchange="return fileChg(this);"></td>
            <td>----</td>
            <td>----</td>
            <td><input type="button" onclick="upgread()" value="??绾?quot; /></td>
        </tr>
        <tr>
            <td colspan="4">
                <hr />
            </td>
        </tr>
        <tr>
            <td colspan="4">&nbsp;</td>
        </tr>
        <tr>
            <th colspan="4">缃?椤靛??绾?lt;/th>
        </tr>
        <tr>
            <td colspan="4">
                <hr />
            </td>
        </tr>
        <tr>
            <td colspan="4">
                <hr />
            </td>
        </tr>
        <tr>
            <td colspan="3"></td>
            <td>
                <input type="button" onclick="addFile()" value="娣诲??" />
                <input type="button" onclick="uploadFile()" value="涓?浼?" />
                <input type="button" onclick="reboot()" value="????" />
            </td>
        </tr>
    </table>
    <script type="text/javascript">
        window.onload=function() {
        addFile();
        }
        function addFile() {
        var t=document.getElementById('tab');
        var r=t.insertRow(t.rows.length-2);
        r.insertCell(0).innerHTML="<input type=\"file\" onchange=\"return fileChg(this);\">";
        r.insertCell(1).innerHTML="----";
        r.insertCell(2).innerHTML="----";
        r.insertCell(3).innerHTML="<a href=\"javascript:void(0);\" onclick=\"this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode)\">????lt;/a>";
        }
        function fileChg(obj) {
        var fz=obj.files[0].size;
        if( fz > 1024*1024 ){
        fz=(fz/1024/1024).toFixed(1) + "MB";
        }else if(fz > 1024){
        fz=(fz/1024).toFixed(1) + "KB";
        }else{
        fz=fz+"B";
        }
        var sta=obj.parentNode.parentNode.cells;
        sta[1].innerHTML=fz;
        sta[2].innerHTML="绛?寰?涓?浼?";
        }
        
        function uploadFile() {
        var files=new Array();
        var tableObj=document.getElementById("tab");
        for (var i=8; i < tableObj.rows.length-2; i++) {
        file=tableObj.rows[i].cells[0].getElementsByTagName("input")[0];
        if ( file.files[0]==null ){
        continue;
        }
        files.push(file.files[0]);
        tableObj.rows[i].cells[2].innerHTML="绛?寰?涓?浼?";
        }
        if (files.length==0){
        alert("璇烽???╂??浠讹?");
        return;
        }
        if( sendHead(files)){
        sendFile(files, 0);
        }
        
        }
        function sendHead(fileObj) {
        var dataArr=[];
        for ( var i in fileObj ){
        var data={};
        data.Name=fileObj[i].name;
        data.Length=parseInt(fileObj[i].size);
        dataArr.push(data);
        }
        xhr=new XMLHttpRequest();
        xhr.open("post", "/html/header", false);
        xhr.send(JSON.stringify(dataArr));
        return true;
        }
        function sendFile(fileObj, index) {
        if ( index >= fileObj.length){
        alert("涓?浼?瀹???");
        return;
        }
        var t=document.getElementById('tab');
        xhr=new XMLHttpRequest();
        url="/html/"+fileObj[index].name
        xhr.open("put", url, true);
        xhr.upload.onprogress=function progressFunction(evt) {
        if (evt.lengthComputable) {
        t.rows[parseInt(8)+parseInt(index)].cells[2].innerHTML=Math.round(evt.loaded / evt.total * 100) + "%";
        }
        };
        t.rows[parseInt(8)+parseInt(index)].cells[2].innerHTML="%0";
        xhr.onreadystatechange=function () {
        if ( xhr.readyState==2 ){
        t.rows[parseInt(8)+parseInt(index)].cells[2].innerHTML="姝e?ㄦ?¢??";
        }else if (xhr.readyState==4) {
        if( xhr.status==201){
        t.rows[parseInt(8)+parseInt(index)].cells[2].innerHTML="涓?浼?????";
        index=index+1;
        sleep(100);
        sendFile(fileObj, index);
        }else{
        t.rows[parseInt(8)+parseInt(index)].cells[2].innerHTML="涓?浼?澶辫触";
        }
        }
        }
        xhr.send(fileObj[index]);
        }
        function reboot(){
        xhr=new XMLHttpRequest();
        xhr.open("post", "/control", true);
        xhr.onreadystatechange=function () {
        if (xhr.readyState==4) {
        if( xhr.status==200){
        alert("璁惧?姝e?ㄩ????");
        }else{
        alert("璁惧?????澶辫触");
        }
        }
        }
        xhr.send("{\"Action\":0}");
        }
        function upgread(){
        var file=document.getElementById("binFile").files[0];
        if(file==null){
        alert("璇烽???╁?轰欢");
        return;
        }
        var t=document.getElementById('tab');
        xhr=new XMLHttpRequest();
        xhr.upload.onprogress=function progressFunction(evt) {
        if (evt.lengthComputable) {
        t.rows[3].cells[2].innerHTML= Math.round(evt.loaded / evt.total * 100) + "%";
        }
        };
        xhr.open("put", "/upgrade", true);
        t.rows[3].cells[2].innerHTML="0%";
        xhr.onreadystatechange=function () {
        if ( xhr.readyState==2 ){
        t.rows[3].cells[2].innerHTML="姝e?ㄦ?¢??";
        }else if (xhr.readyState==4) {
        if( xhr.status==201){
        t.rows[3].cells[2].innerHTML="涓?浼?????";
        alert("??绾ф????锛?璁惧?姝e?ㄩ????");
        }else{
        t.rows[3].cells[2].innerHTML="涓?浼?澶辫触";
        alert("??绾уけ璐?quot;);
        }
        }
        }
        xhr.send(file);
        }
        function sleep(time) {
        var s = new Date().getTime() + parseInt(time, 10);
        while(new Date().getTime()<s) {}
        };
    </script>
</body>

</html>

?у??缃?椤?/h3>

?у??缃?椤垫?版????涓?姝ワ?绗?1姝ラ??瑕?璋???code>/html/header?ュ?e?瑕??у??????浠跺??琛ㄥ??姣?涓???浠剁??澶у???璇?璁惧?锛?璁惧??规????浠跺ぇ灏?璁$???烘?ユ??涓???浠跺??lash涓?瀛??惧?板??锛?绗?2姝ヤ?娆¤???code> /html/{file}?ュ?i??涓?涓?浼???浠躲??濡????朵腑??涓???浠朵?浼?澶辫触????瑕?淇??瑰?朵腑??涓???浠跺????瑕????颁?娆¢??澶?1??2姝ャ??

??????澶?????10涓???浠讹???浠ヤ慨?瑰??HTTP_FILE_NUM_MAX?ヤ慨?规??澶???浠跺ぇ灏???

  • ??????浠跺ご?ㄤ俊??

?规?锛?POST

URL锛? /html/header

???帮?

瀛?娈?/th> 绫诲?? 璇存??
Name string ??浠跺??瀛?
Length int ??浠跺ぇ灏?

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
Name string ??浠跺??瀛?
Length int ??浠跺ぇ灏?
Type string ??浠剁被??锛?.html缁?灏剧????浠跺?ㄨ????朵?琚?璁剧疆涓?code>text/html, charset=utf-8;????.js"锛?application/x-javascript锛? .css锛?text/css锛?.json锛?application/json锛?.ico锛?image/x-icon锛? .png锛?image/png锛?.gif锛?image/gif???朵???绫诲???ㄨ?峰???朵?琚?浠ュ????娴?杩???application/octet-stream
Encode string ??浠跺??缂╂?瑰?锛???????缂╂?瑰???????gzip??缂?/td>
IsUpload bool ??浠舵????凡缁?涓?浼?
Addr int ??浠跺??lash涓????板??
  • ?ョ????浠跺ご?ㄤ俊??

?规?锛?GET

URL锛? /html/header

???帮?

??

**??搴???锛?**200锛?????锛??朵?锛?澶辫触

??搴?锛?

????????????浠跺ご?ㄤ俊????杩???淇℃??

涓?浼???浠?/strong>

?规?锛?PUT

URL锛? /html/{file_name}

???帮?

灏???浠朵互浜?杩??舵?瑰??惧??ttp璇锋?浣???锛?娉ㄦ??涓???form琛ㄥ???煎???

**??搴???锛?**201锛?????锛??朵?锛?澶辫触

??搴?锛?

瀛?娈?/th> 绫诲?? 璇存??
result string 缁?????success锛?????锛?澶辫触锛?failed
msg string 杩???淇℃??

?蜂?锛?

# 绗?1姝ヤ?浼???浠跺ご?ㄤ俊??
curl -X POST http://192.168.3.13/html/header -d'[{"Name":"bootstrap.min.css.gz","Length":19604},{"Name":"bootstrap.min.js.gz","Length":9828},{"Name":"console.html.gz","Length":1952},{"Name":"favicon.ico.gz","Length":3702},{"Name":"index.html.gz","Length":5636},{"Name":"index.js.gz","Length":8700},{"Name":"jquery-1.11.1.min.js.gz","Length":33227}]'
[{"Name":"bootstrap.min.css.gz","IsUpload":false,"Addr":2129920,"Length":19604,"Type":"text/css","Encode":"gzip"},{"Name":"bootstrap.min.js.gz","IsUpload":false,"Addr":2149524,"Length":9828,"Type":"application/x-javascript","Encode":"gzip"},{"Name":"console.html.gz","IsUpload":false,"Addr":2159352,"Length":1952,"Type":"text/html, charset=utf-8","Encode":"gzip"},{"Name":"favicon.ico.gz","IsUpload":false,"Addr":2161304,"Length":3702,"Type":"image/x-icon","Encode":"gzip"},{"Name":"index.html.gz","IsUpload":false,"Addr":2165006,"Length":5636,"Type":"text/html, charset=utf-8","Encode":"gzip"},{"Name":"index.js.gz","IsUpload":false,"Addr":2170642,"Length":8700,"Type":"application/x-javascript","Encode":"gzip"},{"Name":"jquery-1.11.1.min.js.gz","IsUpload":false,"Addr":2179342,"Length":33227,"Type":"application/x-javascript","Encode":"gzip"}]

# 绗?2姝ラ??涓?涓?浼???浠?curl -X PUT http://192.168.3.13/html/bootstrap.min.css.gz --data-binary @bootstrap.min.css.gz
{"result":"success", "msg":""}

curl -X PUT http://192.168.3.13/html/bootstrap.min.js.gz --data-binary @bootstrap.min.js.gz
{"result":"success", "msg":""}

curl -X PUT http://192.168.3.13/html/console.html.gz --data-binary @console.html.gz
{"result":"success", "msg":""}

curl -X PUT http://192.168.3.13/html/favicon.ico.gz --data-binary @favicon.ico.gz
{"result":"success", "msg":""}

curl -X PUT http://192.168.3.13/html/index.html.gz --data-binary @index.html.gz
{"result":"success", "msg":""}

curl -X PUT http://192.168.3.13/html/index.js.gz --data-binary @index.js.gz
{"result":"success", "msg":""}

curl -X PUT http://192.168.3.13/html/jquery-1.11.1.min.js.gz --data-binary @jquery-1.11.1.min.js.gz
{"result":"success", "msg":""}

# ?ョ??涓?浼???浠跺ご?ㄤ俊??锛???浠ョ????sUpload宸茬???true琛ㄧず??浠跺凡缁?涓?浼?
curl -X GET http://192.168.3.13/html/header
[{"Name":"bootstrap.min.css","IsUpload":true,"Addr":2129920,"Length":19604,"Type":"text/css","Encode":"gzip"},{"Name":"bootstrap.min.js","IsUpload":true,"Addr":2149524,"Length":9828,"Type":"application/x-javascript","Encode":"gzip"},{"Name":"console.html","IsUpload":true,"Addr":2159352,"Length":1952,"Type":"text/html, charset=utf-8","Encode":"gzip"},{"Name":"favicon.ico","IsUpload":true,"Addr":2161304,"Length":3702,"Type":"image/x-icon","Encode":"gzip"},{"Name":"index.html","IsUpload":true,"Addr":2165006,"Length":5636,"Type":"text/html, charset=utf-8","Encode":"gzip"},{"Name":"index.js","IsUpload":true,"Addr":2170642,"Length":8700,"Type":"application/x-javascript","Encode":"gzip"},{"Name":"jquery-1.11.1.min.js","IsUpload":true,"Addr":2179342,"Length":33227,"Type":"application/x-javascript","Encode":"gzip"}]