Programeu amb PICAXE gràfic en lliurex 13.06 o edubuntu

Afegida nota per aclarir dubtes de companys amb data 21 de febrer de 2014 al final de l’entrada.

M’agrada que els meus alumnes de Tecnologia aprenguen a programar amb la targeta Arduino utilitzant els entorns Arduino / Processing tot i que es pot programar de forma gràfica amb Scratch for Arduino (S4A).

També és cert que per gustos hi ha colors i molts companys prefereixen utilitzar PICAXE que no ha desenvolupat cap interficie gràfica per linux i llavors cal utilitzar wine i fer alguns canvis al sistema operatiu per tal que els usuaris tinguen permisos per utilitzar els ports serie o usb.

Aquestes instruccions funcionen amb Edubuntu 12.04 , 13.10 , Lliurex 13.06 Desktop i Lliurex 13.06 Client, no les proveu amb Lliurex 13.06 server doncs aquesta versió de Lliurex la poden considerar inestable, es trencarà i perdreu el sistema operatiu de forma irreversible, al nostre centre ens va caldre recuperar les dades dels alumnes amb un cd live de knoppix quan provaven d’instal·lar PICAXE i després van haver de refer tota la instal·lació del servidor.

1- Instruccions per l’usuari administrador (professor).

Entreu a l’ordinador lliurex client i desktop amb un usuari que siga administrador.  Obriu un terminal i escriviu l’ordre:

sudo gedit /etc/udev/rules.d/99-axe027.rules

després de posar la contrasenya se us obrirà l’editor de text on copiareu el següent contingut:

# /etc/udev/rules.d/99-axe027.rules
# contains axe027 udev rule to patch default
# FTDI product id to AXE027 product id (0xbd90)
ATTR{idProduct}==”bd90″,
ATTR{idVendor}==”0403″,
RUN+=”/sbin/modprobe -q ftdi_sio product=0xbd90 vendor=0x0403″

Guardeu el fitxer. Aquestes instruccions permeten que el sistema operatiu reconega el cable USB AXE027. Si voleu que  aquestes instruccions del cable Axepad es carreguen enseguida sense reiniciar executeu l’ordre:

sudo udevadm control –reload-rules

Torneu al terminal i pegueu la següent ordre:

sudo gedit /etc/init.d/permis

i poseu dins el següent contingut:

#! /bin/bash
#Script permis port usb i port serie
chmod 777 /dev/ttyUSB0
chmod 777 /dev/ttyS0

Guardeu el fitxer. Aquestes instruccions fan que el sistema operatiu permeta a qualsevol usuari Desktop o usuari LDAP utilitzar el port serie i el port USB on connectareu la targeta PICAXE.

Però cal donar permís a aquest script per ser executat per qualsevol usuari real o LDAP com a root per defecte sense que calga posar contrasenya. Torneu al terminal i executeu les ordres següents una a una.

cd /etc/init.d
sudo chmod 777 permis
sudo update-rc.d permis defaults

Ara cal que reinicieu l’ordinador.

2. Instruccions per als usuaris alumnes LDAP o Desktop.

0) Baixeu-vos el programa PICAXE Progaming editor (Bas805) de la web del fabricant http://www.picaxe.com/Software i amb el botó dret del ratolí doneu permís d’execució al fitxer bas805.exe

1) Ara ja podeu obrir el fitxer bas805 amb wine.

A continuació wine anirà instal·lant el programa, us pose 4 captures de pantalla sense comentar-les.

2)

3)

4)

5)

6) L’instal·lació ha acabat però el PICAXE no funcionarà fins que no baixeu el fitxer mfc40.dll.zip el descomprimiu i poseu el contingut mfc40.dll a la carpeta de wine següent:

/home/usuari/.wine/drive_c/windows/system32 on usuari variarà segons es diga el vostre alumne.

Una vegada fet això ja us anirà el PICAXE.

Amb aquest editor podeu programar de forma gràfica i pujar els programes utilitzant el port serie a la targeta.

