2015. július 27., hétfő

Parancssori paraméterek átadása QPython-ban

Mivel a QPython alapban nem támogatja, hogy egy python fájlnak parancssorban adjunk át paramétereket, ezért trükközni kell.
Az egyik megoldás a következőképpen néz ki.
  1. Készítünk egy fájlt az alábbi tartalommal.
    import os
    import sys

    workdir = '<elérési út>'
    filename = '<fájlnév.py>'
    arguments = '<paraméterek>'

    os.chdir(workdir)
    os.system(sys.executable + ' ' + filename + ' ' + arguments)

    Ahol is az
    <elérési út> - az indítandó python fájl könyvtára (pl. /storage/emulated/0/Documents/)

    <fájlnév.py> -
    az indítandó python fájl neve
    <paraméterek> -
    az indítandó python fájlnak átadandó paraméterek szóközzel elválasztva
  2. Elnevezzünk ezt a fájlt például qpExec.py-nak, és elhelyezzük valahová a mobil eszközünkön.
  3. Megnyitjuk QPython editorral, majd elindítjuk. (Ha a /storage/emulated/0/com.hipipal.qpyplus/scripts vagy /storage/emulated/0/com.hipipal.qpyplus/scripts3 alá tettük, akkor a QPython programok segítségével is indíthatjuk.)

2015. július 21., kedd

Mi a boldogság?

A világ bármely szegletébe kerülhet az ember fia(lánya), ha fenn tudja tartani a környezete és az önmaga közötti kényes egyensúlyt, egy idő után rájön, hogy az nem más mint maga a BOLDOGSÁG! Ezután bárhol lesz is, mindig ezt az érzést akarja újra és újra átélni, ami persze nagyon nehéz, de nem lehetetlen.

Idézet innen (lebrac hozzászólásából).

2015. május 29., péntek

GPT partíció törlés dd-vel

Ha egy GPT partícionált lemezt szeretnénk például msdos partícinálttá tenni, akkor szembesülhetünk azzal a problémával, hogy a partícionálást végző program a GPT miatt nem akar működni.

Ilyenkor a dd-vel segíthetünk a dolgon.
Az alábbi parancsok kiadásával megszűnik a lemez minden GPT-re emlékeztető (az első és az utolsó harmincnégy lemezblokkba írt) bejegyzése. (Feltételezzük, hogy a lemez a /dev/sdb device-ra van map-pelve.)


disk_dev="/dev/sdb"

dd if=/dev/zero of=$disk_dev bs=512 count=34
let seek_count=`cat /sys/block/${disk_dev##/dev/}/size`-34
dd if=/dev/zero of=$disk_dev bs=512 count=34 seek=$seek_count
 
parted -s $disk_dev mklabel msdos

2014. november 12., szerda

Firefox mp3 lejátszás probléma

A napokban frissítettem Firefox 33.1-re. Sajnos, minden frissítésnél lehet számítani arra, hogy az eddigitől eltérő módon működik valami, s ez most is megtörtént. Nem biztos ugyan, hogy ez a verzió hozta be ezt a problémát, de tuti, hogy valamelyik mostanában.
Az új működés most az, hogy a Firefox egyből lejátssza azt az mp3 fájlt, amelyre egy link hivatkozik, vagy amit a címsorba beírunk. Eddig szépen megkérdezte egy ablakban, hogy mentse, avagy lejátssza-e a fájlt egy külső alkalmazás indításával – ez van ugyanis beállítva neki a Tools-Option-Applications alatt: Content Type: MP3 Format Sound; Action: Always ask – most azonban egy beépítettnek látszó lejátszó indul el, majd jönnek a hangok, amikre nem számítottunk.

Ha ez – hozzám hasonlóan – neked se tetszik, kövesd ezt:
  1. A címsorba írd be: about:config
  2. A Search mezőbe írd be: media
  3. A megjelenő listában a media.directshow.enabled-re kattints kettőt! Ekkor megváltozik a Value mező false-ra.
  4. Élvezd a letöltés vagy külső lejátszás szépségeit!

2014. július 2., szerda

apt-offline és Ubuntu 14.04

A világhálótól hermetikusan elzárt gépemen Ubuntu 14.04 fut. Ahogy ilyen rendszereknél illik, időnként én is szerettem volna frissítést csinálni, meg persze alkalmazásokat telepíteni. Ezekhez a tevékenységekhez találták ki az apt-offline nevű programot.
Használatához kell egy internetkapcsolattal ellátott Ubuntu 14.04, amit Online-nak fogok nevezni a továbbiakban, az internetkapcsolat nélkülit pedig Offline-nak.

