ソースを参照

desc:init blueTouth
poster:张晓宇

xiaoyuzhang 4 年 前
コミット
99dd7b659c
共有9 個のファイルを変更した835 個の追加305 個の削除を含む
  1. 266 282
      .idea/workspace.xml
  2. 410 3
      package-lock.json
  3. 10 8
      package.json
  4. 6 0
      src/renderer/components/LandingPage.vue
  5. 1 1
      src/renderer/main.js
  6. 3 0
      src/renderer/store/modules/socket.js
  7. 12 10
      static/server/app.js
  8. 126 0
      static/server/blueTouth.js
  9. 1 1
      static/server/protocal/commonFunction.js

+ 266 - 282
.idea/workspace.xml

@@ -1,22 +1,19 @@
1 1
 <?xml version="1.0" encoding="UTF-8"?>
2 2
 <project version="4">
3 3
   <component name="BookmarkManager">
4
-    <bookmark url="file://$PROJECT_DIR$/src/renderer/store/modules/socket.js" line="32" />
4
+    <bookmark url="file://$PROJECT_DIR$/src/renderer/store/modules/socket.js" line="35" />
5 5
   </component>
6 6
   <component name="ChangeListManager">
7 7
     <list default="true" id="9ae72f43-a1a0-4e71-8c9a-da776f48ee97" name="Default" comment="">
8
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/renderer/components/Config.vue" />
9
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/static/server/protocal/commonFunction.js" />
10
-      <change type="DELETED" beforePath="$PROJECT_DIR$/src/renderer/components/Scan.vue" afterPath="" />
8
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/static/server/blueTouth.js" />
11 9
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
12 10
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/package-lock.json" afterPath="$PROJECT_DIR$/package-lock.json" />
13 11
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/package.json" afterPath="$PROJECT_DIR$/package.json" />
14 12
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/renderer/components/LandingPage.vue" afterPath="$PROJECT_DIR$/src/renderer/components/LandingPage.vue" />
15
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/renderer/router/index.js" afterPath="$PROJECT_DIR$/src/renderer/router/index.js" />
13
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/renderer/main.js" afterPath="$PROJECT_DIR$/src/renderer/main.js" />
16 14
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/renderer/store/modules/socket.js" afterPath="$PROJECT_DIR$/src/renderer/store/modules/socket.js" />
17 15
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/static/server/app.js" afterPath="$PROJECT_DIR$/static/server/app.js" />
18
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/static/server/protocal/checksum.js" afterPath="$PROJECT_DIR$/static/server/protocal/checksum.js" />
19
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/static/server/protocal/sendProtocal.js" afterPath="$PROJECT_DIR$/static/server/protocal/sendProtocal.js" />
16
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/static/server/protocal/commonFunction.js" afterPath="$PROJECT_DIR$/static/server/protocal/commonFunction.js" />
20 17
     </list>
21 18
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
22 19
     <option name="TRACKING_ENABLED" value="true" />
@@ -27,17 +24,13 @@
27 24
   </component>
28 25
   <component name="FileEditorManager">
29 26
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
30
-      <file leaf-file-name="LandingPage.vue" pinned="false" current-in-tab="false">
31
-        <entry file="file://$PROJECT_DIR$/src/renderer/components/LandingPage.vue">
27
+      <file leaf-file-name="blueTouth.js" pinned="false" current-in-tab="false">
28
+        <entry file="file://$PROJECT_DIR$/static/server/blueTouth.js">
32 29
           <provider selected="true" editor-type-id="text-editor">
33
-            <state relative-caret-position="340">
34
-              <caret line="263" column="11" lean-forward="false" selection-start-line="263" selection-start-column="11" selection-end-line="263" selection-end-column="11" />
30
+            <state relative-caret-position="1404">
31
+              <caret line="122" column="14" lean-forward="false" selection-start-line="122" selection-start-column="14" selection-end-line="122" selection-end-column="14" />
35 32
               <folding>
36
-                <element signature="n#style#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
37
-                <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
38
-                <element signature="n#style#0;n#chart#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
39
-                <element signature="e#2196#2226#0" expanded="true" />
40
-                <element signature="e#3477#9957#0" expanded="false" />
33
+                <element signature="n#!!block;n#Utf8ArrayToStr#0" expanded="false" />
41 34
               </folding>
42 35
             </state>
43 36
           </provider>
@@ -46,82 +39,72 @@
46 39
       <file leaf-file-name="package.json" pinned="false" current-in-tab="false">
47 40
         <entry file="file://$PROJECT_DIR$/package.json">
48 41
           <provider selected="true" editor-type-id="text-editor">
49
-            <state relative-caret-position="205">
50
-              <caret line="111" column="26" lean-forward="true" selection-start-line="111" selection-start-column="26" selection-end-line="111" selection-end-column="26" />
42
+            <state relative-caret-position="279">
43
+              <caret line="93" column="19" lean-forward="false" selection-start-line="93" selection-start-column="5" selection-end-line="93" selection-end-column="19" />
51 44
               <folding>
52
-                <marker date="1587894241338" expanded="true" signature="1638:1669" ph="{&quot;axios&quot;: &quot;^0.18.0&quot;...}" />
53
-                <marker date="1587894241338" expanded="true" signature="3747:3752" ph="{&quot;utf-8-validate&quot;: &quot;^5.0.2&quot;...}" />
45
+                <marker date="1588122267576" expanded="true" signature="1638:1669" ph="{&quot;axios&quot;: &quot;^0.18.0&quot;...}" />
46
+                <marker date="1588122267576" expanded="true" signature="3814:3819" ph="{&quot;utf-8-validate&quot;: &quot;^5.0.2&quot;...}" />
54 47
               </folding>
55 48
             </state>
56 49
           </provider>
57 50
         </entry>
58 51
       </file>
59
-      <file leaf-file-name="Config.vue" pinned="false" current-in-tab="false">
60
-        <entry file="file://$PROJECT_DIR$/src/renderer/components/Config.vue">
52
+      <file leaf-file-name="main.js" pinned="false" current-in-tab="false">
53
+        <entry file="file://$PROJECT_DIR$/src/renderer/main.js">
61 54
           <provider selected="true" editor-type-id="text-editor">
62
-            <state relative-caret-position="369">
63
-              <caret line="100" column="45" lean-forward="false" selection-start-line="100" selection-start-column="45" selection-end-line="100" selection-end-column="45" />
64
-              <folding>
65
-                <element signature="n#style#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
66
-              </folding>
55
+            <state relative-caret-position="187">
56
+              <caret line="27" column="16" lean-forward="false" selection-start-line="27" selection-start-column="16" selection-end-line="27" selection-end-column="16" />
57
+              <folding />
67 58
             </state>
68 59
           </provider>
69 60
         </entry>
70 61
       </file>
71
-      <file leaf-file-name="checksum.js" pinned="false" current-in-tab="false">
72
-        <entry file="file://$PROJECT_DIR$/static/server/protocal/checksum.js">
62
+      <file leaf-file-name="index.dev.js" pinned="false" current-in-tab="false">
63
+        <entry file="file://$PROJECT_DIR$/src/main/index.dev.js">
73 64
           <provider selected="true" editor-type-id="text-editor">
74
-            <state relative-caret-position="102">
75
-              <caret line="6" column="1" lean-forward="false" selection-start-line="6" selection-start-column="1" selection-end-line="6" selection-end-column="1" />
65
+            <state relative-caret-position="85">
66
+              <caret line="10" column="46" lean-forward="false" selection-start-line="10" selection-start-column="42" selection-end-line="10" selection-end-column="46" />
76 67
               <folding />
77 68
             </state>
78 69
           </provider>
79 70
         </entry>
80 71
       </file>
81
-      <file leaf-file-name="sendProtocal.js" pinned="false" current-in-tab="false">
82
-        <entry file="file://$PROJECT_DIR$/static/server/protocal/sendProtocal.js">
72
+      <file leaf-file-name="app.js" pinned="false" current-in-tab="true">
73
+        <entry file="file://$PROJECT_DIR$/static/server/app.js">
83 74
           <provider selected="true" editor-type-id="text-editor">
84
-            <state relative-caret-position="374">
85
-              <caret line="85" column="28" lean-forward="false" selection-start-line="85" selection-start-column="28" selection-end-line="85" selection-end-column="28" />
86
-              <folding>
87
-                <element signature="e#132#277#0" expanded="false" />
88
-                <element signature="e#314#459#0" expanded="false" />
89
-                <element signature="e#501#646#0" expanded="false" />
90
-                <element signature="e#686#831#0" expanded="false" />
91
-                <element signature="e#867#966#0" expanded="false" />
92
-              </folding>
75
+            <state relative-caret-position="-954">
76
+              <caret line="129" column="7" lean-forward="true" selection-start-line="129" selection-start-column="7" selection-end-line="129" selection-end-column="7" />
77
+              <folding />
93 78
             </state>
94 79
           </provider>
95 80
         </entry>
96 81
       </file>
97 82
       <file leaf-file-name="index.js" pinned="false" current-in-tab="false">
98
-        <entry file="file://$PROJECT_DIR$/src/renderer/router/index.js">
83
+        <entry file="file://$PROJECT_DIR$/src/main/index.js">
99 84
           <provider selected="true" editor-type-id="text-editor">
100
-            <state relative-caret-position="272">
101
-              <caret line="17" column="22" lean-forward="false" selection-start-line="17" selection-start-column="16" selection-end-line="17" selection-end-column="22" />
85
+            <state relative-caret-position="-136">
86
+              <caret line="23" column="4" lean-forward="false" selection-start-line="23" selection-start-column="4" selection-end-line="23" selection-end-column="4" />
102 87
               <folding />
103 88
             </state>
104 89
           </provider>
105 90
         </entry>
106 91
       </file>
107
-      <file leaf-file-name="app.js" pinned="false" current-in-tab="true">
108
-        <entry file="file://$PROJECT_DIR$/static/server/app.js">
92
+      <file leaf-file-name="webpack.web.config.js" pinned="false" current-in-tab="false">
93
+        <entry file="file://$PROJECT_DIR$/.electron-vue/webpack.web.config.js">
109 94
           <provider selected="true" editor-type-id="text-editor">
110
-            <state relative-caret-position="374">
111
-              <caret line="197" column="1" lean-forward="true" selection-start-line="197" selection-start-column="1" selection-end-line="197" selection-end-column="1" />
95
+            <state relative-caret-position="0">
96
+              <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
112 97
               <folding />
113 98
             </state>
114 99
           </provider>
115 100
         </entry>
116 101
       </file>
117
-      <file leaf-file-name="commonFunction.js" pinned="false" current-in-tab="false">
118
-        <entry file="file://$PROJECT_DIR$/static/server/protocal/commonFunction.js">
102
+      <file leaf-file-name="socket.js" pinned="false" current-in-tab="false">
103
+        <entry file="file://$PROJECT_DIR$/src/renderer/store/modules/socket.js">
119 104
           <provider selected="true" editor-type-id="text-editor">
