Forum Turris
Fórum Turris Nápověda

Milí majitelé routerů Turris,

toto fórum bylo 9. 12. 2016 zmrazeno a nahrazeno naším novým Turris fórem. Ještě chvíli bude dostupné k prohlížení, ale již zde není možné přispívat. Více informací naleznete v oznámení o uzavření fóra.


Dear Turris routers users,

this forum has been frozen on Dec 9th, 2016 and replaced by our new Turris forum. It will be read-only accessible for some time after. For more information, read the announcement about closing the forum.

Nahoru Téma Majitelé routerů / Uživatelská vylepšení / Teploměr (uzamčeno)
- - Od horada (>) Dne 2014-04-03 19:42 Hlasů 1
Našel jsem doma 1wire teploměr zbastlený někdy před lety (se starším routerem mi nefungoval, nevím přesně proč) nyní ale s příkazem digitemp_DS9097 (z balíčku digitemp) v Turrisu pracuje výborně.
Moje otázka je, jak nejlépe schraňovat a vykreslovat data - jestli současné OpenWRT/Turris má nějaký universální způsob ukládání a vykreslování podobných dat, nebo si mám něco napsat/nakonfigurovat sám? (abych neinstaloval zbytečné balíčky když stejnou funkcionalitu poskytuje některý již existující...)

Jednu z prvních věcí kterou jsem objevil je RRDtool: http://wiki.openwrt.org/doc/howto/statistic.rrdtool

Předpokládám že pro ukládání dat asi nejlépe použít připojený flashdisk nebo je dostupné i jiné "místo"?

Jestli si dobře pamatuji měl by mít router slot na SD kartu jako "poslední možnost recovery" .... je možné ji použit i jen jako externí úložiště? (ptám se než začnu něco zkoušet a shánět...)
Díky
Nadřazený - - Od Michal Vaner (>>) Dne 2014-04-04 08:02 Hlasů 1
Dobrý den

Odpovídám jen na část, kterou tuším.

On Thu, Apr 03, 2014 at 08:42:44PM +0200, Forum Turris wrote:

> Předpokládám že pro ukládání dat asi nejlépe použít připojený flashdisk nebo je dostupné i jiné "místo"?


Jedna možnost je ten flashdisk. Ukládat to na flash routeru ‒ no, je to prostě flash a časem by se opotřebovala.

My většinu takových věcí ukládáme do /tmp, což je ramdisk. Má to ale tu nevýhodu, že při restartu data zmizí. U věcí jako logů to tak moc nebolí, ale otázkou je, jak moc to vadí u toho teploměru.

> Jestli si dobře pamatuji měl by mít router slot na SD kartu jako "poslední možnost recovery" .... je možné ji použit i jen jako externí úložiště? (ptám se než začnu něco zkoušet a shánět...)


Mělo by to jít. Co si pamatuji, tak jsme to moc netestovali, takže se mohou objevit problémy, ale teoreticky by to mělo fungovat podobně jako s USB flash diskem. Jen je kvůli tomu potřeba odšroubovat víko, jak je popsáno v https://www.turris.cz/doc/troubleshooting/obnova_systemu_z_sd#instalace_sd_karty_do_routeru_a_instalace_noveho_systemu. Tedy, až k bodu 4, od přepínačů v bodu 5 se již jedná o obnovu.
Nadřazený - Od s0uky Dne 2014-04-15 13:02 Hlasů 1
Do budoucna by nebylo od věci teplotu logovat centrálně na turris.cz, ne?
Stejně jako několik dalších užitečných údajů...
Nadřazený - - Od Kamenitxan Dne 2014-04-17 16:50
Funguje to dobře :) http://hackpro.kamenitxan.eu (mezery si nevšímat. To byla migrace na Turrise)

