Member of The Internet Defense League

Information Hacking

Sortir de la matrice des smartphones : Gerda OS, un Linux sur NOKIA 8110

Samedi, Octobre 10, 2020

En 2020 il me semble temps de se poser quelques questions autour de nos “usages numériques”. Pourquoi ? Parce que la situation est en train de devenir critique. On pourrait disserter longuement sur la quasi guerre civile par plateformes interposées, en cours aux États-Unis, qui pourrait mener à une “guerre civile pour de vrai” après l’élection, mais ce serait faire l’économie de l’analyse du fond du problème. Le fond ce n’est pas les plateformes, mais nos usages totalement addictif des smartphones, qui nous le rendent bien en pissant nos données à qui mieux mieux aux marchands d’analyse prédictive et qui derrière laissent les boites d’influence nous conditionner. Oui, le fond du problème c’est le conditionnement mental, le contrôle social et la propagande de basse fréquences qui se déchaînent sur les cerveaux des fans de smartphones. Qui finissent par ne même plus comprendre que ce n’est plus eux qui pensent mais d’autres à leur place…

Face à ces constats — très bien analysés dans ce bouquin qui vient de sortir aux éditions Balland — Internet : une plongée dans le Web de l’influence — des gens du libre ont décidé de se prendre en main et d’en faire profiter qui veut. Et c’est franchement intéressant. L’idée est de se remettre au cœur de l’usage d’Internet, avec une question : comment voulons-nous utiliser ce prodigieux outil ? Pour ma part, je sais que surfer sur des sites Web ne m’intéresse pas avec un smartphone. Ou alors vraiment ponctuellement pour récupérer ou vérifier une info. Le reste du temps je le fais avec un vrai ordinateur sur un écran de taille correcte. Les mails ou de la messagerie instantanée peuvent m’intéresser sur un téléphone, mais pas les réseaux sociaux parce que je ne supporte plus la pollution mentale qu’ils génèrent. Du feed RSS ? Oui, pourquoi pas. Au final, je me rends compte qu’un téléphone mobile avec connexion Internet n’a pas besoin de me permettre de faire tout ce que je fais avec un ordinateur, loin de là. Ce que je lui demande c’est en premier lieu de pouvoir passer des appels, en recevoir, répondre à des messages et relever mes mails. Mais je n’ai pas besoin — ni envie — de me faire siphonner mes données en payant 200 € un smartphone conditionné ou 500, 600, voire 1000€ un neuf. Soyons sérieux. Et raisonnables…

Nokia 8110 : un featured phone à 45 balles

En avril 2018, le constructeur finlandais Nokia sort une réplique du mythique téléphone mobile du héros de Matrix, Thomas Anderson, alias Neo. Ce téléphone avec clavier coulissant a été renommé “Nokia 8110 4G” et modernisé un tantinet. Ce “featured phone” — surnommé banana phone — qu’on trouve neuf à moins de 50€ — gère le Wifi, le bluetooth, la 4G et peut installer des centaines d’apps via un store : le KaiOS Store.

nokia-base.jpg

L’engin — qui pèse 117 grammes — est équipé de 512 Ko de RAM, une carte mémoire interne de stockage de 4 Go, un micro-processeur ARM Cortex A-7 deux cœurs à 1,1 Ghz, un écran de 2.45” 18 bits en 320×240, une batterie li-ion 1500 mAh, une connexion USB, du GPS et le reste déjà énuméré plus haut en terme de technologies réseaux.

Ce mobile fonctionne grâce à KaiOS, un Gnu/Linux tiré du défunt Firefox OS. Mais KaiOS — dont les proprio sont basés à Hong-Kong — a une fâcheuse tendance : il pisse les données utilisateurs à qui mieux mieux, à se demander s’il n’a pa été lancé uniquement pour ça. Le marché est juteux, au point que Google et Facebook ont investi dans KaiOS, puisque la plupart des milliards d’habitants des pays pauvres ou en voie de développement… utilisent des téléphones peu chers, dont une grande partie font tourner… KaiOS.