120
-            <state relative-caret-position="578">
121
-              <caret line="37" column="46" lean-forward="false" selection-start-line="37" selection-start-column="46" selection-end-line="37" selection-end-column="46" />
122
-              <folding>
123
-                <element signature="n#!!block;n#pressureDataProcess#0" expanded="false" />
124
-              </folding>
105
+            <state relative-caret-position="374">
106
+              <caret line="23" column="37" lean-forward="true" selection-start-line="23" selection-start-column="37" selection-end-line="23" selection-end-column="37" />
107
+              <folding />
125 108
             </state>
126 109
           </provider>
127 110
         </entry>
@@ -145,8 +128,28 @@
145 128
       <find>socket.io</find>
146 129
       <find>wrapper</find>
147 130
       <find>getChartOption</find>
131
+      <find>Started</find>
132
+      <find>0x</find>
133
+      <find>Descriptor</find>
134
+      <find>readRequest</find>
135
+      <find>StaticReadOnlyCharacteristic</find>
136
+      <find>onReadRequest</find>
137
+      <find>send</find>
138
+      <find>_aclStream</find>
139
+      <find>blueTouth</find>
140
+      <find>drop_debugger</find>
141
+      <find>electron-debug</find>
142
+      <find>zx</find>
143
+      <find>debug</find>
144
+      <find>Vue.config.d</find>
145
+      <find>bleno</find>
148 146
     </findStrings>
147
+    <replaceStrings>
148
+      <replace />
149
+    </replaceStrings>
149 150
     <dirStrings>
151
+      <dir>E:\node\electronVueDemo\node_modules</dir>
152
+      <dir>E:\node\electronVueDemo\node_modules\bleno</dir>
150 153
       <dir>E:\node\electronVueDemo</dir>
151 154
     </dirStrings>
152 155
   </component>
@@ -157,7 +160,6 @@
157 160
     <option name="CHANGED_PATHS">
158 161
       <list>
159 162
         <option value="$PROJECT_DIR$/static/socketClient.js" />
160
-        <option value="$PROJECT_DIR$/static/server/bin/www.js" />
161 163
         <option value="$PROJECT_DIR$/static/server/socketClient.js" />
162 164
         <option value="$PROJECT_DIR$/src/renderer/components/Scan.vue" />
163 165
         <option value="$PROJECT_DIR$/static/server/socketServer.js" />
@@ -165,19 +167,27 @@
165 167
         <option value="$PROJECT_DIR$/src/main/index.js" />
166 168
         <option value="$PROJECT_DIR$/src/renderer/App.vue" />
167 169
         <option value="$PROJECT_DIR$/static/server/protocal/protocal.js" />
168
-        <option value="$PROJECT_DIR$/src/renderer/main.js" />
169 170
         <option value="$PROJECT_DIR$/src/renderer/utils/commonFunction.js" />
170 171
         <option value="$PROJECT_DIR$/src/renderer/utils/FunctionSet.js" />
171 172
         <option value="$PROJECT_DIR$/src/renderer/components/LandingPage/SystemInformation.vue" />
172
-        <option value="$PROJECT_DIR$/src/renderer/store/modules/socket.js" />
173 173
         <option value="$PROJECT_DIR$/src/renderer/router/index.js" />
174 174
         <option value="$PROJECT_DIR$/static/server/protocal/checksum.js" />
175 175
         <option value="$PROJECT_DIR$/static/server/protocal/sendProtocal.js" />
176
-        <option value="$PROJECT_DIR$/src/renderer/components/LandingPage.vue" />
177
-        <option value="$PROJECT_DIR$/static/server/app.js" />
178 176
         <option value="$PROJECT_DIR$/src/renderer/components/Config.vue" />
179
-        <option value="$PROJECT_DIR$/static/server/protocal/commonFunction.js" />
180 177
         <option value="$PROJECT_DIR$/package.json" />
178
+        <option value="$PROJECT_DIR$/static/server/protocal/commonFunction.js" />
179
+        <option value="$PROJECT_DIR$/static/server/bin/www.js" />
180
+        <option value="$PROJECT_DIR$/src/renderer/components/LandingPage.vue" />
181
+        <option value="$PROJECT_DIR$/static/server/characteristic.js" />
182
+        <option value="$PROJECT_DIR$/node_modules/bleno/examples/echo/main.js" />
183
+        <option value="$PROJECT_DIR$/src/renderer/store/modules/socket.js" />
184
+        <option value="$PROJECT_DIR$/src/main/index.dev.js" />
185
+        <option value="$PROJECT_DIR$/node_modules/bleno/lib/hci-socket/gatt.js" />
186
+        <option value="$PROJECT_DIR$/node_modules/engine.io-client/node_modules/debug/src/browser.js" />
187
+        <option value="$PROJECT_DIR$/static/server/blueTouth.js" />
188
+        <option value="$PROJECT_DIR$/static/server/app.js" />
189
+        <option value="$PROJECT_DIR$/node_modules/engine.io/node_modules/debug/src/browser.js" />
190
+        <option value="$PROJECT_DIR$/src/renderer/main.js" />
181 191
       </list>
182 192
     </option>
183 193
   </component>
@@ -217,7 +227,7 @@
217 227
       <foldersAlwaysOnTop value="true" />
218 228
     </navigator>
219 229
     <panes>
220
-      <pane id="Scope" />
230
+      <pane id="Scratches" />
221 231
       <pane id="ProjectPane">
222 232
         <subPane>
223 233
           <expand>
@@ -225,6 +235,11 @@
225 235
               <item name="electronVueDemo" type="b2602c69:ProjectViewProjectNode" />
226 236
               <item name="electronVueDemo" type="2a2b976b:PhpTreeStructureProvider$1" />
227 237
             </path>
238
+            <path>
239
+              <item name="electronVueDemo" type="b2602c69:ProjectViewProjectNode" />
240
+              <item name="electronVueDemo" type="2a2b976b:PhpTreeStructureProvider$1" />
241
+              <item name=".electron-vue" type="2a2b976b:PhpTreeStructureProvider$1" />
242
+            </path>
228 243
             <path>
229 244
               <item name="electronVueDemo" type="b2602c69:ProjectViewProjectNode" />
230 245
               <item name="electronVueDemo" type="2a2b976b:PhpTreeStructureProvider$1" />
@@ -307,25 +322,25 @@
307 322
           <select />
308 323
         </subPane>
309 324
       </pane>
310
-      <pane id="Scratches" />
325
+      <pane id="Scope" />
311 326
     </panes>
312 327
   </component>
313 328
   <component name="PropertiesComponent">
314
-    <property name="settings.editor.selected.configurable" value="reference.webide.settings.project.settings.php" />
329
+    <property name="settings.editor.selected.configurable" value="reference.webide.settings.project.settings.php.debug" />
315 330
     <property name="WebServerToolWindowFactoryState" value="false" />
316 331
     <property name="nodejs_interpreter_path" value="C:/Program Files/nodejs/node" />
317
-    <property name="last_opened_file_path" value="$PROJECT_DIR$/../vueWithEcharts" />
332
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/../node-bluetooth" />
318 333
   </component>
319 334
   <component name="RecentsManager">
320 335
     <key name="MoveFile.RECENT_KEYS">
321 336
       <recent name="E:\electronVueDemo\static\server" />
322 337
     </key>
323 338
     <key name="CopyFile.RECENT_KEYS">
339
+      <recent name="E:\node\electronVueDemo\static\server" />
324 340
       <recent name="E:\node\electronVueDemo\src\renderer\components" />
325 341
       <recent name="E:\node\electronVueDemo\static\server\protocal" />
326 342
       <recent name="E:\node\electronVueDemo\src\renderer\utils" />
327 343
       <recent name="E:\node\electronVueDemo\src\renderer" />
328
-      <recent name="E:\electronVueDemo\src\renderer\store\modules" />
329 344
     </key>
330 345
   </component>
331 346
   <component name="RunDashboard">
@@ -365,34 +380,35 @@
365 380
       <workItem from="1587463147171" duration="23027000" />
366 381
       <workItem from="1587557912413" duration="32543000" />
367 382
       <workItem from="1587719159460" duration="1879000" />
368
-      <workItem from="1587865170010" duration="21946000" />
383
+      <workItem from="1587865170010" duration="63407000" />
384
+      <workItem from="1588064262667" duration="7077000" />
369 385
     </task>
370 386
     <servers />
371 387
   </component>
372 388
   <component name="TimeTrackingManager">
373
-    <option name="totallyTimeSpent" value="90434000" />
389
+    <option name="totallyTimeSpent" value="138972000" />
374 390
   </component>
375 391
   <component name="ToolWindowManager">
376 392
     <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
377 393
     <editor active="true" />
378 394
     <layout>
379
-      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24413647" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
395
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24520256" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
380 396
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
381 397
       <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
382 398
       <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
383
-      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32861805" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
399
+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
400
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.21762785" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
384 401
       <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
385 402
       <window_info id="npm" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
386 403
       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
387
-      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2491839" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
388
-      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
404
+      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.2491839" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
405
+      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.28400436" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
389 406
       <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
390 407
       <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
391 408
       <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
392 409
       <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
393 410
       <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
394 411
       <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
395
-      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
396 412
       <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
397 413
     </layout>
398 414
   </component>
@@ -404,405 +420,373 @@
404 420
   </component>
405 421
   <component name="XDebuggerManager">
406 422
     <breakpoint-manager>
407
-      <option name="time" value="2" />
423
+      <breakpoints-dialog>
424
+        <breakpoints-dialog />
425
+      </breakpoints-dialog>
426
+      <option name="time" value="5" />
408 427
     </breakpoint-manager>
409 428
     <watches-manager />
410 429
   </component>
411 430
   <component name="editorHistoryManager">
412
-    <entry file="file://$PROJECT_DIR$/src/renderer/utils/commonFunction.js" />
413
-    <entry file="file://$PROJECT_DIR$/static/server/protocal/protocal.js" />
414
-    <entry file="file://$PROJECT_DIR$/static/server/app.js">
431
+    <entry file="file://$PROJECT_DIR$/static/server/socketClient.js" />
432
+    <entry file="file://$PROJECT_DIR$/static/server/bin/www.js">
415 433
       <provider selected="true" editor-type-id="text-editor">
416
-        <state relative-caret-position="363">
417
-          <caret line="91" column="45" lean-forward="false" selection-start-line="91" selection-start-column="40" selection-end-line="91" selection-end-column="45" />
418
-          <folding />
434
+        <state relative-caret-position="374">
435
+          <caret line="22" column="37" lean-forward="false" selection-start-line="22" selection-start-column="37" selection-end-line="22" selection-end-column="37" />
419 436
         </state>
420 437
       </provider>
421 438
     </entry>
422
-    <entry file="file://$PROJECT_DIR$/static/server/protocal/command.js">
439
+    <entry file="file://$PROJECT_DIR$/src/renderer/store/index.js">
423 440
       <provider selected="true" editor-type-id="text-editor">
424 441
         <state relative-caret-position="221">
425
-          <caret line="13" column="22" lean-forward="false" selection-start-line="13" selection-start-column="22" selection-end-line="13" selection-end-column="22" />
426
-          <folding />
442
+          <caret line="16" column="47" lean-forward="true" selection-start-line="16" selection-start-column="47" selection-end-line="16" selection-end-column="47" />
427 443
         </state>
428 444
       </provider>
429 445
     </entry>
