Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - PedroKV

Stran: 1 2 3 [4] 5
46
Vývoj / Orange Pi zero GPIO
« kdy: 14. 03. 2017, 10:43:34 »
Ahoj,

i přes přečtená varování jsem si pořídil i Orange Pi Zero. Pomocí RPi úspěšně měřím vzdálenost pomocí ultrazvukového čidla (obdoba HC-SR04, konkrétně US-100 a HY-SRF05), na OPi Zero to ale nemůžu rozběhat. Nainstaloval jsem odsud GPIO:
https://github.com/nvl1109/orangepi_PC_gpio_pyH3

a pak zkusil kód odsud:

https://github.com/balazspekar/ultrasonic-sensor-orange-pi-pc-plus
(zde jsem jen změnil porty pro TRIG a ECHO na PA19/18 (piny 16/18)).

program ale neměří, ctrl-c ho přeruší ve smyčce:

while gpio.input(ECHO) == 1:
pulse_end = time.time()

Máte někdo nějaký nápad, co s tím? GPIO ovladač asi běhá, sample_led.py na LEDky na desce je rozbliká.

díky

47
Vývoj / Re:Python 2.7-hodinový cyklus pro spuštění akce
« kdy: 22. 01. 2017, 11:19:11 »
Tak to šlape. V příloze posílám pár obrázků toho řešení. Na na grafu jde vidět, že čidlo občas změří nesmysl. Hlavně, když je násypka plná (90-100+cm), tak ukazuje někdy třeba 45cm. Na přijímač jsem tedy nasadil trubičku, doufajíc, že se omezí příjem vyslaného signálu odrazem (= delší uražená vzdálenost, = méně uhlí), nicméně v noci to jednou změřilo 46cm a poté 74cm. Až mi přijde jiné čidlo (US-015), vyzkouším to, jinak se s tím budu muset buď smířit, nebo detekovat, zda naměřený úbytek není větší jak třeba 10cm a pokud ano, provést opakované měření. V zásadě jsem ale vyřešil problém, jak zjišťovat, zda je v zásobníku uhlí, když tam nejsme (rekonstrukce).

Ještě se zeptám na jednu věc: když chci zveřejnit zdrojáky, kam bych je měl nahrát? Můžu na svůj web, ale napadl mě třeba github... Jen s githubem nemám žádné zkušenosti.

48
Vývoj / Re:Python 2.7-hodinový cyklus pro spuštění akce
« kdy: 22. 01. 2017, 10:51:25 »
Tak jsem to upravil na apscheduler, přes
Kód: [Vybrat]
pip install apscheduler
mi to vyhodilo chybu, pak jsem s tím laboroval dál, zpětně si uvědomuji, že jsem asi párkrát zblbnul počet "p" a "l" v názvu aplikace, nakonec nainstalováno přes
Kód: [Vybrat]
sudo easy_install appscheduler==2.1.2

Program spuštěn, za 9 minut se ukáže ;-) Top hlásí jako nejvytíženější program "top" - 15% a to asi 3 sekundy, pak spadne skoro/na nulu. Takže paráda. Teplota procesoru 46°C

Jen to má pro mě jednu vadu na kráse: běžící program nejde zastavit přes ctrl-c.
Spouštím ho v tmuxu, takže bych dokázal odstřelit tu tmux session přes "ctrl-b x". Je to takto OK? Nebo existuje jiné řešení?

Díky

49
Vývoj / Re:Python 2.7-hodinový cyklus pro spuštění akce
« kdy: 22. 01. 2017, 09:56:24 »
Díky všem za odpovědi.
Zatím (než se k tomu večer opět dostanu), použil jsem metodu volání času 1x (ltime=localtime()) jak psal Jan Stránský.

Ještě předtím jsem si přes
Kód: [Vybrat]
top
zjistil, jak si na tom stojí procesor, jak psal Jenda. Ano, frčí na 100% díky procesu Python. Přes
Kód: [Vybrat]
vcgencmd measure_temp
jsem zjistil, že teplota procesoru je 52°C (RPi je momentálně v kotelně, kde je tak +-23°C), když vypnu ten pythoní skript, tak teplota poklesne o 5-6°C na cca 47°C.

Zatím jsem do smyčky upravené dle Jana stránského přidal ještě
Kód: [Vybrat]
time.sleep(3540)
tím bych měl na 59 minut procesoru ulevit. Systémově to ale není dobře, protože tu minutu to pojede na plný kotel, + kdyby náhodou měření + ftp upload + mysql zápis neproběhl do minuty (celá hodina + 59s), tak další měření neproběhne.

Večer tedy upravím program na apscheduler, s parametrem minute='0'. To by mělo zajistit spuštění programu v každou celou a pak na hodinu padla. Pak dám vědět.

50
Vývoj / Python 2.7: hodinový cyklus pro spuštění akce
« kdy: 21. 01. 2017, 20:48:02 »
Ahoj, nemůžu přijít na to, kde udělali soudruzi chybu, když se cyklus spouští nejen v každou celou hodinu, ale i minutu poté. Ovšem ne vždy. :-/ Některou hodinu to proběhne jak má, některou ne.