Et c’est là que les hacker interviennent en modifiant KaiOS, en le nettoyant, au point d’en faire un nouveau système installable sur les featured phone comme le Nokia 8110 : Gerda OS. Le principe est clair : le système est nettoyé, comme les applis, ce qui signifie que plus rien ne sort du smartphone. Sous Gerda OS, le tracking, c’est fini. Avec en bonus plein de fonctionnalités intéressantes puisque vous êtes root par défaut sous Gerda, ce qui n’est pas du tout le cas sous KaiOS. J’ai installé des versions de Telegram (qui pèse 750 Ko), WhatsApp, Firefox, géré mes mails, installé des applis de météo, de news feed, et même OpenStreetMap :-)

Tout est fonctionnel et suffisant pour mes usages “déconditionnés”. En bonus : la durée de la batterie est de plusieurs jours, parce qu’un feature phone ça pompe très peu, comparé à un smartphone.

Le B-hacker store est accessible via Gerda mais certaines apps comme WhatsApp sont plus confidentielles. Sauf qu’on la trouve, bien hackée ici:-)

Au premier boot après install, voilà ce que ça donne :

nokia-boot-gerda.jpeg

Je vous pose donc ici les étapes simples et efficaces pour jailbreaker le 8110 4G et installer Gerda ici même, parce que le site bananahackers, bien que très complet est franchement bordélique et si vous avez envie d’aller droit au but sans chercher dans tous les coins ce que vous devez faire, ce sera plus simple ici.

Quelques étapes pour rooter la bête et installer le libérateur : tuto

Première étape : connecter le 8110 à un Mac ou un PC et installer une appli pour passer root : Wallace-lite

[Précision : il faut une vraie SDCARD physique dans le Nokia (une 16 Go dans mon cas). Sans ça, tout se passe normalement parce qu’il monte bien une partition /sdcard sur la carte interne mais au moment de l’installation il n’arrive pas à la monter cette partition, il cherche une sdcard physique… qu’il n’a pas]

Pour installer Wallace lite il faut utiliser une vieille version de Firefox équipée de l’outil développeurs “Web IDE”, ou un navigateur Palemoon (fork Firefox Linux) d’avant octobre 2019. J’ai utilisé un Firefox 59 sous Mac. Mais avant ,il faut installer des outils android sous shell : adb en mode debug sur votre Nokia. Pour ça, tapez *#*#33284#*#* sur le Nokia, vous verrez apparaître une petite icône d’insecte en haut de l’écran.