430
-    <entry file="file://$PROJECT_DIR$/src/renderer/components/LandingPage.vue">
446
+    <entry file="file://$PROJECT_DIR$/src/renderer/utils/rsa.js" />
447
+    <entry file="file://$PROJECT_DIR$/src/renderer/utils/commonFunction.js" />
448
+    <entry file="file://$PROJECT_DIR$/static/server/protocal/protocal.js" />
449
+    <entry file="file://$PROJECT_DIR$/static/server/protocal/global.js">
450
+      <provider selected="true" editor-type-id="text-editor">
451
+        <state relative-caret-position="85">
452
+          <caret line="5" column="29" lean-forward="false" selection-start-line="5" selection-start-column="29" selection-end-line="5" selection-end-column="29" />
453
+        </state>
454
+      </provider>
455
+    </entry>
456
+    <entry file="file://$PROJECT_DIR$/static/server/socketClient.js" />
457
+    <entry file="file://$PROJECT_DIR$/src/renderer/App.vue">
431 458
       <provider selected="true" editor-type-id="text-editor">
432 459
         <state relative-caret-position="289">
433
-          <caret line="269" column="37" lean-forward="false" selection-start-line="269" selection-start-column="37" selection-end-line="269" selection-end-column="37" />
434
-          <folding>
435
-            <element signature="n#style#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
436
-            <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
437
-            <element signature="n#style#0;n#chart#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
438
-            <element signature="e#2196#2226#0" expanded="true" />
439
-            <element signature="e#3477#9957#0" expanded="false" />
440
-          </folding>
460
+          <caret line="17" column="0" lean-forward="false" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
441 461
         </state>
442 462
       </provider>
443 463
     </entry>
444 464
     <entry file="file://$PROJECT_DIR$/src/renderer/utils/FunctionSet.js">
445 465
       <provider selected="true" editor-type-id="text-editor">
446
-        <state relative-caret-position="51">
447
-          <caret line="6" column="24" lean-forward="true" selection-start-line="6" selection-start-column="24" selection-end-line="6" selection-end-column="24" />
448
-          <folding />
466
+        <state relative-caret-position="748">
467
+          <caret line="44" column="6" lean-forward="true" selection-start-line="5" selection-start-column="1" selection-end-line="44" selection-end-column="6" />
449 468
         </state>
450 469
       </provider>
451 470
     </entry>
452
-    <entry file="file://$PROJECT_DIR$/src/renderer/store/modules/socket.js">
471
+    <entry file="file://$PROJECT_DIR$/src/renderer/store/modules/index.js">
453 472
       <provider selected="true" editor-type-id="text-editor">
454
-        <state relative-caret-position="17">
455
-          <caret line="65" column="1" lean-forward="true" selection-start-line="65" selection-start-column="1" selection-end-line="65" selection-end-column="1" />
456
-          <folding>
457
-            <element signature="e#0#21#0" expanded="false" />
458
-          </folding>
473
+        <state relative-caret-position="0">
474
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
459 475
         </state>
460 476
       </provider>
461 477
     </entry>
462
-    <entry file="file://$PROJECT_DIR$/src/renderer/router/index.js">
478
+    <entry file="file://$PROJECT_DIR$/src/renderer/store/index.js">
463 479
       <provider selected="true" editor-type-id="text-editor">
464
-        <state relative-caret-position="289">
465
-          <caret line="18" column="19" lean-forward="false" selection-start-line="18" selection-start-column="19" selection-end-line="18" selection-end-column="19" />
480
+        <state relative-caret-position="170">
481
+          <caret line="13" column="6" lean-forward="false" selection-start-line="13" selection-start-column="6" selection-end-line="13" selection-end-column="6" />
466 482
           <folding />
467 483
         </state>
468 484
       </provider>
469 485
     </entry>
470
-    <entry file="file://$PROJECT_DIR$/src/renderer/main.js">
486
+    <entry file="file://$PROJECT_DIR$/src/renderer/components/Scan.vue" />
487
+    <entry file="file://$PROJECT_DIR$/src/renderer/components/LandingPage/SystemInformation.vue">
471 488
       <provider selected="true" editor-type-id="text-editor">
472
-        <state relative-caret-position="187">
473
-          <caret line="19" column="5" lean-forward="false" selection-start-line="19" selection-start-column="5" selection-end-line="19" selection-end-column="5" />
474
-          <folding>
475
-            <element signature="e#0#21#0" expanded="false" />
476
-          </folding>
489
+        <state relative-caret-position="544">
490
+          <caret line="41" column="22" lean-forward="false" selection-start-line="41" selection-start-column="35" selection-end-line="41" selection-end-column="36" />
491
+          <folding />
477 492
         </state>
478 493
       </provider>
479 494
     </entry>
480
-    <entry file="file://$PROJECT_DIR$/src/main/index.js">
495
+    <entry file="file://$PROJECT_DIR$/src/renderer/router/index.js">
481 496
       <provider selected="true" editor-type-id="text-editor">
482
-        <state relative-caret-position="255">
483
-          <caret line="16" column="5" lean-forward="false" selection-start-line="16" selection-start-column="5" selection-end-line="16" selection-end-column="5" />
484
-          <folding>
485
-            <element signature="e#0#45#0" expanded="false" />
486
-          </folding>
497
+        <state relative-caret-position="272">
498
+          <caret line="17" column="22" lean-forward="false" selection-start-line="17" selection-start-column="16" selection-end-line="17" selection-end-column="22" />
499
+          <folding />
487 500
         </state>
488 501
       </provider>
489 502
     </entry>
490
-    <entry file="file://$PROJECT_DIR$/static/server/bin/www.js">
503
+    <entry file="file://$PROJECT_DIR$/static/server/protocal/checksum.js">
491 504
       <provider selected="true" editor-type-id="text-editor">
492
-        <state relative-caret-position="204">
493
-          <caret line="12" column="25" lean-forward="false" selection-start-line="12" selection-start-column="25" selection-end-line="12" selection-end-column="25" />
494
-          <folding />
505
+        <state relative-caret-position="102">
506
+          <caret line="6" column="1" lean-forward="false" selection-start-line="6" selection-start-column="1" selection-end-line="6" selection-end-column="1" />
495 507
         </state>
496 508
       </provider>
497 509
     </entry>
498
-    <entry file="file://$PROJECT_DIR$/static/server/app.js">
510
+    <entry file="file://$PROJECT_DIR$/static/server/protocal/command.js">
499 511
       <provider selected="true" editor-type-id="text-editor">
500
-        <state relative-caret-position="1309">
501
-          <caret line="77" column="9" lean-forward="false" selection-start-line="77" selection-start-column="9" selection-end-line="77" selection-end-column="9" />
502
-          <folding />
512
+        <state relative-caret-position="241">
513
+          <caret line="15" column="1" lean-forward="false" selection-start-line="15" selection-start-column="1" selection-end-line="15" selection-end-column="1" />
503 514
         </state>
504 515
       </provider>
505 516
     </entry>
506
-    <entry file="file://$PROJECT_DIR$/src/renderer/components/LandingPage.vue">
517
+    <entry file="file://$PROJECT_DIR$/src/renderer/components/Config.vue">
507 518
       <provider selected="true" editor-type-id="text-editor">
508
-        <state relative-caret-position="1173">
509
-          <caret line="69" column="33" lean-forward="false" selection-start-line="69" selection-start-column="33" selection-end-line="69" selection-end-column="33" />
519
+        <state relative-caret-position="369">
520
+          <caret line="100" column="45" lean-forward="false" selection-start-line="100" selection-start-column="45" selection-end-line="100" selection-end-column="45" />
510 521
           <folding>
511
-            <element signature="n#style#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
512
-            <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
513
-            <element signature="n#style#0;n#chart#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
514
-            <element signature="e#2196#2226#0" expanded="true" />
515
-            <element signature="e#3477#9957#0" expanded="false" />
522
+            <element signature="n#style#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="false" />
516 523
           </folding>
517 524
         </state>
518 525
       </provider>
519 526
     </entry>
520
-    <entry file="file://$PROJECT_DIR$/src/renderer/App.vue">
527
+    <entry file="file://$PROJECT_DIR$/node_modules/node-bluetooth/example/index.js">
521 528
       <provider selected="true" editor-type-id="text-editor">
522
-        <state relative-caret-position="153">
523
-          <caret line="9" column="0" lean-forward="false" selection-start-line="9" selection-start-column="0" selection-end-line="9" selection-end-column="0" />
524
-          <folding />
529
+        <state relative-caret-position="0">
530
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
525 531
         </state>
526 532
       </provider>
527 533
     </entry>
528
-    <entry file="file://$PROJECT_DIR$/static/server/protocal/command.js">
534
+    <entry file="file://$PROJECT_DIR$/static/server/protocal/sendProtocal.js">
529 535
       <provider selected="true" editor-type-id="text-editor">
530
-        <state relative-caret-position="221">
531
-          <caret line="13" column="22" lean-forward="false" selection-start-line="13" selection-start-column="22" selection-end-line="13" selection-end-column="22" />
532
-          <folding />
536
+        <state relative-caret-position="410">
537
+          <caret line="85" column="28" lean-forward="false" selection-start-line="85" selection-start-column="28" selection-end-line="85" selection-end-column="28" />
538
+          <folding>
539
+            <element signature="e#132#277#0" expanded="false" />
540
+            <element signature="e#314#459#0" expanded="false" />
541
+            <element signature="e#501#646#0" expanded="false" />
542
+            <element signature="e#686#831#0" expanded="false" />
543
+            <element signature="e#867#966#0" expanded="false" />
544
+          </folding>
533 545
         </state>
534 546
       </provider>
535 547
     </entry>
536
-    <entry file="file://$PROJECT_DIR$/static/server/protocal/protocal.js" />
537
-    <entry file="file://$PROJECT_DIR$/package.json">
548
+    <entry file="file://$PROJECT_DIR$/static/server/protocal/commonFunction.js">
538 549
       <provider selected="true" editor-type-id="text-editor">
539
-        <state relative-caret-position="612">
540
-          <caret line="36" column="33" lean-forward="false" selection-start-line="36" selection-start-column="33" selection-end-line="36" selection-end-column="33" />
541
-          <folding>
542
-            <marker date="1587894241338" expanded="true" signature="1638:1669" ph="{&quot;axios&quot;: &quot;^0.18.0&quot;...}" />
543
-            <marker date="1587894241338" expanded="true" signature="3747:3752" ph="{&quot;utf-8-validate&quot;: &quot;^5.0.2&quot;...}" />
544
-          </folding>
550
+        <state relative-caret-position="0">
551
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="39" selection-end-column="1" />
545 552
         </state>
546 553
       </provider>
547 554
     </entry>
548
-    <entry file="file://$PROJECT_DIR$/src/renderer/router/index.js">
555
+    <entry file="file://$PROJECT_DIR$/static/server/bin/www.js">
549 556
       <provider selected="true" editor-type-id="text-editor">
550
-        <state relative-caret-position="0">
551
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
552
-          <folding />
557
+        <state relative-caret-position="102">
558
+          <caret line="6" column="0" lean-forward="false" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
553 559
         </state>
554 560
       </provider>
555 561
     </entry>
