client-sensors.excalidraw 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606
  1. {
  2. "type": "excalidraw",
  3. "version": 2,
  4. "source": "https://excalidraw.com",
  5. "elements": [
  6. {
  7. "type": "rectangle",
  8. "version": 473,
  9. "versionNonce": 1256506895,
  10. "isDeleted": false,
  11. "id": "ox1Blt2bzl0onmQfB7ZAN",
  12. "fillStyle": "hachure",
  13. "strokeWidth": 1,
  14. "strokeStyle": "solid",
  15. "roughness": 1,
  16. "opacity": 100,
  17. "angle": 0,
  18. "x": 827.69921875,
  19. "y": 210.68359375,
  20. "strokeColor": "#000000",
  21. "backgroundColor": "transparent",
  22. "width": 251.7109375,
  23. "height": 259.47265625,
  24. "seed": 1508024704,
  25. "groupIds": [],
  26. "strokeSharpness": "sharp",
  27. "boundElements": [
  28. {
  29. "id": "sE5xq9Fz5VDTWcJGhJizg",
  30. "type": "arrow"
  31. },
  32. {
  33. "id": "HZoAI_wR8CyRR9fVaFwSl",
  34. "type": "arrow"
  35. }
  36. ],
  37. "updated": 1660298248381,
  38. "link": null,
  39. "locked": false
  40. },
  41. {
  42. "type": "text",
  43. "version": 585,
  44. "versionNonce": 720617423,
  45. "isDeleted": false,
  46. "id": "rjHz2X8U0ZDEyckj_tTSw",
  47. "fillStyle": "hachure",
  48. "strokeWidth": 1,
  49. "strokeStyle": "solid",
  50. "roughness": 1,
  51. "opacity": 100,
  52. "angle": 0,
  53. "x": 854.0546875,
  54. "y": 287.16015625,
  55. "strokeColor": "#000000",
  56. "backgroundColor": "transparent",
  57. "width": 199,
  58. "height": 160,
  59. "seed": 2100367744,
  60. "groupIds": [],
  61. "strokeSharpness": "sharp",
  62. "boundElements": [
  63. {
  64. "id": "vJNRjoY0dZcqOBw5RzuHn",
  65. "type": "arrow"
  66. }
  67. ],
  68. "updated": 1660298281789,
  69. "link": null,
  70. "locked": false,
  71. "fontSize": 16,
  72. "fontFamily": 1,
  73. "text": "Reads temperatures\nfrom various\nModbus sensors (servers)\n\nS1: read index 0 -> 28\nS2: read index 0 -> 26\n...\n",
  74. "baseline": 154,
  75. "textAlign": "left",
  76. "verticalAlign": "top",
  77. "containerId": null,
  78. "originalText": "Reads temperatures\nfrom various\nModbus sensors (servers)\n\nS1: read index 0 -> 28\nS2: read index 0 -> 26\n...\n"
  79. },
  80. {
  81. "type": "rectangle",
  82. "version": 534,
  83. "versionNonce": 2127380463,
  84. "isDeleted": false,
  85. "id": "mDgu1gSg34HbU-NAHPB30",
  86. "fillStyle": "hachure",
  87. "strokeWidth": 1,
  88. "strokeStyle": "solid",
  89. "roughness": 1,
  90. "opacity": 100,
  91. "angle": 0,
  92. "x": 420.2109375,
  93. "y": 212.580078125,
  94. "strokeColor": "#000000",
  95. "backgroundColor": "transparent",
  96. "width": 216.16406250000006,
  97. "height": 172.06640624999997,
  98. "seed": 1336837760,
  99. "groupIds": [],
  100. "strokeSharpness": "sharp",
  101. "boundElements": [
  102. {
  103. "id": "sE5xq9Fz5VDTWcJGhJizg",
  104. "type": "arrow"
  105. }
  106. ],
  107. "updated": 1660298020282,
  108. "link": null,
  109. "locked": false
  110. },
  111. {
  112. "type": "text",
  113. "version": 653,
  114. "versionNonce": 2127484513,
  115. "isDeleted": false,
  116. "id": "UxvTnld8qh188IzV4uJ2q",
  117. "fillStyle": "hachure",
  118. "strokeWidth": 1,
  119. "strokeStyle": "solid",
  120. "roughness": 1,
  121. "opacity": 100,
  122. "angle": 0,
  123. "x": 443.79296875,
  124. "y": 286.3515625,
  125. "strokeColor": "#000000",
  126. "backgroundColor": "transparent",
  127. "width": 178,
  128. "height": 80,
  129. "seed": 759374208,
  130. "groupIds": [],
  131. "strokeSharpness": "sharp",
  132. "boundElements": [],
  133. "updated": 1660298185311,
  134. "link": null,
  135. "locked": false,
  136. "fontSize": 16,
  137. "fontFamily": 1,
  138. "text": "Measures temperature\nand hygrometry:\n0: 28°C\n1: 32% ",
  139. "baseline": 74,
  140. "textAlign": "left",
  141. "verticalAlign": "top",
  142. "containerId": null,
  143. "originalText": "Measures temperature\nand hygrometry:\n0: 28°C\n1: 32% "
  144. },
  145. {
  146. "type": "text",
  147. "version": 349,
  148. "versionNonce": 1469666511,
  149. "isDeleted": false,
  150. "id": "F6UUk6_B6uALmjxcHLYw4",
  151. "fillStyle": "hachure",
  152. "strokeWidth": 1,
  153. "strokeStyle": "solid",
  154. "roughness": 1,
  155. "opacity": 100,
  156. "angle": 0,
  157. "x": 488.19921875,
  158. "y": 237.921875,
  159. "strokeColor": "#000000",
  160. "backgroundColor": "transparent",
  161. "width": 79,
  162. "height": 25,
  163. "seed": 354006656,
  164. "groupIds": [],
  165. "strokeSharpness": "sharp",
  166. "boundElements": [],
  167. "updated": 1660298032950,
  168. "link": null,
  169. "locked": false,
  170. "fontSize": 20,
  171. "fontFamily": 1,
  172. "text": "Sensor 1",
  173. "baseline": 18,
  174. "textAlign": "left",
  175. "verticalAlign": "top",
  176. "containerId": null,
  177. "originalText": "Sensor 1"
  178. },
  179. {
  180. "type": "text",
  181. "version": 224,
  182. "versionNonce": 864770191,
  183. "isDeleted": false,
  184. "id": "v7q2uvVFHZBvjr-y_ZJKl",
  185. "fillStyle": "hachure",
  186. "strokeWidth": 1,
  187. "strokeStyle": "solid",
  188. "roughness": 1,
  189. "opacity": 100,
  190. "angle": 0,
  191. "x": 884.5546875,
  192. "y": 238.328125,
  193. "strokeColor": "#000000",
  194. "backgroundColor": "transparent",
  195. "width": 150,
  196. "height": 25,
  197. "seed": 2108436864,
  198. "groupIds": [],
  199. "strokeSharpness": "sharp",
  200. "boundElements": [],
  201. "updated": 1660299132232,
  202. "link": null,
  203. "locked": false,
  204. "fontSize": 20,
  205. "fontFamily": 1,
  206. "text": "libmodbus client",
  207. "baseline": 18,
  208. "textAlign": "left",
  209. "verticalAlign": "top",
  210. "containerId": null,
  211. "originalText": "libmodbus client"
  212. },
  213. {
  214. "type": "arrow",
  215. "version": 925,
  216. "versionNonce": 27208751,
  217. "isDeleted": false,
  218. "id": "sE5xq9Fz5VDTWcJGhJizg",
  219. "fillStyle": "hachure",
  220. "strokeWidth": 1,
  221. "strokeStyle": "solid",
  222. "roughness": 1,
  223. "opacity": 100,
  224. "angle": 0,
  225. "x": 656.03125,
  226. "y": 313.29799967005374,
  227. "strokeColor": "#000000",
  228. "backgroundColor": "transparent",
  229. "width": 154.05078125,
  230. "height": 8.294130761394001,
  231. "seed": 455209344,
  232. "groupIds": [],
  233. "strokeSharpness": "round",
  234. "boundElements": [],
  235. "updated": 1660298248381,
  236. "link": null,
  237. "locked": false,
  238. "startBinding": {
  239. "elementId": "mDgu1gSg34HbU-NAHPB30",
  240. "focus": 0.08648410639065775,
  241. "gap": 19.65625
  242. },
  243. "endBinding": {
  244. "elementId": "ox1Blt2bzl0onmQfB7ZAN",
  245. "focus": 0.08133464876815498,
  246. "gap": 17.6171875
  247. },
  248. "lastCommittedPoint": null,
  249. "startArrowhead": null,
  250. "endArrowhead": "arrow",
  251. "points": [
  252. [
  253. 0,
  254. 0
  255. ],
  256. [
  257. 154.05078125,
  258. 8.294130761394001
  259. ]
  260. ]
  261. },
  262. {
  263. "type": "text",
  264. "version": 709,
  265. "versionNonce": 650449167,
  266. "isDeleted": false,
  267. "id": "Q6P32mRyop5JlKGPB3tei",
  268. "fillStyle": "hachure",
  269. "strokeWidth": 1,
  270. "strokeStyle": "solid",
  271. "roughness": 1,
  272. "opacity": 100,
  273. "angle": 5.552321937284518,
  274. "x": 679.345703125,
  275. "y": 433.1444738051471,
  276. "strokeColor": "#000000",
  277. "backgroundColor": "transparent",
  278. "width": 79,
  279. "height": 15,
  280. "seed": 1091054019,
  281. "groupIds": [],
  282. "strokeSharpness": "sharp",
  283. "boundElements": [],
  284. "updated": 1660298261423,
  285. "link": null,
  286. "locked": false,
  287. "fontSize": 11.542968749999993,
  288. "fontFamily": 1,
  289. "text": "TCP or serial",
  290. "baseline": 10,
  291. "textAlign": "left",
  292. "verticalAlign": "top",
  293. "containerId": null,
  294. "originalText": "TCP or serial"
  295. },
  296. {
  297. "type": "text",
  298. "version": 707,
  299. "versionNonce": 1999616833,
  300. "isDeleted": false,
  301. "id": "vETmEnYJoC4MKv7ysqjAv",
  302. "fillStyle": "hachure",
  303. "strokeWidth": 1,
  304. "strokeStyle": "solid",
  305. "roughness": 1,
  306. "opacity": 100,
  307. "angle": 0.06779103263247777,
  308. "x": 683.3417968749999,
  309. "y": 281.21582031250006,
  310. "strokeColor": "#000000",
  311. "backgroundColor": "transparent",
  312. "width": 79,
  313. "height": 15,
  314. "seed": 1043479501,
  315. "groupIds": [],
  316. "strokeSharpness": "sharp",
  317. "boundElements": [],
  318. "updated": 1660298255264,
  319. "link": null,
  320. "locked": false,
  321. "fontSize": 11.542968749999993,
  322. "fontFamily": 1,
  323. "text": "TCP or serial",
  324. "baseline": 10,
  325. "textAlign": "left",
  326. "verticalAlign": "top",
  327. "containerId": null,
  328. "originalText": "TCP or serial"
  329. },
  330. {
  331. "type": "rectangle",
  332. "version": 587,
  333. "versionNonce": 85990017,
  334. "isDeleted": false,
  335. "id": "pHhCP3DIU5fE4v3yi3obG",
  336. "fillStyle": "hachure",
  337. "strokeWidth": 1,
  338. "strokeStyle": "solid",
  339. "roughness": 1,
  340. "opacity": 100,
  341. "angle": 0,
  342. "x": 426.513671875,
  343. "y": 424.2646484375,
  344. "strokeColor": "#000000",
  345. "backgroundColor": "transparent",
  346. "width": 216.16406250000006,
  347. "height": 172.06640624999997,
  348. "seed": 1733016847,
  349. "groupIds": [],
  350. "strokeSharpness": "sharp",
  351. "boundElements": [
  352. {
  353. "id": "sE5xq9Fz5VDTWcJGhJizg",
  354. "type": "arrow"
  355. },
  356. {
  357. "id": "HZoAI_wR8CyRR9fVaFwSl",
  358. "type": "arrow"
  359. }
  360. ],
  361. "updated": 1660298157321,
  362. "link": null,
  363. "locked": false
  364. },
  365. {
  366. "type": "text",
  367. "version": 708,
  368. "versionNonce": 1824105825,
  369. "isDeleted": false,
  370. "id": "3oXICnKHoOzNPyb-PxNbt",
  371. "fillStyle": "hachure",
  372. "strokeWidth": 1,
  373. "strokeStyle": "solid",
  374. "roughness": 1,
  375. "opacity": 100,
  376. "angle": 0,
  377. "x": 450.095703125,
  378. "y": 498.0361328125,
  379. "strokeColor": "#000000",
  380. "backgroundColor": "transparent",
  381. "width": 178,
  382. "height": 80,
  383. "seed": 1378197345,
  384. "groupIds": [],
  385. "strokeSharpness": "sharp",
  386. "boundElements": [],
  387. "updated": 1660298208836,
  388. "link": null,
  389. "locked": false,
  390. "fontSize": 16,
  391. "fontFamily": 1,
  392. "text": "Measures temperature\nand hygrometry:\n0: 26°C\n1: 40% ",
  393. "baseline": 74,
  394. "textAlign": "left",
  395. "verticalAlign": "top",
  396. "containerId": null,
  397. "originalText": "Measures temperature\nand hygrometry:\n0: 26°C\n1: 40% "
  398. },
  399. {
  400. "type": "text",
  401. "version": 400,
  402. "versionNonce": 747588289,
  403. "isDeleted": false,
  404. "id": "rD_cbOE0Mwz-sfB0YqcaJ",
  405. "fillStyle": "hachure",
  406. "strokeWidth": 1,
  407. "strokeStyle": "solid",
  408. "roughness": 1,
  409. "opacity": 100,
  410. "angle": 0,
  411. "x": 494.501953125,
  412. "y": 449.6064453125,
  413. "strokeColor": "#000000",
  414. "backgroundColor": "transparent",
  415. "width": 88,
  416. "height": 25,
  417. "seed": 68109103,
  418. "groupIds": [],
  419. "strokeSharpness": "sharp",
  420. "boundElements": [],
  421. "updated": 1660298172011,
  422. "link": null,
  423. "locked": false,
  424. "fontSize": 20,
  425. "fontFamily": 1,
  426. "text": "Sensor 2",
  427. "baseline": 18,
  428. "textAlign": "left",
  429. "verticalAlign": "top",
  430. "containerId": null,
  431. "originalText": "Sensor 2"
  432. },
  433. {
  434. "type": "arrow",
  435. "version": 1150,
  436. "versionNonce": 1550306895,
  437. "isDeleted": false,
  438. "id": "HZoAI_wR8CyRR9fVaFwSl",
  439. "fillStyle": "hachure",
  440. "strokeWidth": 1,
  441. "strokeStyle": "solid",
  442. "roughness": 1,
  443. "opacity": 100,
  444. "angle": 0,
  445. "x": 666.49609375,
  446. "y": 532.2655116636315,
  447. "strokeColor": "#000000",
  448. "backgroundColor": "transparent",
  449. "width": 145.8515625,
  450. "height": 133.46442554799017,
  451. "seed": 1409289601,
  452. "groupIds": [],
  453. "strokeSharpness": "round",
  454. "boundElements": [],
  455. "updated": 1660298248381,
  456. "link": null,
  457. "locked": false,
  458. "startBinding": {
  459. "elementId": "pHhCP3DIU5fE4v3yi3obG",
  460. "focus": 0.7718436212944663,
  461. "gap": 23.818359375
  462. },
  463. "endBinding": {
  464. "elementId": "ox1Blt2bzl0onmQfB7ZAN",
  465. "focus": 0.28922965891088237,
  466. "gap": 15.3515625
  467. },
  468. "lastCommittedPoint": null,
  469. "startArrowhead": null,
  470. "endArrowhead": "arrow",
  471. "points": [
  472. [
  473. 0,
  474. 0
  475. ],
  476. [
  477. 145.8515625,
  478. -133.46442554799017
  479. ]
  480. ]
  481. },
  482. {
  483. "id": "feq5Rn2_gEHIfIzRPvNu6",
  484. "type": "rectangle",
  485. "x": 832.283203125,
  486. "y": 515.0556640625,
  487. "width": 255,
  488. "height": 76.1171875,
  489. "angle": 0,
  490. "strokeColor": "#000000",
  491. "backgroundColor": "transparent",
  492. "fillStyle": "hachure",
  493. "strokeWidth": 1,
  494. "strokeStyle": "solid",
  495. "roughness": 1,
  496. "opacity": 100,
  497. "groupIds": [],
  498. "strokeSharpness": "sharp",
  499. "seed": 826152751,
  500. "version": 65,
  501. "versionNonce": 19459567,
  502. "isDeleted": false,
  503. "boundElements": [
  504. {
  505. "type": "text",
  506. "id": "n4_rv3VhjyMXLSFrP52Vw"
  507. },
  508. {
  509. "id": "vJNRjoY0dZcqOBw5RzuHn",
  510. "type": "arrow"
  511. }
  512. ],
  513. "updated": 1660298281790,
  514. "link": null,
  515. "locked": false
  516. },
  517. {
  518. "id": "n4_rv3VhjyMXLSFrP52Vw",
  519. "type": "text",
  520. "x": 837.283203125,
  521. "y": 540.6142578125,
  522. "width": 245,
  523. "height": 25,
  524. "angle": 0,
  525. "strokeColor": "#000000",
  526. "backgroundColor": "transparent",
  527. "fillStyle": "hachure",
  528. "strokeWidth": 1,
  529. "strokeStyle": "solid",
  530. "roughness": 1,
  531. "opacity": 100,
  532. "groupIds": [],
  533. "strokeSharpness": "sharp",
  534. "seed": 555916079,
  535. "version": 20,
  536. "versionNonce": 1538604143,
  537. "isDeleted": false,
  538. "boundElements": null,
  539. "updated": 1660298276528,
  540. "link": null,
  541. "locked": false,
  542. "text": "Database or logs",
  543. "fontSize": 20,
  544. "fontFamily": 1,
  545. "textAlign": "center",
  546. "verticalAlign": "middle",
  547. "baseline": 18,
  548. "containerId": "feq5Rn2_gEHIfIzRPvNu6",
  549. "originalText": "Database or logs"
  550. },
  551. {
  552. "id": "vJNRjoY0dZcqOBw5RzuHn",
  553. "type": "arrow",
  554. "x": 958.509765625,
  555. "y": 472.4150390625,
  556. "width": 0,
  557. "height": 39.33984375,
  558. "angle": 0,
  559. "strokeColor": "#000000",
  560. "backgroundColor": "transparent",
  561. "fillStyle": "hachure",
  562. "strokeWidth": 1,
  563. "strokeStyle": "solid",
  564. "roughness": 1,
  565. "opacity": 100,
  566. "groupIds": [],
  567. "strokeSharpness": "round",
  568. "seed": 1036508641,
  569. "version": 20,
  570. "versionNonce": 2130978977,
  571. "isDeleted": false,
  572. "boundElements": null,
  573. "updated": 1660298281790,
  574. "link": null,
  575. "locked": false,
  576. "points": [
  577. [
  578. 0,
  579. 0
  580. ],
  581. [
  582. 0,
  583. 39.33984375
  584. ]
  585. ],
  586. "lastCommittedPoint": null,
  587. "startBinding": {
  588. "elementId": "rjHz2X8U0ZDEyckj_tTSw",
  589. "focus": -0.04979978015075378,
  590. "gap": 25.2548828125
  591. },
  592. "endBinding": {
  593. "elementId": "feq5Rn2_gEHIfIzRPvNu6",
  594. "focus": -0.009987745098039217,
  595. "gap": 3.30078125
  596. },
  597. "startArrowhead": null,
  598. "endArrowhead": "arrow"
  599. }
  600. ],
  601. "appState": {
  602. "gridSize": null,
  603. "viewBackgroundColor": "#ffffff"
  604. },
  605. "files": {}
  606. }