[{"id":"8b98a9a3.769398","type":"function","z":"1e7a3b12.b1f6c5","name":"CPU Temp Function","func":"//msg.payload = {'d':{'temp': parseFloat(msg.payload.replace(\"temp=\",\"\").replace(\"'C\\n\",\"\"))}};\nmsg.payload = parseFloat(msg.payload.replace(\"temp=\",\"\").replace(\"'C\\n\",\"\"));\nreturn msg;","outputs":1,"noerr":0,"x":561.1904220581055,"y":798.7143229075841,"wires":[["4b9d1d3e.57afe4"]]},{"id":"4b9d1d3e.57afe4","type":"mqtt out","z":"1e7a3b12.b1f6c5","name":"MQTT-CpuTemp","topic":"cpuTemp","qos":"2","retain":"","broker":"374dc533.bced0a","x":777.1428756713867,"y":798.6192301341466,"wires":[]},{"id":"35df3105.60daae","type":"comment","z":"1e7a3b12.b1f6c5","name":"PID Control For CPU Temperature of Raspberry PI","info":"","x":220.3571014404297,"y":55.71428680419922,"wires":[]},{"id":"9228f328.0aae1","type":"PID control","z":"1e7a3b12.b1f6c5","name":"PID Controller","target":"40","kp":"85","ki":"1","kd":"5","x":299.4047431945801,"y":107.04764938354492,"wires":[["82bc0a26.e19378","62094921.821918","553bb306.28d9bc"]]},{"id":"82bc0a26.e19378","type":"debug","z":"1e7a3b12.b1f6c5","name":"","active":false,"console":"false","complete":"payload","x":530,"y":200,"wires":[]},{"id":"62094921.821918","type":"ui_chart","z":"1e7a3b12.b1f6c5","name":"Chart: PID Output Data","group":"1ba78078.d744d","order":3,"width":0,"height":0,"label":"PID Output","chartType":"line","legend":"false","xformat":"","interpolate":"linear","nodata":"PID Output","ymin":"","ymax":"","removeOlder":"1","removeOlderPoints":"","removeOlderUnit":"3600","cutout":"","colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"x":573.1309509277344,"y":161.1309871673584,"wires":[[],[]]},{"id":"d14b5ba1.8e6488","type":"debug","z":"1e7a3b12.b1f6c5","name":"","active":false,"console":"false","complete":"false","x":330.69044494628906,"y":489.04763255800526,"wires":[]},{"id":"eccc8602.b76ac8","type":"ui_chart","z":"1e7a3b12.b1f6c5","name":"Chart: CPU Temperature","group":"1ba78078.d744d","order":2,"width":0,"height":0,"label":"CPU Temperature [°C]","chartType":"line","legend":"false","xformat":"","interpolate":"linear","nodata":"CPU Temperature","ymin":"28","ymax":"50","removeOlder":"2","removeOlderPoints":"","removeOlderUnit":"3600","cutout":"","colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"x":371.69044494628906,"y":411.04763255800526,"wires":[[],[]]},{"id":"624736b6.610b98","type":"ui_gauge","z":"1e7a3b12.b1f6c5","name":"Guage: CPU Temperature","group":"1ba78078.d744d","order":1,"width":0,"height":0,"gtype":"gage","title":"CPU Temperature [°C]","label":"°C","format":"{{value}}","min":"0","max":"100","colors":["#00b500","#e6e600","#f90404"],"seg1":"","seg2":"","x":374.69044494628906,"y":452.04763255800526,"wires":[]},{"id":"fe0cc41.f571438","type":"mqtt in","z":"1e7a3b12.b1f6c5","name":"MQTT-cpuTemp","topic":"cpuTemp","qos":"2","broker":"374dc533.bced0a","x":97.64286041259766,"y":409.475980758667,"wires":[["eccc8602.b76ac8","624736b6.610b98","d14b5ba1.8e6488"]]},{"id":"f3ceda73.046d28","type":"mqtt in","z":"1e7a3b12.b1f6c5","name":"MQTT-cpuTemp","topic":"cpuTemp","qos":"2","broker":"374dc533.bced0a","x":99.9761962890625,"y":108.14266395568848,"wires":[["9228f328.0aae1"]]},{"id":"ecd2eb97.d76f88","type":"function","z":"1e7a3b12.b1f6c5","name":"PLANT","func":"var PID = msg.payload; // PID Value\nvar cycle; // PWM duty cycle\nvar adjustment = 0; // duty cycle adjustment\n\nvar cycle = parseFloat(adjustment) + parseFloat(PID);\n\nif(cycle<0){\n msg.payload=0;\n return msg;\n}\n\nelse if(cycle>100){\n msg.payload=100;\n return msg;\n}\n\nelse\n{\n msg.payload = parseFloat(cycle); \n // 0 - 100\n return msg;\n}\n\nreturn null;","outputs":1,"noerr":0,"x":315.4166831970215,"y":295.27364349365234,"wires":[["ef4a63ce.43882","bddece2f.ca0c8"]]},{"id":"ef4a63ce.43882","type":"debug","z":"1e7a3b12.b1f6c5","name":"","active":false,"console":"false","complete":"false","x":538.7857437133789,"y":350.2379541397095,"wires":[]},{"id":"553bb306.28d9bc","type":"mqtt out","z":"1e7a3b12.b1f6c5","name":"MQTT-pidController","topic":"pidController","qos":"2","retain":"","broker":"374dc533.bced0a","x":562.2142889840261,"y":107.66648524148127,"wires":[]},{"id":"2e36e18b.7e34ee","type":"mqtt in","z":"1e7a3b12.b1f6c5","name":"MQTT-pidController","topic":"pidController","qos":"2","broker":"374dc533.bced0a","x":119.35714612688344,"y":295.0950566700526,"wires":[["ecd2eb97.d76f88"]]},{"id":"c83d63d6.fc9f7","type":"comment","z":"1e7a3b12.b1f6c5","name":"PID - PLANT","info":"","x":90.78571755545477,"y":251.52362809862404,"wires":[]},{"id":"9f7cb201.e9ddb","type":"comment","z":"1e7a3b12.b1f6c5","name":"Chart & Gauge : CPU temperature","info":"","x":167.50000762939453,"y":366.23791790008545,"wires":[]},{"id":"bddece2f.ca0c8","type":"rpi-gpio out","z":"1e7a3b12.b1f6c5","name":"","pin":"7","set":false,"level":"0","out":"pwm","x":524.6428604125977,"y":296.52363681793213,"wires":[]},{"id":"d7d25599.01c428","type":"ping","z":"1e7a3b12.b1f6c5","name":"Ping","host":"169.254.170.40","timer":"5","x":90,"y":600,"wires":[["93e134b8.14e688"]]},{"id":"93e134b8.14e688","type":"function","z":"1e7a3b12.b1f6c5","name":"Internet Speed","func":"var i = msg.payload;\nmsg.payload = i;\n\nreturn msg;","outputs":1,"noerr":0,"x":259.8412322998047,"y":599.2380992344447,"wires":[["316f8e04.f4b9b2"]]},{"id":"c0db9fb9.bcfdb","type":"comment","z":"1e7a3b12.b1f6c5","name":"Check Your Internet","info":"","x":128.80963134765625,"y":557.2383433750697,"wires":[]},{"id":"316f8e04.f4b9b2","type":"mqtt out","z":"1e7a3b12.b1f6c5","name":"MQTT-ping","topic":"ping","qos":"","retain":"","broker":"374dc533.bced0a","x":463.9524383544922,"y":598.2383433750697,"wires":[]},{"id":"953b127a.fea0c","type":"comment","z":"1e7a3b12.b1f6c5","name":"Measuring CPU's Temperature For Raspberry Pi","info":"","x":220,"y":720,"wires":[]},{"id":"88980d7e.6f43c","type":"inject","z":"1e7a3b12.b1f6c5","name":"","topic":"","payload":"","payloadType":"date","repeat":"30","crontab":"","once":true,"x":130,"y":920,"wires":[["5907fb6d.6645a4","e31611df.c0ea7","a3c85d59.3fb5f"]]},{"id":"5907fb6d.6645a4","type":"exec","z":"1e7a3b12.b1f6c5","command":"vcgencmd","addpay":false,"append":"measure_temp","useSpawn":"true","timer":"","oldrc":false,"name":"getCPUtemp","x":322.4602584838867,"y":919.4602583476476,"wires":[["23ef30e2.02e86","51407629.1f3528","8b98a9a3.769398"],[],[]]},{"id":"23ef30e2.02e86","type":"function","z":"1e7a3b12.b1f6c5","name":"CPU Temp Function","func":"msg.payload = parseFloat(msg.payload.replace(\"temp=\",\"\").replace(\"'C\\n\",\"\"));\nreturn msg;\n\n\n//context.global.cputemp = 0.1 * parseFloat(msg.payload.replace(\"\",\"\").replace(\"00\",\"\"));\n//var temp = 0.1 * parseFloat(msg.payload.replace(\"\",\"\").replace(\"00\",\"\"));\n//msg.payload = temp.toString().substr(0, 4);\n\n","outputs":1,"noerr":0,"x":532.0475616455078,"y":905.7142866679601,"wires":[["3fe7a51e.8339aa","c1c409c1.a57e28","e9b0e1d8.5a6b","2b2587ae.288178"]]},{"id":"3fe7a51e.8339aa","type":"debug","z":"1e7a3b12.b1f6c5","name":"","active":true,"console":"false","complete":"false","x":745.5101356506348,"y":905.3251442909241,"wires":[]},{"id":"2b2587ae.288178","type":"file","z":"1e7a3b12.b1f6c5","name":"","filename":"/home/pi/CPU_Temp.txt","appendNewline":true,"createDir":false,"overwriteFile":"false","x":790,"y":868,"wires":[]},{"id":"51407629.1f3528","type":"debug","z":"1e7a3b12.b1f6c5","name":"","active":false,"console":"false","complete":"false","x":514,"y":945,"wires":[]},{"id":"c1c409c1.a57e28","type":"mqtt out","z":"1e7a3b12.b1f6c5","name":"MQTT - laptopcputemp","topic":"piRobotCputemp","qos":"2","retain":"","broker":"f26827e4.0f14d8","x":790,"y":960,"wires":[]},{"id":"7d7925dc.ffff9c","type":"inject","z":"1e7a3b12.b1f6c5","name":"create database table","topic":"CREATE TABLE HOME( TIME INT PRIMARY KEY NOT NULL, LOCAL INT NOT NULL, TEMP INT NOT NULL)","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":1001,"y":1224,"wires":[["360ce266.55c26e"]]},{"id":"9e828031.1d6db","type":"function","z":"1e7a3b12.b1f6c5","name":"Insert query","func":"//var time = msg.payload.substr(0, 18);\n//var temp01 = msg.payload.substr(17, 5);\n//var temp = parseFloat(temp01);\n\nvar time = msg.payload.data.time;\nvar local = msg.payload.data.local;\nvar temp = msg.payload.data.temp;\n\n//var temp = msg.payload;\n//var largeBool = (temp > 30)?1:0;\nvar newMsg = {\n \"topic\": \"INSERT INTO HOME VALUES ( \" + time + \", \" + local + \", \" + temp + \")\"\n};\n\nreturn newMsg;\n\n\n/*\nvar randomNum = Math.round(Math.random()*100);\nvar largeBool = (randomNum > 50)?1:0;\nvar newMsg = {\n \"topic\": \"INSERT INTO RANDOMNUM VALUES ( \" + msg.payload + \", \" + randomNum + \", \" + largeBool + \")\"\n}\n\nreturn newMsg;\n*/","outputs":1,"noerr":0,"x":989.3621673583984,"y":1266.7500791549683,"wires":[["360ce266.55c26e"]]},{"id":"a5cf6eeb.21a71","type":"inject","z":"1e7a3b12.b1f6c5","name":"view records","topic":"SELECT * FROM HOME ORDER BY TIME DESC LIMIT 100;","payload":"","payloadType":"date","repeat":"10","crontab":"","once":false,"x":1039.749942779541,"y":1396.0000343322754,"wires":[["71b9d8b8.15f6a8"]]},{"id":"3545e8.90f3aa18","type":"inject","z":"1e7a3b12.b1f6c5","name":"delete records","topic":"DELETE FROM HOME WHERE TIME <= strftime('%s','now', '-1 hours')*1000","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":1034.9692611694336,"y":1352.7500801086426,"wires":[["360ce266.55c26e"]]},{"id":"af32b949.f2fc28","type":"inject","z":"1e7a3b12.b1f6c5","name":"show counts ","topic":"SELECT COUNT(*) FROM HOME","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":1035.2499046325684,"y":1311.5000705718994,"wires":[["360ce266.55c26e"]]},{"id":"e31611df.c0ea7","type":"moment","z":"1e7a3b12.b1f6c5","name":"","topic":"","input":"","inputType":"msg","inTz":"ETC/GMT","adjAmount":"11","adjType":"hours","adjDir":"add","format":"","locale":"AEDT","output":"payload","outputType":"msg","outTz":"ETC/GMT","x":368,"y":1149,"wires":[["bae9536c.045fc"]]},{"id":"bae9536c.045fc","type":"function","z":"1e7a3b12.b1f6c5","name":"Parsing Time","func":"var time = msg.payload.toString().substr(0, 19).replace(\"T\",\" \");\nmsg.payload = time;\n\n\nreturn msg;\n","outputs":1,"noerr":0,"x":567.4999618530273,"y":1148.8341507911682,"wires":[["c0779a1c.aa4098","93c74709.9fb738"]]},{"id":"e9b0e1d8.5a6b","type":"delay","z":"1e7a3b12.b1f6c5","name":"","pauseType":"delay","timeout":"3","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":311,"y":1268,"wires":[["a3c85d59.3fb5f"]]},{"id":"a3c85d59.3fb5f","type":"join","z":"1e7a3b12.b1f6c5","name":"","mode":"custom","build":"string","property":"payload","propertyType":"msg","key":"topic","joiner":" ","joinerType":"str","accumulate":false,"timeout":"","count":"3","x":466,"y":1227,"wires":[["91eb49cf.cfe568","eaf5319e.0dfa1"]]},{"id":"91eb49cf.cfe568","type":"function","z":"1e7a3b12.b1f6c5","name":"JSON","func":"// \"1511753186366 2017-11-27 14:26:26 37.2\"\n\nvar timeBuf = msg.payload.toString().substr(0, 13);\nvar localYear = msg.payload.toString().substr(16, 2);\nvar localMon = msg.payload.toString().substr(19, 2);\nvar localD = msg.payload.toString().substr(22, 2);\nvar localH = msg.payload.toString().substr(25, 2);\nvar localMin = msg.payload.toString().substr(28, 2);\nvar localSec = msg.payload.toString().substr(31, 2);\nvar tempBuf = msg.payload.toString().substr(34, 4);\n\nvar time = parseFloat(timeBuf);\nvar local = parseFloat(localYear + localMon + localD + localH + localMin + localSec); \nvar temp = parseFloat(tempBuf);\n\nmsg.payload = {data:{time,local,temp}};\n// The result : \"{\"data\":{\"time\":1511777910194,\"local\":171127211830,\"temp\":35.9}}\"\n\nreturn msg;","outputs":1,"noerr":0,"x":631.4568634033203,"y":1267.3318691253662,"wires":[["74c61bc1.bc1714","8f974005.61b64","9e828031.1d6db"]]},{"id":"c0779a1c.aa4098","type":"ui_text","z":"1e7a3b12.b1f6c5","group":"be8f51e4.ab9bb","order":1,"width":0,"height":0,"name":"","label":"Date","format":"{{msg.payload}}","layout":"row-spread","x":740.0924854278564,"y":1149.7849850654602,"wires":[]},{"id":"bb2db6ed.07b3d8","type":"ui_button","z":"1e7a3b12.b1f6c5","name":"","group":"be8f51e4.ab9bb","order":2,"width":0,"height":0,"label":"Delete SQL Records","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"DELETE FROM HOME WHERE TIME <= strftime('%s','now', '-1 hours')*1000","x":1013.3352584838867,"y":1185.797682762146,"wires":[["360ce266.55c26e"]]},{"id":"a6b6e5d7.984398","type":"comment","z":"1e7a3b12.b1f6c5","name":"SQLite Part","info":"","x":150,"y":1088,"wires":[]},{"id":"5e710d2a.636c74","type":"ui_template","z":"1e7a3b12.b1f6c5","group":"be8f51e4.ab9bb","name":"UI Table","order":3,"width":"6","height":"10","format":"\n \n \n \n \n \n \n \n \n \n \n \n \n
IndexDATETEMP [°C]
{{$index + 1}}{{msg.payload[$index].LOCAL}}{{msg.payload[$index].TEMP}}
","storeOutMessages":true,"fwdInMessages":true,"x":1458,"y":1395,"wires":[[]]},{"id":"71b9d8b8.15f6a8","type":"sqlite","z":"1e7a3b12.b1f6c5","mydb":"d3212dea.f813e","name":"","x":1227,"y":1395,"wires":[["5e710d2a.636c74"]]},{"id":"93c74709.9fb738","type":"delay","z":"1e7a3b12.b1f6c5","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":311,"y":1228,"wires":[["a3c85d59.3fb5f"]]},{"id":"eaf5319e.0dfa1","type":"debug","z":"1e7a3b12.b1f6c5","name":"","active":true,"console":"false","complete":"false","x":467,"y":1324,"wires":[]},{"id":"74c61bc1.bc1714","type":"debug","z":"1e7a3b12.b1f6c5","name":"","active":true,"console":"false","complete":"false","x":810,"y":1561,"wires":[]},{"id":"8f974005.61b64","type":"mqtt out","z":"1e7a3b12.b1f6c5","name":"","topic":"piRobotCpuTemp","qos":"2","retain":"","broker":"e1521e7.738f2e","x":830,"y":1501,"wires":[]},{"id":"f3147843.c5d838","type":"comment","z":"1e7a3b12.b1f6c5","name":"Local SQL @Laptop","info":"","x":1270,"y":1148,"wires":[]},{"id":"bbe80bc7.a29868","type":"sqlite","z":"1e7a3b12.b1f6c5","mydb":"d3212dea.f813e","name":"","x":1250,"y":1444,"wires":[["d06ac2ca.c7dc","be0e73c2.c1c5d"]]},{"id":"eb6cc8c2.9e5e68","type":"ui_text_input","z":"1e7a3b12.b1f6c5","name":"","label":"","group":"700d71b5.b083d","order":2,"width":0,"height":0,"passthru":true,"mode":"text","delay":300,"topic":"","x":917.8506088256836,"y":1443.6053838729858,"wires":[["a8a8048a.0c6558"]]},{"id":"d06ac2ca.c7dc","type":"debug","z":"1e7a3b12.b1f6c5","name":"","active":false,"console":"false","complete":"false","x":1502.6182708740234,"y":1486.148344039917,"wires":[]},{"id":"a8a8048a.0c6558","type":"function","z":"1e7a3b12.b1f6c5","name":"Filtering","func":"// SELECT * FROM HOME WHERE TEMP = 34;\n\nvar newMsg = {\n \"topic\": msg.payload\n};\n\nreturn newMsg;","outputs":1,"noerr":0,"x":1069.9589157104492,"y":1443.9274368286133,"wires":[["bbe80bc7.a29868"]]},{"id":"be0e73c2.c1c5d","type":"ui_template","z":"1e7a3b12.b1f6c5","group":"700d71b5.b083d","name":"Query Answer","order":3,"width":"6","height":"9","format":"\n \n \n \n \n \n \n \n \n
IndexANSWER
{{$index + 1}}{{msg.payload[$index]}}
","storeOutMessages":true,"fwdInMessages":true,"x":1510.4386978149414,"y":1443.5517110824585,"wires":[["4f3900ef.341ae"]]},{"id":"6f6476ac.d37d18","type":"ui_template","z":"1e7a3b12.b1f6c5","group":"700d71b5.b083d","name":"Example","order":1,"width":"0","height":"0","format":"\n\n\nExample :\n

SELECT * FROM HOME WHERE TEMP = 39.5

\n\n","storeOutMessages":true,"fwdInMessages":true,"x":1488.77197265625,"y":1531.885009765625,"wires":[[]]},{"id":"4f3900ef.341ae","type":"debug","z":"1e7a3b12.b1f6c5","name":"","active":false,"console":"false","complete":"false","x":1690,"y":1488,"wires":[]},{"id":"360ce266.55c26e","type":"sqlite","z":"1e7a3b12.b1f6c5","mydb":"d3212dea.f813e","name":"","x":1286,"y":1266,"wires":[[]]},{"id":"374dc533.bced0a","type":"mqtt-broker","z":"","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"willTopic":"","willQos":"0","willPayload":"","birthTopic":"","birthQos":"0","birthPayload":""},{"id":"1ba78078.d744d","type":"ui_group","z":"1e7a3b12.b1f6c5","name":"PID Controller For CPU Temperature of Raspberry Pi","tab":"60edbabb.5f92e4","order":1,"disp":true,"width":"9"},{"id":"f26827e4.0f14d8","type":"mqtt-broker","z":"","broker":"iot.eclipse.org","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"willTopic":"","willQos":"0","willPayload":"","birthTopic":"","birthQos":"0","birthPayload":""},{"id":"be8f51e4.ab9bb","type":"ui_group","z":"","name":"SQLite DB","tab":"60edbabb.5f92e4","order":2,"disp":true,"width":"6"},{"id":"d3212dea.f813e","type":"sqlitedb","z":"","db":"/home/pi/sqliteCpu"},{"id":"e1521e7.738f2e","type":"mqtt-broker","z":"","broker":"iot.eclipse.org","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"willTopic":"","willQos":"0","willPayload":"","birthTopic":"","birthQos":"0","birthPayload":""},{"id":"700d71b5.b083d","type":"ui_group","z":"","name":"Query Commander","tab":"60edbabb.5f92e4","order":4,"disp":true,"width":"6"},{"id":"60edbabb.5f92e4","type":"ui_tab","z":"1e7a3b12.b1f6c5","name":"Robot CPU ","icon":"dashboard"}]