més d’encendre leds amb la Raspberry Pi

Dissabte 9 de març de 2013

GEEKS DE LA NIT

Jugant amb leds hem fet diversos exercicis. Amb un botó encenem un led, però és la Raspberry que detecta l’estat del botó i actua en conseqüència.

Això ens permet fer després que quan apretem el led s’encengui un botó i quan el deixem s’encengui un de diferent.

I com a exercici final fem que quan apretem el botó i el deixem anar el led s’encén, després hi tornem i s’apaga. O sigui, no cal tenir el botó apretat per tenir el led encés… El codi d’aquest últim exercici ha quedat:

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
GPIO.setup(21, GPIO.IN)

var=1
boto=0
espera=0
while var==1 :
if ( espera==0 ):
if ( GPIO.input(21)== True ):
espera=20
if (boto==1):
boto=0
else:
boto=1

if ( boto==1 ):
GPIO.output(17, True)
time.sleep(0.1)
else:
GPIO.output(17, False)
time.sleep(0.1)
if (espera!=0):
espera=espera-1

Canviar un disc d’un RAID1 Linux

Suposem que volem canviar el disc sdb del raid md0
Si el disc encara està viu, l’hem de marcar com a dolent per tal que sàpiga que el volem canviar:

mdadm --manage /dev/md0 --fail /dev/sdb1

Després hem de treure el disc de la raid

mdadm --manage /dev/md0 --remove /dev/sdb1

Si el disc sdb té altres particions, repetir el mateix per cada partició. Apaguem l’ordinador i canviem el disc. Un cop engeguem amb el disc nou hem d’igualar les particions amb l’altre disc:

sfdisk -d /dev/sda | sfdisk /dev/sdb

Comprovem que les particions tenen la mateixa mida:

fdisk -l

Afegim la particio sdb1 al raid:

mdadm --manage /dev/md0 --add /dev/sdb1

I si el disc sdb té altres particions repetim el mateix procediment.
Podem anar veient com es resincronitza la raid amb el comandament:

cat /proc/mdstat

Canvi de teclat a la Raspberry Pi

Un cop hem instal·lat la distribució podem canviar el teclat editant el fitxer /etc/default/keyboard i canviant el següent paràmetre:

XKBLAYOUT="gb"

 

Control del corrent que gastes a casa

Ja tinc funcionant el control d’energia elèctrica que gasto a casa. De què es tracta ?? Doncs d’unir les següents peces:

– Un sensor de corrent elèctic en forma de pinça amperimètrica.
– Un OpenEnergyMonitor EmonTX. Es tracta d’una electrònica que mesura aquest consum i l’envia per ràdio a un receptor. Prendrem una mesura cada 6 segons.
– Un OpenEnergyMonitor RFM12Pi. És una altra electrònica que recull les dades que li envia l’EmonTX. Aquesta informació la passa a una Raspberry Pi a través del port sèrie del GPIO i la Raspberry Pi s’encarrega de registrar les dades en una base de dades.
– A través de l’aplicació web EmonCMS podem graficar, veure en temps real o fer el que vulguem amb les dades obtingudes.

Aquí tenim una imatge de l’EmonTX i la RFM12Pi muntada sobre la Raspberry Pi:

Si voleu fer el mateix aquí teniu el procés que he seguit jo:

1.- Primer comprem una pinça amperimètrica. Jo l’he comprada a cooking-hacks.com, la trobareu en aquets link. Per si no sabeu de què parlo aquí en teniu una foto:

Sembla trivial aquesta part, però potser és la més complicada. Hem de fer passar el cable de corrent principal per dins la pinça amperimètrica. I Alerta !! no hi podem fer passar els 2 fils (fase i neutre) que no funcionarà. Hem de buscar un punt on poguem posar la pinça al voltant de la fase o al voltant del neutre, però mai de tots 2 alhora. A més necessitem que a prop hi hagi corrent per alimentar el EmonTX, si no haurem d’alimentar-lo amb bateries i és un pal…

En el meu cas he posat la pinça al cable que entra al diferencial general de casa, dins del quadre elèctric. Ha costat una mica fer-li entrar, però ja hi és. Només em falta posar un endoll al costat i ja ho tinc a punt per deixar-ho definitiu.

2.- La pinça va connectada a un EmonTX, que podem comprar a openenergymonitor.com. És un element OpenHardware i per tant ens el podem fer nosaltres, però és més senzill comprar-lo i ja està. Cal ser una mica destre amb el soldador, ja que ve la placa i tots els components dins una bosseta i ens hem de dedicar a soldar-ho seguint les intruccions. Ho podem comprar en aquest link. Un cop soldat obtindrem aquest circuit:

Per soldar-lo cal seguir aquestes instruccions. Però aquí no acaba tot, cal programar-lo amb el Firmware adequat. El EmonTX és un hardware que es base en Arduino i es programa amb les mateixes eines. Necessitem un cable FTDI que potser ja tindreu d’altres invents. Si no en teniu el podeu comprar a la mateixa botiga de openenergymonitor.com seguint aquest link.

Un cop teniu tot el hardware us poseu amb el software. Baixeu i instal·leu l’entorn de programació d’Arduino d’aquest link. També necessiteu el driver del FTDI que el trobareu en aquest link. Ara ja només us cal baixar el firmware del EmonTX i les llibreries que necessita. Tot això ho trobeu explicat en aquest link.