556
-    <entry file="file://$PROJECT_DIR$/src/renderer/components/LandingPage/SystemInformation.vue">
562
+    <entry file="file://$PROJECT_DIR$/static/server/socketServer.js">
557 563
       <provider selected="true" editor-type-id="text-editor">
558
-        <state relative-caret-position="561">
559
-          <caret line="33" column="27" lean-forward="false" selection-start-line="33" selection-start-column="27" selection-end-line="33" selection-end-column="27" />
564
+        <state relative-caret-position="187">
565
+          <caret line="11" column="0" lean-forward="false" selection-start-line="11" selection-start-column="0" selection-end-line="11" selection-end-column="27" />
560 566
         </state>
561 567
       </provider>
562 568
     </entry>
563
-    <entry file="file://$PROJECT_DIR$/src/renderer/main.js">
569
+    <entry file="file://$PROJECT_DIR$/src/renderer/components/LandingPage.vue">
564 570
       <provider selected="true" editor-type-id="text-editor">
565
-        <state relative-caret-position="272">
566
-          <caret line="23" column="27" lean-forward="false" selection-start-line="23" selection-start-column="27" selection-end-line="23" selection-end-column="27" />
571
+        <state relative-caret-position="221">
572
+          <caret line="36" column="28" lean-forward="false" selection-start-line="36" selection-start-column="28" selection-end-line="36" selection-end-column="28" />
567 573
           <folding>
568
-            <element signature="e#0#21#0" expanded="false" />
574
+            <element signature="n#style#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="false" />
575
+            <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="false" />
576
+            <element signature="n#style#0;n#chart#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="false" />
577
+            <element signature="e#2242#2272#0" expanded="false" />
578
+            <element signature="e#3610#10090#0" expanded="false" />
569 579
           </folding>
570 580
         </state>
571 581
       </provider>
572 582
     </entry>
573
-    <entry file="file://$PROJECT_DIR$/static/server/app.js">
583
+    <entry file="file://$PROJECT_DIR$/node_modules/usb/usb.js">
584
+      <provider selected="true" editor-type-id="text-editor">
585
+        <state relative-caret-position="-6995">
586
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
587
+        </state>
588
+      </provider>
589
+    </entry>
590
+    <entry file="file://$PROJECT_DIR$/node_modules/bleno/examples/blink1/device-information-service.js">
574 591
       <provider selected="true" editor-type-id="text-editor">
575 592
         <state relative-caret-position="340">
576
-          <caret line="20" column="28" lean-forward="false" selection-start-line="20" selection-start-column="28" selection-end-line="20" selection-end-column="28" />
577
-          <folding />
593
+          <caret line="20" column="41" lean-forward="false" selection-start-line="20" selection-start-column="17" selection-end-line="20" selection-end-column="41" />
578 594
         </state>
579 595
       </provider>
580 596
     </entry>
581
-    <entry file="file://$PROJECT_DIR$/src/renderer/store/modules/socket.js">
597
+    <entry file="file://$PROJECT_DIR$/node_modules/bleno/examples/blink1/blink1-rgb-characteristic.js">
582 598
       <provider selected="true" editor-type-id="text-editor">
583
-        <state relative-caret-position="1734">
584
-          <caret line="102" column="41" lean-forward="true" selection-start-line="102" selection-start-column="41" selection-end-line="102" selection-end-column="41" />
585
-          <folding>
586
-            <element signature="e#0#21#0" expanded="false" />
587
-          </folding>
599
+        <state relative-caret-position="102">
600
+          <caret line="6" column="18" lean-forward="false" selection-start-line="6" selection-start-column="18" selection-end-line="6" selection-end-column="18" />
588 601
         </state>
589 602
       </provider>
590 603
     </entry>
591
-    <entry file="file://$PROJECT_DIR$/static/server/protocal/global.js">
604
+    <entry file="file://$PROJECT_DIR$/node_modules/bleno/examples/pizza/pizza-bake-characteristic.js">
592 605
       <provider selected="true" editor-type-id="text-editor">
593
-        <state relative-caret-position="0">
606
+        <state relative-caret-position="-117">
594 607
           <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
595 608
         </state>
596 609
       </provider>
597 610
     </entry>
598
-    <entry file="file://$PROJECT_DIR$/static/server/socketClient.js" />
599
-    <entry file="file://$PROJECT_DIR$/static/server/bin/www.js">
611
+    <entry file="file://$PROJECT_DIR$/node_modules/bleno/examples/echo/characteristic.js">
600 612
       <provider selected="true" editor-type-id="text-editor">
601
-        <state relative-caret-position="374">
602
-          <caret line="22" column="37" lean-forward="false" selection-start-line="22" selection-start-column="37" selection-end-line="22" selection-end-column="37" />
603
-          <folding />
613
+        <state relative-caret-position="663">
614
+          <caret line="51" column="35" lean-forward="false" selection-start-line="51" selection-start-column="17" selection-end-line="51" selection-end-column="35" />
604 615
         </state>
605 616
       </provider>
606 617
     </entry>
607
-    <entry file="file://$PROJECT_DIR$/src/renderer/store/index.js">
618
+    <entry file="file://$PROJECT_DIR$/node_modules/bleno/examples/pizza/pizza.js">
608 619
       <provider selected="true" editor-type-id="text-editor">
609
-        <state relative-caret-position="221">
610
-          <caret line="16" column="47" lean-forward="true" selection-start-line="16" selection-start-column="47" selection-end-line="16" selection-end-column="47" />
620
+        <state relative-caret-position="-324">
621
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
611 622
         </state>
612 623
       </provider>
613 624
     </entry>
614
-    <entry file="file://$PROJECT_DIR$/static/server/bin/www.js">
615
-      <provider selected="true" editor-type-id="text-editor">
616
-        <state relative-caret-position="204">
617
-          <caret line="12" column="25" lean-forward="false" selection-start-line="12" selection-start-column="25" selection-end-line="12" selection-end-column="25" />
618
-          <folding />
625
+    <entry file="file://$PROJECT_DIR$/node_modules/bleno/examples/pizza/README.md">
626
+      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
627
+        <state split_layout="SPLIT">
628
+          <first_editor relative-caret-position="0">
629
+            <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
630
+          </first_editor>
631
+          <second_editor />
619 632
         </state>
620 633
       </provider>
621 634
     </entry>
622
-    <entry file="file://$PROJECT_DIR$/src/renderer/utils/rsa.js" />
623
-    <entry file="file://$PROJECT_DIR$/src/renderer/utils/commonFunction.js" />
624
-    <entry file="file://$PROJECT_DIR$/static/server/protocal/protocal.js" />
625
-    <entry file="file://$PROJECT_DIR$/static/server/protocal/global.js">
635
+    <entry file="file://$PROJECT_DIR$/node_modules/bleno/examples/battery-service/battery-service.js">
626 636
       <provider selected="true" editor-type-id="text-editor">
627
-        <state relative-caret-position="85">
628
-          <caret line="5" column="29" lean-forward="false" selection-start-line="5" selection-start-column="29" selection-end-line="5" selection-end-column="29" />
637
+        <state relative-caret-position="323">
638
+          <caret line="19" column="31" lean-forward="false" selection-start-line="19" selection-start-column="17" selection-end-line="19" selection-end-column="31" />
629 639
         </state>
630 640
       </provider>
631 641
     </entry>
632
-    <entry file="file://$PROJECT_DIR$/src/main/index.js">
642
+    <entry file="file://$PROJECT_DIR$/node_modules/bleno/examples/pizza/pizza-service.js">
633 643
       <provider selected="true" editor-type-id="text-editor">
634
-        <state relative-caret-position="391">
635
-          <caret line="23" column="4" lean-forward="false" selection-start-line="23" selection-start-column="4" selection-end-line="23" selection-end-column="4" />
636
-          <folding>
637
-            <element signature="e#0#45#0" expanded="false" />
638
-          </folding>
644
+        <state relative-caret-position="0">
645
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
639 646
         </state>
640 647
       </provider>
641 648
     </entry>
642
-    <entry file="file://$PROJECT_DIR$/src/renderer/main.js">
649
+    <entry file="file://$PROJECT_DIR$/node_modules/bleno/examples/pizza/peripheral.js">
643 650
       <provider selected="true" editor-type-id="text-editor">
644
-        <state relative-caret-position="272">
645
-          <caret line="32" column="27" lean-forward="false" selection-start-line="32" selection-start-column="27" selection-end-line="32" selection-end-column="27" />
646
-          <folding>
647
-            <element signature="e#0#21#0" expanded="false" />
648
-          </folding>
651
+        <state relative-caret-position="237">
652
+          <caret line="37" column="31" lean-forward="false" selection-start-line="37" selection-start-column="27" selection-end-line="37" selection-end-column="31" />
649 653
         </state>
650 654
       </provider>
651 655
     </entry>
652
-    <entry file="file://$PROJECT_DIR$/static/server/socketClient.js" />
653
-    <entry file="file://$PROJECT_DIR$/static/server/socketServer.js">
656
+    <entry file="file://$PROJECT_DIR$/node_modules/bleno/examples/battery-service/main.js">
654 657
       <provider selected="true" editor-type-id="text-editor">
655
-        <state relative-caret-position="34">
656
-          <caret line="2" column="16" lean-forward="false" selection-start-line="2" selection-start-column="16" selection-end-line="2" selection-end-column="16" />
657
-          <folding />
658
+        <state relative-caret-position="289">
659
+          <caret line="17" column="3" lean-forward="false" selection-start-line="17" selection-start-column="3" selection-end-line="17" selection-end-column="3" />
660
+          <folding>
661
+            <element signature="n#!!doc" expanded="false" />
662
+          </folding>
658 663
         </state>
659 664
       </provider>
660 665
     </entry>
661
-    <entry file="file://$PROJECT_DIR$/src/renderer/App.vue">
666
+    <entry file="file://$PROJECT_DIR$/node_modules/bleno/examples/echo/main.js">
662 667
       <provider selected="true" editor-type-id="text-editor">
663
-        <state relative-caret-position="289">
664
-          <caret line="17" column="0" lean-forward="false" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
665
-          <folding />
668
+        <state relative-caret-position="255">
669
+          <caret line="15" column="3" lean-forward="true" selection-start-line="15" selection-start-column="3" selection-end-line="15" selection-end-column="3" />
666 670
         </state>
667 671
       </provider>
668 672
     </entry>
669
-    <entry file="file://$PROJECT_DIR$/src/renderer/utils/FunctionSet.js">
673
+    <entry file="file://$PROJECT_DIR$/static/server/characteristic.js" />
674
+    <entry file="file://$PROJECT_DIR$/node_modules/bleno/examples/battery-service/battery-level-characteristic.js">
670 675
       <provider selected="true" editor-type-id="text-editor">
671
-        <state relative-caret-position="748">
672
-          <caret line="44" column="6" lean-forward="true" selection-start-line="5" selection-start-column="1" selection-end-line="44" selection-end-column="6" />
673
-          <folding />
676
+        <state relative-caret-position="436">
677
+          <caret line="28" column="50" lean-forward="false" selection-start-line="28" selection-start-column="37" selection-end-line="28" selection-end-column="50" />
674 678
         </state>
675 679
       </provider>
