Hirdetés
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- Honor Magic6 Pro - kör közepén számok
- Samsung Galaxy Watch8 és Watch8 Classic – lelkes hiperaktivitás
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Mobil flották
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
- Xiaomi 17 - még mindig tart
- Tesztkört futott a OnePlus Nord CE6
- Mától Huawei okosórákkal is lehet érintésmentesen fizetni
- Milyen okostelefont vegyek?
-
Mobilarena
Amit érdemes tudni a Raspberry Pi-kről:
A legelső változat 2012-ben jelent meg. Pici, olcsó és nagyon alacsony fogyasztású, hobby-célú kártyagép. Felépítése ARM alapú, nem PC-architektúra, hanem kb. egy régi mobilhoz hasonló. Nagyon sok mindenre használható! A Linux-nak és a magas eladási mennyiségnek köszönhetően jelentős fejlesztőtáborral rendelkezik.
Új hozzászólás Aktív témák
-
Üdv
Kezdek belebolondulni ebbe a hőmérős projectbe.
Elméletileg minden a helyén van, de az adatbázisba mégse menti le mért értékeket.
pollSensors.py (itt a 38. sorban kell a nonce = nonce.encode('utf-8'), különben hibát dob, de lehet, hogy pont e miatt nem menti le az adatbázisba)import requests
import hashlib
import time
#Dont forget to fill in PASSWORD and URL TO saveTemp (twice) in this file
sensorids = ["28-00000509be8b", "28-00000535993e"]
avgtemperatures = []
for sensor in range(len(sensorids)):
temperatures = []
for polltime in range(0,3):
text = '';
while text.split("\n")[0].find("YES") == -1:
# Open the file that we viewed earlier so that python can see what is in it. Replace the serial number as before.
tfile = open("/sys/bus/w1/devices/"+ sensorids[sensor] +"/w1_slave")
# Read all of the text in the file.
text = tfile.read()
# Close the file now that the text has been read.
tfile.close()
time.sleep(1)
# Split the text with new lines (\n) and select the second line.
secondline = text.split("\n")[1]
# Split the line into words, referring to the spaces, and select the 10th word (counting from 0).
temperaturedata = secondline.split(" ")[9]
# The first two characters are "t=", so get rid of those and convert the temperature from a string to a number.
temperature = float(temperaturedata[2:])
# Put the decimal point in the right place and display it.
temperatures.append(temperature / 1000)
avgtemperatures.append(sum(temperatures) / float(len(temperatures)))
print avgtemperatures[0]
print avgtemperatures[1]
session = requests.Session()
nonce = session.get(url='http://localhost/saveTemp.php?step=nonce').text
nonce = nonce.encode('utf-8')
response = hashlib.sha256(nonce + 'root' + str(avgtemperatures[0]) + str(avgtemperatures[1])).hexdigest()
post_data = {'response':response, 'temp1':avgtemperatures[0], 'temp2': avgtemperatures[1]}
post_request = session.post(url='http://localhost/saveTemp.php', data=post_data)
if post_request.status_code == 200 :
print post_request.textsaveThemp.php
<?php
// set the defines here, and the mysqli info on line 24
// make sure you have an temps table with floats for temp1 and temp2 and created_at (timestamp)
// make sure you have an alerts table with floats for avgtemp1 and avgtemp2, open (boolean, default: true) and created_at (timestamp)
define("PASSWORD","root");
session_start();
$mysqli = initDB();
if($_GET['step'] == 'nonce') {
getNonce();
} else if (isset($_POST['response']) && isset($_POST['temp1']) && isset($_POST['temp2'])) {
checkAuthenticationResponce();
processEntry($mysqli);
}
$mysqli->close();
function initDB() {
$mysqli = new mysqli("localhost", "root", "root", "temp");
/* check connection */
if ($mysqli->connect_errno) {
header("HTTP/1.0 500 Internal Server Error");
exit();
}
return $mysqli;
}
function checkAuthenticationResponce() {
if(!isset($_SESSION['tempNonce']) || hash('sha256', $_SESSION['tempNonce'] . PASSWORD . $_POST['temp1'] . $_POST['temp2']) != $_POST['response']) {
header("HTTP/1.0 401 Authorization Required");
exit;
} else {
unset($_SESSION['tempNonce']);
}
}
function getNonce() {
$_SESSION['tempNonce'] = hash('sha256', '1321421412412452354235325' . time());
echo $_SESSION['tempNonce'];
}
function processEntry($mysqli) {
$temp1 = floatval($_POST['temp1']);
$temp2 = floatval($_POST['temp2']);
$stmt = $mysqli->prepare("INSERT INTO temps (temp1, temp2) VALUES(?,?)");
$stmt->bind_param('dd', $temp1, $temp2);
if ($stmt->execute() === true) {
echo "added";
} else {
header("HTTP/1.0 500 Internal Server Error");
}
}
?>Ha kézzel viszek be értékeket, akkor azokat kirajzolja a grafilonra. Ha kézzel futtatom a var/www/pollSensors.py-t, akkor kiírja a 2 értéket, de az adatbázisba nem menti le.
mysql user: localhost,root, rootAdatbázis szerkezet:
-- phpMyAdmin SQL Dump
-- version 3.4.11.1deb2+deb7u1
-- http://www.phpmyadmin.net
--
-- Hoszt: localhost
-- Létrehozás ideje: 2015. febr. 08. 19:38
-- Szerver verzió: 5.5.41
-- PHP verzió: 5.4.36-0+deb7u3
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Adatbázis: `temp`
--
-- --------------------------------------------------------
--
-- Tábla szerkezet: `temps`
--
CREATE TABLE IF NOT EXISTS `temps` (
`temp1` float NOT NULL,
`temp2` float NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- A tábla adatainak kiíratása `temps`
--
INSERT INTO `temps` (`temp1`, `temp2`, `created_at`) VALUES
(21, 11, '2015-02-08 12:59:35'),
(41, 61, '2015-02-08 12:59:51');
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;Mi a francnak nem menti le az adatbázisba az értékeket? Köszi
Új hozzászólás Aktív témák
- Windows 11
- Házimozi belépő szinten
- Kitolhatja az LGA1700 élettartamát az Intel
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- TCL LCD és LED TV-k
- Honor Magic6 Pro - kör közepén számok
- Tőzsde és gazdaság
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Samsung Galaxy Watch8 és Watch8 Classic – lelkes hiperaktivitás
- A nagy Szóda, Szódakészítés topic - legyen egy kis fröccs is! :-)
- További aktív témák...
- RYZEN 5 9600x - XFX RX 9060XT 16GB - 2x16GB DDR5 6000MHz CL32(A-Die) - 1,25TB SSD - NZXT KRAKEN
- i5-9400F / 16GB DDR4 / RX480 8GB / 240GB SSD + 500GB HDD
- GAMER PC : RYZEN 9 9950X3D /// 64 GB DDR5 6400MHZ CL32 /// ROG ASTRAL RTX5090 32 GB /// 1+2 TB SSD
- Intel I7 8700K / 16gb ddr4 / Rtx 2060
- DELL OptiPlex 3050 SFF / i5-7500 - i7-7700 / NVME M.2 / DDR4 / DVD-RW / USB 3.1 / HDMI / több db
- Gamer PC - Számítógép // i7 // GTX 1060 // Számla // Garancia //
- Azonnali készpénzes nVidia RTX 2000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
- iPhone 15 Pro 128GB 89% (1év Garancia)
- Dell Optiplex/Precision MT/SFF 3430, 3050, 3060, 3070, 5060, 5070, 7070, 7060/7.-8.-9.gen/SZÁMLA-GAR
- Azonnali készpénzes AMD Ryzen 1xxx 2xxx 3xxx 5xxx processzor felvásárlás személyesen / csomagküldés
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
wassermann
