tak jsem se konečně dostal k odzkoušení a vytvoření jednoduchého návodu na kontrolu teploty v domácnosti za použití 1wire sběrnice DS2482S-100 a teplotních čidel DS18B20. Pro ukládání dat jsem použil DB MySQL a ukládání je řešeno za pomocí PHP skriptu. Pro zobrazení na webu jsem použil doménu raspberry-pi.eu, kterou hostuji doma na svém Pi (mám veřejnou IP), php a java script. Další možností kontroly teplot doma, je přes chytré zařízení běžící pod systémem android (bez veřejné IP to bude fungovat pouze doma na stejné síti)
základním a nejtěžším úkolem je napájení sběrnice DS2482S-100 na plošňák SO-8, kterým pak můžeme vkládat do nepájivého pole
DS2482S-100 na SO-8
dále je potřeba vše dát dohromady. V mém případě mám jedno teplotní čidlo zapojeno přímo v nepájivém poli a připraven pro napojení dalších teplotních čidel (viz. druhý obrázek níže v pravém rohu)
zapojení do nepájivého pole
schéma zapojení
zapojení do nepájivého p
zde je vidět, jak tam jsou navíc zapojené kabely (pro přenos dat jsem použil telefonní kabel – 4linku a jeden není použit) od ostatních čidel rozmístěných po bytě. Výhodou tohoto zapojení je, že se na jeden kabel dají napojit veškerá čidla (pokud to je jedním směrem), protože jsou zapojené do sběrnice
zapojení
2. Nainstalování a nastavení Pi
nejprve odstraňte I2C moduly z jádra černé listiny.
zakomentujte řádek přidání „#“ na začátku řádku
uzavřít a uložit soubor (CTRL+x a pak „y“ a enter)
pro nastavení nahrání modulů při startu je potřeba upravit tento soubor
přidat tyto dva řádky
uzavřít a uložit soubor (CTRL+x a pak „y“ a enter)
instalace některých nástrojů pro práci s I2C
teplotní čidlo již komunikuje a lze udělat rychlou kontrolu funkčnosit
pokuď nastane nějaký problém, je možné ještě zkusit přidat text do souboru /boot/config.txt
pro získání teploty je potřeba nainstalovat owfs a ow-shell balíček.
vytvoření adresáře, kde se potom budou ve složkách objevovat připojené teplotní čidla
nyní je potřeba upravit soubor ows.conf
přidání „#“ na začátek řádku
přidání těchto řádků na konec souboru
uzavřít a uložit soubor (CTRL+x a pak „y“ a enter)
poslední soubor, který je třeba také upravit je fuse.conf
odstranění „#“ na začátku řádku u
uzavřít a uložit soubor (CTRL+x a pak „y“ a enter)
po těchto změnách je dobré pro jistotu udělat restart Pi
po naběhnutí Pi se musí spustit „owfs“
pak už stačí spustit midnight commander a doklikat se do složky /mnt/1wire/
zde jsou vidět tři adresy teplotních senzorů
MC_mmt_1wire
jeden si vybereme a najedeme na soubor temperature a dáme F3
MC_mmn_1wire
a zde je aktuální teplota na daném senzoru
MC_mmn_1wire
ještě je potřeba udělat jednu důležitou věc a to nastavení automatického spuštění „owfs“ po startu
na konec přidáme tento řádek
uzavřít a uložit soubor (CTRL+x a pak „y“ a enter)
3. Nastavení automatického ukládání dat z jednotlivých čidel do databáze MySQL pomocí PHP skriptu
nejprve se musí nainstalovat appace, mysql a php do Raspberry Pi (pokud již není nainstalováno)
po instalaci a zadání hesla pro uživatele „root“ pro MySQL vytvoříme databazi „develop“
pro ukládání dat do DB jsem zvolil dvě tabulky a jeden pohled
do této tabulky je potřeba vložit názvy a adresy teploměru
tabulka pro ukládání teplot
a pohled pro výběr dat (stav je označení pro aktivní teploměr -> 1 aktivní, 0 neaktivní)
defaultní umístění adresáře pro www je /var/www/ kde je potřeba vytvořit PHP skript, který se napojí do DB a pak nastavení v CRONu pro automatické volání tohoto PHP skriptu, který se bude pravidelně spouštět a ukládat teploty
vložíme tento skript, kde je potřeba změnit heslo pro root uživatele
nastavení CRONu
vložíme tento řádek, kde je nastaveno, že skript bude do DB ukládat data každých 5 minut
4. Vytvoření skriptů pro zobrazení dat na webu
najedeme do adresáře pro www a zde se musejí vytvořit tři skripty. dallas.php je skript, který se bude spouštět a volat skript pro získání dat z DB dallas.csv.php a pro graf dygraph-combined.js.
první skript dallas.php
vložíme tento skript a je nutné upravit na local host. (ja mám veřejnou IP a běží mi to na doméně raspberry-pi.eu)
druhý skript dallas.csv.php
zde je opět nutné změnit heslo
ještě poslední skript, který je potřeba vytvořit je pro zobrazení grafu
5. Vytvoření aplikace pro Android zařízení, extrakce dat z MySQL DB za použití PHP, JSON (toto je možné za předpokladu veřejné IP na Raspberry PI, jinak bude funguvat pouze doma po připjení na domací síť)
vytvoření aplikace pomocí vývojového prostředí Eclipse. Zde v tomto skriptu je nutné změnit na vaši IP (HttpPost httppost = new HttpPost(„http://localhost/android.php“);) na Pi popřípadě na localhost – jedná se o volaný PHP skript, který vrací data ve formátu JSON (nebudu zde rozvádět krok po kroku vývoj aplikací pro android zařízení) – do tohoto skriptu byl použit font led_real, který se musí přidat do assets do projektu v eclipse
najedeme do adresáře na Raspberry Pi pro www a zde je potřeba vytvořit skript – android.php.
první skript android.php
vložíme tento skript a je nutné upravit na localhost (já mám veřejnou IP a běží mi to na doméně raspberry-pi.eu)
pak už stačí být připojen s telefonem k internetu a při každém spuštění aplikace se načte poslední datum aktualizace DB spolu s teplotami
Užasný článek.
Škoda že ten DS2482S-100 je tak maly hajzlik.
Mnoho majitelu RasPi to odradí.
Tištak v orginal velikostí pro tu redukci MS-DIP na SO-8 by nebyl.
Ahoj, mámhardware komplet a několik čidel. Nainstaloval jsem apache, PHP a MySQL,vytvořil tabulky i PHP soubory ale zaboha to nemůžu rozchodit. Problém je asi v dallas.php v
nenarazili jste někdo na tento problém?
změnil jsem to ale načte se mě pouze ten div ale prázdný, jen jsem si jej orámoval abych viděl že tam je. Ale jinak je to prázdné. Měl jsem problém že jsem přepisoval někde uvozovky a nějaké drobné ůpravy asi vlivem ködování jak to prošlo internetem či co. Taky nevím kde se má načítat site.css.
Vážený pane Pešku,
mohl byste nám kutilům prosím poskytnout Vámi uvedené skripty přímo jako soubory ke stažení? Pokoušel jsem se je z této stránky přepsat, ale při spuštění např. temperaturesensor.php skočí chybová hláška pro výraz INSERT. Mám dojem, že skripty uvedené na této stránce mají useknuté konce řádků – např. …or die („Could not$ – zde není ani konec věty chybové hlášky. Bohužel nejsem mySQL specialista, tvořím monitoring kvůli anti-zámrzu vody na chatě. Pro tchýni 🙂
Ahoj vsichni, nebylo by mozne zverejnit schema zapojeni? Myslim normalni se znackami soucastek… z toho je totiz patrne i co je s cim vodive propojeno. Obrazek ktery je tady pod nazvem „schema“ schematem opravdu neni. Myslim, ze by to pomohlo jinak skvelemu clanku. Dik.
Myslím si že víc třeba není, stačí se nad tím jen trochu zamyset. Drátové propojky jsou rozdělené podle barvy a to jak se pracuje s nepájivý polem je taky jasné. Takže si myslím že kresilt výresové schéma u takového banálního zapojení o 4 součástkách je naprosto zbytečné.
Jako „stary“ elektronik jsem holt zvykly potkavat se na technickych
webech se schematy, nestavet podle fotek, nebo obrazku. Jiz mam ale
UniPi, cili jen dekuji za ochotu.
Ahoj,
mám tento problém, že bych potřeboval css, který se jmenuje „site.css“, na který se odkazuje „dalas.php“ mohl by ho někdo poslat nebo napsat co obsahuje. Jelikož se mě nedaří zobrazit „dalas.php“ stránka funguje, když změním např. rámeček okolo. Díky
Abychom poskytli co nejlepší služby, používáme k ukládání a/nebo přístupu k informacím o zařízení, technologie jako jsou soubory cookies. Souhlas s těmito technologiemi nám umožní zpracovávat údaje, jako je chování při procházení nebo jedinečná ID na tomto webu. Nesouhlas nebo odvolání souhlasu může nepříznivě ovlivnit určité vlastnosti a funkce.
Funkční
Vždy aktivní
Technické uložení nebo přístup je nezbytně nutný pro legitimní účel umožnění použití konkrétní služby, kterou si odběratel nebo uživatel výslovně vyžádal, nebo pouze za účelem provedení přenosu sdělení prostřednictvím sítě elektronických komunikací.
Předvolby
Technické uložení nebo přístup je nezbytný pro legitimní účel ukládání preferencí, které nejsou požadovány odběratelem nebo uživatelem.
Statistiky
Technické uložení nebo přístup, který se používá výhradně pro statistické účely.Technické uložení nebo přístup, který se používá výhradně pro anonymní statistické účely. Bez předvolání, dobrovolného plnění ze strany vašeho Poskytovatele internetových služeb nebo dalších záznamů od třetí strany nelze informace, uložené nebo získané pouze pro tento účel, obvykle použít k vaší identifikaci.
Marketing
Technické uložení nebo přístup je nutný k vytvoření uživatelských profilů za účelem zasílání reklamy nebo sledování uživatele na webových stránkách nebo několika webových stránkách pro podobné marketingové účely.
24 komentářů
Přeskočit k formuláři pro komentář
Užasný článek.
Škoda že ten DS2482S-100 je tak maly hajzlik.
Mnoho majitelu RasPi to odradí.
Tištak v orginal velikostí pro tu redukci MS-DIP na SO-8 by nebyl.
Nešlo by tam místo toho použít optočlen, jako to mají na: http://www.astromik.org/raspi/28.htm? Ten by se nemusel pájet…
Tam to má připojené na GPI.
Toto je na I2C.
SMT160 komunikuje s raspi jen 1 směrem.
DS18B20 obouma.
Pokud si umíš upravit zdrojak tak proč ne alejen s tou
SMT160.
Pokud vezmeš v ohled cenu čídel a čas strávený úpravou
zdrojaku, nevyplatí se to.
Také jsem měl strach s hajzlika.
Pohlídej si aukro.
http://aukro.cz/adapter-so8-msop8-soic8-tssop8-sop8-dip8-oboustr-i4775015724.html#tabsAnchor
Včera jsem koupil už dalších 10 kousku.
Mívá to tam často.
Vždy kapnu na čip chemopren, přilepím, aby se mi nehýbal,
a pak připájím nožičky.
Zvládli to všichni, zvládneš to i Ty.
Nebo tu máš další inspirací.
http://blog.turningdigital.com/2012/09/raspberry-pi-ds18b20-temperature-sensor-rrdtool/
Hodně štěstí.
PS:co to forum,dočkame se?
sice je malej, ale da se to s nim zvladnout a stoji to par korun
Proč DS18B20 nejsou povověšené přímo na 1wire sběrnici, kterou Raspberry disponuje?
Má použití i2c sběrnice nějaké výhody?
Je to zduvodu toho, ze pokud dojde k nejakemu zkratu, prepeti, tak se zrusi jen brouk za 25kc a ne RPi.
Lze přesněji, více čidel a na dlouhé vzdálenosti.
Ahoj, mámhardware komplet a několik čidel. Nainstaloval jsem apache, PHP a MySQL,vytvořil tabulky i PHP soubory ale zaboha to nemůžu rozchodit. Problém je asi v dallas.php v
nenarazili jste někdo na tento problém?
Ahoj, zde je potreba zmenit tu lokaci http://www.raspberry-pi.eu/dallas.csv.php ,aby se nacetly data. (localhost/xxx)
změnil jsem to ale načte se mě pouze ten div ale prázdný, jen jsem si jej orámoval abych viděl že tam je. Ale jinak je to prázdné. Měl jsem problém že jsem přepisoval někde uvozovky a nějaké drobné ůpravy asi vlivem ködování jak to prošlo internetem či co. Taky nevím kde se má načítat site.css.
Ahoj tobě to fachčí? A nemohl by jsi mě zkusit poslat ty PHPčka přímo jako soubor? já bych si v nich přepsal svoje data. ukuny@seznam.cz
zde jsou vsechny skripty pro www, je tam jen nutne zmenit pripojeni na DB, zmena ID teplomeru a popripade pocet https://raspberrypi.cz/wp-content/uploads/2014/10/php.zip
Díky, vyzkouším.
Kuna
———- Původní zpráva ———-
Od: Disqus
Komu: ukuny@seznam.cz
Datum: 23. 10. 2014 20:32:26
Předmět: Re: New comment posted on 1. Zapojení DS2482S-100 (I2C-1wire) a teplotních čidel (DS18B20) – součástky, zapojení, instalace, nastavení, MySQL, PHP, WEB, Android aplikace
“
Disqus (http://disqus.com/) Settings (http://disqus.com/dashboard/#notifications) (http://disqus.com/dashboard/)
A new comment was posted on Raspberry Pi (http://redirect.disqus.com/url?impression=c7084bda-5ae2-11e4-aee1-002590f3bbfa&forum=2440887&thread=2991305443&url=http%3A%2F%2F192.168.0.245%2F1-zapojeni-ds2482s-100-i2c-1wire-a-teplotnich-cidel-ds18b20-soucastky-zapojeni-instalace-nastaveni-mysql-php-web-android-aplikace%2F%23comment-1650377533%3AnEHIjUmT_-9xtjReEOON_w3BKic&variant=active&experiment=digests&behavior=click&post=1650377533&type=notification.post.registered&event=email)
—————————————————————————-
(http://redirect.disqus.com/url?impression=c7084bda-5ae2-11e4-aee1-002590f3bbfa&forum=2440887&thread=2991305443&url=http%3A%2F%2Fdisqus.com%2Fbeecz%2F%3ALGl7l1cT6fl-oR-963ODirctpqc&variant=active&experiment=digests&behavior=click&post=1650377533&type=notification.post.registered&event=email)
BeeCZ (http://redirect.disqus.com/url?impression=c7084bda-5ae2-11e4-aee1-002590f3bbfa&forum=2440887&thread=2991305443&url=http%3A%2F%2Fdisqus.com%2Fbeecz%2F%3ALGl7l1cT6fl-oR-963ODirctpqc&variant=active&experiment=digests&behavior=click&post=1650377533&type=notification.post.registered&event=email)
zde jsou vsechny skripty pro www, je tam jen nutne zmenit pripojeni na DB, zmena ID teplomeru a popripade pocet https://raspberrypi.cz/wp-conte… (https://raspberrypi.cz/wp-content/uploads/2014/10/php.zip)
2:31 p.m., Thursday Oct. 23
Reply to BeeCZ (http://redirect.disqus.com/url?impression=c7084bda-5ae2-11e4-aee1-002590f3bbfa&forum=2440887&thread=2991305443&url=http%3A%2F%2F192.168.0.245%2F1-zapojeni-ds2482s-100-i2c-1wire-a-teplotnich-cidel-ds18b20-soucastky-zapojeni-instalace-nastaveni-mysql-php-web-android-aplikace%2F%23comment-1650377533%3AnEHIjUmT_-9xtjReEOON_w3BKic&variant=active&experiment=digests&behavior=click&post=1650377533&type=notification.post.registered&event=email)
BeeCZ’s comment is in reply to Kunaaa (http://redirect.disqus.com/url?impression=c7084bda-5ae2-11e4-aee1-002590f3bbfa&forum=2440887&thread=2991305443&url=http%3A%2F%2Fdisqus.com%2Fkunaaa%2F%3A2cJNHPfFFnUpJPRr4SI8MeR0bqE&variant=active&experiment=digests&behavior=click&post=1648646118&type=notification.post.registered&event=email) :
(http://redirect.disqus.com/url?impression=c7084bda-5ae2-11e4-aee1-002590f3bbfa&forum=2440887&thread=2991305443&url=http%3A%2F%2Fdisqus.com%2Fkunaaa%2F%3A2cJNHPfFFnUpJPRr4SI8MeR0bqE&variant=active&experiment=digests&behavior=click&post=1648646118&type=notification.post.registered&event=email)
Ahoj tobě to fachčí? A nemohl by jsi mě zkusit poslat ty PHPčka přímo jako soubor? já bych si v nich přepsal svoje data. ukuny …
Read more (http://redirect.disqus.com/url?impression=c7084bda-5ae2-11e4-aee1-002590f3bbfa&forum=2440887&thread=2991305443&url=http%3A%2F%2F192.168.0.245%2F1-zapojeni-ds2482s-100-i2c-1wire-a-teplotnich-cidel-ds18b20-soucastky-zapojeni-instalace-nastaveni-mysql-php-web-android-aplikace%2F%23comment-1648646118%3AgDI_Bwpm4p3EYlGqf9dFi3XNtDE&variant=active&experiment=digests&behavior=click&post=1650377533&type=notification.post.registered&event=email)
—————————————————————————-
You’re receiving this message because you’re signed up to receive notifications about replies to kunaaa.
You can unsubscribe(http://disqus.com/account/#notifications) from emails about replies to kunaaa by replying to this email with „unsubscribe“ or reduce the rate with which these emails are sent by adjusting your notification settings(http://disqus.com/dashboard/#notifications).
Disqus (http://disqus.com/dashboard/)
„
Díky Tobě, už mě to fachčí, měl jsem tam nějaký překlepy či co.
Kurna, proč tu není nějaké to forum?
pokusim se neco vymyslet 🙂
Vážený pane Pešku,
mohl byste nám kutilům prosím poskytnout Vámi uvedené skripty přímo jako soubory ke stažení? Pokoušel jsem se je z této stránky přepsat, ale při spuštění např. temperaturesensor.php skočí chybová hláška pro výraz INSERT. Mám dojem, že skripty uvedené na této stránce mají useknuté konce řádků – např. …or die („Could not$ – zde není ani konec věty chybové hlášky. Bohužel nejsem mySQL specialista, tvořím monitoring kvůli anti-zámrzu vody na chatě. Pro tchýni 🙂
Děkuji.
Dobry den,
staci vam to takto? https://raspberrypi.cz/wp-content/uploads/2014/10/php.zip
JP
Ahoj vsichni, nebylo by mozne zverejnit schema zapojeni? Myslim normalni se znackami soucastek… z toho je totiz patrne i co je s cim vodive propojeno. Obrazek ktery je tady pod nazvem „schema“ schematem opravdu neni. Myslim, ze by to pomohlo jinak skvelemu clanku. Dik.
Myslím si že víc třeba není, stačí se nad tím jen trochu zamyset. Drátové propojky jsou rozdělené podle barvy a to jak se pracuje s nepájivý polem je taky jasné. Takže si myslím že kresilt výresové schéma u takového banálního zapojení o 4 součástkách je naprosto zbytečné.
Jako „stary“ elektronik jsem holt zvykly potkavat se na technickych
webech se schematy, nestavet podle fotek, nebo obrazku. Jiz mam ale
UniPi, cili jen dekuji za ochotu.
Několik postřehů a dotaz.
1.) v souboru temperaturesensor.php jsem
$timestamp =date(YmdHis);
nahradil za
$timestamp = Date(„Y-m-d H:i:s“, Time());
2.) spouštění php-cgi se mi v cronu povedlo až v tomto tvaru:
*/5 * * * * /usr/lib/cgi-bin/php -f /var/www/temperaturesensor.php
3.) nevíte někdo jak nastavit jednotlivým teplotním čipům různé barvy v grafu?
Při osmi čipech není vůbec jasné který je který (viz. obrázek)
Kolik ten DS2482S-100 umí těch čidel?
Jaka je max vzdalenost teploměru od toho I2C-1wire?
Ahoj,
mám tento problém, že bych potřeboval css, který se jmenuje „site.css“, na který se odkazuje „dalas.php“ mohl by ho někdo poslat nebo napsat co obsahuje. Jelikož se mě nedaří zobrazit „dalas.php“ stránka funguje, když změním např. rámeček okolo. Díky