676 680
     </entry>
677
-    <entry file="file://$PROJECT_DIR$/src/renderer/store/modules/socket.js">
681
+    <entry file="file://$PROJECT_DIR$/package.json">
678 682
       <provider selected="true" editor-type-id="text-editor">
679
-        <state relative-caret-position="102">
680
-          <caret line="6" column="0" lean-forward="true" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
683
+        <state relative-caret-position="279">
684
+          <caret line="93" column="19" lean-forward="false" selection-start-line="93" selection-start-column="5" selection-end-line="93" selection-end-column="19" />
681 685
           <folding>
682
-            <element signature="e#0#21#0" expanded="false" />
686
+            <marker date="1588122267576" expanded="true" signature="1638:1669" ph="{&quot;axios&quot;: &quot;^0.18.0&quot;...}" />
687
+            <marker date="1588122267576" expanded="true" signature="3814:3819" ph="{&quot;utf-8-validate&quot;: &quot;^5.0.2&quot;...}" />
683 688
           </folding>
684 689
         </state>
685 690
       </provider>
686 691
     </entry>
687
-    <entry file="file://$PROJECT_DIR$/src/renderer/store/modules/index.js">
692
+    <entry file="file://$PROJECT_DIR$/.electron-vue/build.js">
688 693
       <provider selected="true" editor-type-id="text-editor">
689
-        <state relative-caret-position="0">
690
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
694
+        <state relative-caret-position="159">
695
+          <caret line="110" column="0" lean-forward="true" selection-start-line="110" selection-start-column="0" selection-end-line="110" selection-end-column="0" />
691 696
           <folding />
692 697
         </state>
693 698
       </provider>
694 699
     </entry>
695
-    <entry file="file://$PROJECT_DIR$/src/renderer/store/index.js">
700
+    <entry file="file://$PROJECT_DIR$/.electron-vue/webpack.web.config.js">
696 701
       <provider selected="true" editor-type-id="text-editor">
697
-        <state relative-caret-position="170">
698
-          <caret line="13" column="6" lean-forward="false" selection-start-line="13" selection-start-column="6" selection-end-line="13" selection-end-column="6" />
702
+        <state relative-caret-position="0">
703
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
699 704
           <folding />
700 705
         </state>
701 706
       </provider>
702 707
     </entry>
703
-    <entry file="file://$PROJECT_DIR$/src/renderer/components/Scan.vue">
708
+    <entry file="file://$PROJECT_DIR$/node_modules/bleno/lib/hci-socket/gatt.js">
704 709
       <provider selected="true" editor-type-id="text-editor">
705
-        <state relative-caret-position="255">
706
-          <caret line="15" column="3" lean-forward="true" selection-start-line="15" selection-start-column="3" selection-end-line="15" selection-end-column="3" />
710
+        <state relative-caret-position="135">
711
+          <caret line="730" column="0" lean-forward="false" selection-start-line="730" selection-start-column="0" selection-end-line="730" selection-end-column="0" />
707 712
           <folding />
708 713
         </state>
709 714
       </provider>
710 715
     </entry>
711
-    <entry file="file://$PROJECT_DIR$/src/renderer/components/LandingPage/SystemInformation.vue">
716
+    <entry file="file://$PROJECT_DIR$/node_modules/engine.io-client/engine.io.js">
712 717
       <provider selected="true" editor-type-id="text-editor">
713
-        <state relative-caret-position="544">
714
-          <caret line="41" column="22" lean-forward="false" selection-start-line="41" selection-start-column="35" selection-end-line="41" selection-end-column="36" />
718
+        <state relative-caret-position="-2703">
719
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
715 720
           <folding />
716 721
         </state>
717 722
       </provider>
718 723
     </entry>
719
-    <entry file="file://$PROJECT_DIR$/src/renderer/router/index.js">
724
+    <entry file="file://$PROJECT_DIR$/node_modules/engine.io-client/node_modules/debug/src/browser.js">
720 725
       <provider selected="true" editor-type-id="text-editor">
721
-        <state relative-caret-position="272">
722
-          <caret line="17" column="22" lean-forward="false" selection-start-line="17" selection-start-column="16" selection-end-line="17" selection-end-column="22" />
723
-          <folding />
726
+        <state relative-caret-position="58">
727
+          <caret line="171" column="3" lean-forward="true" selection-start-line="171" selection-start-column="3" selection-end-line="171" selection-end-column="3" />
728
+          <folding>
729
+            <element signature="n#!!doc" expanded="false" />
730
+          </folding>
724 731
         </state>
725 732
       </provider>
726 733
     </entry>
727
-    <entry file="file://$PROJECT_DIR$/static/server/protocal/checksum.js">
734
+    <entry file="file://$PROJECT_DIR$/src/renderer/store/modules/socket.js">
728 735
       <provider selected="true" editor-type-id="text-editor">
729
-        <state relative-caret-position="102">
730
-          <caret line="6" column="1" lean-forward="false" selection-start-line="6" selection-start-column="1" selection-end-line="6" selection-end-column="1" />
736
+        <state relative-caret-position="374">
737
+          <caret line="23" column="37" lean-forward="true" selection-start-line="23" selection-start-column="37" selection-end-line="23" selection-end-column="37" />
731 738
           <folding />
732 739
         </state>
733 740
       </provider>
734 741
     </entry>
735
-    <entry file="file://$PROJECT_DIR$/static/server/protocal/sendProtocal.js">
742
+    <entry file="file://$PROJECT_DIR$/static/server/blueTouth.js">
736 743
       <provider selected="true" editor-type-id="text-editor">
737
-        <state relative-caret-position="374">
738
-          <caret line="85" column="28" lean-forward="false" selection-start-line="85" selection-start-column="28" selection-end-line="85" selection-end-column="28" />
744
+        <state relative-caret-position="1404">
745
+          <caret line="122" column="14" lean-forward="false" selection-start-line="122" selection-start-column="14" selection-end-line="122" selection-end-column="14" />
739 746
           <folding>
740
-            <element signature="e#132#277#0" expanded="false" />
741
-            <element signature="e#314#459#0" expanded="false" />
742
-            <element signature="e#501#646#0" expanded="false" />
743
-            <element signature="e#686#831#0" expanded="false" />
744
-            <element signature="e#867#966#0" expanded="false" />
747
+            <element signature="n#!!block;n#Utf8ArrayToStr#0" expanded="false" />
745 748
           </folding>
746 749
         </state>
747 750
       </provider>
748 751
     </entry>
749
-    <entry file="file://$PROJECT_DIR$/static/server/protocal/command.js">
752
+    <entry file="file://$PROJECT_DIR$/src/main/index.js">
750 753
       <provider selected="true" editor-type-id="text-editor">
751
-        <state relative-caret-position="241">
752
-          <caret line="15" column="1" lean-forward="false" selection-start-line="15" selection-start-column="1" selection-end-line="15" selection-end-column="1" />
754
+        <state relative-caret-position="-136">
755
+          <caret line="23" column="4" lean-forward="false" selection-start-line="23" selection-start-column="4" selection-end-line="23" selection-end-column="4" />
753 756
           <folding />
754 757
         </state>
755 758
       </provider>
756 759
     </entry>
757
-    <entry file="file://$PROJECT_DIR$/src/renderer/components/Config.vue">
760
+    <entry file="file://$PROJECT_DIR$/src/main/index.dev.js">
758 761
       <provider selected="true" editor-type-id="text-editor">
759
-        <state relative-caret-position="369">
760
-          <caret line="100" column="45" lean-forward="false" selection-start-line="100" selection-start-column="45" selection-end-line="100" selection-end-column="45" />
761
-          <folding>
762
-            <element signature="n#style#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
763
-          </folding>
764
-        </state>
765
-      </provider>
766
-    </entry>
767
-    <entry file="file://$PROJECT_DIR$/src/renderer/components/LandingPage.vue">
768
-      <provider selected="true" editor-type-id="text-editor">
769
-        <state relative-caret-position="340">
770
-          <caret line="263" column="11" lean-forward="false" selection-start-line="263" selection-start-column="11" selection-end-line="263" selection-end-column="11" />
771
-          <folding>
772
-            <element signature="n#style#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
773
-            <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
774
-            <element signature="n#style#0;n#chart#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
775
-            <element signature="e#2196#2226#0" expanded="true" />
776
-            <element signature="e#3477#9957#0" expanded="false" />
777
-          </folding>
762
+        <state relative-caret-position="85">
763
+          <caret line="10" column="46" lean-forward="false" selection-start-line="10" selection-start-column="42" selection-end-line="10" selection-end-column="46" />
764
+          <folding />
778 765
         </state>
779 766
       </provider>
780 767
     </entry>
781
-    <entry file="file://$PROJECT_DIR$/static/server/protocal/commonFunction.js">
768
+    <entry file="file://$PROJECT_DIR$/node_modules/engine.io/node_modules/debug/src/browser.js">
782 769
       <provider selected="true" editor-type-id="text-editor">
783
-        <state relative-caret-position="578">
784
-          <caret line="37" column="46" lean-forward="false" selection-start-line="37" selection-start-column="46" selection-end-line="37" selection-end-column="46" />
770
+        <state relative-caret-position="-586">
771
+          <caret line="177" column="18" lean-forward="true" selection-start-line="177" selection-start-column="18" selection-end-line="177" selection-end-column="18" />
785 772
           <folding>
786
-            <element signature="n#!!block;n#pressureDataProcess#0" expanded="false" />
773
+            <element signature="n#!!doc" expanded="true" />
787 774
           </folding>
788 775
         </state>
789 776
       </provider>
790 777
     </entry>
791
-    <entry file="file://$PROJECT_DIR$/package.json">
778
+    <entry file="file://$PROJECT_DIR$/src/renderer/main.js">
792 779
       <provider selected="true" editor-type-id="text-editor">
793
-        <state relative-caret-position="205">
794
-          <caret line="111" column="26" lean-forward="true" selection-start-line="111" selection-start-column="26" selection-end-line="111" selection-end-column="26" />
795
-          <folding>
796
-            <marker date="1587894241338" expanded="true" signature="1638:1669" ph="{&quot;axios&quot;: &quot;^0.18.0&quot;...}" />
797
-            <marker date="1587894241338" expanded="true" signature="3747:3752" ph="{&quot;utf-8-validate&quot;: &quot;^5.0.2&quot;...}" />
798
-          </folding>
780
+        <state relative-caret-position="187">
781
+          <caret line="27" column="16" lean-forward="false" selection-start-line="27" selection-start-column="16" selection-end-line="27" selection-end-column="16" />
782
+          <folding />
799 783
         </state>
800 784
       </provider>
801 785
     </entry>
802 786
     <entry file="file://$PROJECT_DIR$/static/server/app.js">
803 787
       <provider selected="true" editor-type-id="text-editor">
804
-        <state relative-caret-position="374">
805
-          <caret line="197" column="1" lean-forward="true" selection-start-line="197" selection-start-column="1" selection-end-line="197" selection-end-column="1" />
788
+        <state relative-caret-position="-954">
789
+          <caret line="129" column="7" lean-forward="true" selection-start-line="129" selection-start-column="7" selection-end-line="129" selection-end-column="7" />
806 790
           <folding />
