#include <OneWire.h> int nc; OneWire ds(10); // OneWire ds2(11); // byte addr[8]; byte addr2[8]; void setup(void) { Serial.begin(9600); ds.search(addr); ds2.search(addr2); } void loop(void) { byte i; byte present = 0; byte data[12]; int Temp; int znak; if (Serial.available() > 0) { nc = Serial.read(); if (nc==1) { ds.reset(); ds.select(addr); ds.write(0x44,1); present = ds.reset(); ds.select(addr); ds.write(0xBE); for ( i = 0; i < 9; i++) { data[i] = ds.read(); } Temp=(data[1]<<8)+data[0]; Temp=Temp; znak=((Temp%16)*100)/16; if (znak<0){ znak=znak*-1; } Serial.print(Temp/16); Serial.print("."); Serial.print(znak); Serial.println(); } if (nc==2) { ds2.reset(); ds2.select(addr2); ds2.write(0x44,1); present = ds2.reset(); ds2.select(addr2); ds2.write(0xBE); for ( i = 0; i < 9; i++) { data[i] = ds2.read(); } Temp=(data[1]<<8)+data[0]; Temp=Temp; znak=((Temp%16)*100)/16; if (znak<0){ znak=znak*-1; } Serial.print(Temp/16); Serial.print("."); Serial.print(znak); Serial.println(); } } }
<?php include("readbd.php"); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ru"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <head> <link href="style.css" rel="stylesheet" media="all" /> <title> </title> <link href="flot/examples/layout.css" rel="stylesheet" type="text/css"> <script type="text/javascript" src="jquery.js"></script> </head> <body class="body"> <br> <div class="container"> <header> <h1><span></span></h1> </header> </div> <div class="ul1" > <br> <table width="60px" border="0"><tr> <td><a href="#" id="led6" class="button black" onMouseDown="command(1);"></a></td> <td><a href="#" id="led6" class="button yellow" onMouseDown="command(2);"></a></td> </tr><tr> <td class="c1"><div id="content1" ><?php echo ''.$temp1.""; ?></div></td> <td class="c1"><div id="content2" ><?php echo ''.$temp2.""; ?></div></td> </tr> </table> </div> <br> <script> function command(id) { $.ajax({ type:'POST', url:'arduino.php', data:{msg:id}, cache: false, success: function(html){ $("#content"+id).html(html); } }) } </script> </center> </body> </html>
<?php include "php_serial.class.php"; $serial = new phpSerial; // Arduino ( ) $serial->deviceSet("/../../../../dev/ttyACM0"); // $serial->confBaudRate(9600); $serial->confParity("none"); $serial->confCharacterLength(8); $serial->confStopBits(1); $serial->confFlowControl("none"); $serial->deviceOpen(); // $serial->sendMessage(chr($_POST['msg'])); // Arduino $read = $serial->readPort(); // $serial->deviceClose(); try { // $db = new PDO('sqlite:'.dirname(__FILE__).DIRECTORY_SEPARATOR.'arduino.db'); // temp, $db->exec('CREATE TABLE IF NOT EXISTS temp ( idtemp INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, temperature VARCHAR(255) NOT NULL, datetime VARCHAR(255) NOT NULL )'); $db->exec('CREATE TABLE IF NOT EXISTS temp2 ( idtemp INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, temperature VARCHAR(255) NOT NULL, datetime VARCHAR(255) NOT NULL )'); // $d=date("dmy, G:i:s"); // //$db->exec('UPDATE temp SET temperature="'.$read.'", datetime="'.$d.'" WHERE idtemp='.$_POST['msg'].''); if ($_POST['msg']==1){ // $db->exec('INSERT INTO temp (temperature, datetime) VALUES ("'.$read.'","'.$d.'" )'); // $st = $db->query('SELECT MAX(idtemp) as id, temperature FROM temp'); $results = $st->fetchAll(); foreach ($results as $row) { echo ''.$row['temperature']."\n"; } } if ($_POST['msg']==2){ $db->exec('INSERT INTO temp2 (temperature, datetime) VALUES ("'.$read.'","'.$d.'" )'); $st = $db->query('SELECT MAX(idtemp) as id, temperature as tempe FROM temp2'); $results = $st->fetchAll(); foreach ($results as $row) { echo ''.$row['tempe']."\n"; } } } catch (PDOException $e) { die($e->getMessage()); } ?>
deviceSet("/../../../../dev/ttyACM0");
if($this->_exec("stty --version") === 0) { register_shutdown_function(array($this, "deviceClose")); } else { trigger_error("No stty availible, unable to run.", E_USER_ERROR); }
Source: https://habr.com/ru/post/141865/
All Articles