Každých 5 minut generuju první 2 grafy do /tmp a před noc ty zbylé. Taky každou noc kopíruju rrd databázi z /tmp, abych při případném neplánovaném výpadku nepřišel o hodně dat.
V případě zájmu bych mohl zveřejnit moje scripty.
Nadřazený - - Od horada (>) Dne 2014-04-17 20:50
Zájem by určitě byl :)  ... aspoň pro inspiraci.
Nadřazený - Od Kamenitxan Dne 2014-04-17 21:07
V cronu mám toto:
*/5 * * * * sh /root/temp/grafuj
30 2 * * * sh /root/temp/mesic.sh
0 3 * * * cp /tmp/temp/digitemp.rrd /root/temp/digitemp.rrd

obsah grafuj a mesic.sh jsem spojil dohromady sem https://gist.github.com/anonymous/11007920
prvnotní vytvoření databáze jsem udělal tímto https://gist.github.com/11008488.git. Pozor nepřehledné :)

Mám tam někde ale chybu:
1/ v popisku grafu se špatně vypisuje záporná hodnota
2/ minima a maxima v grafech za týden/mesic neodpovídají hodnodám v denním grafu

A pak tu je moje naprosto logické pojmenování souborů :)
Nadřazený - - Od Petr Ruzicka Dne 2014-04-22 09:08 Hlasů 1
Dobry den.

Jen pro ty, co by mohli jeste tapat, uvadim dalsi popis - jak tvorit grafy z teplomeru (jak externich, tak internich - ikdyz je to temer stejne) pomoci RRDtool:

http://linux.xvx.cz/2014/04/turris-openwrt-and-thermometers.html

S pozdravem

PetrR
Nadřazený - - Od Tobby Dne 2014-06-03 17:22
Zdravím,
díky za návod! Chtěl jsem se ještě zeptat, jak máte ty teplotní čidla připojené a co jsou zač?
Nadřazený - Od JFila (>>) Dne 2014-06-03 18:51
Digitemp pracuje s čidly 1wire, tedy například DS1820 ebay
nebo DS1822 či DS18b20. Více je uvedeno na stránkách projektu.
Nadřazený - Od Kamenitxan Dne 2014-06-04 06:25
A k připojení do USB funguje třeba  USB 2.0 to TTL UART 6PIN CP2102.
Nadřazený - Od Petr Jochman Dne 2014-06-09 22:38 Hlasů 1
Díky za super navod,

interní senzory mam zprovozněny, vyhrabal jsem jeden DS18S20 s pasivním převodníkem, kupodivu stale funkcni. Rad bych ho připojil k turrisu.
bohužel oba USB porty mám posazen HDD.

Je na boardu dostupny nějaky další com (usb) port pro připojení ?
Preferuji com port - ušetřím prevodník USB2Serial ?

Díky za radu.

s pozdravem
PetrJ
Nadřazený - Od digiman (>) Dne 2014-08-06 16:57 Upraveno 2014-08-10 21:02
Dobrý den,
měl bych dotaz chtěl bych využít 1-wire na více než jen snímání teploty a nedaří se mi zprovoznit OWFS nesetkal jste se s tím někdo?

edit1: řešením bylo přidáním dalšího senzoru který byl blíže routeru kdy se celé řešení začalo chovat mnohem stabilněji (délka k 1. čidlu je něco přes 10 metrů)

edit2: nevýhoda nutno inicializovat po každém restartu routeru, výhoda možnost zobrazit přímo teplotu z čidla na stránkách jelikož se tváří jako soubory
- - Od Rypi Dne 2014-09-30 09:29
Ahoj,

je možné připojit na jeden USB to TTL UART převodník více čidel?
Pokud ano, mohl bych poprosit o stručné vysvětlění zapojení a čtení údajů?

