Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore DL-2023-02

DL-2023-02

Published by mirnauka61, 2023-06-14 02:46:43

Description: DL-2023-02

Search

Read the Text Version

["????? ??? ??? ????????? ?? ???????? ?????????? ??????????? ???????. ??????? ??? ????? ?? ????????? (???????). ?? ????????? ??? ???????????? ?.?. ??????????? ??????????? ???? ? ????. ?????????? ??? ????? ???????????? ???????? ??????????? ???????? ? ????. ?????? ? ???? ?????? ??? ?? ?????????- ????, ? ???????? ? ???????? ??????? ? ??????????? ? ?????. ???????? ????? ?? ??????? 8-9 ????? ????????? ?? 1 ???? ????. ????? ?? ????????????? ????????- ???? , ????????? ? ???? ????? ?????????????? ??????? ???????. ??? ??? ???????? ???? ????? ????????. ?? ??????? ?????????? ????? ? ?? ??- ????????? ??????? ??????. ??? ?????????? ?????? (Ale) ?????? ?? ???????? (Lager). ?????? ????????? ?????? ????????? ????????, ?.?. ???????? ?? ?????. ???????? ????????? ???????? ????????, ?.?. ??????? ?? ???. ????????? ????????? ????? ? ??????? ??????????? ?????????. ?????? ?? ???, ?????? ??? ?? ????? ?? ??????? ???. ?? ??? ????? ??????? ???? ?????. ??????- ???????????????, ????? ??????? ? ????????? ???????, ???????????? ?? ??.","?????????? ???????? ????? ? ??????? ???????? ????????????, ??? ???? ???????, ???? ? ??????? ??- ???? . ???????? ???? ? ???????? ????????, ?? ?????, ?? ??????????? ?????????- ??? , ?? ??????? ?????. ???????? ????????????? ???? ????????? ????????????? ?????????? ? ??????? ??????????? ? ??????? ?????. ??????? ????? ????????????? ? ??????? ???????? ? ?????????? ????? ??????. ??? ???????? ???????? ?????, ??????????? ??????? ???????, ???????, ???????? ????. ????? ????? ??????, ??? ???? ??????????? ????????? ??????. ????? ????- ???????? ??????? ??????? ?? ????????????? ??????? ? ??????? ???????????? ???- ??, ????? ???????????????? ???? ?????????. ?? ?????, ???? ???????? ?????, ?? ????? ??????, ?????? ?????????????? ????- ????? ???????, ?? ????????????? ??????? ??? ?????????? ?????, ??????????? ??- ????? ?? 25 ??????, ? ??????? ??????? ?????????? ??????. ???? ??????????????? ????? ???? ??????????? ? ????????? ? ?????????? ??? ????. ? ??? ?????? ? ???? ????????????? ????????? ???????. ??? ????? ???????- ??: ?? ?-? \u2014\u00ab\u2022 ?^??]-* (???^? ?1 - ???????? ???. ??????? ?? 25? ?01 - ?????????? ?1 - ???????? ?????. ??????? ?? 32? ?? - ????????? ?? - ???????????????????? ????????????? ???????? ????. ??????? ?? 25? TIC - ?????????????? ??? ?1 - ????? ?????????????? ?6 - ????????? ??????????????? ??1 - ?????????????? ???????. ??? ?? 3??? F6 - ??????????. ??????? ???????","?????? ? ????????? ???? ?1. ???????? ??? ???????? ?? ??????????? ?????. ??- ? ??? ???????? ? ????? ?? ?? ????????? ???? 80-? ????? ???????? ????????. ?????-?? ???? ??????? ???????? ? ???????????? ????. ????? ? ??? ??????????? ???????? ?????? ?? ??????? ?????????? (??????????? ? ??????????? ?????????? ? ????? ???????? ??????????), ????? ?? ???? ????????? ???. ??????? ?????????, ?????? ??????? ????, ?????? ?????? ??????????? ?????? (??? ? ????????? ?????), ?????? ???????? ??? ?????????, ?? ??? ?????? ?????- ??? ???????. ?????? ?????-???. ?????-??? ????? ???????????","???? ??????? ???????? ? ??????? ?????-??? ??????????? ??????? ? ??????? ???????? ?? 1\/2\\\" (???? ????). ????????? ? ????????? ????? ?2. ? ????????? ????? ??? ???????: ?????? - ???????? ? ??????????? ??????????? ????? ??? ?????????, ?????? - ????????? ????? ????? ??? ?????????? ? ???????? ????. ???????? ????? ?? ????-?????????? ???????? ?? ??????????? ?????, ??????? 32 ?????? ? ?????? ???? ? ???????? ??????????, ?????. ? ???? ??????????? ????? ??? ??????????? ??? ??????????. ??????? ???????? ??????? ? ??????? ???????? ? ??????? ??? ????.","??????? ???? ????? ???????? ???????????. ? ?????? ??????????? ?????? ???- ??????? ??????? ????? ??????? ??????? ??????????, ??? ???????????? ?? ????- ?????? ?????????. ? ???? ??????? ?????????? ??????? ????????? ??????? ????. ? ?????? ??????? ????? ??????? ? ?????? ??????????? ?????. ????? ?? ????? ????? HI. ????? ?????????, ?????? ?????? ???????? ?? ??????????? ?????, ???????? ??? ????????????? ????????? ?? 100 ?. ???????? ?? ???? ^220?. ?????? ??? ? ?????- ??? . ????? ?????? ???????? ??????? ? ???????? ????? ???????????? ??????.","???????? ???? ???????????? ??????. ???? ??????????? ????????? ???? ????????? ? ??????????? ???????? ????????? ???? ?1 ???, ??? ????? ????? ???????????????? ?? ????? ?1->?2->?1->?1. ??????- ????? ?????? ??????????? ????????? ? ??????????? ?01 ???, ??? ????? ????? ?2-> ?1->?2. ?????????? ?? ????? ???????????? ?????? ???????????? ??? ???????? ? ????? ????????? ?? ???? ??? ????????? ? ??????????. ?????? ??????? ?? ?????????? ?01. ? ????? ?????? ????? ?????????, ??? ???- ??? ?????????? ?? ?????? ?????? ? ??????????? ??????. ??? ??????????? ??? ??- ???????? ??????????, ?, ??????????, ????????? ? ?????. ??? ? ???????? ?????- ????? ? ???????? ??????? ????????? ?????????. ??????? ?? ?? ?????? ?????? ? ?????? ???????? ?????? ?? ??????????????????? ???????. ?????????? ?????? ??- ???? , ????? ?? ?????????. ??????? ???? ?? ?????????????????? ????????.","????? ??? ?????????: ????????? ???????? ???? ??. ????????? ?? ????? 25 ?????? ???????? ?? ???????? ?? ?????. ? ?????? ????? ??- ???????????? ?????? ? ?????, ??????? ??????? ?? ?????? ?????????? ??????? ??. ??????? ????. ??????? ???????? ??? ??????????? ?????????? ?????? ???????? ?? ?????. ?????? ???? ????? ??????? ?????????","????????? ? ?????????? ?????????. ??????? ?????????? ????????? ? ?????????- ??????- ??????? ?? ???? ??????????? ???? ? ?????????? ????????? ? ?????????? ???? ?????????? ????????????. ??? ??????????? ? ? ???????? ???????????? ?? ??????????? ???????? ?????-?? ????????? ???????, ???? ??? ?????? ??????????? ? ????????? ? ????? ???????. ??????? ?? ???????? ????????????. ?????? ???? ????? ??????? ???? ?????? ??????????? ????????????? ?????. ??? ????? ??????????? ?????????????? ? ???? ???????. ?????????????? ???500, ?? ??? ??????, ??? ???????? ?????????? ??? ???? ????? ? ?? ???? ?? ???????. ? ???????? ???? ??????? ????? ?????????? ?????? ???? ?? ?????????????, ?? ???? ??? ???? ?? ??????????, ???? ? ????? ?????????? ????????. ???????? ?????????? ??????? ?????????? ???? ???????. ????? ?????? ??????? ????? v. 1.0. ?????????? ???? ????? ?????????? ? ??- ?????? ?????? ??????? ??????????????. ?? ???????? ??? ? ????????, ???? ?????? ?? ?????- ??????????. ? ???? ????? ????????????? ?.?. \u00ab???????\u00bb ??? ???? ??, ????? ?????????? ??????????? ???????? ?? ???????. ?? ???? ????? ????????? ?? ???????????? ???????????, ????????? ???? ???????, ??????????? ???????-?? ??? ?????, ??????????? ????? ????????? ?? ???? ???????, ? ???? ????-???? ? ????????? ? ???????? ?????????. ??????? ?????????? ??????? ???????????? ???? ??????? ? ?????????? ???????????????. ????????, ?? ??? ??? ?? ?????? ?? ???- ???? ??????. ???????? ??????? ?????????? ????? ?, ??? ??????????, ???? ????????? ??, ??- ? ??????????????? ?????? ??? ???? ???????? ???? ?????. ??????? 2 ?????????? ????. ? ??????- ???? \u00ab???? 2\u00bb ??????????? ??? ???????? ??????? 1 ?? ????????? 1\u00bb ?????????? ? ????? ??, ? ?????? \u00ab???? ??? ???????? ??????? 2 ?? ????????","????????. ??? ??????????? ??????????????? ??????????? ??? ???????? ?? ????? ????????????? ????? ? ?????? ? ????????? ???????. ??????? ??? ????? ?????? ??? ???????????? ????????? ? ????? ?????? ??? ????????????? ?????????. ??? ?????????? ??????????, ??? ? ????????, ?????? ??????? ? ?????? ???????????? ????. ??????? ?????? ????? ?? ????????????, ?????? ?????? ? ?? ???? ?????? ??- ?? ???? ???????. ??? ??? ????????? ???? ??? ?????? 1. ???? ?? ???????? ?????? ?????? ????. ?????? ??? ????????? ???? ??????? ??? ?????????? ??????? 1 ? ??????? 2. ???? \u00ab?????\u00bb ?? ?? ????????????? ????????????, ?????????? ??? ???????????? ????- ??????? 1 ? ???? ??????? 2 ? ?????? ?????? ? ????? ??????????? ???? 2? ?????????? ??????. ??? ????? ???????. ??????? ??? ???? ??????????????. ?????????????: ? ????? ????????? ???? ??????????? ??????. ? ?????????? ????????????? ???????: ?????? ??? ????????? ??? ?????????. ? ?????? ?????? ??????? ????? ???? ??????????? ?? ???????????????, ?? ?????? ?????? ?? ??????????? ?????. ? ?????? ????????????? ??????? ?????? ? ?????? ?????? ? ????????? 1 ? 2 ??? ? ??????????????. ????????????. ?????? ??? ???? ?????????? ?????????????? ?????. ?? ? ??? ??- ????? : ????? - ???????, ?????? - ??????.","????? ????? ?????????????? ??????????? ?? ???? ? ????, ?????????????? ?? ?????????????? ? ?????? ??? ?????, ?????? - ?? ?????. ???????????? ????????? - ??? ?????? ???????????? ???????. ? ??????? ???? ???????????? ?????????? ?????????? (???? ?????).","'-1, \u00abtil I ????? ????? ????????? ????? ??? ??????? ???????, ????, ?????? ? ?????? ??? ??????????? ?????????????????? (???? ??????). ? ????????????? ????????? ????? ??????????.","? ?????????? ??????? ???????? ??????: ?? ? ??? ???????? ???????? ?????? ? ?????? 2: 11 1 \\\\ ??- |?","?????????? ? ????? ????. ?????. ??????: ?????????? ? ????????????? ??? ?????, ????? ??????: ???????? ????? ???? ?? ?????????. [\\\\ ? \u00bb","???????? ?? ??????? ????? ??????? ??? ?????????. ?????? ??? ????????? ??- ??????? ?????? ? ???????? ???????. ???????? ???? ??????????, ????? ??????? ??????????? ????. ???? ????????, ??? ??? ?????? ?? ? ???????? ???????. ????????? ???? ?? ?????, ????????? ???? ? ??????????? ????????? ???? ?? ??????? 1 - 60 ??????? ???????? ????. ?????? ? ???????? ????? ???? ?? ?????- ?????????? .","??????, ????? ?????? ??????? 2 - 68 ? ???????? ?????? ???? ? ????? ???????- ?? ????? ? ????. ????? ????????? ? ????? ??????? ????????? ?????????? ?????? ???? ? ??????- ??? ? ??????????????? ???? ???????? ????? ? ????.","? ?????????? ????????????? ?????? ???????????? ?????????? ???? ??????????, ???????? ??????????????? 1 ? 2: ULo=60, UH\u00b1=68. ??????? ?? ?????? ?????????. ?????? ????? ????????????? ????, ????????? ? ????? ???????, ?????????? ?????????????? ?????, ???????? ?????.","??? ????? ?????????? ??? ?? ????? ???????????. ?????????????????? ???????- ????????? ???? ? ????? ?????, ??? ??? ???????????? ??????????? ????????? ??- ?? ????? ???, ??? ?????, ???????? ?????? ????????. ??? ????????? ??? ??? ?? ????????? ???????????? ??????????? ????? ? ???????? ????. ?? ??? ????????? ?????? ????? ??? ?? ?????, ? ??????????? ????? ??????? ?????????? ?? ?????- ????? ??? ????? ?????????????????? ????????? ?????? ? ??????? ???????? ????? ????? ??????????????????. ? \u00ab???????\u00bb ????? ?????????????????? ???????? ? ??- ???????? ???????????? ???????????, ???? ????? ????? ??? ?????????. ???? ????? ???? ?????????.","????? ???? ????????? ?? 37,5, ??????? ???????? ????? (??? ???????). ??? ?? ????????, ????????. ?????????? ?????? ???? ?? ??? ???? ???????? ???. ?? ???????? ???????? ????- ? ?????? ??????, ?.?. ?? ???? ?????, ??????, ??? ????????.","????? \u00ab???????\u00bb1. ?? ???? ????? ??????????? ? ???????? ????? ? ???????????? ?????????? ????? ?????- ??? ??? ? ??????? ?????. ??????? ? ????????","??????? ????, ????? ???????? ????????????? ????? ?????????. ? ??????? ????? ?????? ???? ????? ? 90 ????? ?? 68 ????????. ?? ???? ??? ??????????? ???????? ?? ?????????????? ??????, ?.?. ??? ???? ????. ??? ????????? ???????????? ??- ????? ????? ?????? ??????????? - 62. 67. . ????????. ?????? ?? 60 ?? 68 ?????- ??? ?? ???? ???????????? ???????? ????? 10. ????? ????. ?????? ? ?????? ????? ?? ???????, ? ?? ????????? ????????? ????? ??????????. ??? ???? ? ????? ?????? ?????????, ????????? ????? ?? 68 ???????? ?? 60 ??- ??? (??????? ? ???? ???????), ? 20 ????? ???? ???????? ??? 60 ????????. ? ??? ????????? ????????. ????? ?????? ? ???? ?????, ????? ? ???? ???????. ?????? ????? ????? ???????? ??? ??????????? ???????????. ??? ????? ????? ? ??????. ???? ???????, ??????? ?? ???????? ???, ???????? ?? ???????? ?? ??????? ? ???????. ???????? ?? ??????? ?????, ????? ????????? ???????, ? ??? ????? ?????? ?????? ?????. ? ?????????? ???????? ?????????? ????????????? ???????? ????? ? ???????? ????, ???? ????? ??? ??????, ? ???????? ?????, ????? ?? ??????? ????. ?????- ????? ????? ??????????, ????? ?????????? ?????.","??? ? ??????? ?????? ?????. ?????, ?????????? ?????? 20 ? ????? ?????? ?? ????????? ?????. ??????? ? ????????? ????? ? ?????? ?? ??????????? ???????????. 1","??? ???????? ????? ???????????? ? \u00ab??????\u00bb. ?????? ????? ????????, ? ?????????? ????????? ???????? ???????? ?? ????, ?? ? ? ???????? ? ?????.","?????? ??????????? ?????????????? ?? 78 ???????? ? ? ?????? ?????? ?????? ? 5 ?????. ?? ????? 4\u2022' ?? ? 1BD. ? ???? ????? ??????, ? ?????????? ????? ???????. \\\"8? ?j \u2022? ? > \/?,\\\" 1?2-","????? ???? ??????? ?????? ?? ???????? ?????? ????????? ?????, ???????? ?? 78 ????????. ????????? ???? ????? ? ????????, ?? ??????? ?????. ??? ??????????????? ????? ? ????????? ????? ? ????? ???????? ??????????? ?????. ?? ???????, ??? ??? ???? ????????? ??????? ? ???????? ?????????. ???????? ????????? ????? ?? ?????????. ??????? ????? ????????? ???? ? ???- ??? ????? ? ????????? ????????. ??, ????? ?? ???????, ???????? 16 ?? ?????.","?????? ????? ?? ?????????, ????????? ?????. ? ???? ??????????? ?????????? ? ??????? ?????? ???. .V4* ?*2&&<?$? *& ?\\\\-","? 90 ???????? ??????? ???????? ?????????????? ???. ???????. \/:","????????????? ??????? ??? ?????. ? ??? ??? ?? 15 ????? ?? ????????? ?????. ????????, ????? ???????????, ???- ????????. ???","????, ????????? ??????????. ???????? ?? ?????????? 90 ?????. ????? ??????? 45 ????? ??????- ?? ?????? ????????? ???????? ????? ?????, ??? ????? ?????? ????, ???????? ??? 15 ?????, ???????? ??????? ????? ?? ?????????? ??? ??????- ????????? ? ?????????? ?????????. ???????? 5 ????? ? ?????????? ? ??????????. ?? 27 ?????- ???????? ?????????? ??????, ???????? ?? 10 ?????, ????? ?????? ???. ????? ?????? ? ????????? ???????? ????????? ????? ????? ?????????. ??, ??? ??? ?? ??????? - ????? 20 ?? ?????.","????? ??????????? ????? ????? ? ?????????, ????????? ????????, ??????? ?????? ??????? ? ????????????? ? ????????? ???????.","??????? ??????????? ???????? ??????? ????????????? \u2014 ??????-?????????? ????? ?????????? ???????, ????- ????? ???????- ?????? ?? ????????????? ??????????? ????????????? ????? ????? ????????? ? ??????????? ???????????? ????1 ????? ??????, ??? ? ???????? ???- ????????? ?????? ???? ??? (???-????????), ?? ???????? ??????????? ???? - ??????? ??????? ??? ????????, ?????????? ?? ???????? ??????? ???????? ??? ?????????? ?????? ???????. ? ??????????? ?? ???? ???????????? ??????????? ???? ??????? ????????????? ???????????? ?? ????????????????? (? ?????????? ??????? ?????????? ?? ??????? ?????????? ??? ? ?????? ????????????????) ? ?????????????? ?????????????. ?????? ??????????? ????? ???????? ??????? ???????? (??????????, ?????, ????? ????????), ?? ?????? \u2014 ????????, ?????????? ?? ??????????? ????????? ??????- ??. ????-?????????? ????????????? \u2014 ?????????? ??????? ????? ?????????? ??????- ??- ??? ????????????? ??????????? ????? ? ???????? ??? ????????? ???????????? ?????????? ??????????. ??????????? ????? ?????? ????????, ?????????? ?? ???????? ????????, ????????? \u2014 ???. ?????????? ???????? ?? ????????? ? ????????? ? ????????????? (??? ???????- ????? ? ??) ??????????? ??????????? ?????. ? ??????? ???? ????? ????? ???????????? ??? ??????? ????????????, ?????? ????- ??????? ? ???????????? ?????? ?????? 400, ??????? ?????? ????????????? ???????? ???????????, ??????? ?? ??????? \u2014 ?????????, ?????????????????, ? ?????? ??????????, ???????? ?????????. ???? ??????????? ???? ?????????????, ??? ???????, ???????????? ????????, ??????? ??????? ????????????? ?????? ??-","???????? ??? ???????? ????? ??????? ???????????? ??????????. ??????? ???????? ??? ????? ?????? ???????????? ???????? ??????? ???????- ????: ????????? ???????? (?????) ????????? ??????? ?????????? ????? ???? ????? ????????????? ????????? ??????? ?????????????????? ???????? ????-???????? ???????? ????-???????? - ???? ????? ??? \u2014 40 ???????? ?????? ?? ?????? ??? ????????? ?????, ??????? ?????? ????????? ??? ??????? ????????? (?? 150 ????- ????) , ??????????? ????????? ???????? ?? ?????? ??????? ?? ???????? ???????? ???????????? (?????? ???????????? ???????? ??? ????????? ?? 4 ?? 10 ????- ????) . ???? ????? ??? ????????????? ?????????? ?????, ???? ????? ? ????, ??? ???? ??????? ? ?????? ????. ? ?????? ????????????? ? ???????? ????-???????? ???????? ??? ????? ???????- ???? ???? ???????? ?????? ???????? ????? ??????? ?????????? ??? ????? ????- ?????????? . ????????? ??????? ???? - ?????????????? ????? ?????????? ???????? ???????- ? ????? ????? \u2014 ???????? ??????? ???? ? ???????, ? ???????? ????????? ???????????? ???- ?????????? ????? ???? ?? ????? ? ???????. ?????? ??????? ???? ??- ?????????? ???????? ??? ????????. ?????????? ????? ????? ????????????? ??? ?????? ????? ????????????? ????? ? ?????????????????? ???????. ? ??? ??????, ???? ??????????? ???????????? ??? ??????? ?????? ????, ???- ??????? ????? ???? ??????????? ? ???????????. ????? ???????? ? ?????????? ??? ?????? ??????????? ????? ???????????? ???- ??????? ?????????. ?????????? ?????? ?????? ?? ???????????, ??????????? ???- ???????? ????? ??????? ?? 50 ?. ????? ???????? ????? ?? 0,1 ?? ?????????? ??????????? ? ?????? ???????????? ????????, ????? ????? ????????? 2 ?????????: 1. ????? ???????? ? ?????????? ??? ?????? ???????? ?????? (??????????? ????- ??????????? ?????????????????? ????? ??? ????? ???????????? ???? ? ??????- ???? ?????? ??????? 1 ??) ????? ???????????? ?????????? ?????????. 2. ????????? ? ??????? ????? \u00ab???????? ?????\u00bb ?????? ??? ????? ???????????. ??????? ???? ????? 2 ?????????: \u00ab????? ?????\u00bb ? \u00ab??????\u00bb. ? ????????? \u00ab??- ??? ?????\u00bb ???-???????? ????????? ???????? ? ???????, ? ??? ?? ????? ?????","?????????? ????? ?????? ? ??????? ?????? ?????, ? ?????? ????????? ?? ???- ????? ?????? ????? (??????????). ??? ???????? ???????? ????? ? ????? \u00ab???- ???\u00bb ?????????? ???????????? ??????? ?????: ?????? ???-???????? ???? ? ??- ????? 1 ????? ????????????? ????? (?????? ?????????? ????? ??????? ??? 2 ??) ??????????? ????? ??????? ???? ????? ? ???????, ? ??? ?? ????? ?????? ?????? ????? ??????????? ? ?????????? ????? ????????????? ?????. ??? ?????????????????? ???????? ??????????????? ?????, ????? ???????? ???- 2 ???? ??????? ???????? ?????? ????????. ??? ??????? ????????????? ?????????? ??????? ?? 2 ?? \u2014 ??????????? ? ??????????. ?????????? ??????? ????? ??????? 4 ?? ? ????? ?? 1-?? ????? ?? 4-? ??????. ?????????? ??????? ??????????? ??- ????? (ID \u2014 inner diameter) \u2014 0,15-0,53 ??, ? ????? \u2014 15-100 ?. ?????????? ??? ???????????? ??????? ?????? ??????, ??????????? ?????, ????, ?????? ???- ??????? . ? ????????? ????? ?????????? ??????????????? ???????? ??????????? ?????? ??????? ????????????? ?? ??????????? ??????, ? ?????????? ??????????? ?????. ????? ???????? ??????? ????? ????????? ????? ? ???? ????? ??????, ???? ???? ???????????? ??????? ?????? 30-60 ?. ?????? ????? ??????? ?????????? ??????? ??????????? ?????, ? ????? ??????- ????? ??????????? ??????????? ??????? ? ??????? ????? ???????? ????????????- ???????. ???????? ??????????? ??????????? ?????? ?????????? 0,05-0,1 ?. ??? ??????? ????????????? ? ??????????? ??????????? ?????????? ??????????. ????????? ????????????? ??? ???????????? ????????? ???????????? ??????? ?? ????????? ?????? ?????? ?? ?????????????????? ???????. ??????? ???????? ???? ??????? ?? ????????? ?????? ???????? ?????????????? ??????????, ??????? ?? ???????? ????????? ????. ? ??????? ????????????? ?????????? ????????? ???? ??????????: ? ????????-????????????? ???????? ? ???????? ?? ???????????????? (??????????) ? ???????? ???????????? ??????? ? ????????-??????????????? ???????? ? ??????????? ???????? ? ????????????????? ???????? ? ????-??????????? ? ??-????? ??????????? ??????? ??????? ??????????? ?????????? ? ???????? ???????????????? ?? ????? ????? ?????? (5000$) ? ?? ???????? ??? ???? ??? ??????? ?????????? ???????????. ???- ? ??????? ???? ??????? ??? ?? ????? ????????? ? ????????????? LPG1 ??? ??- ??????? ??? ????????????????? ?????? (Ci-C5) , ????? ????? ? ????? ?????? ??. ???????? ??????? ??????????? ??????? ?? ????????? ???????????: 1. ????????????????? ?????????, ?????????? ???????. ??????????? 2. ???????, ? ??????? ?????????? ?????????? ????? ???????????? ?????. 3. ???-???????? (?????, ???????, ????), ??????? ?????????????? ??????? ??- ??? ???????. 4. ???????? ??? ????????? ????????? ??????????? ???????. ? ???????? ??????- 1 Petroleum Gas - ????????? ???????? ??? (???) ???????????? ????? ??????- ?????, ? ????- Liquefied ??????? ???????? ????????????????????? ????? ?????????????? ??? ???, ?????, ???????, ?????????, ????????, ????????? ? ?-??????.","?????? ????????-????????????? ??? ??????????? ????????? ????????????. ?????????????. 5. ????????? ??? ?????????? ??? ?????????????? ?????? ? 6. ???????????? ???? ??? ???????? ??????? ? ???????. ??????????? ??????? ????? ?? ??????????? ?? ???. ??????????? ??????? ?????? 1,5 ? ???????? ???????????. ??????? (????????, ????? ?????? ? ???????) ?????? ? ???????. ??? ?????????? ???????? ?? ??????? ????? ? ??????? ? ?? ????? ?????????? ??????????? ?? ???- ???? ???????????. ??????? ??? ????? ??????????????? ???????????? ????????????? ???????. ??? ????????????2 ?? ???????????: 1. ?????????? ????? 5? 2. ??????????? ?????? 3. ????? ??? ?????? 4. ??????????? ??? ?????? 5. ??????????? ????????? CARESITE\u00ae ??? ?????? 6. Arduino UNO 7. ?????? ????3 TGS-813 8. ?????? ??? ?????? ????????? 9. ??????????? ?????? 10.???????? ????? 11.???????? 10 ??? 12.????????? 2 https:\/\/m.youtube.com\/watch?v=nDdQ6vMInPI 3 ??????? ????? (?????, ??????, ????????) ?? 500 ?? 10000 ?????? ?? ???????. ??????","?????? ??????? TGS-813 ? ????????? CARESI??. ????? ??? Arduino UNO ???????? ???? (????????????? ?????). ????? ????????? ????????? ????????????? ? Excel, ??? ????? PLX DAQ4, ??? ?????? ??? ?????????? ????? ???????? ??? MS Excel. ???????? ????????????? ????????? ????????. float vp = 1.7; float rl = 100000; 4 WinlO: https:\/\/www.parallax.com\/plx-daq-updated-for-excel-windows-10-and- ??? propeller-2-early-adopter-progress\/","float r2 = 10000; float ts = 0; void setup() { Serial.begin(9600); Serial.println(\\\"CLEARDATA\\\"); Serial.println(\\\"LABEL\\\"); Serial.println(\\\"RESETTIMER\\\"); Serial.println((int) (vp \/ (r2 \/ (rl + r2)))); delay(1000); void loop() { (r2 (0) * vp) \/ 1024.0; \/\/ here you can \/ (rl + r2))*10)+l); float v = (analogRead the v2 = ((v \/ float \/\/ calibrate sensor if (v2 <2) { v2 = 0.00; } Serial, print (\\\"DATA, TIME, TIMER,\\\") ; Serial.println(v2); delay (1000); } ??? ??????? ??????? ????? ?????????? 60 ? ?????? 0,03-0,2 ??. ??????? ????? ????? ????????, ?? ?? ????? 0,5 ??. ??????? ??????? ??? ????? ??????? ?????: ? 10 ? ?????????? 60 (Carl Roth Sigma Aldrich) ????? 40-60 ???????????????? ? 30 ?? ???????????? ???????? ???????????????? ? 1 ? ????????????? ? ?????? 200 ?? ? ?????????? ??????? ? ???? ? ??????????? ??????? ?????? 1,5 ? ? ??????????? Luer-Lock (Intrafix Braun) ? ???? ?* ?\u2022 <* ? ??????????? ??????? Intrafix Braun.","?????????? ??????? ? ??????????? ????? ? ???????? ??????????. ???????? ??? ??? ??????? ??????????, ???? ???????????? ?? ?????????. ???????? ?????????? ??? 120 ? (30 ?????) ? ????????? ?? ??????????? ?????- ??. ????- ???????????? ? ?????? ? ???????? ???????, ???? ?? ???????? ?????????? ??? ???????. ?????? ???? ?????????? ?????? ???? ??????? ?????? ? ?????????????. ?????????? ????? ???????? ? ???????? ??? ????? ??????, ????? ???????? ?????? ?? ??????????. ??????? ????? ? ??????? ????? ? ???????. ??? ?????????? ????? ???????????? ?????. ???????? ???????? ?????? ????????? ??????? ????, ????????? ??????? ??????? Zippo Butan LFNR 10 ? II *\\\"^vtv,j * _: .. ?, a i t _ \u00bb\\\\ \u2022\u00bb i. ? ?? ? ? \u00abT ????? ?????????","????????? ????????? ?????????? ??????????? ?? Arduino ????????? ???????????, ???????? ???????????, ?????????? ?????????? ? ?. ?. ????? ???? ??????????? ? ?????????????? ???????????????? Arduino. ????????? (?????) ??? Arduino, ?????? ?????????: ? ???????? ????????????? ??????????? (??? ???????, ??? ??? ?????????? ??? ???????? ??????????). ? ??????????? ????????????? ? ??????????? ? ???????? ???????. ???????? ???????????, ? ????????? 3-??????? (???) ??????? \u00ab??????????\u00bb ??- ??. ??- ?????? ??????? ??? ?????????? ???????????? ?????????? (??????????? ?????- ??) . ???- ? ??????? ??????????????? ?????? (??????????? ? ?. ?.) ?? ??????????? ???? , ????????? ???????????????? ?????????? USB ?? Arduino. ? ???????? ?? ??????? ???????????????? ????? USB ??? ????????? ???????, ????? ???-?????????? ? ?. ?. +5V Resistor I Arduino (Rs) V (??) lOOkQ Thermistor (RT) +12V Resistor lkQ Arduino Analogue Output 22QC22Q 22Q Heater (RL) OV \/\/pins used = 9; heaterPin int therml =0 int therm2 =1 int therm3 =2 int switchPin int = 3; int pumpPin = 4;","\/\/temp calculation 100000 \/\/resistance at 25 degC thermNom 25 \/\/temperature #define 5 \/\/number for nomial 3950 \/\/beta #define tempNom 100000 \/\/value resistance #define numSamp #define of samples of themistor (usually 3000-4000) bCoEff coefficient #define serRes of other resistor int samp[5]; \/\/temperature setpoint in degC int defaultSetpoint \/\/temperature int setpoint = 50; controlled to setpoint = defaultSetpoint; \/\/switch int switchState = 0; \/\/switch resets timer \/\/timer unsigned long startMillis = 0; \/\/timer \/\/proportional controller multiplied by tempDiff to give output int kp = current, 0 = off, 10; 255 = full power int ki = 1; int kd = 1\/\/\/constant, = 0; \/\/varies int output int serialOutput=0; \/\/ By default serial output of data is off, unti \/\/ fstart1 command is issued by computer, int preErr = 0; int integral = 0; int dt = 1; \/\/loop period (sec) String readstring; int parseCmd(String cmdLine, String *key,String *value) { =f) ; int equalsPos; equalsPos = cmdLine.indexOf(f if (equalsPos==-l) { *key=cmdLine; *value=\\\"\\\"; } else { *key=cmdLine.substring(0,equalsPos); *value=cmdLine.substring(equalsPos+1); } return(equalsPos) ; } \/** * Convert ADC counts fcf to resistance, assuming it is wired serRes ohms. * as a potential divider global with series resistance c) * (serRes defined as (1023 variable). *\/ { float countsToRes (int - c); float rT; rT = (serRes * c) \/ return (rT); } float resToTemp (float rT) { \/\/(R\/Ro) float steinhart; steinhart = rT \/ thermNom;","steinhart = log(steinhart); \/\/ln(R\/Ro) steinhart * ln(R\/Ro) steinhart \/= bCoEff; \/\/1\/B + 273.15); steinhart steinhart +=1.0\/ (tempNom \/\/Invert \/\/+(l\/To) return = 1.0 \/ steinhart; to } -= 273.15; \/\/convert degC (steinhart); \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ void setup() { Serial.begin(9600); = millis(); startMillis pinMode(heaterPin, OUTPUT); pinMode(therml, INPUT); pinMode(swi tchPin, INPUT) ; pinMode(pumpPin, OUTPUT); digitalWrite(switchPin, HIGH); preErr = 0; integral = 0; \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ void loop() { int outputs- String k,v; \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ \/\/ reset switch \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ switchState = digitalRead(switchPin); unsigned long time = millis(); if (switchState == LOW) { startMillis = time; } \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ \/\/ temperature controller. \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ int vail = analogRead(therml); int val2 = analogRead(therm2); int val3 = analogRead(therm3); float tl = resToTemp(countsToRes(vail)); float t2 = resToTemp(countsToRes(val2)); float t3 = resToTemp(countsToRes(val3)); int tempDiff = setpoint - tl; integral = integral + tempDiff * dt; int derivative = (tempDiff - preErr) \/ dt; output = tempDiff * kp + integral * ki + derivative * preErr = tempDiff; if (output < 0) { output = 0; } > 255) { if (output = 255; output }","analogWrite (heaterPin,output); \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ \/\/ respond to commands from serial. \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ while (Serial.available()) { > 0) if (Serial.available() { char ? = Serial.read(); readString += c; } } \/\/Serial.println (readString); ; if (readString.length()>0) { parseCmd(readString, &k,&v); Serial.print(\\\"parseCmd k=\\\") Serial.println(k); Serial.print(\\\"parseCmd v=\\\"); Serial.println(v); if (V==\\\"\\\") { if (k==\\\"setpoint\\\") { { Serial.print(\\\"setpoint=\\\"); Serial.println(setpoint); } if (k==\\\"kp\\\") { Serial.print(\\\"kp=\\\"); Serial.println(kp); } if (k==\\\"ki\\\") { Serial.print(\\\"ki=\\\"); Serial.println(ki); } if (k==\\\"kd\\\") { Serial.print(\\\"kd=\\\"); Serial.println(kd); } if (k==\\\"start\\\") { { serialOutput=l; } if (k==\\\"stopff) serialOutput=0; } if (k==\\\"settings\\\") Serial.print(\\\"Set,\\\"); Serial.print(setpoint); Serial.print(\\\",\\\"); Serial.print(kp); Serial.print(\\\",\\\"); Serial.print(ki); Serial.print(\\\",\\\"); Serial.print(kd); Serial.print(\\\",\\\"); Serial.print(tempDiff); Serial.print(\\\",\\\"); Serial.println(integral); } }","else { if (k==\\\"setpoint\\\") { \/\/change setpoint setpoint = v.toInt(); } if (k==\\\"kp\\\") { \/\/change gain kp = v.tolnt(); } if (k==\\\"ki\\\") { \/\/change gain ki = v.tolnt(); } if (k==\\\"kd\\\") { \/\/change gain kd = v.tolnt(); } if (k==\\\"pump\\\") { if (v==\\\"on\\\") { digitalWrite(pumpPin, HIGH); Serial.println(\\\"Pump is switched on\\\"); } if (v==\\\"off\\\") { digitalWrite(pumpPin, LOW); Serial.println(\\\"Pump is switched off\\\"); } } } readstring = \\\"\\\"; } \/\/Serial.print(time-startMillis); if (serialOutput==l){ Serial.print(\\\"data,\\\"); Serial.print(time-startMillis); Serial.print(\\\",\\\"); Serial.print(tl); Serial.print(\\\",\\\"); Serial.print(t2); Serial.print(\\\"A\\\"); Serial.print(t3); Serial.print(\\\",\\\"); Serial.print(t3-t2); Serial.print(\\\"A\\\"); Serial.print(output); Serial.print(\\\"A\\\"); Serial.print(integral); Serial.println(); } delay(dt * 1000); ???????????????? ????? ??????? ??? ????????????????? ?????????? \u2014 ?? ????- ????????? ? ??? ??? ???????","??? \u00ab??????\u00bb ???????????????? ????????? ?? ??????????, ???????????? ? Arduino, ??? ???????? ???-???????? ? ????? ???????????? ???-???????, ??? ????????, ??? ?? ?????? ???????????? ????? ????????? ? ???????? ????????????????? ??????????, ??????? ??? ????? ????????? ???-??????. ???? ????????? ???? ?????????? ??? ????? Arduino, ? ??- ????? , ??? ????? ??????? ????? ???????????? Raspberry Pi. ????????? ?? ?????? ?????? ?????????: ? ??????? ???-???????. ? ???? ??????? ??????????? ??????? ?? ????, ?? ?????? ??????? ?????????, ??- ?????????? ????????? ???????????? ? ?????? ????????????? ??????? (??????? ????? ????? ???????? ???????? ?????????). ??????????? ?????- ????????? ? ???????? ???-???????? ???????? ? ???? ??? javascript, ???. ???? ?? ????????? ??? ?????????? ???? ???????? ?????? ???????), ? ???????? ?? ???????????? ??????? (????????, ????????? ?? ?? Arduino ?? ???????????????? ?????. ? ???????? ?????? ? Arduino (?? ?????????? ????? ?????? ?????? ???????) ? ??????? ????????? ????. ? ?????????? ?????? ?????????? ???? ??? ?????????? ??????? ??????? ???????- ???? ? ?. ?. M Inbox (14) x ? Google Blogger: hx i.'How Did I \u00a3J| Photos G- x ? ardumo-p: Chromato< x File Edit View Gi localhost ?* ? ?? Chromatograph Web Server Change to setpoint : 50 Go Gains: kp: l Go ki: l kd : 35 Pump : On Otl \u00b1 * Q24t ^^$S 10:36 ? ??? ???-??????? \u2014 ??? ????? python (????????? runServer.py, ????? ????????? ???-??????): ()\\\" : config utils.py #!\/usr\/bin\/python import ConfigParser class ConfigUtil: def init (self,configFname,section) print \\\"ConfigUtil. init","self.config = self.getConfigSectionMap(configFname,section) def getConfigBool(self,configName): if (configName in self.config): try: retVal = bool(self.config[configName]) except ValueError: print \\\"configName is not a boolean\\\" retVal = False else: print \\\"key %s not found\\\" % configName retVal = False return retVal def getConfiglnt(self,configName): if (configName in self.config): try: retVal = int(self.config[configName]) except ValueError: print \\\"configName is not an integer!!!\\\" retVal = -999 else: print \\\"key %s not found\\\" % configName retVal = -999 return retVal def getConfigFloat(self,configName): if (configName in self.config): try: retVal = float(self.config[configName]) except ValueError: print \\\"configName is not a float!!!\\\" retVal = -999 else: print \\\"key %s not found\\\" % configName retVal = -999 return retVal def getConfigStr(self,configName): if (configName in self.config): retVal = str(self.config[configName]) else: print \\\"key %s not found\\\" % configName retVal = \\\"NULL\\\" return retVal def getConfigSectionMap(self,configFname, section): 1f'Returns a dictionary containing the config file data in the section specified by the parameter f sectionf. configFname should be a string that is the path to a configuration file. fff dictl = {} config = ConfigParser.ConfigParser() config.read(configFname) options = config.options(section) for option in options: try: dictl[option] = config.get(section, option) if dictl[option] == -1: DebugPrint(\\\"skip: %s\\\" % option)","except: on %s!\\\" % option) print(\\\"exception dictl[option] = None return dictl plot.py #\/usr\/bin\/python # Based on example found at: # http:\/\/rwsarduino.blogspot.??.uk\/2014\/12\/python-plots-from-serial-input.html # # Needs some work because sometimes null bytes mess up the fsplit1 function # and it crashes. # import matplotlib.pyplot as pit import import time serial pit. ion() ser = serial.Serial(f\/dev\/ttyUSBlf,9600,timeout=l) line = ser.readline() # throw away any part lines while(ser.inWaiting() < 100): # make sure something is coming now =0.0 t=[] # initialize the data lists dl=[] d2=[] d3=[] d4=[] d5=[] d6=[] while (ser.isOpen()): line = ser.readline() # read a line of text print line mylist = line.split(\\\",\\\") # parse it into CSV tokens print mylist now = float(mylist[0])\/1000 # time now in seconds t.append(float(mylist[0])\/1000) # from first element as milliseconds to lists dl.append(float(mylist[1])) # six data elements added d2.append(float(mylist[2])) d3.append(float(mylist[3])) d4.append(float(mylist[4])) d5.append(float(mylist[5])) #d6.append(float(mylist[6])) if(ser.inWaitingO < 100): # redraw only if you are caught up pit.elf() # clear the figure pit.plot(t,dl) # plot a line for each set of data plt.plot(t,d2) plt.plot(t,d3) plt.plot(t,d4) plt.plot(t,d5) #plt.plot(t,d6) #plt.axis([now-300,now,min(dl)-50,max(dl)+50]) pit.axis([now-300,now,0,1000]) pit.xlabel(\\\"Time Since Boot [s]\\\") pit.grid(b=True, which=fbothf, color='0.65 f,linestyle=f-f) pit.draw()","plotdaemon.py #\/usr\/bin\/python # Based on example found at: # http:\/\/rwsarduino.blogspot.??.uk\/2014\/12\/python-plots-from-serial-input.html # # Needs some work because sometimes null bytes mess up the fsplit1 function # and it crashes. # import matplotlib matplotlib.use(f aggf) import matplotlib.pyplot as pit import time import serial MAXLEN = 300 print \\\"plotdaemon.py\\\" print \\\"Opening Serial Connection\\\" ser = serial.Serial(f\/dev\/ttyUSBO f,9600,timeout=l) print \\\"Waiting for serial comms to settle...\\\" time.sleep(2) print \\\"Reading first line of data, and ignoring it.\\\" lines line = ser.readline() # throw away any part to register...\\\" print \\\"line=%s\\\" % line lines print \\\"Sending start command\\\" ser.write(bf startf) print \\\"ignoring a few lines for start command for n in range(0,5): line = ser.readline() # throw away any part print \\\"line=%s\\\" % line while(ser.inWaiting() < 100): # make sure something is coming now =0.0 data lists t=[] # initialize the # read dl=[! d2=[; d3=[! d4=[; d5=[! d6=[; while (ser.isOpen()): line = ser.readline() a line of text mylist = line.split(f\\\\rf)[0].split(\\\",\\\") # parse it into CSV tokens if (mylist[0]==fdata1): print mylist now = float(mylist[1])\/1000 # time now in seconds t.append(float(mylist[1])\/1000) # from first element as milliseconds to lists dl.append(float(mylist[2]) # six data elements added d2.append(float(mylist[3]) d3.append(float(mylist[4]) d4.append(float(mylist[5]) d5.append(float(mylist[6]) #Trim the lists to avoid using up all the memory! if (len(t)>MAXLEN):","#print len(t),t del t[0:(len(t)-MAXLEN)] #print len(t),t del dl[0 (len(dl) -MAXLEN) ] -MAXLEN) ] del d2[0 (len(d2) -MAXLEN) ] -MAXLEN) ] del d3[0 (len(d3) -MAXLEN) ] del d4[0 (len(d4) del d5[0 (len(d5) if (ser .inWaitingO < 100) : # redraw only if you are caught up pit.elf() # clear the figure pit.plot(t,dl) # plot a line for each set of data plt.plot(t,d2) plt.plot(t,d3) plt.plot(t,d4) plt.plot(t,d5) #plt.plot(t,d6) #plt.axis([now-300,now,min(dl)-50,max(dl)+50]) pit.axis([now-300,now,0,1000]) pit.xlabel(\\\"Time Since Boot [s]\\\") pit.grid(b=True, which=fbothf, color='0.65 f,linestyle=f-f) #plt.draw() pit.savefig(f out.pngf) else: print \\\"Message %s\\\" % line.split(f\\\\nf)[0] runServer.py #!\/usr\/bin\/python # ############################################################################# # # Copyright Graham Jones, 2013-2014 # ############################################################################# # # This file is part of GC. # # GC is free software: you can redistribute it and\/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Foobar is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GC. If not, see <http:\/\/www.gnu.org\/licenses\/>. ############################################################################## # \\\"\\\"\\\"[application description here]\\\"\\\"\\\" appname = \\\"runServer\\\" Jones\\\" author = \\\"Graham version = \\\"0.1\\\"","license = \\\"GNU GPL 3.0 or later\\\" import os, sys, time,serial ConfigUtil import from config_utils as pit aggf) import webserver import matplotlib matplotlib.use(f import matplotlib.pyplot class runServer(object): configFname = \\\"config.ini\\\" configSection = \\\"server\\\" MAXLEN = 300 def init (self ,port = None) : print \\\"runServer. init () \\\" print os . path. realpath ( file ) configPath = \\\"%s\/%s\\\" % (os.path.dirname(os.path.realpath( file )), self.configFname) print configPath self.cfg = ConfigUtil(configPath,self.configSection) self.debug = self.cfg.getConfigBool(\\\"debug\\\") if (self.debug): print \\\"Debug Mode\\\" self._wkdir = self.cfg.getConfigStr(\\\"working_directory\\\") % self, % self._wkdir print \\\"working_directory=%sn\\\\ \\\" if (self.debug): tmpdir = self.cfg.getConfigStr(\\\"tmpdir\\\") self._tmpdir print \\\"tmpdir=%s\\\\n\\\" if (self.debug): if (port == None): port = f\/dev\/ttyUSBOf print \\\"Opening Serial Connection on %s\\\" % port self.ser = serial.Serial(port,9600,timeout=l) print \\\"Waiting for serial comms to settle...\\\" time.sleep(2) print \\\"Reading first line of data, and ignoring it.\\\" lines line = self.ser.readline() # throw away any part print \\\"line=%s\\\" % line self.start() print \\\"waiting for some data...\\\" while(self.ser.inWaiting() < 10): print \\\"waiting - inWaitingO=%d\\\" % self.ser.inWaiting() time.sleep(1) print \\\"wait over!\\\" print \\\"ignoring a few lines for start command to register.. for n in range(0,5): line = self.ser.readline() # throw away any part lines print \\\"line=%s\\\" % line #Initialise data lists. the data lists self.t=[] self.dl=[ # initialize self.d2=[ self.d3=[ self.d4=[ self.d5=[ self.d6=[","# Start web server self._ws = webserver.Webserver(self) webserver.setRoutes(self ._ws) # Run our main loop, self.run() def run(self): milliseconds \\\"\\\"\\\"Run the main loop.\\\"\\\"\\\" while(True): line = self.ser.readline() # read a line of text mylist = line.split(fr\\\\ f)[0].split(\\\",\\\") # parse it into CSV tokens if (mylist[0]==fdataf): print mylist now = float(mylist[1])\/1000 # time now in seconds from self.t.append(float(mylist[1])\/1000) # first element as self.dl.append(float(mylist[2]) # six data elements added to lists self.d2.append(float(mylist[3]) self.d3.append(float(mylist[4]) self.d4.append(float(mylist[5]) self.d5.append(float(mylist[6]) #Trim the lists to avoid using up all the memory! lenLists = len(self.t) if (lenLists>self.MAXLEN): del self.t[0:(lenLists-self.MAXLEN)] del self.dl[0 (lenLists-self.MAXLEN)] del self.d2[0 (lenLists-self.MAXLEN)] del self.d3[0 (lenLists-self.MAXLEN)] del self.d4[0 (lenLists-self.MAXLEN)] del self.d5[0 (lenLists-self.MAXLEN)] if(self.ser.inWaiting() < 100): # redraw only if you are caught up pit.elf() # clear the figure pit.plot(self.t,self.dl) # plot a line for each set of data pit.plot(self.t,self.d2) pit.plot(self.t,self.d3) pit.plot(self.t,self.d4) pit.plot(self.t,self.d5) #plt.axis([now-300,now,min(dl)-50,max(dl)+50]) pit.axis([now-300,now,0,1000]) pit.xlabel(\\\"Time Since Boot [s]\\\") pit.grid(b=True, which=fbothf, color='0.65 f,linestyle=f-f) #plt.draw() plt.savefig(fwww\/out.pngf) elif (mylist[0]==fSet1): = line # used by 'settings1 function. self.settingsStr self.haveSettings = True else: if (len(line.split(f\\\\nf)[0])>0): print \\\"Message %s\\\" % line.split(fn\\\\ f)[0] def setSetPoint(self,setpoint): % setpoint print \\\"setSetPoint(%d)\\\" % setpoint) self.ser.write(\\\"setpoint=%d\\\"","def setKp(self,gain): % gain print vvsetKp(%d)\\\" % gain) self.ser.write(\\\"kp=%d\\\" def setKi(self,gain): % gain print vvsetKi(%d)\\\" % gain) self.ser.write(\\\"ki=%d\\\" def setKd(self,gain): % gain print \\\"setKd(%d)\\\" % gain) self.ser.write(\\\"kd=%d\\\" def start(self): start command\\\" print \\\"Sending self.ser.write(\\\"start\\\") to main loop....\\\" print \\\"returning def stop(self): stop command\\\" print \\\"sending self.ser.write(\\\"stop\\\") def pumpstart(self): start command\\\" print \\\"Sending self.ser.write(\\\"pump=on\\\") to main loop....\\\" print \\\"returning def pumpstop(self): stop command\\\" print \\\"sending self.ser.write(\\\"pump=off\\\") def settings(self): = False # Flag - set by main loop if settings received, self.haveSettings print \\\"Requesting settings\\\" self.ser.write(\\\"settings\\\") print \\\"Waiting for settings to be returned...\\\" # wait for main loop to set haveSettings. while (not self.haveSettings): % self.settingsStr pass print \\\"found settings: %s\\\" return self.settingsStr if name ==\\\" main \\\": # Boilerplate code from https:\/\/gist.github.com\/ssokolow\/151572 from optparse import OptionParser parser = OptionParser(version=\\\"%%prog v%s\\\" % version , usage=\\\"%prog [options] <argument> ...\\\", description= doc .replace(fr\\\\ \\\\nf, f\\\\nf).split(f\\\\n--snip--\\\\nf)[0]) parser.add_option(f-pf, f--portf, dest=\\\"port\\\", (Default \/dev\/ttyUSBO).\\\") port to connect help=\\\"Specify to arduino opts, args = parser.parse_args() print opts print args runServer(port=opts.port)","webserver.py #!\/usr\/bin\/python # ############################################################################# # # Copyright Graham Jones, December 2014 # ############################################################################# # # This file is part of GC. # # GC is free software: you can redistribute it and\/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # GC is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GC. If not, see <http:\/\/www.gnu.org\/licenses\/>. ############################################################################## # # This uses the bottle framework to make a simple web server # import time import json import bottle #from bottle import route from threading import Thread # This trick is taken from http:\/\/stackoverflow.com\/questions\/8725605\/ # bottle-framework-and-oop-using-method-instead-of-function class Webserver(): def init (self ,ardCtrl) : server it it it initialise the web as a separate thread. class TT TT TT self._ardCtrl = ardCtrl # arduino Controller instance that we will talk to. server = Thread(target = bottle.run, kwargs={'server1:fcherrypyf, fhostf:f0.0.0.0f, fportf:8080}) server.setDaemon(True) server.start() def index(self): bottle.redirect(\\\"\/static\/index.html\\\") treturn \\\"ok\\\" def getChartImg(self): fname = self._chartImgFname return bottle.static file(fname,root=f\/f)"]


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook