• Vítejte na XBMC-Kodi.cz
  • Česko-slovenská komunita fanoušků XBMC/Kodi
Vítejte návštevníku! Přihlášení Registrace


Hodnocení tématu:
  • 3 Hlas(ů) - 4.33 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Pi3 automatické spínání větráku chlazení
#41
Zdravim a chtěl bych vám všem poděkovat že jste se snažili mi pomoct ,zvlášť děkuji petr77 a Petrvald. Udělal jsem to podle návodu co napsal petr77 a větrák šlape. takže odpájím ty dráty co jsem tam naletoval. Ještě jednou děkují.
sebod
 
Citovat
#42
sebod:
Jsem rád že se ti to podařilo.
Proto jsme tady, abychom si pomáhaly.
 
Citovat
#43
petr77: jen skoda, ze tu nejsou zadne zeny 88 4
Apple TV 4K gen.3 128GB - tvOS 16.2 (iSCC, KODI 19.4) & 3x HomePod - audioOS 16.2 & RPi 4B 8GB RAM - IOTstack & 1x RPi 2B - Raspbian & RPi Zero
Intel NUC NUC10i5FNK - i5 10210U, 64GB RAM, ESXi (W10, W11, Debian,...) 
iPhone 15 Pro 512 GB - iOS v17.2.1 (KODI 19.4) & Apple Watch 9 45mm v10.2
iPad Pro 11 512 GB - iPadOS v17.2.1 (KODI 19.4)
 
Citovat
#44
Big Grin 
S474N:To máš pravdu to je velká škoda 1
 
Citovat
#45
Mno ... S474N myslel zřejmě na ženy ve spojitosti se slovem "pomáhaly"  4 (chybička se občas vloudí)
S905X 2/3 → CE 20 \ RPi4 → LE 19 \ HTPCLE 18 \ NAS Synology DS212J/DS220+ \ Vero 4K+ → OSMC 19
 
Citovat
#46
sebod: to jsi překvapil, už jsem myslel že to nedotáhneš do zdárného konce 4 Thumbup
RPi 4B - LibreELEC
RPi Zero W - LibreELEC
 
Citovat
#47
Nevím, jak se ostatním podařilo script v Openelec zprovoznit, ale mně nikoliv. Soubor vetrak.sh jsem nedokázal spustit ani ze souboru autostart.sh (podle popisu výše), ani přímým příkazem sh vetrak.sh (a ano, nastavil jsem jej jako spustitelný...). Jen na okraj, adresář storage/pi defaultně neexistuje, ale ani pokud ho vytvořím, nic to na nefunkčnosti nezmění (je jedno, kam vetrak.sh nakopiruji, spustit jej nelze - chybová hláška "device or resource busy"). Jediný způsob, jak větrák ovládat (resp. vypnout současně s Kodi), je nastavit pin 17 (nebo jiný) přímo v souboru autostart.sh. V mém případě mi šlo hlavně o to, vypnout větrák při vypnutí Raspberry / Kodi příkazem shutdown, kdy jinak zůstane trvale napájený ze zdroje.
Pod OS Raspbian Jessie funguje spouštění bez problémů (vetrak.sh v adresáři /home/pi, spouštění přes rc.local). Takže jsem dosáhl co jsem chtěl, i tak by mne ale zajímaly hraběcí rady, co jsem si špatně nastudoval...
 
Citovat
#48
Ahojte. Ako píše Martyxz, pri nainštalovanom OSMC zložka storage neexistuje. Postupoval som teda podľa návodu v pdf a viac menej som uspel. Vetrak.sh sa síce spustí, čo viem podľa toho, že sa aktivuje GPIO17 a nastavia prístupové práva(nakoľko sa vždy pri reštarte GPIO17 deaktivuje a nastavia defaultné prístupové práva). Problém je, že ventilátor sa neaktivuje ani pri teplote nad limitom. Ak však zadám príkaz z rc.local ešte raz "nohup /home/pi/./vetrak.sh &" tak sa zobrazí hláška na obrázku v prílohe a program začne fungovať presne tak ako má. V putty môžem po stlačení CTRL+C normálne pracovať a program beží. Vie mi niekto poradiť ako ho korektne spustiť automaticky pri štarte? Ďakujem.