Skript má jednou za hodinu zjistit vzdálenost (výšku uhlí) z ultrazvukového čidla v násypce kotle, hodnotu poslat přes ftp do .txt souboru a zavolat php skript, kterému předá výšku uhlí a php skript ji zapíše do SQL databáze (hostingy neví, co by si za externí přístup řekly...)

Díky za rady

Kód: [Vybrat]
x=0         
    while x==0:
        if strftime("%M", localtime())=="00" and strftime("%S", localtime())=="00":
            mereni=measure()
            i=5
            while (mereni==-1) & (i>0):                           # vysledek mereni je -1, kdyz je mimo rozsah,
                mereni=measure()                                    # zde 5 pokusu ziskat validni vysledek.
                i=i-1
            ftp=FTPupload(distance=mereni)                          # tohle a pak sqhhandover probehne
            if mereni!=-1:                                         # v kazdou celou, ale i minutu pote
                php=phpsqlhandover(distance=mereni)         
            print timenow()+" KONEC SMYČKY. Čekám na další měření."   


51
Kukaččí vejce se čte jedním dechem,doporučuju

52
Díky. Já bych ještě potřeboval poradit s tím tmuxem-jsem zjistil, že vydrží běžet různě dlouho a pak se session ukončí, nevím proč. Předtím program běžel ve smyčce 2-3 dny a žádný problém, teď to vydrží různě dlouho, hodinu, 10 minut, tak nevím.

to "ctrl-b d" je dobře?

53
edit, už to vím:

Kód: [Vybrat]
CTRL-b d

54
Startup scripty se na Raspberry Pi davaji do /etc/rc.local dolu pred "exit 0".
Jak uz bylo receno, pouzij tmux nebo screen, v nich pobezi tvuj program a pak se na to muzes kdykoliv pripojit.
Ja pouzivam tmux, do rc.local pred exit 0 bych dal
Kód: [Vybrat]
tmux new -d -s meteostanice '/cesta/k/programu'

To vytvori novou tmux session (pojmenovanou meteostanice, neni treba jestli tmux pouzijes jenom na tohle), spusti v ni tvuj program a odpoji se. Ty se tam pak pripojis pomoci
Kód: [Vybrat]
sudo tmux attach -t meteostanice
Takle se to spousti pod rootem, jestli nepotrebujes roota tak tmux v rc.local spust napr. pomoci sudo -u ... jako jiny uzivatel. Se screenem to bude podobny, ale nevim jak presne, nepouzivam ho.

Děkuji, šlape to, zatím jen z příkazového řádku, po startu to dám později. Spouštím přes:

Kód: [Vybrat]
tmux new -d -s meteostanice -c '/home/pi/Meteo' 'python weatherbh.py'

aby mi to startovalo v mém adresáři Meteo.

Chtěl bych se zeptat k tomu ještě na 1 věc:

1) jak vyskočím z TMUXu zase do příkazové řádky, aniž bych ukončil běžící pythoní program?


A našel jsem si
Kód: [Vybrat]
tmux list-sessions
(to měla být druhá otázka-se sudo na začátku to nefunguje), to vypíše, jaké sessions jsou spuštěné. Může se hodit.

55
Tak přes měsíc jsem na to nešáhnul a teď jsem to dorazil během 2 dnů. Program je hotový, nakonec jsem mu udělal nekonečnou smyčku, ve které jede a po minutě měří a posílá data. Běží mi to tu druhý den a vše ok.

Potřebuji se dozeptat na 2 věci:

1) udělal jsem to variantou té nekonečné smyčky, ne cronem. Potřebuji to teď spustit po startu. Můžu poprosit návod pro dummie?

2) například přes Putty se můžu na RPi přihlásit třeba 10x a pokaždé uvidím jinou-další konzoli-obrazovku. Program nyní při běhu melduje na obrazovku, co zrovna dělá. Je možnost to zjistit-přepnout se na tuhle obrazovku, když se připojím na RPi vzdáleně, tj. ne přes HDMI kabel? A když bude program spuštěn po startu RPi, uvidím to aspoň na to hdmi monitorku?

děkuji.

56
tak jsem nakonec objednal tu SLC flashku. A že zdražili tu normál, tak jsem objednal Ultra, za 700 :-)

57
A jak píše Jarda, vytápění bych tam dal, ale když máš malinu, tak přeci řízené ;)

S tim rizenim to nebude tak jednoduche. To mame spinac zarovek, vlhkomer a teplomer. Pricemz vlhkomer by mel merit opravdovou relativni vlhkost a ne jen za predpokladu, ze zrovna je v krabici pokojova teplota +/- 5°C, ale v plnem rozsahu teplot, ktere se mohou vyskytnout.  A to by mohl byt problem.

Hele, ajťáci, ne na všechno je třeba CPU. Na teplotní spínání funguje dost dobře i termostat :-P Ovšem 15W žárovku tam nedám, to už si rovnou můžu nechat běžet PC ;-)