Si només voleu utilitzar les pinces amperimètriques el firmware que necessiteu és el emonTx_CT123 que heu de retocar convenientment per activar les pinces que voleu utilitzar (màxim 3). En el Firmware també haureu de donar un identificador al EmonTX amb la variable nodeID. Jo l’he deixat a 10, no té massa importància si només utilitzes un EmonTX. Si en vols posar més d’un has d’utilitzar aquesta variable per identificar cadascun dels EmonTX. La variable networkGroup serveix per separar grups de sensors entre ells, jo l’he deixat a 210 per defecte, però ho hem de tenir en compte per programar la Raspberry amb el mateix valor.

Un cop alimentem el EmonTX pel connector miniUSB i li connectem la pinça veurem que el led fa pampallugues cada 6 segons, indicant que va prenen mesures i les va enviant.

3.- Anem per la part receptora de les mesures amperimètriques. A la mateixa botiga de openenergymonitor.com podem adquirir el mòdul RFM12Pi que ens permetrà rebre les mesures i passar-les a la Raspberry Pi. Seguiu aquest link. Aquest mòdul també bé a punt per soldar, però és molt més senzill que el EmonTX. Seguiu el passos que trobareu en aquest link per soldar-lo (En arribar a l’apartat ATtiny84 pareu). Obtindreu un circuit com aquest:

Abans de connectar-lo a la Raspberry Pi hem de preparar-la. Deixem a part aquest mòdul i quan la Raspberry Pi estigui preparada ja li connectarem.

4.- Suposem que a aquestes alçades tothom ja sap què és una Raspberry Pi. Si no sabeu què és mireu l’entrada de la Wikipèdia que parla de la Raspberry Pi, aconseguiu-ne una i aneu tard a dormir… Si voleu nosaltres en venem online en aquest link. A part de la Raspberry Pi necessiteu una targeda SD de mínim 4GB, cable microUSB i un alimentador USB. Més o menys tindreu això:

Primer cal gravar un Sistema Operatiu a la targeta SD per tal de tenir un entorn operatiu. Openenergymonitor un diu que munteu una Raspbian, però jo ho he fet amb Occidentalis i ha anat perfecte. Occidentalis és una versió de Raspbian que s’ha currat els de Adafruit.com i que està molt bé. Trobareu les intruccions per tenir una Raspberry Pi amb Occidentalis en aquest link.

Ara torneu a les instruccions de muntatge del RFM12Pi i seguiu les instruccions a partir de l’apartat Raspberry Pi Setup. És la part més embolicada, però amb una mica de paciència arribareu a bon port. SORT !!!

 

Encendre led amb la Raspberry Pi

Primers passos amb la Raspberry Pi. El circuit de la foto activa una entrada a la Raspberry Pi quan es polsa el botó, en resposta a aquesta entrada activem el led. Pràctica interessant perquè permet introduir el comportament de les entrades i sortides digitals.

I aquí tenim el codi utilitzat:

import RPi.GPIO as GPIO
import time
import os

GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
GPIO.setup(24, GPIO.IN)

var=1
while var==1 :
  if ( GPIO.input(24)== False ):
    GPIO.output(17, True)
    time.sleep(0.1)
  else:
    GPIO.output(17, False)
    time.sleep(0.1)

La Raspberry Pi utilitza la distribució d’Adafruit amb l’IDE de programació basat en Python.

Les constelacions des del Pont de Pedra de Girona

Molt bonic i ben aconseguit:

http://www.enacse.com/?c=enacse&t=constelacions

Coca de ratafia de la Núria

Ingredients:

  • 200gr de sucre
  • 200gr de farina
  • 125gr de iogurt
  • 90gr d’oli
  • 100gr ratafia
  • 3 ous
  • ratlladura de 1 llimona
  • 1 sobre de llevat

Preparació

Engegar el forn a 180ºC abans de començar, per tal que estigui a aquesta temperatura quan hi posem la coca. Es deixaten els ous amb el sucre. Mentres es barreja tot, s’afegeix el iogurt i a continuació l’oli i la ratafia. Afegim la ratlladura de llimona i a continuació mesclem la farina amb el llevat i ho aboquem a la mescla passant-ho per un tamís. Quan la massa ha absorvit tota la farina, ho aboquem en una plata. Tirem un raig d’oli i escampem un parell de cullerades de sucre per la superfície. Finalment hi tirem uns quan pinyonets i ho posem al forn a 180ºC durant aproximadament 25 minuts.

Fer que un Netbook suporti resolucions més altes

Cal fer això i ja està !!

  1. Type in Win+R and put ‘regedit’ (without the quotes) into the box.
  2. Search for ‘Display1_DownScalingSupported’ and change the value from ’0′ to ’1′
  3. Restart and enjoy!

Un plaer per la vista

Avisos quan un RAID en Linux falla

Un cop creat el RAID, instal.lem smartmontools.

i afegim això a les configuracions:

/etc/smartd.conf:

/dev/sda -H -d ata -m admin@grn.es -s (S/../.././02|L/../../6/04)
/dev/sdb -H -d ata -m admin@grn.es -s (S/../.././03|L/../../7/04)

i al /etc/mdadm/mdadm.conf:
MAILADDR <adreça de correu>

/etc/default/mdadm:
AUTOCHECK=true