Donc, installez adb, puis connectez-vous (vérifiez que votre Nokia a bien l’icône de connexion USB, le mien a tendance a ne pas bien connecter côté micro-usb, puis installez Wallace lite avec le Web ide. Si le Web ide ne trouve pas le Nokia, utiliser cette commande avec adb pour forcer le port 6000 : adb forward tcp:6000 localfilesystem:/data/local/debugger-socket

[La connexion au Nokia via le Web IDE n’est franchement pas stable, il faut installer ADB helper si ce n’est pas le cas et s’y reprendre à plusieurs fois, c’est la partie la plus galère de l’opération…]

L’install de Wallace-lite est simple : dezipper le fichier le sélectionner et le lancer depuis le Web Ide.

Il se trouvera ensuite dans les apps du Nokia. Quand Wallace lite est lancé, il permet de rooter le Nokia. A partir de là, si vous lancez un adb shell, vous êtes root sur le Nokia et c’est là qu’on peut jailbreaker le bouzin et installer Gerda.

Je récapitule :
— mode debug *#*#33284#*#*
— adb forward tcp:6000 localfilesystem:/data/local/debugger-socket
— Web Ide (dans Outils -> dévloppement Web) : connexion, installation du paquetage Wallace-Lite
— Root via Wallace sur le Nokia
— adb shell pour se connecter en root : #

A partir de maintenant, le but est de : faire des backups du système au cas où, changer le recovery mode du Nokia, copier l’install de Gerda, rebooter en Gerda recovery, installer Gerda OS.

Pour les backup, comme ce sont des images :

dd if=/dev/block/bootdevice/by-name/recovery of=/sdcard/recovery-backup.img bs=2048
dd if=/dev/block/bootdevice/by-name/system of=/sdcard/system-backup.img bs=2048
dd if=/dev/block/bootdevice/by-name/boot of=/sdcard/boot-backup.img bs=2048
dd if=/dev/block/bootdevice/by-name/splash of=/sdcard/splash-backup.img bs=2048
dd if=/dev/block/bootdevice/by-name/fsg of=/sdcard/fsg-backup.img bs=2048
dd if=/dev/block/bootdevice/by-name/rpm of=/sdcard/rpm-backup.img bs=2048
dd if=/dev/block/bootdevice/by-name/modem of=/sdcard/modem-backup.img bs=2048

Puis, depuis un terminal (sans être dans le adb shell donc), poussez l’image disque du recovery :

adb push recovery-8110.img /sdcard/

Retourner dans le shell du Nokia et remplacer l’image du recovery :

dd if=/sdcard/recovery-8110.img of=/dev/block/bootdevice/by-name/recovery bs=2048

Mais tout ça a été prévu par KaiOS, qui, si vous rebootez là tout de suite, va automatiquement lancer un script pour remplacer votre image de recovery par la sienne. J’ai passé du temps à piger le problème… Il faut donc aller lui dire de ne plus le faire :

mount -o remount,rw /system
echo ‘#!/system/bin/sh’ > /system/bin/install-recovery.sh
echo ‘exit 0′ >> /system/bin/install-recovery.sh
chown root:root /system/bin/install-recovery.sh
chmod 750 /system/bin/install-recovery.sh
sync
mount -o remount,ro /system

(Au passage un rm sur l’image de recovery dans la sdcard libère de la place, elle ne sert plus à rien)

Puis, poussez votre installation de Gerda sur la sdcard : adb push gerda-install-221edb8.zip /sdcard/

Ne reste plus qu’à rebooter en mode recovery. Deux possibilités, éteindre le Nokia et appuyer sur le pad haut ou taper dans un terminal : adb reboot recovery

Là vous devez avoir un menu, avec marqué en vert en haut à gauche “Gerda recovery” (et pas “KaiOS recovery”).
Utiliser la fonction “Update from SD card”
Tout le bouzin s’installe.
Une fois l’installation terminée, avant le reboot : “Wipe data/factory reset”

Le pingouin va arriver, puis le logo animé de Gerda OS.

gerda-boot.jpeg

Vous êtes sorti de la matrice des smartphones, vous avez libéré un featured phone.

Félicitations.

PS : En Bonus, les + de 6000 apps de Firefox OS que Mozilla a supprimées quand ils ont fermé leur store sont encore à disposition puisqu’elles ont été archivées par un sympathique utilisateur furieux de la démarche. Ca se passe ici même si je n’ai pas encore pigé comment les passer en paquetage Gerda pour les installer ;-)

Un studio radio de streaming avec une Rpi3 : yes we can !

Mardi, Mars 19, 2019

Faire de la radio sur le Net c’est vraiment très cool, mais jusqu’alors il fallait soit monter un PC dédié pour ça ou alors acheter une streambox pré-paramétrée. Mais le monde la Raspberry ayant évolué, des gens se sont creusé et ont pondu une carte son en mode “hat” à plugger sur les gpio d’une Rpi3. Ca s’appelle Pisound. Et c’est excellentissime !

Principe général

Un studio pour une radio Internet requiert deux éléments distincts : d’un côté un serveur Icecast qui va diffuser un flux audio aux auditeurs et de l’autre côté un “streamer” : un logiciel qui envoie vers le serveur Iceacst le flux audio, que ce soit une playliste de fichiers ou du son “live”. Pour envoyer du son “live” il faut un mini studio radio : une table de mixage, des micros, un ampli casques, des casques, et une machine équipée d’une carte son qui va envoyer le flux audio via un logiciel dédié à cet effet : Darkice.

Un ordinateur à raccorder à la table de mixage est aussi nécessaire, pour envoyer du son pendant l’émission : générique, virgules sonores, morceaux de musique etc…

Tout ça est donc simple mais avec la Rpi3 et le Hat Pisound, c’est encore plus simple et efficace : vous branchez un cable jack stéréo depuis la sortie de la table vers l’entrée Jack de la pisound/Rpi, vous lancez Darkice sur la Rpi et ça y est, votre radio peut diffuser en direct sur la toile !

Les pièges techniques à connaître

Icecast n’est pas si compliqué que ça à paramétrer mais il faut y aller doucement : tout se passe avec un seul fichier xml que vous pointez en lançant le binaire en root sur votre serveur Internet public : sudo /usr/bin/icecast2 /etc/icecast2/icecast.xml &

Il vous faut une section d’authentification remplie, un port (le 8000 par défaut) et une section de point de montage. Bref, si vous faites un Icecast minimal sur le port 8000, tout doit bien se lancer et il doit être prêt à accueillir votre streaming.

Du côté du studio Pisound (99€) : rien de compliqué, il suffit de monter la carte sur les GPIO de la Rpi3 (sur les deux rangées de GPIO, pas une seule comme moi la première fois…), installer le tout dans son boitier (The case : 16€) à acheter sur le site ou à imprimer en 3D grâce aux plans généreusement offerts par la boite. Les concepteurs de Pisound ont un Gnu/Linux optimisé pour le son, PatchboxOS, je ne l’ai pas vu au moment de faire l’installation mais visiblement c’est très adapté : à utiliser à la place de Raspbian.

La pisound est configurable grâce à un utilitaire : pisound-config (en root).
Un bouton appelé The Button permet de l’éteindre, de lancer des scripts shell par simple pression : pratique.
Darkice est simple à configurer (après install en apt-get), sauf si vous avez mis deux mots de passe différents dans votre config Icecast comme moi et que vous avez indiqué Icecast 2-4 dans la section au lieu de 2-0… Il ne renvoie aucune erreur, ne diffuse rien et ne parle pas du mot de passe. En réalité la section [iceacst2-0] de Darkice n’indique pas la version mais un premier serveur Icecast, permettant d’indiquer ensuite une nouvelle section en 2-1…

Bref le xml de Darkice est court, simple à configurer : adresse ip du serveur, port de connexion, nom du point de montage password bitrate, rien de sorcier si votre iccecast est ok :

[general]
duration = 0 # duration of encoding, in seconds. 0 means forever
bufferSecs = 2 # size of internal slip buffer, in seconds
reconnect = yes # reconnect to the server(s) if disconnected

# this section describes the audio input that will be streamed
[input]
device = hw:1,0 # Alsa soundcard device for the audio input
sampleRate = 48000 # sample rate in Hz. try 48000, 96000 or 192000
bitsPerSample = 16 # bits per sample. try 16
channel = 2 # channels. 1 = mono, 2 = stereo.
# Only stereo mode is supported by Pisound.

# this section describes a streaming connection to an IceCast2 server
# there may be up to 8 of these sections, named [icecast2-0] … [icecast2-7]
# these can be mixed with [icecast-x] and [shoutcast-x] sections
[icecast2-0]
bitrateMode = cbr # variable bit rate
bitrate = 128
format = mp3 # format of the stream: mp3
quality = 0.8 # quality of the stream sent to the server
server = x.x.x.x # ip of the server
port = 8000 # port of the IceCast2 server, usually 8000
password = hackme # source password to the IceCast2 server
mountPoint = pisound # mount point of this stream on the IceCast2 server
name = pisound # name of the stream
description = DarkIce on Pisound # description of the stream
url = http://localhost # URL related to the stream
genre = my genre # genre of the stream
public = no # advertise this stream?
#localDumpFile = recording.mp3 # Record also to a file

Lancez Darkice : sudo /usr/bin/darkice -c /etc/darkice.cfg &
Ouvrez vos micros, envoyez un générique : ça diffuse sur votre serveur Icecast sur : http://votresite.tld:8000/live.ogg
Un lecteur html5 peut être installé dans une page web pour l’écoute, ou via un lecteur de streaming : Fstream pour IOS, Icecast Player sur Android, VLC ou d’autres logiciels lecteurs de flux compatibles Icecast sur ordinateur.


Une musicbox Rpi3 sans…musicbox

Dimanche, Juin 12, 2016

C’est en voulant utiliser la distribution Musicbox, qui permet de faire un juke box [connecté à une plateforme de streaming musical] sur Rapsberrypi, que j’ai été amené à monter la bête moi-même. La distribution Musicbox est en réalité une Raspbian qui intègre un serveur Mopidy, et la version en ligne n’est pas compatible avec le jeu d’instruction 64bits de la toute récente Rpi3. Pas grave, il suffit d’installer la dernière Raspbian, le serveur Mopidy, l’extension Spotify, un client http, une carte son HifiBerry (un shield Rpi avec sortie mini-jack) et tout fonctionne à merveille. Au point qu’avec un petit ampli 2X12 Watts et des enceinte haute fidélité (100 W RMS 93db/W/M - 8 Ohms), la qualité du son est… bluffante.

Courte recette pour monter sa Musicbox sans se prendre la tête. Avec un compte Spotify payant (Premium à 9,99€)

Ingrédients :

— Une Rpi3
— Une carte son Hifiberry DAC+ Standard phone jack version, 29,90€
— Une Raspbian (la plus récente est basée sur Debian Jessie)
— Un serveur Mopidy
— L’extension Spotify
— Un [ou plusieurs] client http de streaming : Mopify et Musicbox webclient dans cette recette

Durée de la recette : 1h de préparation - 5 minutes de cuisson

La recette :

Installer Raspbian sur une carte HDSC
Booter la Rpi3
Se connecter en ssh [compte par défaut : pi / password par défaut : raspberry]

— Ajout de la clef PGP de mopidy

wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -

— Mettre à jour la liste de paquets

sudo wget -q -O /etc/apt/sources.list.d/mopidy.list https://apt.mopidy.com/jessie.list

— Installer Mopidy

sudo apt-get update
sudo apt-get install mopidy

— Mises à jour

sudo apt-get update
sudo apt-get dist-upgrade

— Possibilité de lister toutes les extensions possibles de Mopidy :

apt-cache search mopidy

— Installer l’extension Spotify

sudo apt-get install mopidy-spotify

Configuration de la bestiole :

Le fichier de config créé par défaut après l’installation se trouve dans le home de l’utilisateur pi :

~/.config/mopidy/mopidy.conf (ou bien /home/pi/.config/mopidy/mopidy.conf

La configuration de départ, générée par Modipy est assez simple et ressemble en général à ça :

[core]
cache_dir = $XDG_CACHE_DIR/mopidy
config_dir = $XDG_CONFIG_DIR/mopidy
data_dir = $XDG_DATA_DIR/mopidy
max_tracklist_length = 10000

[logging]
color = true
console_format = %(levelname)-8s %(message)s
debug_format = %(levelname)-8s %(asctime)s [%(process)d:%(threadName)s] %(name)sn %(message)s
debug_file = mopidy.log
config_file =

[audio]
mixer = software
mixer_volume =
output = autoaudiosink
buffer_time =

[proxy]
scheme =
hostname =
port =
username =
password =

Mon fichier mopidy.conf, après l’avoir modifié pour qu’on puisse se connecter dessus avec un navigateur en http [sur l’url musicbox.local:8080] ressemble à ça :

[core]
cache_dir = $XDG_CACHE_DIR/mopidy
config_dir = $XDG_CONFIG_DIR/mopidy
data_dir = $XDG_DATA_DIR/mopidy
max_tracklist_length = 10000

[logging]
color = true
console_format = %(levelname)-8s %(message)s
debug_format = %(levelname)-8s %(asctime)s [%(process)d:%(threadName)s] %(name)sn %(message)s
debug_file = mopidy.log
config_file =

[loglevels]
cherrypy = warning
pykka = info

[audio]
mixer = software
mixer_volume = 80
output = alsasink
buffer_time =

[proxy]
scheme =
hostname =
port =
username =
password =

[mopify]
enabled = true
debug = false

[musicbox_webclient]
enabled = true
musicbox = false
websocket_host =
websocket_port =
on_track_click = PLAY_ALL

[spotify_tunigo]
enabled = true
region =
sub_genres = true
cache_time = 3600

[spotify]
enabled = true
username = Drapher
password = ********
bitrate = 320
volume_normalization = true
private_session = false
timeout = 10
allow_cache = true
allow_network = true
allow_playlists = true
search_album_count = 20
search_artist_count = 10
search_track_count = 50
toplist_countries =

[mpd]
enabled = true
hostname = 0.0.0.0
port = 6600
password =
max_connections = 20
connection_timeout = 60
zeroconf = Mopidy MPD server on $hostname
command_blacklist =
listall
listallinfo
default_playlist_scheme = m3u

[http]
enabled = true
hostname = 0.0.0.0
port = 8080
static_dir =
zeroconf = $hostname

[stream]
enabled = true
protocols =
http
https
mms
rtmp
rtmps
rtsp
metadata_blacklist =
timeout = 5000

[m3u]
enabled = true
base_dir = $XDG_MUSIC_DIR
default_encoding = latin-1
default_extension = .m3u8
playlists_dir =

[softwaremixer]
enabled = true

[file]
enabled = true
media_dirs =
$XDG_MUSIC_DIR|Music
~/|Home
show_dotfiles = false
follow_symlinks = false
metadata_timeout = 1000

[local]
enabled = false

Le serveur quand on le lance, doit afficher ça :

INFO Starting Mopidy 2.0.0
INFO Loading config from builtin defaults
INFO Loading config from /home/pi/.config/mopidy/mopidy.conf
INFO Loading config from command line options
INFO Enabled extensions: mopify, spotify, mpd, http, stream, spotify_tunigo, m3u, softwaremixer, file, musicbox_webclient
INFO Disabled extensions: local
INFO Starting Mopidy mixer: SoftwareMixer
INFO Mixer volume set to 80
INFO Starting Mopidy audio
INFO Starting Mopidy backends: SpotifyTunigoBackend, SpotifyBackend, StreamBackend, M3UBackend, FileBackend
INFO Audio output set to “alsasink”
INFO Starting Mopidy core
INFO Logged in to Spotify in offline mode
INFO Starting Mopidy frontends: QueueManagerFrontend, MpdFrontend, HttpFrontend
INFO MPD server running at [::ffff:0.0.0.0]:6600
INFO HTTP server running at [::ffff:0.0.0.0]:8080
INFO Starting GLib mainloop

Stopper le service :

sudo service mopidy stop

Bref, jusque là, tout va bien, mais on ne peut toujours pas se connecter sur spotify pour faire jouer de la musique.

Installer le ou les clients http :

J’ai choisi d’installer deux clients http, le premier (musicbox client) parce que c’est celui de la distrib musicbox, et le second (mopify) parce qu’il est “beau”.

Installation de Mopify :

sudo pip install Mopidy-Mopify

Installation de Musicbox client :

pip install Mopidy-MusicBox-Webclient

La liste de tous les clients Mopidy est bien entendu sur le site de Mopidy

Là, ça fonctionne (en suivant mon fichier de conf, une fois le serveur mopidy lancé), il suffit de se connecter sur musicbox.local:8080 (en ayant bien entendu inscrit musicbox au préalable dans le fichier /etc/hostname et quitte à faire dans /etc/hosts)

clients-http-mopidy.png

Pour tester le son en sortie, il est possible de brancher un mini jack sur la sortie idoine de Rpi3 vers un ampli/enceintes, mais le son sera très mauvais, avec un volume faible. La carte son de la Rpi3 est franchement trop faiblarde.

Installation du shield Hifiberry DAC+ Standard phone jack version

Suffit de le pluger sur les GPIO de la Rpi3. Point.

hifiberry-dacplus-phone.png

Ensuite, la gestion des drivers est plutôt simple, très bien indiquée sur le site du vendeur

En gros :
— Retirer du fichier /etc/modules la ligne : snd_bcm2835
(pour que le driver de la Rpi3 soit désactivé)

— Editer /boot/config.txt et ajouter :
dtoverlay=hifiberry-dacplus

Créer le fichier /etc/asound.conf

Y insérer le code suivant :
pcm.!default {
type hw card 0
}
ctl.!default {
type hw card 0
}

— Rebooter la bête

— Tester avec la commande : aplay -l

Vous devriez avoir ça :

**** Liste des Périphériques Matériels PLAYBACK ****
carte 0: sndrpihifiberry [snd_rpi_hifiberry_dacplus], périphérique 0: HiFiBerry DAC+ HiFi pcm512x-hifi-0 []
Sous-périphériques: 1/1
Sous-périphérique #0: subdevice #0

C’est cuit ou presque.
Manque quand même que le serveur se lance tout seul au démarrage en tâche de fond, parce que sinon il y a obligation à le lancer à la mimine en ssh.

Le fichier de conf utilisé est celui de l’utilisateur pi, il faut donc le copier et remplacer le fichier mopidy.conf du démon mopidy :

Un copié-collé de votre mopidy.conf en sudo dans le /etc/mopidy/mopidy.conf ou bien un sudo cp ~/.config/mopidy/mopidy.conf /etc/mopidy/mopidy.conf

Pour installer mopidy en service système :

sudo systemctl enable mopidy

puis :

sudo dpkg-reconfigure mopidy

Le script du démon mopidy au démarrage se trouve dans /etc/init.d/mopidy

#!/bin/bash
# mopidy daemon
# chkconfig: 345 20 80
# description: mopidy daemon
# processname: mopidy
### BEGIN INIT INFO
# Provides: mopidy deamon
# Required-Start: $remote_fs $syslog $network
# Required-Stop: $remote_fs $syslog $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start mopidy daemon at boot time
# Description: Enable mopidy music server
### END INIT INFO

DAEMON_PATH=”/usr/bin/”

DAEMON=mopidy
DAEMONOPTS=”"

NAME=mopidy
DESC=”My mopidy init script”
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

case “$1” in
start)
echo “Starting Mopidy Daemon”
start-stop-daemon –start –chuid pi –background –exec /usr/bin/mopidy
–pidfile $PIDFILE –make-pidfile
— 2>/var/log/mopidy.log
;;
stop)
echo “Stopping Mopidy Daemon”
start-stop-daemon –stop –exec /usr/bin/mopidy –pidfile $PIDFILE
;;

restart)
$0 stop
$0 start
;;

*)
echo “Usage: $0 {start|stop|restart}”
exit 1
esac

Les droits :

sudo chmod +x /etc/init.d/mopidy

Redémarrage pour tester la bestiole : vous vous connectez avec un navigateur sur http://musicbox.local:8080

Sélectionnez le client de votre choix. Lancez un morceau…

Et là, si votre Hifiberry est branchée à un mini jack vers RCA, sur un ampli équipé d’enceintes de qualité, vous risquez d’être bluffé. Le Ogg vorbis de spotify à 320Kbps est bien meilleur qu’un MP3 de base, et tous vos potes pourront choisir les morceaux qu’ils veulent faire jouer. Soirées sympathiques en vue…

Petite note complémentaire : sur IOS, la résolution de nom fonctionne très bien, mais pas sur androïd. Il faut donc que les équipements sous android se connectent au client http… via l’IP. Un scanner réseau pour repérer l’IP de la Rpi reste la solution la plus simple. Ou bien installer un écran sur la Rpi3 qui renvoie son IP…

Créer un lieu de hacking au sens large ?

Dimanche, Septembre 7, 2014

Les lieux d’échanges et de partage se font rares, et pourtant l’émergence des hackerspaces, fablabs, et désormais, des tiers-lieux — est en train de contredire cette affirmation. Malgré tout, une difficulté importante revient autour de ces lieux de création et d’échanges, et celle-ci réside dans l’obligation de maintenir un état d’esprit particulier pour ne pas “basculer”.

Ne pas “basculer” ? Oui, ne pas basculer d’un espace de hacking vers celui du club de hobbyistes ou vers la pme…

La règle du MIT

Ce que ne comprennent pas toujours les acteurs ou promoteurs des fablabs eux-mêmes, surtout pour les plus novices, est l’orientation du lieu. Son état d’esprit, son organisation sociale, technique, logistique. Un fablab n’est pas seulement un lieu d’innovation. Un fablab n’est pas seulement un lieu avec des machines numériques qui peuvent fabriquer des objets. Un fablab n’est pas seulement un lieu pour prototyper. Un hackerspace n’est pas simplement la réunion de gens passionnés de hacking. Alors ? Qu’en est-il vraiment ?

Le principe d’origine du fablab est celui de l’éducation par les sciences et les techniques. La Fabfondation précise cet aspect central dans la constitution et l’organisation de ces lieux :

“A Fab Lab is also a platform for learning and innovation: a place to play, to create, to learn, to mentor, to invent. To be a Fab Lab means connecting to a global community of learners, educators, technologists, researchers, makers and innovators- -a knowledge sharing network that spans 30 countries and 24 time zones.”

Apprentissage, innovation, un lieu pour jouer, étudier, inspirer, inventer : les caractéristiques d’un fablab sont celles d’une nouvelle forme d’école, ou d’université populaire. Le principe central d’un fablab est celui d’une production collective, dans lieu ouvert au plus grand nombre, basé sur l’éducation au sens large, l’éducation populaire : comprendre, apprendre, échanger, partager, pratiquer, etc…

“Fab Labs  have to share a common set of  tools and processes.  

A prototyping facility is not the equivalent of a Fab Lab. A 3D printer is not a Fab Lab.

The idea is that all the labs can  share knowledge, designs, and collaborate across international borders. If I make something here in Boston and send you the files and documentation, you should be able to reproduce it there, fairly painlessly.  If I walk into a Fab Lab in Russia, I should be able to do the same things that I can do in Nairobi, Cape Town, Delhi, Amsterdam or Boston Fab Labs. The critical machines and materials : are identified in this listand there’s a list of open source software and freeware that we use online as well (embedded in Fab Academy modules here) But essentially it’s the processes and the codes and the capabilities that are important. So you want a laser cutter for 2D/3D design and fabrication, a high precision milling machine for making circuits and molds for casting, a vinyl cutter for making flexible circuits and crafts, a fairly sophisticated electronics workbench for prototyping circuits and programming microcontrollers, and if you can possibly find the funds, you’ll want the large wood routing machine for furniture and housing applications.  We are also testing fairly inexpensive, but robust and with fair resolution 3D printers—the most current favorite is listed in the inventory.”

La Fabfoundation stipule qu’installer une imprimante 3D ne fait en aucun cas un fablab, comme mettre en œuvre tous les outils pour faire du prototypage. Un ensemble de processus, de moyens techniques et une organisation particulière doivent être mis en œuvre. Et au delà, un état d’esprit pour faire “tourner la machine”

Un lieu qui doit permettre l’échange

Le hacking [dans sa conceptualisation originelle], est l’approche la plus adaptée aux lieux innovants tels que sont les fabLabs, hackerspaces ou tiers-lieux. Non pas par une pratique particulière dépendante d’outils spécifiques ou dédiés au hacking, mais par l’approche technique, sociale, scientifique des acteurs du lieu. Le hacking est une approche particulière, une pratique quotidienne différente : comprendre, étudier les choses pour les modifier, les détourner ou simplement les améliorer. Le hacking est lié au DiY de par sa vocation à permettre de faire soi-même, en cherchant des solutions pour parvenir à ses fins.

La bidouille est un savoir-faire, un savoir-être : si la pièce qui me manque pour finaliser mon objet est trop chère, n’existe pas, comment la réaliser moi-même ? J’ai envie d’un appareil qui n’est pas dans le commerce : je le fabrique. J’ai envie d’un mode de vie, je le conçois et je le maintiens. Je vérifie que ce serveur prévu pour afficher des informations précises peut afficher autre chose, je lui fais afficher autre chose. Cette approche du hacking amène de nombreuses pratiques et modes d’échanges. Via Internet, très longtemps, et désormais physiquement, dans des lieux dédiés.

L’aspect central de ces nouveaux lieux est l’échange. Pas simplement l’échange d’informations, de savoirs ou de compétences mais aussi l’échange social. Cet aspect social réhabilite une longue tradition abandonnée autour de lieux différents tels que les MJC, bal populaires, guinguettes, jardins ouvriers, places du village etc… Chacun peut venir dans ces lieux, sans aucun prérequis : ni d’argent, ni d’âge, ni de compétences, de diplômes, etc… Le tiers-lieu, le fablab permettent aux citoyens de se ré-emparer de la technique, d’outils, de concepts, et ouvrent à chacun des possibilités qui sont la plupart du temps soigneusement accaparées par des “spécialistes” ou des “experts”.

Ces lieux ne sont pas, et ne doivent pas être un repaire d’ingénieurs ou de super-techniciens, petits génies de l’électronique ou de l’informatique : ils sont la possibilité pour tous de faire, réaliser ensemble, de manière horizontale, dans un échange dégagé des contraintes du jugement scolaire, social, professionnel, etc… Ce que les hackers ont toujours fait.

Tiers-lieu : l’espace de tous les possibles

Pour finir, le concept de tiers-lieu se doit d’être un peu mieux explicité : leur développement est en plein essor, leur potentiel, passionnant. Ce sont avant tout des espaces de socialisation, de rencontres. Ils peuvent s’orienter, se “thématiser” plus fortement selon leurs instigateurs, mais ils restent avant tout des lieux pour faire ensemble et échanger. De la même manière que les hackerspaces ou les fablabs, aucune limitation financière, sociale, n’est censée exister dans ces espaces qui peuvent réunir de nombreuses choses : fablabs, hackerspace, lieu de formation, espace de co-working, cantine ouverte, atelier partagé, espace de réparation, de recyclage, bibliothèque, centre-ressource, etc…

La réussite de ces lieux de hacking au sens large repose sur une unique chose : l’état d’esprit. L’ouverture, le partage, l’échange, la collaboration, le DiY, l’innovation, tous ces concepts très en vogue n’ont de vocation que s’ils coexistent dans l’esprit du hacking : horizontalité, do-ocratie, méritocratie, échange entre pairs, curiosité, humilité, apprentissage permanent, et refus de la financiarisation du procédé.