RPI plánuji do takovéto podobné krabice
https://www.aliexpress.com/item/200-120-75mm-Handheld-Waterproof-ABS-Plastic-Enclosure-Waterproof-Electronic-Project-Box-Enclosure-Case/32536460995.html?spm=2114.13010308.0.0.OPVQga

s tím, že skrz krabici budou těsné (i kvůli havěti) průchodky na kabely. Krabice se dá zevnitř vyložit třeba 2cm polystyrenem, tím pádem si bude trafíčko i RPi pěkně topit :) Momentálně je třeba USB webkamera zabalená jen v černém polystyrenu a jak si žije, už leta.. :-)

Čidlo BME280 bude venku přišroubované do krytu:
https://www.aliexpress.com/item/Free-shipping-plastic-outer-shield-for-thermo-hygro-sensor-spare-part-for-weather-station-Transmitter-thermo/32581668004.html?spm=2114.13010308.0.0.OPVQga

na spodek krytu plánuju 5cm větráček s kuličkovým ložiskem, protože se stává, že čidla se při práci vnitřně zahřívají a zkreslují výsledek. (Druhý extrém je větráček se "sleeve" "ložiskem", které ve vodorovné poloze dostává slušný kopr a zahřívá se též a tím zahřívá i čidlo. Takže doporučuji Maglev nebo Ballbearing.)

Momentálně přišla 16GB flaška od CZ Nic za ověření domény, takže ta bude asi ta první, kterou budu trápit. A možná časem koupím tu 16GB SLC za 7 kil, časem snad i méně. (Kdysi jsem koupil dvě SD karty Sandisk 1GB po 1500Kč, protože to byla fakt hustá cena.. :-))

58
Proč všechno lokálně? No, já vlastně ani nevím, dřív jsem dělal časosběrná videa (něco je na stránkách) a prostě mám u sebe zálohu všech pořízených snímků, což se rovná tuším 6 let zpět minutu po minutě (pár jich chybí-kuna přehryzla usb kabel, odešel disk, nešel proud). Za asi 3 měsíce je to pár GB, takže by mi na to 1.nestačil hosting (10GB, ale mám tam i jiné věci) a 2. mám celkem nespolehlivého Wifi providera, takže "co je doma, to se počítá". S tou kartou-momentálně mám obyčejnou čínskou 8GB kartu,protože jsem dřív o wear levellingu nic netušil, takže jsem prostě vzal dvě 8GB karty na pokusy a hotovo. Jenže s tím,jak si postupně ten systém upravuju, tak se obávám, že bude čím dál složitější ten python skript rozběhat na čisté kartě. Musím vygooglit, jak udělat kompletní funkční image karty, pro jistotu.

No a flashdisk, ten prostě jen vytrhnu, dám nový a v tabulce fstab přepíšu UUID na nové. Jak prosté. ;-) SSD disk se mi tam dávat nechce-prachy, napájení, bude to venku v krabici... RPi chci napájet přes POE 802.3af->5V 2A adaptér z Alíku. I když možná to pojede skrz normální adaptér, protože i z jiných důvodů si tam chci natáhnout 230V.

Ten RAMdisk-přiznávám, je to i trošku lenost. Ale: řeší to jen CSV soubory, po minutě appendované. Fotky bych stejně ukládal někam na kartu/flashdisk. U těch CSV souborů by musel řešit, že pokud dojde k výpadku proudu, tak vlastně na FTP přepíšu jinak plný CSV soubor novým, prázdným. A v případě, že by cron po půlnoci neproběhl (kopírování hotového uzavřeného CSV souboru na kartu), musel bych řešit, aby příští cron zkopíroval i to, co zbylo z minula.

59
Tož já myslím, že mají, googlil jsem to hodinu.
http://www.adata.com/en/support/kc-1/70

Vidím to na 16GB ADATA UC330 - 10 let záruka u CZC.

60
Ještě k tomu ramdisku-já na tím furt dumám... Napadlo mě, co kdybych do RPi zarazil flashku a zapisoval na ní? Je to sice stejná/podobná paměť jako paměťovka, ale nebudu si ošoupávat systémovou paměťovku, ale lehce vyměnitelnou flashku. Našel jsem na na aliexpressu miniflashky od 512MB do xx GB za pár šlupek.. Napadlo mě dát tam na ty CSV soubory třeba 4GB (Za 6 let mají soubory 90MB), naformátovat ji na malé clustery a zapisovat na ni. Rychlost zápisu nehraje v případě i pomalé flashky žádnou roli a u flashdisků na Ali píšou 100.000 smazatelná. Což při 1440 zápisech za den vyčerpám za 69 dní. Předpokládám ale, že 100.000x smazatelná je jedna buňka, tj. cluster. Čímž by se flashdisk stal takřka nesmrtelným, když se na to soubor denně 1440x přepíše a pak tam zůstane být a další den se ošoupává zase další cluster. Mimochodem, na svém stávajícím PC na meteostanici jsem z důvodu úspory energie a zvýšení rychlosti vyměnit magnetický HDD za 64GB SSD A-data, je to asi 2 roky a disk je stále fit. Co si o tom myslíte? Jsem s nějakou myšlenkou vedle?

Stran: 1 2 3 [4] 5