Az Offline gépre ilyen lépésekkel kell feltenni az apt-offline csomagot.

  1. Az Online gép termináljában add ki:
    sudo apt-get install -d apt-offline
    majd másold a letöltött apt-offline_<verzió>_all.deb csomagot a /var/cache/apt/archives/ könyvtárból a pendrive-ra!
    sudo apt-get install apt-offline
  2. Az Offline gépen másold a pendrive-ról a csomagot a /tmp könyvtárba, majd a terminálban add ki:
    sudo dpkg -i /tmp/apt-offline_<verzió>_all.deb
Ezzel a csomag feltelepült az Online és Offline gépre.

Első indításánál, mikor upgrade-et akartam csinálni, így reagált:

sudo apt-offline set /tmp/apt-offline.sig

Generating database of files that are needed for an update.
E: Command line option --simulate is not understood
ERROR: FATAL: Something is wrong with the apt system.

A hiba oka az, hogy az apt-offline a --simulate opcióval akarja meghívni az apt-get-et, ami valamiért nem támogatott. A probléma azzal orvosolható, ha az apt-offline csomagban kitöröljük az erre az opcióra való hivatkozást.

Mindkét gép termináljában add ki:
sudo sed -i 's/--print-uris --simulate update/--print-uris update/' /usr/share/pyshared/apt_offline_core/AptOfflineCoreLib.py

Most már használható az apt-offline parancs a következő módon.
Repository frissítésnél
  1. Az Offline gép termináljában:
    sudo apt-offline set /tmp/apt-offline.sig

    (A sig fájlot másold a pendrive-ra!)
  2. Az Online gép termináljában (a sig fájl pendrive-ról /tmp-be való másolása után)
    sudo apt-offline get /tmp/apt-offline.sig --bundle /tmp/apt-offline.zip --bug-reports --threads 5
    (A zip fájlot másold a pendrive-ra!)
  3. Az Offline gép termináljában (a zip fájl /tmp-be való másolása után)
    sudo apt-offline install /tmp/apt-offline.zip

Egy csomag installálásánál (a példában ez a csomag az vlc médialejátszó)

  1. Az Offline gép termináljában
    sudo apt-offline set /tmp/vlc-offline.sig --install-packages vlc

    (A sig fájlot másold a pendrive-ra!)
  2. Az Online gép termináljában (a sig fájl pendrive-ról /tmp-be való másolása után)
    sudo apt-offline get /tmp/vlc-offline.sig --no-checksum --bundle /tmp/vlc-offline.zip
    (A zip fájlot másold a pendrive-ra!)
  3. Az Offline gép termináljában (a zip fájl /tmp-be való másolása után)
    sudo apt-offline install /tmp/vlc-offline.zip

2014. május 26., hétfő

Kávéfőző PIDelés - szimuláció

Mielőtt nekiállnánk megvalósítani a PID szabályozónkat, vizsgáljuk meg egy számítógépes szimuláció segítségével, hogy várhatóan milyen jellemzőkkel fog az eszközünk rendelkezni!
Kiindulásnak Szűcs Zoltán 2008-ban készített munkáját (letölthető innen vagy innen) használtam fel, aki C nyelven készítette el egy mérésekkel meghatározott tulajdonságú tartály hőmérsékletszabályozásának szimulációját.
Az általam továbbfejlesztett szimuláció az előbbi egyszerű tartály modelljét kiegészíti a bojler anyagából adódó hőkapacitásával, a rendszer- és mérési holtidővel, az átfolyó víz hőmérsékletre gyakorolt hatásával, valamint figyelembe veszi, hogy a fűtőszállal történő energiabevitel váltakozóáramú hálózatról teljes-félperiódusok kapcsolásával (hullámcsomag vezérléssel) lesz megvalósítva. Az eredetileg C nyelven írt programot átírtam Python-ba (2.6), így szerintem könnyebb futtatni. A program végrehajtása során az aktuális mappába elhelyez egy pid_sim.csv nevű fájlot, ami a szimuláció adatait tartalmazza olyan formában, hogy azt pl. az Excel be tudja olvasni, és tud belőle grafikont rajzolni.