Si l’editor PICAXE acabat d’instal·lar no pot pujar els programes a la targeta pel port serie des del wine, obriu el menú wine de lliurex, aneu a la secció de configuració de wine i actualitzeu les unitats que detecta wine. Us anirá de nou el port serie.

Si voleu utilitzar el port USB us cal passar el programa a basic i utilitzar el AXEpad (LinAXEpad) que podeu baixar de la web del fabricant  http://www.picaxe.com/Software

LinAXEpad.tar.gz (AXEpad) es baixa és descomprimeix a la carpeta on s’haja de quedar i es prem sobre LinAXEpad i obriu el programa en basic que heu convertit amb el Picaxe programing editor i el pugeu pel port USB a la targeta PICAXE.

Aquesta recepta és el resultat de posar-se a pensar durant una hora un parell de professors de Tecnologia i un tècnic del SAI per millorar la recepta original que funcionava però on calia donar permisos als usuaris no admin o utilitzar sudoer cosa de la qual volien fugir.

Avís: Si alguna vegada actualitzeu l’ordinador client o desktop Lliuex 13.06 i alguna de les múltiples plantilles es carrega el script permis us caldrà tornar a fer la secció 1 del professor administrador que he descrit més amunt.

ACTUALITZACIÓ A 21 DE FEBRER DE 2014:

Un company m’ha comentat que aquesta xuleta no li funciona a vegades i no sap per què a vegades sí va i a vegades no va.

Truc: Si voleu que us funcione sempre sols heu de engegar l’ordinador amb la picaxe connectada al port usb de Edubuntu o de Lliurex i no desconnectar-la fins que acabeu d’utilitzar la PICAXE.

Explicació: Linux munta els dispositius picaxe en /dev/ttyUSB0 , si quan arranca l’ordinador no es troba muntat el dispositiu picaxe quan s’executa el script «permis» que hem creat abans no té cap dispositiu al qual donar permís i recordeu que aquest script sols s’executa quan arranca l’ordinador una sola vegada. Una vegada desconnectat la picaxe si volem tornar a utilitzar-la, cal executar com usuari pertanyent al grup «admin» l’ordre següent en un terminal:

sudo chmod 777 /dev/ttyUSB0

o alternativament arrancar de nou l’ordinador amb la «picaxe» connectada.

19 comments