Přiložené soubory Miniatury
   
 
Citovat
#49
Tak som to vyriešil. Používam CRON, ktorý pri spustení aktivuje GPIO17 a nastaví prístupové práva. Potom CRON každú minútu spúšťa script na kontrolu teploty. Ten je v cykle 4x skontroluje teplotu(každých 15 sekúnd) a v prípade zmeny stavu vetráku zapíše teplotu, stav vetráku a čas do databázy. Vetrák sa spustí pri 60 stupňoch a vypne pri 45. Myslím, že tých 60 nemôže byť pre RPi problém. Ešte dodám, že som musel trošku uporaviť aj podmienku "$VETRAK == 1" na "VETRAK -eq 1" a počiatočné nastavenie premenntých "TEPLOTA=$(/opt/vc/bin/vcgencmd measure_temp | cut -c 6-7)" a "VETRAK=$(cat /sys/class/gpio/gpio17/value)". Pretože podľa vzoru mi to nechcelo fungovať. Teraz všetko šlape.
 
Citovat
#50
Znovu jsem si pročetl, jak ladíte teploty a možná znovu tedy přidám odkaz na stránku řešení, které se vztahuje k úpravám v příspěvku od @xxx9955.
"Návod na přetaktování Raspberry P3 a jeho aktivní chlazení"
od vaclav.kalina@ksystems.cz - tu divokou mechanickou úpravu jsem už na obrázku kdesi viděl Big Grin
...a komentáře dole ke scriptu.

Tohle je zajímavé, klepněte si na nějakou místnost v domě:
Inteligentní budova

    <<<Zapojení ventilátoru
 
Citovat
#51
Super navod podarilo sa sprevadzkovat aktivne chladenie. Tento skript je urobeny ze sa spusti pri starte a ide dookola v 30s intervaloch. Super jednoduche riesenie,nie je treba riesit vselijake nastavenia init.d a podobne. Ak niekomu nefunguje treba vsetko nastavit,zapojit a restart celeho systemu,mne pomohlo na RPi. Zmenil som si nastavenie na gpio 14 lebo kamarat mi urobil takyto kablik. Robil spinanie pomocou tranzistoru + nejaky odpor.
Edit: Ktorym smerom vam tlaci ventilator vzduch?


Přiložené soubory Miniatury
   
 
Citovat
#52
Ahoj,
bohužel jsem se dostal do potíží s teplotou na Raspberry a tak jsem byl nucen vymyslet nějaké řešení. Jak jinak jsem se nesmířil s polovičatým řešením, jako v případě vypínání/zapínání raspberry a udělal jsem aktivní chlazení bez kompromisů. A opět jak jinak, je hlavní hybnou silou Arduino, jelikož zastávám názor, že raspberry je mozek a arduino ruce. Takže moje řešení je použití klasického PC ventilátoru na 12V s 4pin konektorem, pro přesnou a bezhlučnou PWM regulaci. Výhody tohoto řešení je plynulá regulace v plném spektru otáček ventiátoru, nezatěžování raspberry řízením a napájením ventilátoru. Výčet komponentů pro řízení:
Arduino micro cena 40 Kč nebo nano v tom případě cca. 70 Kč
step UP modul cena do 20 Kč pro napájení ventilátoru (z 5V na 12V)
step UP modul cena do 20 Kč pro napájení arduina (z 5V na 9V)
Odpory 10k a 4k7 a nějaká propojovací kabeláž. Takže celková cena bez ventilátoru do 100Kč. Pokud je někdo zdatný bastlíř, jde cena srazit na pakatel.
Program do arduina tady:
Kód:
#include <OneWire.h>
#include <DallasTemperature.h>
volatile byte half_revolutions;
unsigned int rpm;
unsigned long timeold;
const int pinCidlaDS = 4;
const int PWMPin = 3;  
int sensorVal;
OneWire oneWireDS(pinCidlaDS);
DallasTemperature senzoryDS(&oneWireDS);


void setup()
{
Serial.begin(9600);
attachInterrupt(0, rpm_fun, RISING);
half_revolutions = 0;
rpm = 0;
timeold = 0;
pinMode(PWMPin, OUTPUT);  
senzoryDS.begin();
TCCR2A = _BV(COM2B1) | _BV(WGM21) | _BV(WGM20);
TCCR2B = _BV(WGM22) | _BV(CS21);
OCR2A = 79;
OCR2B = 0;
}

void loop()
{
if (half_revolutions >= 20) {
   rpm = 30*1000/(millis() - timeold)*half_revolutions;
   timeold = millis();
   half_revolutions = 0;
 }
 senzoryDS.requestTemperatures();
  int in, out;
sensorVal = senzoryDS.getTempCByIndex(0);
  if(sensorVal > 90){
  sensorVal = 90;
}

in = sensorVal;
out = map(in, 25, 90, 7, 79);

    if(sensorVal < 25){
  out = 0;
  rpm = 0;
      }

OCR2B = out;
Serial.print("Teplota cidla DS18B20: ");
Serial.print(senzoryDS.getTempCByIndex(0));
Serial.println(" stupnu Celsia");
Serial.println(out);
Serial.println(rpm,DEC);
}
void rpm_fun()
{
 half_revolutions++;
}