Chtěl bych snímat 2 teploty a nevím, jestli bude stačit 1 nebo 2 převodníky :)
Nadřazený - Od Kamenitxan Dne 2014-10-01 12:21
Převodník stačí jeden a napojit na něj můžeš spoustu čidel. Takhle https://dl.dropboxusercontent.com/u/3121397/IMG_2833.jpg (Měl bych tu prasečinu předělat, nějak ale nemám čas :smile: )
Na výstupu se ti objeví další řádek, tak to jenom naparsuješ a je to.
Nadřazený - Od digiman (>) Dne 2014-10-01 14:56
těch čidel můžeš na jeden převodník navěsit klidně 50 jelikož mají 64bit adresu a nemusí se jedna jen o teplotní snímače stavím automatizaci celého rodinného domku na této sběrnici. Jinak čtení i s grafem je popsáno výše. Mě se pro automatizaci nehodí a používám OWFS pro přístup ke všem členům 1-wire sítě návod nahodím na stránky jakmile dořeším aktuální obtíže s kompatibilitou RRDéčka
Nadřazený - - Od Rypi Dne 2014-10-01 15:29
Tak to je perfektní! Máte ještě nějakou zkušenost se vzdáleností případně typem kabelů?
Nadřazený - - Od JFila (>>) Dne 2014-10-01 15:46
Já používám tzv. parazitní mód, kdy k čidlu (DS1820) vedou pouze dva dráty (GND a DATA). Zde již jistá omezení jsou ale stíněným kabelem polovičního sluchátkového kabelu mám propojeno asi pět čidel, celková vzdálenost cca 30 m. Vše funguje na 99,9 % jen občas se do DB uloží údaj 85 °C, což značí, že se nepovedl převod teploty.
Nadřazený - - Od digiman (>) Dne 2014-10-01 17:19
na ošetření těch výpadku stačí dle návodu co psal Petr Růžička to řešit cyklem kde se kontroluje korektní hodnota zatím bez větších problémů.
Nadřazený - Od JFila (>>) Dne 2014-10-01 17:41
Už si to přesně nepamatuji, řešil jsem to již před delší dobou, ale asi tam je, když == 85, tak znovu.:smile:
Nadřazený - Od horada (>) Dne 2014-10-02 12:15
85°C se mi tam taky sem tam objěvuje a to mám čidlo max 3 metry od routeru... řešení vydím stejně ... prostě to zkusit znovu...
Nadřazený - Od digiman (>) Dne 2014-10-02 17:44
já používám obyčejnou CAT5e a bez problémů mi jede na vzdálenost 15 metrů k nejvzdálenějšímu členu (sít není dobudována)
- - Od Jiri.Sko Dne 2015-07-21 20:59
Dobrý večer,

chtěl bych poprosit o pomoc s rozchozením teploměru DS18B20. Doteď jsem ho měl na raspberry pi, ale rád bych ho konečně přesunul na turris.

Nainstaloval jsem si balíky kmod-w1, kmod-w1-gpio-custom, kmod-w1-master-gpio a kmod-w1-slave-therm; moduly w1_gpio, w1_therm a wire mám zavedené. Teploměr mám připojen k GPIO6 a pochopil jsem, že bych měl zavést modul w1-gpio-custom s číslem portu (díky JFila), ale nedaří se mi. Zkoušel jsem příkaz insmod w1-gpio-custom bus0=0,6,0, ale v kernel logu se mi vypíše

[  117.662784] Custom GPIO-based W1 driver version 0.1.1
[  117.662967] invalid GPIO -2
[  117.663031] ------------[ cut here ]------------
[  117.663036] WARNING: at drivers/gpio/gpiolib.c:126
[  117.663040] Modules linked in: w1_gpio_custom(+) sch_teql sch_tbf sch_sfq sch_red sch_prio sch_htb sch_gred sch_dsmark sch_codel em_text em_nbyte em_meta em_cmp cls_basic act_police act_ipt act_skbedit act_mirred em_u32 cls_u32 cls_tcindex cls_flow cls_route cls_fw sch_hfsc sch_ingress xt_set ip_set_list_set ip_set_hash_netport ip_set_hash_netiface ip_set_hash_net ip_set_hash_ipportnet ip_set_hash_ipportip ip_set_hash_ipport ip_set_hash_ip ip_set_bitmap_port ip_set_bitmap_ipmac ip_set_bitmap_ip ip_set ip6t_NPT ip6t_MASQUERADE ip6table_nat nf_nat_ipv6 ip6t_REJECT ip6table_raw ip6table_mangle ip6table_filter ip6_tables nf_conntrack_ipv6 pppoatm ip_gre gre sit ip6_tunnel tunnel6 tunnel4 ip_tunnel tun br2684 atm w1_therm w1_gpio wire pl2303 option usb_wwan usbserial rndis_host cdc_ether usbnet spidev pppoe pppox ppp_async xt_nfacct nfnetlink_acct nf_conntrack_netlink ppp_mppe ppp_generic slhc crc_ccitt xt_TPROXY xt_socket nf_defrag_ipv6 nf_tproxy_core xt_NFLOG nfnetlink_log nfnetlink nf_nat_irc nf_nat_ftp nf_conntrack_irc nf_conntrack_ftp xt_REDIRECT ipt_MASQUERADE iptable_nat nf_nat_ipv4 xt_nat nf_nat xt_HL xt_hl xt_ecn ipt_ECN xt_CLASSIFY xt_tcpmss xt_statistic xt_length xt_DSCP xt_dscp xt_mark xt_time ipt_REJECT xt_TCPMSS xt_LOG xt_id xt_comment xt_multiport xt_mac xt_limit iptable_mangle iptable_filter xt_tcpudp xt_recent xt_helper xt_connmark xt_connlimit xt_connbytes xt_conntrack xt_CT iptable_raw ip_tables xt_state x_tables nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack gpio_keys lm90 hwmon ath9k ath9k_common ath9k_hw ath mac80211 cfg80211 compat ipv6 sha1_generic ecb arc4 crypto_blkcipher leds_gpio xhci_hcd uhci_hcd ehci_platform ehci_hcd sd_mod fsl_mph_dr_of button_hotplug input_core usb_storage scsi_mod usbcore nls_base usb_common mii crypto_hash
[  117.663277] CPU: 0 PID: 7350 Comm: insmod Not tainted 3.10.49-4c8e5c7c78cd2f5b5370bf7c793f88cb-9 #1
[  117.663284] task: c7966be0 ti: c7408000 task.ti: c7408000
[  117.663289] NIP: c01a2738 LR: c01a2738 CTR: 00000000
[  117.663295] REGS: c7409bc0 TRAP: 0700   Not tainted  (3.10.49-4c8e5c7c78cd2f5b5370bf7c793f88cb-9)
[  117.663299] MSR: 00029000 <CE,EE,ME>  CR: 44022024  XER: 00000000
[  117.663310]
[  117.663310] GPR00: c01a2738 c7409c70 c7966be0 0000000f 00021000 00000002 c0403b99 00021000
[  117.663310] GPR08: 00000007 00000001 00000007 00000197 24022024 1001b0e8 c7409e80 00002d32
[  117.663310] GPR16: 00000077 00000064 e4bcd310 c0301860 00000000 c03e7afc c03e7ad8 c0068474
[  117.663310] GPR24: 00000000 00000011 c0430af4 e3d1650c 00000000 c7b8de80 c7ee2010 e3d1653c
[  117.663365] NIP [c01a2738] gpio_to_desc+0x28/0x54
[  117.663371] LR [c01a2738] gpio_to_desc+0x28/0x54
[  117.663375] Call Trace:
[  117.663382] [c7409c70] [c01a2738] gpio_to_desc+0x28/0x54 (unreliable)
[  117.663391] [c7409c80] [c01a3f98] gpio_request+0x18/0x30
[  117.663403] [c7409c90] [e3d16258] 0xe3d16258
[  117.663412] [c7409cb0] [c01d8d54] driver_probe_device+0xd8/0x214
[  117.663419] [c7409ce0] [c01d70c4] bus_for_each_drv+0x9c/0xac
[  117.663425] [c7409d10] [c01d8c38] device_attach+0x7c/0xa0
[  117.663432] [c7409d30] [c01d807c] bus_probe_device+0x34/0xb8
[  117.663445] [c7409d50] [c01d64c8] device_add+0x478/0x584
[  117.663453] [c7409da0] [c01da5b8] platform_device_add+0x174/0x208
[  117.663462] [c7409dc0] [e4bcf0c0] __this_module+0x1ef0/0x1f54 [w1_gpio_custom]
[  117.663469] [c7409de0] [e4bcf164] init_module+0x40/0x124 [w1_gpio_custom]
[  117.663478] [c7409e00] [c0002184] do_one_initcall+0xe0/0x178
[  117.663488] [c7409e30] [c006a9cc] load_module+0x13c4/0x1b18
[  117.663495] [c7409ee0] [c006b200] SyS_init_module+0xe0/0x104
[  117.663503] [c7409f40] [c000cde0] ret_from_syscall+0x0/0x3c
[  117.663524] --- Exception: c01 at 0x48067bd4
[  117.663524]     LR = 0x10001d00
[  117.663530] Instruction dump:
[  117.663534] 4e800020 4e800020 2b8300ff 7c641b78 40bd0038 9421fff0 3c60c037 7c0802a6
[  117.663547] 38631de4 90010014 4cc63182 48158f99 <0fe00000> 80010014 38600000 38210010
[  117.663561] ---[ end trace a6b35668717a0d05 ]---
[  117.663613] gpiod_request: invalid GPIO
[  117.663627] w1-gpio w1-gpio.0: gpio_request (pin) failed
[  117.668968] w1-gpio: probe of w1-gpio.0 failed with error -22
a v /sys/bus/w1/devices/ je samozřejmě prázdno.

