提交 66e9cfbd 编写于 作者: M maikebing

deploy: 91d498fc

上级 3a9f073f
......@@ -6,13 +6,13 @@
<meta name="generator" content="Docusaurus v2.0.0-beta.18">
<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="IoTSharp 在线文档 RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="IoTSharp 在线文档 Atom Feed"><title data-rh="true">Page Not Found | IoTSharp 在线文档</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.iotsharp.io/404.html"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="Page Not Found | IoTSharp 在线文档"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.iotsharp.io/404.html"><link data-rh="true" rel="alternate" href="https://docs.iotsharp.io/404.html" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.iotsharp.io/404.html" hreflang="x-default"><link rel="stylesheet" href="/assets/css/styles.f65480cd.css">
<link rel="preload" href="/assets/js/runtime~main.11868e4f.js" as="script">
<link rel="preload" href="/assets/js/main.fc7c7044.js" as="script">
<link rel="preload" href="/assets/js/runtime~main.f7782297.js" as="script">
<link rel="preload" href="/assets/js/main.6ec79d55.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/iotsharp.png" alt="IoT在线文档" class="themedImage_W2Cr themedImage--light_TfLj"><img src="/img/iotsharp.png" alt="IoT在线文档" class="themedImage_W2Cr themedImage--dark_oUvU"></div><b class="navbar__title">IoTSharp 在线文档</b></a><a class="navbar__item navbar__link" href="/docs/intro">参考手册</a><a class="navbar__item navbar__link" href="/blog">博客</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://gitee.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Gitee<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_S7eR colorModeToggle_vKtC"><button class="clean-btn toggleButton_rCf9 toggleButtonDisabled_Pu9x" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_v35p"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_nQuB"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div class="main-wrapper"><main class="container margin-vert--xl"><div class="row"><div class="col col--6 col--offset-3"><h1 class="hero__title">Page Not Found</h1><p>We could not find what you were looking for.</p><p>Please contact the owner of the site that linked you to the original URL and let them know their link is broken.</p></div></div></main></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">文档</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/intro">简介</a></li></ul></div><div class="col footer__col"><div class="footer__title">社区</div><ul class="footer__items"><li class="footer__item"><a href="https://jq.qq.com/?_wv=1027&amp;k=u1ZzTmVd" target="_blank" rel="noopener noreferrer" class="footer__link-item">QQ群<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/My6PaTmUvu" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://weibo.com/iotsharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">微博<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">其他</div><ul class="footer__items"><li class="footer__item"><a href="https://github.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://gitee.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">Gitee<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener noreferrer" class="footer__link-item"> 冀ICP备18039206号-2<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2022 IoTSharp. Built with Docusaurus.</div></div></div></footer></div>
<script src="/assets/js/runtime~main.11868e4f.js"></script>
<script src="/assets/js/main.fc7c7044.js"></script>
<script src="/assets/js/runtime~main.f7782297.js"></script>
<script src="/assets/js/main.6ec79d55.js"></script>
</body>
</html>
\ No newline at end of file
"use strict";(self.webpackChunkiotsharp=self.webpackChunkiotsharp||[]).push([[960],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=o.createContext({}),s=function(e){var t=o.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},c=function(e){var t=s(e.components);return o.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,p=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=s(n),m=r,k=d["".concat(p,".").concat(m)]||d[m]||u[m]||a;return n?o.createElement(k,i(i({ref:t},c),{},{components:n})):o.createElement(k,i({ref:t},c))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=d;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var s=2;s<a;s++)i[s]=n[s];return o.createElement.apply(null,i)}return o.createElement.apply(null,n)}d.displayName="MDXCreateElement"},6865:function(e,t,n){n.r(t),n.d(t,{assets:function(){return c},contentTitle:function(){return p},default:function(){return m},frontMatter:function(){return l},metadata:function(){return s},toc:function(){return u}});var o=n(3117),r=n(102),a=(n(7294),n(3905)),i=["components"],l={sidebar_position:4},p="\u4f7f\u7528Dcoker\u90e8\u7f72",s={unversionedId:"tutorial-basics/deploy_by_docker",id:"tutorial-basics/deploy_by_docker",title:"\u4f7f\u7528Dcoker\u90e8\u7f72",description:"\u672c\u6559\u7a0b\u4f7f\u7528 RabbitMQ\u4f5c\u4e3a\u6d88\u606f\u4e2d\u95f4\u4ef6\uff0c \u4f7f\u7528MongoDB\u4f5c\u4e3a\u6d88\u606f\u5b58\u50a8\uff0c \u4f7f\u7528InfluxDB \u4f5c\u4e3a\u65f6\u5e8f\u6570\u636e\u5b58\u50a8\uff0c \u4f7f\u7528Postgresql \u4f5c\u4e3a\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3002 ,",source:"@site/docs/tutorial-basics/deploy_by_docker.md",sourceDirName:"tutorial-basics",slug:"/tutorial-basics/deploy_by_docker",permalink:"/docs/tutorial-basics/deploy_by_docker",editUrl:"https://github.com/IoTSharp/IoTSharp/edit/master/docs/docs/tutorial-basics/deploy_by_docker.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"\u8c03\u8bd5IoTSharp",permalink:"/docs/tutorial-basics/debug"},next:{title:"\u5728Linux\u4e2d\u90e8\u7f72IoTSharp",permalink:"/docs/tutorial-basics/deploy_linux"}},c={},u=[{value:"\u4fee\u6539docker-compose.yml\u6587\u4ef6",id:"\u4fee\u6539docker-composeyml\u6587\u4ef6",level:2},{value:"\u542f\u52a8\u5bb9\u5668",id:"\u542f\u52a8\u5bb9\u5668",level:2},{value:"\u521d\u59cb\u5316influxdb",id:"\u521d\u59cb\u5316influxdb",level:2},{value:"\u521b\u5efatoken",id:"\u521b\u5efatoken",level:2},{value:"\u590d\u5236token",id:"\u590d\u5236token",level:2},{value:"\u4fee\u6539\u914d\u7f6e\u6587\u4ef6",id:"\u4fee\u6539\u914d\u7f6e\u6587\u4ef6",level:2},{value:"\u91cd\u542fIoTSharp\u5bb9\u5668",id:"\u91cd\u542fiotsharp\u5bb9\u5668",level:2},{value:"\u6ce8\u518c",id:"\u6ce8\u518c",level:2},{value:"\u8bbf\u95ee",id:"\u8bbf\u95ee",level:2}],d={toc:u};function m(e){var t=e.components,l=(0,r.Z)(e,i);return(0,a.kt)("wrapper",(0,o.Z)({},d,l,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"\u4f7f\u7528dcoker\u90e8\u7f72"},"\u4f7f\u7528Dcoker\u90e8\u7f72"),(0,a.kt)("p",null,"\u672c\u6559\u7a0b\u4f7f\u7528 RabbitMQ\u4f5c\u4e3a\u6d88\u606f\u4e2d\u95f4\u4ef6\uff0c \u4f7f\u7528MongoDB\u4f5c\u4e3a\u6d88\u606f\u5b58\u50a8\uff0c \u4f7f\u7528InfluxDB \u4f5c\u4e3a\u65f6\u5e8f\u6570\u636e\u5b58\u50a8\uff0c \u4f7f\u7528Postgresql \u4f5c\u4e3a\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3002 ,"),(0,a.kt)("h2",{id:"\u4fee\u6539docker-composeyml\u6587\u4ef6"},"\u4fee\u6539docker-compose.yml\u6587\u4ef6"),(0,a.kt)("div",{className:"admonition admonition-danger alert alert--danger"},(0,a.kt)("div",{parentName:"div",className:"admonition-heading"},(0,a.kt)("h5",{parentName:"div"},(0,a.kt)("span",{parentName:"h5",className:"admonition-icon"},(0,a.kt)("svg",{parentName:"span",xmlns:"http://www.w3.org/2000/svg",width:"12",height:"16",viewBox:"0 0 12 16"},(0,a.kt)("path",{parentName:"svg",fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"}))),"\u6ce8\u610f")),(0,a.kt)("div",{parentName:"div",className:"admonition-content"},(0,a.kt)("p",{parentName:"div"},(0,a.kt)("inlineCode",{parentName:"p"},"influxdb_cli"),"\u5bb9\u5668\u7684\u76f8\u5173\u914d\u7f6e\uff0c\u901a\u8fc7\u6b64\u547d\u4ee4\u884c\u5bb9\u5668\uff0c\u521d\u59cb\u5316influxdb, \u521d\u59cb\u5316\u4e4b\u524d\u9700\u8981\u63d0\u524d\u8bbe\u7f6e\u597dtoken\u7b49\uff0c\u5982\u679c\u81ea\u5df1\u81ea\u884c\u914d\u7f6e\uff0c \u5219\u76f4\u63a5\u5220\u9664\u6b64\u914d\u7f6e\u5373\u53ef\u3002 "))),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-yml",metastring:'title="/IoTSharp/Deployments/rabbit_mongo_influx/docker-compose.yml"',title:'"/IoTSharp/Deployments/rabbit_mongo_influx/docker-compose.yml"'},"influxdb_cli:\n links:\n - influx\n image: quay.io/influxdb/influxdb:v2.0.4\n entrypoint: influx setup --bucket iotsharp-bucket -t iotsharp-token -o iotsharp --username=root --password=1-q2-w3-e4-r5-t --host=http://influx:8086 -f\n restart: on-failure:20\n depends_on:\n - influx\n")),(0,a.kt)("h2",{id:"\u542f\u52a8\u5bb9\u5668"},"\u542f\u52a8\u5bb9\u5668"),(0,a.kt)("p",null,"\u8fdb\u5165",(0,a.kt)("inlineCode",{parentName:"p"},"/IoTSharp/Deployments/rabbit_mongo_influx"),"\uff0c\u628a\u91cc\u9762\u7684docker-compose.yml \u7b49\u6587\u4ef6\u62f7\u8d1d\u5230\u4f60\u7684\u76ee\u6807\u76ee\u5f55\u4e2d\uff0c \u786e\u4fdddocker\u548cdocker-compose \u90fd\u5df2\u7ecf\u5b89\u88c5\uff0c \u7136\u540e\u76f4\u63a5\u5728\u6267\u884cup\u547d\u4ee4\u3002 "),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-bash",metastring:"docker-compose","docker-compose":!0},"docker-compose up -d\n")),(0,a.kt)("p",null,"\u770b\u5230\u4e0b\u56fe\u8bf4\u660e\u8fd0\u884c\u6210\u529f\n",(0,a.kt)("img",{alt:"docker-compose\u542f\u52a8\u6210\u529f",src:n(6451).Z,width:"1171",height:"558"})),(0,a.kt)("h2",{id:"\u521d\u59cb\u5316influxdb"},"\u521d\u59cb\u5316influxdb"),(0,a.kt)("p",null,"\u6d4f\u89c8\u5668\u8bbf\u95ee ",(0,a.kt)("inlineCode",{parentName:"p"},"http://localhost:8086/"),"\uff0c\u521d\u59cb\u5316influxdb"),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"\u521d\u59cb\u5316influxdb",src:n(8662).Z,width:"1291",height:"604"})),(0,a.kt)("p",null,"Org: ",(0,a.kt)("inlineCode",{parentName:"p"},"iotsharp")," Bucket: ",(0,a.kt)("inlineCode",{parentName:"p"},"iotsharp-bucket")),(0,a.kt)("p",null,"\u7136\u540e\u70b9",(0,a.kt)("inlineCode",{parentName:"p"},"Config Later")),(0,a.kt)("h2",{id:"\u521b\u5efatoken"},"\u521b\u5efatoken"),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"\u6dfb\u52a0token",src:n(6592).Z,width:"1079",height:"437"})),(0,a.kt)("h2",{id:"\u590d\u5236token"},"\u590d\u5236token"),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"\u590d\u5236token",src:n(470).Z,width:"1083",height:"312"})),(0,a.kt)("h2",{id:"\u4fee\u6539\u914d\u7f6e\u6587\u4ef6"},"\u4fee\u6539\u914d\u7f6e\u6587\u4ef6"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-yml",metastring:'title="/IoTSharp/Deployments/rabbit_mongo_influx/appsettings.Production.json"',title:'"/IoTSharp/Deployments/rabbit_mongo_influx/appsettings.Production.json"'},'"TelemetryStorage":"http://influx:8086/?org=iotsharp&bucket=iotsharp-bucket&token=iotsharp-token&&latest=-72h",\n')),(0,a.kt)("p",null,"\u5c06",(0,a.kt)("strong",{parentName:"p"},"iotsharp-token"),"\u4fee\u6539\u4e3a\u4f60\u7684\u771f\u5b9etoken"),(0,a.kt)("h2",{id:"\u91cd\u542fiotsharp\u5bb9\u5668"},"\u91cd\u542fIoTSharp\u5bb9\u5668"),(0,a.kt)("p",null,"\u547d\u4ee4\u884c\u6267\u884c"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-bash",metastring:"docker",docker:!0},"docker restart iotsharp\n")),(0,a.kt)("h2",{id:"\u6ce8\u518c"},"\u6ce8\u518c"),(0,a.kt)("p",null,"Chrome\u6d4f\u89c8\u5668\u8bbf\u95ee ",(0,a.kt)("inlineCode",{parentName:"p"},"http://localhost:2927/")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"\u6ce8\u518c",src:n(4652).Z,width:"888",height:"840"})),(0,a.kt)("h2",{id:"\u8bbf\u95ee"},"\u8bbf\u95ee"),(0,a.kt)("p",null,"\u6ce8\u518c\u540e\u767b\u5165\u8fdb\u5165\u9996\u9875\n",(0,a.kt)("img",{alt:"\u8bbf\u95ee",src:n(1011).Z,width:"1902",height:"831"})))}m.isMDXComponent=!0},6451:function(e,t,n){t.Z=n.p+"assets/images/docker-run-c20ca39c51c22608c43d3b09582fe0c7.png"},6592:function(e,t,n){t.Z=n.p+"assets/images/influxdb-addtoken-62f709caed7b05efb34b7a594bbf7553.png"},470:function(e,t,n){t.Z=n.p+"assets/images/influxdb-copytoken-26d6d86655d06f0fb58df153ed94d5b2.png"},8662:function(e,t,n){t.Z=n.p+"assets/images/influxdb-ini-7072f2ff25a7329f70411e1f3979315d.png"},1011:function(e,t,n){t.Z=n.p+"assets/images/iotsharp-dashboard-e2f47226cba57d08531957d496c86b97.png"},4652:function(e,t,n){t.Z=n.p+"assets/images/iotsharp-regeist-aab9025fdcae4e6347e17a575cfcac26.png"}}]);
\ No newline at end of file
"use strict";(self.webpackChunkiotsharp=self.webpackChunkiotsharp||[]).push([[640],{3905:function(t,e,n){n.d(e,{Zo:function(){return u},kt:function(){return k}});var r=n(7294);function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function i(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach((function(e){a(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function l(t,e){if(null==t)return{};var n,r,a=function(t,e){if(null==t)return{};var n,r,a={},o=Object.keys(t);for(r=0;r<o.length;r++)n=o[r],e.indexOf(n)>=0||(a[n]=t[n]);return a}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(r=0;r<o.length;r++)n=o[r],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(a[n]=t[n])}return a}var p=r.createContext({}),s=function(t){var e=r.useContext(p),n=e;return t&&(n="function"==typeof t?t(e):i(i({},e),t)),n},u=function(t){var e=s(t.components);return r.createElement(p.Provider,{value:e},t.children)},c={inlineCode:"code",wrapper:function(t){var e=t.children;return r.createElement(r.Fragment,{},e)}},m=r.forwardRef((function(t,e){var n=t.components,a=t.mdxType,o=t.originalType,p=t.parentName,u=l(t,["components","mdxType","originalType","parentName"]),m=s(n),k=a,N=m["".concat(p,".").concat(k)]||m[k]||c[k]||o;return n?r.createElement(N,i(i({ref:e},u),{},{components:n})):r.createElement(N,i({ref:e},u))}));function k(t,e){var n=arguments,a=e&&e.mdxType;if("string"==typeof t||a){var o=n.length,i=new Array(o);i[0]=m;var l={};for(var p in e)hasOwnProperty.call(e,p)&&(l[p]=e[p]);l.originalType=t,l.mdxType="string"==typeof t?t:a,i[1]=l;for(var s=2;s<o;s++)i[s]=n[s];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},402:function(t,e,n){n.r(e),n.d(e,{assets:function(){return u},contentTitle:function(){return p},default:function(){return k},frontMatter:function(){return l},metadata:function(){return s},toc:function(){return c}});var r=n(3117),a=n(102),o=(n(7294),n(3905)),i=["components"],l={sidebar_position:5},p="\u914d\u7f6eIoTSharp",s={unversionedId:"tutorial-basics/appsettings",id:"tutorial-basics/appsettings",title:"\u914d\u7f6eIoTSharp",description:"\u200b\t\t\u672c\u6559\u7a0b\u4e3b\u8981\u8bb2\u8ff0 appsettings \u7684\u914d\u7f6e , \u5927\u5bb6\u53ef\u4ee5\u5728 \u4ee3\u7801\u76ee\u5f55\u6216\u8005\u5b89\u88c5\u6587\u4ef6\u76ee\u5f55\u770b\u5230 \u6709\u5f88\u591a\u4e2a appsettings.xxxxx.json \u7684\u6587\u4ef6, \u4e3b\u8981\u7684\u9ed8\u8ba4\u914d\u7f6e\uff0c \u6211\u4eec\u662f\u901a\u8fc7 appsettings.json \u914d\u7f6e\u3002\u4f46\u662f\u7531\u4e8e\u5f00\u53d1\u9700\u8981\uff0c \u6211\u4eec\u63d0\u4f9b\u4e86\u6839\u636e\u6570\u636e\u5e93\u4e0d\u901a\u800c\u4e0d\u901a\u7684\u914d\u7f6e\uff0c \u53ef\u4ee5\u6839\u636e\u4f60\u4f7f\u7528\u60c5\u51b5\u6765\u53c2\u8003\u8fd9\u4e9b\u914d\u7f6e\u3002 \u6bd4\u5982\uff0c \u73af\u5883\u4e2d\u4f7f\u7528Mysql \uff0c \u53ef\u4ee5\u628a appsettings.MySql.json \u6539\u4e3a appsettings.Production.json \u3002\u4f46\u63a8\u8350\u901a\u8fc7\u73af\u5883\u53d8\u91cf ASPNETCOREENVIRONMENT \u6765\u51b3\u5b9a\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\uff0c \u6bd4\u5982 ASPNETCOREENVIRONMENT \u8bbe\u7f6e\u4e3a MySQL \uff0c \u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u5c31\u662f appsettings.MySQL.json \u6587\u4ef6\uff0c \u5982\u679cASPNETCORE_ENVIRONMENT \u8bbe\u7f6e\u4e3a Sqlite\uff0c\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u5c31\u662f appsettings.Sqlite.json \u6587\u4ef6\u3002\u4e8e\u6b64\u540c\u65f6\uff0c \u5728VS\u4e2d\u8c03\u8bd5\u65f6 \uff0c \u4e5f\u901a\u8fc7 launchSettings.json \u6587\u4ef6\u9884\u914d\u4e86\u652f\u6301\u7684\u6570\u636e\u5e93 \u73af\u5883\u53d8\u91cf\u548c\u5bf9\u5e94\u7684\u6587\u4ef6 \uff0c \u65b9\u4fbf\u8c03\u8bd5\uff0c \u53ea\u9700\u8981\u5728VS\u4e2d\u9009\u62e9\u8c03\u8bd5\u73af\u5883\u5373\u53ef\u3002",source:"@site/docs/tutorial-basics/appsettings.md",sourceDirName:"tutorial-basics",slug:"/tutorial-basics/appsettings",permalink:"/docs/tutorial-basics/appsettings",editUrl:"https://github.com/IoTSharp/IoTSharp/edit/master/docs/docs/tutorial-basics/appsettings.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"\u5728Windows\u4e2d\u90e8\u7f72IoTSharp",permalink:"/docs/tutorial-basics/deploy_win"},next:{title:"\u5982\u4f55\u5bf9\u63a5\u7b2c\u4e09\u65b9\u7f51\u5173\uff1f",permalink:"/docs/tutorial-basics/gateway"}},u={},c=[],m={toc:c};function k(t){var e=t.components,n=(0,a.Z)(t,i);return(0,o.kt)("wrapper",(0,r.Z)({},m,n,{components:e,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"\u914d\u7f6eiotsharp"},"\u914d\u7f6eIoTSharp"),(0,o.kt)("p",null,"\u200b\t\t\u672c\u6559\u7a0b\u4e3b\u8981\u8bb2\u8ff0 appsettings \u7684\u914d\u7f6e , \u5927\u5bb6\u53ef\u4ee5\u5728 \u4ee3\u7801\u76ee\u5f55\u6216\u8005\u5b89\u88c5\u6587\u4ef6\u76ee\u5f55\u770b\u5230 \u6709\u5f88\u591a\u4e2a appsettings.xxxxx.json \u7684\u6587\u4ef6, \u4e3b\u8981\u7684\u9ed8\u8ba4\u914d\u7f6e\uff0c \u6211\u4eec\u662f\u901a\u8fc7 appsettings.json \u914d\u7f6e\u3002\u4f46\u662f\u7531\u4e8e\u5f00\u53d1\u9700\u8981\uff0c \u6211\u4eec\u63d0\u4f9b\u4e86\u6839\u636e\u6570\u636e\u5e93\u4e0d\u901a\u800c\u4e0d\u901a\u7684\u914d\u7f6e\uff0c \u53ef\u4ee5\u6839\u636e\u4f60\u4f7f\u7528\u60c5\u51b5\u6765\u53c2\u8003\u8fd9\u4e9b\u914d\u7f6e\u3002 \u6bd4\u5982\uff0c \u73af\u5883\u4e2d\u4f7f\u7528Mysql \uff0c \u53ef\u4ee5\u628a appsettings.MySql.json \u6539\u4e3a appsettings.Production.json \u3002\u4f46\u63a8\u8350\u901a\u8fc7\u73af\u5883\u53d8\u91cf ASPNETCORE_ENVIRONMENT \u6765\u51b3\u5b9a\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\uff0c \u6bd4\u5982 ASPNETCORE_ENVIRONMENT \u8bbe\u7f6e\u4e3a MySQL \uff0c \u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u5c31\u662f appsettings.MySQL.json \u6587\u4ef6\uff0c \u5982\u679cASPNETCORE_ENVIRONMENT \u8bbe\u7f6e\u4e3a Sqlite\uff0c\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u5c31\u662f appsettings.Sqlite.json \u6587\u4ef6\u3002\u4e8e\u6b64\u540c\u65f6\uff0c \u5728VS\u4e2d\u8c03\u8bd5\u65f6 \uff0c \u4e5f\u901a\u8fc7 launchSettings.json \u6587\u4ef6\u9884\u914d\u4e86\u652f\u6301\u7684\u6570\u636e\u5e93 \u73af\u5883\u53d8\u91cf\u548c\u5bf9\u5e94\u7684\u6587\u4ef6 \uff0c \u65b9\u4fbf\u8c03\u8bd5\uff0c \u53ea\u9700\u8981\u5728VS\u4e2d\u9009\u62e9\u8c03\u8bd5\u73af\u5883\u5373\u53ef\u3002 "),(0,o.kt)("h1",{id:"\u6570\u636e\u5e93\u548c\u4e2d\u95f4\u4ef6\u914d\u7f6e"},"\u6570\u636e\u5e93\u548c\u4e2d\u95f4\u4ef6\u914d\u7f6e"),(0,o.kt)("p",null," \u5f00\u59cb\u4f7f\u7528\u524d\uff0c \u6211\u4eec\u9700\u8981\u6700\u5148\u4e86\u89e3\u7684\u5e94\u8be5\u662f\u6570\u636e\u5e93\uff0c \u6570\u636e\u5982\u4f55\u5b58\u653e\uff0c \u65f6\u5e8f\u6570\u636e\u5982\u4f55\u5b58\u653e\u7b49\uff0c \u8fd9\u91cc\u6211\u4eec\u8003\u8651\u5230\u4e86\u5404\u79cd\u60c5\u51b5\uff0c \u591a\u79cd\u6570\u636e\u5e93\u548c\u591a\u79cd\u4e2d\u95f4\u4ef6\u7684\u7ec4\u5408\uff0c\u4f60\u53ef\u4ee5\u6839\u636e\u4f60\u7684\u559c\u597d\uff0c \u9009\u62e9\u4e94\u79cd\u5173\u7cfb\u578b\u6570\u636e\u5e93\u7684\u5176\u4e2d\u4e00\u4e2a\uff0c \u4e5f\u53ef\u4ee5\u4ece\u6211\u4eec\u652f\u6301\u7684\u56db\u4e2a\u65f6\u5e8f\u6570\u636e\u5e93\u4e2d\u9009\u62e9\u4e00\u4e2a\uff0c \u5f53\u7136\uff0c \u4f60\u53ef\u4ee5\u9009\u62e9\u5728\u5173\u7cfb\u6570\u636e\u5e93\u4e2d\u5b58\u50a8\u65f6\u5e8f\u6570\u636e\uff0c \u53ef\u4ee5\u9009\u62e9\u5355\u8868 \uff0c \u4e5f\u53ef\u4ee5\u9009\u62e9\u5206\u8868\uff0c \u5982\u679c\u5206\u8868\uff0c \u4f60\u53ef\u4ee5\u9009\u62e9\u6309\u5206\u949f\uff0c \u6309\u65e5\uff0c \u6309\u6708\uff0c \u6309\u5e74\uff0c\u4e5f\u53ef\u4ee5\u9009\u62e9\u5404\u79cd\u652f\u6301\u7684 \u6d88\u606f\u4e2d\u95f4\u4ef6\u7b49\uff0c \u4e0b\u9762\u6211\u4eec\u63cf\u8ff0\u5982\u4f55\u914d\u7f6e\u4ed6\u4eec\uff1a"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},'1. \u4f60\u9700\u8981\u901a\u8fc7 "DataBase" \u6765\u6307\u5b9a\u5173\u7cfb\u578b\u6570\u636e\u5e93\uff0c \u6bd4\u5982\u6307\u5b9a\u4e3a "Sqlite"\u3002 \n2. \u914d\u7f6e\u5173\u7cfb\u578b\u6570\u636e\u5e93\u8fde\u63a5\u5b57\u7b26\u4e32 \uff0c \u901a\u8fc7 "ConnectionStrings" \u4e2d\u7684 "IoTSharp"\u914d\u7f6e\u9879\u914d\u7f6e\u5173\u7cfb\u578b\u6570\u636e\u5e93\u8fde\u63a5\u5b57\u7b26\u4e32\uff0c \u6bd4\u5982 "Data Source=IoTSharp.db"\n3. \u914d\u7f6e\u65f6\u5e8f\u5b58\u50a8\u6a21\u5f0f \uff0c \u901a\u8fc7 "TelemetryStorage" \u6765\u914d\u7f6e\u65f6\u5e8f\u6570\u636e\u5b58\u50a8\u65b9\u5f0f\uff0c \u6bd4\u5982 \u6211\u4eec\u5728Sqlite\u4e2d\u4f7f\u7528\u5206\u8868\u6a21\u5f0f\uff0c \u90a3\u4e48\u5c31\u9700\u8981 "Sharding" , \u5982\u679c\u662f\u5355\u8868\u5c31\u586b\u5199\u4e3a SingleTable , \u5982\u679c\u4f7f\u7528InfluxDB , \u5219\u8fde\u5199InfluxDB\n4. \u914d\u7f6e\u65f6\u5e8f\u5b58\u50a8\u8fde\u63a5\u5b57\u7b26\u4e32 \uff0c\u901a\u8fc7 "ConnectionStrings"\u4e2d\u7684 "TelemetryStorage"\u6211\u4eec\u914d\u7f6e\u4f7f\u7528Sqlite\u7684\u5206\u8868\u6a21\u5f0f\uff0c \u90a3\u4e48\u8fde\u63a5\u5b57\u7b26\u4e32\u5c31\u662f\u8fd9\u6837\uff0c \u201cData Source=TelemetryStorage.db\u201d\uff0c \n5. \u914d\u7f6e\u4e8b\u4ef6\u603b\u7ebf\u4e2d\u95f4\u4ef6, \u901a\u8fc7\u914d\u7f6e\u9879"EventBusMQ" \u6765\u914d\u7f6e\u6d88\u606f\u603b\u7ebf\u4f7f\u7528\u4ec0\u4e48\u4e2d\u95f4\u4ef6\uff0c \u4f60\u53ef\u4ee5\u914d\u7f6e RabbitMQ\u6216 \u5185\u5b58\u6a21\u5f0f InMemory \uff0c\u5982\u679c\u4f7f\u7528\u4e86InMemory\u53ef\u4ee5\u4e0d\u7528\u914d\u7f6e\u8fde\u63a5\u5b57\u7b26\u4e32\uff0c\u8bf7\u5ffd\u7565 \u7b2c\u516d\u6761\u3002 \n6. \u914d\u7f6e\u4e8b\u4ef6\u603b\u7ebf\u8fde\u63a5\u5b57\u7b26\u4e32 \uff0c\u901a\u8fc7"ConnectionStrings"\u4e2d\u7684 "EventBusMQ" \u6765\u914d\u7f6e\u8fde\u63a5\u5b57\u7b26\u4e32\uff0c \u5185\u5b58\u6a21\u5f0f\u65f6\u4e0d\u9700\u8981\u914d\u4eba\uff0c \u4f46\u6bd4\u5982\u5f53\u6211\u4eec\u4f7f\u7528 RabbitMQ\u7b49\u4e2d\u95f4\u4ef6\u65f6\u5219\u9700\u8981\u914d\u7f6e\uff0c \u6bd4\u5982 "EventBusMQ": "amqp://root:kissme@rabbitmq:5672"\n7. \u914d\u7f6e\u4e8b\u4ef6\u603b\u7ebf\u6d88\u606f\u5b58\u50a8\u65b9\u5f0f\uff0c \u6211\u4eec\u901a\u8fc7 "EventBusStore" \u6765\u8bbe\u7f6e\u7528\u4f55\u79cd\u65b9\u5f0f\u6765\u5b58\u50a8\u6d88\u606f\uff0c \u6bd4\u5982\u4f7f\u7528\uff0c MongoDB, \u90a3\u4e48\u5c31\u9700\u8981\u5c06\u914d\u7f6e\u9879 "EventBusStore" \u6539\u4e3a MongoDB, \u4e5f\u53ef\u4ee5\u4f7f\u7528 InMemory\uff0c \u5982\u679c\u4f7f\u7528\u4e86InMemory\u53ef\u4ee5\u4e0d\u914d\u7f6e \u8fde\u63a5\u5b57\u7b26\u4e32\uff0c\u8bf7\u5ffd\u7565\u7b2c\u516b\u6761\u3002 \n8. \u914d\u7f6e\u4e8b\u4ef6\u6d88\u606f\u5b58\u50a8\u8fde\u63a5\u5b57\u7b26\u4e32 \uff0c \u5982\u679c\u4f7f\u7528\u4e86MongoDB \u7b49\u4e00\u4e9b\u5b58\u50a8\u6d88\u606f\u7684\u7ec4\u4ef6\uff0c \u90a3\u4e48\u9700\u8981\u901a\u8fc7 \u901a\u8fc7"ConnectionStrings"\u4e2d\u7684 "EventBusStore" \u6765\u914d\u7f6e\uff0c \u6bd4\u5982 \u5982\u679c\u4f7f\u7528\u4e86MongoDB \u7684\u8fde\u63a5\u5b57\u7b26\u4e32\u662f "mongodb://root:kissme@mongodb:27017\n')),(0,o.kt)("h1",{id:"\u652f\u6301\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u914d\u7f6e\u9879"},"\u652f\u6301\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u914d\u7f6e\u9879"),(0,o.kt)("p",null,"\u914d\u7f6e\u9879\u540d\u79f0\u662f DataBase"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"PostgreSql")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"SqlServer")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"MySql")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Oracle")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Sqlite")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"InMemory")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Cassandra"),(0,o.kt)("h1",{parentName:"li",id:"\u652f\u6301\u7684\u65f6\u5e8f\u6570\u636e\u5e93\u53ca\u5176\u914d\u7f6e\u9879"},"\u652f\u6301\u7684\u65f6\u5e8f\u6570\u636e\u5e93\u53ca\u5176\u914d\u7f6e\u9879"),(0,o.kt)("p",{parentName:"li"},"\u914d\u7f6e\u9879\u540d\u79f0\u662f TelemetryStorage ")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"SingleTable")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Sharding")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Taos")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"InfluxDB")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"PinusDB")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"TimescaleDB")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"IoTDB"))),(0,o.kt)("h1",{id:"\u652f\u6301\u7684\u65f6\u95f4\u603b\u7ebf"},"\u652f\u6301\u7684\u65f6\u95f4\u603b\u7ebf"),(0,o.kt)("p",null," \u914d\u7f6e\u9879\u540d\u79f0\u4e3a EventBusMQ"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"RabbitMQ"),(0,o.kt)("li",{parentName:"ol"},"Kafka"),(0,o.kt)("li",{parentName:"ol"},"InMemory"),(0,o.kt)("li",{parentName:"ol"},"ZeroMQ"),(0,o.kt)("li",{parentName:"ol"},"NATS"),(0,o.kt)("li",{parentName:"ol"},"Pulsar"),(0,o.kt)("li",{parentName:"ol"},"RedisStreams"),(0,o.kt)("li",{parentName:"ol"},"AmazonSQS"),(0,o.kt)("li",{parentName:"ol"},"AzureServiceBus")),(0,o.kt)("h1",{id:"\u652f\u6301\u7684\u4e8b\u4ef6\u603b\u7ebf\u5b58\u50a8\u65b9\u5f0f"},"\u652f\u6301\u7684\u4e8b\u4ef6\u603b\u7ebf\u5b58\u50a8\u65b9\u5f0f"),(0,o.kt)("p",null,"\u914d\u7f6e\u9879\u540d\u79f0\u4e3a EventBusStore "),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"PostgreSql"),(0,o.kt)("li",{parentName:"ol"},"MongoDB "),(0,o.kt)("li",{parentName:"ol"},"InMemory"),(0,o.kt)("li",{parentName:"ol"},"LiteDB"),(0,o.kt)("li",{parentName:"ol"},"MySql"),(0,o.kt)("li",{parentName:"ol"},"SqlServer")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"\u4e0b\u9762\u662f\u51e0\u4e2a\u793a\u4f8b:\n")))}k.isMDXComponent=!0}}]);
\ No newline at end of file
"use strict";(self.webpackChunkiotsharp=self.webpackChunkiotsharp||[]).push([[640],{3905:function(t,e,n){n.d(e,{Zo:function(){return u},kt:function(){return k}});var r=n(7294);function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function i(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach((function(e){a(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function l(t,e){if(null==t)return{};var n,r,a=function(t,e){if(null==t)return{};var n,r,a={},o=Object.keys(t);for(r=0;r<o.length;r++)n=o[r],e.indexOf(n)>=0||(a[n]=t[n]);return a}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(r=0;r<o.length;r++)n=o[r],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(a[n]=t[n])}return a}var p=r.createContext({}),s=function(t){var e=r.useContext(p),n=e;return t&&(n="function"==typeof t?t(e):i(i({},e),t)),n},u=function(t){var e=s(t.components);return r.createElement(p.Provider,{value:e},t.children)},c={inlineCode:"code",wrapper:function(t){var e=t.children;return r.createElement(r.Fragment,{},e)}},m=r.forwardRef((function(t,e){var n=t.components,a=t.mdxType,o=t.originalType,p=t.parentName,u=l(t,["components","mdxType","originalType","parentName"]),m=s(n),k=a,f=m["".concat(p,".").concat(k)]||m[k]||c[k]||o;return n?r.createElement(f,i(i({ref:e},u),{},{components:n})):r.createElement(f,i({ref:e},u))}));function k(t,e){var n=arguments,a=e&&e.mdxType;if("string"==typeof t||a){var o=n.length,i=new Array(o);i[0]=m;var l={};for(var p in e)hasOwnProperty.call(e,p)&&(l[p]=e[p]);l.originalType=t,l.mdxType="string"==typeof t?t:a,i[1]=l;for(var s=2;s<o;s++)i[s]=n[s];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},402:function(t,e,n){n.r(e),n.d(e,{assets:function(){return u},contentTitle:function(){return p},default:function(){return k},frontMatter:function(){return l},metadata:function(){return s},toc:function(){return c}});var r=n(3117),a=n(102),o=(n(7294),n(3905)),i=["components"],l={sidebar_position:5},p="\u5982\u4f55\u914d\u7f6eIoTSharp?",s={unversionedId:"tutorial-basics/appsettings",id:"tutorial-basics/appsettings",title:"\u5982\u4f55\u914d\u7f6eIoTSharp?",description:"\u672c\u6559\u7a0b\u4e3b\u8981\u8bb2\u8ff0 appsettings \u7684\u914d\u7f6e , \u5927\u5bb6\u53ef\u4ee5\u5728 \u4ee3\u7801\u76ee\u5f55\u6216\u8005\u5b89\u88c5\u6587\u4ef6\u76ee\u5f55\u770b\u5230",source:"@site/docs/tutorial-basics/appsettings.md",sourceDirName:"tutorial-basics",slug:"/tutorial-basics/appsettings",permalink:"/docs/tutorial-basics/appsettings",editUrl:"https://github.com/IoTSharp/IoTSharp/edit/master/docs/docs/tutorial-basics/appsettings.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"\u5982\u4f55\u90e8\u7f72IoTSharp?",permalink:"/docs/tutorial-basics/deploy"},next:{title:"\u5982\u4f55\u5bf9\u63a5\u7b2c\u4e09\u65b9\u7f51\u5173\uff1f",permalink:"/docs/tutorial-basics/gateway"}},u={},c=[],m={toc:c};function k(t){var e=t.components,n=(0,a.Z)(t,i);return(0,o.kt)("wrapper",(0,r.Z)({},m,n,{components:e,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"\u5982\u4f55\u914d\u7f6eiotsharp"},"\u5982\u4f55\u914d\u7f6eIoTSharp?"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"\u672c\u6559\u7a0b\u4e3b\u8981\u8bb2\u8ff0 appsettings \u7684\u914d\u7f6e , \u5927\u5bb6\u53ef\u4ee5\u5728 \u4ee3\u7801\u76ee\u5f55\u6216\u8005\u5b89\u88c5\u6587\u4ef6\u76ee\u5f55\u770b\u5230\n")),(0,o.kt)("p",null," \u6709\u5f88\u591a\u4e2a appsettings.xxxxx.json \u7684\u6587\u4ef6, \u4e3b\u8981\u7684\u9ed8\u8ba4\u914d\u7f6e\uff0c \u6211\u4eec\u662f\u901a\u8fc7 appsettings.json\n\u914d\u7f6e\u3002\u4f46\u662f\u7531\u4e8e\u5f00\u53d1\u9700\u8981\uff0c \u6211\u4eec\u63d0\u4f9b\u4e86\u6839\u636e\u6570\u636e\u5e93\u4e0d\u901a\u800c\u4e0d\u901a\u7684\u914d\u7f6e\uff0c \u4f60\u53ef\u4ee5\n\u6839\u636e\u4f60\u81ea\u5df1\u7684\u65f6\u673a\u60c5\u51b5\u6765\u53c2\u8003\u8fd9\u4e9b\u914d\u7f6e\u3002 \u6bd4\u5982\uff0c \u4f60\u73af\u5883\u4e2d\u4f7f\u7528Mysql \uff0c \u90a3\u4e48\u4f60\u53ef\u4ee5\u628a\nappsettings.mysql.json \u6539\u4e3a appsettings.Production.json , \u6216\u8005\u6211\u4eec\u63a8\u8350\u53e6\u5916\u4e00\u79cd\u65b9\u5f0f\u3002\n\u4f60\u53ef\u4ee5\u4e0d\u7528\u91cd\u547d\u540d\u6587\u4ef6\uff0c \u800c\u662f\u4f7f\u7528\u73af\u5883\u53d8\u91cf ASPNETCORE_ENVIRONMENT \uff0c \u4e3a \u6b64\u73af\u5883\u53d8\u91cf\u8d4b\u503c \uff0c\n\u6bd4\u5982 ASPNETCORE_ENVIRONMENT \u8bbe\u7f6e\u4e3a MySQL \uff0c \u90a3\u4e48\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u5c31\u662f appsettings.mysql.json \u6587\u4ef6\uff0c\n\u5982\u679cappsettings.mysql.json\u8bbe\u7f6e\u4e3a Sqlite\uff0c\u90a3\u4e48\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u5c31\u662f appsettings.sqlite.json \u6587\u4ef6\u3002 "),(0,o.kt)("h1",{id:"\u6570\u636e\u5e93\u914d\u7f6e\u9879"},"\u6570\u636e\u5e93\u914d\u7f6e\u9879"),(0,o.kt)("p",null," \u4e0b\u9762\u6211\u4eec\u63cf\u8ff0\u5982\u4f55\u914d\u7f6e\u6570\u636e\u5e93"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},'\u4f60\u9700\u8981\u901a\u8fc7 "DataBase" \u6765\u6307\u5b9a\u5173\u7cfb\u578b\u6570\u636e\u5e93\uff0c \u6bd4\u5982\u6307\u5b9a\u4e3a "Sqlite", \u5177\u4f53\u53ef\u67e5\u770b \u3010\u652f\u6301\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u914d\u7f6e\u9879\u3011'),(0,o.kt)("li",{parentName:"ol"},'\u914d\u7f6e\u5173\u7cfb\u578b\u6570\u636e\u5e93\u8fde\u63a5\u5b57\u7b26\u4e32 \uff0c \u901a\u8fc7 "ConnectionStrings" \u4e2d\u7684 "IoTSharp"\u914d\u7f6e\u9879\u914d\u7f6e\u5173\u7cfb\u578b\u6570\u636e\u5e93\u8fde\u63a5\u5b57\u7b26\u4e32\uff0c \u6bd4\u5982 "Data Source=IoTSharp.db"'),(0,o.kt)("li",{parentName:"ol"},'\u914d\u7f6e\u65f6\u5e8f\u5b58\u50a8\u6a21\u5f0f \uff0c \u901a\u8fc7 "TelemetryStorage" \u6765\u914d\u7f6e\u65f6\u5e8f\u6570\u636e\u5b58\u50a8\u65b9\u5f0f\uff0c \u6bd4\u5982 \u6211\u4eec\u5728Sqlite\u4e2d\u4f7f\u7528\u5206\u8868\u6a21\u5f0f\uff0c \u90a3\u4e48\u5c31\u9700\u8981 "Sharding" , \u5982\u679c\u662f\u5355\u8868\u5c31\u586b\u5199\u4e3a SingleTable , \u5982\u679c\u4f7f\u7528InfluxDB , \u5219\u8fde\u5199InfluxDB'),(0,o.kt)("li",{parentName:"ol"},'\u914d\u7f6e\u65f6\u5e8f\u5b58\u50a8\u8fde\u63a5\u5b57\u7b26\u4e32 \uff0c\u901a\u8fc7 "ConnectionStrings"\u4e2d\u7684 "TelemetryStorage"\u6211\u4eec\u914d\u7f6e\u4f7f\u7528Sqlite\u7684\u5206\u8868\u6a21\u5f0f\uff0c \u90a3\u4e48\u8fde\u63a5\u5b57\u7b26\u4e32\u5c31\u662f\u8fd9\u6837\uff0c \u201cData Source=TelemetryStorage.db\u201d\uff0c '),(0,o.kt)("li",{parentName:"ol"},'\u914d\u7f6e\u4e8b\u4ef6\u603b\u7ebf\u4e2d\u95f4\u4ef6, \u901a\u8fc7\u914d\u7f6e\u9879"EventBusMQ" \u6765\u914d\u7f6e\u6d88\u606f\u603b\u7ebf\u4f7f\u7528\u4ec0\u4e48\u4e2d\u95f4\u4ef6\uff0c \u4f60\u53ef\u4ee5\u914d\u7f6e RabbitMQ\u6216 \u5185\u5b58\u6a21\u5f0f InMemory \uff0c '),(0,o.kt)("li",{parentName:"ol"},'\u914d\u7f6e\u4e8b\u4ef6\u603b\u7ebf\u8fde\u63a5\u5b57\u7b26\u4e32 \uff0c\u901a\u8fc7"ConnectionStrings"\u4e2d\u7684 "EventBusMQ" \u6765\u914d\u7f6e\u8fde\u63a5\u5b57\u7b26\u4e32\uff0c \u5185\u5b58\u6a21\u5f0f\u65f6\u4e0d\u9700\u8981\u914d\u4eba\uff0c \u4f46\u6bd4\u5982\u5f53\u6211\u4eec\u4f7f\u7528 RabbitMQ\u7b49\u4e2d\u95f4\u4ef6\u65f6\u5219\u9700\u8981\u914d\u7f6e\uff0c \u6bd4\u5982 "EventBusMQ": "amqp://root:kissme@rabbitmq:5672"'),(0,o.kt)("li",{parentName:"ol"},'\u914d\u7f6e\u4e8b\u4ef6\u603b\u7ebf\u6d88\u606f\u5b58\u50a8\u65b9\u5f0f\uff0c \u6211\u4eec\u901a\u8fc7 "EventBusStore" \u6765\u8bbe\u7f6e\u7528\u4f55\u79cd\u65b9\u5f0f\u6765\u5b58\u50a8\u6d88\u606f\uff0c \u6bd4\u5982\u4f7f\u7528\uff0c MongoDB, \u90a3\u4e48\u5c31\u9700\u8981\u5c06\u914d\u7f6e\u9879 "EventBusStore" \u6539\u4e3a MongoDB, \u4e5f\u53ef\u4ee5\u4f7f\u7528 InMemory'),(0,o.kt)("li",{parentName:"ol"},'\u914d\u7f6e\u4e8b\u4ef6\u6d88\u606f\u5b58\u50a8\u8fde\u63a5\u5b57\u7b26\u4e32 \uff0c \u5982\u679c\u4f7f\u7528\u4e86MongoDB \u7b49\u4e00\u4e9b\u5b58\u50a8\u6d88\u606f\u7684\u7ec4\u4ef6\uff0c \u90a3\u4e48\u9700\u8981\u901a\u8fc7 \u901a\u8fc7"ConnectionStrings"\u4e2d\u7684 "EventBusStore" \u6765\u914d\u7f6e\uff0c \u6bd4\u5982 \u5982\u679c\u4f7f\u7528\u4e86MongoDB \u7684\u8fde\u63a5\u5b57\u7b26\u4e32\u662f "mongodb://root:kissme@mongodb:27017')),(0,o.kt)("h1",{id:"\u652f\u6301\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u914d\u7f6e\u9879"},"\u652f\u6301\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u914d\u7f6e\u9879"),(0,o.kt)("p",null,"\u914d\u7f6e\u9879\u540d\u79f0\u662f DataBase"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"PostgreSql"),(0,o.kt)("li",{parentName:"ol"},"SqlServer"),(0,o.kt)("li",{parentName:"ol"},"MySql"),(0,o.kt)("li",{parentName:"ol"},"Oracle"),(0,o.kt)("li",{parentName:"ol"},"Sqlite"),(0,o.kt)("li",{parentName:"ol"},"InMemory"),(0,o.kt)("li",{parentName:"ol"},"Cassandra",(0,o.kt)("h1",{parentName:"li",id:"\u652f\u6301\u7684\u65f6\u5e8f\u6570\u636e\u5e93\u53ca\u5176\u914d\u7f6e\u9879"},"\u652f\u6301\u7684\u65f6\u5e8f\u6570\u636e\u5e93\u53ca\u5176\u914d\u7f6e\u9879"),"\u914d\u7f6e\u9879\u540d\u79f0\u662f TelemetryStorage "),(0,o.kt)("li",{parentName:"ol"},"SingleTable"),(0,o.kt)("li",{parentName:"ol"},"Sharding"),(0,o.kt)("li",{parentName:"ol"},"Taos"),(0,o.kt)("li",{parentName:"ol"},"InfluxDB"),(0,o.kt)("li",{parentName:"ol"},"PinusDB"),(0,o.kt)("li",{parentName:"ol"},"TimescaleDB"),(0,o.kt)("li",{parentName:"ol"},"IoTDB")),(0,o.kt)("h1",{id:"\u652f\u6301\u7684\u65f6\u95f4\u603b\u7ebf"},"\u652f\u6301\u7684\u65f6\u95f4\u603b\u7ebf"),(0,o.kt)("p",null," \u914d\u7f6e\u9879\u540d\u79f0\u4e3a EventBusMQ"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"RabbitMQ"),(0,o.kt)("li",{parentName:"ol"},"Kafka"),(0,o.kt)("li",{parentName:"ol"},"InMemory"),(0,o.kt)("li",{parentName:"ol"},"ZeroMQ"),(0,o.kt)("li",{parentName:"ol"},"NATS"),(0,o.kt)("li",{parentName:"ol"},"Pulsar"),(0,o.kt)("li",{parentName:"ol"},"RedisStreams"),(0,o.kt)("li",{parentName:"ol"},"AmazonSQS"),(0,o.kt)("li",{parentName:"ol"},"AzureServiceBus")),(0,o.kt)("h1",{id:"\u652f\u6301\u7684\u4e8b\u4ef6\u603b\u7ebf\u5b58\u50a8\u65b9\u5f0f"},"\u652f\u6301\u7684\u4e8b\u4ef6\u603b\u7ebf\u5b58\u50a8\u65b9\u5f0f"),(0,o.kt)("p",null,"\u914d\u7f6e\u9879\u540d\u79f0\u4e3a EventBusStore"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"PostgreSql")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"MongoDB ")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"InMemory")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"LiteDB")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"MySql")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"SqlServer"),(0,o.kt)("p",{parentName:"li"},"\u4e0b\u9762\u662f\u51e0\u4e2a\u793a\u4f8b:"))))}k.isMDXComponent=!0}}]);
\ No newline at end of file
"use strict";(self.webpackChunkiotsharp=self.webpackChunkiotsharp||[]).push([[655],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=a.createContext({}),l=function(e){var t=a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},c=function(e){var t=l(e.components);return a.createElement(p.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,p=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=l(n),m=r,g=u["".concat(p,".").concat(m)]||u[m]||d[m]||o;return n?a.createElement(g,i(i({ref:t},c),{},{components:n})):a.createElement(g,i({ref:t},c))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=u;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s.mdxType="string"==typeof e?e:r,i[1]=s;for(var l=2;l<o;l++)i[l]=n[l];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}u.displayName="MDXCreateElement"},4961:function(e,t,n){n.r(t),n.d(t,{assets:function(){return c},contentTitle:function(){return p},default:function(){return m},frontMatter:function(){return s},metadata:function(){return l},toc:function(){return d}});var a=n(3117),r=n(102),o=(n(7294),n(3905)),i=["components"],s={sidebar_position:3},p="\u5982\u4f55\u8c03\u8bd5IoTSharp?",l={unversionedId:"tutorial-basics/debug",id:"tutorial-basics/debug",title:"\u5982\u4f55\u8c03\u8bd5IoTSharp?",description:"\u672c\u6559\u7a0b\u4f7f\u7528rabbit_mongo_influx \u65b9\u5f0f\u8fdb\u884c\u6e90\u7801\u8fd0\u884c",source:"@site/docs/tutorial-basics/debug.md",sourceDirName:"tutorial-basics",slug:"/tutorial-basics/debug",permalink:"/docs/tutorial-basics/debug",editUrl:"https://github.com/IoTSharp/IoTSharp/edit/master/docs/docs/tutorial-basics/debug.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"\u5728\u54ea\u91cc\u4e0b\u8f7d\u6e90\u7801\uff1f",permalink:"/docs/tutorial-basics/sourcecode"},next:{title:"\u5982\u4f55\u90e8\u7f72IoTSharp?",permalink:"/docs/tutorial-basics/deploy"}},c={},d=[{value:"\u751f\u6210\u89e3\u51b3\u65b9\u6848",id:"\u751f\u6210\u89e3\u51b3\u65b9\u6848",level:2},{value:"\u4fee\u6539\u914d\u7f6e\u6587\u4ef6",id:"\u4fee\u6539\u914d\u7f6e\u6587\u4ef6",level:2},{value:"\u6e90\u7801\u542f\u52a8",id:"\u6e90\u7801\u542f\u52a8",level:2},{value:"\u8bbf\u95ee\u540e\u53f0\u524d\u7aef",id:"\u8bbf\u95ee\u540e\u53f0\u524d\u7aef",level:2},{value:"\u8bbf\u95ee\u524d\u7aef",id:"\u8bbf\u95ee\u524d\u7aef",level:2}],u={toc:d};function m(e){var t=e.components,s=(0,r.Z)(e,i);return(0,o.kt)("wrapper",(0,a.Z)({},u,s,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"\u5982\u4f55\u8c03\u8bd5iotsharp"},"\u5982\u4f55\u8c03\u8bd5IoTSharp?"),(0,o.kt)("p",null,"\u672c\u6559\u7a0b\u4f7f\u7528",(0,o.kt)("strong",{parentName:"p"},"rabbit_mongo_influx")," \u65b9\u5f0f\u8fdb\u884c\u6e90\u7801\u8fd0\u884c"),(0,o.kt)("div",{className:"admonition admonition-danger alert alert--danger"},(0,o.kt)("div",{parentName:"div",className:"admonition-heading"},(0,o.kt)("h5",{parentName:"div"},(0,o.kt)("span",{parentName:"h5",className:"admonition-icon"},(0,o.kt)("svg",{parentName:"span",xmlns:"http://www.w3.org/2000/svg",width:"12",height:"16",viewBox:"0 0 12 16"},(0,o.kt)("path",{parentName:"svg",fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"}))),"\u6ce8\u610f")),(0,o.kt)("div",{parentName:"div",className:"admonition-content"},(0,o.kt)("p",{parentName:"div"},"\u7f16\u8bd1\u8fd0\u884c\u8981\u5728docker\u8fd0\u884c\u7684\u57fa\u7840\u4e0a\u8fdb\u884c\uff0c\u56e0\u4e3a\u9700\u8981\u4f7f\u7528rabbitmq\u3001mongo\u3001influxdb\u7b49\u5e94\u7528\uff1b\n\u8981\u5148\u505c\u6b62\u5bb9\u5668\u4e2d\u7684iotsharp\uff0c\u5efa\u8bae\u76f4\u63a5\u4f7f\u7528VS\u6253\u5f00\u89e3\u51b3\u65b9\u6848\uff0c \u8bbe\u7f6edocker-compose \u4e3a\u542f\u52a8\u9879\u3002\u8fd9\u6837Vs\u4f1a\u81ea\u52a8\u542f\u52a8\u76f8\u5e94\u7684\u5bb9\u5668\uff0c \u5e76\u5c06IoTSharp\u8bbe\u7f6e\u4e3a\u8c03\u8bd5\u6a21\u5f0f\u3002 "))),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash",metastring:"docker",docker:!0},"docker stop iotsharp\n")),(0,o.kt)("div",{className:"admonition admonition-danger alert alert--danger"},(0,o.kt)("div",{parentName:"div",className:"admonition-heading"},(0,o.kt)("h5",{parentName:"div"},(0,o.kt)("span",{parentName:"h5",className:"admonition-icon"},(0,o.kt)("svg",{parentName:"span",xmlns:"http://www.w3.org/2000/svg",width:"12",height:"16",viewBox:"0 0 12 16"},(0,o.kt)("path",{parentName:"svg",fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"}))),"\u6ce8\u610f")),(0,o.kt)("div",{parentName:"div",className:"admonition-content"},(0,o.kt)("p",{parentName:"div"},"\u53e6\u5916\u524d\u7aef\u4f7f\u7528angular\uff0c\u9700\u8981\u5b89\u88c5node\u3001npm\u6216yarn\u624d\u53ef\u4ee5\u8fdb\u884c\u524d\u7aef\u7f16\u8bd1\uff0c\u5982\u679c\u9879\u76ee\u542f\u52a8\u65f6\u65e0\u6cd5\u8df3\u8f6c\u81f3\u524d\u7aef\u754c\u9762\uff0c \u90a3\u4e48\u5728VS\u542f\u52a8\u9879\u76ee\u4e4b\u524d\u9700\u8981\u5148\n",(0,o.kt)("inlineCode",{parentName:"p"},"npm install -g\xa0@angular/cli@13.3.7")))),(0,o.kt)("p",null,"\u6211\u7684node\u7248\u672c",(0,o.kt)("inlineCode",{parentName:"p"},"v16.13.1"),"\uff0cnpm\u7248\u672c",(0,o.kt)("inlineCode",{parentName:"p"},"8.1.2"),"\uff0cyarn\u7248\u672c",(0,o.kt)("inlineCode",{parentName:"p"},"1.22.17"),"\uff0c\u53ef\u7528"),(0,o.kt)("h2",{id:"\u751f\u6210\u89e3\u51b3\u65b9\u6848"},"\u751f\u6210\u89e3\u51b3\u65b9\u6848"),(0,o.kt)("p",null,"\u6253\u5f00\u89e3\u51b3\u65b9\u6848",(0,o.kt)("strong",{parentName:"p"},"IoTSharp.sln")," "),(0,o.kt)("p",null,"\u5148\u751f\u6210\u89e3\u51b3\u65b9\u6848\uff0c\u7b2c\u4e00\u6b21\u751f\u6210ng\u7684\u524d\u7aef\u6bd4\u8f83\u6162"),(0,o.kt)("h2",{id:"\u4fee\u6539\u914d\u7f6e\u6587\u4ef6"},"\u4fee\u6539\u914d\u7f6e\u6587\u4ef6"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json",metastring:'title="/IoTSharp/IoTSharp/appsettings.Development.json"',title:'"/IoTSharp/IoTSharp/appsettings.Development.json"'},'{\n "ConnectionStrings": {\n "IoTSharp": "Server=127.0.0.1;Database=IoTSharp;Username=postgres;Password=future;Pooling=true;MaxPoolSize=1024;",\n "EventBusStore": "mongodb://root:kissme@127.0.0.1:27017",\n "TelemetryStorage": "http://127.0.0.1:8086/?org=iotsharp&bucket=iotsharp-bucket&token=iotsharp-token&&latest=-72h",\n "EventBusMQ": "amqp://root:kissme@127.0.0.1:5672"\n },\n "DataBase": "PostgreSql",\n "EventBusStore": "MongoDB",\n "EventBusMQ": "RabbitMQ",\n "TelemetryStorage": "InfluxDB"\n}\n')),(0,o.kt)("div",{className:"admonition admonition-danger alert alert--danger"},(0,o.kt)("div",{parentName:"div",className:"admonition-heading"},(0,o.kt)("h5",{parentName:"div"},(0,o.kt)("span",{parentName:"h5",className:"admonition-icon"},(0,o.kt)("svg",{parentName:"span",xmlns:"http://www.w3.org/2000/svg",width:"12",height:"16",viewBox:"0 0 12 16"},(0,o.kt)("path",{parentName:"svg",fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"}))),"\u6ce8\u610f")),(0,o.kt)("div",{parentName:"div",className:"admonition-content"},(0,o.kt)("p",{parentName:"div"},"\u4e00\u5b9a\u8981\u628ainflux\u7684\u8fde\u63a5\u5b57\u7b26\u4e32\u4e2d\u7684iotsharp-token\u6362\u6210\u81ea\u5df1\u7684token"))),(0,o.kt)("h2",{id:"\u6e90\u7801\u542f\u52a8"},"\u6e90\u7801\u542f\u52a8"),(0,o.kt)("p",null,(0,o.kt)("inlineCode",{parentName:"p"},"IoTSharp"),"\u9879\u76ee\u8bbe\u4e3a\u542f\u52a8\u9879\u76ee\uff0c\u8fd0\u884c"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"\u6e90\u7801\u542f\u52a8",src:n(8064).Z,width:"1918",height:"927"})),(0,o.kt)("h2",{id:"\u8bbf\u95ee\u540e\u53f0\u524d\u7aef"},"\u8bbf\u95ee\u540e\u53f0\u524d\u7aef"),(0,o.kt)("p",null,"\u9ed8\u8ba4\u7684\u540e\u53f0\u90e8\u5206\u9875\u9762\u8bbf\u95ee\u5730\u5740\u9ed8\u8ba4\u7684\u662f http://localhost:5000 ,\u4f1a\u6d89\u53ca\u5230swagger \u4ee5\u53ca\u5065\u5eb7\u68c0\u67e5\u7b49\u9875\u9762"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"\u8bbf\u95ee\u540e\u53f0\u524d\u7aef",src:n(4630).Z,width:"1902",height:"850"})),(0,o.kt)("h2",{id:"\u8bbf\u95ee\u524d\u7aef"},"\u8bbf\u95ee\u524d\u7aef"),(0,o.kt)("p",null,"\u524d\u7aef\u4f1a\u5728\u9879\u76ee\u542f\u52a8\u540e\u5f00\u59cb\u5f00\u59cb\u81ea\u52a8\u7f16\u8bd1\uff0c\u6d4f\u89c8\u5668\u4f1a\u6253\u5f00\u4e00\u4e2a \u7b49\u5f85\u9875\u9762\uff0c \u6b64\u9875\u9762\u7b49\u5f85\u76f4\u5230\u524d\u7aef\u5c31\u7eea\uff0c \u7136\u540e\u4f1a\u91cd\u5b9a\u4f4d\u5230\u524d\u7aef\u90e8\u5206\u3002 \u65b0\u7684\u524d\u7aefSPA\u91c7\u7528.Net 6.0\u5728\u4e2d\u7684\u65b0\u65b9\u6cd5\uff0c \u56e0\u6b64\u7b49\u5f85\u4e0d\u4f1a\u50cf\u4e4b\u524d\u90a3\u4e48\u4e45\u3002 "),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"\u8bbf\u95ee\u524d\u7aef",src:n(8652).Z,width:"1016",height:"553"})))}m.isMDXComponent=!0},4630:function(e,t,n){t.Z=n.p+"assets/images/bgweb-7c989919fd84790d1511bc5e9cce43c4.png"},8652:function(e,t,n){t.Z=n.p+"assets/images/font-login-bbdc20715ff22f70bbc5c440432b3b83.png"},8064:function(e,t,n){t.Z=n.p+"assets/images/project-appsettings-0505baba96447a1be0db7176f31108d9.png"}}]);
\ No newline at end of file
"use strict";(self.webpackChunkiotsharp=self.webpackChunkiotsharp||[]).push([[655],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=a.createContext({}),p=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},c=function(e){var t=p(e.components);return a.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=p(n),m=r,g=u["".concat(l,".").concat(m)]||u[m]||d[m]||o;return n?a.createElement(g,i(i({ref:t},c),{},{components:n})):a.createElement(g,i({ref:t},c))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:r,i[1]=s;for(var p=2;p<o;p++)i[p]=n[p];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}u.displayName="MDXCreateElement"},4961:function(e,t,n){n.r(t),n.d(t,{assets:function(){return c},contentTitle:function(){return l},default:function(){return m},frontMatter:function(){return s},metadata:function(){return p},toc:function(){return d}});var a=n(3117),r=n(102),o=(n(7294),n(3905)),i=["components"],s={sidebar_position:3},l="\u8c03\u8bd5IoTSharp",p={unversionedId:"tutorial-basics/debug",id:"tutorial-basics/debug",title:"\u8c03\u8bd5IoTSharp",description:"\u672c\u6559\u7a0b\u4f7f\u7528rabbit_mongo_influx \u65b9\u5f0f\u8fdb\u884c\u6e90\u7801\u8fd0\u884c",source:"@site/docs/tutorial-basics/debug.md",sourceDirName:"tutorial-basics",slug:"/tutorial-basics/debug",permalink:"/docs/tutorial-basics/debug",editUrl:"https://github.com/IoTSharp/IoTSharp/edit/master/docs/docs/tutorial-basics/debug.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"\u5728\u54ea\u91cc\u4e0b\u8f7d\u6e90\u7801\uff1f",permalink:"/docs/tutorial-basics/sourcecode"},next:{title:"\u4f7f\u7528Dcoker\u90e8\u7f72",permalink:"/docs/tutorial-basics/deploy_by_docker"}},c={},d=[{value:"\u751f\u6210\u89e3\u51b3\u65b9\u6848",id:"\u751f\u6210\u89e3\u51b3\u65b9\u6848",level:2},{value:"\u4fee\u6539\u914d\u7f6e\u6587\u4ef6",id:"\u4fee\u6539\u914d\u7f6e\u6587\u4ef6",level:2},{value:"\u6e90\u7801\u542f\u52a8",id:"\u6e90\u7801\u542f\u52a8",level:2},{value:"\u8bbf\u95ee\u540e\u53f0\u524d\u7aef",id:"\u8bbf\u95ee\u540e\u53f0\u524d\u7aef",level:2},{value:"\u8bbf\u95ee\u524d\u7aef",id:"\u8bbf\u95ee\u524d\u7aef",level:2}],u={toc:d};function m(e){var t=e.components,s=(0,r.Z)(e,i);return(0,o.kt)("wrapper",(0,a.Z)({},u,s,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"\u8c03\u8bd5iotsharp"},"\u8c03\u8bd5IoTSharp"),(0,o.kt)("p",null,"\u672c\u6559\u7a0b\u4f7f\u7528",(0,o.kt)("strong",{parentName:"p"},"rabbit_mongo_influx")," \u65b9\u5f0f\u8fdb\u884c\u6e90\u7801\u8fd0\u884c"),(0,o.kt)("div",{className:"admonition admonition-danger alert alert--danger"},(0,o.kt)("div",{parentName:"div",className:"admonition-heading"},(0,o.kt)("h5",{parentName:"div"},(0,o.kt)("span",{parentName:"h5",className:"admonition-icon"},(0,o.kt)("svg",{parentName:"span",xmlns:"http://www.w3.org/2000/svg",width:"12",height:"16",viewBox:"0 0 12 16"},(0,o.kt)("path",{parentName:"svg",fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"}))),"\u6ce8\u610f")),(0,o.kt)("div",{parentName:"div",className:"admonition-content"},(0,o.kt)("p",{parentName:"div"},"\u7f16\u8bd1\u8fd0\u884c\u8981\u5728docker\u8fd0\u884c\u7684\u57fa\u7840\u4e0a\u8fdb\u884c\uff0c\u56e0\u4e3a\u9700\u8981\u4f7f\u7528rabbitmq\u3001mongo\u3001influxdb\u7b49\u5e94\u7528\uff1b\n\u8981\u5148\u505c\u6b62\u5bb9\u5668\u4e2d\u7684iotsharp\uff0c\u5efa\u8bae\u76f4\u63a5\u4f7f\u7528VS\u6253\u5f00\u89e3\u51b3\u65b9\u6848\uff0c \u8bbe\u7f6edocker-compose \u4e3a\u542f\u52a8\u9879\u3002\u8fd9\u6837Vs\u4f1a\u81ea\u52a8\u542f\u52a8\u76f8\u5e94\u7684\u5bb9\u5668\uff0c \u5e76\u5c06IoTSharp\u8bbe\u7f6e\u4e3a\u8c03\u8bd5\u6a21\u5f0f\u3002 "))),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash",metastring:"docker",docker:!0},"docker stop iotsharp\n")),(0,o.kt)("div",{className:"admonition admonition-danger alert alert--danger"},(0,o.kt)("div",{parentName:"div",className:"admonition-heading"},(0,o.kt)("h5",{parentName:"div"},(0,o.kt)("span",{parentName:"h5",className:"admonition-icon"},(0,o.kt)("svg",{parentName:"span",xmlns:"http://www.w3.org/2000/svg",width:"12",height:"16",viewBox:"0 0 12 16"},(0,o.kt)("path",{parentName:"svg",fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"}))),"\u6ce8\u610f")),(0,o.kt)("div",{parentName:"div",className:"admonition-content"},(0,o.kt)("p",{parentName:"div"},"\u53e6\u5916\u524d\u7aef\u4f7f\u7528angular\uff0c\u9700\u8981\u5b89\u88c5node\u3001npm\u6216yarn\u624d\u53ef\u4ee5\u8fdb\u884c\u524d\u7aef\u7f16\u8bd1\uff0c\u5982\u679c\u9879\u76ee\u542f\u52a8\u65f6\u65e0\u6cd5\u8df3\u8f6c\u81f3\u524d\u7aef\u754c\u9762\uff0c \u90a3\u4e48\u5728VS\u542f\u52a8\u9879\u76ee\u4e4b\u524d\u9700\u8981\u5148\n",(0,o.kt)("inlineCode",{parentName:"p"},"npm install -g\xa0@angular/cli@13.3.7")))),(0,o.kt)("p",null,"\u6211\u7684node\u7248\u672c",(0,o.kt)("inlineCode",{parentName:"p"},"v16.13.1"),"\uff0cnpm\u7248\u672c",(0,o.kt)("inlineCode",{parentName:"p"},"8.1.2"),"\uff0cyarn\u7248\u672c",(0,o.kt)("inlineCode",{parentName:"p"},"1.22.17"),"\uff0c\u53ef\u7528"),(0,o.kt)("h2",{id:"\u751f\u6210\u89e3\u51b3\u65b9\u6848"},"\u751f\u6210\u89e3\u51b3\u65b9\u6848"),(0,o.kt)("p",null,"\u6253\u5f00\u89e3\u51b3\u65b9\u6848",(0,o.kt)("strong",{parentName:"p"},"IoTSharp.sln")," "),(0,o.kt)("p",null,"\u5148\u751f\u6210\u89e3\u51b3\u65b9\u6848\uff0c\u7b2c\u4e00\u6b21\u751f\u6210ng\u7684\u524d\u7aef\u6bd4\u8f83\u6162"),(0,o.kt)("h2",{id:"\u4fee\u6539\u914d\u7f6e\u6587\u4ef6"},"\u4fee\u6539\u914d\u7f6e\u6587\u4ef6"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json",metastring:'title="/IoTSharp/IoTSharp/appsettings.Development.json"',title:'"/IoTSharp/IoTSharp/appsettings.Development.json"'},'{\n "ConnectionStrings": {\n "IoTSharp": "Server=127.0.0.1;Database=IoTSharp;Username=postgres;Password=future;Pooling=true;MaxPoolSize=1024;",\n "EventBusStore": "mongodb://root:kissme@127.0.0.1:27017",\n "TelemetryStorage": "http://127.0.0.1:8086/?org=iotsharp&bucket=iotsharp-bucket&token=iotsharp-token&&latest=-72h",\n "EventBusMQ": "amqp://root:kissme@127.0.0.1:5672"\n },\n "DataBase": "PostgreSql",\n "EventBusStore": "MongoDB",\n "EventBusMQ": "RabbitMQ",\n "TelemetryStorage": "InfluxDB"\n}\n')),(0,o.kt)("div",{className:"admonition admonition-danger alert alert--danger"},(0,o.kt)("div",{parentName:"div",className:"admonition-heading"},(0,o.kt)("h5",{parentName:"div"},(0,o.kt)("span",{parentName:"h5",className:"admonition-icon"},(0,o.kt)("svg",{parentName:"span",xmlns:"http://www.w3.org/2000/svg",width:"12",height:"16",viewBox:"0 0 12 16"},(0,o.kt)("path",{parentName:"svg",fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"}))),"\u6ce8\u610f")),(0,o.kt)("div",{parentName:"div",className:"admonition-content"},(0,o.kt)("p",{parentName:"div"},"\u4e00\u5b9a\u8981\u628ainflux\u7684\u8fde\u63a5\u5b57\u7b26\u4e32\u4e2d\u7684iotsharp-token\u6362\u6210\u81ea\u5df1\u7684token"))),(0,o.kt)("h2",{id:"\u6e90\u7801\u542f\u52a8"},"\u6e90\u7801\u542f\u52a8"),(0,o.kt)("p",null,(0,o.kt)("inlineCode",{parentName:"p"},"IoTSharp"),"\u9879\u76ee\u8bbe\u4e3a\u542f\u52a8\u9879\u76ee\uff0c\u8fd0\u884c"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"\u6e90\u7801\u542f\u52a8",src:n(8064).Z,width:"1918",height:"927"})),(0,o.kt)("h2",{id:"\u8bbf\u95ee\u540e\u53f0\u524d\u7aef"},"\u8bbf\u95ee\u540e\u53f0\u524d\u7aef"),(0,o.kt)("p",null,"\u9ed8\u8ba4\u7684\u540e\u53f0\u90e8\u5206\u9875\u9762\u8bbf\u95ee\u5730\u5740\u9ed8\u8ba4\u7684\u662f http://localhost:5000 ,\u4f1a\u6d89\u53ca\u5230swagger \u4ee5\u53ca\u5065\u5eb7\u68c0\u67e5\u7b49\u9875\u9762"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"\u8bbf\u95ee\u540e\u53f0\u524d\u7aef",src:n(4630).Z,width:"1902",height:"850"})),(0,o.kt)("h2",{id:"\u8bbf\u95ee\u524d\u7aef"},"\u8bbf\u95ee\u524d\u7aef"),(0,o.kt)("p",null,"\u524d\u7aef\u4f1a\u5728\u9879\u76ee\u542f\u52a8\u540e\u5f00\u59cb\u5f00\u59cb\u81ea\u52a8\u7f16\u8bd1\uff0c\u6d4f\u89c8\u5668\u4f1a\u6253\u5f00\u4e00\u4e2a \u7b49\u5f85\u9875\u9762\uff0c \u6b64\u9875\u9762\u7b49\u5f85\u76f4\u5230\u524d\u7aef\u5c31\u7eea\uff0c \u7136\u540e\u4f1a\u91cd\u5b9a\u4f4d\u5230\u524d\u7aef\u90e8\u5206\u3002 \u65b0\u7684\u524d\u7aefSPA\u91c7\u7528.Net 6.0\u5728\u4e2d\u7684\u65b0\u65b9\u6cd5\uff0c \u56e0\u6b64\u7b49\u5f85\u4e0d\u4f1a\u50cf\u4e4b\u524d\u90a3\u4e48\u4e45\u3002 "),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"\u8bbf\u95ee\u524d\u7aef",src:n(8652).Z,width:"1016",height:"553"})))}m.isMDXComponent=!0},4630:function(e,t,n){t.Z=n.p+"assets/images/bgweb-7c989919fd84790d1511bc5e9cce43c4.png"},8652:function(e,t,n){t.Z=n.p+"assets/images/font-login-bbdc20715ff22f70bbc5c440432b3b83.png"},8064:function(e,t,n){t.Z=n.p+"assets/images/project-appsettings-0505baba96447a1be0db7176f31108d9.png"}}]);
\ No newline at end of file
"use strict";(self.webpackChunkiotsharp=self.webpackChunkiotsharp||[]).push([[928],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return h}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p=n.createContext({}),c=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},l=function(e){var t=c(e.components);return n.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,p=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),d=c(r),h=o,f=d["".concat(p,".").concat(h)]||d[h]||u[h]||i;return r?n.createElement(f,a(a({ref:t},l),{},{components:r})):n.createElement(f,a({ref:t},l))}));function h(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=d;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s.mdxType="string"==typeof e?e:o,a[1]=s;for(var c=2;c<i;c++)a[c]=r[c];return n.createElement.apply(null,a)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},61:function(e,t,r){r.r(t),r.d(t,{assets:function(){return l},contentTitle:function(){return p},default:function(){return h},frontMatter:function(){return s},metadata:function(){return c},toc:function(){return u}});var n=r(3117),o=r(102),i=(r(7294),r(3905)),a=["components"],s={sidebar_position:4},p="\u5728Windows\u4e2d\u90e8\u7f72IoTSharp",c={unversionedId:"tutorial-basics/deploy_win",id:"tutorial-basics/deploy_win",title:"\u5728Windows\u4e2d\u90e8\u7f72IoTSharp",description:"\u672c\u6559\u7a0b\u4f7f\u7528Sqlite \u4e3a\u6570\u636e\u5b58\u50a8 \u65b9\u5f0f\u8fdb\u884c\u90e8\u7f72",source:"@site/docs/tutorial-basics/deploy_win.md",sourceDirName:"tutorial-basics",slug:"/tutorial-basics/deploy_win",permalink:"/docs/tutorial-basics/deploy_win",editUrl:"https://github.com/IoTSharp/IoTSharp/edit/master/docs/docs/tutorial-basics/deploy_win.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"\u5728Linux\u4e2d\u90e8\u7f72IoTSharp",permalink:"/docs/tutorial-basics/deploy_linux"},next:{title:"\u914d\u7f6eIoTSharp",permalink:"/docs/tutorial-basics/appsettings"}},l={},u=[{value:"\u521d\u59cb\u5316influxdb",id:"\u521d\u59cb\u5316influxdb",level:2},{value:"\u6ce8\u518c",id:"\u6ce8\u518c",level:2},{value:"\u8bbf\u95ee",id:"\u8bbf\u95ee",level:2}],d={toc:u};function h(e){var t=e.components,s=(0,o.Z)(e,a);return(0,i.kt)("wrapper",(0,n.Z)({},d,s,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"\u5728windows\u4e2d\u90e8\u7f72iotsharp"},"\u5728Windows\u4e2d\u90e8\u7f72IoTSharp"),(0,i.kt)("p",null,"\u672c\u6559\u7a0b\u4f7f\u7528Sqlite \u4e3a\u6570\u636e\u5b58\u50a8 \u65b9\u5f0f\u8fdb\u884c\u90e8\u7f72"),(0,i.kt)("h1",{id:"\u4e0b\u8f7d"},"\u4e0b\u8f7d"),(0,i.kt)("p",null,"\u9996\u5148\u5728 ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/IoTSharp/IoTSharp/releases"},"https://github.com/IoTSharp/IoTSharp/releases")," \u6216\u8005 ",(0,i.kt)("a",{parentName:"p",href:"https://gitee.com/IoTSharp/IoTSharp/releases"},"https://gitee.com/IoTSharp/IoTSharp/releases")," \u4e2d\u4e0b\u8f7d\u6700\u65b0\u7248\u672c\u7684\u5b89\u88c5\u5305\uff0c \u901a\u7545Windows\u4e0b\u7684\u5b89\u88c5\u5305 \u540d\u4e3a ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/IoTSharp/IoTSharp/releases/download/v2.8/IoTSharp.Release.win7-x64.zip"},"IoTSharp.Release.win7-x64.zip")," \u4e0b\u8f7d\u81f3\u672c\u5730\u3002 "),(0,i.kt)("h1",{id:"\u76f4\u63a5\u542f\u52a8"},"\u76f4\u63a5\u542f\u52a8"),(0,i.kt)("p",null,"\u89e3\u538b\u538b\u7f29\u5305\u540e\uff0c \u6211\u4eec\u53ef\u4ee5\u770b\u5230\u91cc\u9762 \u6709\u4e00\u4e2a IoTSharp\u7684Exe\u6587\u4ef6\uff0c \u53cc\u51fb\u8fd0\u884c\u5373\u53ef\u542f\u52a8\u3002 \u53ef\u4ee5\u770b\u5230\u63a7\u5236\u53f0\u542f\u52a8\uff0c \u542f\u52a8\u540e\uff0c \u5373\u53ef\u5728\u6d4f\u89c8\u5668\u4e2d\u6253\u5f00 http://localhost:2927 \u6765\u8bbf\u95ee\u3002 "),(0,i.kt)("h1",{id:"\u6ce8\u518c\u4e3a\u670d\u52a1"},"\u6ce8\u518c\u4e3a\u670d\u52a1"),(0,i.kt)("p",null,"IoTSharp \u5df2\u7ecf\u652f\u6301\u4e86Windows\u670d\u52a1\u7684\u65b9\u5f0f\u8fd0\u884c\uff0c \u5982\u679c\u6709\u9700\u8981\u6ce8\u518c\u4e3aWidnows\u670d\u52a1\uff0c \u4f60\u9700\u8981\u9996\u5148\u4e86\u89e3 ",(0,i.kt)("a",{parentName:"p",href:"https://docs.microsoft.com/zh-cn/windows-server/administration/windows-commands/sc-create"},"https://docs.microsoft.com/zh-cn/windows-server/administration/windows-commands/sc-create")," \uff0c \u4f7f\u7528sc \u547d\u4ee4\u521b\u5efa \u4e3aWindows\u670d\u52a1\uff0c\u7136\u540e\u6253\u5f00 http://localhost:2927 \u6765\u8bbf\u95ee"),(0,i.kt)("p",null,"\u770b\u5230\u4e0b\u56fe\u8bf4\u660e\u8fd0\u884c\u6210\u529f\n",(0,i.kt)("img",{alt:"docker-compose\u542f\u52a8\u6210\u529f",src:r(6451).Z,width:"1171",height:"558"})),(0,i.kt)("h2",{id:"\u521d\u59cb\u5316influxdb"},"\u521d\u59cb\u5316influxdb"),(0,i.kt)("p",null,"\u6d4f\u89c8\u5668\u8bbf\u95ee ",(0,i.kt)("inlineCode",{parentName:"p"},"http://localhost:8086/"),"\uff0c\u521d\u59cb\u5316influxdb"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u521d\u59cb\u5316influxdb",src:r(8662).Z,width:"1291",height:"604"})),(0,i.kt)("p",null,"Org: ",(0,i.kt)("inlineCode",{parentName:"p"},"iotsharp")," Bucket: ",(0,i.kt)("inlineCode",{parentName:"p"},"iotsharp-bucket")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash",metastring:"docker",docker:!0}," \n")),(0,i.kt)("h2",{id:"\u6ce8\u518c"},"\u6ce8\u518c"),(0,i.kt)("p",null,"Chrome\u6d4f\u89c8\u5668\u8bbf\u95ee ",(0,i.kt)("inlineCode",{parentName:"p"},"http://localhost:2927/")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u6ce8\u518c",src:r(4652).Z,width:"888",height:"840"})),(0,i.kt)("h2",{id:"\u8bbf\u95ee"},"\u8bbf\u95ee"),(0,i.kt)("p",null,"\u6ce8\u518c\u540e\u767b\u5165\u8fdb\u5165\u9996\u9875\n",(0,i.kt)("img",{alt:"\u8bbf\u95ee",src:r(1011).Z,width:"1902",height:"831"})))}h.isMDXComponent=!0},6451:function(e,t,r){t.Z=r.p+"assets/images/docker-run-c20ca39c51c22608c43d3b09582fe0c7.png"},8662:function(e,t,r){t.Z=r.p+"assets/images/influxdb-ini-7072f2ff25a7329f70411e1f3979315d.png"},1011:function(e,t,r){t.Z=r.p+"assets/images/iotsharp-dashboard-e2f47226cba57d08531957d496c86b97.png"},4652:function(e,t,r){t.Z=r.p+"assets/images/iotsharp-regeist-aab9025fdcae4e6347e17a575cfcac26.png"}}]);
\ No newline at end of file
"use strict";(self.webpackChunkiotsharp=self.webpackChunkiotsharp||[]).push([[53],{1109:function(t){t.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"IoTSharp \u7b80\u4ecb","href":"/docs/intro","docId":"intro"},{"type":"category","label":"\u53c2\u8003\u624b\u518c - \u57fa\u7840","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"IoTSharp\u662f\u4ec0\u4e48\uff1f","href":"/docs/tutorial-basics/iotsharp","docId":"tutorial-basics/iotsharp"},{"type":"link","label":"\u5728\u54ea\u91cc\u4e0b\u8f7d\u6e90\u7801\uff1f","href":"/docs/tutorial-basics/sourcecode","docId":"tutorial-basics/sourcecode"},{"type":"link","label":"\u8c03\u8bd5IoTSharp","href":"/docs/tutorial-basics/debug","docId":"tutorial-basics/debug"},{"type":"link","label":"\u4f7f\u7528Dcoker\u90e8\u7f72","href":"/docs/tutorial-basics/deploy_by_docker","docId":"tutorial-basics/deploy_by_docker"},{"type":"link","label":"\u5728Linux\u4e2d\u90e8\u7f72IoTSharp","href":"/docs/tutorial-basics/deploy_linux","docId":"tutorial-basics/deploy_linux"},{"type":"link","label":"\u5728Windows\u4e2d\u90e8\u7f72IoTSharp","href":"/docs/tutorial-basics/deploy_win","docId":"tutorial-basics/deploy_win"},{"type":"link","label":"\u914d\u7f6eIoTSharp","href":"/docs/tutorial-basics/appsettings","docId":"tutorial-basics/appsettings"},{"type":"link","label":"\u5982\u4f55\u5bf9\u63a5\u7b2c\u4e09\u65b9\u7f51\u5173\uff1f","href":"/docs/tutorial-basics/gateway","docId":"tutorial-basics/gateway"},{"type":"link","label":"\u5982\u4f55\u67e5\u8be2\u9065\u6d4b\u6e90\u6570\u636e?","href":"/docs/tutorial-basics/influxdb","docId":"tutorial-basics/influxdb"},{"type":"link","label":"webapi\u67e5\u8be2\u9065\u6d4b","href":"/docs/tutorial-basics/webapi","docId":"tutorial-basics/webapi"},{"type":"link","label":"\u9065\u6d4b\u6570\u636e\u805a\u5408","href":"/docs/tutorial-basics/aggregate","docId":"tutorial-basics/aggregate"}]},{"type":"category","label":"\u53c2\u8003\u624b\u518c - \u9ad8\u7ea7","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"MQTT\u534f\u8bae","href":"/docs/tutorial-extras/mqtt","docId":"tutorial-extras/mqtt"},{"type":"link","label":"Http\u534f\u8bae","href":"/docs/tutorial-extras/http","docId":"tutorial-extras/http"},{"type":"link","label":"\u539f\u751f\u6570\u636e\u63a8\u9001\u7f51\u5173","href":"/docs/tutorial-extras/raw_data_gateway","docId":"tutorial-extras/raw_data_gateway"}]}]},"docs":{"intro":{"id":"intro","title":"IoTSharp \u7b80\u4ecb","description":"\u8ba9\u6211\u4eec\u63a2\u7d22\u4e00\u4e0b IoTSharp \u5728\u4e94\u5206\u949f\u5185.","sidebar":"tutorialSidebar"},"tutorial-basics/aggregate":{"id":"tutorial-basics/aggregate","title":"\u9065\u6d4b\u6570\u636e\u805a\u5408","description":"\u5bf9\u4e8e\u7269\u8054\u7f51\u5e73\u53f0\u6765\u8bf4\uff0c \u805a\u5408\u662f\u975e\u5e38\u91cd\u8981\u7684\u6570\u636e\u67e5\u8be2\u65b9\u5f0f\uff0c IoTSharp\u652f\u6301\u6307\u5b9a\u65f6\u95f4\u6bb5\u3001\u9065\u6d4b\u3001\u805a\u5408\u65ad\u9762\u3001\u805a\u5408\u65b9\u5f0f\u7b49\uff0c IoTSharp\u63d0\u4f9b\u4e86\u7edf\u4e00\u7684\u63a5\u53e3 /api/Devices/id/TelemetryData \u6765\u5b8c\u6210\u8fd9\u4e00\u70b9\u3002","sidebar":"tutorialSidebar"},"tutorial-basics/appsettings":{"id":"tutorial-basics/appsettings","title":"\u914d\u7f6eIoTSharp","description":"\u200b\\t\\t\u672c\u6559\u7a0b\u4e3b\u8981\u8bb2\u8ff0 appsettings \u7684\u914d\u7f6e , \u5927\u5bb6\u53ef\u4ee5\u5728 \u4ee3\u7801\u76ee\u5f55\u6216\u8005\u5b89\u88c5\u6587\u4ef6\u76ee\u5f55\u770b\u5230 \u6709\u5f88\u591a\u4e2a appsettings.xxxxx.json \u7684\u6587\u4ef6, \u4e3b\u8981\u7684\u9ed8\u8ba4\u914d\u7f6e\uff0c \u6211\u4eec\u662f\u901a\u8fc7 appsettings.json \u914d\u7f6e\u3002\u4f46\u662f\u7531\u4e8e\u5f00\u53d1\u9700\u8981\uff0c \u6211\u4eec\u63d0\u4f9b\u4e86\u6839\u636e\u6570\u636e\u5e93\u4e0d\u901a\u800c\u4e0d\u901a\u7684\u914d\u7f6e\uff0c \u53ef\u4ee5\u6839\u636e\u4f60\u4f7f\u7528\u60c5\u51b5\u6765\u53c2\u8003\u8fd9\u4e9b\u914d\u7f6e\u3002 \u6bd4\u5982\uff0c \u73af\u5883\u4e2d\u4f7f\u7528Mysql \uff0c \u53ef\u4ee5\u628a appsettings.MySql.json \u6539\u4e3a appsettings.Production.json \u3002\u4f46\u63a8\u8350\u901a\u8fc7\u73af\u5883\u53d8\u91cf ASPNETCOREENVIRONMENT \u6765\u51b3\u5b9a\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\uff0c \u6bd4\u5982 ASPNETCOREENVIRONMENT \u8bbe\u7f6e\u4e3a MySQL \uff0c \u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u5c31\u662f appsettings.MySQL.json \u6587\u4ef6\uff0c \u5982\u679cASPNETCORE_ENVIRONMENT \u8bbe\u7f6e\u4e3a Sqlite\uff0c\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u5c31\u662f appsettings.Sqlite.json \u6587\u4ef6\u3002\u4e8e\u6b64\u540c\u65f6\uff0c \u5728VS\u4e2d\u8c03\u8bd5\u65f6 \uff0c \u4e5f\u901a\u8fc7 launchSettings.json \u6587\u4ef6\u9884\u914d\u4e86\u652f\u6301\u7684\u6570\u636e\u5e93 \u73af\u5883\u53d8\u91cf\u548c\u5bf9\u5e94\u7684\u6587\u4ef6 \uff0c \u65b9\u4fbf\u8c03\u8bd5\uff0c \u53ea\u9700\u8981\u5728VS\u4e2d\u9009\u62e9\u8c03\u8bd5\u73af\u5883\u5373\u53ef\u3002","sidebar":"tutorialSidebar"},"tutorial-basics/debug":{"id":"tutorial-basics/debug","title":"\u8c03\u8bd5IoTSharp","description":"\u672c\u6559\u7a0b\u4f7f\u7528rabbit_mongo_influx \u65b9\u5f0f\u8fdb\u884c\u6e90\u7801\u8fd0\u884c","sidebar":"tutorialSidebar"},"tutorial-basics/deploy_by_docker":{"id":"tutorial-basics/deploy_by_docker","title":"\u4f7f\u7528Dcoker\u90e8\u7f72","description":"\u672c\u6559\u7a0b\u4f7f\u7528 RabbitMQ\u4f5c\u4e3a\u6d88\u606f\u4e2d\u95f4\u4ef6\uff0c \u4f7f\u7528MongoDB\u4f5c\u4e3a\u6d88\u606f\u5b58\u50a8\uff0c \u4f7f\u7528InfluxDB \u4f5c\u4e3a\u65f6\u5e8f\u6570\u636e\u5b58\u50a8\uff0c \u4f7f\u7528Postgresql \u4f5c\u4e3a\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3002 ,","sidebar":"tutorialSidebar"},"tutorial-basics/deploy_linux":{"id":"tutorial-basics/deploy_linux","title":"\u5728Linux\u4e2d\u90e8\u7f72IoTSharp","description":"\u672c\u6559\u7a0b\u4f7f\u7528Sqlite \u4e3a\u6570\u636e\u5b58\u50a8 \u65b9\u5f0f\u8fdb\u884c\u90e8\u7f72","sidebar":"tutorialSidebar"},"tutorial-basics/deploy_win":{"id":"tutorial-basics/deploy_win","title":"\u5728Windows\u4e2d\u90e8\u7f72IoTSharp","description":"\u672c\u6559\u7a0b\u4f7f\u7528Sqlite \u4e3a\u6570\u636e\u5b58\u50a8 \u65b9\u5f0f\u8fdb\u884c\u90e8\u7f72","sidebar":"tutorialSidebar"},"tutorial-basics/gateway":{"id":"tutorial-basics/gateway","title":"\u5982\u4f55\u5bf9\u63a5\u7b2c\u4e09\u65b9\u7f51\u5173\uff1f","description":"\u672c\u6559\u7a0b\u4f7f\u7528iotgateway \u8fdb\u884c\u6f14\u793a\u8bbe\u5907\u8f93\u5165\u7684\u63a5\u5165 \uff0c\u6e90\u7801\u5730\u5740 https://github.com/iioter/iotgateway","sidebar":"tutorialSidebar"},"tutorial-basics/influxdb":{"id":"tutorial-basics/influxdb","title":"\u5982\u4f55\u67e5\u8be2\u9065\u6d4b\u6e90\u6570\u636e?","description":"\u9065\u6d4b\u6570\u636e\u5b58\u50a8\u65b9\u5f0f\u6709\u5f88\u591a\u79cd\uff0c \u8fd9\u91cc\u6682\u65f6\u53ea\u4ecb\u7ecd InfluxDB \u7684\u67e5\u8be2\u65b9\u6cd5","sidebar":"tutorialSidebar"},"tutorial-basics/iotsharp":{"id":"tutorial-basics/iotsharp","title":"IoTSharp\u662f\u4ec0\u4e48\uff1f","description":"IoTSharp\u662f\u4e00\u4e2a\u57fa\u4e8e .Net 6.0 \u4f7f\u7528C#\u8bed\u8a00\u7f16\u5199\u7684\u4ee5\u5b9e\u73b0\u53ef\u89c1\u4e0e\u4e0d\u53ef\u89c1\u7684\u7269\u7406\u8bbe\u5907\u6570\u5b57\u5b6a\u751f\u7684\u7269\u8054\u7f51\u5e73\u53f0\uff0c \u4ec0\u4e48\u662f\u6570\u5b57\u5b6a\u751f\uff1f","sidebar":"tutorialSidebar"},"tutorial-basics/sourcecode":{"id":"tutorial-basics/sourcecode","title":"\u5728\u54ea\u91cc\u4e0b\u8f7d\u6e90\u7801\uff1f","description":"\u6839\u636e\u4f60\u7684\u7f51\u7edc\u73af\u5883\uff0c \u53ef\u4ee5\u901a\u8fc7\u591a\u4e2a\u6e20\u9053\u4e0b\u8f7d\u3002","sidebar":"tutorialSidebar"},"tutorial-basics/webapi":{"id":"tutorial-basics/webapi","title":"webapi\u67e5\u8be2\u9065\u6d4b","description":"\u6d4f\u89c8\u5668\u8bbf\u95ee http5000/swagger/index.html","sidebar":"tutorialSidebar"},"tutorial-extras/http":{"id":"tutorial-extras/http","title":"Http\u534f\u8bae","description":"IoTSharp\u652f\u6301Http\u534f\u8bae\u4e0a\u4f20\u9065\u6d4b\u6570\u636e\uff0c \u53ef\u4ee5\u901a\u8fc7\u6807\u51c6\u63a5\u53e3\uff0c \u4e5f\u53ef\u4ee5\u901a\u8fc7\u5728\u5c5e\u6027\u91cc\u8bbe\u7f6e \u6620\u5c04\u65b9\u5f0f \u63a5\u6536\u6570\u636e\uff0c \u4e5f\u53ef\u4ee5\u901a\u8fc7\u89c4\u5219\u94fe\u8fdb\u884c\u89e3\u6790\u6570\u636e\u7136\u540e\u518d\u63a8\u9001\u7684\u6307\u5b9a\u6570\u636e\u3002","sidebar":"tutorialSidebar"},"tutorial-extras/mqtt":{"id":"tutorial-extras/mqtt","title":"MQTT\u534f\u8bae","description":"\u672c\u6587\u7ae0\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7MQTT\u8fdb\u884c\u9065\u6d4b\u548c\u5c5e\u6027\u6570\u636e\u4e0a\u4f20\u4ee5\u53caRPC\u63a7\u5236\u7684\u5b9e\u73b0\u3002","sidebar":"tutorialSidebar"},"tutorial-extras/raw_data_gateway":{"id":"tutorial-extras/raw_data_gateway","title":"\u539f\u751f\u6570\u636e\u63a8\u9001\u7f51\u5173","description":"http \u534f\u8bae","sidebar":"tutorialSidebar"}}}')}}]);
\ No newline at end of file
"use strict";(self.webpackChunkiotsharp=self.webpackChunkiotsharp||[]).push([[53],{1109:function(t){t.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"IoTSharp \u7b80\u4ecb","href":"/docs/intro","docId":"intro"},{"type":"category","label":"\u53c2\u8003\u624b\u518c - \u57fa\u7840","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"IoTSharp\u662f\u4ec0\u4e48\uff1f","href":"/docs/tutorial-basics/iotsharp","docId":"tutorial-basics/iotsharp"},{"type":"link","label":"\u5728\u54ea\u91cc\u4e0b\u8f7d\u6e90\u7801\uff1f","href":"/docs/tutorial-basics/sourcecode","docId":"tutorial-basics/sourcecode"},{"type":"link","label":"\u5982\u4f55\u8c03\u8bd5IoTSharp?","href":"/docs/tutorial-basics/debug","docId":"tutorial-basics/debug"},{"type":"link","label":"\u5982\u4f55\u90e8\u7f72IoTSharp?","href":"/docs/tutorial-basics/deploy","docId":"tutorial-basics/deploy"},{"type":"link","label":"\u5982\u4f55\u914d\u7f6eIoTSharp?","href":"/docs/tutorial-basics/appsettings","docId":"tutorial-basics/appsettings"},{"type":"link","label":"\u5982\u4f55\u5bf9\u63a5\u7b2c\u4e09\u65b9\u7f51\u5173\uff1f","href":"/docs/tutorial-basics/gateway","docId":"tutorial-basics/gateway"},{"type":"link","label":"\u5982\u4f55\u67e5\u8be2\u9065\u6d4b\u6e90\u6570\u636e?","href":"/docs/tutorial-basics/influxdb","docId":"tutorial-basics/influxdb"},{"type":"link","label":"webapi\u67e5\u8be2\u9065\u6d4b","href":"/docs/tutorial-basics/webapi","docId":"tutorial-basics/webapi"},{"type":"link","label":"\u9065\u6d4b\u6570\u636e\u805a\u5408","href":"/docs/tutorial-basics/aggregate","docId":"tutorial-basics/aggregate"}]},{"type":"category","label":"\u53c2\u8003\u624b\u518c - \u9ad8\u7ea7","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"MQTT\u534f\u8bae","href":"/docs/tutorial-extras/mqtt","docId":"tutorial-extras/mqtt"},{"type":"link","label":"Http\u534f\u8bae","href":"/docs/tutorial-extras/http","docId":"tutorial-extras/http"},{"type":"link","label":"\u539f\u751f\u6570\u636e\u63a8\u9001\u7f51\u5173","href":"/docs/tutorial-extras/raw_data_gateway","docId":"tutorial-extras/raw_data_gateway"}]}]},"docs":{"intro":{"id":"intro","title":"IoTSharp \u7b80\u4ecb","description":"\u8ba9\u6211\u4eec\u63a2\u7d22\u4e00\u4e0b IoTSharp \u5728\u4e94\u5206\u949f\u5185.","sidebar":"tutorialSidebar"},"tutorial-basics/aggregate":{"id":"tutorial-basics/aggregate","title":"\u9065\u6d4b\u6570\u636e\u805a\u5408","description":"\u5bf9\u4e8e\u7269\u8054\u7f51\u5e73\u53f0\u6765\u8bf4\uff0c \u805a\u5408\u662f\u975e\u5e38\u91cd\u8981\u7684\u6570\u636e\u67e5\u8be2\u65b9\u5f0f\uff0c IoTSharp\u652f\u6301\u6307\u5b9a\u65f6\u95f4\u6bb5\u3001\u9065\u6d4b\u3001\u805a\u5408\u65ad\u9762\u3001\u805a\u5408\u65b9\u5f0f\u7b49\uff0c IoTSharp\u63d0\u4f9b\u4e86\u7edf\u4e00\u7684\u63a5\u53e3 /api/Devices/id/TelemetryData \u6765\u5b8c\u6210\u8fd9\u4e00\u70b9\u3002","sidebar":"tutorialSidebar"},"tutorial-basics/appsettings":{"id":"tutorial-basics/appsettings","title":"\u5982\u4f55\u914d\u7f6eIoTSharp?","description":"\u672c\u6559\u7a0b\u4e3b\u8981\u8bb2\u8ff0 appsettings \u7684\u914d\u7f6e , \u5927\u5bb6\u53ef\u4ee5\u5728 \u4ee3\u7801\u76ee\u5f55\u6216\u8005\u5b89\u88c5\u6587\u4ef6\u76ee\u5f55\u770b\u5230","sidebar":"tutorialSidebar"},"tutorial-basics/debug":{"id":"tutorial-basics/debug","title":"\u5982\u4f55\u8c03\u8bd5IoTSharp?","description":"\u672c\u6559\u7a0b\u4f7f\u7528rabbit_mongo_influx \u65b9\u5f0f\u8fdb\u884c\u6e90\u7801\u8fd0\u884c","sidebar":"tutorialSidebar"},"tutorial-basics/deploy":{"id":"tutorial-basics/deploy","title":"\u5982\u4f55\u90e8\u7f72IoTSharp?","description":"\u672c\u6559\u7a0b\u4f7f\u7528rabbit_mongo_influx \u65b9\u5f0f\u8fdb\u884c\u90e8\u7f72","sidebar":"tutorialSidebar"},"tutorial-basics/gateway":{"id":"tutorial-basics/gateway","title":"\u5982\u4f55\u5bf9\u63a5\u7b2c\u4e09\u65b9\u7f51\u5173\uff1f","description":"\u672c\u6559\u7a0b\u4f7f\u7528iotgateway \u8fdb\u884c\u6f14\u793a\u8bbe\u5907\u8f93\u5165\u7684\u63a5\u5165 \uff0c\u6e90\u7801\u5730\u5740 https://github.com/iioter/iotgateway","sidebar":"tutorialSidebar"},"tutorial-basics/influxdb":{"id":"tutorial-basics/influxdb","title":"\u5982\u4f55\u67e5\u8be2\u9065\u6d4b\u6e90\u6570\u636e?","description":"\u9065\u6d4b\u6570\u636e\u5b58\u50a8\u65b9\u5f0f\u6709\u5f88\u591a\u79cd\uff0c \u8fd9\u91cc\u6682\u65f6\u53ea\u4ecb\u7ecd InfluxDB \u7684\u67e5\u8be2\u65b9\u6cd5","sidebar":"tutorialSidebar"},"tutorial-basics/iotsharp":{"id":"tutorial-basics/iotsharp","title":"IoTSharp\u662f\u4ec0\u4e48\uff1f","description":"IoTSharp\u662f\u4e00\u4e2a\u57fa\u4e8e .Net 6.0 \u4f7f\u7528C#\u8bed\u8a00\u7f16\u5199\u7684\u4ee5\u5b9e\u73b0\u53ef\u89c1\u4e0e\u4e0d\u53ef\u89c1\u7684\u7269\u7406\u8bbe\u5907\u6570\u5b57\u5b6a\u751f\u7684\u7269\u8054\u7f51\u5e73\u53f0\uff0c \u4ec0\u4e48\u662f\u6570\u5b57\u5b6a\u751f\uff1f","sidebar":"tutorialSidebar"},"tutorial-basics/sourcecode":{"id":"tutorial-basics/sourcecode","title":"\u5728\u54ea\u91cc\u4e0b\u8f7d\u6e90\u7801\uff1f","description":"\u6839\u636e\u4f60\u7684\u7f51\u7edc\u73af\u5883\uff0c \u53ef\u4ee5\u901a\u8fc7\u591a\u4e2a\u6e20\u9053\u4e0b\u8f7d\u3002","sidebar":"tutorialSidebar"},"tutorial-basics/webapi":{"id":"tutorial-basics/webapi","title":"webapi\u67e5\u8be2\u9065\u6d4b","description":"\u6d4f\u89c8\u5668\u8bbf\u95ee http5000/swagger/index.html","sidebar":"tutorialSidebar"},"tutorial-extras/http":{"id":"tutorial-extras/http","title":"Http\u534f\u8bae","description":"IoTSharp\u652f\u6301Http\u534f\u8bae\u4e0a\u4f20\u9065\u6d4b\u6570\u636e\uff0c \u53ef\u4ee5\u901a\u8fc7\u6807\u51c6\u63a5\u53e3\uff0c \u4e5f\u53ef\u4ee5\u901a\u8fc7\u5728\u5c5e\u6027\u91cc\u8bbe\u7f6e \u6620\u5c04\u65b9\u5f0f \u63a5\u6536\u6570\u636e\uff0c \u4e5f\u53ef\u4ee5\u901a\u8fc7\u89c4\u5219\u94fe\u8fdb\u884c\u89e3\u6790\u6570\u636e\u7136\u540e\u518d\u63a8\u9001\u7684\u6307\u5b9a\u6570\u636e\u3002","sidebar":"tutorialSidebar"},"tutorial-extras/mqtt":{"id":"tutorial-extras/mqtt","title":"MQTT\u534f\u8bae","description":"\u672c\u6587\u7ae0\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7MQTT\u8fdb\u884c\u9065\u6d4b\u548c\u5c5e\u6027\u6570\u636e\u4e0a\u4f20\u4ee5\u53caRPC\u63a7\u5236\u7684\u5b9e\u73b0\u3002","sidebar":"tutorialSidebar"},"tutorial-extras/raw_data_gateway":{"id":"tutorial-extras/raw_data_gateway","title":"\u539f\u751f\u6570\u636e\u63a8\u9001\u7f51\u5173","description":"http \u534f\u8bae","sidebar":"tutorialSidebar"}}}')}}]);
\ No newline at end of file
"use strict";(self.webpackChunkiotsharp=self.webpackChunkiotsharp||[]).push([[569],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var u=n.createContext({}),l=function(e){var t=n.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(u.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,u=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),f=l(r),d=o,m=f["".concat(u,".").concat(d)]||f[d]||s[d]||i;return r?n.createElement(m,a(a({ref:t},p),{},{components:r})):n.createElement(m,a({ref:t},p))}));function d(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=f;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:o,a[1]=c;for(var l=2;l<i;l++)a[l]=r[l];return n.createElement.apply(null,a)}return n.createElement.apply(null,r)}f.displayName="MDXCreateElement"},4024:function(e,t,r){r.r(t),r.d(t,{assets:function(){return p},contentTitle:function(){return u},default:function(){return d},frontMatter:function(){return c},metadata:function(){return l},toc:function(){return s}});var n=r(3117),o=r(102),i=(r(7294),r(3905)),a=["components"],c={sidebar_position:2},u="\u5728\u54ea\u91cc\u4e0b\u8f7d\u6e90\u7801\uff1f",l={unversionedId:"tutorial-basics/sourcecode",id:"tutorial-basics/sourcecode",title:"\u5728\u54ea\u91cc\u4e0b\u8f7d\u6e90\u7801\uff1f",description:"\u6839\u636e\u4f60\u7684\u7f51\u7edc\u73af\u5883\uff0c \u53ef\u4ee5\u901a\u8fc7\u591a\u4e2a\u6e20\u9053\u4e0b\u8f7d\u3002",source:"@site/docs/tutorial-basics/sourcecode.md",sourceDirName:"tutorial-basics",slug:"/tutorial-basics/sourcecode",permalink:"/docs/tutorial-basics/sourcecode",editUrl:"https://github.com/IoTSharp/IoTSharp/edit/master/docs/docs/tutorial-basics/sourcecode.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"IoTSharp\u662f\u4ec0\u4e48\uff1f",permalink:"/docs/tutorial-basics/iotsharp"},next:{title:"\u5982\u4f55\u8c03\u8bd5IoTSharp?",permalink:"/docs/tutorial-basics/debug"}},p={},s=[{value:"\u4f7f\u7528Git\u62c9\u53d6\u6e90\u7801",id:"\u4f7f\u7528git\u62c9\u53d6\u6e90\u7801",level:2}],f={toc:s};function d(e){var t=e.components,r=(0,o.Z)(e,a);return(0,i.kt)("wrapper",(0,n.Z)({},f,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"\u5728\u54ea\u91cc\u4e0b\u8f7d\u6e90\u7801"},"\u5728\u54ea\u91cc\u4e0b\u8f7d\u6e90\u7801\uff1f"),(0,i.kt)("p",null,"\u6839\u636e\u4f60\u7684\u7f51\u7edc\u73af\u5883\uff0c \u53ef\u4ee5\u901a\u8fc7\u591a\u4e2a\u6e20\u9053\u4e0b\u8f7d\u3002 "),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/IoTSharp/IoTSharp"},"GitHub")," "),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://gitee.com/IoTSharp/IoTSharp"},"Gitee"))),(0,i.kt)("h2",{id:"\u4f7f\u7528git\u62c9\u53d6\u6e90\u7801"},"\u4f7f\u7528Git\u62c9\u53d6\u6e90\u7801"),(0,i.kt)("p",null,"Git \u514b\u9686"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git clone https://github.com/IoTSharp/IoTSharp.git\n")),(0,i.kt)("p",null,"\u53e6\u5916\uff0c \u4e5f\u53ef\u4ee5\u5728GitHub\u6216\u8005Gitee\u4e0a\u4e0b\u8f7dZIP\u83b7\u53d6\u6e90\u4ee3\u7801\u3002"))}d.isMDXComponent=!0}}]);
\ No newline at end of file
"use strict";(self.webpackChunkiotsharp=self.webpackChunkiotsharp||[]).push([[569],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var u=n.createContext({}),l=function(e){var t=n.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(u.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,u=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),f=l(r),d=o,m=f["".concat(u,".").concat(d)]||f[d]||s[d]||i;return r?n.createElement(m,a(a({ref:t},p),{},{components:r})):n.createElement(m,a({ref:t},p))}));function d(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=f;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:o,a[1]=c;for(var l=2;l<i;l++)a[l]=r[l];return n.createElement.apply(null,a)}return n.createElement.apply(null,r)}f.displayName="MDXCreateElement"},4024:function(e,t,r){r.r(t),r.d(t,{assets:function(){return p},contentTitle:function(){return u},default:function(){return d},frontMatter:function(){return c},metadata:function(){return l},toc:function(){return s}});var n=r(3117),o=r(102),i=(r(7294),r(3905)),a=["components"],c={sidebar_position:2},u="\u5728\u54ea\u91cc\u4e0b\u8f7d\u6e90\u7801\uff1f",l={unversionedId:"tutorial-basics/sourcecode",id:"tutorial-basics/sourcecode",title:"\u5728\u54ea\u91cc\u4e0b\u8f7d\u6e90\u7801\uff1f",description:"\u6839\u636e\u4f60\u7684\u7f51\u7edc\u73af\u5883\uff0c \u53ef\u4ee5\u901a\u8fc7\u591a\u4e2a\u6e20\u9053\u4e0b\u8f7d\u3002",source:"@site/docs/tutorial-basics/sourcecode.md",sourceDirName:"tutorial-basics",slug:"/tutorial-basics/sourcecode",permalink:"/docs/tutorial-basics/sourcecode",editUrl:"https://github.com/IoTSharp/IoTSharp/edit/master/docs/docs/tutorial-basics/sourcecode.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"IoTSharp\u662f\u4ec0\u4e48\uff1f",permalink:"/docs/tutorial-basics/iotsharp"},next:{title:"\u8c03\u8bd5IoTSharp",permalink:"/docs/tutorial-basics/debug"}},p={},s=[{value:"\u4f7f\u7528Git\u62c9\u53d6\u6e90\u7801",id:"\u4f7f\u7528git\u62c9\u53d6\u6e90\u7801",level:2}],f={toc:s};function d(e){var t=e.components,r=(0,o.Z)(e,a);return(0,i.kt)("wrapper",(0,n.Z)({},f,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"\u5728\u54ea\u91cc\u4e0b\u8f7d\u6e90\u7801"},"\u5728\u54ea\u91cc\u4e0b\u8f7d\u6e90\u7801\uff1f"),(0,i.kt)("p",null,"\u6839\u636e\u4f60\u7684\u7f51\u7edc\u73af\u5883\uff0c \u53ef\u4ee5\u901a\u8fc7\u591a\u4e2a\u6e20\u9053\u4e0b\u8f7d\u3002 "),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/IoTSharp/IoTSharp"},"GitHub")," "),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://gitee.com/IoTSharp/IoTSharp"},"Gitee"))),(0,i.kt)("h2",{id:"\u4f7f\u7528git\u62c9\u53d6\u6e90\u7801"},"\u4f7f\u7528Git\u62c9\u53d6\u6e90\u7801"),(0,i.kt)("p",null,"Git \u514b\u9686"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git clone https://github.com/IoTSharp/IoTSharp.git\n")),(0,i.kt)("p",null,"\u53e6\u5916\uff0c \u4e5f\u53ef\u4ee5\u5728GitHub\u6216\u8005Gitee\u4e0a\u4e0b\u8f7dZIP\u83b7\u53d6\u6e90\u4ee3\u7801\u3002"))}d.isMDXComponent=!0}}]);
\ No newline at end of file
"use strict";(self.webpackChunkiotsharp=self.webpackChunkiotsharp||[]).push([[362],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var p=r.createContext({}),s=function(e){var t=r.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},c=function(e){var t=s(e.components);return r.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,p=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=s(n),m=o,f=d["".concat(p,".").concat(m)]||d[m]||u[m]||a;return n?r.createElement(f,i(i({ref:t},c),{},{components:n})):r.createElement(f,i({ref:t},c))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=d;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l.mdxType="string"==typeof e?e:o,i[1]=l;for(var s=2;s<a;s++)i[s]=n[s];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}d.displayName="MDXCreateElement"},8248:function(e,t,n){n.r(t),n.d(t,{assets:function(){return c},contentTitle:function(){return p},default:function(){return m},frontMatter:function(){return l},metadata:function(){return s},toc:function(){return u}});var r=n(3117),o=n(102),a=(n(7294),n(3905)),i=["components"],l={sidebar_position:4},p="\u5982\u4f55\u90e8\u7f72IoTSharp?",s={unversionedId:"tutorial-basics/deploy",id:"tutorial-basics/deploy",title:"\u5982\u4f55\u90e8\u7f72IoTSharp?",description:"\u672c\u6559\u7a0b\u4f7f\u7528rabbit_mongo_influx \u65b9\u5f0f\u8fdb\u884c\u90e8\u7f72",source:"@site/docs/tutorial-basics/deploy.md",sourceDirName:"tutorial-basics",slug:"/tutorial-basics/deploy",permalink:"/docs/tutorial-basics/deploy",editUrl:"https://github.com/IoTSharp/IoTSharp/edit/master/docs/docs/tutorial-basics/deploy.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"\u5982\u4f55\u8c03\u8bd5IoTSharp?",permalink:"/docs/tutorial-basics/debug"},next:{title:"\u5982\u4f55\u914d\u7f6eIoTSharp?",permalink:"/docs/tutorial-basics/appsettings"}},c={},u=[{value:"\u4fee\u6539docker-compose.yml\u6587\u4ef6",id:"\u4fee\u6539docker-composeyml\u6587\u4ef6",level:2},{value:"\u542f\u52a8\u5bb9\u5668",id:"\u542f\u52a8\u5bb9\u5668",level:2},{value:"\u521d\u59cb\u5316influxdb",id:"\u521d\u59cb\u5316influxdb",level:2},{value:"\u521b\u5efatoken",id:"\u521b\u5efatoken",level:2},{value:"\u590d\u5236token",id:"\u590d\u5236token",level:2},{value:"\u4fee\u6539\u914d\u7f6e\u6587\u4ef6",id:"\u4fee\u6539\u914d\u7f6e\u6587\u4ef6",level:2},{value:"\u91cd\u542fIoTSharp\u5bb9\u5668",id:"\u91cd\u542fiotsharp\u5bb9\u5668",level:2},{value:"\u6ce8\u518c",id:"\u6ce8\u518c",level:2},{value:"\u8bbf\u95ee",id:"\u8bbf\u95ee",level:2}],d={toc:u};function m(e){var t=e.components,l=(0,o.Z)(e,i);return(0,a.kt)("wrapper",(0,r.Z)({},d,l,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"\u5982\u4f55\u90e8\u7f72iotsharp"},"\u5982\u4f55\u90e8\u7f72IoTSharp?"),(0,a.kt)("p",null,"\u672c\u6559\u7a0b\u4f7f\u7528",(0,a.kt)("strong",{parentName:"p"},"rabbit_mongo_influx")," \u65b9\u5f0f\u8fdb\u884c\u90e8\u7f72"),(0,a.kt)("h2",{id:"\u4fee\u6539docker-composeyml\u6587\u4ef6"},"\u4fee\u6539docker-compose.yml\u6587\u4ef6"),(0,a.kt)("div",{className:"admonition admonition-danger alert alert--danger"},(0,a.kt)("div",{parentName:"div",className:"admonition-heading"},(0,a.kt)("h5",{parentName:"div"},(0,a.kt)("span",{parentName:"h5",className:"admonition-icon"},(0,a.kt)("svg",{parentName:"span",xmlns:"http://www.w3.org/2000/svg",width:"12",height:"16",viewBox:"0 0 12 16"},(0,a.kt)("path",{parentName:"svg",fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"}))),"\u6ce8\u610f")),(0,a.kt)("div",{parentName:"div",className:"admonition-content"},(0,a.kt)("p",{parentName:"div"},(0,a.kt)("inlineCode",{parentName:"p"},"influxdb_cli"),"\u5bb9\u5668\u7684\u76f8\u5173\u914d\u7f6e\uff0c\u901a\u8fc7\u6b64\u547d\u4ee4\u884c\u5bb9\u5668\uff0c\u521d\u59cb\u5316influxdb, \u521d\u59cb\u5316\u4e4b\u524d\u9700\u8981\u63d0\u524d\u8bbe\u7f6e\u597dtoken\u7b49\uff0c\u5982\u679c\u81ea\u5df1\u81ea\u884c\u914d\u7f6e\uff0c \u5219\u76f4\u63a5\u5220\u9664\u6b64\u914d\u7f6e\u5373\u53ef\u3002 "))),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-yml",metastring:'title="/IoTSharp/Deployments/rabbit_mongo_influx/docker-compose.yml"',title:'"/IoTSharp/Deployments/rabbit_mongo_influx/docker-compose.yml"'},"influxdb_cli:\n links:\n - influx\n image: quay.io/influxdb/influxdb:v2.0.4\n entrypoint: influx setup --bucket iotsharp-bucket -t iotsharp-token -o iotsharp --username=root --password=1-q2-w3-e4-r5-t --host=http://influx:8086 -f\n restart: on-failure:20\n depends_on:\n - influx\n")),(0,a.kt)("h2",{id:"\u542f\u52a8\u5bb9\u5668"},"\u542f\u52a8\u5bb9\u5668"),(0,a.kt)("p",null,"\u8fdb\u5165",(0,a.kt)("inlineCode",{parentName:"p"},"/IoTSharp/Deployments/rabbit_mongo_influx"),"\uff0c\u6267\u884c"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-bash",metastring:"docker-compose","docker-compose":!0},"docker-compose up -d\n")),(0,a.kt)("p",null,"\u770b\u5230\u4e0b\u56fe\u8bf4\u660e\u8fd0\u884c\u6210\u529f\n",(0,a.kt)("img",{alt:"docker-compose\u542f\u52a8\u6210\u529f",src:n(6451).Z,width:"1171",height:"558"})),(0,a.kt)("h2",{id:"\u521d\u59cb\u5316influxdb"},"\u521d\u59cb\u5316influxdb"),(0,a.kt)("p",null,"\u6d4f\u89c8\u5668\u8bbf\u95ee ",(0,a.kt)("inlineCode",{parentName:"p"},"http://localhost:8086/"),"\uff0c\u521d\u59cb\u5316influxdb"),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"\u521d\u59cb\u5316influxdb",src:n(8662).Z,width:"1291",height:"604"})),(0,a.kt)("p",null,"Org: ",(0,a.kt)("inlineCode",{parentName:"p"},"iotsharp")," Bucket: ",(0,a.kt)("inlineCode",{parentName:"p"},"iotsharp-bucket")),(0,a.kt)("p",null,"\u7136\u540e\u70b9",(0,a.kt)("inlineCode",{parentName:"p"},"Config Later")),(0,a.kt)("h2",{id:"\u521b\u5efatoken"},"\u521b\u5efatoken"),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"\u6dfb\u52a0token",src:n(6592).Z,width:"1079",height:"437"})),(0,a.kt)("h2",{id:"\u590d\u5236token"},"\u590d\u5236token"),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"\u590d\u5236token",src:n(470).Z,width:"1083",height:"312"})),(0,a.kt)("h2",{id:"\u4fee\u6539\u914d\u7f6e\u6587\u4ef6"},"\u4fee\u6539\u914d\u7f6e\u6587\u4ef6"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-yml",metastring:'title="/IoTSharp/Deployments/rabbit_mongo_influx/appsettings.Production.json"',title:'"/IoTSharp/Deployments/rabbit_mongo_influx/appsettings.Production.json"'},'"TelemetryStorage":"http://influx:8086/?org=iotsharp&bucket=iotsharp-bucket&token=iotsharp-token&&latest=-72h",\n')),(0,a.kt)("p",null,"\u5c06",(0,a.kt)("strong",{parentName:"p"},"iotsharp-token"),"\u4fee\u6539\u4e3a\u4f60\u7684\u771f\u5b9etoken"),(0,a.kt)("h2",{id:"\u91cd\u542fiotsharp\u5bb9\u5668"},"\u91cd\u542fIoTSharp\u5bb9\u5668"),(0,a.kt)("p",null,"\u547d\u4ee4\u884c\u6267\u884c"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-bash",metastring:"docker",docker:!0},"docker restart iotsharp\n")),(0,a.kt)("h2",{id:"\u6ce8\u518c"},"\u6ce8\u518c"),(0,a.kt)("p",null,"Chrome\u6d4f\u89c8\u5668\u8bbf\u95ee ",(0,a.kt)("inlineCode",{parentName:"p"},"http://localhost:2927/")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"\u6ce8\u518c",src:n(4652).Z,width:"888",height:"840"})),(0,a.kt)("h2",{id:"\u8bbf\u95ee"},"\u8bbf\u95ee"),(0,a.kt)("p",null,"\u6ce8\u518c\u540e\u767b\u5165\u8fdb\u5165\u9996\u9875\n",(0,a.kt)("img",{alt:"\u8bbf\u95ee",src:n(1011).Z,width:"1902",height:"831"})))}m.isMDXComponent=!0},6451:function(e,t,n){t.Z=n.p+"assets/images/docker-run-c20ca39c51c22608c43d3b09582fe0c7.png"},6592:function(e,t,n){t.Z=n.p+"assets/images/influxdb-addtoken-62f709caed7b05efb34b7a594bbf7553.png"},470:function(e,t,n){t.Z=n.p+"assets/images/influxdb-copytoken-26d6d86655d06f0fb58df153ed94d5b2.png"},8662:function(e,t,n){t.Z=n.p+"assets/images/influxdb-ini-7072f2ff25a7329f70411e1f3979315d.png"},1011:function(e,t,n){t.Z=n.p+"assets/images/iotsharp-dashboard-e2f47226cba57d08531957d496c86b97.png"},4652:function(e,t,n){t.Z=n.p+"assets/images/iotsharp-regeist-aab9025fdcae4e6347e17a575cfcac26.png"}}]);
\ No newline at end of file
"use strict";(self.webpackChunkiotsharp=self.webpackChunkiotsharp||[]).push([[113],{3905:function(t,e,r){r.d(e,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function i(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function o(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?i(Object(r),!0).forEach((function(e){a(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function c(t,e){if(null==t)return{};var r,n,a=function(t,e){if(null==t)return{};var r,n,a={},i=Object.keys(t);for(n=0;n<i.length;n++)r=i[n],e.indexOf(r)>=0||(a[r]=t[r]);return a}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n<i.length;n++)r=i[n],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(a[r]=t[r])}return a}var s=n.createContext({}),p=function(t){var e=n.useContext(s),r=e;return t&&(r="function"==typeof t?t(e):o(o({},e),t)),r},l=function(t){var e=p(t.components);return n.createElement(s.Provider,{value:e},t.children)},u={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},f=n.forwardRef((function(t,e){var r=t.components,a=t.mdxType,i=t.originalType,s=t.parentName,l=c(t,["components","mdxType","originalType","parentName"]),f=p(r),d=a,g=f["".concat(s,".").concat(d)]||f[d]||u[d]||i;return r?n.createElement(g,o(o({ref:e},l),{},{components:r})):n.createElement(g,o({ref:e},l))}));function d(t,e){var r=arguments,a=e&&e.mdxType;if("string"==typeof t||a){var i=r.length,o=new Array(i);o[0]=f;var c={};for(var s in e)hasOwnProperty.call(e,s)&&(c[s]=e[s]);c.originalType=t,c.mdxType="string"==typeof t?t:a,o[1]=c;for(var p=2;p<i;p++)o[p]=r[p];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}f.displayName="MDXCreateElement"},2089:function(t,e,r){r.r(e),r.d(e,{assets:function(){return l},contentTitle:function(){return s},default:function(){return d},frontMatter:function(){return c},metadata:function(){return p},toc:function(){return u}});var n=r(3117),a=r(102),i=(r(7294),r(3905)),o=["components"],c={sidebar_position:5},s="\u5982\u4f55\u5bf9\u63a5\u7b2c\u4e09\u65b9\u7f51\u5173\uff1f",p={unversionedId:"tutorial-basics/gateway",id:"tutorial-basics/gateway",title:"\u5982\u4f55\u5bf9\u63a5\u7b2c\u4e09\u65b9\u7f51\u5173\uff1f",description:"\u672c\u6559\u7a0b\u4f7f\u7528iotgateway \u8fdb\u884c\u6f14\u793a\u8bbe\u5907\u8f93\u5165\u7684\u63a5\u5165 \uff0c\u6e90\u7801\u5730\u5740 https://github.com/iioter/iotgateway",source:"@site/docs/tutorial-basics/gateway.md",sourceDirName:"tutorial-basics",slug:"/tutorial-basics/gateway",permalink:"/docs/tutorial-basics/gateway",editUrl:"https://github.com/IoTSharp/IoTSharp/edit/master/docs/docs/tutorial-basics/gateway.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"\u5982\u4f55\u914d\u7f6eIoTSharp?",permalink:"/docs/tutorial-basics/appsettings"},next:{title:"\u5982\u4f55\u67e5\u8be2\u9065\u6d4b\u6e90\u6570\u636e?",permalink:"/docs/tutorial-basics/influxdb"}},l={},u=[{value:"\u6dfb\u52a0\u7f51\u5173",id:"\u6dfb\u52a0\u7f51\u5173",level:2},{value:"\u590d\u5236\u7f51\u5173token",id:"\u590d\u5236\u7f51\u5173token",level:2},{value:"\u4fee\u6539\u7f51\u5173\u914d\u7f6e",id:"\u4fee\u6539\u7f51\u5173\u914d\u7f6e",level:2},{value:"\u5237\u65b0iotsharp\u9875\u9762",id:"\u5237\u65b0iotsharp\u9875\u9762",level:2}],f={toc:u};function d(t){var e=t.components,c=(0,a.Z)(t,o);return(0,i.kt)("wrapper",(0,n.Z)({},f,c,{components:e,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"\u5982\u4f55\u5bf9\u63a5\u7b2c\u4e09\u65b9\u7f51\u5173"},"\u5982\u4f55\u5bf9\u63a5\u7b2c\u4e09\u65b9\u7f51\u5173\uff1f"),(0,i.kt)("p",null,"\u672c\u6559\u7a0b\u4f7f\u7528",(0,i.kt)("strong",{parentName:"p"},"iotgateway")," \u8fdb\u884c\u6f14\u793a\u8bbe\u5907\u8f93\u5165\u7684\u63a5\u5165 \uff0c\u6e90\u7801\u5730\u5740 ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/iioter/iotgateway"},"https://github.com/iioter/iotgateway")),(0,i.kt)("h2",{id:"\u6dfb\u52a0\u7f51\u5173"},"\u6dfb\u52a0\u7f51\u5173"),(0,i.kt)("p",null,"\u6ce8\u610f",(0,i.kt)("inlineCode",{parentName:"p"},"\u8bbe\u5907\u7c7b\u578b"),"\u3001",(0,i.kt)("inlineCode",{parentName:"p"},"\u8ba4\u8bc1\u65b9\u5f0f"),"\n",(0,i.kt)("img",{alt:"\u6dfb\u52a0\u7f51\u5173",src:r(9241).Z,width:"1889",height:"620"})),(0,i.kt)("h2",{id:"\u590d\u5236\u7f51\u5173token"},"\u590d\u5236\u7f51\u5173token"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u590d\u5236\u7f51\u5173token",src:r(3991).Z,width:"1892",height:"614"})),(0,i.kt)("h2",{id:"\u4fee\u6539\u7f51\u5173\u914d\u7f6e"},"\u4fee\u6539\u7f51\u5173\u914d\u7f6e"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u4fee\u6539\u7f51\u5173\u914d\u7f6e",src:r(4993).Z,width:"1794",height:"575"})),(0,i.kt)("h2",{id:"\u5237\u65b0iotsharp\u9875\u9762"},"\u5237\u65b0iotsharp\u9875\u9762"),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"IoTSharp"),"\u8bbe\u5907\u5217\u8868\u53ef\u4ee5\u770b\u5230\uff0c\u4e00\u4e2a\u7f51\u51732\u4e2a\u8bbe\u5907\u5747\u5df2\u5728\u7ebf"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u8bbe\u5907\u5728\u7ebf",src:r(9072).Z,width:"1919",height:"723"})))}d.isMDXComponent=!0},9241:function(t,e,r){e.Z=r.p+"assets/images/add-gateway-0ef42e6d3fd265198890c0f86134bc38.png"},4993:function(t,e,r){e.Z=r.p+"assets/images/gateway-config-7bb29f6e2f5dc142b00a3a2bbc1af069.png"},9072:function(t,e,r){e.Z=r.p+"assets/images/gateway-online-40e2c13f01a817a750fc9b1f30ae4fd9.png"},3991:function(t,e,r){e.Z=r.p+"assets/images/gateway-token-c11f01d6f84e8fe8d360647f64fe23df.png"}}]);
\ No newline at end of file
"use strict";(self.webpackChunkiotsharp=self.webpackChunkiotsharp||[]).push([[113],{3905:function(t,e,r){r.d(e,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function i(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function o(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?i(Object(r),!0).forEach((function(e){a(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function c(t,e){if(null==t)return{};var r,n,a=function(t,e){if(null==t)return{};var r,n,a={},i=Object.keys(t);for(n=0;n<i.length;n++)r=i[n],e.indexOf(r)>=0||(a[r]=t[r]);return a}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n<i.length;n++)r=i[n],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(a[r]=t[r])}return a}var s=n.createContext({}),p=function(t){var e=n.useContext(s),r=e;return t&&(r="function"==typeof t?t(e):o(o({},e),t)),r},l=function(t){var e=p(t.components);return n.createElement(s.Provider,{value:e},t.children)},u={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},f=n.forwardRef((function(t,e){var r=t.components,a=t.mdxType,i=t.originalType,s=t.parentName,l=c(t,["components","mdxType","originalType","parentName"]),f=p(r),d=a,g=f["".concat(s,".").concat(d)]||f[d]||u[d]||i;return r?n.createElement(g,o(o({ref:e},l),{},{components:r})):n.createElement(g,o({ref:e},l))}));function d(t,e){var r=arguments,a=e&&e.mdxType;if("string"==typeof t||a){var i=r.length,o=new Array(i);o[0]=f;var c={};for(var s in e)hasOwnProperty.call(e,s)&&(c[s]=e[s]);c.originalType=t,c.mdxType="string"==typeof t?t:a,o[1]=c;for(var p=2;p<i;p++)o[p]=r[p];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}f.displayName="MDXCreateElement"},2089:function(t,e,r){r.r(e),r.d(e,{assets:function(){return l},contentTitle:function(){return s},default:function(){return d},frontMatter:function(){return c},metadata:function(){return p},toc:function(){return u}});var n=r(3117),a=r(102),i=(r(7294),r(3905)),o=["components"],c={sidebar_position:5},s="\u5982\u4f55\u5bf9\u63a5\u7b2c\u4e09\u65b9\u7f51\u5173\uff1f",p={unversionedId:"tutorial-basics/gateway",id:"tutorial-basics/gateway",title:"\u5982\u4f55\u5bf9\u63a5\u7b2c\u4e09\u65b9\u7f51\u5173\uff1f",description:"\u672c\u6559\u7a0b\u4f7f\u7528iotgateway \u8fdb\u884c\u6f14\u793a\u8bbe\u5907\u8f93\u5165\u7684\u63a5\u5165 \uff0c\u6e90\u7801\u5730\u5740 https://github.com/iioter/iotgateway",source:"@site/docs/tutorial-basics/gateway.md",sourceDirName:"tutorial-basics",slug:"/tutorial-basics/gateway",permalink:"/docs/tutorial-basics/gateway",editUrl:"https://github.com/IoTSharp/IoTSharp/edit/master/docs/docs/tutorial-basics/gateway.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"\u914d\u7f6eIoTSharp",permalink:"/docs/tutorial-basics/appsettings"},next:{title:"\u5982\u4f55\u67e5\u8be2\u9065\u6d4b\u6e90\u6570\u636e?",permalink:"/docs/tutorial-basics/influxdb"}},l={},u=[{value:"\u6dfb\u52a0\u7f51\u5173",id:"\u6dfb\u52a0\u7f51\u5173",level:2},{value:"\u590d\u5236\u7f51\u5173token",id:"\u590d\u5236\u7f51\u5173token",level:2},{value:"\u4fee\u6539\u7f51\u5173\u914d\u7f6e",id:"\u4fee\u6539\u7f51\u5173\u914d\u7f6e",level:2},{value:"\u5237\u65b0iotsharp\u9875\u9762",id:"\u5237\u65b0iotsharp\u9875\u9762",level:2}],f={toc:u};function d(t){var e=t.components,c=(0,a.Z)(t,o);return(0,i.kt)("wrapper",(0,n.Z)({},f,c,{components:e,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"\u5982\u4f55\u5bf9\u63a5\u7b2c\u4e09\u65b9\u7f51\u5173"},"\u5982\u4f55\u5bf9\u63a5\u7b2c\u4e09\u65b9\u7f51\u5173\uff1f"),(0,i.kt)("p",null,"\u672c\u6559\u7a0b\u4f7f\u7528",(0,i.kt)("strong",{parentName:"p"},"iotgateway")," \u8fdb\u884c\u6f14\u793a\u8bbe\u5907\u8f93\u5165\u7684\u63a5\u5165 \uff0c\u6e90\u7801\u5730\u5740 ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/iioter/iotgateway"},"https://github.com/iioter/iotgateway")),(0,i.kt)("h2",{id:"\u6dfb\u52a0\u7f51\u5173"},"\u6dfb\u52a0\u7f51\u5173"),(0,i.kt)("p",null,"\u6ce8\u610f",(0,i.kt)("inlineCode",{parentName:"p"},"\u8bbe\u5907\u7c7b\u578b"),"\u3001",(0,i.kt)("inlineCode",{parentName:"p"},"\u8ba4\u8bc1\u65b9\u5f0f"),"\n",(0,i.kt)("img",{alt:"\u6dfb\u52a0\u7f51\u5173",src:r(9241).Z,width:"1889",height:"620"})),(0,i.kt)("h2",{id:"\u590d\u5236\u7f51\u5173token"},"\u590d\u5236\u7f51\u5173token"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u590d\u5236\u7f51\u5173token",src:r(3991).Z,width:"1892",height:"614"})),(0,i.kt)("h2",{id:"\u4fee\u6539\u7f51\u5173\u914d\u7f6e"},"\u4fee\u6539\u7f51\u5173\u914d\u7f6e"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u4fee\u6539\u7f51\u5173\u914d\u7f6e",src:r(4993).Z,width:"1794",height:"575"})),(0,i.kt)("h2",{id:"\u5237\u65b0iotsharp\u9875\u9762"},"\u5237\u65b0iotsharp\u9875\u9762"),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"IoTSharp"),"\u8bbe\u5907\u5217\u8868\u53ef\u4ee5\u770b\u5230\uff0c\u4e00\u4e2a\u7f51\u51732\u4e2a\u8bbe\u5907\u5747\u5df2\u5728\u7ebf"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u8bbe\u5907\u5728\u7ebf",src:r(9072).Z,width:"1919",height:"723"})))}d.isMDXComponent=!0},9241:function(t,e,r){e.Z=r.p+"assets/images/add-gateway-0ef42e6d3fd265198890c0f86134bc38.png"},4993:function(t,e,r){e.Z=r.p+"assets/images/gateway-config-7bb29f6e2f5dc142b00a3a2bbc1af069.png"},9072:function(t,e,r){e.Z=r.p+"assets/images/gateway-online-40e2c13f01a817a750fc9b1f30ae4fd9.png"},3991:function(t,e,r){e.Z=r.p+"assets/images/gateway-token-c11f01d6f84e8fe8d360647f64fe23df.png"}}]);
\ No newline at end of file
"use strict";(self.webpackChunkiotsharp=self.webpackChunkiotsharp||[]).push([[598],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return d}});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),s=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},c=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),h=s(r),d=a,m=h["".concat(l,".").concat(d)]||h[d]||u[d]||o;return r?n.createElement(m,i(i({ref:t},c),{},{components:r})):n.createElement(m,i({ref:t},c))}));function d(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=h;var p={};for(var l in t)hasOwnProperty.call(t,l)&&(p[l]=t[l]);p.originalType=e,p.mdxType="string"==typeof e?e:a,i[1]=p;for(var s=2;s<o;s++)i[s]=r[s];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}h.displayName="MDXCreateElement"},5470:function(e,t,r){r.r(t),r.d(t,{assets:function(){return c},contentTitle:function(){return l},default:function(){return d},frontMatter:function(){return p},metadata:function(){return s},toc:function(){return u}});var n=r(3117),a=r(102),o=(r(7294),r(3905)),i=["components"],p={sidebar_position:4},l="\u5728Linux\u4e2d\u90e8\u7f72IoTSharp",s={unversionedId:"tutorial-basics/deploy_linux",id:"tutorial-basics/deploy_linux",title:"\u5728Linux\u4e2d\u90e8\u7f72IoTSharp",description:"\u672c\u6559\u7a0b\u4f7f\u7528Sqlite \u4e3a\u6570\u636e\u5b58\u50a8 \u65b9\u5f0f\u8fdb\u884c\u90e8\u7f72",source:"@site/docs/tutorial-basics/deploy_linux.md",sourceDirName:"tutorial-basics",slug:"/tutorial-basics/deploy_linux",permalink:"/docs/tutorial-basics/deploy_linux",editUrl:"https://github.com/IoTSharp/IoTSharp/edit/master/docs/docs/tutorial-basics/deploy_linux.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"\u4f7f\u7528Dcoker\u90e8\u7f72",permalink:"/docs/tutorial-basics/deploy_by_docker"},next:{title:"\u5728Windows\u4e2d\u90e8\u7f72IoTSharp",permalink:"/docs/tutorial-basics/deploy_win"}},c={},u=[{value:"\u6ce8\u518c",id:"\u6ce8\u518c",level:2},{value:"\u8bbf\u95ee",id:"\u8bbf\u95ee",level:2}],h={toc:u};function d(e){var t=e.components,p=(0,a.Z)(e,i);return(0,o.kt)("wrapper",(0,n.Z)({},h,p,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"\u5728linux\u4e2d\u90e8\u7f72iotsharp"},"\u5728Linux\u4e2d\u90e8\u7f72IoTSharp"),(0,o.kt)("p",null,"\u672c\u6559\u7a0b\u4f7f\u7528Sqlite \u4e3a\u6570\u636e\u5b58\u50a8 \u65b9\u5f0f\u8fdb\u884c\u90e8\u7f72"),(0,o.kt)("h1",{id:"\u4e0b\u8f7d"},"\u4e0b\u8f7d"),(0,o.kt)("p",null,"\u9996\u5148\u5728 ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/IoTSharp/IoTSharp/releases"},"https://github.com/IoTSharp/IoTSharp/releases")," \u6216\u8005 ",(0,o.kt)("a",{parentName:"p",href:"https://gitee.com/IoTSharp/IoTSharp/releases"},"https://gitee.com/IoTSharp/IoTSharp/releases")," \u4e2d\u4e0b\u8f7d\u6700\u65b0\u7248\u672c\u7684\u5b89\u88c5\u5305\uff0c \u5e38\u7528\u7cfb\u7edf\u4e2d\u538b\u7f29\u5305\u9009\u62e9 ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/IoTSharp/IoTSharp/releases/download/v2.8/IoTSharp.Release.linux-x64.zip"},"IoTSharp.Release.linux-x64.zip")," , \u5982\u679c\u662f\u6811\u8393\u6d3e\u7248\u672c\u5219\u4e0b\u8f7d ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/IoTSharp/IoTSharp/releases/download/v2.8/IoTSharp.Release.linux-arm64.zip"},"IoTSharp.Release.linux-arm64.zip")," \u81f3\u672c\u5730\u3002 "),(0,o.kt)("h1",{id:"\u76f4\u63a5\u542f\u52a8"},"\u76f4\u63a5\u542f\u52a8"),(0,o.kt)("p",null,"\u89e3\u538b\u538b\u7f29\u5305\u540e\uff0c \u6211\u4eec\u53ef\u4ee5\u770b\u5230\u91cc\u9762 \u6709\u4e00\u4e2a IoTSharp \u6587\u4ef6\uff0c \u4f7f\u7528 chmod 777 IoTSharp \uff0c \u7136\u540e \u5728\u547d\u4ee4\u884c\u4f7f\u7528 ./IoTSharp \u5373\u53ef\u3002 \u542f\u52a8\u540e\uff0c \u5373\u53ef\u5728\u6d4f\u89c8\u5668\u4e2d\u6253\u5f00 http://localhost:2927 \u6765\u8bbf\u95ee\u3002 "),(0,o.kt)("h1",{id:"\u6ce8\u518c\u4e3a\u670d\u52a1"},"\u6ce8\u518c\u4e3a\u670d\u52a1"),(0,o.kt)("p",null,"IoTSharp \u5df2\u7ecf\u652f\u6301\u4e86Linux \u670d\u52a1\u7684\u65b9\u5f0f\u8fd0\u884c\uff0c \u6309\u7167\u4e0b\u9762\u7684\u6b65\u9aa4\u53ef\u4ee5\u5c06IoTSharp \u6ce8\u518c\u4e3aLInux daemon "),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"mkdir /var/lib/iotsharp/ # \u521b\u5efa\u8fd0\u884c\u76ee\u5f55 "),(0,o.kt)("li",{parentName:"ul"},"cp ./* /var/lib/iotsharp/ # \u5c06\u6240\u6709\u6587\u4ef6\u62f7\u8d1d\u81f3\u76ee\u6807\u76ee\u5f55"),(0,o.kt)("li",{parentName:"ul"},"chmod 777 /var/lib/iotsharp/IoTSharp # \u8bbe\u7f6eIoTSharp \u7684\u53ef\u6267\u884c\u6743\u9650"),(0,o.kt)("li",{parentName:"ul"},"cp iotsharp.service /etc/systemd/system/iotsharp.service # \u5c06\u670d\u52a1\u6587\u4ef6\u62f7\u8d1d\u81f3\u7cfb\u7edf"),(0,o.kt)("li",{parentName:"ul"},"sudo systemctl enable /etc/systemd/system/iotsharp.service # \u542f\u7528\u670d\u52a1"),(0,o.kt)("li",{parentName:"ul"},"sudo systemctl start iotsharp.service # \u542f\u52a8\u6b64\u670d\u52a1"),(0,o.kt)("li",{parentName:"ul"},"sudo journalctl -fu iotsharp.service # \u67e5\u770b\u8be5\u670d\u52a1\u65e5\u5fd7 ")),(0,o.kt)("h2",{id:"\u6ce8\u518c"},"\u6ce8\u518c"),(0,o.kt)("p",null,"Chrome\u6d4f\u89c8\u5668\u8bbf\u95ee ",(0,o.kt)("inlineCode",{parentName:"p"},"http://localhost:2927/")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"\u6ce8\u518c",src:r(4652).Z,width:"888",height:"840"})),(0,o.kt)("h2",{id:"\u8bbf\u95ee"},"\u8bbf\u95ee"),(0,o.kt)("p",null,"\u6ce8\u518c\u540e\u767b\u5165\u8fdb\u5165\u9996\u9875\n",(0,o.kt)("img",{alt:"\u8bbf\u95ee",src:r(1011).Z,width:"1902",height:"831"})))}d.isMDXComponent=!0},1011:function(e,t,r){t.Z=r.p+"assets/images/iotsharp-dashboard-e2f47226cba57d08531957d496c86b97.png"},4652:function(e,t,r){t.Z=r.p+"assets/images/iotsharp-regeist-aab9025fdcae4e6347e17a575cfcac26.png"}}]);
\ No newline at end of file
此差异已折叠。
此差异已折叠。
!function(){"use strict";var e,t,n,r,f,a={},o={};function c(e){var t=o[e];if(void 0!==t)return t.exports;var n=o[e]={id:e,loaded:!1,exports:{}};return a[e].call(n.exports,n,n.exports,c),n.loaded=!0,n.exports}c.m=a,c.c=o,e=[],c.O=function(t,n,r,f){if(!n){var a=1/0;for(d=0;d<e.length;d++){n=e[d][0],r=e[d][1],f=e[d][2];for(var o=!0,u=0;u<n.length;u++)(!1&f||a>=f)&&Object.keys(c.O).every((function(e){return c.O[e](n[u])}))?n.splice(u--,1):(o=!1,f<a&&(a=f));if(o){e.splice(d--,1);var i=r();void 0!==i&&(t=i)}}return t}f=f||0;for(var d=e.length;d>0&&e[d-1][2]>f;d--)e[d]=e[d-1];e[d]=[n,r,f]},c.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},c.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var f=Object.create(null);c.r(f);var a={};t=t||[null,n({}),n([]),n(n)];for(var o=2&r&&e;"object"==typeof o&&!~t.indexOf(o);o=n(o))Object.getOwnPropertyNames(o).forEach((function(t){a[t]=function(){return e[t]}}));return a.default=function(){return e},c.d(f,a),f},c.d=function(e,t){for(var n in t)c.o(t,n)&&!c.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},c.f={},c.e=function(e){return Promise.all(Object.keys(c.f).reduce((function(t,n){return c.f[n](e,t),t}),[]))},c.u=function(e){return"assets/js/"+({4:"3fc0374d",13:"01a85c17",53:"935f2afb",69:"a1402aa2",85:"1f391b9e",89:"a6aa9e1f",103:"ccc49370",113:"e92b9761",195:"c4f5d8e4",279:"b64b6df2",362:"e7f6a271",414:"393be207",449:"efdf10ba",477:"b2f554cd",514:"1be78505",533:"b2b675dd",535:"814f3328",562:"44b3aa03",569:"c0a3ef7c",571:"12418a3d",592:"4a4400a9",608:"9e4087bc",610:"6875c492",612:"b26f26e7",640:"3477043f",645:"4e4af493",655:"4dd18239",671:"0e384e19",713:"a7023ddc",732:"09a89718",829:"c9b73897",879:"f89a48e8",892:"b2206c24",918:"17896441",934:"7302895b"}[e]||e)+"."+{4:"2f4a5674",13:"528361dc",53:"ac93f8a1",69:"a6ec6182",75:"7727d34c",85:"c76bee88",89:"5dcca70e",103:"d8ea52c3",113:"40174cee",195:"efdaa267",279:"cb9e1224",362:"abc122fa",414:"12b00c24",449:"03ad337c",477:"d2e5b51d",514:"fb32330c",533:"dc8fc196",535:"4c8387f6",562:"470a5443",569:"a921104f",571:"f02bc7a7",592:"43600cbf",608:"17fed9a8",610:"a162ab52",612:"378a3eaa",640:"d01ee47f",645:"89d3dddd",655:"3b81d22b",671:"61896b51",713:"b590ea01",732:"99f0c66a",829:"ec517f75",879:"149294f2",892:"f0846ce0",918:"01b344f4",926:"99aece81",934:"27843ce2"}[e]+".js"},c.miniCssF=function(e){},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},f="iotsharp:",c.l=function(e,t,n,a){if(r[e])r[e].push(t);else{var o,u;if(void 0!==n)for(var i=document.getElementsByTagName("script"),d=0;d<i.length;d++){var b=i[d];if(b.getAttribute("src")==e||b.getAttribute("data-webpack")==f+n){o=b;break}}o||(u=!0,(o=document.createElement("script")).charset="utf-8",o.timeout=120,c.nc&&o.setAttribute("nonce",c.nc),o.setAttribute("data-webpack",f+n),o.src=e),r[e]=[t];var l=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var f=r[e];if(delete r[e],o.parentNode&&o.parentNode.removeChild(o),f&&f.forEach((function(e){return e(n)})),t)return t(n)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),u&&document.head.appendChild(o)}},c.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.p="/",c.gca=function(e){return e={17896441:"918","3fc0374d":"4","01a85c17":"13","935f2afb":"53",a1402aa2:"69","1f391b9e":"85",a6aa9e1f:"89",ccc49370:"103",e92b9761:"113",c4f5d8e4:"195",b64b6df2:"279",e7f6a271:"362","393be207":"414",efdf10ba:"449",b2f554cd:"477","1be78505":"514",b2b675dd:"533","814f3328":"535","44b3aa03":"562",c0a3ef7c:"569","12418a3d":"571","4a4400a9":"592","9e4087bc":"608","6875c492":"610",b26f26e7:"612","3477043f":"640","4e4af493":"645","4dd18239":"655","0e384e19":"671",a7023ddc:"713","09a89718":"732",c9b73897:"829",f89a48e8:"879",b2206c24:"892","7302895b":"934"}[e]||e,c.p+c.u(e)},function(){var e={303:0,532:0};c.f.j=function(t,n){var r=c.o(e,t)?e[t]:void 0;if(0!==r)if(r)n.push(r[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var f=new Promise((function(n,f){r=e[t]=[n,f]}));n.push(r[2]=f);var a=c.p+c.u(t),o=new Error;c.l(a,(function(n){if(c.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var f=n&&("load"===n.type?"missing":n.type),a=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed.\n("+f+": "+a+")",o.name="ChunkLoadError",o.type=f,o.request=a,r[1](o)}}),"chunk-"+t,t)}},c.O.j=function(t){return 0===e[t]};var t=function(t,n){var r,f,a=n[0],o=n[1],u=n[2],i=0;if(a.some((function(t){return 0!==e[t]}))){for(r in o)c.o(o,r)&&(c.m[r]=o[r]);if(u)var d=u(c)}for(t&&t(n);i<a.length;i++)f=a[i],c.o(e,f)&&e[f]&&e[f][0](),e[f]=0;return c.O(d)},n=self.webpackChunkiotsharp=self.webpackChunkiotsharp||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))}()}();
\ No newline at end of file
!function(){"use strict";var e,t,n,r,a,f={},o={};function c(e){var t=o[e];if(void 0!==t)return t.exports;var n=o[e]={id:e,loaded:!1,exports:{}};return f[e].call(n.exports,n,n.exports,c),n.loaded=!0,n.exports}c.m=f,c.c=o,e=[],c.O=function(t,n,r,a){if(!n){var f=1/0;for(b=0;b<e.length;b++){n=e[b][0],r=e[b][1],a=e[b][2];for(var o=!0,u=0;u<n.length;u++)(!1&a||f>=a)&&Object.keys(c.O).every((function(e){return c.O[e](n[u])}))?n.splice(u--,1):(o=!1,a<f&&(f=a));if(o){e.splice(b--,1);var i=r();void 0!==i&&(t=i)}}return t}a=a||0;for(var b=e.length;b>0&&e[b-1][2]>a;b--)e[b]=e[b-1];e[b]=[n,r,a]},c.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},c.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var a=Object.create(null);c.r(a);var f={};t=t||[null,n({}),n([]),n(n)];for(var o=2&r&&e;"object"==typeof o&&!~t.indexOf(o);o=n(o))Object.getOwnPropertyNames(o).forEach((function(t){f[t]=function(){return e[t]}}));return f.default=function(){return e},c.d(a,f),a},c.d=function(e,t){for(var n in t)c.o(t,n)&&!c.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},c.f={},c.e=function(e){return Promise.all(Object.keys(c.f).reduce((function(t,n){return c.f[n](e,t),t}),[]))},c.u=function(e){return"assets/js/"+({4:"3fc0374d",13:"01a85c17",53:"935f2afb",69:"a1402aa2",85:"1f391b9e",89:"a6aa9e1f",103:"ccc49370",113:"e92b9761",195:"c4f5d8e4",279:"b64b6df2",414:"393be207",449:"efdf10ba",477:"b2f554cd",514:"1be78505",533:"b2b675dd",535:"814f3328",562:"44b3aa03",569:"c0a3ef7c",571:"12418a3d",592:"4a4400a9",598:"f3c88a92",608:"9e4087bc",610:"6875c492",612:"b26f26e7",640:"3477043f",645:"4e4af493",655:"4dd18239",671:"0e384e19",713:"a7023ddc",732:"09a89718",829:"c9b73897",879:"f89a48e8",892:"b2206c24",918:"17896441",928:"7e1a15c5",934:"7302895b",960:"19b30b0f"}[e]||e)+"."+{4:"2f4a5674",13:"528361dc",53:"8f7b4cce",69:"a6ec6182",75:"7727d34c",85:"c76bee88",89:"5dcca70e",103:"d8ea52c3",113:"3fd6cf03",195:"efdaa267",279:"cb9e1224",414:"12b00c24",449:"03ad337c",477:"d2e5b51d",514:"fb32330c",533:"dc8fc196",535:"4c8387f6",562:"470a5443",569:"dd97e722",571:"f02bc7a7",592:"43600cbf",598:"3c02ce2e",608:"17fed9a8",610:"a162ab52",612:"378a3eaa",640:"6469da05",645:"89d3dddd",655:"c560c055",671:"61896b51",713:"b590ea01",732:"99f0c66a",829:"ec517f75",879:"149294f2",892:"f0846ce0",918:"01b344f4",926:"99aece81",928:"b1737575",934:"27843ce2",960:"59c648d1"}[e]+".js"},c.miniCssF=function(e){},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},a="iotsharp:",c.l=function(e,t,n,f){if(r[e])r[e].push(t);else{var o,u;if(void 0!==n)for(var i=document.getElementsByTagName("script"),b=0;b<i.length;b++){var d=i[b];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==a+n){o=d;break}}o||(u=!0,(o=document.createElement("script")).charset="utf-8",o.timeout=120,c.nc&&o.setAttribute("nonce",c.nc),o.setAttribute("data-webpack",a+n),o.src=e),r[e]=[t];var l=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var a=r[e];if(delete r[e],o.parentNode&&o.parentNode.removeChild(o),a&&a.forEach((function(e){return e(n)})),t)return t(n)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),u&&document.head.appendChild(o)}},c.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.p="/",c.gca=function(e){return e={17896441:"918","3fc0374d":"4","01a85c17":"13","935f2afb":"53",a1402aa2:"69","1f391b9e":"85",a6aa9e1f:"89",ccc49370:"103",e92b9761:"113",c4f5d8e4:"195",b64b6df2:"279","393be207":"414",efdf10ba:"449",b2f554cd:"477","1be78505":"514",b2b675dd:"533","814f3328":"535","44b3aa03":"562",c0a3ef7c:"569","12418a3d":"571","4a4400a9":"592",f3c88a92:"598","9e4087bc":"608","6875c492":"610",b26f26e7:"612","3477043f":"640","4e4af493":"645","4dd18239":"655","0e384e19":"671",a7023ddc:"713","09a89718":"732",c9b73897:"829",f89a48e8:"879",b2206c24:"892","7e1a15c5":"928","7302895b":"934","19b30b0f":"960"}[e]||e,c.p+c.u(e)},function(){var e={303:0,532:0};c.f.j=function(t,n){var r=c.o(e,t)?e[t]:void 0;if(0!==r)if(r)n.push(r[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var a=new Promise((function(n,a){r=e[t]=[n,a]}));n.push(r[2]=a);var f=c.p+c.u(t),o=new Error;c.l(f,(function(n){if(c.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var a=n&&("load"===n.type?"missing":n.type),f=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed.\n("+a+": "+f+")",o.name="ChunkLoadError",o.type=a,o.request=f,r[1](o)}}),"chunk-"+t,t)}},c.O.j=function(t){return 0===e[t]};var t=function(t,n){var r,a,f=n[0],o=n[1],u=n[2],i=0;if(f.some((function(t){return 0!==e[t]}))){for(r in o)c.o(o,r)&&(c.m[r]=o[r]);if(u)var b=u(c)}for(t&&t(n);i<f.length;i++)a=f[i],c.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return c.O(b)},n=self.webpackChunkiotsharp=self.webpackChunkiotsharp||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))}()}();
\ No newline at end of file
......@@ -6,13 +6,13 @@
<meta name="generator" content="Docusaurus v2.0.0-beta.18">
<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="IoTSharp 在线文档 RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="IoTSharp 在线文档 Atom Feed"><title data-rh="true">Archive | IoTSharp 在线文档</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.iotsharp.io/blog/archive"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="Archive | IoTSharp 在线文档"><meta data-rh="true" name="description" content="Archive"><meta data-rh="true" property="og:description" content="Archive"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.iotsharp.io/blog/archive"><link data-rh="true" rel="alternate" href="https://docs.iotsharp.io/blog/archive" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.iotsharp.io/blog/archive" hreflang="x-default"><link rel="stylesheet" href="/assets/css/styles.f65480cd.css">
<link rel="preload" href="/assets/js/runtime~main.11868e4f.js" as="script">
<link rel="preload" href="/assets/js/main.fc7c7044.js" as="script">
<link rel="preload" href="/assets/js/runtime~main.f7782297.js" as="script">
<link rel="preload" href="/assets/js/main.6ec79d55.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/iotsharp.png" alt="IoT在线文档" class="themedImage_W2Cr themedImage--light_TfLj"><img src="/img/iotsharp.png" alt="IoT在线文档" class="themedImage_W2Cr themedImage--dark_oUvU"></div><b class="navbar__title">IoTSharp 在线文档</b></a><a class="navbar__item navbar__link" href="/docs/intro">参考手册</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">博客</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://gitee.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Gitee<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_S7eR colorModeToggle_vKtC"><button class="clean-btn toggleButton_rCf9 toggleButtonDisabled_Pu9x" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_v35p"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_nQuB"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div class="main-wrapper"><header class="hero hero--primary"><div class="container"><h1 class="hero__title">Archive</h1><p class="hero__subtitle">Archive</p></div></header><main><section class="margin-vert--lg"><div class="container"><div class="row"><div class="col col--4 margin-vert--lg"><h3>2022</h3><ul><li><a href="/blog/first-version-doc">February 14, 2022<!-- --> - <!-- -->第一版文档发布</a></li></ul></div></div></div></section></main></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">文档</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/intro">简介</a></li></ul></div><div class="col footer__col"><div class="footer__title">社区</div><ul class="footer__items"><li class="footer__item"><a href="https://jq.qq.com/?_wv=1027&amp;k=u1ZzTmVd" target="_blank" rel="noopener noreferrer" class="footer__link-item">QQ群<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/My6PaTmUvu" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://weibo.com/iotsharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">微博<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">其他</div><ul class="footer__items"><li class="footer__item"><a href="https://github.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://gitee.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">Gitee<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener noreferrer" class="footer__link-item"> 冀ICP备18039206号-2<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2022 IoTSharp. Built with Docusaurus.</div></div></div></footer></div>
<script src="/assets/js/runtime~main.11868e4f.js"></script>
<script src="/assets/js/main.fc7c7044.js"></script>
<script src="/assets/js/runtime~main.f7782297.js"></script>
<script src="/assets/js/main.6ec79d55.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -6,13 +6,13 @@
<meta name="generator" content="Docusaurus v2.0.0-beta.18">
<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="IoTSharp 在线文档 RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="IoTSharp 在线文档 Atom Feed"><title data-rh="true">第一版文档发布 | IoTSharp 在线文档</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.iotsharp.io/blog/first-version-doc"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="第一版文档发布 | IoTSharp 在线文档"><meta data-rh="true" name="description" content="2022年2月14日情人节, 我们发布了第一版文档, 在这里特别感谢王海东先生(535915157@qq.com), 推荐了博客平台, 也实现了第一个教程。"><meta data-rh="true" property="og:description" content="2022年2月14日情人节, 我们发布了第一版文档, 在这里特别感谢王海东先生(535915157@qq.com), 推荐了博客平台, 也实现了第一个教程。"><meta data-rh="true" property="og:type" content="article"><meta data-rh="true" property="article:published_time" content="2022-02-14T00:00:00.000Z"><meta data-rh="true" property="article:author" content="https://github.com/maikebing"><meta data-rh="true" property="article:tag" content="iotsharp"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.iotsharp.io/blog/first-version-doc"><link data-rh="true" rel="alternate" href="https://docs.iotsharp.io/blog/first-version-doc" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.iotsharp.io/blog/first-version-doc" hreflang="x-default"><link rel="stylesheet" href="/assets/css/styles.f65480cd.css">
<link rel="preload" href="/assets/js/runtime~main.11868e4f.js" as="script">
<link rel="preload" href="/assets/js/main.fc7c7044.js" as="script">
<link rel="preload" href="/assets/js/runtime~main.f7782297.js" as="script">
<link rel="preload" href="/assets/js/main.6ec79d55.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/iotsharp.png" alt="IoT在线文档" class="themedImage_W2Cr themedImage--light_TfLj"><img src="/img/iotsharp.png" alt="IoT在线文档" class="themedImage_W2Cr themedImage--dark_oUvU"></div><b class="navbar__title">IoTSharp 在线文档</b></a><a class="navbar__item navbar__link" href="/docs/intro">参考手册</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">博客</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://gitee.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Gitee<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_S7eR colorModeToggle_vKtC"><button class="clean-btn toggleButton_rCf9 toggleButtonDisabled_Pu9x" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_v35p"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_nQuB"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div class="main-wrapper"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_a9qW thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_uKok margin-bottom--md">Recent posts</div><ul class="sidebarItemList_Kvuv"><li class="sidebarItem_CF0Q"><a aria-current="page" class="sidebarItemLink_miNk sidebarItemLinkActive_RRTD" href="/blog/first-version-doc">第一版文档发布</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="http://schema.org/Blog"><article itemprop="blogPost" itemscope="" itemtype="http://schema.org/BlogPosting"><header><h1 class="blogPostTitle_rzP5" itemprop="headline">第一版文档发布</h1><div class="blogPostData_Zg1s margin-vert--md"><time datetime="2022-02-14T00:00:00.000Z" itemprop="datePublished">February 14, 2022</time> · <!-- -->One min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_FlmR"><div class="avatar margin-bottom--sm"><span class="avatar__photo-link avatar__photo"><a href="https://github.com/maikebing" target="_blank" rel="noopener noreferrer"><img class="image_o0gy" src="https://github.com/maikebing.png" alt="maikebing"></a></span><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/maikebing" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">maikebing</span></a></div><small class="avatar__subtitle" itemprop="description">IoTSharp Core Team</small></div></div></div></div></header><div id="post-content" class="markdown" itemprop="articleBody"><p>2022年2月14日情人节, 我们发布了第一版文档, 在这里特别感谢王海东先生(<a href="mailto:535915157@qq.com" target="_blank" rel="noopener noreferrer">535915157@qq.com</a>), 推荐了博客平台, 也实现了第一个教程。</p></div><footer class="row docusaurus-mt-lg blogPostDetailsFull_h6_j"><div class="col"><b>Tags:</b><ul class="tags_XVD_ padding--none margin-left--sm"><li class="tag_JSN8"><a class="tag_hD8n tagRegular_D6E_" href="/blog/tags/iotsharp">iotsharp</a></li></ul></div><div class="col margin-top--sm"><a href="https://github.com/IoTSharp/IoTSharp/edit/master/docs/blog/2022-02-14-first-version-doc.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_dcUD" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div></footer></article></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">文档</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/intro">简介</a></li></ul></div><div class="col footer__col"><div class="footer__title">社区</div><ul class="footer__items"><li class="footer__item"><a href="https://jq.qq.com/?_wv=1027&amp;k=u1ZzTmVd" target="_blank" rel="noopener noreferrer" class="footer__link-item">QQ群<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/My6PaTmUvu" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://weibo.com/iotsharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">微博<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">其他</div><ul class="footer__items"><li class="footer__item"><a href="https://github.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://gitee.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">Gitee<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener noreferrer" class="footer__link-item"> 冀ICP备18039206号-2<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2022 IoTSharp. Built with Docusaurus.</div></div></div></footer></div>
<script src="/assets/js/runtime~main.11868e4f.js"></script>
<script src="/assets/js/main.fc7c7044.js"></script>
<script src="/assets/js/runtime~main.f7782297.js"></script>
<script src="/assets/js/main.6ec79d55.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -6,13 +6,13 @@
<meta name="generator" content="Docusaurus v2.0.0-beta.18">
<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="IoTSharp 在线文档 RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="IoTSharp 在线文档 Atom Feed"><title data-rh="true">Blog | IoTSharp 在线文档</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.iotsharp.io/blog"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" property="og:title" content="Blog | IoTSharp 在线文档"><meta data-rh="true" name="description" content="Blog"><meta data-rh="true" property="og:description" content="Blog"><meta data-rh="true" name="docusaurus_tag" content="blog_posts_list"><meta data-rh="true" name="docsearch:docusaurus_tag" content="blog_posts_list"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.iotsharp.io/blog"><link data-rh="true" rel="alternate" href="https://docs.iotsharp.io/blog" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.iotsharp.io/blog" hreflang="x-default"><link rel="stylesheet" href="/assets/css/styles.f65480cd.css">
<link rel="preload" href="/assets/js/runtime~main.11868e4f.js" as="script">
<link rel="preload" href="/assets/js/main.fc7c7044.js" as="script">
<link rel="preload" href="/assets/js/runtime~main.f7782297.js" as="script">
<link rel="preload" href="/assets/js/main.6ec79d55.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/iotsharp.png" alt="IoT在线文档" class="themedImage_W2Cr themedImage--light_TfLj"><img src="/img/iotsharp.png" alt="IoT在线文档" class="themedImage_W2Cr themedImage--dark_oUvU"></div><b class="navbar__title">IoTSharp 在线文档</b></a><a class="navbar__item navbar__link" href="/docs/intro">参考手册</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">博客</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://gitee.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Gitee<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_S7eR colorModeToggle_vKtC"><button class="clean-btn toggleButton_rCf9 toggleButtonDisabled_Pu9x" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_v35p"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_nQuB"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div class="main-wrapper"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_a9qW thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_uKok margin-bottom--md">Recent posts</div><ul class="sidebarItemList_Kvuv"><li class="sidebarItem_CF0Q"><a class="sidebarItemLink_miNk" href="/blog/first-version-doc">第一版文档发布</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="http://schema.org/Blog"><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="http://schema.org/BlogPosting"><header><h2 class="blogPostTitle_rzP5" itemprop="headline"><a itemprop="url" href="/blog/first-version-doc">第一版文档发布</a></h2><div class="blogPostData_Zg1s margin-vert--md"><time datetime="2022-02-14T00:00:00.000Z" itemprop="datePublished">February 14, 2022</time> · <!-- -->One min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_FlmR"><div class="avatar margin-bottom--sm"><span class="avatar__photo-link avatar__photo"><a href="https://github.com/maikebing" target="_blank" rel="noopener noreferrer"><img class="image_o0gy" src="https://github.com/maikebing.png" alt="maikebing"></a></span><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/maikebing" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">maikebing</span></a></div><small class="avatar__subtitle" itemprop="description">IoTSharp Core Team</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>2022年2月14日情人节, 我们发布了第一版文档, 在这里特别感谢王海东先生(<a href="mailto:535915157@qq.com" target="_blank" rel="noopener noreferrer">535915157@qq.com</a>), 推荐了博客平台, 也实现了第一个教程。</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_XVD_ padding--none margin-left--sm"><li class="tag_JSN8"><a class="tag_hD8n tagRegular_D6E_" href="/blog/tags/iotsharp">iotsharp</a></li></ul></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"><div class="pagination-nav__item"></div><div class="pagination-nav__item pagination-nav__item--next"></div></nav></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">文档</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/intro">简介</a></li></ul></div><div class="col footer__col"><div class="footer__title">社区</div><ul class="footer__items"><li class="footer__item"><a href="https://jq.qq.com/?_wv=1027&amp;k=u1ZzTmVd" target="_blank" rel="noopener noreferrer" class="footer__link-item">QQ群<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/My6PaTmUvu" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://weibo.com/iotsharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">微博<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">其他</div><ul class="footer__items"><li class="footer__item"><a href="https://github.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://gitee.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">Gitee<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener noreferrer" class="footer__link-item"> 冀ICP备18039206号-2<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2022 IoTSharp. Built with Docusaurus.</div></div></div></footer></div>
<script src="/assets/js/runtime~main.11868e4f.js"></script>
<script src="/assets/js/main.fc7c7044.js"></script>
<script src="/assets/js/runtime~main.f7782297.js"></script>
<script src="/assets/js/main.6ec79d55.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -6,13 +6,13 @@
<meta name="generator" content="Docusaurus v2.0.0-beta.18">
<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="IoTSharp 在线文档 RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="IoTSharp 在线文档 Atom Feed"><title data-rh="true">Tags | IoTSharp 在线文档</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.iotsharp.io/blog/tags"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" property="og:title" content="Tags | IoTSharp 在线文档"><meta data-rh="true" name="docusaurus_tag" content="blog_tags_list"><meta data-rh="true" name="docsearch:docusaurus_tag" content="blog_tags_list"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.iotsharp.io/blog/tags"><link data-rh="true" rel="alternate" href="https://docs.iotsharp.io/blog/tags" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.iotsharp.io/blog/tags" hreflang="x-default"><link rel="stylesheet" href="/assets/css/styles.f65480cd.css">
<link rel="preload" href="/assets/js/runtime~main.11868e4f.js" as="script">
<link rel="preload" href="/assets/js/main.fc7c7044.js" as="script">
<link rel="preload" href="/assets/js/runtime~main.f7782297.js" as="script">
<link rel="preload" href="/assets/js/main.6ec79d55.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/iotsharp.png" alt="IoT在线文档" class="themedImage_W2Cr themedImage--light_TfLj"><img src="/img/iotsharp.png" alt="IoT在线文档" class="themedImage_W2Cr themedImage--dark_oUvU"></div><b class="navbar__title">IoTSharp 在线文档</b></a><a class="navbar__item navbar__link" href="/docs/intro">参考手册</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">博客</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://gitee.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Gitee<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_S7eR colorModeToggle_vKtC"><button class="clean-btn toggleButton_rCf9 toggleButtonDisabled_Pu9x" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_v35p"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_nQuB"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div class="main-wrapper"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_a9qW thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_uKok margin-bottom--md">Recent posts</div><ul class="sidebarItemList_Kvuv"><li class="sidebarItem_CF0Q"><a class="sidebarItemLink_miNk" href="/blog/first-version-doc">第一版文档发布</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="http://schema.org/Blog"><h1>Tags</h1><section class="margin-vert--lg"><article><h2>I</h2><ul class="padding--none"><li class="tag_Shcx"><a class="tag_hD8n tagWithCount_i0QQ" href="/blog/tags/iotsharp">iotsharp<span>1</span></a></li></ul><hr></article></section></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">文档</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/intro">简介</a></li></ul></div><div class="col footer__col"><div class="footer__title">社区</div><ul class="footer__items"><li class="footer__item"><a href="https://jq.qq.com/?_wv=1027&amp;k=u1ZzTmVd" target="_blank" rel="noopener noreferrer" class="footer__link-item">QQ群<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/My6PaTmUvu" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://weibo.com/iotsharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">微博<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">其他</div><ul class="footer__items"><li class="footer__item"><a href="https://github.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://gitee.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">Gitee<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener noreferrer" class="footer__link-item"> 冀ICP备18039206号-2<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2022 IoTSharp. Built with Docusaurus.</div></div></div></footer></div>
<script src="/assets/js/runtime~main.11868e4f.js"></script>
<script src="/assets/js/main.fc7c7044.js"></script>
<script src="/assets/js/runtime~main.f7782297.js"></script>
<script src="/assets/js/main.6ec79d55.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -6,13 +6,13 @@
<meta name="generator" content="Docusaurus v2.0.0-beta.18">
<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="IoTSharp 在线文档 RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="IoTSharp 在线文档 Atom Feed"><title data-rh="true">One post tagged with &quot;iotsharp&quot; | IoTSharp 在线文档</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.iotsharp.io/blog/tags/iotsharp"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" property="og:title" content="One post tagged with &quot;iotsharp&quot; | IoTSharp 在线文档"><meta data-rh="true" name="docusaurus_tag" content="blog_tags_posts"><meta data-rh="true" name="docsearch:docusaurus_tag" content="blog_tags_posts"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.iotsharp.io/blog/tags/iotsharp"><link data-rh="true" rel="alternate" href="https://docs.iotsharp.io/blog/tags/iotsharp" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.iotsharp.io/blog/tags/iotsharp" hreflang="x-default"><link rel="stylesheet" href="/assets/css/styles.f65480cd.css">
<link rel="preload" href="/assets/js/runtime~main.11868e4f.js" as="script">
<link rel="preload" href="/assets/js/main.fc7c7044.js" as="script">
<link rel="preload" href="/assets/js/runtime~main.f7782297.js" as="script">
<link rel="preload" href="/assets/js/main.6ec79d55.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/iotsharp.png" alt="IoT在线文档" class="themedImage_W2Cr themedImage--light_TfLj"><img src="/img/iotsharp.png" alt="IoT在线文档" class="themedImage_W2Cr themedImage--dark_oUvU"></div><b class="navbar__title">IoTSharp 在线文档</b></a><a class="navbar__item navbar__link" href="/docs/intro">参考手册</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">博客</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://gitee.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Gitee<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_S7eR colorModeToggle_vKtC"><button class="clean-btn toggleButton_rCf9 toggleButtonDisabled_Pu9x" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_v35p"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_nQuB"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div class="main-wrapper"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_a9qW thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_uKok margin-bottom--md">Recent posts</div><ul class="sidebarItemList_Kvuv"><li class="sidebarItem_CF0Q"><a class="sidebarItemLink_miNk" href="/blog/first-version-doc">第一版文档发布</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="http://schema.org/Blog"><header class="margin-bottom--xl"><h1>One post tagged with &quot;iotsharp&quot;</h1><a href="/blog/tags">View All Tags</a></header><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="http://schema.org/BlogPosting"><header><h2 class="blogPostTitle_rzP5" itemprop="headline"><a itemprop="url" href="/blog/first-version-doc">第一版文档发布</a></h2><div class="blogPostData_Zg1s margin-vert--md"><time datetime="2022-02-14T00:00:00.000Z" itemprop="datePublished">February 14, 2022</time> · <!-- -->One min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_FlmR"><div class="avatar margin-bottom--sm"><span class="avatar__photo-link avatar__photo"><a href="https://github.com/maikebing" target="_blank" rel="noopener noreferrer"><img class="image_o0gy" src="https://github.com/maikebing.png" alt="maikebing"></a></span><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/maikebing" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">maikebing</span></a></div><small class="avatar__subtitle" itemprop="description">IoTSharp Core Team</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><p>2022年2月14日情人节, 我们发布了第一版文档, 在这里特别感谢王海东先生(<a href="mailto:535915157@qq.com" target="_blank" rel="noopener noreferrer">535915157@qq.com</a>), 推荐了博客平台, 也实现了第一个教程。</p></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_XVD_ padding--none margin-left--sm"><li class="tag_JSN8"><a class="tag_hD8n tagRegular_D6E_" href="/blog/tags/iotsharp">iotsharp</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about 第一版文档发布" href="/blog/first-version-doc"><b>Read More</b></a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"><div class="pagination-nav__item"></div><div class="pagination-nav__item pagination-nav__item--next"></div></nav></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">文档</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/intro">简介</a></li></ul></div><div class="col footer__col"><div class="footer__title">社区</div><ul class="footer__items"><li class="footer__item"><a href="https://jq.qq.com/?_wv=1027&amp;k=u1ZzTmVd" target="_blank" rel="noopener noreferrer" class="footer__link-item">QQ群<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/My6PaTmUvu" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://weibo.com/iotsharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">微博<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">其他</div><ul class="footer__items"><li class="footer__item"><a href="https://github.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://gitee.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">Gitee<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener noreferrer" class="footer__link-item"> 冀ICP备18039206号-2<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2022 IoTSharp. Built with Docusaurus.</div></div></div></footer></div>
<script src="/assets/js/runtime~main.11868e4f.js"></script>
<script src="/assets/js/main.fc7c7044.js"></script>
<script src="/assets/js/runtime~main.f7782297.js"></script>
<script src="/assets/js/main.6ec79d55.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -6,13 +6,13 @@
<meta name="generator" content="Docusaurus v2.0.0-beta.18">
<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="IoTSharp 在线文档 RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="IoTSharp 在线文档 Atom Feed"><title data-rh="true">IoTSharp 简介 | IoTSharp 在线文档</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.iotsharp.io/docs/intro"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="IoTSharp 简介 | IoTSharp 在线文档"><meta data-rh="true" name="description" content="让我们探索一下 IoTSharp 在五分钟内."><meta data-rh="true" property="og:description" content="让我们探索一下 IoTSharp 在五分钟内."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.iotsharp.io/docs/intro"><link data-rh="true" rel="alternate" href="https://docs.iotsharp.io/docs/intro" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.iotsharp.io/docs/intro" hreflang="x-default"><link rel="stylesheet" href="/assets/css/styles.f65480cd.css">
<link rel="preload" href="/assets/js/runtime~main.11868e4f.js" as="script">
<link rel="preload" href="/assets/js/main.fc7c7044.js" as="script">
<link rel="preload" href="/assets/js/runtime~main.f7782297.js" as="script">
<link rel="preload" href="/assets/js/main.6ec79d55.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/iotsharp.png" alt="IoT在线文档" class="themedImage_W2Cr themedImage--light_TfLj"><img src="/img/iotsharp.png" alt="IoT在线文档" class="themedImage_W2Cr themedImage--dark_oUvU"></div><b class="navbar__title">IoTSharp 在线文档</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/intro">参考手册</a><a class="navbar__item navbar__link" href="/blog">博客</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://gitee.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Gitee<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_S7eR colorModeToggle_vKtC"><button class="clean-btn toggleButton_rCf9 toggleButtonDisabled_Pu9x" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_v35p"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_nQuB"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div class="main-wrapper"><div class="docPage_P2Lg"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_RiI4" type="button"></button><aside class="theme-doc-sidebar-container docSidebarContainer_rKC_"><div class="sidebar_RiAD"><nav class="menu thin-scrollbar menu_izAj"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/docs/intro">IoTSharp 简介</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorial-basics/iotsharp">参考手册 - 基础</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorial-extras/mqtt">参考手册 - 高级</a></div></li></ul></nav></div></aside><main class="docMainContainer_TCnq"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_DM6M"><div class="docItemContainer_vinB"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Xlws" aria-label="breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a class="breadcrumbs__link" href="/">🏠</a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="item name">IoTSharp 简介</span><meta itemprop="position" content="1"></li></ul></nav><div class="tocCollapsible_jdIR theme-doc-toc-mobile tocMobile_TmEX"><button type="button" class="clean-btn tocCollapsibleButton_Fzxq">On this page</button></div><div class="theme-doc-markdown markdown"><h1>IoTSharp 简介</h1><p>让我们探索一下 <strong>IoTSharp 在五分钟内</strong>.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="iotsharp-是什么">IoTSharp 是什么?<a class="hash-link" href="#iotsharp-是什么" title="Direct link to heading"></a></h2><p> IoTSharp 是一个基于.Net 6.0 使用C#开发的数据收集、处理、可视化与设备管理的开源物联网(IoT)平台基础平台,支持 HTTP、MQTT 、CoAP等协议实现设备的数字孪生,且属性数据和遥测数据协议简单类型丰富,简易设置即可将数据存储在PostgreSql、MySql、Oracle、SQLServer、Sqlite 或者 InfluxDB 2.0;TDengine;TimescaleDB等时序数据库中。</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="iotsharp的系统必备有哪些">IoTSharp的系统必备有哪些?<a class="hash-link" href="#iotsharp的系统必备有哪些" title="Direct link to heading"></a></h3><ul><li>[Docker]<!-- -->](<a href="https://www.docker.com/" target="_blank" rel="noopener noreferrer">https://www.docker.com/</a>) 最新版本<ul><li>如果你要部署IoTSharp, 我们首先推荐的是docker, 以及Docker-Compose, 通过我们推荐的<a href="https://github.com/IoTSharp/IoTSharp/raw/master/Deployments/rabbit_mongo_influx/docker-compose.yml" target="_blank" rel="noopener noreferrer">docker-compose.yml</a> 你可以直接部署成功,而不用煞费周折的部署环境。</li></ul></li><li>关系型数据库 用来存储基础数据和属性数据。<ul><li>PostgreSQL 验证过的版本为 PostgreSQL 11.3,12.x等。 </li><li>MySql 验证过的版本为 MySQL 8.0.17 </li><li>Oracle 验证过的版本为 Oracle Standard Edition 12c Release 2 , 操作系统为Cent OS 7 </li><li>Sqlite 程序内置,均验证。 小项目推荐。 </li><li>SQLServer 验证过的版本为 Microsoft SQL Server 2016 (RTM-GDR) (KB4019088) - 13.0.1742.0 (X64) </li><li>InMemory 通过EF 的内存数据库,一般用于测试 。 </li><li>Cassandra 现在开始我们通过 <a href="https://github.com/simpleidserver/EFCore.Cassandra" target="_blank" rel="noopener noreferrer">EFCore.Cassandra</a> 支持了Cassandra。 </li></ul></li><li>时序数据库 用来存储遥测数据并提供遥测数据的查询统计等等。 <ul><li>通过EFCore 使用关系型数据库来存储带有时间戳的数据,虽然不推荐,但不妨是一种小型项目的最佳选择。 </li><li>InfluxDB 2.x 我们致力于推荐的时序数据库, InfluxDB集成非常好用的可视化工具, 除了不符合信创没有任何可挑剔的。</li><li>TDengine 我们致力于推荐的国产时序数据库, 甚至为了支持它我花了大量时间编写他的提供程序 <a href="https://github.com/maikebing/Maikebing.EntityFrameworkCore.Taos" target="_blank" rel="noopener noreferrer">Maikebing.EntityFrameworkCore.Taos</a></li><li>PinusDB 国产松果时序数据库, 简单易用, 我们也为他编写了提供程序, <a href="https://github.com/maikebing/PinusDB.Data" target="_blank" rel="noopener noreferrer">PinusDB.Data</a> </li><li>TimescaleDB 基于PostgreSQL的时序数据库, 你可以直接选择它来当时序数据库也可以当关系型数据库, 一次搞定。 </li><li>关系数据库 分区法 , 我们有支持这种方式,但始终不推荐,除非你想只想用一个数据库且通过分区就能搞定你的数据量。 </li><li>SingleTable 通过EF的的单表存储。 通过单表, 我们就不需要依赖于数据库或者分区等等。 小项目推荐。 </li></ul></li><li>消息队列 我们是通过CAP项目来实现的,因此它支持的理论上我们都支持。 <ul><li>RabbitMQ 我们推荐的。 </li><li>Kafka 测试似乎正常。 </li><li>ZeroMQ 针对出门的ZeroMQ , 我们编写了MaiKeBing.CAP.ZeroMQ 和 MaiKeBing.HostedService.ZeroMQ 以支持它。 </li><li>InMemory 通过它可以不需要依赖任何外接, 这是CAP提供的一种途径。 小项目推荐。 </li></ul></li><li>消息队列存储<ul><li>PostgreSql 如果全称用PostgreSQL 可以考虑。 </li><li>MongoDB 我们推荐的</li><li>LiteDB .Net 编写的NoSQL 项目, 小项目推荐, </li><li>InMemory 存储在内存, 不依赖于外接。 小项目推荐。 </li></ul></li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="如何部署">如何部署?<a class="hash-link" href="#如何部署" title="Direct link to heading"></a></h2><h3 class="anchor anchorWithStickyNavbar_mojV" id="如何使用docker-compose--安装iotsharp-">如何使用docker-compose 安装IoTSharp ?<a class="hash-link" href="#如何使用docker-compose--安装iotsharp-" title="Direct link to heading"></a></h3><ul><li><p><a href="https://github.com/IoTSharp/IoTSharp/tree/master/Deployments/rabbit_mongo_influx" target="_blank" rel="noopener noreferrer">RMI</a> 使用Rabbitmq 作为 EventBus, Mongodb 作为消息存储, 遥测数据使用Influx 2.0 ,这个方案中遥测数据也可以使用TDengine</p></li><li><p><a href="https://github.com/IoTSharp/IoTSharp/tree/master/Deployments/zeromq_taos" target="_blank" rel="noopener noreferrer">ZPT</a> 使用ZeroMQ 作为 EventBus, PostgreSQL 作为消息存储, 遥测数据使用 TDengine </p></li><li><p><a href="https://github.com/IoTSharp/IoTSharp/tree/master/Deployments/zeromq_sharding" target="_blank" rel="noopener noreferrer">ZPS</a> 默认开发配置, IoTSharp 和 PostgreSql, 遥测数据可以通过单表或者分表。 </p></li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="初次使用">初次使用<a class="hash-link" href="#初次使用" title="Direct link to heading"></a></h2><ul><li>初始租户和管理员、用户注册信息在系统发现你未初始化时自动跳转到安装界面, 填写完成后, 系统会初始化权限、基础数据等种子数据。 </li><li>X509 CA证书用于通过证书进行保障安全通讯和关系验证, 第一次时需要调用高级管理员权限办法并写入系统, 尤其是当你使用了非管理员用户进行启动IoTSharp 时 , 因此, 需要确保第一次生成使用高权限, 后续使用低权限。 </li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="关于赞助">关于赞助<a class="hash-link" href="#关于赞助" title="Direct link to heading"></a></h2><ul><li>我们接受资金以及任何方式的的捐赠,但并不意味着我们会为您承诺或担保任何事情, 也并不意味着对你使用IoTSharp带来的负面影响负有责任。 所有你使用IoTSharp造成的任何损失以及任何关联的责任等我们均不会有任何责任和义务承担,你需要为你做的决定而负责。 </li><li>IoTSharp开源并不等于你可以用他申报项目、申请专利、提供云服务、重新包装等某种其他方式来获利但对IoTSharp毫无建树。 我们讨厌这种自私行为。</li></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/IoTSharp/IoTSharp/edit/master/docs/docs/intro.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_dcUD" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_foO9"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><div class="pagination-nav__item"></div><div class="pagination-nav__item pagination-nav__item--next"><a class="pagination-nav__link" href="/docs/tutorial-basics/iotsharp"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">IoTSharp是什么?</div></a></div></nav></div></div><div class="col col--3"><div class="tableOfContents_cNA8 thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#iotsharp-是什么" class="table-of-contents__link toc-highlight">IoTSharp 是什么?</a><ul><li><a href="#iotsharp的系统必备有哪些" class="table-of-contents__link toc-highlight">IoTSharp的系统必备有哪些?</a></li></ul></li><li><a href="#如何部署" class="table-of-contents__link toc-highlight">如何部署?</a><ul><li><a href="#如何使用docker-compose--安装iotsharp-" class="table-of-contents__link toc-highlight">如何使用docker-compose 安装IoTSharp ?</a></li></ul></li><li><a href="#初次使用" class="table-of-contents__link toc-highlight">初次使用</a></li><li><a href="#关于赞助" class="table-of-contents__link toc-highlight">关于赞助</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">文档</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/intro">简介</a></li></ul></div><div class="col footer__col"><div class="footer__title">社区</div><ul class="footer__items"><li class="footer__item"><a href="https://jq.qq.com/?_wv=1027&amp;k=u1ZzTmVd" target="_blank" rel="noopener noreferrer" class="footer__link-item">QQ群<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/My6PaTmUvu" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://weibo.com/iotsharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">微博<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">其他</div><ul class="footer__items"><li class="footer__item"><a href="https://github.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://gitee.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">Gitee<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener noreferrer" class="footer__link-item"> 冀ICP备18039206号-2<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2022 IoTSharp. Built with Docusaurus.</div></div></div></footer></div>
<script src="/assets/js/runtime~main.11868e4f.js"></script>
<script src="/assets/js/main.fc7c7044.js"></script>
<script src="/assets/js/runtime~main.f7782297.js"></script>
<script src="/assets/js/main.6ec79d55.js"></script>
</body>
</html>
\ No newline at end of file
<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-tutorial-basics/deploy_linux">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="Docusaurus v2.0.0-beta.18">
<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="IoTSharp 在线文档 RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="IoTSharp 在线文档 Atom Feed"><title data-rh="true">在Linux中部署IoTSharp | IoTSharp 在线文档</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.iotsharp.io/docs/tutorial-basics/deploy_linux"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="在Linux中部署IoTSharp | IoTSharp 在线文档"><meta data-rh="true" name="description" content="本教程使用Sqlite 为数据存储 方式进行部署"><meta data-rh="true" property="og:description" content="本教程使用Sqlite 为数据存储 方式进行部署"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.iotsharp.io/docs/tutorial-basics/deploy_linux"><link data-rh="true" rel="alternate" href="https://docs.iotsharp.io/docs/tutorial-basics/deploy_linux" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.iotsharp.io/docs/tutorial-basics/deploy_linux" hreflang="x-default"><link rel="stylesheet" href="/assets/css/styles.f65480cd.css">
<link rel="preload" href="/assets/js/runtime~main.f7782297.js" as="script">
<link rel="preload" href="/assets/js/main.6ec79d55.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/iotsharp.png" alt="IoT在线文档" class="themedImage_W2Cr themedImage--light_TfLj"><img src="/img/iotsharp.png" alt="IoT在线文档" class="themedImage_W2Cr themedImage--dark_oUvU"></div><b class="navbar__title">IoTSharp 在线文档</b></a><a class="navbar__item navbar__link navbar__link--active" href="/docs/intro">参考手册</a><a class="navbar__item navbar__link" href="/blog">博客</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://gitee.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Gitee<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_S7eR colorModeToggle_vKtC"><button class="clean-btn toggleButton_rCf9 toggleButtonDisabled_Pu9x" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_v35p"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_nQuB"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div class="main-wrapper"><div class="docPage_P2Lg"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_RiI4" type="button"></button><aside class="theme-doc-sidebar-container docSidebarContainer_rKC_"><div class="sidebar_RiAD"><nav class="menu thin-scrollbar menu_izAj"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/intro">IoTSharp 简介</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/tutorial-basics/iotsharp">参考手册 - 基础</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial-basics/iotsharp">IoTSharp是什么?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial-basics/sourcecode">在哪里下载源码?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial-basics/debug">调试IoTSharp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial-basics/deploy_by_docker">使用Dcoker部署</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/tutorial-basics/deploy_linux">在Linux中部署IoTSharp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial-basics/deploy_win">在Windows中部署IoTSharp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial-basics/appsettings">配置IoTSharp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial-basics/gateway">如何对接第三方网关?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial-basics/influxdb">如何查询遥测源数据?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial-basics/webapi">webapi查询遥测</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial-basics/aggregate">遥测数据聚合</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorial-extras/mqtt">参考手册 - 高级</a></div></li></ul></nav></div></aside><main class="docMainContainer_TCnq"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_DM6M"><div class="docItemContainer_vinB"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Xlws" aria-label="breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a class="breadcrumbs__link" href="/">🏠</a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><span class="breadcrumbs__link" itemprop="item name">参考手册 - 基础</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="item name">在Linux中部署IoTSharp</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_jdIR theme-doc-toc-mobile tocMobile_TmEX"><button type="button" class="clean-btn tocCollapsibleButton_Fzxq">On this page</button></div><div class="theme-doc-markdown markdown"><h1>在Linux中部署IoTSharp</h1><p>本教程使用Sqlite 为数据存储 方式进行部署</p><h1>下载</h1><p>首先在 <a href="https://github.com/IoTSharp/IoTSharp/releases" target="_blank" rel="noopener noreferrer">https://github.com/IoTSharp/IoTSharp/releases</a> 或者 <a href="https://gitee.com/IoTSharp/IoTSharp/releases" target="_blank" rel="noopener noreferrer">https://gitee.com/IoTSharp/IoTSharp/releases</a> 中下载最新版本的安装包, 常用系统中压缩包选择 <a href="https://github.com/IoTSharp/IoTSharp/releases/download/v2.8/IoTSharp.Release.linux-x64.zip" target="_blank" rel="noopener noreferrer">IoTSharp.Release.linux-x64.zip</a> , 如果是树莓派版本则下载 <a href="https://github.com/IoTSharp/IoTSharp/releases/download/v2.8/IoTSharp.Release.linux-arm64.zip" target="_blank" rel="noopener noreferrer">IoTSharp.Release.linux-arm64.zip</a> 至本地。 </p><h1>直接启动</h1><p>解压压缩包后, 我们可以看到里面 有一个 IoTSharp 文件, 使用 chmod 777 IoTSharp , 然后 在命令行使用 ./IoTSharp 即可。 启动后, 即可在浏览器中打开 http://localhost:2927 来访问。 </p><h1>注册为服务</h1><p>IoTSharp 已经支持了Linux 服务的方式运行, 按照下面的步骤可以将IoTSharp 注册为LInux daemon </p><ul><li>mkdir /var/lib/iotsharp/ # 创建运行目录 </li><li>cp ./* /var/lib/iotsharp/ # 将所有文件拷贝至目标目录</li><li>chmod 777 /var/lib/iotsharp/IoTSharp # 设置IoTSharp 的可执行权限</li><li>cp iotsharp.service /etc/systemd/system/iotsharp.service # 将服务文件拷贝至系统</li><li>sudo systemctl enable /etc/systemd/system/iotsharp.service # 启用服务</li><li>sudo systemctl start iotsharp.service # 启动此服务</li><li>sudo journalctl -fu iotsharp.service # 查看该服务日志 </li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="注册">注册<a class="hash-link" href="#注册" title="Direct link to heading"></a></h2><p>Chrome浏览器访问 <code>http://localhost:2927/</code></p><p><img loading="lazy" alt="注册" src="/assets/images/iotsharp-regeist-aab9025fdcae4e6347e17a575cfcac26.png" width="888" height="840" class="img_E7b_"></p><h2 class="anchor anchorWithStickyNavbar_mojV" id="访问">访问<a class="hash-link" href="#访问" title="Direct link to heading"></a></h2><p>注册后登入进入首页
<img loading="lazy" alt="访问" src="/assets/images/iotsharp-dashboard-e2f47226cba57d08531957d496c86b97.png" width="1902" height="831" class="img_E7b_"></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/IoTSharp/IoTSharp/edit/master/docs/docs/tutorial-basics/deploy_linux.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_dcUD" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_foO9"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/docs/tutorial-basics/deploy_by_docker"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">使用Dcoker部署</div></a></div><div class="pagination-nav__item pagination-nav__item--next"><a class="pagination-nav__link" href="/docs/tutorial-basics/deploy_win"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">在Windows中部署IoTSharp</div></a></div></nav></div></div><div class="col col--3"><div class="tableOfContents_cNA8 thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#注册" class="table-of-contents__link toc-highlight">注册</a></li><li><a href="#访问" class="table-of-contents__link toc-highlight">访问</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">文档</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/intro">简介</a></li></ul></div><div class="col footer__col"><div class="footer__title">社区</div><ul class="footer__items"><li class="footer__item"><a href="https://jq.qq.com/?_wv=1027&amp;k=u1ZzTmVd" target="_blank" rel="noopener noreferrer" class="footer__link-item">QQ群<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/My6PaTmUvu" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://weibo.com/iotsharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">微博<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">其他</div><ul class="footer__items"><li class="footer__item"><a href="https://github.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://gitee.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">Gitee<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener noreferrer" class="footer__link-item"> 冀ICP备18039206号-2<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2022 IoTSharp. Built with Docusaurus.</div></div></div></footer></div>
<script src="/assets/js/runtime~main.f7782297.js"></script>
<script src="/assets/js/main.6ec79d55.js"></script>
</body>
</html>
\ No newline at end of file
<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-tutorial-basics/deploy_win">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="Docusaurus v2.0.0-beta.18">
<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="IoTSharp 在线文档 RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="IoTSharp 在线文档 Atom Feed"><title data-rh="true">在Windows中部署IoTSharp | IoTSharp 在线文档</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.iotsharp.io/docs/tutorial-basics/deploy_win"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="在Windows中部署IoTSharp | IoTSharp 在线文档"><meta data-rh="true" name="description" content="本教程使用Sqlite 为数据存储 方式进行部署"><meta data-rh="true" property="og:description" content="本教程使用Sqlite 为数据存储 方式进行部署"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.iotsharp.io/docs/tutorial-basics/deploy_win"><link data-rh="true" rel="alternate" href="https://docs.iotsharp.io/docs/tutorial-basics/deploy_win" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.iotsharp.io/docs/tutorial-basics/deploy_win" hreflang="x-default"><link rel="stylesheet" href="/assets/css/styles.f65480cd.css">
<link rel="preload" href="/assets/js/runtime~main.f7782297.js" as="script">
<link rel="preload" href="/assets/js/main.6ec79d55.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/iotsharp.png" alt="IoT在线文档" class="themedImage_W2Cr themedImage--light_TfLj"><img src="/img/iotsharp.png" alt="IoT在线文档" class="themedImage_W2Cr themedImage--dark_oUvU"></div><b class="navbar__title">IoTSharp 在线文档</b></a><a class="navbar__item navbar__link navbar__link--active" href="/docs/intro">参考手册</a><a class="navbar__item navbar__link" href="/blog">博客</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://gitee.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Gitee<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_S7eR colorModeToggle_vKtC"><button class="clean-btn toggleButton_rCf9 toggleButtonDisabled_Pu9x" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_v35p"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_nQuB"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div class="main-wrapper"><div class="docPage_P2Lg"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_RiI4" type="button"></button><aside class="theme-doc-sidebar-container docSidebarContainer_rKC_"><div class="sidebar_RiAD"><nav class="menu thin-scrollbar menu_izAj"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/intro">IoTSharp 简介</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/tutorial-basics/iotsharp">参考手册 - 基础</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial-basics/iotsharp">IoTSharp是什么?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial-basics/sourcecode">在哪里下载源码?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial-basics/debug">调试IoTSharp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial-basics/deploy_by_docker">使用Dcoker部署</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial-basics/deploy_linux">在Linux中部署IoTSharp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/tutorial-basics/deploy_win">在Windows中部署IoTSharp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial-basics/appsettings">配置IoTSharp</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial-basics/gateway">如何对接第三方网关?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial-basics/influxdb">如何查询遥测源数据?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial-basics/webapi">webapi查询遥测</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial-basics/aggregate">遥测数据聚合</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/tutorial-extras/mqtt">参考手册 - 高级</a></div></li></ul></nav></div></aside><main class="docMainContainer_TCnq"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_DM6M"><div class="docItemContainer_vinB"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Xlws" aria-label="breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a class="breadcrumbs__link" href="/">🏠</a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><span class="breadcrumbs__link" itemprop="item name">参考手册 - 基础</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="item name">在Windows中部署IoTSharp</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_jdIR theme-doc-toc-mobile tocMobile_TmEX"><button type="button" class="clean-btn tocCollapsibleButton_Fzxq">On this page</button></div><div class="theme-doc-markdown markdown"><h1>在Windows中部署IoTSharp</h1><p>本教程使用Sqlite 为数据存储 方式进行部署</p><h1>下载</h1><p>首先在 <a href="https://github.com/IoTSharp/IoTSharp/releases" target="_blank" rel="noopener noreferrer">https://github.com/IoTSharp/IoTSharp/releases</a> 或者 <a href="https://gitee.com/IoTSharp/IoTSharp/releases" target="_blank" rel="noopener noreferrer">https://gitee.com/IoTSharp/IoTSharp/releases</a> 中下载最新版本的安装包, 通畅Windows下的安装包 名为 <a href="https://github.com/IoTSharp/IoTSharp/releases/download/v2.8/IoTSharp.Release.win7-x64.zip" target="_blank" rel="noopener noreferrer">IoTSharp.Release.win7-x64.zip</a> 下载至本地。 </p><h1>直接启动</h1><p>解压压缩包后, 我们可以看到里面 有一个 IoTSharp的Exe文件, 双击运行即可启动。 可以看到控制台启动, 启动后, 即可在浏览器中打开 http://localhost:2927 来访问。 </p><h1>注册为服务</h1><p>IoTSharp 已经支持了Windows服务的方式运行, 如果有需要注册为Widnows服务, 你需要首先了解 <a href="https://docs.microsoft.com/zh-cn/windows-server/administration/windows-commands/sc-create" target="_blank" rel="noopener noreferrer">https://docs.microsoft.com/zh-cn/windows-server/administration/windows-commands/sc-create</a> , 使用sc 命令创建 为Windows服务,然后打开 http://localhost:2927 来访问</p><p>看到下图说明运行成功
<img loading="lazy" alt="docker-compose启动成功" src="/assets/images/docker-run-c20ca39c51c22608c43d3b09582fe0c7.png" width="1171" height="558" class="img_E7b_"></p><h2 class="anchor anchorWithStickyNavbar_mojV" id="初始化influxdb">初始化influxdb<a class="hash-link" href="#初始化influxdb" title="Direct link to heading"></a></h2><p>浏览器访问 <code>http://localhost:8086/</code>,初始化influxdb</p><p><img loading="lazy" alt="初始化influxdb" src="/assets/images/influxdb-ini-7072f2ff25a7329f70411e1f3979315d.png" width="1291" height="604" class="img_E7b_"></p><p>Org: <code>iotsharp</code> Bucket: <code>iotsharp-bucket</code></p><div class="codeBlockContainer_I0IT language-bash theme-code-block"><div class="codeBlockContent_wNvx" style="color:#393A34;background-color:#f6f8fa"><pre tabindex="0" class="prism-code language-bash codeBlock_jd64 thin-scrollbar"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain"> </span><br></span></code></pre><button type="button" aria-label="Copy code to clipboard" title="Copy" class="copyButton_eDfN clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div><h2 class="anchor anchorWithStickyNavbar_mojV" id="注册">注册<a class="hash-link" href="#注册" title="Direct link to heading"></a></h2><p>Chrome浏览器访问 <code>http://localhost:2927/</code></p><p><img loading="lazy" alt="注册" src="/assets/images/iotsharp-regeist-aab9025fdcae4e6347e17a575cfcac26.png" width="888" height="840" class="img_E7b_"></p><h2 class="anchor anchorWithStickyNavbar_mojV" id="访问">访问<a class="hash-link" href="#访问" title="Direct link to heading"></a></h2><p>注册后登入进入首页
<img loading="lazy" alt="访问" src="/assets/images/iotsharp-dashboard-e2f47226cba57d08531957d496c86b97.png" width="1902" height="831" class="img_E7b_"></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/IoTSharp/IoTSharp/edit/master/docs/docs/tutorial-basics/deploy_win.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_dcUD" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_foO9"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/docs/tutorial-basics/deploy_linux"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">在Linux中部署IoTSharp</div></a></div><div class="pagination-nav__item pagination-nav__item--next"><a class="pagination-nav__link" href="/docs/tutorial-basics/appsettings"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">配置IoTSharp</div></a></div></nav></div></div><div class="col col--3"><div class="tableOfContents_cNA8 thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#初始化influxdb" class="table-of-contents__link toc-highlight">初始化influxdb</a></li><li><a href="#注册" class="table-of-contents__link toc-highlight">注册</a></li><li><a href="#访问" class="table-of-contents__link toc-highlight">访问</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">文档</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/intro">简介</a></li></ul></div><div class="col footer__col"><div class="footer__title">社区</div><ul class="footer__items"><li class="footer__item"><a href="https://jq.qq.com/?_wv=1027&amp;k=u1ZzTmVd" target="_blank" rel="noopener noreferrer" class="footer__link-item">QQ群<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/My6PaTmUvu" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://weibo.com/iotsharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">微博<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">其他</div><ul class="footer__items"><li class="footer__item"><a href="https://github.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://gitee.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">Gitee<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener noreferrer" class="footer__link-item"> 冀ICP备18039206号-2<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2022 IoTSharp. Built with Docusaurus.</div></div></div></footer></div>
<script src="/assets/js/runtime~main.f7782297.js"></script>
<script src="/assets/js/main.6ec79d55.js"></script>
</body>
</html>
\ No newline at end of file
此差异已折叠。
......@@ -6,13 +6,13 @@
<meta name="generator" content="Docusaurus v2.0.0-beta.18">
<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="IoTSharp 在线文档 RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="IoTSharp 在线文档 Atom Feed"><title data-rh="true">Markdown page example | IoTSharp 在线文档</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.iotsharp.io/markdown-page"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="Markdown page example | IoTSharp 在线文档"><meta data-rh="true" name="description" content="You don&#x27;t need React to write simple standalone pages."><meta data-rh="true" property="og:description" content="You don&#x27;t need React to write simple standalone pages."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.iotsharp.io/markdown-page"><link data-rh="true" rel="alternate" href="https://docs.iotsharp.io/markdown-page" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.iotsharp.io/markdown-page" hreflang="x-default"><link rel="stylesheet" href="/assets/css/styles.f65480cd.css">
<link rel="preload" href="/assets/js/runtime~main.11868e4f.js" as="script">
<link rel="preload" href="/assets/js/main.fc7c7044.js" as="script">
<link rel="preload" href="/assets/js/runtime~main.f7782297.js" as="script">
<link rel="preload" href="/assets/js/main.6ec79d55.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/iotsharp.png" alt="IoT在线文档" class="themedImage_W2Cr themedImage--light_TfLj"><img src="/img/iotsharp.png" alt="IoT在线文档" class="themedImage_W2Cr themedImage--dark_oUvU"></div><b class="navbar__title">IoTSharp 在线文档</b></a><a class="navbar__item navbar__link" href="/docs/intro">参考手册</a><a class="navbar__item navbar__link" href="/blog">博客</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://gitee.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Gitee<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_S7eR colorModeToggle_vKtC"><button class="clean-btn toggleButton_rCf9 toggleButtonDisabled_Pu9x" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_v35p"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_nQuB"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div class="main-wrapper"><main class="container container--fluid margin-vert--lg"><div class="row mdxPageWrapper_zHyg"><div class="col col--8"><h1>Markdown page example</h1><p>You don&#x27;t need React to write simple standalone pages.</p></div><div class="col col--2"><div class="tableOfContents_cNA8 thin-scrollbar"></div></div></div></main></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">文档</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/intro">简介</a></li></ul></div><div class="col footer__col"><div class="footer__title">社区</div><ul class="footer__items"><li class="footer__item"><a href="https://jq.qq.com/?_wv=1027&amp;k=u1ZzTmVd" target="_blank" rel="noopener noreferrer" class="footer__link-item">QQ群<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/My6PaTmUvu" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://weibo.com/iotsharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">微博<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">其他</div><ul class="footer__items"><li class="footer__item"><a href="https://github.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://gitee.com/IoTSharp/IoTSharp" target="_blank" rel="noopener noreferrer" class="footer__link-item">Gitee<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener noreferrer" class="footer__link-item"> 冀ICP备18039206号-2<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2022 IoTSharp. Built with Docusaurus.</div></div></div></footer></div>
<script src="/assets/js/runtime~main.11868e4f.js"></script>
<script src="/assets/js/main.fc7c7044.js"></script>
<script src="/assets/js/runtime~main.f7782297.js"></script>
<script src="/assets/js/main.6ec79d55.js"></script>
</body>
</html>
\ No newline at end of file
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册