807 791
         </state>
808 792
       </provider>

+ 410 - 3
package-lock.json

@@ -3686,6 +3686,12 @@
3686 3686
         "restore-cursor": "1.0.1"
3687 3687
       }
3688 3688
     },
3689
+    "cli-spinners": {
3690
+      "version": "2.3.0",
3691
+      "resolved": "https://registry.npm.taobao.org/cli-spinners/download/cli-spinners-2.3.0.tgz?cache=0&sync_timestamp=1586157490774&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-spinners%2Fdownload%2Fcli-spinners-2.3.0.tgz",
3692
+      "integrity": "sha1-BjIjmktapMlYYQFCw0u3plH8jfU=",
3693
+      "dev": true
3694
+    },
3689 3695
     "cli-width": {
3690 3696
       "version": "2.2.1",
3691 3697
       "resolved": "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.1.tgz",
@@ -4698,6 +4704,15 @@
4698 4704
         }
4699 4705
       }
4700 4706
     },
4707
+    "defaults": {
4708
+      "version": "1.0.3",
4709
+      "resolved": "http://registry.npm.taobao.org/defaults/download/defaults-1.0.3.tgz",
4710
+      "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
4711
+      "dev": true,
4712
+      "requires": {
4713
+        "clone": "1.0.4"
4714
+      }
4715
+    },
4701 4716
     "defer-to-connect": {
4702 4717
       "version": "1.1.3",
4703 4718
       "resolved": "https://registry.npm.taobao.org/defer-to-connect/download/defer-to-connect-1.1.3.tgz?cache=0&sync_timestamp=1580234470231&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefer-to-connect%2Fdownload%2Fdefer-to-connect-1.1.3.tgz",
@@ -4843,8 +4858,7 @@
4843 4858
     "detect-libc": {
4844 4859
       "version": "1.0.3",
4845 4860
       "resolved": "http://registry.npm.taobao.org/detect-libc/download/detect-libc-1.0.3.tgz",
4846
-      "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
4847
-      "optional": true
4861
+      "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
4848 4862
     },
4849 4863
     "detect-node": {
4850 4864
       "version": "2.0.4",
@@ -5374,6 +5388,238 @@
5374 5388
         "mime": "2.4.4"
5375 5389
       }
5376 5390
     },
5391
+    "electron-rebuild": {
5392
+      "version": "1.10.1",
5393
+      "resolved": "https://registry.npm.taobao.org/electron-rebuild/download/electron-rebuild-1.10.1.tgz",
5394
+      "integrity": "sha1-9cuRFYbnA/544qDp9kTnp28TfZc=",
5395
+      "dev": true,
5396
+      "requires": {
5397
+        "colors": "1.4.0",
5398
+        "debug": "4.1.1",
5399
+        "detect-libc": "1.0.3",
5400
+        "fs-extra": "8.1.0",
5401
+        "node-abi": "2.16.0",
5402
+        "node-gyp": "6.1.0",
5403
+        "ora": "3.4.0",
5404
+        "spawn-rx": "3.0.0",
5405
+        "yargs": "14.2.3"
5406
+      },
5407
+      "dependencies": {
5408
+        "ansi-regex": {
5409
+          "version": "4.1.0",
5410
+          "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1570188663907&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz",
5411
+          "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
5412
+          "dev": true
5413
+        },
5414
+        "camelcase": {
5415
+          "version": "5.3.1",
5416
+          "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz",
5417
+          "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=",
5418
+          "dev": true
5419
+        },
5420
+        "colors": {
5421
+          "version": "1.4.0",
5422
+          "resolved": "https://registry.npm.taobao.org/colors/download/colors-1.4.0.tgz",
5423
+          "integrity": "sha1-xQSRR51MG9rtLJztMs98fcI2D3g=",
5424
+          "dev": true
5425
+        },
5426
+        "debug": {
5427
+          "version": "4.1.1",
5428
+          "resolved": "http://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
5429
+          "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
5430
+          "dev": true,
5431
+          "requires": {
5432
+            "ms": "2.1.2"
5433
+          }
5434
+        },
5435
+        "env-paths": {
5436
+          "version": "2.2.0",
5437
+          "resolved": "https://registry.npm.taobao.org/env-paths/download/env-paths-2.2.0.tgz",
5438
+          "integrity": "sha1-zcpVfcAJFSkX1hZuL+vh8DloXkM=",
5439
+          "dev": true
5440
+        },
5441
+        "find-up": {
5442
+          "version": "3.0.0",
5443
+          "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz",
5444
+          "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
5445
+          "dev": true,
5446
+          "requires": {
5447
+            "locate-path": "3.0.0"
5448
+          }
5449
+        },
5450
+        "fs-extra": {
5451
+          "version": "8.1.0",
5452
+          "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-8.1.0.tgz",
5453
+          "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=",
5454
+          "dev": true,
5455
+          "requires": {
5456
+            "graceful-fs": "4.2.3",
5457
+            "jsonfile": "4.0.0",
5458
+            "universalify": "0.1.2"
5459
+          }
5460
+        },
5461
+        "is-fullwidth-code-point": {
5462
+          "version": "2.0.0",
5463
+          "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
5464
+          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
5465
+          "dev": true
5466
+        },
5467
+        "jsonfile": {
5468
+          "version": "4.0.0",
5469
+          "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz",
5470
+          "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
5471
+          "dev": true,
5472
+          "requires": {
5473
+            "graceful-fs": "4.2.3"
5474
+          }
5475
+        },
5476
+        "locate-path": {
5477
+          "version": "3.0.0",
5478
+          "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz",
5479
+          "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
5480
+          "dev": true,
5481
+          "requires": {
5482
+            "p-locate": "3.0.0",
5483
+            "path-exists": "3.0.0"
5484
+          }
5485
+        },
5486
+        "ms": {
5487
+          "version": "2.1.2",
5488
+          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
5489
+          "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
5490
+          "dev": true
5491
+        },
5492
+        "node-gyp": {
5493
+          "version": "6.1.0",
5494
+          "resolved": "https://registry.npm.taobao.org/node-gyp/download/node-gyp-6.1.0.tgz",
5495
+          "integrity": "sha1-ZOMcYaRpWtMEwdW4LPa3x5zHnz8=",
5496
+          "dev": true,
5497
+          "requires": {
5498
+            "env-paths": "2.2.0",
5499
+            "glob": "7.1.6",
5500
+            "graceful-fs": "4.2.3",
5501
+            "mkdirp": "0.5.5",
5502
+            "nopt": "4.0.3",
5503
+            "npmlog": "4.1.2",
5504
+            "request": "2.88.2",
5505
+            "rimraf": "2.7.1",
5506
+            "semver": "5.7.1",
5507
+            "tar": "4.4.13",
5508
+            "which": "1.3.1"
5509
+          }
5510
+        },
5511
+        "nopt": {
5512
+          "version": "4.0.3",
5513
+          "resolved": "https://registry.npm.taobao.org/nopt/download/nopt-4.0.3.tgz?cache=0&sync_timestamp=1583704549918&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnopt%2Fdownload%2Fnopt-4.0.3.tgz",
5514
+          "integrity": "sha1-o3XK2dAv2SEnjZVMIlTVqlfhXkg=",
5515
+          "dev": true,
5516
+          "requires": {
5517
+            "abbrev": "1.0.9",
5518
+            "osenv": "0.1.5"
5519
+          }
5520
+        },
5521
+        "p-limit": {
5522
+          "version": "2.3.0",
5523
+          "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1586101408834&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz",
5524
+          "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=",
5525
+          "dev": true,
5526
+          "requires": {
5527
+            "p-try": "2.2.0"
5528
+          }
5529
+        },
5530
+        "p-locate": {
5531
+          "version": "3.0.0",
5532
+          "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz",
5533
+          "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
5534
+          "dev": true,
5535
+          "requires": {
5536
+            "p-limit": "2.3.0"
5537
+          }
5538
+        },
5539
+        "p-try": {
5540
+          "version": "2.2.0",
5541
+          "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz",
5542
+          "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=",
5543
+          "dev": true
5544
+        },
5545
+        "require-main-filename": {
5546
+          "version": "2.0.0",
5547
+          "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz",
5548
+          "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=",
5549
+          "dev": true
5550
+        },
5551
+        "string-width": {
5552
+          "version": "3.1.0",
5553
+          "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz",
5554
+          "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=",
5555
+          "dev": true,
5556
+          "requires": {
5557
+            "emoji-regex": "7.0.3",
5558
+            "is-fullwidth-code-point": "2.0.0",
5559
+            "strip-ansi": "5.2.0"
5560
+          }
5561
+        },
5562
+        "strip-ansi": {
5563
+          "version": "5.2.0",
5564
+          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1573280518303&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz",
5565
+          "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
5566
+          "dev": true,
5567
+          "requires": {
5568
+            "ansi-regex": "4.1.0"
5569
+          }
5570
+        },
5571
+        "tar": {
5572
+          "version": "4.4.13",
5573
+          "resolved": "https://registry.npm.taobao.org/tar/download/tar-4.4.13.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftar%2Fdownload%2Ftar-4.4.13.tgz",
5574
+          "integrity": "sha1-Q7NkvFKIjVVSmGN7ENYHkCVKtSU=",
5575
+          "dev": true,
5576
+          "requires": {
5577
+            "chownr": "1.1.4",
5578
+            "fs-minipass": "1.2.7",
5579
+            "minipass": "2.9.0",
5580
+            "minizlib": "1.3.3",
5581
+            "mkdirp": "0.5.5",
5582
+            "safe-buffer": "5.1.2",
5583
+            "yallist": "3.1.1"
5584
+          }
5585
+        },
5586
+        "yallist": {
5587
+          "version": "3.1.1",
5588
+          "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz",
5589
+          "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=",
5590
+          "dev": true
5591
+        },
5592
+        "yargs": {
5593
+          "version": "14.2.3",
5594
+          "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-14.2.3.tgz",
5595
+          "integrity": "sha1-Ghw+3O0a+yov6jNgS8bR2NaIpBQ=",
5596
+          "dev": true,
5597
+          "requires": {
5598
+            "cliui": "5.0.0",
5599
+            "decamelize": "1.2.0",
5600
+            "find-up": "3.0.0",
5601
+            "get-caller-file": "2.0.5",
5602
+            "require-directory": "2.1.1",
5603
+            "require-main-filename": "2.0.0",
5604
+            "set-blocking": "2.0.0",
5605
+            "string-width": "3.1.0",
5606
+            "which-module": "2.0.0",
5607
+            "y18n": "4.0.0",
5608
+            "yargs-parser": "15.0.1"
5609
+          }
5610
+        },
5611
+        "yargs-parser": {
5612
+          "version": "15.0.1",
5613
+          "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-15.0.1.tgz",
5614
+          "integrity": "sha1-VHhq9AuCDcsvuAJbEbTWWddjI7M=",
5615
+          "dev": true,
5616
+          "requires": {
5617
+            "camelcase": "5.3.1",
5618
+            "decamelize": "1.2.0"
5619
+          }
5620
+        }
5621
+      }
5622
+    },
5377 5623
     "electron-store": {
5378 5624
       "version": "2.0.0",
5379 5625
       "resolved": "https://registry.npm.taobao.org/electron-store/download/electron-store-2.0.0.tgz?cache=0&sync_timestamp=1582365276673&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-store%2Fdownload%2Felectron-store-2.0.0.tgz",
@@ -6639,6 +6885,15 @@
6639 6885
         }