Zkoušel jsem ho rozchodit i přes usb-ttl převodník s čipem PL2303 (nainstaloval jsem si balíky kmod-usb-serial-pl2303 a digitemp), vyhledání teploměrů jsem zkoušel příkazem digitemp_DS9097 -s /dev/ttyUSB0 -i, ale bohužel nic nenajde. Přišlo mi divné, že poměrně dost dlouho aplikace stála na hlášce Turning off all DS2409 Couplers (v řádu minut).

Teploměr předpokládám, že mám zapojen správně, protože s raspberry pi funguje a taktéž funguje ve Windows přes usb převodník.

Kde by mohla být chyba?
Nadřazený - - Od digiman (>) Dne 2015-07-22 09:18
zkontroloval bych jestli je naistalován i balík kmod-usb-serial bez něj se sice přihlásí řadič ale 1-wire nefunguje (minimálně s owfs)
Nadřazený - Od Jiri.Sko Dne 2015-07-22 09:23
Ano, tento balík mám také nainstalován.
Nadřazený - - Od Ondřej Caletka (>>>) Dne 2015-07-22 09:27
Označení GPIO v operačním systému je jiné, viz slide číslo 8. S výstupem označeným jako GPIO6 je třeba v softwaru pracovat jako s gpio230.
Nadřazený - - Od Jiri.Sko Dne 2015-07-22 11:22
Bohužel i s insmod w1-gpio-custom bus0=0,230,0 stále invalid GPIO. :sad:
Nadřazený - - Od JFila (>>) Dne 2015-07-22 20:30 Upraveno 2015-07-22 20:46
Zdravím, bohužel v současné době nemám k modré krabičce přístup ale je divné, že nefunguje ani jeden uvedený postup. Už si to přesně nepamatuji ale pamatuji si, že s "invalid GPIO" jsem měl také problém. Můžete nechat vypsat opkg list_installed | grep 'serial\|digitemp', mělo by stačil kmod-usb-serial, kmod-usb-serial-ftdi, digitemp pro teploměr s převodníkem FTDI, druhá varianta.
Nadřazený - - Od Jiri.Sko Dne 2015-07-22 20:58
root@turris:~# opkg list_installed | grep 'serial\|digitemp'
digitemp - 3.6.0-5
kmod-usb-serial - 3.10.49+9-1-4c8e5c7c78cd2f5b5370bf7c793f88cb-9
kmod-usb-serial-option - 3.10.49+9-1-4c8e5c7c78cd2f5b5370bf7c793f88cb-9
kmod-usb-serial-pl2303 - 3.10.49+9-1-4c8e5c7c78cd2f5b5370bf7c793f88cb-9
kmod-usb-serial-wwan - 3.10.49+9-1-4c8e5c7c78cd2f5b5370bf7c793f88cb-9

