J’ai un projet où le Rasp doit envoyer des informations par SMS.

J’ai acheté 10€ une clé 3G d’occasion pour l’utiliser avec Gammu

  • Informations sur la clé
 $ dmesg | grep tty | grep usb  
 [ 1014.053491] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB0  
 [ 1014.062066] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB1  
 [ 1014.069542] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB2  
 $   
 $ lsusb | grep -i Huawei  
 Bus 001 Device 006: ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem 
 $
  • Installation de Gammu
sudo apt-get install gammu
  • Paramétrage
$ gammu-detect   
 ; Configuration file generated by gammu-detect.  
 ; Please check The Gammu Manual for more information.  

 [gammu]  
 device = /dev/ttyUSB0  
 name = Phone on USB serial port HUAWEI_Technology HUAWEI_Mobile  
 connection = at  

 [gammu1]  
 device = /dev/ttyUSB1  
 name = Phone on USB serial port HUAWEI_Technology HUAWEI_Mobile  
 connection = at

 [gammu2]  
 device = /dev/ttyUSB2  
 name = Phone on USB serial port HUAWEI_Technology HUAWEI_Mobile  
 connection = at  
 $

Dans /etc/gammurc on met juste:

[gammu]  
 device = /dev/ttyUSB0  
 name = Phone on USB serial port HUAWEI_Technology HUAWEI_Mobile  
 connection = at
$ gammu identify  
 Périphérique : /dev/ttyUSB0  
 Fabricant : Huawei  
 Modèle : unknown (K3565)  
 Firmware : 11.111.11.11.11  
 IMEI : 222222222222222  

Si un code PIN est activé

 $ gammu getsecuritystatus  
 Waiting for PIN.  
 $ gammu entersecuritycode PIN 1234  
 $ gammu getsecuritystatus  
 Nothing to enter.  
 $
  • Envoi de SMS
 $ gammu sendsms TEXT 0612345678 -text "Test 1"  
 If you want break, press Ctrl+C...  
 Sending SMS 1/1....waiting for network answer..OK, message reference=1  
 $
 $ echo "Test 2" | gammu sendsms TEXT 0612345678  
 If you want break, press Ctrl+C...  
 Sending SMS 1/1....waiting for network answer..OK, message reference=2  
 $
  • Divers
 $ gammu getlocation  
 Latitude : 48.XXXXXX  
 Longitude : 2.XXXXXX  
 Range : 50000  
 Number of samples : 70  
 $

Gammu envoi la CellID sur le site web du projet open source OpenCellID (GET HTTP).
(Il faut un accès Internet dans ce cas, donc je ne pourrais l’utiliser)

  • Conclusion

Nous avons donc pour 10€ de clé, et 2€ (voir 0€ ) de forfait mensuel une solution d’envoi de SMS illimité.

Pour toutes les infos, voir la doc .

Il y a différents moyens de chiffrer des fichiers sous GnuLinux, mais ils se classent généralement dans 2 catégories.

  • Le chiffrement où l’on créé un volume chiffré.. et on met les fichiers dedans.

On trouve par exemple:
Truecrypt
loop-AES
dm-crypt

  • Le chiffrement fichier par fichier.

On trouve par exemple:
eCryptfs
EncFS

Le but de ce billet n’est pas de comparer les avantages/inconvénients de ces différents logiciels ni de décrire leur installation… mais uniquement de lister les résultats de mes tests de vitesse d’écriture sur le disque dur (non SSD) branché en USB sur mon Raspberry Pi.

Voir ces tests de vitesse sans chiffrement.

dd if=/dev/zero bs=4096 count=244140 of=/data/file_1GB  
  • Sans chiffrement
 999997440 octets (1,0 GB) copiés, 35,4711 s, 28,2 MB/s
  • Truecrypt(AES/256)
999997440 octets (1,0 GB) copiés, 229,275 s, 4,4 MB/s
  • loop-AES (AES/128)
999997440 octets (1,0 GB) copiés, 164,494 s, 6,1 MB/s
  • dm-crypt(LUKS) (AES/256)
999997440 octets (1,0 GB) copiés, 653,715 s, 1,5 MB/s
  • eCryptfs (AES/128/fnek)
999997440 octets (1,0 GB) copiés, 187,407 s, 5,3 MB/s
  • EncFS (Expert/AES/128/Blocs 4096)
999997440 octets (1,0 GB) copiés, 308,457 s, 3,2 MB/s

sshuttle est a mi-chemin entre le VPN et le port forwarding SSH.
Il permet en gros, de faire une sorte de VPN avec juste un serveur SSH en face.

Concrètement, je l’utilise surtout lorsque je suis connecté à des réseaux type “Wifi Hotel”.
Je connecte sshuttle vers mon Raspberry chez moi, en écoute en SSH (port 80 et authentification uniquement par clé).
De cette manière tout ce qui sort de mon pc est chiffré quand il passe sur le réseau Wifi, y compris mon trafic Internet, qu’il soit fait par mon navigateur, ou même un simple apt-get.

Il remplace donc avantagement un tunnel SSH avec l’option -D ainsi que l’utilisation de tsocks

Il n’encapsule pas exactement TCP dans TCP, ce qui évite des problèmes de performances réseau.
La partie DNS est “tunnelisée” avec l’option --dns
/!\ UDP (autre que DNS) et ICMP ne passent pas dans le tunnel.

sshuttle est dispo dans les dépots Debian, mais pour moi l’authentification par clé ne fonctionnait pas.
Si c’est toujours le cas, passez donc par github pour l’installation de la dernière version:

$ git clone git://github.com/apenwarr/sshuttle  
$ cd ./sshuttle  

$ curl ip.uggy.org  
x.x.x.x  
$   
$ ./sshuttle --dns -r y.y.y.y:80 0/0  
Connected.  

On ouvre par exemple un autre terminal

$ curl ip.uggy.org  
y.y.y.y  

Avec la commande sshuttle ci-dessus, toutes les connexions (0/0) DNS et TCP passent par le tunnel SSH (OpenSSH ouvert sur le port 80).
Pas besoin donc de configurer son navigateur pour passer par un proxy Socks, ni d’activer l’option network.proxy.socks_remote_dns, ni d’utiliser tsocks.

On peut utiliser aussi utiliser par exemple:

  • l’option -D pour le faire tourner en démon.
  • l’option -x pour exclure des réseaux.

Voir le README pour toutes les informations.

J’ai un projet où le Rasp sera autonome, et devra tourner sur batterie.
J’ai donc décidé d’utiliser un modèle A (pas besoin d’Ethernet, 10€ moins cher et consomme moins si pas d’utilisation d’hub USB)

J’ai ensuite acheté:

  • un LM2596 à 1,35€ (port inclu).

  • Un support pour 6 piles AA (1,22€ port inclu)

  • Un cable USB (pour la prise de l’alim)

Le LM2596 à pour but ici de maintenir une tension de 5V pour alimenter le Rasp. Ceci même si les 6 piles accumulateurs AA fournissent 6 x 1.2V. (Pour ce test il s’agit de 2000mAH 1.2V Ni-MH.)

Il suffit de tourner la petite vis pour ajuster la tension de sortie:

lm2596_m

En pratique, j’ai coupé le serveur X et juste utilisé le script suivant (lancé par le cable sérial)

#!/bin/bash
while true
do
	echo `date` >> /home/pi/heure
sleep 60
done
$ nohup ./heure.sh &

Une fois qu’il s’est éteint, on regarde le fichier /home/pi/heure pour voir l’heure de début et de fin : 18h27 d’autonomie

D’après mon compteur d’énergie, il consomme dans cette configuration 1.6 W

lm2596-battery_m

Dans mon cas, il y aura quand même des trucs branchés en USB..Il a des chances de consommer comme un modèle B… D’autres tests plus complets seront nécessaires.

A tester également quelques pistes pour le faire consommer moins…

Detox est un petit soft qui permet de renommer des fichiers contenant des caractères un peu spéciaux.

J’utilisais jusqu’à présent une “grosse” function dans mon .bashrc pour essayer de faire cela “moi-même”.. ce qui fait que je n’étais jamais encore tombé sur ce petit soft.

Vous pouvez éditer le fichier /usr/share/detox/safe.tbl pour modifier le comportement du remplacement des caractères…

Exemple, on créé un fichier avec des caractères un peu spéciaux :

$ touch "éa%b =c+dàe[f)g"  
$ detox -v éa%b =c+dàe[f)g   
Scanning: éa%b =c+dàe[f)g  
éa%b =c+dàe[f)g -> ea_b_c_dae-f-g  
$ ls ea_b_c_dae-f-g   
ea_b_c_dae-f-g  
$

Le fichier à été renommé en supprimant tous les caractères particuliers.

Dans la vraie vie c’est surtout pratique pour renommer les trucs téléchargés (légalement bien entendu).

Pour plus d’infos:

man detox  
man detox.tbl  
man detoxrc