6640 6886
       }
6641 6887
     },
6888
+    "fs-minipass": {
6889
+      "version": "1.2.7",
6890
+      "resolved": "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-1.2.7.tgz?cache=0&sync_timestamp=1579628575109&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-minipass%2Fdownload%2Ffs-minipass-1.2.7.tgz",
6891
+      "integrity": "sha1-zP+FcIQef+QmVpPaiJNsVa7X98c=",
6892
+      "dev": true,
6893
+      "requires": {
6894
+        "minipass": "2.9.0"
6895
+      }
6896
+    },
6642 6897
     "fs-write-stream-atomic": {
6643 6898
       "version": "1.0.10",
6644 6899
       "resolved": "http://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz",
@@ -10015,6 +10270,12 @@
10015 10270
       "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
10016 10271
       "dev": true
10017 10272
     },
10273
+    "lodash.assign": {
10274
+      "version": "4.2.0",
10275
+      "resolved": "http://registry.npm.taobao.org/lodash.assign/download/lodash.assign-4.2.0.tgz",
10276
+      "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
10277
+      "dev": true
10278
+    },
10018 10279
     "lodash.camelcase": {
10019 10280
       "version": "4.3.0",
10020 10281
       "resolved": "http://registry.npm.taobao.org/lodash.camelcase/download/lodash.camelcase-4.3.0.tgz",
@@ -10718,6 +10979,33 @@
10718 10979
       "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz",
10719 10980
       "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI="
10720 10981
     },
10982
+    "minipass": {
10983
+      "version": "2.9.0",
10984
+      "resolved": "https://registry.npm.taobao.org/minipass/download/minipass-2.9.0.tgz",
10985
+      "integrity": "sha1-5xN2Ln0+Mv7YAxFc+T4EvKn8yaY=",
10986
+      "dev": true,
10987
+      "requires": {
10988
+        "safe-buffer": "5.1.2",
10989
+        "yallist": "3.1.1"
10990
+      },
10991
+      "dependencies": {
10992
+        "yallist": {
10993
+          "version": "3.1.1",
10994
+          "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz",
10995
+          "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=",
10996
+          "dev": true
10997
+        }
10998
+      }
10999
+    },
11000
+    "minizlib": {
11001
+      "version": "1.3.3",
11002
+      "resolved": "https://registry.npm.taobao.org/minizlib/download/minizlib-1.3.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminizlib%2Fdownload%2Fminizlib-1.3.3.tgz",
11003
+      "integrity": "sha1-IpDeloGKNMKVUcio0wEha9Zahh0=",
11004
+      "dev": true,
11005
+      "requires": {
11006
+        "minipass": "2.9.0"
11007
+      }
11008
+    },
10721 11009
     "minstache": {
10722 11010
       "version": "1.2.0",
10723 11011
       "resolved": "https://registry.npm.taobao.org/minstache/download/minstache-1.2.0.tgz",
@@ -11071,11 +11359,31 @@
11071 11359
       "version": "2.16.0",
11072 11360
       "resolved": "https://registry.npm.taobao.org/node-abi/download/node-abi-2.16.0.tgz",
11073 11361
       "integrity": "sha1-fflOnAp6GJ9Bl6uEusgInvWJSZI=",
11074
-      "optional": true,
11075 11362
       "requires": {
11076 11363
         "semver": "5.7.1"
11077 11364
       }
11078 11365
     },
11366
+    "node-bluetooth": {
11367
+      "version": "1.2.6",
11368
+      "resolved": "https://registry.npm.taobao.org/node-bluetooth/download/node-bluetooth-1.2.6.tgz",
11369
+      "integrity": "sha1-EjzypRmBA4BVSa0Q8Ul4mXH1YKA=",
11370
+      "requires": {
11371
+        "bindings": "1.2.1",
11372
+        "nan": "2.14.1"
11373
+      },
11374
+      "dependencies": {
11375
+        "bindings": {
11376
+          "version": "1.2.1",
11377
+          "resolved": "https://registry.npm.taobao.org/bindings/download/bindings-1.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbindings%2Fdownload%2Fbindings-1.2.1.tgz",
11378
+          "integrity": "sha1-FK1hE4EtLTfXLme0ystLtyZQXxE="
11379
+        },
11380
+        "nan": {
11381
+          "version": "2.14.1",
11382
+          "resolved": "https://registry.npm.taobao.org/nan/download/nan-2.14.1.tgz?cache=0&sync_timestamp=1587497111086&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnan%2Fdownload%2Fnan-2.14.1.tgz",
11383
+          "integrity": "sha1-174036MQW5FJTDFHCJMV7/iHSwE="
11384
+        }
11385
+      }
11386
+    },
11079 11387
     "node-forge": {
11080 11388
       "version": "0.9.0",
11081 11389
       "resolved": "https://registry.npm.taobao.org/node-forge/download/node-forge-0.9.0.tgz?cache=0&sync_timestamp=1569524876130&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-forge%2Fdownload%2Fnode-forge-0.9.0.tgz",
@@ -11691,6 +11999,65 @@
11691 11999
         "word-wrap": "1.2.3"
11692 12000
       }
11693 12001
     },
12002
+    "ora": {
12003
+      "version": "3.4.0",
12004
+      "resolved": "https://registry.npm.taobao.org/ora/download/ora-3.4.0.tgz?cache=0&sync_timestamp=1587481412542&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fora%2Fdownload%2Fora-3.4.0.tgz",
12005
+      "integrity": "sha1-vwdSSRBZo+8+1MhQl1Md6f280xg=",
12006
+      "dev": true,
12007
+      "requires": {
12008
+        "chalk": "2.4.2",
12009
+        "cli-cursor": "2.1.0",
12010
+        "cli-spinners": "2.3.0",
12011
+        "log-symbols": "2.2.0",
12012
+        "strip-ansi": "5.2.0",
12013
+        "wcwidth": "1.0.1"
12014
+      },
12015
+      "dependencies": {
12016
+        "ansi-regex": {
12017
+          "version": "4.1.0",
12018
+          "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1570188663907&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz",
12019
+          "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
12020
+          "dev": true
12021
+        },
12022
+        "cli-cursor": {
12023
+          "version": "2.1.0",
12024
+          "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz",
12025
+          "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
12026
+          "dev": true,
12027
+          "requires": {
12028
+            "restore-cursor": "2.0.0"
12029
+          }
12030
+        },
12031
+        "onetime": {
12032
+          "version": "2.0.1",
12033
+          "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz",
12034
+          "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
12035
+          "dev": true,
12036
+          "requires": {
12037
+            "mimic-fn": "1.2.0"
12038
+          }
12039
+        },
12040
+        "restore-cursor": {
12041
+          "version": "2.0.0",
12042
+          "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz",
12043
+          "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
12044
+          "dev": true,
12045
+          "requires": {
12046
+            "onetime": "2.0.1",
12047
+            "signal-exit": "3.0.3"
12048
+          }
12049
+        },
12050
+        "strip-ansi": {
12051
+          "version": "5.2.0",
12052
+          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1573280518303&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz",
12053
+          "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
12054
+          "dev": true,
12055
+          "requires": {
12056
+            "ansi-regex": "4.1.0"
12057
+          }
12058
+        }
12059
+      }
12060
+    },
11694 12061
     "original": {
11695 12062
       "version": "1.0.2",
11696 12063
       "resolved": "http://registry.npm.taobao.org/original/download/original-1.0.2.tgz",
@@ -14936,6 +15303,37 @@
14936 15303
       "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
14937 15304
       "dev": true
14938 15305
     },
15306
+    "spawn-rx": {
15307
+      "version": "3.0.0",
15308
+      "resolved": "https://registry.npm.taobao.org/spawn-rx/download/spawn-rx-3.0.0.tgz",
15309
+      "integrity": "sha1-HTNRHhPsJjN9pR14Yw4IvrV6Z2c=",
15310
+      "dev": true,
15311
+      "requires": {
15312
+        "debug": "2.6.9",
15313
+        "lodash.assign": "4.2.0",
15314
+        "rxjs": "6.5.5"
15315
+      },
15316
+      "dependencies": {
15317
+        "debug": {
15318
+          "version": "2.6.9",
15319
+          "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
15320
+          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
15321
+          "dev": true,
15322
+          "requires": {
15323
+            "ms": "2.0.0"
15324
+          }
15325
+        },
15326
+        "rxjs": {
15327
+          "version": "6.5.5",
15328
+          "resolved": "https://registry.npm.taobao.org/rxjs/download/rxjs-6.5.5.tgz",
15329
+          "integrity": "sha1-xciE4wlMjP7jG/J+uH5UzPyH+ew=",
15330
+          "dev": true,
15331
+          "requires": {
15332
+            "tslib": "1.11.1"
15333
+          }
15334
+        }
15335
+      }
15336
+    },
14939 15337
     "spdx-correct": {
14940 15338
       "version": "3.1.0",
14941 15339
       "resolved": "http://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.0.tgz",
@@ -16862,6 +17260,15 @@
16862 17260
         "minimalistic-assert": "1.0.1"
16863 17261
       }
16864 17262
     },