Anar al formulari de comentaris

    • Carmen on 22 d'abril de 2014 at 17:54

    Hola , sóc profe de tecnologia i en el nostre ies hi ha la versió de lliurex 12.6 i el meu problema és que no va programming editor . De tot el que dius anteriorment apartat de descarregar el editorprogramming.exe i linaxepad.tar.gz i guardar el arxiu mfc40.dll a on tu dius no he fet res més però tampoc sé si val per a la versió lliurex 12.6. Podríes dir-me ho? i si saps que puc fer. Gracies, Carmen

      • on 23 d'abril de 2014 at 8:32

      Hola Carmen,
      Aquestes instruccions haurien de servir-te per el lliurex 12.6 que teniu al vostre centre. Picaxe no funcionarà amb wine si no poses la llibreria mfc40.dll a la carpeta de wine a l’adreça:

      /home/usuari/.wine/drive_c/windows/system32 on «usuari» variarà segons es diga el teu alumne o usuari que pot ser lliurex o un altre nom, si l’usuari és « lliurex » i l’adreça seria
      /home/lliurex/.wine/drive_c/windows/system32
      Segueix les instruccions des del principi fins al final i ja em diràs si et funciona o tens una altre dubte.
      Salutacions,
      Carles.

    • Javier Rubio on 22 de maig de 2014 at 17:17

    Hola Carles,

    He instal·lat el programeta per a treballar de forma gràfica amb la PICAXE a lliurex tal i com ho has explicat, ( no tenim l’última versió, sino l’anterior) i en la majoria dels ordinadors s’obri per a programar de forma gràfica i es pot programar, però en altres dona una errada amb el wine i no puc continuar. Ho he fet tot excepte la baixada del programa per a baixar el programa a través del port docs això vull que ho facen a l’aula taller ( on tenim windows i ubuntu) i de moment només anem a programar desde l’aula mal anomenada “d’informàtica”.
    He tornat ha instal·lar el programa i he comprovat que l’arxiu mcf40.dll està on toca i efectivament està.
    ¿Per qué me dona eixa errada i no puc obrir el programa?
    ¿Per qué a ubuntu funciona perfectament i a lliurex no sempre?

    Gràcies Carles

      • on 23 de maig de 2014 at 14:40

      A veure si ho entenc vols dir que programes en un aula amb lliurex amb el «programaing editor» guardes el programa i al anar al taller on teniu algun XP/lliurex dual amb el mateix «programing editor» no obre el que has programat ?

      Em pots donar el codi d’error ?
      Has mirat que el bas805.exe tinga la mateixa versió ?
      Has provat a exportar el programa en basic per executar-lo amb el AXEpad per a windows ?

        • Javier Rubio on 25 de maig de 2014 at 11:29

        No és aixó. A les aules taller treballe directament amb Windows legal (només tenim un ordinador per aula taller) i funciona perfecte, des d’hi baixe el programes fets i a treballar.

        El problema està a les aules d’informàtica on només tenim lliurex i no la versió actual, sino l’anterior.
        Jo vull ensenyar-los a l’laula d’infomàtica on hi ha 20 ordinadors i que practiquen amb lliurex i ni tan sols puc perque a l’ordinador del profe me dona errada i en alguns ordinadors del alumnes tambe dona la mateixa errada, en quant li done per a intentar programar de forma gràfica ja es penja. Si no puc des de l’ordinador del profe ensenyar-los i a méa a més alguns ordinadors dels alumnos també es penjen ja me diràs que puc fer. El problema és lliurex, ja m’agradia a mi tindre ubuntu ahí no falla mai.
        ¿Qué puc fer?. Estic per dur-me el meu portàtil de casa i engegar-lo al switch de l’aula d’informàtica i d’aquesta manera poder explicar-los con funciona el programeta

          • on 30 de juny de 2014 at 7:25

          Hola Javier,
          Revisant el correu he vist aquest missatge teu perdut, així que et conteste amb retard el que et vaig dir a la llista de professors de tecnologia de valència.
          Jo em duria l’Ubuntu de casa i canviaria per al curs proper a la versió nova de Lliurex.
          Esperem que el proxim govern que entre a Conselleria canvie lliurex per ubuntu i si volen salvar algun programa propi creen un diposit/repositori per poder-lo instal·lar a qualsevol ubuntu i s’eviten despesa inútil de veritat. Si el proper govern canvia lliurex per Windows anirem enrere com el crancs i pagarem llicències fins al dia del judici final.

        • Javier Rubio on 25 de maig de 2014 at 18:34

        No m’he explicar bé. Vull simplement obrir el PICAXE programming Editor que està instal·lat correctament seguint les teus instruccions, molt bones per cert, i quan vull obri-ho, en uns ordinadors arranca bé i es pot programar en mode gràfic i en altres dona errada, com no estic ara al IES sino a casa i en casa tinc ubuntu, sota ubuntu funciona perfecte, pero si he de fer clases per a explicar a tot un grup com programar en mode gràfic i l’ordinador del profe és un dels pocs que dona errada, docs no puc explicar res i haurè de durme el portàtil de casa. El problema el tinc aleshores amb els ordinadors de l’aula d’informàtica que tenen la versió anterior a l’actual de lliurex, si tinguera ubuntu en lloc de lliurex, funcionaria perfecte. Per a mi que es un problema amb alguna dependència de lliurex o que el wine no està actualitzat.

        Javier

          • on 26 de maig de 2014 at 13:57

          Hola Javier,
          Així d’entrada jo actualitzaria un ordinador de la versió vella ( no és mateix que canviar de versió o dist-upgrade) que és fa amb l’ordre «sudo apt-get upgrade» o en el cas de lliurex amb l’ordre «sudo lliurex-upgrade». Previament hauràs d’arrancar synaptic i comprovar que estàs apuntant als repositoris de lliurex. Si et funciona actualitza els altres.
          De totes formes a les hores de cap de departament que tinc aquesta setmana em compromet a instal·lar-me la mateixa versió de lliurex que tens tu en un ordinador vell i a provar els problemes que dona.

          Salutacions cordials,
          Carles.

    • Tàfol on 23 de maig de 2014 at 9:38

    Hola, moltes gràcies per aquesta entrada. M’ha funcionat molt bé a l’aula Lliurex. De moment només faig les pràctiques de programació en els ordinadors de l’aula i després passarem el programa a la targeta Picaxe amb un equip portàtil amb WinXP.
    Veig una pega, que com la instal·lació es fa en un usuari concret, després la resta d’usuaris no el tenen disponible, i tampoc eixe usuari el té disponible en els altres equips de l’aula, però els faig ficar sempre en el mateix lloc.
    Una pregunta. Al meu portàtil amb Ubuntu 12.04 em surt el següent error:
    Run time error: ‘339’: component ‘wave32.ocx’ or one of its dependencies not correctly registered: a file is missing or invalid
    Sabria algú cóm puc sol·lucionar-lo?

      • Tàfol on 23 de maig de 2014 at 9:56

      He trobat açò

      http://appdb.winehq.org/objectManager.php?sClass=version&iId=10768&iTestingId=20755

      Però escric en un terminal

      wine regsvr32 “C:\windows\system32\wave32.ocx”

      i em surt un error

      err:module:import_dll Library MFC40.DLL (which is needed by L”C:\\windows\\system32\\wave32.ocx”) not found
      Failed to load DLL C:\windows\system32\wave32.ocx

        • on 23 de maig de 2014 at 14:29

        Hola Tàfol,
        Has provat a copiar el fitxer wave32.ocx des un windows XP a la carpeta /home/usuari/.wine/drive_c/windows/system32 ?

        Cerca el fitxer wave32.ocx amb el cercador de fitxers de windows.
        Ja em diràs si et va, una altra opció és apuntar a una versió dev de wine i actualitzar-la. Si cal ja et diré com actualitzar a una altra versió de wine.

        Les instal·lacions de wine sempre són a la carpeta local d’usuari per això sols les té un usuari.

        Salutacions.
        carles.

          • Tàfol on 4 de març de 2015 at 20:38

          Al final ho he sol·lucionat. Després d’un curs i una versió d’UBUNTU nova!
          Ara estic eamb Ubuntu 14.04 però tenia el mateix problema. No sé perquè, se m’ha acudit provar el Winetricks, el qual és com una espècie d’assistent per a configurar coses del wine.
          En la primera pantalla que surt en executar Winetricks, diu “What do you want to do?”. He triat “Select the default wineprefix”. Després em surt “What do you like to do to this wineprefix? i he triat “Install a Windows DLL or component”. A la següent pantalla em surten un munt d’arxius entre els quals es troba el famós mfc40. L’he seleccionat i he polsat d’acord. S’ha instal·lat alguna cosa i he eixit del winetricks.
          Voilà. Ja funciona el Programming Editor!
          La veritat és que ja tenia copiat l’arxiu a la carpeta system32 però alguna cosa faltava que en aquesta versió de wine/Ubuntu no anava.
          Gràcies de nou pel blog. Espere que li servisca a algú i si no, per a mi mateix quan se m’oblide.
          Salut!

            • on 6 de març de 2015 at 12:09

            Hola Tafol,
            Això és que el fitxer mfc40.dll que tenies no seria la versió bona que calia per fer anar el Programing Editor. Ni sabia que existia winetrics.
            Gràcies per l’avís.
            Salutacions.

    • Tàfol on 25 de gener de 2016 at 17:52

    Hola Carles,
    Enguany estem en un seminari de tecnologia a Castelló intentant fer funcionar les PICAXE amb lliurex 15. El problema és que no ens reconeix el cable USB.
    Seguint les instruccions, el terminal ens dona un error quan fem:
    sudo udevadm control –reload-rules

    Ens torna la seguent errada “unknown option”

    Si ignorem això i reiniciem el PC, el problema ens ve amb el AXEPad, el qual no ens deixa descarregar el programa. Ens ix el següent error:
    Descarrega per PICAXE-28A on /dev/ttyUSB0 Fallat
    Error: Can’t open port /dev/ttyUSB0.
    (err=2: No such file or directory)

    Salutacions

    • Tàfol on 25 de gener de 2016 at 18:42

    Hola, sóc Tàfol altra volta. Abans que em contestes a l’últim comentari m’autoconteste jo. Hem estat misatn la carpeta /dev i hem vist que no conté cap fitxer anomenat ttyUSB0 però sí ttyS0, també hi han fitxers que s’anomenen tty0 tty1 tty2 etc.
    Per provar, hem provat a substituir en els comandamens de les teues instruccions ttyUSB0 per tty0.

    I voilà!!!! tot fucniona. Així que:

    Si teniu Lliurex 15 o Ubuntu 14.04 cal seguir aquestes instruccions al peu de la lletra però canviant el seguent:

    On diu: chmod 777 /dev/ttyUSB0
    cal ficar: chmod 777 /dev/tty0

    Salutacions

      • on 26 de gener de 2016 at 14:05

      Hola Tafol,
      M’alegre que funcione. Enguany estic programant amb els alumnes de 4t Arduino de forma gràfica amb Scratch2 amb lliurex 15 (versió Escriptori sense servidor, als Lliurex versió client no he aconseguit que funcione) i estic molt content. Si tens oportunitat prova aquestes targetes motor amb Arduino, a diferència de Scratch 1 amb Scratch2 pots utilitzar tots els pins d’Arduino ,no t’arrepentiràs:
      http://gnuéscultura.eu/ArduinoProcessing/scratch.html ( https://xn--gnuscultura-dbb.eu/ArduinoProcessing/scratch.html )

      salutacions cordials,
      Carles.

        • Tàfol on 30 de gener de 2016 at 10:23

        La idea del seminari és començar amb Arduino quan acabem amb Picaxe (a veure si ens dona temps). Molt bona pinta té el quadern que m’has enllaçat (el fas amb eXeLearning?). També volem provar a programar les Picaxe amb blockly.

          • on 30 de gener de 2016 at 21:26

          Hola Tàfol,
          El blockly té molt bona pinta ja que està basat en html i javascript i no gasta «flash/adobe air» per res. A veure si ix alguna versió per programar Arduino i la prove.
          El quadern està fet amb eXeLearning. El pots baixar per utilitzar amb els alumnes de forma local en aquesta adreça https://xn--gnuscultura-dbb.eu/compartits/ArduinoProcessing.zip
          Salutacions cordials.

      • Tàfol on 14 de març de 2016 at 22:34

      Més problemes. Resulta que la solució que vaig ficar de canviar ttyUSB0 per tty0 només va funcionar amb un cable USB que no és l’original de PICAXE.

      El cable AXE027 conté un circuit electrònic intern, basat en xip convertidor serieUSB. Aquest xip el suporta Linux per defecte, a través d’un controlador del kernel denominat ftdi_sio.

      Però des de no sé quina versió del kernel, no funciona el que es descriu en el manual del cable de PICAXE i s’ha de fer, a més, el següent:


      sudo su
      modprobe ftdi_sio
      echo 0403 bd90 > /sys/bus/usb-serial/drivers/ftdi_sio/new_id
      chmod 777 /dev/ttyUSB0

      Això ho he trobat ací. A mi em funciona ara el cable original en un UBUNTU 14.04 i he programat una tragita 08M2 amb Blockly for PICAXE.
      Espere que siga d’ajuda.
      Salutacions

      Per a que funcione el original de PICAXE s’ha de fer el s

Els comentaris estan desactivats.