Program pokud bude zájem rozeberme podrobněji. Hardwarové zapojení taky. Pro začátek ale stačí, že ventilátor je nastaven na plynulou regulaci od 25 do 90 °C (lze libovolně nastavit). Snímač zvládá rozsah -55 až 125 °C s chybou +- 0.5°C. Snímačů lze použít víc a měřit raspberry komplexněji. Informaci o otáčkách ventilátoru a teplotě jde poslat do raspberry nebo na display. V případě nano je myslím omezení na 3 nebo 4 nezávisle řízené ventilátory.
 
Citovat
#53
Dovolim si oprasit stare tema...
..kamarat ma poziadal, ci by som mu neurobil chladenie na jeho krabicku. Ventilatory z Aliexpressu som dajake mal a nasiel sa i vhodny tranzistor na ovladanie. Z netu som dakde stiahol skript naovladanie ventilatora  a chladenie bolo na svete...
Po case vsak prisiel opat , ale s problemom...
Krabicku nevypina, spi v tej istej miestnosti a ventilator ho vyrusuje... 
vraj ci mu s tym nieco tichsie nevymyslim...
Podla poziadaviek som na nete nic nenasiel a tak som sa dal na vytvorenie vlastneho skriptu. V pythone som este nic nerobil, tak mi to to zabralo cely den...

Ak by sa to dakomu hodilo, tu je popis skriptu:

Samozrejmostou je minimalna nastavitelnana teplota, kedy sa bude ventilator zapinat, no ventilator sa nezacne tocit na 100%, ale len nieco okolo polovice. Prednastavena teplota je 45°C. Ventilator bude chladit az do nastavitelneho rozdielu 3°C, co je v tomto pripade 42°C. Potom vypne a opatovne zapne pri 45°C. Ak by teplota neklesala, otacky sa budu zvysovat umerne k teplote cpu krabicky. Maximalna rychlost ventilatora, cize 100% nastane pri 70°C.  Moze nastat situacia, kedy pomer rychlosti ventilatora k teplote cpu, zostane na mrtvom bode. To znamena, ze ak by ventilator stihol ochladzovat krabicku natolko, ze by teplota neklesala, script si s tym poradi. Porovnava dosiahnutu teplotu s teplotou pred minutou a teplota neklesa alebo klesa pomaly, ventilator o malinko zvysi rychlost. Tuto opat po minute porvnava a ak neklesa opat prida. Takto bude pokracovat nez sa teplota neznizi alebo nedosiahne 100%.  No je tu i moznost tuto funkciu vypnut. Pin si zvolte podla svojho. V skripte je pouzitie BMC pin c. 4. Umiestnenie necham na vas, no prilozil som autoexc.py, ktory staci vlozit do foldra /storage/.kodi/userdata spolu s nepremenovanym suborom fanpwm.py. Funguje to na Openelec i na Libreelec. Po restarte by sa mal script uz starat o chladenie.

Tak moj prvy skriptik uzrel svetlo sveta a ak pomoze, budem rad.

Testovanie prebehlo na Openelec v. 8.0.4, Libreelec v. 8.2.5 a v. 9.0.0

dopnene 29.4.2019
V openeleku sa po instalacii skript nespusti ak nemate nainstalovane RPi.GPIO
Staci vojst do official repozitara pre Openelek, nainstalovat repozitar unofficial a z neho potom doinstalovat doplnok pre programy RPi.GPIO. Po restarte to uz naskoci.

Schema zapojenia ventilatora:
   

Samotne  scripty:
[attachment=4895]

doplnene 21.7.2020
odstranene stara verzia


optimalizovane i pre RPi4
i tu najdete najnovsie opravenu verziu: GITHUB


Přiložené soubory
.zip   Fan (2).zip (Velikost: 11,47 KB / Stažení: 65)
RPi, RPi4,..., cambridge azur 540r, mission 782...
 