17263
+    "wcwidth": {
17264
+      "version": "1.0.1",
17265
+      "resolved": "https://registry.npm.taobao.org/wcwidth/download/wcwidth-1.0.1.tgz",
17266
+      "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
17267
+      "dev": true,
17268
+      "requires": {
17269
+        "defaults": "1.0.3"
17270
+      }
17271
+    },
16865 17272
     "wdio-dot-reporter": {
16866 17273
       "version": "0.0.10",
16867 17274
       "resolved": "https://registry.npm.taobao.org/wdio-dot-reporter/download/wdio-dot-reporter-0.0.10.tgz",

+ 10 - 8
package.json

@@ -60,6 +60,7 @@
60 60
     "echarts": "^4.7.0",
61 61
     "element-ui": "^2.13.1",
62 62
     "koa": "^2.2.0",
63
+    "node-bluetooth": "^1.2.6",
63 64
     "socket.io": "^2.3.0",
64 65
     "vue": "^2.5.16",
65 66
     "vue-echarts": "^5.0.0-beta.0",
@@ -74,12 +75,14 @@
74 75
     "ajv": "^6.5.0",
75 76
     "babel-core": "^6.26.3",
76 77
     "babel-loader": "^7.1.4",
78
+    "babel-minify-webpack-plugin": "^0.3.1",
79
+    "babel-plugin-istanbul": "^4.1.6",
77 80
     "babel-plugin-transform-runtime": "^6.23.0",
78 81
     "babel-preset-env": "^1.7.0",
79 82
     "babel-preset-stage-0": "^6.24.1",
80 83
     "babel-register": "^6.26.0",
81
-    "babel-minify-webpack-plugin": "^0.3.1",
82 84
     "cfonts": "^2.1.2",
85
+    "chai": "^4.1.2",
83 86
     "chalk": "^2.4.1",
84 87
     "copy-webpack-plugin": "^4.5.1",
85 88
     "cross-env": "^5.1.6",
@@ -87,10 +90,10 @@
87 90
     "del": "^3.0.0",
88 91
     "devtron": "^1.4.0",
89 92
     "electron": "^2.0.4",
93
+    "electron-builder": "^20.19.2",
90 94
     "electron-debug": "^1.5.0",
91 95
     "electron-devtools-installer": "^2.2.4",
92
-    "electron-builder": "^20.19.2",
93
-    "mini-css-extract-plugin": "0.4.0",
96
+    "electron-rebuild": "^1.10.1",
94 97
     "file-loader": "^1.1.11",
95 98
     "html-webpack-plugin": "^3.2.0",
96 99
     "inject-loader": "^4.0.1",
@@ -102,23 +105,22 @@
102 105
     "karma-sourcemap-loader": "^0.3.7",
103 106
     "karma-spec-reporter": "^0.0.32",
104 107
     "karma-webpack": "^3.0.0",
105
-    "require-dir": "^1.0.0",
106
-    "spectron": "^3.8.0",
107
-    "babel-plugin-istanbul": "^4.1.6",
108
-    "chai": "^4.1.2",
108
+    "mini-css-extract-plugin": "0.4.0",
109 109
     "mocha": "^5.2.0",
110 110
     "multispinner": "^0.2.1",
111 111
     "node-loader": "^0.6.0",
112 112
     "node-sass": "^4.9.2",
113
+    "require-dir": "^1.0.0",
113 114
     "sass-loader": "^7.0.3",
115
+    "spectron": "^3.8.0",
114 116
     "style-loader": "^0.21.0",
115 117
     "url-loader": "^1.0.1",
116 118
     "vue-html-loader": "^1.2.4",
117 119
     "vue-loader": "^15.2.4",
118 120
     "vue-style-loader": "^4.1.0",
119 121
     "vue-template-compiler": "^2.5.16",
120
-    "webpack-cli": "^3.0.8",
121 122
     "webpack": "^4.15.1",
123
+    "webpack-cli": "^3.0.8",
122 124
     "webpack-dev-server": "^3.1.4",
123 125
     "webpack-hot-middleware": "^2.22.2",
124 126
     "webpack-merge": "^4.1.3"

+ 6 - 0
src/renderer/components/LandingPage.vue

@@ -34,6 +34,7 @@
34 34
     <el-button @click="stopCollection" :disabled="hasConnectCount == 0">停止采集</el-button>
35 35
     <el-button @click="resetDevice" :disabled="hasConnectCount == 0">复位</el-button>
36 36
     <el-button @click="toConfig" :disabled="hasConnectCount == 0">跳转至配置</el-button>
37
+    <el-button @click="test">蓝牙发送</el-button>
37 38
     <br/>
38 39
     <div style="width:540px;height:540px;position:relative;margin-top:30px" >
39 40
       <div ref="heatsample" style="width:540px;height:540px;position:absolute;top:0;left:0" />
@@ -83,9 +84,14 @@
83 84
       // 跳转至配置
84 85
       toConfig() {
85 86
           this.$router.push('/config')
87
+      },
88
+      test() {
89
+          this.$socket.emit('sendBlueTouth','sendBlueTouth')
86 90
       }
87 91
 
88 92
 
93
+
94
+
89 95
     },
90 96
     created() {
91 97
         this.$socket.emit('syncConnectCount','resetDevice')

+ 1 - 1
src/renderer/main.js

@@ -25,7 +25,7 @@ const SocketInstance = io.connect('http://localhost:3001', {
25 25
 });
26 26
 
27 27
 Vue.use(new VueSocketio({
28
-   // debug: true,
28
+    debug: false,
29 29
     connection: SocketInstance,
30 30
     vuex: {
31 31
         store,

+ 3 - 0
src/renderer/store/modules/socket.js

@@ -23,6 +23,9 @@ const mutations = {
23 23
     },
24 24
     SOCKET_pressureData(state,data) {
25 25
         state.pressureData = data
26
+    },
27
+    SOCKET_connectedClient(state,data) {
28
+        console.log(data)
26 29
     }
27 30
 }
28 31
 

+ 12 - 10
static/server/app.js

@@ -4,12 +4,12 @@ const Koa = require('koa')
4 4
 const app = new Koa()
5 5
 var http = require('http');
6 6
 var server = http.createServer(app.callback());
7
-
8 7
 io = require('socket.io').listen(server);
9 8
 var sendProtocal = require('./protocal/sendProtocal')
10 9
 var command = require('./protocal/command')
11 10
 var commonFunction = require('./protocal/commonFunction')
12
-
11
+var blueTouth = require('./blueTouth')
12
+blueTouth.setIo(io)
13 13
 // socket 服务开启
14 14
 
15 15
 let socketEvent = null;
@@ -108,7 +108,9 @@ io.sockets.on('connection', function (socket) {
108 108
         let data = sendProtocal.sendMsg(sendData,'shebei','set')
109 109
         socketEvent.write(data)
110 110
     })
111
-
111
+    socket.on('sendBlueTouth',function (sendData) {
112
+        blueTouth.sendData('123')
113
+    })
112 114
 
113 115
 })
114 116
 
@@ -170,13 +172,13 @@ socketServer.on('connection',(socket)=>{
170 172
 
171 173
 // 处理所有指令(根据帧头判断业务逻辑)
172 174
 function setAllCommand(validateData) {
173
-    let validNumByteArray = new Uint8Array(validateData);
174
-    let allCommond = commonFunction.buf2hex(validNumByteArray);
175
-    let commond = allCommond.substring(0,2)
176
-    // 判断 帧头 e5 足压扫描
177
-    if(commond == 'e5') {
178
-        footPressure(validNumByteArray)
179
-    }
175
+let validNumByteArray = new Uint8Array(validateData);
176
+let allCommond = commonFunction.buf2hex(validNumByteArray);
177
+let commond = allCommond.substring(0,2)
178
+// 判断 帧头 e5 足压扫描
179
+if(commond == 'e5') {
180
+    footPressure(validNumByteArray)
181
+}
180 182
 
181 183
 }
182 184
 var col = 0

+ 126 - 0
static/server/blueTouth.js

@@ -0,0 +1,126 @@
1
+var bleno = require('bleno');
2
+var serviceUuids = ['fffffffffffffffffffffffffffffff0']
3
+function Utf8ArrayToStr(array) {
4
+    var out, i, len, c;
5
+    var char2, char3;
6
+    out = "";
7
+    len = array.length;
8
+    i = 0;
9
+    while(i < len) {
10
+        c = array[i++];
11
+        switch(c >> 4)
12
+        {
13
+            case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
14
+// 0xxxxxxx
15
+            out += String.fromCharCode(c);
16
+            break;
17
+            case 12: case 13:
18
+// 110x xxxx 10xx xxxx
19
+            char2 = array[i++];
20
+            out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));
21
+            break;
22
+            case 14:
23
+// 1110 xxxx 10xx xxxx 10xx xxxx
24
+                char2 = array[i++];
25
+                char3 = array[i++];
26
+                out += String.fromCharCode(((c & 0x0F) << 12) |
27
+                    ((char2 & 0x3F) << 6) |
28
+                    ((char3 & 0x3F) << 0));
29
+                break;
30
+        }
31
+    }
32
+    return out;
33
+}
34
+var ioNew = null
35
+try {
36
+    bleno.on('stateChange', function(state) {
37
+        console.log('on -> stateChange: ' + state);
38
+        if (state === 'poweredOn') {
39
+            bleno.startAdvertising('semsx', serviceUuids);
40
+        } else {
41
+            bleno.stopAdvertising();
42
+        }
43
+    });
44
+    bleno.on('advertisingStart', function(error) {
45
+        console.log('on -> advertisingStart: ' + (error ? 'error ' + error : 'success'));
46
+        if (!error) {
47
+            io.sockets.emit('blueConnect', 'success');
48
+            console.log('start');
49
+            var Descriptor = bleno.Descriptor;
50
+            var descriptor = new Descriptor({
51
+                uuid: '212112',
52
+                value: '123123' // static value, must be of type Buffer or string if set
53
+            });
54
+            var Characteristic = bleno.Characteristic;
55
+            var characteristic = new Characteristic({
56
+                uuid: 'fffffffffffffffffffffffffffffff1', // or 'fff1' for 16-bit
57
+                properties: ['read', 'write','notify','writeWithoutResponse'], // can be a combination of 'read', 'write', 'writeWithoutResponse', 'notify', 'indicate'
58
+                value: null, // optional static value, must be of type Buffer - for read only characteristics
59
+                descriptors: [
60
+                    // see Descriptor for data type
61
+                    descriptor
62
+                ],
63
+                onWriteRequest: function (data, offset, withoutResponse,callBack) {
64
+                    var obj = JSON.parse( Utf8ArrayToStr(new Uint8Array(data)))
65
+                    //console.log(withoutResponse)
66
+                    callBack()
67
+                },
68
+                onReadRequest: function (offset, callBack) {
69
+                    var result = characteristic.RESULT_SUCCESS;
70
+                    //var data = new Buffer('321');
71
+                    sendMessageHandle = callBack
72
+                }
73
+
74
+            });
75
+            messageObj = characteristic
76
+            var PrimaryService = bleno.PrimaryService;
77
+            var primaryService = new PrimaryService({
78
+                uuid: 'fffffffffffffffffffffffffffffff0', // or 'fff0' for 16-bit
79
+                characteristics: [
80
+                    // see Characteristic for data type
81
+                    characteristic
82
+                ]
83
+            });
84
+            bleno.setServices(primaryService, function (error) {
85
+                if (error) {
86
+                    console.log(error);
87
+                }
88
+                console.log('success');
89
+            });
90
+        } else {
91
+        }
92
+    });
93
+
94
+    bleno.on('disconnect',function (clientAddress) {
95
+        console.log('disconnectAddress')
96
+    })
97
+    bleno.on('accept',function (clientAddress) {
98
+        console.log('connectAddress')
99
+    })
100
+    bleno.on('advertisingStartError', function(error) {
101
+        console.log(error)
102
+    });
103
+}catch (err){
104
+    // 判断用户是否开启蓝牙 或者是堵塞
105
+    if(err.message == 'No compatible USB Bluetooth 4.0 device found!') {
106
+        // 没有插设备
107
+    }
108
+
109
+    console.log(err.message)
110
+}
111
+var sendMessageHandle = null
112
+var messageObj = null
113
+
114
+module.exports = {
115
+    sendData:function (buffer) {
116
+        if(sendMessageHandle) {
117
+            var result =messageObj.RESULT_SUCCESS;
118
+            var data = new Buffer('woshi zhangxiaoyu');
119
+            sendMessageHandle(result,data)
120
+        }
121
+    },
122
+    setIo:function (data) {
123
+        ioNew  = data
124
+    }
125
+
126
+}

+ 1 - 1
static/server/protocal/commonFunction.js

@@ -35,7 +35,7 @@ module.exports = {
35 35
                 }
36 36
             }
37 37
         }
38
-        return pressureDataProcess(dataAll,2.5,4)
38
+        return pressureDataProcess(dataAll,1,4)
39 39
     },
40 40
 }
41 41