root@turris:~# lsusb
Bus 001 Device 002: ID 0424:2412 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Nadřazený - - Od JFila (>>) Dne 2015-07-22 21:11
Možná hloupost ale nemůže se o sériák prát ten modul pro 3G?
Nadřazený - - Od Jiri.Sko Dne 2015-07-22 21:45
Problém (částečně) vyřešen. Odebrat modul pro 3G nepomohlo, nicméně problém s USB převodníkem zmizel po přímém připojení převodníku k USB turrisu. Doteď jsem to měl přes cca 1,5m prodlužovací kabel, se kterým mi to na notebooku v pohodě fungovalo, takže mě hned netrklo zkusit teploměr napřímo. Teď přes převodník běží. :smile:

Zbývá tedy otázka, proč teploměr neběží přes GPIO.
Nadřazený - - Od JFila (>>) Dne 2015-07-23 06:41
Mh výborně, s emulací na GPIO si chci více pohrát až bude čas. Tak třeba se podaří vyřešit i toto.
Nadřazený - - Od JFila (>>) Dne 2015-07-30 16:41
Zajímavé, dostal jsem se ke stejnému problému. Je divné, že jako GPIO pin funguje.
Nadřazený - - Od JFila (>>) Dne 2015-08-20 14:44
Nějaký pokrok? Já jsem bohužel nijak nepokročil. Zkoušel jsem udělat build starší verze modulu w1-gpio-custom a prohlédl jsem jestli náhodou není nějaká proměnná uchovávající číslo pinu menšího rozsahu apod. Bohužel bez potěšujícího výsledku na závěr. Máte někdo jiný nápad, kde by mohl být problém?
Nadřazený - - Od Martin Grames Dne 2015-11-20 12:06
Taky mi nefunguje 1-wire přes GPIO, tak jsem hledal na netu a našel jsem tento patch:
https://lists.openwrt.org/pipermail/openwrt-devel/2015-May/032826.html
Možná by to pomohlo, ale kompilovat kernel se mi nechce.
Nadřazený - - Od Jiri.Sko Dne 2016-07-11 23:46
Tak jsem si s tím dal tu práci, zkompiloval modul s úpravou i bez ní a stále visím na (od loni jiné hlášce)

root@turris:~# insmod ./w1-gpio-custom.ko bus0=0,486,0
root@turris:~# dmesg | tail
[   79.413409] Custom GPIO-based W1 driver version 0.1.1
[   79.413532] w1-gpio w1-gpio.0: Failed to parse gpio property for data pin (-2)
[   79.420890] w1-gpio: probe of w1-gpio.0 failed with error -2


Podle googlení této chyby v tom ale zřejmě nejsme sami (#21889). Ještě by to chtělo zkusit zbuildovat celý kernel s úpravou ve zmíněném ticketu. A do toho se hned pouštět nebudu, možná někdy později.
- - Od DasXardas Dne 2015-12-22 21:27 Upraveno 2015-12-23 11:07
Možná by bylo fajn, ukazovat teplotu CPU, využití RAM, a další užitečné informace přímo v kartě Přehled rozhraní LuCi
Nadřazený - Od JFila (>>) Dne 2015-12-23 16:33
Zde má každý pole působnosti volné. A komu se nechce, tak si může nechat malovat grafy přímo v počítači. Jen pro informaci, toto vlákno je věnováno jinému typu teploměru, konkrétně teploměrům připojeným prostřednictvím 1wire sběrnice. https://cs.wikipedia.org/wiki/1-Wire
Viz https://www.turris.cz/forum/topic_show.pl?pid=8040.
Nahoru Téma Majitelé routerů / Uživatelská vylepšení / Teploměr (uzamčeno)

Powered by mwForum 2.29.3 © 1999-2013 Markus Wichitill