Citovat
#54
Někdo používá na sepnutí i relé,ale ono stačí i 12V větráček a není slyšet.
https://dl.dropbox.com/s/pjc3v7u3yrtn3q6...a8ba47.jpg
Nejlepší je hliníková krabička a její víko využít jako chladič.Pod víko se nalepí měděná kostička (k nalepení můžete použít třeba STARS-922)
a na procesor "teplovodivá silikonová podložka" (thermal pad) .Prodávají se různé tlouštky ale v ČR je docela problém najít silnější,tak hledat třeba na Ali.
 
Citovat
#55
on ten ventilator nie je az tak pocut, no ak krabicku polozis do vnutra skrinky, tak samotne vybracie + ventilator na 100%, urobia svoje... ale zalezi ci tam aj spi. Mne to nevadilo ani ked isiel naplno bez vypinania...
RPi, RPi4,..., cambridge azur 540r, mission 782...
 
Citovat
#56
Ahoj.. tak koukám na toto téma ( velice hezká práce ) a moje otázka zní je potřeba ten optočlen??
Podle mě ne :-) Pokud nebudu spínat velký výkon..Ventilátor 3x3cm má odběr 0,2A to ten výstup neutáhne?
Pokud bych chtěl regulovat otáčky tak souhlasím s kikerem a použiju tranzistor..

P.S. hned mě nekamenujte!! :-D

Tak jsem to odzkoušel..NEJDE!!! :-D
 
Citovat
#57
(28.6.2016, 14:36)petr77 Napsal(a): Automatické spínání větráku chlazení maliny podle nastavení teploty.
1.V příloze je script vetrak.ph který se vloží do složky: /storage/pi/vetrak.sh a musí se nastavit spouštěcí práva přes Putty.
2.Soubor autostart.sh se vloží do /storage/.config/autostart.ph a také se nastaví spouštěcí práva (755).
3.Podle přiloženého schéma zapojit ventilátor přes optočlen 4N33.

Já mám nastavenou teplotu sepnutí 60C a vypnutí pod 50C každý si může nastavit teplotu podle sebe v souboru vetrak.sh

Pojede to i na RPi 4? Případně jaké úpravy bych musel udělat?
RPi4 4GB/LibreElec/použití pouze pro Kodi, stream filmů z NASu.
Děkuji za odpověď.
 
Citovat
#58
@vlkos
odpoved trocha oneskorene 2, ale niekomu mozno pomoze.
LibreElec od verzie 10.0.1 zrusil automaticke spustanie skriptu autoexec.py z foldra userdata.
Cez autoexec,py sa spustal skript na ovladanie ventilatora. V novych verziach LE to teda takto nebude fungovat.
Riesenie je vytvorit addon, ktory tento skript spusti.
V priecinku addons si vytvoris novy folder service.autoexec

1. vytvoris novy subor addon.xml s obsahom:
 
Kód:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="service.autoexec" name="Autoexec Service" version="1.0.0" provider-name="your.name">
    <requires>
        <import addon="xbmc.python" version="3.0.0"/>
    </requires>
    <extension point="xbmc.service" library="autoexec.py">
    </extension>
    <extension point="xbmc.addon.metadata">
        <summary lang="en_GB">Automatically run python code when Kodi starts.</summary>
        <description lang="en_GB">The Autoexec Service will automatically be run on Kodi startup.</description>
        <platform>all</platform>
        <license>GNU GENERAL PUBLIC LICENSE Version 2</license>
    </extension>
</addon>

2. dalej vytvoris dalsi subor autoexec.py s obsahom:
 
Kód:
import xbmc
xbmc.executebuiltin("RunScript(/storage/.kodi/userdata/fanpwm.py)")

3. do priecinka userdata vlozis skript spustajuci ventilator. Ak pouzijes skript s inym nazvom, tak ho prepis (fanpwm.py)

4. z repozitara (Libreelec Add-ons) nainstaluj Raspberry Tools obsahuje RPi.GPIO 
5. rebootni RPi
6. vojdi do mojich doplnkov a povol Autoexec Service

ak je vsetko OK, tak by sa mal ventilator spustit
prikladam moje subory.

ak pouzijes moj skript fanpwm.py, tak si v nom nastav svoje hodnoty (riadok 12 az 18)


.zip   service.autoexec.zip (Velikost: 1,88 KB / Stažení: 47)  Testovane na LE 10.0.2

info: Kodi Wiki
RPi, RPi4,..., cambridge azur 540r, mission 782...
 
Citovat
#59
řešil jsem to také a použil jsem autostart.sh.
Jen jsem do něj dal odkaz na tady zveřejněný script.
Nevím jestli je to správný postup, ale funguje.
RPi3, RPi4, LE9.2
 
Citovat
  


Přejít na fórum:


Prochází: 1 host(ů)