{"id":8777,"date":"2025-04-18T16:57:59","date_gmt":"2025-04-18T08:57:59","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/8777.html"},"modified":"2025-04-18T16:57:59","modified_gmt":"2025-04-18T08:57:59","slug":"%e5%9f%ba%e4%ba%8ei-mx6ull%e7%9a%84linux-c%e5%a4%9a%e7%ba%bf%e7%a8%8b%e7%89%a9%e8%81%94%e7%bd%91%e7%bd%91%e5%85%b3stm32qt%e4%b8%8a%e4%bd%8d%e6%9c%balinux-c%e5%a4%9a%e7%ba%bf%e7%a8%8b%e6%9c%8d","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/8777.html","title":{"rendered":"\u57fa\u4e8eI.MX6ULL\u7684Linux C\u591a\u7ebf\u7a0b\u7269\u8054\u7f51\u7f51\u5173+STM32+Qt\u4e0a\u4f4d\u673a+Linux C++\u591a\u7ebf\u7a0b\u670d\u52a1\u5668(\u542bweb)\u7684\u591a\u79cd\u65e0\u7ebf\u901a\u4fe1\u7cfb\u7edf\u7684\u667a\u6167\u519c\u573a"},"content":{"rendered":"<h2>\u524d\u8a00<\/h2>\n<p>\u6211\u56fd\u662f\u519c\u4e1a\u5927\u56fd&#xff0c;\u800c\u975e\u519c\u4e1a\u5f3a\u56fd\u3002\u8fd130\u5e74\u6765\u519c\u4e1a\u9ad8\u4ea7\u91cf\u4e3b\u8981\u4f9d\u9760\u519c\u836f\u5316\u80a5\u7684\u5927\u91cf\u6295\u5165&#xff0c;\u5927\u90e8\u5206\u5316\u80a5\u548c\u6c34\u8d44\u6e90\u6ca1\u6709\u88ab\u6709\u6548\u5229\u7528\u800c\u968f\u5730\u5f03\u7f6e&#xff0c;\u5bfc\u81f4\u5927\u91cf\u517b\u5206\u635f\u5931\u5e76\u9020\u6210\u73af\u5883\u6c61\u67d3\u3002\u6211\u56fd\u519c\u4e1a\u751f\u4ea7\u4ecd\u7136\u4ee5\u4f20\u7edf\u751f\u4ea7\u6a21\u5f0f\u4e3a\u4e3b&#xff0c;\u4f20\u7edf\u8015\u79cd\u53ea\u80fd\u51ed\u7ecf\u9a8c\u65bd\u80a5\u704c\u6e89&#xff0c;\u4e0d\u4ec5\u6d6a\u8d39\u5927\u91cf\u7684\u4eba\u529b\u7269\u529b&#xff0c;\u4e5f\u5bf9\u73af\u5883\u4fdd\u62a4\u4e0e\u6c34\u571f\u4fdd\u6301\u6784\u6210\u4e25\u91cd\u5a01\u80c1&#xff0c;\u5bf9\u519c\u4e1a\u53ef\u6301\u7eed\u6027\u53d1\u5c55\u5e26\u6765\u4e25\u5cfb\u6311\u6218<\/p>\n<p>\u57fa\u4e8eI.MX6ULL\u7684Linux C\u591a\u7ebf\u7a0b\u7269\u8054\u7f51\u7f51\u5173&#043;STM32&#043;Qt\u4e0a\u4f4d\u673a&#043;Linux C&#043;&#043;\u591a\u7ebf\u7a0b\u670d\u52a1\u5668(\u542bweb\u670d\u52a1)\u7684\u591a\u79cd\u65e0\u7ebf\u901a\u4fe1\u7cfb\u7edf\u7684\u667a\u6167\u519c\u573a\u9879\u76ee<\/p>\n<\/p>\n<h3>\u6280\u672f\u6808&#043;\u786c\u4ef6\u9009\u578b<\/h3>\n<p>Linux c&#043;&#043;\u5e94\u7528\u7f16\u7a0b(JS,WEB&#xff0c;HTML\u4ec0\u4e48\u7684\u6211\u53ea\u77e5\u9053\u4e00\u70b9\u70b9\u76ae\u6bdb&#xff0c;\u53ea\u7528\u4e86\u5176\u4e00\u4e24\u4e2a\u51fd\u6570);<\/p>\n<p>Linux socket\u7f16\u7a0b,\u591a\u7ebf\u7a0b\u7f16\u7a0b,\u5185\u6838\u9a71\u52a8\u7f16\u7a0b&#xff0c;\u6587\u4ef6I\/O<\/p>\n<p>Qt\/C&#043;&#043; \u5ba2\u6237\u7aef\u5f00\u53d1&#xff1b;<\/p>\n<p>Mysql \u6570\u636e\u5b58\u50a8&#xff1b;<\/p>\n<p>C\u8bed\u8a00\u4e0b\u4f4d\u673a\u5f00\u53d1&#xff1b;<\/p>\n<p>I.MX6ULL\u00a0 \u00a0 \u633a\u8d35&#xff0c;\u4e0d\u5efa\u8bae\u4e70&#xff0c;\u6211\u8111\u62bd\u4e70\u4e86:<\/p>\n<p>\u5149\u654f\u6a21\u5757\u00a0 \u00a0\u6a21\u62df\u5929\u9ed1\u5929\u4eae;<\/p>\n<p>\u6c34\u6cf5\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u62bd\u6c34;<\/p>\n<p>\u7535\u673a\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u6563\u70ed<\/p>\n<p>\u7535\u673a\u9a71\u52a8\u6a21\u5757 *2<\/p>\n<p>\u571f\u58e4\u6e7f\u5ea6\u68c0\u6d4b\u4f20\u611f\u5668;<\/p>\n<p>ZigBee DL_22 *2\u00a0 45r;<\/p>\n<p>HC-06 *2\u00a0 \u00a0 \u84dd\u7259\u6a21\u5757;<\/p>\n<p>stm32c8t6 *4 \u4e0b\u4f4d\u673a(\u4fbf\u5b9c,\u591f\u7528,\u5e02\u9762\u4ef7\u683c10r);<\/p>\n<p>RC522&#xff08;RFID\u6a21\u5757 SPI\u534f\u8bae) \u4e0e\u767d\u5361\u901a\u4fe1 \u83b7\u53d6\u5361\u53f7;<\/p>\n<p>DTH11 \u6e29\u6e7f\u5ea6\u91c7\u96c6\u6a21\u5757(\u5355\u603b\u7ebf\u534f\u8bae&#xff0c;\u5e02\u9762\u4ef7\u683c 4r)&#xff1b;<\/p>\n<p>sg90 \u8235\u673a\u6a21\u5757(PWM\u534f\u8bae \u5e02\u9762\u4ef79r );<\/p>\n<p>8226 01-s WIFI\u6a21\u5757*2\u00a0 \u00a0(uart\u534f\u8bae \u5e02\u9762\u4ef7\u683c5r) \u8fde\u63a5 C&#043;&#043; \u670d\u52a1\u5668 \u548c\u505a\u70ed\u70b9;<\/p>\n<p>\u8702\u9e23\u5668\u00a0 RFID\u6ce8\u518c\u63d0\u793a\u97f3<\/p>\n<\/p>\n<h3>\u603b\u8bbe\u8ba1\u6d41\u7a0b<\/h3>\n<p>\u672c\u7cfb\u7edf\u4e00\u5171\u6709\u56db\u4e2a\u5355\u7247\u673a&#xff0c;\u56db\u4e2a\u5355\u7247\u673a\u4e0a\u5206\u522b\u6302\u8f7d\u4e86\u7684\u4e0d\u540c\u4f20\u611f\u5668\u7ed3\u70b9\u548c\u4e00\u4e2a\u901a\u4fe1\u6a21\u5757&#xff0c;\u901a\u8fc7\u4e09\u79cd\u65e0\u7ebf\u901a\u4fe1\u534f\u8bae\u5411\u7269\u8054\u7f51\u7f51\u5173\u53d1\u9001\u7ed3\u70b9\u6570\u636e&#xff0c;\u7269\u8054\u7f51\u7f51\u5173\u6536\u5230\u6570\u636e\u5c06\u6570\u636e\u4e0a\u4f20\u81f3Linux C&#043;&#043;\u4e91\u670d\u52a1\u5668&#xff0c;\u670d\u52a1\u5668\u76d1\u542c\u4e865\u4e2a\u7aef\u53e3&#xff0c;\u5206\u522b\u662f\u7528\u4e8e\u76d1\u542c\u7269\u8054\u7f51\u7f51\u5173\u7684\u6d88\u606f&#xff0c;web\u670d\u52a1\u768480\u7aef\u53e3\u7528\u4e0e\u53d1\u9001HTML\u7ed9\u6d4f\u89c8\u5668&#xff0c;\u4e0eJavaScript\u901a\u4fe1\u66f4\u65b0HTML\u7f51\u9875\u7684\u7aef\u53e3&#xff0c;\u8fd8\u6709\u7269\u8054\u7f51\u7f51\u5173\u7ec8\u7aefQt\u754c\u9762&#xff0c;\u7528\u4e0e\u5bf9\u7269\u8054\u7f51\u7f51\u5173\u7684\u4e0b\u7ed3\u70b9\u7684\u6574\u4f53\u63a7\u5236\u4e0e\u663e\u793a&#xff0c;\u6700\u540e\u4e00\u4e2a\u7aef\u53e3\u7ed9\u4e00\u4e2aQt\u79fb\u52a8\u7aef\u7684\u7aef\u53e3&#xff0c;\u7528\u4e8e\u667a\u6167\u519c\u573a\u7684\u4e00\u7cfb\u5217\u6570\u636e\u663e\u793a&#xff0c;\u6574\u4e2a\u7269\u8054\u7f51\u7cfb\u7edf\u670d\u52a1\u4e8e\u667a\u6167\u519c\u573a\u3002\u4e24\u4e24\u5355\u7247\u673a\u53ef\u4ee5\u8bf4\u6beb\u65e0\u8054\u7cfb&#xff0c;\u4f46\u7ecf\u8fc7\u7f51\u5173\u548c\u670d\u52a1\u5668\u7684\u8fde\u63a5&#xff0c;\u53c8\u663e\u5f97\u8054\u7cfb\u7d27\u5bc6\u6070\u5de7\u51f8\u663e\u4e00\u4e2a\u5b8c\u6574\u7684\u7269\u8054\u7f51\u63a7\u5236\u7cfb\u7edf\u3002<\/p>\n<\/p>\n<h5>STM32C8T6&#xff1a;<\/h5>\n<p>\u9664\u4e86\u4f7f\u75288266\u6a21\u5757\u7684\u5355\u7247\u673a\u4e0d\u9700\u8981\u7f16\u53f7\u56e0\u4e3a8266\u4f1a\u81ea\u52a8\u4e3a\u5176\u5c40\u57df\u7f51\u4e0b\u7684\u7528\u6237\u7f16\u53f7&#xff0c;\u5176\u4ed6\u90fd\u9700\u8981\u7f16\u53f7&#xff0c;\u540c\u4e00\u4e2a\u65e0\u7ebf\u4f20\u611f\u5668\u4e0a\u7f16\u53f7\u5fc5\u987b\u4e0d\u4e00\u6837&#xff0c;\u8fd8\u6709\u5c31\u4e0a\u4f20\u670d\u52a1\u5668\u7684\u8bbe\u5907\u540d\u5b57\u4e0d\u80fd\u4e00\u6837&#xff0c;Mysql\u5c06\u8bbe\u5907\u540d\u5b57\u8bbe\u4e3a\u4e3b\u952e\u4e86&#xff0c;\u552f\u4e00\u3002\u5355\u7247\u673a\u9700\u8981\u6bcf\u96942s\u5de6\u53f3\u4e0a\u4f20\u4e00\u6b21\u4f20\u611f\u5668\u7ed3\u70b9\u6570\u636e&#xff0c;\u4e0a\u4f20\u683c\u5f0f\u4e3a \u201c ID&#043;\u4f20\u611f\u5668\u8bbe\u5907\u540d\u5b57&#043;#&#043;value&#043;\u64cd\u4f5c\u7b26\u201d\u00a0 \u4f8b\u5982\u00a0&#xff0c;002\u8235\u673a#false0 , 001\u7535\u673a#true#LED3#false0\u00a0\u00a0 \u8fd9\u6837\u4e3a\u4e00\u4e2a\u6570\u636e\u5305\u53ef\u4e00\u76f4\u5ef6\u7533&#xff0c;\u6309\u683c\u5f0f\u5199\u5c31\u597d\u4e86&#xff0c;\u670d\u52a1\u5668\u6309\u683c\u5f0f\u62c6\u5305\u3002\u56e0\u4e3a\u5b58\u5728\u8bbe\u5907\u63a7\u5236&#xff0c;\u6240\u4ee5\u9700\u8981\u9884\u7559\u63a7\u5236\u63a5\u53e3&#xff0c;\u6bd4\u5982\u5bf9\u6536\u5230\u7684\u6570\u636e\u62c6\u5305&#xff0c;\u5982\u679c\u6536\u5230id\u4e0e\u81ea\u8eabid\u76f8\u540c&#xff0c;\u518d\u5224\u65ad\u4f20\u611f\u5668\u8bbe\u5907\u540d\u5b57&#xff0c;\u5982\u679c\u4f20\u611f\u5668\u8bbe\u5907\u540d\u5b57\u76f8\u540c&#xff0c;\u5728\u6839\u636evalue\u53bb\u6539\u53d8\u8bbe\u5907\u72b6\u6001\u3002\u64cd\u4f5c\u7b26\u4ec0\u4e48\u7684\u5728\u670d\u52a1\u5668\u4ecb\u7ecd\u90a3\u8fb9\u4f1a\u8bb2\u8bc9\u6e05\u695a&#xff0c;\u77e5\u9053\u6709\u8fd9\u4e2a\u4e8b\u60c5\u5c31\u53ef\u4ee5\u4e86\u3002RFID\u6a21\u5757\u4e0a\u4f20\u6570\u636e\u90fd\u5f88\u7279\u6b8a&#xff0c;\u6240\u4ee5\u81ea\u5df1\u5199\u4e86\u51e0\u4e2a\u64cd\u4f5c\u7b26\u4e13\u95e8\u670d\u52a1\u4e8eRFID\u8bbe\u5907\u7684\u6ce8\u518c&#xff0c;\u4e0e\u95e8\u7981\u6bd4\u5bf9\u3002<\/p>\n<h5>I.MX6ULL Linux C \u591a\u7ebf\u7a0b\u7269\u8054\u7f51\u7f51\u5173&#xff1a;<\/h5>\n<p>\u4e00\u5171\u6709\u56db\u4e2a\u901a\u4fe1\u6a21\u5757&#xff0c;\u7269\u8054\u7f51\u7f51\u5173\u901a\u8fc7\u4e09\u79cd\u65e0\u7ebf\u901a\u4fe1\u6a21\u5757\u63a5\u6536\u6570\u636eMCU\u4f20\u6765\u7684\u6570\u636e&#xff0c;\u7136\u540e\u901a\u8fc7\u4e00\u4e2a\u65e0\u7ebf\u901a\u4fe1\u6a21\u5757(8266 -01s Sation\u6a21\u5f0f)\u8fde\u63a5Linux\u4e91\u670d\u52a1\u5668\u4e0a\u4f20\u6570\u636e&#xff0c;\u6240\u4ee5\u53ef\u4ee5\u901a\u8fc7\u4e09\u79cd\u534f\u8bae\u5411\u7269\u8054\u7f51\u7f51\u5173\u53d1\u9001\u6570\u636e&#xff0c;\u65e0\u7ebf\u901a\u4fe1\u4e3a\u5757\u4e3aESP 8266-01s&#xff0c;HC-06&#xff0c;ZigBee&#xff0c;\u5176\u4e2d\u53ea\u6709HC-06\u662f\u4e00\u5bf9\u4e00\u901a\u4fe1&#xff0c;\u5176\u4ed6\u90fd\u662f\u53ef\u4ee5\u4e00\u5bf9\u591a&#xff0c;\u4e09\u79cd\u901a\u4fe1\u6a21\u5757\u90fd\u662f\u4e32\u53e3(UART)\u9a71\u52a8&#xff0c;\u5176\u4e2d\u4e00\u4e2aESP 8266-01s\u914d\u7f6e\u6210AP \u6a21\u5f0f&#xff0c;AP \u6a21\u5f0f\u662f\u6307 ESP8266 \u6a21\u5757\u81ea\u8eab\u4f5c\u4e3a\u4e00\u4e2a\u70ed\u70b9&#xff0c;\u7136\u540e\u76d1\u542c\u4e00\u4e2a8888\u7aef\u53e3&#xff0c;\u5355\u7247\u673a\u5373\u53ef\u76f4\u63a5\u4e0e\u5176\u8fde\u63a5&#xff0c;\u4ece\u800c\u5b9e\u73b0\u7269\u8054\u7f51\u7f51\u5173\u83b7\u53d6\u6574\u4e2a\u5c40\u57df\u7f51\u7684\u7ed3\u70b9\u4fe1\u606f&#xff0c;\u53e6\u5916\u4e00\u4e2aESP 8266-01s \u914d\u7f6e\u6210Sation \u6a21\u5f0f&#xff0c;Sation \u6a21\u5f0f\u662f ESP8266 \u6a21\u5757\u901a\u8fc7\u8def\u7531\u5668\u8fde\u63a5Linux\u4e91\u670d\u52a1\u5668&#xff0c;\u5bf9\u8bbe\u5907\u7684\u8fdc\u7a0b\u63a7\u5236\u529f\u5c31\u80fd\u901a\u8fc7\u4e92\u8054\u7f51\u5b9e\u73b0&#xff0c;\u7528\u4e8e\u5c06\u5176\u4ed6\u4e09\u4e2a\u6a21\u5757\u6536\u5230\u7684\u6d88\u606f\u4e0a\u4f20Linux\u4e91\u670d\u52a1\u5668\u3002ZigBee\u662f\u786c\u4ef6\u4e0a\u6309\u94ae\u914d\u7f6e&#xff0c;\u914d\u7f6e\u6210\u76f8\u540c\u4fe1\u9053&#xff0c;\u5e7f\u64ad\u6a21\u5f0f\u5c31\u53ef\u4ee5\u63a5\u6536\u540c\u4fe1\u9053\u7684\u6570\u636e\u4e86\u3002\u4e09\u79cd\u90fd\u662f\u4e32\u53e3\u534f\u8bae&#xff0c;\u6240\u4ee5\u6211\u4eec\u9700\u8981\u7f16\u5199I.MX6ULL\u7684Linux\u9a71\u52a8\u7a0b\u5e8f&#xff0c;\u8fd9\u91ccI.MX6ULL\u7684\u6069\u667a\u6d66\u5b98\u65b9\u5df2\u7ecf\u5199\u597d\u4e86&#xff0c;\u4f46\u662f\u6211\u4e0d\u4f1a\u641e\u8bbe\u5907\u6811\u90a3\u4e9b&#xff0c;\u597d\u4e0d\u5bb9\u6613\u4fee\u6539\u7684\u8bbe\u5907\u6811\u53bb\u7f16\u8bd1\u9a71\u52a8\u7136\u540eUboot\u542f\u52a8I.MX6ULL\u65f6&#xff0c;\u5185\u6838\u542f\u52a8\u62a5\u9519&#xff0c;\u6211\u4e5f\u4e0d\u77e5\u9053\u4ec0\u4e48\u539f\u56e0&#xff0c;\u7528\u7684\u662f\u539f\u5b50\u7684\u7684\u8bbe\u5907\u6811\u548c\u5185\u6838\u6587\u4ef6&#xff0c;\u5f53\u65f6\u641e\u4e0d\u51fa\u6765&#xff0c;\u6211\u5c31\u4e2d\u76f4\u63a5\u7528\u914d\u7f6e\u5bc4\u5b58\u5668\u7684\u65b9\u5f0f\u81ea\u5df1\u51994\u4e2a\u4e32\u53e3\u9a71\u52a8\u5c31\u884c\u4e86&#xff0c;\u4e32\u53e3\u9a71\u52a8\u8fd8\u662f\u7b80\u5355\u7684&#xff0c;\u7167\u7740\u88f8\u673a\u5386\u7a0b\u53bb\u914d\u7f6e\u5bc4\u5b58\u5668\u5c31\u597d\u4e86&#xff0c;\u6709\u4e00\u4e9b\u7ec6\u5fae\u7684\u533a\u522b\u5c31\u662f\u5b9a\u4e49\u5bc4\u5b58\u5668\u5730\u5740\u9700\u8981\u6620\u5c04\u51fa\u5bc4\u5b58\u5668\u865a\u62df\u5730\u5740\u6307\u9488&#xff0c;\u8bfb\u53d6\u5bc4\u5b58\u5668\u4fee\u6539\u5bc4\u5b58\u5668\u7684\u65b9\u5f0f\u4e5f\u4e0d\u540c\u3002<\/p>\n<p>\u9a71\u52a8\u7a0b\u5e8f\u7f16\u5199&#xff0c;\u6700\u91cd\u8981\u7684\u5c31\u662f\u6587\u4ef6\u64cd\u4f5c\u7ed3\u6784\u4f53&#xff0c;\u7528\u6237\u4e0e\u5185\u6838\u7a7a\u95f4\u4fe1\u606f\u4ea4\u4e92\u7684\u6865\u6881&#xff0c;\u5b66\u8fc7STM32\u90fd\u77e5\u9053\u4e32\u53e3\u63a5\u6536\u51fd\u6570\u7684\u7f16\u5199\u5427&#xff0c;\u63a5\u6536\u5bc4\u5b58\u8bfb\u5230\u7684\u6570\u636e\u4e00\u76f4\u8ffd\u52a0\u5728\u4e00\u4e2aBUF\u91cc\u9762&#xff0c;\u76f4\u5230\u5f53\u6536\u5230\\\\r\\\\n\u65f6&#xff0c;\u4ee3\u8868\u63a5\u6536\u5b8c\u6bd5&#xff0c;\u7acb\u4e00\u4e2a\u6807\u5fd7\u4f4d&#xff0c;\u7528\u6237\u7a7a\u95f4\u4e00\u76f4\u901a\u8fc7read\u51fd\u6570\u8bfb\u53d6\u9a71\u52a8\u6587\u4ef6&#xff0c;\u5982\u679c\u9a71\u52a8\u6587\u4ef6\u4e2d\u7684\u6807\u5fd7\u4f4d\u4e3a\u4e00&#xff0c;\u5219\u4ee3\u8868\u6536\u5230\u4e86\u4e00\u4e2a\u5b8c\u6574\u7684\u6570\u636e\u5305&#xff0c;\u5c06\u6570\u636e\u5305\u53d1\u7ed9\u7528\u6237\u7a7a\u95f4&#xff0c;\u7136\u540e\u6e05\u9664\u6807\u5fd7\u4f4d\u3002\u8fd9\u6837\u7528\u6237\u7a7a\u95f4\u83b7\u53d6\u5230\u4e86\u8be5\u901a\u4fe1\u6a21\u5757\u63a5\u6536\u5230\u7684\u6570\u636e&#xff0c;\u8fd9\u91cc\u4e0d\u540c\u7684\u662f8266\u7684\u6d88\u606f\u63a5\u6536\u51fd\u6570\u4e0d\u4e00\u6837!\u00a0 \u00a0!\u00a0 \u00a0!\u00a0 \u5f53\u65f6\u56e0\u4e3a\u63a5\u6536\u51fd\u6570\u90fd\u5199\u4e00\u6837\u7684\u8fd9\u4e2a8266\u7684\u4e00\u76f4\u6536\u4e0d\u5230&#xff0c;\u8fd9\u4e2a8266\u6536\u5230\u7684\u6d88\u606f\u6709\u524d\u6709\u591a\u4e2a\\\\r\\\\n\u6240\u4ee5\u9700\u8981\u5bf9\u5176\u8fc7\u6ee4\u3002<\/p>\n<p>\u00a0 \u00a0\u4e00\u51713\u6a21\u5757&#xff0c;\u6240\u4ee5\u9700\u8981\u5f00\u542f\u4e09\u4e2a\u7ebf\u7a0b&#xff0c;\u4e09\u4e2a\u7ebf\u7a0b\u6253\u5f00\u5404\u81ea\u7684\u901a\u4fe1\u6a21\u5757\u7684UART\u9a71\u52a8\u6a21\u5757\u6587\u4ef6\u7136\u540e\u6309\u7167AT\u6307\u4ee4\u96c6\u7528write\u51fd\u6570\u5c06\u7528\u6237\u7a7a\u95f4\u7684\u6570\u636e\u53d1\u9001\u5230\u5185\u6838\u7a7a\u95f4\u7136\u540e\u53bb\u53d1\u9001AT\u6307\u4ee4\u914d\u7f6e\u6a21\u5757&#xff0c;\u914d\u7f6e\u5b8c\u6210\u540e\u5c31\u8f6e\u8be2\u83b7\u53d6\u63a5\u6536\u6807\u5fd7\u4f4d&#xff0c;\u5982\u679c\u6536\u5230\u6570\u636e&#xff0c;\u5c31\u901a\u8fc7\u4e00\u4e2a\u00a0ESP 8266-01s \u53d1\u9001\u7ed9Linux\u4e91\u670d\u52a1\u5668&#xff0c;\u6240\u4ee5\u601d\u8def\u5c31\u6709\u4e86&#xff0c;\u6211\u4eec\u521b\u5efa\u4e09\u4e2a\u7ebf\u7a0b&#xff0c;6\u4e2a\u5168\u5c40\u53d8\u91cf&#xff0c;\u5176\u4e2d\u4e09\u4e2a\u4e3a\u5404\u81ea\u7684\u63a5\u6536\u6570\u636eBUF&#xff0c;\u53e6\u5916\u4e09\u4e2a\u4e3a\u5404\u81ea\u7684\u6807\u5fd7\u4f4d&#xff0c;\u5b50\u7ebf\u7a0b\u5faa\u73af\u8bfb\u53d6\u5185\u6838\u6a21\u5757\u4f20\u7ed9\u7528\u6237\u7a7a\u95f4\u7684\u6d88\u606f&#xff0c;\u5f53read\u51fd\u6570&gt;0&#xff0c;\u8bf4\u660e\u5185\u6838\u6a21\u5757\u4e2d\u7684\u6807\u5fd7\u4f4d\u88ab\u7f6e\u4e00&#xff0c;\u8bf4\u660e\u63a5\u6536\u5230\u4e86\u4e00\u4e2a\u5b8c\u6574\u7684\u6570\u636e\u5305&#xff0c;\u7136\u540e\u5c06\u7528\u6237\u7a7a\u95f4\u7684\u5bf9\u5e94\u6807\u5fd7\u4f4d\u7f6e\u4e00&#xff0c;\u4e3b\u7ebf\u7a0b\u5faa\u73af\u5224\u65ad\u4e09\u4e2a\u6807\u5fd7\u4f4d&#xff0c;\u5f53\u5176\u4e2d\u4e00\u4e2a\u6807\u5fd7\u4f4d\u4e3a\u4e00&#xff0c;\u5c31\u5c06\u5bf9\u5e94\u7684buf\u5199\u5165 \u4e0a\u4f20Linux\u4e91\u670d\u52a1\u5668\u7684\u90a3\u4e2a8266\u7684UART\u5185\u6838\u9a71\u52a8\u6587\u4ef6&#xff0c;\u5185\u6838\u9a71\u52a8\u6587\u4ef6\u5c31\u5c06\u5176\u5199\u5165\u5bc4\u5b58\u5668\u4e0a\u4f20Linux\u4e91\u670d\u52a1\u5668&#xff0c;\u6700\u540e\u6807\u5fd7\u4f4d\u8d4b\u503c\u4e3a0&#xff0c;\u4e00\u76f4\u8f6e\u8be2\u4e0b\u53bb&#xff0c;\u7136\u540e\u9700\u8981\u5c06\u6253\u5f00\u7684\u6587\u4ef6\u7684\u6587\u4ef6\u63cf\u8ff0\u7b26\u7f6e\u4e3a\u5168\u5c40\u53d8\u91cf\u65b9\u4fbf\u4e3b\u7ebf\u7a0b\u6536\u5230\u670d\u52a1\u5668\u7684\u6d88\u606f\u9700\u8981\u5bf9\u7279\u5b9a\u7684\u6587\u4ef6\u8fdb\u884c\u64cd\u4f5c(\u5199\u5165\u5bc4\u5b58\u5668\u7ed9\u6307\u5b9a\u7684\u65e0\u7ebf\u901a\u4fe1\u6a21\u5757\u53d1\u9001\u6570\u636e)\u3002<\/p>\n<p>\u4e00\u5171\u6709\u4e09\u4e2a\u5bf9\u5916\u63a5\u6536\u6d88\u606f\u7684\u6a21\u5757\u561b&#xff0c;\u5728\u7f51\u5173\u6211\u4eec\u53ef\u4ee5\u77e5\u9053\u8be5\u6570\u636e\u662f\u54ea\u4e2a\u65e0\u7ebf\u4f20\u611f\u5668\u6765\u7684\u6570\u636e&#xff0c;\u4f46\u662f\u4e0a\u4f20\u670d\u52a1\u5668\u5668\u540e&#xff0c;\u670d\u52a1\u5668\u4e0d\u77e5\u9053&#xff0c;\u6240\u4ee5\u6211\u4eec\u5c06\u7ecf\u8fc7 8266-01s\u7ed3\u70b9\u7684\u6d88\u606f\u90fd\u52a01000 &#xff0c;ZigBee\u52a02000&#xff0c;HC-06\u52a03000 &#xff0c;\u8fd9\u6837\u5176\u4e2d\u5355\u7247\u673aid\u4e3a001\u7ecf\u8fc7ZigBee\u53d1\u8fc7\u6765\u5c31\u6210\u4e862001&#xff0c;\u540c\u7406\u84dd\u7259&#xff0c;\u4f46\u662f8266\u4e0d\u4e00\u6837&#xff0c;\u4ed6\u70ed\u70b9\u6a21\u5f0f\u81ea\u52a8\u5206\u914dIP\u53f7&#xff0c;\u53ef\u4ee5\u76f4\u63a5\u5b9e\u73b0\u8be5\u5c40\u57df\u7f51\u4e0b\u70b9\u5bf9\u70b9\u901a\u4fe1&#xff0c;\u6240\u4ee58266\u7684\u5355\u7247\u673a\u4e0d\u9700\u8981\u53d1\u9001\u5e26id\u7684\u6570\u636e\u5305&#xff0c;\u8fd9\u6837\u5c31\u6839\u636e\u5355\u7247\u673a\u7684id\u503c\u5927\u5c0f\u8303\u56f4\u6211\u4eec\u5c31\u77e5\u9053\u4e86\u4ed6\u6240\u5728\u7ed3\u70b9\u533a\u57df&#xff0c;\u8fd9\u6837\u5c31\u53ef\u4ee5\u5b9e\u73b0\u670d\u52a1\u5668\u5bf9\u5176\u7684\u63a7\u5236&#xff0c;\u540c\u6837\u6536\u5230\u670d\u52a1\u5668\u4f20\u4e0b\u6765\u7684\u63a7\u5236\u6570\u636e\u5305\u65f6&#xff0c;\u6211\u4eec\u9700\u8981\u6839\u636e\u8303\u56f4\u53bb\u5224\u65ad\u8be5\u503c\u7684\u662f\u54ea\u4e2a\u7ed3\u70b9\u7684\u6570\u636e\u5305&#xff0c;\u7136\u540e\u51cf\u53bb\u8be5\u589e\u52a0\u7684\u6570&#xff0c;\u6700\u540e\u4f20\u5230\u6307\u5b9a\u5355\u7247\u673a\u4e0a\u3002<\/p>\n<p>\u4e3b\u5faa\u73af<\/p>\n<p>while(1)<br \/>\n{<br \/>\nif(WiFi8266Server_Flag&#061;&#061;1)<br \/>\n{<br \/>\nWiFi8266Server_handle();<br \/>\nWiFi8266Server_Flag&#061;0;<br \/>\n}<br \/>\nif(UARTServer_Flag&#061;&#061;1)<br \/>\n{<br \/>\nTCP_Server_handle();<br \/>\nUARTServer_Flag&#061;0;<br \/>\n}<br \/>\nif(ZigBee_Flag&#061;&#061;1)<\/p>\n<p>{<br \/>\n    ZigBee_handle();<br \/>\nZigBee_Flag&#061;0;<br \/>\n}<br \/>\nif(HC06_Flag&#061;&#061;1)<br \/>\n{<br \/>\nHC06_handle();<br \/>\nHC06_Flag&#061;0;<br \/>\n}<\/p>\n<p>if(UART_Flag&#061;&#061;1)<br \/>\n{<br \/>\n  UART_handle();<br \/>\n  UART_Flag&#061;0;<br \/>\n        }<br \/>\n} <\/p>\n<h5>\u4e32\u53e33\u6587\u4ef6\u9a71\u52a8\u7f16\u5199&#xff0c;\u6309\u7167\u53ef\u4ee5\u53bb\u5199\u5176\u4ed6\u51e0\u4e2a<\/h5>\n<p>#define NEWCHRIOBEE_CNT1  \/* \u8bbe\u5907\u53f7\u4e2a\u6570 *\/<\/p>\n<p>#define NEWCHRIOBEE_NAME&#034;newchriobee&#034;\/* \u540d\u5b57 *\/<\/p>\n<p>\/* \u5bc4\u5b58\u5668\u7269\u7406\u5730\u5740 *\/<br \/>\n#define CCM_CGPR1_BASE  (0x020C406C)  \/\/uart3 ,uart4<br \/>\n#define CCM_CGPR0_BASE  (0x020C4068)  \/\/uart2<br \/>\n\/\/3<br \/>\n#define IOMUXC_UART3_TX_DATA_UART3_TX_BASE   (0x020E00A4)<br \/>\n#define IOMUXC_UART3_RX_DATA_UART3_RX_BASE   (0x020E00A8)<br \/>\n#define PAD_CTL_PAD_UART3_TX_DATA_BASE       (0x020E0330)<br \/>\n#define PAD_CTL_PAD_UART3_RX_DATA_BASE       (0x020E0334)<\/p>\n<p>#define UART3_UFCR_BASE    (0x021EC090)<br \/>\n#define UART3_UBIR_BASE    (0x021EC0A4)<br \/>\n#define UART3_UBMR_BASE    (0x021EC0A8)<br \/>\n#define UART3_UCR1_BASE    (0x021EC080)<br \/>\n#define UART3_UCR2_BASE    (0x021EC084)<br \/>\n#define UART3_UCR3_BASE    (0x021EC088)<br \/>\n#define UART3_USR2_BASE    (0x021EC098)<br \/>\n#define UART3_URXD_BASE    (0x021EC000)<br \/>\n#define UART3_UTXD_BASE    (0x021EC040)<\/p>\n<p>\/* \u6620\u5c04\u540e\u7684\u5bc4\u5b58\u5668\u865a\u62df\u5730\u5740\u6307\u9488 *\/<\/p>\n<p>static void __iomem * CCM_CGPR1;<br \/>\nstatic void __iomem * CCM_CGPR0;<\/p>\n<p>static void __iomem *IOMUXC_UART3_TX_DATA_UART3_TX;<br \/>\nstatic void __iomem *IOMUXC_UART3_RX_DATA_UART3_RX;<br \/>\nstatic void __iomem *PAD_CTL_PAD_UART3_TX_DATA;<br \/>\nstatic void __iomem *PAD_CTL_PAD_UART3_RX_DATA;<br \/>\nstatic void __iomem *UART3_UFCR;<br \/>\nstatic void __iomem *UART3_UBIR;<br \/>\nstatic void __iomem *UART3_UBMR;<br \/>\nstatic void __iomem *UART3_UCR1;<br \/>\nstatic void __iomem *UART3_UCR2;<br \/>\nstatic void __iomem *UART3_UCR3;<br \/>\nstatic void __iomem *UART3_USR2;<br \/>\nstatic void __iomem *UART3_URXD;<br \/>\nstatic void __iomem *UART3_UTXD;<br \/>\n void register_init(void);<br \/>\n void uart_init(void);<br \/>\n void uart_io_init(void);<br \/>\n void uart_disable(void);<br \/>\n void uart_enable(void);<br \/>\n void uart_softreset(void);<br \/>\n int  getc(void);<br \/>\n void myexit(void);<\/p>\n<p>unsigned char i;<br \/>\nchar RECS[100];<\/p>\n<p>void register_init(void)<br \/>\n{<br \/>\n    printk(&#034;register_init\\\\r\\\\n&#034;);<br \/>\n    CCM_CGPR1&#061;ioremap(CCM_CGPR1_BASE,4);<br \/>\n    CCM_CGPR0&#061;ioremap(CCM_CGPR0_BASE,4);<br \/>\nIOMUXC_UART3_TX_DATA_UART3_TX&#061;ioremap(IOMUXC_UART3_TX_DATA_UART3_TX_BASE, 4);<br \/>\nIOMUXC_UART3_RX_DATA_UART3_RX&#061;ioremap(IOMUXC_UART3_RX_DATA_UART3_RX_BASE,4);<br \/>\nPAD_CTL_PAD_UART3_TX_DATA&#061;ioremap(PAD_CTL_PAD_UART3_TX_DATA_BASE,4);<br \/>\nPAD_CTL_PAD_UART3_RX_DATA&#061;ioremap(PAD_CTL_PAD_UART3_RX_DATA_BASE,4);<\/p>\n<p>UART3_UFCR&#061;ioremap(UART3_UFCR_BASE,4);<br \/>\nUART3_UBIR&#061;ioremap(UART3_UBIR_BASE,4);<br \/>\nUART3_UBMR&#061;ioremap(UART3_UBMR_BASE,4);<br \/>\nUART3_UCR1&#061;ioremap(UART3_UCR1_BASE,4);<br \/>\nUART3_UCR2&#061;ioremap(UART3_UCR2_BASE,4);<br \/>\nUART3_UCR3&#061;ioremap(UART3_UCR3_BASE,4);<br \/>\nUART3_USR2&#061;ioremap(UART3_USR2_BASE,4);<br \/>\nUART3_URXD&#061;ioremap(UART3_URXD_BASE,4);<br \/>\nUART3_UTXD&#061;ioremap(UART3_UTXD_BASE,4);<br \/>\n}<\/p>\n<p>void uart_init(void)<br \/>\n{<br \/>\n__u32 ret;<br \/>\nuart_io_init();<\/p>\n<p>  writel(0XFFFFFFFF,CCM_CGPR1);<\/p>\n<p>writel(0XFFFFFFFF,CCM_CGPR0);<\/p>\n<p>uart_disable();<br \/>\nuart_softreset();<br \/>\nwritel(0,UART3_UCR1);<\/p>\n<p>  ret&#061;readl(UART3_UCR2);<br \/>\nret|&#061; (1&lt;&lt;14) | (1&lt;&lt;5) | (1&lt;&lt;2) | (1&lt;&lt;1);<br \/>\nwritel(ret,UART3_UCR2);<\/p>\n<p>  ret&#061;readl(UART3_UCR3);<br \/>\nret|&#061; 1&lt;&lt;2;<br \/>\n  writel(ret,UART3_UCR3);<\/p>\n<p>  ret&#061;readl(UART3_UCR1);<br \/>\nret &amp;&#061; ~(1&lt;&lt;14);<br \/>\n  writel(ret,UART3_UCR1);<br \/>\nwritel(5&lt;&lt;7,UART3_UFCR);<br \/>\nwritel(71,UART3_UBIR);<br \/>\nwritel(3124,UART3_UBMR);<\/p>\n<p>uart_enable();<br \/>\n}<\/p>\n<p>void uart_io_init(void)<br \/>\n{<br \/>\nwritel(0,IOMUXC_UART3_TX_DATA_UART3_TX);<br \/>\nwritel(0,IOMUXC_UART3_RX_DATA_UART3_RX);<br \/>\nwritel(0x10B0,PAD_CTL_PAD_UART3_TX_DATA);<br \/>\nwritel(0x10B0,PAD_CTL_PAD_UART3_TX_DATA);<br \/>\n}<\/p>\n<p>void uart_disable()<\/p>\n<p>{<br \/>\n__u32 ret;<br \/>\nret&#061;readl(UART3_UCR1);<br \/>\nret &amp;&#061; ~(1&lt;&lt;0);<br \/>\n  writel(ret,UART3_UCR1);<br \/>\n}<\/p>\n<p>void uart_enable()<br \/>\n{<br \/>\n__u32 ret;<br \/>\nret&#061;readl(UART3_UCR1);<br \/>\nret |&#061; (1&lt;&lt;0);<br \/>\n  writel(ret,UART3_UCR1);<br \/>\n}<br \/>\nvoid uart_softreset()<br \/>\n{<br \/>\n__u32 ret;<br \/>\nret&#061;readl(UART3_UCR2);<br \/>\nret  &amp;&#061; ~(1&lt;&lt;0); \/* UCR2\u7684bit0\u4e3a0&#xff0c;\u590d\u4f4dUART    *\/<br \/>\n   writel(ret,UART3_UCR2);<\/p>\n<p>while((readl(UART3_UCR2) &amp; 0x1) &#061;&#061; 0); \/* \u7b49\u5f85\u590d\u4f4d\u5b8c\u6210 *\/<br \/>\n}<br \/>\nvoid send_c(unsigned char c)<br \/>\n{<br \/>\n   while(((readl(UART3_USR2)&gt;&gt; 3) &amp; 0X01) &#061;&#061; 0); \/*\u7b49\u5f85\u4e0a\u4e00\u6b21\u53d1\u9001\u5b8c\u6210*\/<br \/>\n   writel(c &amp; 0XFF, UART3_UTXD);         \/*\u5199\u5165\u5bc4\u5b58\u5668*\/<br \/>\n}<br \/>\nvoid send_str(char *str)<br \/>\n{<br \/>\nchar *p &#061; str;<br \/>\nwhile(*p)<br \/>\n   send_c(*p&#043;&#043;);<br \/>\n}<\/p>\n<p>int read_c(void)<br \/>\n{<br \/>\n   while((readl(UART3_USR2) &amp; 0x1) &#061;&#061; 0);\/*\u7b49\u5f85\u63a5\u6536\u5b8c\u6210*\/<br \/>\nRECS[i&#043;&#043;]&#061;readl(UART3_URXD);<br \/>\nif((RECS[i-2]&#061;&#061;&#039;\\\\r&#039;)|(RECS[i-1]&#061;&#061;&#039;\\\\n&#039;))<br \/>\n{<br \/>\nRECS[i-2]&#061;&#039;\\\\0&#039;;<br \/>\ni &#061; 0;<br \/>\nreturn 1;<br \/>\n}<br \/>\n    return 0;<br \/>\n}<\/p>\n<p>void myexit(void)<br \/>\n{<br \/>\niounmap(CCM_CGPR1);<br \/>\niounmap(IOMUXC_UART3_TX_DATA_UART3_TX);<br \/>\niounmap(IOMUXC_UART3_RX_DATA_UART3_RX);<br \/>\niounmap(PAD_CTL_PAD_UART3_TX_DATA);<br \/>\niounmap(PAD_CTL_PAD_UART3_RX_DATA);<br \/>\niounmap(UART3_UFCR);<br \/>\niounmap(UART3_UBIR);<br \/>\niounmap(UART3_UBMR);<br \/>\niounmap(UART3_UCR1);<br \/>\niounmap(UART3_UCR2);<br \/>\niounmap(UART3_UCR3);<br \/>\niounmap(UART3_USR2);<br \/>\niounmap(UART3_URXD);<br \/>\niounmap(UART3_UTXD);<\/p>\n<p>}<\/p>\n<p>struct newchriobee_dev{<br \/>\ndev_t devid;\/* \u8bbe\u5907\u53f7  *\/<br \/>\nstruct cdev cdev;\/* cdev *\/<br \/>\nstruct class *class;\/* \u7c7b *\/<br \/>\nstruct device *device;\/* \u8bbe\u5907  *\/<br \/>\nint major;\/* \u4e3b\u8bbe\u5907\u53f7  *\/<br \/>\nint minor;\/* \u6b21\u8bbe\u5907\u53f7   *\/<br \/>\n};<\/p>\n<p>struct newchriobee_dev newchriobee;<\/p>\n<p>static int iobee_open(struct inode *inode, struct file *filp)<br \/>\n{<br \/>\nregister_init();     \/*\u521d\u59cb\u5316\u5bc4\u5b58\u5668*\/<br \/>\n    uart_init();        \/*\u521d\u59cb\u5316uart*\/<br \/>\nprintk(&#034;kernel  open!\\\\r\\\\n&#034;);<br \/>\nfilp-&gt;private_data &#061; &amp;newchriobee; \/* \u8bbe\u7f6e\u79c1\u6709\u6570\u636e *\/<br \/>\nreturn 0;<br \/>\n}<\/p>\n<p>static ssize_t iobee_read(struct file *filp, char __user *buf, size_t cnt, loff_t *offt)<br \/>\n{<br \/>\n int ret;<br \/>\n    if(!read_c())   \/*\u5224\u65ad\u662f\u5426\u63a5\u6536\u5230\u6570\u636e*\/<br \/>\nreturn 0;<\/p>\n<p>    printk(&#034;kernel recvdata:%s&#064;\\\\r\\\\n&#034;,RECS);  \/*\u8c03\u8bd5\u7528\u9014,\u53ef\u5220\u9664*\/<br \/>\n    ret&#061;copy_to_user(buf,RECS,cnt);  \/*\u5185\u6838\u5230\u7528\u6237\u7a7a\u95f4*\/<br \/>\n    if(ret&lt;0)<br \/>\n{<br \/>\n     printk(&#034;kernel read error!\\\\r\\\\n&#034;);<br \/>\n}<br \/>\nreturn 0;<br \/>\n}<\/p>\n<p>static ssize_t iobee_write(struct file *filp, const char __user *buf, size_t cnt, loff_t *offt)<br \/>\n{<br \/>\n     char sendbuf[1024]&#061;{0};<br \/>\n     int ret;<br \/>\n ret&#061;copy_from_user(sendbuf,buf,cnt);<br \/>\n if(ret&lt; 0) {<br \/>\n printk(&#034;write error !\\\\r\\\\n&#034;);<br \/>\n     return 0;<br \/>\n     }<br \/>\n    printk(&#034;kernel sendstring:%s&#064;\\\\r\\\\n&#034;,sendbuf);  \/*\u8c03\u8bd5\u7528\u9014,\u53ef\u5220\u9664*\/<br \/>\nsend_str(sendbuf);<br \/>\nreturn 0;<br \/>\n}<\/p>\n<p>static int iobee_release(struct inode *inode, struct file *filp)<br \/>\n{<br \/>\nreturn 0;<br \/>\n}<\/p>\n<p>\/* \u8bbe\u5907\u64cd\u4f5c\u51fd\u6570 *\/<\/p>\n<p>static struct file_operations newchriobee_fops &#061; {<\/p>\n<p>.owner &#061; THIS_MODULE,<br \/>\n.open &#061; iobee_open,<br \/>\n.read &#061; iobee_read,<br \/>\n.write &#061; iobee_write,<br \/>\n.release &#061; iobee_release,<br \/>\n};<\/p>\n<p>static int __init iobee_init(void)<br \/>\n{<br \/>\n\/* \u6ce8\u518c\u5b57\u7b26\u8bbe\u5907\u9a71\u52a8 *\/<br \/>\n\/* 1\u3001\u521b\u5efa\u8bbe\u5907\u53f7 *\/<br \/>\nif (newchriobee.major) {\/*  \u5b9a\u4e49\u4e86\u8bbe\u5907\u53f7 *\/<br \/>\nnewchriobee.devid &#061; MKDEV(newchriobee.major, 0);<br \/>\nregister_chrdev_region(newchriobee.devid, NEWCHRIOBEE_CNT, NEWCHRIOBEE_NAME);<br \/>\n} else {\/* \u6ca1\u6709\u5b9a\u4e49\u8bbe\u5907\u53f7 *\/<\/p>\n<p>alloc_chrdev_region(&amp;newchriobee.devid, 0, NEWCHRIOBEE_CNT, NEWCHRIOBEE_NAME);\/* \u7533\u8bf7\u8bbe\u5907\u53f7 *\/<br \/>\nnewchriobee.major &#061; MAJOR(newchriobee.devid);\/* \u83b7\u53d6\u5206\u914d\u53f7\u7684\u4e3b\u8bbe\u5907\u53f7 *\/<br \/>\nnewchriobee.minor &#061; MINOR(newchriobee.devid);\/* \u83b7\u53d6\u5206\u914d\u53f7\u7684\u6b21\u8bbe\u5907\u53f7 *\/<br \/>\n}<br \/>\nprintk(&#034;newcheiobee major&#061;%d,minor&#061;%d\\\\r\\\\n&#034;,newchriobee.major, newchriobee.minor);<\/p>\n<p>\/* 2\u3001\u521d\u59cb\u5316cdev *\/<br \/>\nnewchriobee.cdev.owner &#061; THIS_MODULE;<br \/>\ncdev_init(&amp;newchriobee.cdev, &amp;newchriobee_fops);<br \/>\n\/* 3\u3001\u6dfb\u52a0\u4e00\u4e2acdev *\/<br \/>\ncdev_add(&amp;newchriobee.cdev, newchriobee.devid,NEWCHRIOBEE_CNT);<br \/>\n\/* 4\u3001\u521b\u5efa\u7c7b *\/<br \/>\nnewchriobee.class &#061; class_create(THIS_MODULE,NEWCHRIOBEE_NAME);<\/p>\n<p>if (IS_ERR(newchriobee.class)) {<br \/>\nreturn PTR_ERR(newchriobee.class);<br \/>\n}<br \/>\n\/* 5\u3001\u521b\u5efa\u8bbe\u5907 *\/<br \/>\nnewchriobee.device &#061; device_create(newchriobee.class, NULL, newchriobee.devid, NULL,NEWCHRIOBEE_NAME);<br \/>\nif (IS_ERR(newchriobee.device)) {<br \/>\nreturn PTR_ERR(newchriobee.device);<br \/>\n}<br \/>\nreturn 0;<br \/>\n}<\/p>\n<p>static void __exit iobee_exit(void)<br \/>\n{<br \/>\n    myexit();<br \/>\n\/* \u6ce8\u9500\u5b57\u7b26\u8bbe\u5907\u9a71\u52a8 *\/<br \/>\ncdev_del(&amp;newchriobee.cdev);\/*  \u5220\u9664cdev *\/<br \/>\nunregister_chrdev_region(newchriobee.devid, NEWCHRIOBEE_CNT); \/* \u6ce8\u9500\u8bbe\u5907\u53f7 *\/<br \/>\ndevice_destroy(newchriobee.class, newchriobee.devid);<br \/>\nclass_destroy(newchriobee.class);<br \/>\nprintk(&#034;iobee clear !\\\\r\\\\n&#034;);<\/p>\n<p>}<\/p>\n<p>module_init(iobee_init);<br \/>\nmodule_exit(iobee_exit);<\/p>\n<p>MODULE_LICENSE(&#034;GPL&#034;);<\/p>\n<p>MODULE_AUTHOR(&#034;YZM very Good&#034;); <\/p>\n<h5>Linux C&#043;&#043;\u670d\u52a1\u5668:<\/h5>\n<p>\u54b1\u4eec\u7269\u8054\u7f51\u7cfb\u7edf\u4e00\u5171\u6709\u4e94\u4e2a\u8bbe\u5907\u9700\u8981\u63a5\u5165\u4e91\u670d\u52a1&#xff0c;\u5206\u522b\u662fweb&#xff0c;MCU&#xff0c;QT&#xff0c;QT APP&#xff0c;JS\u3002\u6240\u4ee5\u521b\u5efa\u4e94\u4e2a\u5957\u63a5\u5b57&#xff0c;\u7ed1\u5b9a\u4e94\u4e2a\u4e0d\u540c\u7aef\u53e3&#xff0c;\u5b9e\u73b0\u4e0d\u540c\u7684\u670d\u52a1\u3002\u8bbf\u95ee80\u7aef\u53e3\u670d\u52a1\u5668\u5411\u5ba2\u6237\u53d1\u9001\u4e00\u4e2aHTML\u6587\u4ef6&#xff0c;HTML\u6587\u4ef6\u91cc\u9762\u6709JS&#xff0c;JS\u8fde\u63a5\u670d\u52a1\u5668\u7684\u53e6\u5916\u4e00\u4e2a\u7aef\u53e3&#xff0c;\u6bcf2\u79d2\u5411\u670d\u52a1\u5668\u62ff\u4e00\u6b21\u7ed3\u70b9\u6570\u636e\u66f4\u65b0&#xff0c;\u54cd\u5e94JS\u6570\u636e\u9700\u8981\u81ea\u5df1\u53d1\u9001\u54cd\u5e94\u5934\u548cjson\u683c\u5f0f\u7684\u6570\u636e\u6a21\u62dfWEB\u670d\u52a1\u5668\u3002\u540c\u7406\u5176\u4ed6\u90fd\u5dee\u4e0d\u591a&#xff0c;MCU\u7684\u7aef\u53e3\u670d\u52a1\u662f\u5de5\u7a0b\u91cf\u6700\u5927\u7684&#xff0c;\u9996\u5148\u4ecb\u7ecd\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5224\u65ad\u5355\u7247\u673a\u7ed3\u70b9\u662f\u5426\u8fde\u63a5\u65ad\u5f00\u529f\u80fd&#xff0c;\u6211\u89c4\u5b9a\u5355\u7247\u673a\u6bcf2\u79d2\u4e0a\u4f20\u4e00\u6b21\u4f20\u611f\u5668\u4e2a\u7ed3\u70b9\u6570\u636e\u5e76\u4e14\u7ed9\u6bcf\u4e2a\u5355\u7247\u673a\u90fd\u56fa\u5b9a\u4e00\u4e2aIP&#xff0c;\u5f53\u4e0a\u4f20\u6570\u636e\u65f6\u5305\u5934\u90fd\u662fID&#xff0c;\u6211\u4eec\u62c6\u5305\u62ff\u51faID&#xff0c;\u5c06IP\u6570\u5b57\u4f5c\u4e3a\u952e\u653e\u5165\u4e00\u4e2amap\u5bb9\u5668\u3002\u521d\u59cb\u5316\u952e\u7684\u503c\u4e3atrue\u3002\u7136\u540e\u7ed9\u8fd9\u4e2aID\u5f00\u4e00\u4e2a\u7ebf\u7a0b\u8ba9\u4e00\u76f4while\u5faa\u73af\u6bcfsleep 5\u79d2\u5224\u65ad\u4e00\u6b21\u952e\u7684\u503c\u662f\u5426\u4e3atrue&#xff0c;\u5982\u679c\u4e3atrue\u5219\u7f6e\u4e3afalse\u7ee7\u7eed\u5faa\u73af&#xff0c;\u5982\u679c\u4e3afalse\u5219\u5220\u9664\u8be5\u6570\u636e\u9000\u51fa\u7ebf\u7a0b\u6e05\u7406\u7ebf\u7a0b\u3002\u6240\u4ee5\u5355\u7247\u673a\u6bcf\u6b21\u4e0a\u4f20\u6570\u636e\u90fd\u5224\u65admap\u5bb9\u5668\u662f\u5426\u5b58\u5728ID\u5982\u679c\u5b58\u5728\u5219\u8ba9\u5b83\u7f6e\u4e3atrue&#xff0c;\u4e0d\u5b58\u5728\u5219\u6dfb\u52a0&#xff0c;\u5c31\u50cfSTM32\u7684\u770b\u95e8\u72d7\u4e00\u6837\u6ca1\u6709\u53ca\u65f6\u5582\u72d7\u5c31\u6ca1\u6709\u53ca\u65f6\u5c06false\u7f6e\u4e3atrue&#xff0c;\u7ebf\u7a0b\u5224\u65ad\u5230\u65f6\u5982\u679c\u8fd8\u4e3afalse\u5c31\u5220\u9664ID\u5f53\u4f5c\u65ad\u5f00\u8fde\u63a5\u5904\u7406&#xff0c;\u6240\u4ee5\u9700\u8981\u5355\u7247\u673a\u6bcf\u4e00\u6bb5\u65f6\u95f4\u66f4\u65b0\u4e00\u6b21\u6570\u636e\u53bb\u5c06map\u5bb9\u5668\u7684\u503c\u7f6etrue\u3002\u63a5\u4e0b\u6765\u591a\u7ebf\u7a0b\u64cd\u4f5c\u6570\u636e\u5e93\u7684\u95ee\u9898&#xff0c;\u6570\u636e\u5e93\u7684\u6027\u80fd\u74f6\u9888\u5f80\u5f80\u51fa\u73b0\u5728\u5e76\u53d1\u8bfb\u5199\u4e0a\u3002\u6211\u5bf9Mysql\u7684\u67e5\u8be2\u4f18\u5316\u6027\u80fd\u4ec0\u4e48\u7684\u633a\u8584\u5f31\u7684&#xff0c;\u6211\u60f3\u4e86\u4e00\u4e2a\u529e\u6cd5&#xff0c;\u6bcf\u6b21\u6536\u5230\u5355\u7247\u673a\u7684\u6570\u636e\u65f6\u6211\u4eec\u5bf9\u6570\u636e\u5e93\u5e93\u63d2\u5165\u66f4\u6539\u540e&#xff0c;\u7acb\u9a6c\u8fdb\u884c\u4e00\u6b21\u67e5\u8be2&#xff0c;\u7136\u540e\u5c06\u67e5\u8be2\u5230\u7684\u6570\u636e\u5305\u4fdd\u5b58\u8d77\u6765&#xff0c;web\u7f51\u9875\u5440Qt\u7a0b\u5e8f\u5440\u4ed6\u4eec\u90a3\u8fb9\u90fd\u662f\u5b9a\u65f6\u5668\u5b9a\u65f6\u62ff\u6570\u636e&#xff0c;\u907f\u514d\u5176\u4ed6\u7ebf\u7a0b\u9891\u7e41\u5bf9\u6570\u636e\u5e93\u67e5\u8be2&#xff0c;\u76f4\u63a5\u8ba9\u4ed6\u4eec\u5b9a\u65f6\u53bb\u8bbf\u95ee\u8fd9\u4e2a\u4fdd\u5b58\u8d77\u6765\u7684\u6570\u636e\u5305&#xff0c;\u56e0\u4e3a\u6bcf\u6765\u4e00\u6b21\u5355\u7247\u673a\u6570\u636e\u90fd\u4f1a\u66f4\u65b0\u6570\u636e\u5e93\u548c\u6570\u636e\u5305\u6240\u4ee5\u6570\u636e\u5305\u65f6\u523b\u90fd\u662f\u6700\u65b0\u72b6\u6001\u3002<\/p>\n<p>\u00a0 \u63a5\u4e0b\u6765\u5c31\u662f\u5404\u4e2a\u5355\u7247\u673a\u4e4b\u95f4\u7684\u63a7\u5236\u7cfb\u7edf\u7684\u719f\u5b9e\u73b0&#xff0c;\u5355\u7247\u673a\u4e0a\u4f20\u8fc7\u6765\u7684\u6570\u636e\u5305\u6700\u540e\u4e00\u4e3a\u4ee3\u8868\u4ed6\u9700\u8981\u7684\u670d\u52a1\u5668\u8fdb\u884c\u7684\u64cd\u4f5c&#xff0c;0\u4ee3\u8868\u66f4\u65b0\u6570\u636e&#xff0c;1\u4ee3\u8868\u9700\u8981\u63a7\u5236\u5176\u4ed6\u5355\u7247\u673a\u7ed3\u70b9&#xff0c;2\u4ee3\u8868RFID\u6ce8\u518c&#xff0c;3\u4ee3\u8868RFID\u5361\u53f7\u4e0e\u6570\u636e\u5e93\u6bd4\u5bf9&#xff0c;\u6253\u4e2a\u6bd4\u5982&#xff1a;\u6211\u7684\u6570\u636e\u5305\u662f\u00a0 1000name#value0\u00a0 \u8fd9\u4e2a\u6570\u636e\u5305\u662fid1000 \u8bbe\u5907\u540d\u5b57name \u503c\u4e3avalue\u00a0 \u00a0 0\u4e3a\u64cd\u4f5c\u7b26 \u6240\u4ee5\u8be5\u6570\u636e\u662f\u66f4\u65b0\u670d\u52a1\u5668\u6570\u636e&#xff0c;\u670d\u52a1\u5668\u6536\u5230\u6b64\u6570\u636e\u5c31\u53bb\u6570\u636e\u5e93\u66f4\u65b0\u6570\u636e&#xff0c; \u5982\u679c\u6570\u636e\u5305\u4e3a 1000 LED3#true1\u00a0 \u00a0\u8fd9\u4e2a1\u5c31\u662f\u4ee3\u8868\u8be5id&#xff1a;1000 \u7684\u5355\u7247\u673a\u9700\u8981\u670d\u52a1\u5668\u5c06\u8bbe\u5907\u4e3a LED3\u7684\u503c\u4fee\u6539\u4e3atrue \u5c31\u662f\u5f00\u706f\u7684\u610f\u601d&#xff0c;\u7136\u540e\u670d\u52a1\u5668\u5c31\u53bb\u6570\u636e\u5e93\u6216\u8005\u90a3\u4e2a\u6570\u636e\u5305\u627e\u5230\u5305\u6db5LED3\u8bbe\u5907\u7684ID \u77e5\u9053\u4e86ID \u6211\u4eec\u76f4\u63a5\u7ec4\u5305\u53d1\u7ed9\u7f51\u5173&#xff0c;\u7f51\u5173\u6839\u636eID\u8303\u56f4\u5c31\u77e5\u9053\u8be5ID\u5c5e\u4e8e\u54ea\u4e2a\u7ed3\u70b9&#xff0c;\u7136\u540e\u5c31\u5411\u8be5\u65e0\u7ebf\u901a\u4fe1\u7ed3\u70b9\u53d1\u9001\u6570\u636e\u5305\u63a7\u5236\u8be5\u7ed3\u70b9\u4e0b\u7684\u5355\u7247\u673a\u7684\u7ed3\u70b9&#xff0c;\u5bf9\u5e94\u5e7f\u64ad\u5f62\u5f0f\u7684\u65e0\u7ebf\u4f20\u611f\u5668\u7ed3\u70b9\u6211\u4eec\u5355\u7247\u673a\u9700\u8981\u5224\u65ad\u6536\u5230\u7684\u6570\u636e\u5305\u7684ID\u662f\u4e0d\u662f\u8ddf\u672c\u8bbe\u5907ID\u5339\u914d&#xff0c;\u4e0d\u540c\u5219\u4ee3\u8868\u4e0d\u5c5e\u4e8e\u8be5\u5355\u7247\u673a\u6d88\u606f&#xff0c;\u76f4\u63a5\u4e22\u5305\u3002<\/p>\n<p>\u901a\u8fc7\u5185\u6a21\u677f\u521b\u5efa\u7ebf\u7a0b<\/p>\n<p>int main(void)<br \/>\n{<br \/>\n       \/\/\u6570\u636e\u5e93\u521d\u59cb\u5316<br \/>\n       SQLifconfig *sql_typ_MCU&#061;new SQLifconfig;<br \/>\n       sql_typ_MCU-&gt;SQL_init(host,user,pwd,dbname);  \/*\u6570\u636e\u5e93\u8fde\u63a5*\/<\/p>\n<p>       SQLifconfig *sql_typ_MID&#061;new SQLifconfig;<br \/>\n       sql_typ_MID-&gt;SQL_init(host,user,pwd,dbname);  \/*\u6570\u636e\u5e93\u8fde\u63a5*\/<\/p>\n<p>       SQLifconfig *sql_typ_APP&#061;new SQLifconfig;<br \/>\n       sql_typ_APP-&gt;SQL_init(host,user,pwd,dbname);  \/*\u6570\u636e\u5e93\u8fde\u63a5*\/<\/p>\n<p>       SQLifconfig *sql_typ_Web&#061;new SQLifconfig;<br \/>\n       sql_typ_Web-&gt;SQL_init(host,user,pwd,dbname);  \/*\u6570\u636e\u5e93\u8fde\u63a5*\/<\/p>\n<p>       SQLifconfig *sql_typ_JS&#061;new SQLifconfig;<br \/>\n       sql_typ_JS-&gt;SQL_init(host,user,pwd,dbname);  \/*\u6570\u636e\u5e93\u8fde\u63a5*\/<\/p>\n<p>       cout&lt;&lt;&#034;sql select :&#034;&lt;&lt;sql_typ_MCU-&gt;Dql_sql(&#034;SELECT *  FROM node&#034;)&lt;&lt;endl;<br \/>\n       sql_typ_MCU-&gt;Dml_sql(&#034;DELETE  FROM node&#034;);<\/p>\n<p>   \/\/server\u521d\u59cb\u5316<br \/>\n      Myserver&lt;MCUServer&gt;    MCU_server(AF_INET,SOCK_STREAM,0,sql_typ_MCU);<br \/>\n      MCU_server.server_start(MY_IP,MY_MCUPORT,AF_INET);<\/p>\n<p>      Myserver&lt;APPServer&gt;    APP_server(AF_INET,SOCK_STREAM,0,sql_typ_APP);<br \/>\n      APP_server.server_start(MY_IP,MY_APPPORT,AF_INET);<\/p>\n<p>      Myserver&lt;WebServer&gt;     Web_server(AF_INET,SOCK_STREAM,0,sql_typ_Web);<br \/>\n      Web_server.server_start(MY_IP,MY_WEBPORT,AF_INET);<\/p>\n<p>      Myserver&lt;JSServer&gt;     js_server(AF_INET,SOCK_STREAM,0,sql_typ_JS);<br \/>\n      js_server.server_start(MY_IP,MY_JSPORT,AF_INET);<\/p>\n<p>      Myserver&lt;MEEServer&gt;    MEE_server(AF_INET,SOCK_STREAM,0,sql_typ_MID);<br \/>\n      MEE_server.server_start(MY_IP,MY_MMEPORT,AF_INET);<\/p>\n<p>   while (1)<br \/>\n   {<br \/>\n     \/\/std::cout&lt;&lt;&#034;new connect !!&#034;&lt;&lt;endl;<\/p>\n<p>   }<\/p>\n<p>} <\/p>\n<h5>Qt\u7269\u8054\u7f51\u7f51\u5173\u7ec8\u7aef&#xff1a;<\/h5>\n<p>\u7ec8\u7aef\u5f00\u4e00\u4e2a\u5b9a\u65f6\u5668&#xff0c;\u5b9a\u65f6\u53bb\u670d\u52a1\u5668\u62ff\u6570\u636e\u663e\u793a&#xff0c;\u6839\u636eID\u8303\u56f4\u5224\u65ad\u54ea\u4e2a\u65e0\u7ebf\u6a21\u5757\u7ed3\u70b9\u4e0b\u7684\u6570\u636e&#xff0c;\u663e\u793a\u5728\u7279\u5b9a\u7684\u5bb9\u5668\u63a7\u4ef6\u4e0b&#xff0c;\u9996\u5148\u56e0\u4e3a\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u4f20\u611f\u5668\u8282\u70b9\u6240\u4ee5\u6709\u4e0d\u540c\u7684\u64cd\u4f5c&#xff0c;\u6bd4\u5982\u6e29\u6e7f\u5ea6\u53ea\u9700\u8981\u663e\u793a&#xff0c;RFID\u9700\u8981\u4fe1\u606f\u663e\u793a\u548c\u6e05\u7a7a\u6ce8\u518c&#xff0c;\u6e29\u5ea6\u9608\u503c\u9700\u8981\u8bbe\u7f6e\u9608\u503c&#xff0c;\u7535\u673a\u9700\u8981\u5f00\u5173&#xff0c;\u6240\u4ee5\u4f20\u8fc7\u6765\u7684\u6570\u636e\u6211\u5bf9\u5668\u5176ID\u8fdb\u884c\u5b50\u4e32\u5339\u914d&#xff0c;\u5b58\u5728TH&#xff08;threshold&#xff09;\u4ee3\u8868\u8bbe\u5907\u5173\u4e8e\u9608\u503c (\u6e29\u5ea6TH)&#xff0c;\u7136\u540e\u7ed9\u4ed6\u521b\u5efa\u4e00\u5171\u81ea\u5df1\u5c01\u88c5\u597d\u7684\u7c7b&#xff0c;\u7136\u540e\u5728\u6839\u636eid\u628a\u8fd9\u4e2a\u5bf9\u8c61\u653e\u5165\u7279\u5b9a\u5bb9\u5668\u5e03\u5c40&#xff0c;\u540c\u7406\u8bbe\u5907\u540d\u5b57\u5b58\u5728RFID&#xff0c;value\u503c\u7b49\u4e8etrue\u6216\u8005false\u7684\u90fd\u683c\u5916\u5224\u65ad\u4e3a\u542f\u52a8\u7535\u673a&#xff0c;LED\u7b49\u8bbe\u5907\u7684\u6807\u5fd7&#xff0c;\u8fd9\u4e9b\u89c4\u5219\u90fd\u9700\u8981\u5355\u7247\u673a\u53bb\u9075\u5faa\u3002<\/p>\n<p>\u7279\u6b8a\u529f\u80fd&#xff1a;\u670d\u52a1\u5668\u90a3\u8fb9\u4ee5STM32\u770b\u95e8\u72d7\u7684\u65b9\u5f0f\u5224\u65ad\u662f\u5426\u65ad\u5f00\u8fde\u63a5&#xff0c;\u6211\u4eec\u5ba2\u6237\u7aef\u4e5f\u540c\u6837\u9700\u8981\u3002\u9996\u5148\u4e00\u5171\u6709\u56db\u79cd\u5bb9\u5668&#xff0c;\u5206\u522b\u8f6c\u56db\u4e2a\u81ea\u5b9a\u4e49\u7c7b&#xff0c;\u6bcf\u4e00\u4e2a\u8bbe\u5907\u7c7b\u90fd\u6709\u4e24\u4e2a\u69fd\u51fd\u6570&#xff0c;\u4e00\u4e2a\u4e3a\u63a5\u6536\u4e3b\u7a97\u53e3\u7684\u4fe1\u53f7&#xff0c;\u4e00\u4e2a\u4e3a\u6570\u636e\u6bd4\u5bf9\u51fd\u6570&#xff0c;\u6bcf\u6b21\u6536\u5230\u6570\u636e\u5305\u90fd\u9700\u8981\u6839\u636e\u4e0a\u9762\u7684\u5206\u7c7b\u5c06\u5176id&#xff0c;name&#xff0c;value\u4e0e\u65e9\u5c31\u5b58\u5728\u7279\u5b9a\u7684\u5bb9\u5668\u7684\u76f8\u540c\u5bf9\u8c61\u8fdb\u884c\u6bd4\u5bf9(\u5c01\u88c5\u4e86\u4e00\u4e2a\u69fd\u51fd\u6570)&#xff0c;\u5982\u679c\u6bd4\u5bf9\u6210\u529f\u8be5\u7c7b\u7684\u6807\u5fd7\u4f4d\u7f6e\u4e00&#xff0c;\u5168\u90e8\u6bd4\u5bf9\u5b8c\u6210\u540e&#xff0c;\u53d1\u9001\u4e00\u4e2a\u6240\u4ee5\u5bf9\u8c61\u90fd\u7ed1\u5b9a\u4e86\u7684\u4fe1\u53f7&#xff0c;\u6240\u6709\u5bf9\u8c61\u5224\u65ad\u81ea\u8eab\u6807\u5fd7\u4f4d&#xff0c;\u5982\u679c\u4e3a\u4e00\u5219\u5c06\u7f6e0&#xff0c;\u5982\u679c\u4e3a0&#xff0c;\u5219\u4ee3\u8868\u6ca1\u6709\u53ca\u65f6\u5582\u72d7&#xff0c;\u4ee3\u8868\u65b0\u7684\u6570\u636e\u5305\u6ca1\u6709\u4e0a\u6b21\u5b58\u50a8\u7684\u6570\u636e&#xff0c;\u4ee3\u8868\u8be5\u7ed3\u70b9\u4ee5\u4e0d\u5b58\u5728&#xff0c;\u9700\u8981delete\u6e05\u9664\u8be5\u81ea\u5df1&#xff0c;\u540c\u65f6\u53d1\u9001\u4fe1\u53f7\u5230\u4e3b\u7a97\u53e3&#xff0c;\u5220\u9664\u5bb9\u5668\u4e2d\u7684\u6570\u636e&#xff0c;\u8fd9\u6837\u53ef\u4ee5\u4e00\u76f4\u4fdd\u6301\u6700\u65b0\u7684\u6570\u636e\u663e\u793a\u3002(\u8fd9\u4e2a\u601d\u8def\u771f\u7684\u590d\u6742&#xff0c;\u60f3\u4e86\u597d\u4e45)<\/p>\n<p>\u633a\u4e71\u8fd9\u7b97\u6cd5\u54c8\u54c8<\/p>\n<p>void Widget::Data_Analysis(QStringList Data)<br \/>\n{<br \/>\n            bool asd;<\/p>\n<p>    if(Data.at(1).contains(&#034;TH&#034;))<br \/>\n    {<br \/>\n            asd&#061;true;<br \/>\n         for (int i&#061;0;i&lt;mlist_setth.size();i&#043;&#043;) {<br \/>\n           if(mlist_setth[i]-&gt;Data_compare(Data)){<br \/>\n           asd&#061;false;<br \/>\n           return ;<br \/>\n           }<br \/>\n        }<br \/>\n         if(asd)<br \/>\n         {<br \/>\n             setWidget_layout(Data,1);<br \/>\n         }<br \/>\n    }<br \/>\n    else if(Data.at(2)&#061;&#061;&#034;true&#034; || Data.at(2)&#061;&#061;&#034;false&#034;){<br \/>\n          asd&#061;true;<br \/>\n        for (int i&#061;0;i&lt;mlist_isbtn.size();i&#043;&#043;) {<br \/>\n          if(mlist_isbtn[i]-&gt;Data_compare(Data))<br \/>\n          {<br \/>\n              asd&#061;false;<br \/>\n              return ;<br \/>\n          }<br \/>\n       }<br \/>\n        if(asd)<br \/>\n        {<br \/>\n             setWidget_layout(Data,0);<br \/>\n        }<br \/>\n    }<br \/>\n    else if(Data.at(1).contains(&#034;RFID&#034;)){<br \/>\n          asd&#061;true;<br \/>\n        for (int i&#061;0;i&lt;mlist_rfid.size();i&#043;&#043;) {<br \/>\n          if(mlist_rfid[i]-&gt;Data_compare(Data))<br \/>\n          {<br \/>\n              asd&#061;false;<br \/>\n              return ;<br \/>\n          }<br \/>\n       }<br \/>\n        if(asd)<br \/>\n        {<br \/>\n             setWidget_layout(Data,3);<br \/>\n        }<br \/>\n    }<br \/>\n    else<br \/>\n    {<br \/>\n               asd&#061;true;<br \/>\n        for (int i&#061;0;i&lt;mlist_showdata.size();i&#043;&#043;) {<br \/>\n          if(mlist_showdata[i]-&gt;Data_compare(Data))<br \/>\n          {<br \/>\n              asd&#061;false;<br \/>\n              return ;<br \/>\n          }<br \/>\n        }<br \/>\n        if(asd)<br \/>\n        {<br \/>\n             setWidget_layout(Data,2);<br \/>\n        }<br \/>\n    }<\/p>\n<p>}<\/p>\n<p>void Widget::setWidget_layout(QStringList Data,int x)<br \/>\n{<br \/>\n        int id&#061;Data.at(0).toInt();<br \/>\n        if(id&gt;&#061;1000 &amp;&amp; id&lt;2000)<br \/>\n        {<br \/>\n            if(x&#061;&#061;0)<br \/>\n            {<br \/>\n                MyIsbtn* isbtn&#061;new MyIsbtn(this,Data,socket);<br \/>\n                connect(this,&amp;Widget::Delete_SING,isbtn,&amp;MyIsbtn::Delete_MyIsbtn);<br \/>\n                connect(isbtn,&amp;MyIsbtn::sendindex,this,&amp;Widget::Delete_index);<br \/>\n                layout8266-&gt;insertWidget(0,isbtn);<br \/>\n                mlist_isbtn.append(isbtn);<br \/>\n             }else  if(x&#061;&#061;1){<br \/>\n                MySetTH* setTh&#061;new MySetTH(this,Data,socket);<br \/>\n                connect(this,&amp;Widget::Delete_SING,setTh,&amp;MySetTH::Delete_MySetTH);<br \/>\n                connect(setTh,&amp;MySetTH::sendindex,this,&amp;Widget::Delete_index);<br \/>\n                layout8266-&gt;insertWidget(0,setTh);<br \/>\n                mlist_setth.append(setTh);<br \/>\n            }<br \/>\n            else  if(x&#061;&#061;2){<br \/>\n                MyShowData* showdata&#061;new MyShowData(this,Data);<br \/>\n                connect(this,&amp;Widget::Delete_SING,showdata,&amp;MyShowData::Delete_MyShowData);<br \/>\n                connect(showdata,&amp;MyShowData::sendindex,this,&amp;Widget::Delete_index);<br \/>\n                layout8266-&gt;insertWidget(0,showdata);<br \/>\n                mlist_showdata.append(showdata);<br \/>\n             }<br \/>\n            else  if(x&#061;&#061;3){<br \/>\n                MyRFID* rfid&#061;new MyRFID(this,Data,socket);<br \/>\n                connect(this,&amp;Widget::Delete_SING,rfid,&amp;MyRFID::Delete_MyRFID);<br \/>\n                connect(rfid,&amp;MyRFID::sendindex,this,&amp;Widget::Delete_index);<br \/>\n                layout8266-&gt;insertWidget(0,rfid);<br \/>\n                mlist_rfid.append(rfid);<br \/>\n             }<\/p>\n<p>        }<br \/>\n        else if(id&gt;&#061;2000 &amp;&amp; id&lt;3000)<br \/>\n        {<br \/>\n            if(x&#061;&#061;0)<br \/>\n            {<br \/>\n                MyIsbtn* isbtn&#061;new MyIsbtn(this,Data,socket);<br \/>\n                connect(this,&amp;Widget::Delete_SING,isbtn,&amp;MyIsbtn::Delete_MyIsbtn);<br \/>\n                connect(isbtn,&amp;MyIsbtn::sendindex,this,&amp;Widget::Delete_index);<br \/>\n                layouthc06-&gt;insertWidget(0,isbtn);<br \/>\n                mlist_isbtn.append(isbtn);<br \/>\n             }else  if(x&#061;&#061;1){<br \/>\n                MySetTH* setTh&#061;new MySetTH(this,Data,socket);<br \/>\n                connect(this,&amp;Widget::Delete_SING,setTh,&amp;MySetTH::Delete_MySetTH);<br \/>\n                connect(setTh,&amp;MySetTH::sendindex,this,&amp;Widget::Delete_index);<br \/>\n                layouthc06-&gt;insertWidget(0,setTh);<br \/>\n                mlist_setth.append(setTh);<br \/>\n            }<br \/>\n            else  if(x&#061;&#061;2){<br \/>\n                MyShowData* showdata&#061;new MyShowData(this,Data);<br \/>\n                connect(this,&amp;Widget::Delete_SING,showdata,&amp;MyShowData::Delete_MyShowData);<br \/>\n                connect(showdata,&amp;MyShowData::sendindex,this,&amp;Widget::Delete_index);<br \/>\n                layouthc06-&gt;insertWidget(0,showdata);<br \/>\n                mlist_showdata.append(showdata);<br \/>\n             }<br \/>\n            else  if(x&#061;&#061;3){<br \/>\n                MyRFID* rfid&#061;new MyRFID(this,Data,socket);<br \/>\n                connect(this,&amp;Widget::Delete_SING,rfid,&amp;MyRFID::Delete_MyRFID);<br \/>\n                connect(rfid,&amp;MyRFID::sendindex,this,&amp;Widget::Delete_index);<br \/>\n                layouthc06-&gt;insertWidget(0,rfid);<br \/>\n                mlist_rfid.append(rfid);<br \/>\n             }<\/p>\n<p>        }<br \/>\n        else if(id&gt;&#061;3000 &amp;&amp; id&lt;4000)<br \/>\n        {<br \/>\n            if(x&#061;&#061;0)<br \/>\n            {<br \/>\n                MyIsbtn* isbtn&#061;new MyIsbtn(this,Data,socket);<br \/>\n                connect(this,&amp;Widget::Delete_SING,isbtn,&amp;MyIsbtn::Delete_MyIsbtn);<br \/>\n                connect(isbtn,&amp;MyIsbtn::sendindex,this,&amp;Widget::Delete_index);<br \/>\n                layoutzibge-&gt;insertWidget(0,isbtn);<br \/>\n                mlist_isbtn.append(isbtn);<br \/>\n             }else  if(x&#061;&#061;1){<br \/>\n                MySetTH* setTh&#061;new MySetTH(this,Data,socket);<br \/>\n                connect(this,&amp;Widget::Delete_SING,setTh,&amp;MySetTH::Delete_MySetTH);<br \/>\n                connect(setTh,&amp;MySetTH::sendindex,this,&amp;Widget::Delete_index);<br \/>\n                layoutzibge-&gt;insertWidget(0,setTh);<br \/>\n                mlist_setth.append(setTh);<br \/>\n            }<br \/>\n            else  if(x&#061;&#061;2){<br \/>\n                MyShowData* showdata&#061;new MyShowData(this,Data);<br \/>\n                connect(this,&amp;Widget::Delete_SING,showdata,&amp;MyShowData::Delete_MyShowData);<br \/>\n                connect(showdata,&amp;MyShowData::sendindex,this,&amp;Widget::Delete_index);<br \/>\n                layoutzibge-&gt;insertWidget(0,showdata);<br \/>\n                mlist_showdata.append(showdata);<br \/>\n             }<br \/>\n            else  if(x&#061;&#061;3){<br \/>\n                MyRFID* rfid&#061;new MyRFID(this,Data,socket);<br \/>\n                connect(this,&amp;Widget::Delete_SING,rfid,&amp;MyRFID::Delete_MyRFID);<br \/>\n                connect(rfid,&amp;MyRFID::sendindex,this,&amp;Widget::Delete_index);<br \/>\n                layoutzibge-&gt;insertWidget(0,rfid);<br \/>\n                mlist_rfid.append(rfid);<br \/>\n             }<\/p>\n<p>        }<\/p>\n<p>}<\/p>\n<p>void Widget::Delete_index(int i,QString name)<br \/>\n{<br \/>\n    \/\/ui-&gt;textEdit-&gt;append(&#034;\u9500\u6bc1&#034;&#043;QString ::number(i)&#043;&#034;:&#034;&#043;name);<br \/>\n    if(i&#061;&#061;0)   \/\/isbtn<br \/>\n    {<br \/>\n     for (int i&#061;0;i&lt;mlist_isbtn.size();i&#043;&#043;) {<br \/>\n          if(mlist_isbtn.at(i)-&gt;Isname(name))<br \/>\n          {<br \/>\n            mlist_isbtn.removeAt(i);<br \/>\n            return ;<br \/>\n          }<\/p>\n<p>    }<\/p>\n<p>    }<br \/>\n    else if(i&#061;&#061;1){<br \/>\n        for (int i&#061;0;i&lt;mlist_setth.size();i&#043;&#043;) {<br \/>\n             if(mlist_setth.at(i)-&gt;Isname(name))<br \/>\n             {<br \/>\n               mlist_setth.removeAt(i);<br \/>\n               return ;<br \/>\n             }<br \/>\n        }<br \/>\n    }<br \/>\n    else if(i&#061;&#061;2){<br \/>\n        for (int i&#061;0;i&lt;mlist_showdata.size();i&#043;&#043;) {<br \/>\n             if(mlist_showdata.at(i)-&gt;Isname(name))<br \/>\n             {<br \/>\n               mlist_showdata.removeAt(i);<br \/>\n               return ;<br \/>\n             }<br \/>\n        }<br \/>\n    }<br \/>\n    else if(i&#061;&#061;3){<br \/>\n        for (int i&#061;0;i&lt;mlist_rfid.size();i&#043;&#043;) {<br \/>\n             if(mlist_rfid.at(i)-&gt;Isname(name))<br \/>\n             {<br \/>\n               mlist_rfid.removeAt(i);<br \/>\n               return ;<br \/>\n             }<br \/>\n        }<br \/>\n    }<\/p>\n<p>} <\/p>\n<h5>Qt\u00a0 APP&#xff1a;<\/h5>\n<p>\u672c\u9879\u76ee\u662f\u670d\u52a1\u4e8e\u667a\u6167\u519c\u573a&#xff0c;\u6240\u4ee5\u5f00\u53d1\u4e00\u4e2aapp \u53ea\u663e\u793a\u4e00\u4e2a\u519c\u573a\u7684\u7279\u5b9a\u7684\u6570\u636e\u548c\u7279\u5b9a\u7684\u64cd\u4f5c&#xff0c;\u4f7f\u5176\u4e00\u4e9b\u64cd\u4f5c\u548c\u6570\u636e\u56fa\u5316\u3002<\/p>\n<h5>JS&#xff0c;WEB&#xff0c;HTML&#xff1a;<\/h5>\n<p>&lt;!DOCTYPE html&gt;<\/p>\n<p>&lt;html lang&#061;&#034;en&#034;&gt;<\/p>\n<p>&lt;head&gt;<br \/>\n    &lt;meta charset&#061;&#034;UTF-8&#034;&gt;<br \/>\n    &lt;title&gt;\u667a\u6167\u519c\u573a&lt;\/title&gt;<br \/>\n    &lt;style&gt;<\/p>\n<p>        \/* \u6837\u5f0f\u8868 *\/<br \/>\n        body {<\/p>\n<p>            font-family: Arial, sans-serif;<br \/>\n            margin: 0;<br \/>\n            padding: 0;<\/p>\n<p>        }<br \/>\n        #header {<br \/>\n            background-color: #333;<br \/>\n            color: white;<br \/>\n            text-align: center;<br \/>\n            padding: 10px;<br \/>\n        }<br \/>\n        #content {<br \/>\n            margin: 20px;<br \/>\n            padding: 20px;<br \/>\n            border: 1px solid #ccc;<br \/>\n        }<br \/>\n        #footer {<br \/>\n            background-color: #333;<br \/>\n            color: white;<br \/>\n            text-align: center;<br \/>\n            padding: 10px;<br \/>\n        }<br \/>\n        #DJ {<br \/>\n            margin-left: 600px; \/* \u4f60\u53ef\u4ee5\u6839\u636e\u9700\u8981\u8c03\u6574\u53f3\u79fb\u7684\u8ddd\u79bb *\/<br \/>\n        }<br \/>\n        #DJ2 {<br \/>\n             margin-left: 600px; \/* \u4f60\u53ef\u4ee5\u6839\u636e\u9700\u8981\u8c03\u6574\u53f3\u79fb\u7684\u8ddd\u79bb *\/<br \/>\n        }<br \/>\n        #SB {<\/p>\n<p>            margin-left: 600px; \/* \u4f60\u53ef\u4ee5\u6839\u636e\u9700\u8981\u8c03\u6574\u53f3\u79fb\u7684\u8ddd\u79bb *\/<br \/>\n        }<\/p>\n<p>        #deng {<\/p>\n<p>             margin-left: 600px; \/* \u4f60\u53ef\u4ee5\u6839\u636e\u9700\u8981\u8c03\u6574\u53f3\u79fb\u7684\u8ddd\u79bb *\/<br \/>\n        }<\/p>\n<p>        #WD {<\/p>\n<p>             margin-left: 100px; \/* \u4f60\u53ef\u4ee5\u6839\u636e\u9700\u8981\u8c03\u6574\u53f3\u79fb\u7684\u8ddd\u79bb *\/<br \/>\n        }<\/p>\n<p>        #WDHT {<br \/>\n             margin-left: 100px; \/* \u4f60\u53ef\u4ee5\u6839\u636e\u9700\u8981\u8c03\u6574\u53f3\u79fb\u7684\u8ddd\u79bb *\/<br \/>\n        }<\/p>\n<p>        #SD {<br \/>\n             margin-left: 100px; \/* \u4f60\u53ef\u4ee5\u6839\u636e\u9700\u8981\u8c03\u6574\u53f3\u79fb\u7684\u8ddd\u79bb *\/<br \/>\n        }<\/p>\n<p>        #TRSD {<br \/>\n             margin-left: 100px; \/* \u4f60\u53ef\u4ee5\u6839\u636e\u9700\u8981\u8c03\u6574\u53f3\u79fb\u7684\u8ddd\u79bb *\/<br \/>\n        }<\/p>\n<p>        #TRSDTH {<br \/>\n             margin-left: 100px; \/* \u4f60\u53ef\u4ee5\u6839\u636e\u9700\u8981\u8c03\u6574\u53f3\u79fb\u7684\u8ddd\u79bb *\/<br \/>\n        }<\/p>\n<p>        #GM {<br \/>\n             margin-left: 100px; \/* \u4f60\u53ef\u4ee5\u6839\u636e\u9700\u8981\u8c03\u6574\u53f3\u79fb\u7684\u8ddd\u79bb *\/<br \/>\n        }<\/p>\n<p>        #GMTH {<br \/>\n             margin-left: 100px; \/* \u4f60\u53ef\u4ee5\u6839\u636e\u9700\u8981\u8c03\u6574\u53f3\u79fb\u7684\u8ddd\u79bb *\/<br \/>\n        }<br \/>\n    &lt;\/style&gt;<br \/>\n&lt;\/head&gt;<\/p>\n<p>&lt;body&gt;<br \/>\n&lt;div id&#061;&#034;header&#034;&gt;<\/p>\n<p>    &lt;h1&gt;\u667a\u6167\u519c\u573a&lt;\/h1&gt;<\/p>\n<p>&lt;\/div&gt;<\/p>\n<p>&lt;div id&#061;&#034;content&#034;&gt;<\/p>\n<p>    &lt;h2 id&#061;&#034;WD&#034;&gt;\u6e29&#8212;&#8212;&#8212;&#8212;\u5ea6&#xff1a;<\/p>\n<p>        &lt;label id&#061;&#034;wendu&#034;&gt;\u7b49\u5f85\u6570\u636e\u4f20\u8f93&lt;\/label&gt;<\/p>\n<p>        &lt;label id&#061;&#034;DJ&#034;&gt;\u7535\u673a&#xff1a;&lt;\/label&gt;<\/p>\n<p>        &lt;label id&#061;&#034;dianji&#034;&gt;\u7b49\u5f85\u6570\u636e\u4f20\u8f93&lt;\/label&gt;<\/p>\n<p>    &lt;\/h2&gt;<\/p>\n<p>    &lt;h2 id&#061;&#034;WDHT&#034;&gt;\u6e29&#8211;\u5ea6&#8211;\u9608&#8211;\u503c&#xff1a;<\/p>\n<p>        &lt;label id&#061;&#034;wendu_TH&#034;&gt;\u7b49\u5f85\u6570\u636e\u4f20\u8f93&lt;\/label&gt;<\/p>\n<p>    &lt;\/h2&gt;<\/p>\n<p>    &lt;br&gt;<\/p>\n<p>    &lt;h2 id&#061;&#034;SD&#034;&gt;\u6e7f&#8212;&#8212;&#8212;&#8212;\u5ea6&#xff1a;<\/p>\n<p>        &lt;label id&#061;&#034;shidu&#034;&gt;\u7b49\u5f85\u6570\u636e\u4f20\u8f93&lt;\/label&gt;<\/p>\n<p>        &lt;label id&#061;&#034;DJ2&#034;&gt;\u8235\u673a&#xff1a;&lt;\/label&gt;<\/p>\n<p>        &lt;label id&#061;&#034;duoji&#034;&gt;\u7b49\u5f85\u6570\u636e\u4f20\u8f93&lt;\/label&gt;<\/p>\n<p>    &lt;\/h2&gt;<\/p>\n<p>    &lt;br&gt;<\/p>\n<p>    &lt;h2 id&#061;&#034;TRSD&#034;&gt;\u571f&#8211;\u58e4&#8211;\u6e7f&#8211;\u5ea6&#xff1a;<\/p>\n<p>        &lt;label id&#061;&#034;shidu_2&#034;&gt;\u7b49\u5f85\u6570\u636e\u4f20\u8f93&lt;\/label&gt;<\/p>\n<p>    &lt;\/h2&gt;<\/p>\n<p>    &lt;h2 id&#061;&#034;TRSDTH&#034;&gt;\u571f\u58e4\u6e7f\u5ea6\u9608\u503c&#xff1a;<\/p>\n<p>        &lt;label id&#061;&#034;shidu_2_TH&#034;&gt;\u7b49\u5f85\u6570\u636e\u4f20\u8f93&lt;\/label&gt;<\/p>\n<p>        &lt;label id&#061;&#034;SB&#034;&gt;\u6c34\u6cf5&#xff1a;&lt;\/label&gt;<\/p>\n<p>        &lt;label id&#061;&#034;shuibeng&#034;&gt;\u7b49\u5f85\u6570\u636e\u4f20\u8f93&lt;\/label&gt;<\/p>\n<p>    &lt;\/h2&gt;<\/p>\n<p>    &lt;br&gt;<\/p>\n<p>    &lt;h2 id&#061;&#034;GM&#034;&gt;\u5149&#8212;&#8212;&#8212;&#8212;\u654f&#xff1a;<\/p>\n<p>        &lt;label id&#061;&#034;light&#034;&gt;\u7b49\u5f85\u6570\u636e\u4f20\u8f93&lt;\/label&gt;<\/p>\n<p>    &lt;\/h2&gt;<\/p>\n<p>    &lt;h2 id&#061;&#034;GMTH&#034;&gt;\u5149&#8211;\u654f&#8211;\u9608&#8211;\u503c&#xff1a;<\/p>\n<p>        &lt;label id&#061;&#034;light_TH&#034;&gt;\u7b49\u5f85\u6570\u636e\u4f20\u8f93&lt;\/label&gt;<\/p>\n<p>        &lt;label id&#061;&#034;deng&#034;&gt;LED&#xff1a;&lt;\/label&gt;<\/p>\n<p>        &lt;label id&#061;&#034;LED&#034;&gt;\u7b49\u5f85\u6570\u636e\u4f20\u8f93&lt;\/label&gt;<\/p>\n<p>    &lt;\/h2&gt;<\/p>\n<p>    &lt;br&gt;<\/p>\n<p>&lt;\/div&gt;<\/p>\n<p>&lt;div style&#061;&#034;margin-top: 160px;&#034;&gt;&lt;\/div&gt;<\/p>\n<p>&lt;div id&#061;&#034;footer&#034;&gt;<\/p>\n<p>    \u7248\u6743\u6240\u6709 &amp;copy; 2023 YZM\u7cfb\u7edf\u516c\u53f8<\/p>\n<p>&lt;\/div&gt;<\/p>\n<p>&lt;\/body&gt;<\/p>\n<p>&lt;script&gt;<br \/>\n    setInterval(function () {<br \/>\n        var xhr &#061; new XMLHttpRequest();<br \/>\n        xhr.onreadystatechange &#061; function () {<br \/>\n            if (xhr.readyState &#061;&#061;&#061; XMLHttpRequest.DONE) {<br \/>\n                if (xhr.status &#061;&#061;&#061; 200) {<br \/>\n                    var ctext &#061; xhr.responseText;<br \/>\n                    var obj &#061; JSON.parse(ctext);<br \/>\n                    for(key in obj)<br \/>\n                    {<br \/>\n                       if(key &#061;&#061; &#034;\u6e29\u5ea6&#034;)<br \/>\n                       {<br \/>\n                           document.getElementById(&#039;wendu&#039;).innerHTML &#061; obj[key];<br \/>\n                       }<br \/>\n                       else if(key &#061;&#061; &#034;\u571f\u58e4\u6e7f\u5ea6&#034;)<br \/>\n                       {<br \/>\n                           document.getElementById(&#039;shidu_2&#039;).innerHTML &#061; obj[key];<br \/>\n                       }<br \/>\n                       else if(key &#061;&#061; &#034;\u571f\u58e4\u6e7f\u5ea6TH&#034;)<br \/>\n                       {<br \/>\n                           document.getElementById(&#039;shidu_2_TH&#039;).innerHTML &#061; obj[key];<br \/>\n                       }<br \/>\n                        else if(key &#061;&#061; &#034;\u5149\u654f&#034;)<br \/>\n                       {<br \/>\n                           document.getElementById(&#039;light&#039;).innerHTML &#061; obj[key];<br \/>\n                       }<br \/>\n                       else if(key &#061;&#061; &#034;\u5149\u654fTH&#034;)<br \/>\n                       {<br \/>\n                           document.getElementById(&#039;light_TH&#039;).innerHTML &#061; obj[key];<br \/>\n                       }<br \/>\n                       else if(key &#061;&#061; &#034;\u6e7f\u5ea6&#034;)<br \/>\n                       {<br \/>\n                           document.getElementById(&#039;shidu&#039;).innerHTML &#061; obj[key];<br \/>\n                        }<br \/>\n                       else if(key &#061;&#061; &#034;\u6e29\u5ea6TH&#034;)<br \/>\n                       {<br \/>\n                           document.getElementById(&#039;wendu_TH&#039;).innerHTML &#061; obj[key];<br \/>\n                        }<\/p>\n<p>                       else if(key &#061;&#061; &#034;\u7535\u673a&#034;)<br \/>\n                       {<br \/>\n                           document.getElementById(&#039;dianji&#039;).innerHTML &#061; obj[key];<br \/>\n                       }<br \/>\n                       else if(key &#061;&#061; &#034;\u8235\u673a&#034;)<br \/>\n                       {<br \/>\n                           document.getElementById(&#039;duoji&#039;).innerHTML &#061; obj[key];<br \/>\n                       }<\/p>\n<p>                       else if(key &#061;&#061; &#034;\u6c34\u6cf5&#034;)<\/p>\n<p>                       {<br \/>\n                           document.getElementById(&#039;shuibeng&#039;).innerHTML &#061; obj[key];<br \/>\n                       }<br \/>\n                       else if(key &#061;&#061; &#034;LED3&#034;)<br \/>\n                       {<br \/>\n                          document.getElementById(&#039;LED&#039;).innerHTML &#061; obj[key];<br \/>\n                       }<br \/>\n                    }<br \/>\n                } else {<br \/>\n                    console.error(&#034;\u8bf7\u6c42\u5931\u8d25&#xff1a;&#034; &#043; xhr.status);<br \/>\n                }<br \/>\n            }<br \/>\n        };<br \/>\n        var url &#061; &#034;http:\/\/110.42.228.65:65000&#034;<br \/>\n        xhr.open(&#034;GET&#034;, url, true);<br \/>\n        xhr.send();<br \/>\n    }, 2000);<\/p>\n<p>&lt;\/script&gt;<\/p>\n<p>&lt;\/html&gt; <\/p>\n<p>\u672c\u4ebahello word\u7684\u6c34\u5e73&#xff0c;\u4e0d\u591a\u8bf4\u00a0 (\u9762\u5411\u4eba\u5de5\u667a\u969c\u7f16\u7a0b&#xff0c;cv\u5de5\u7a0b\u5e08)<\/p>\n<\/p>\n<h3>\u603b\u7ed3<\/h3>\n<p>\u672c\u9879\u76ee\u662f\u6211\u5199\u8fc7\u6700\u9ebb\u70e6\u7684\u9879\u76ee&#xff0c;\u8c03\u8bd5\u82b1\u4e86\u4e00\u5468&#xff0c;\u603b\u65f6\u957f25\u5929&#xff0c;\u5404\u79cdBUG&#xff0c;\u6bcf\u4e2a\u8bbe\u5907\u4e4b\u95f4\u7684\u6570\u636e\u4f20\u9012\u95ee\u9898\u5de8\u591a&#xff0c;\u5148\u5c40\u90e8\u540e\u5219\u6574\u4f53&#xff0c;\u4ee3\u7801\u770b\u4e86\u767e\u904d\u4e0d\u6b62&#xff0c;\u8c03\u9ebb\u4e86&#xff0c;\u4f46\u4e5f\u53ea\u6709\u8c03\u8bd5BUG\u624d\u80fd\u6210\u957f\u548c\u78e8\u7ec3\u81ea\u5df1&#xff0c;\u5b66\u4e60\u9636\u6bb5\u8fd8\u662f\u597d\u597d\u81ea\u5df1\u5b66\u624e\u5b9e\u3002<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb7.4k\u6b21\uff0c\u70b9\u8d5e86\u6b21\uff0c\u6536\u85cf179\u6b21\u3002\u8be5\u535a\u5ba2\u4ecb\u7ecd\u4e86\u57fa\u4e8eI.MX6ULL\u7684Linux C\u591a\u7ebf\u7a0b\u7269\u8054\u7f51\u7f51\u5173\u3001STM32\u3001Qt\u4e0a\u4f4d\u673a\u548cLinux C++\u591a\u7ebf\u7a0b\u670d\u52a1\u5668\u7684\u667a\u6167\u519c\u573a\u9879\u76ee\u3002\u6db5\u76d6\u6280\u672f\u6808\u3001\u786c\u4ef6\u9009\u578b\u548c\u603b\u8bbe\u8ba1\u6d41\u7a0b\uff0c\u5305\u62ec\u5404\u90e8\u5206\u529f\u80fd\u53ca\u6570\u636e\u4ea4\u4e92\uff0c\u8fd8\u63d0\u53ca\u670d\u52a1\u5668\u5224\u65ad\u8fde\u63a5\u3001\u6570\u636e\u5e93\u64cd\u4f5c\u548c\u7ec8\u7aef\u663e\u793a\u7b49\u5185\u5bb9\uff0c\u6700\u540e\u603b\u7ed3\u9879\u76ee\u8c03\u8bd5\u60c5\u51b5\u3002<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[174,58,218,217,219,43,220],"topic":[],"class_list":["post-8777","post","type-post","status-publish","format-standard","hentry","category-server","tag-c","tag-linux","tag-qt","tag-stm32","tag-219","tag-43","tag-220"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u57fa\u4e8eI.MX6ULL\u7684Linux C\u591a\u7ebf\u7a0b\u7269\u8054\u7f51\u7f51\u5173+STM32+Qt\u4e0a\u4f4d\u673a+Linux C++\u591a\u7ebf\u7a0b\u670d\u52a1\u5668(\u542bweb)\u7684\u591a\u79cd\u65e0\u7ebf\u901a\u4fe1\u7cfb\u7edf\u7684\u667a\u6167\u519c\u573a - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/8777.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u57fa\u4e8eI.MX6ULL\u7684Linux C\u591a\u7ebf\u7a0b\u7269\u8054\u7f51\u7f51\u5173+STM32+Qt\u4e0a\u4f4d\u673a+Linux C++\u591a\u7ebf\u7a0b\u670d\u52a1\u5668(\u542bweb)\u7684\u591a\u79cd\u65e0\u7ebf\u901a\u4fe1\u7cfb\u7edf\u7684\u667a\u6167\u519c\u573a - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb7.4k\u6b21\uff0c\u70b9\u8d5e86\u6b21\uff0c\u6536\u85cf179\u6b21\u3002\u8be5\u535a\u5ba2\u4ecb\u7ecd\u4e86\u57fa\u4e8eI.MX6ULL\u7684Linux C\u591a\u7ebf\u7a0b\u7269\u8054\u7f51\u7f51\u5173\u3001STM32\u3001Qt\u4e0a\u4f4d\u673a\u548cLinux C++\u591a\u7ebf\u7a0b\u670d\u52a1\u5668\u7684\u667a\u6167\u519c\u573a\u9879\u76ee\u3002\u6db5\u76d6\u6280\u672f\u6808\u3001\u786c\u4ef6\u9009\u578b\u548c\u603b\u8bbe\u8ba1\u6d41\u7a0b\uff0c\u5305\u62ec\u5404\u90e8\u5206\u529f\u80fd\u53ca\u6570\u636e\u4ea4\u4e92\uff0c\u8fd8\u63d0\u53ca\u670d\u52a1\u5668\u5224\u65ad\u8fde\u63a5\u3001\u6570\u636e\u5e93\u64cd\u4f5c\u548c\u7ec8\u7aef\u663e\u793a\u7b49\u5185\u5bb9\uff0c\u6700\u540e\u603b\u7ed3\u9879\u76ee\u8c03\u8bd5\u60c5\u51b5\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/8777.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-18T08:57:59+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/8777.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/8777.html\",\"name\":\"\u57fa\u4e8eI.MX6ULL\u7684Linux C\u591a\u7ebf\u7a0b\u7269\u8054\u7f51\u7f51\u5173+STM32+Qt\u4e0a\u4f4d\u673a+Linux C++\u591a\u7ebf\u7a0b\u670d\u52a1\u5668(\u542bweb)\u7684\u591a\u79cd\u65e0\u7ebf\u901a\u4fe1\u7cfb\u7edf\u7684\u667a\u6167\u519c\u573a - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2025-04-18T08:57:59+00:00\",\"dateModified\":\"2025-04-18T08:57:59+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/8777.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/8777.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/8777.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u57fa\u4e8eI.MX6ULL\u7684Linux C\u591a\u7ebf\u7a0b\u7269\u8054\u7f51\u7f51\u5173+STM32+Qt\u4e0a\u4f4d\u673a+Linux C++\u591a\u7ebf\u7a0b\u670d\u52a1\u5668(\u542bweb)\u7684\u591a\u79cd\u65e0\u7ebf\u901a\u4fe1\u7cfb\u7edf\u7684\u667a\u6167\u519c\u573a\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u57fa\u4e8eI.MX6ULL\u7684Linux C\u591a\u7ebf\u7a0b\u7269\u8054\u7f51\u7f51\u5173+STM32+Qt\u4e0a\u4f4d\u673a+Linux C++\u591a\u7ebf\u7a0b\u670d\u52a1\u5668(\u542bweb)\u7684\u591a\u79cd\u65e0\u7ebf\u901a\u4fe1\u7cfb\u7edf\u7684\u667a\u6167\u519c\u573a - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/8777.html","og_locale":"zh_CN","og_type":"article","og_title":"\u57fa\u4e8eI.MX6ULL\u7684Linux C\u591a\u7ebf\u7a0b\u7269\u8054\u7f51\u7f51\u5173+STM32+Qt\u4e0a\u4f4d\u673a+Linux C++\u591a\u7ebf\u7a0b\u670d\u52a1\u5668(\u542bweb)\u7684\u591a\u79cd\u65e0\u7ebf\u901a\u4fe1\u7cfb\u7edf\u7684\u667a\u6167\u519c\u573a - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb7.4k\u6b21\uff0c\u70b9\u8d5e86\u6b21\uff0c\u6536\u85cf179\u6b21\u3002\u8be5\u535a\u5ba2\u4ecb\u7ecd\u4e86\u57fa\u4e8eI.MX6ULL\u7684Linux C\u591a\u7ebf\u7a0b\u7269\u8054\u7f51\u7f51\u5173\u3001STM32\u3001Qt\u4e0a\u4f4d\u673a\u548cLinux C++\u591a\u7ebf\u7a0b\u670d\u52a1\u5668\u7684\u667a\u6167\u519c\u573a\u9879\u76ee\u3002\u6db5\u76d6\u6280\u672f\u6808\u3001\u786c\u4ef6\u9009\u578b\u548c\u603b\u8bbe\u8ba1\u6d41\u7a0b\uff0c\u5305\u62ec\u5404\u90e8\u5206\u529f\u80fd\u53ca\u6570\u636e\u4ea4\u4e92\uff0c\u8fd8\u63d0\u53ca\u670d\u52a1\u5668\u5224\u65ad\u8fde\u63a5\u3001\u6570\u636e\u5e93\u64cd\u4f5c\u548c\u7ec8\u7aef\u663e\u793a\u7b49\u5185\u5bb9\uff0c\u6700\u540e\u603b\u7ed3\u9879\u76ee\u8c03\u8bd5\u60c5\u51b5\u3002","og_url":"https:\/\/www.wsisp.com\/helps\/8777.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2025-04-18T08:57:59+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"17 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/8777.html","url":"https:\/\/www.wsisp.com\/helps\/8777.html","name":"\u57fa\u4e8eI.MX6ULL\u7684Linux C\u591a\u7ebf\u7a0b\u7269\u8054\u7f51\u7f51\u5173+STM32+Qt\u4e0a\u4f4d\u673a+Linux C++\u591a\u7ebf\u7a0b\u670d\u52a1\u5668(\u542bweb)\u7684\u591a\u79cd\u65e0\u7ebf\u901a\u4fe1\u7cfb\u7edf\u7684\u667a\u6167\u519c\u573a - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2025-04-18T08:57:59+00:00","dateModified":"2025-04-18T08:57:59+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/8777.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/8777.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/8777.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"\u57fa\u4e8eI.MX6ULL\u7684Linux C\u591a\u7ebf\u7a0b\u7269\u8054\u7f51\u7f51\u5173+STM32+Qt\u4e0a\u4f4d\u673a+Linux C++\u591a\u7ebf\u7a0b\u670d\u52a1\u5668(\u542bweb)\u7684\u591a\u79cd\u65e0\u7ebf\u901a\u4fe1\u7cfb\u7edf\u7684\u667a\u6167\u519c\u573a"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/8777","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=8777"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/8777\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=8777"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=8777"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=8777"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=8777"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}