Le Raspberry Pi est un nano-ordinateur monocarte à processeur ARM conçu par le créateur de jeux vidéo David Braben. La première version est sortie en 2012 et depuis il y a eu beaucoup d’évolutions.

Il permet l’exécution de plusieurs variantes du système d’exploitation libre Linux et même de Windows 10 IoT.

Les différents modèles et versions du Raspberry Pi

A ce jour, on distingue trois types de modèle :

  • Le modèle A : Raspberry “light” sans interface réseau
  • Le modèle B : la version la plus répandue du Raspberry (avec interface réseau)
  • Le modèle Zero : version minimaliste et low-cost  du Raspberry

Les Raspberry Pi A et B sont animés par un ARM11 (ARMv6) à 700Mhz avec 256 Mo de mémoire vive pour le modèle d’origine (512 Mo sur les dernières versions du modèle B/B+).

Raspberry Pi A/A+

En 2015 le Raspberry Pi B version 2 (B2) est équipé d’un processeur Broadcom BCM2836, quatre cœurs ARM Cortex-A7 (ARMv7) à 900 MHz, accompagné de 1 Go de RAM.

Puis en début 2016, pour le quatrième anniversaire de la commercialisation du premier modèle, la fondation Raspberry Pi annonce la sortie du Raspberry Pi B version 3 (B3). Comparé au B2, il dispose d’un processeur Broadcom BCM2837 64 bit à quatre cœurs ARM Cortex-A53 (ARMv8) à 1,2 GHz et d’une puce Wifi 802.11n et Bluetooth 4.1 intégrée.

Le modèle A n’a qu’en a lui pas évolué.

Raspberry Pi B+

De son côté le Raspberry Zero sorti fin 2015 reprend les spécifications du modèle A/B version 1 avec un processeur ARM11 (ARMv6) cadencé à 1 GHz au lieu de 700 MHz. Il est par contre plus petit, disposant d’une connectique minimale. Début 2017, pour le cinquième anniversaire du Raspberry Pi, le Raspberry Pi Zero est maintenant doté de Wi-fi et de Bluetooth en conservant les mêmes spécifications.

Raspberry Pi Zero

Retrouvez ici toutes les spécifications du Rapsberry sur cette page ainsi qu’un tableau comparatif.

Ce qui est important de retenir ici :

  • Tous les modèles B intègrent nativement une interface Ethernet et les version B3 et Zero-W intègrent une interface Wifi. Sur les autres versions, en particulier les modèles A, il faudra connecter une clé USB Wifi pour disposer d’une interface réseau.
  • Les modèles A/A+, B/B+ (v1) et Zero/ZeroW sont tous animés par des processeurs ARMv6 à la différence des RPi B2 et B3, respectivement équipés d’un ARMv7 et ARMv8.

Raspberry Pi et Constellation

Comme le Raspberry Pi est un véritable (nano) ordinateur basé sur une architecture ARM et sur lequel on peut installer un système Linux, il est à la fois possible  :

  • de l’utiliser pour héberger une Constellation, c’est à dire déployer le serveur Constellation
  • de l’utiliser comme Sentinelle pour pouvoir déployer des packages

Par exemple, la solution de monitoring des ressources énergétiques de la maison S-Energy ou encore S-Opener, la porte de garage intelligente sont deux solutions basées sur des Raspberry Pi exploités comme sentinelles d’une Constellation.

Ceci dit il est important de se rappeler des prérequis pour ces deux composants Constellation :

  • Le serveur Constellation nécessite au minimum Mono 3.12
  • La sentinelle Constellation nécessite au minimum Mono 3.10

Or Mono 3.12 et + n’est pas stable sur une architecture ARMv6. Le Web Platform Installer Linux installera automatiquement la dernière version de Mono à l’exception des architectures ARMv6 pour lequel il installera la version 3.10, la seule stable (à ce jour du moins) sur ce type d’architecture.

Autrement dit :

  • La sentinelle Constellation peut être installée sur tous les Raspberry Pi
  • Le serveur Constellation ne peut être installé que sur un Raspberry Pi B version 2 ou version 3

Autre information très importante, le fait d’être sur un ARMv6 (modèles A/A+, B/B+ et Zero/ZeroW) restreint Mono à la version 3.10 ce qui restreint l’usage de package utilisant le framework .NET 4.0 !

Autrement dit, les packages Constellation développés pour .NET 4.5 (et plus) peuvent être instables sur un ARMv6.

De ce fait si vous développez des packages C# ou des packages Python que vous souhaitez déployer sur une sentinelle Raspberry A/A+, B/B+ ou Zero/ZeroW, n’oubliez pas de définir le “Target” de votre projet à “.NET Framework 4” et pas au delà lors de la création de votre projet ou dans les propriétés de celui-ci.

Target des packagesTarget des packages

En résumé :

  • Les Raspberry Pi A/A+, B/B+ et Zero/ZeroW sont équipés d’un ARMv6, donc Mono 3.10 au maximum, donc “Sentinelle Constellation” seulement pour déployer des packages .NET 4.0 au maximum.
  • Les Raspberry Pi B2 ou B3 sont équipés d’ARM V7 ou V8 permettant l’installation des dernières versions de Mono, permettant donc l’installation du serveur Constellation et/ou de la sentinelle pour déployer des packages .NET 4.0, 4.5 ou plus.

Installer Constellation sur un Raspberry

Etape 1 : installer Raspbian

A l’aide d’un outil comme “Win32 Disk Imager” sous Windows, copiez la dernière version en date de l’image du système Raspbian sur une carte MicroSD.

Je vous recommande l’image “Lite” du système, c’est à dire sans interface graphique car inutile pour Constellation, nous exploitons le Raspberry à travers la plateforme Constellation et SSH pour l’installation initiale.

Copie de Raspbian sur la carte SDCopie de Raspbian sur la carte SD

Une fois l’image de Raspbian copiée sur votre carte MicroSD, créez un fichier nommé “ssh” (sans extension et sans contenu) à la racine de votre carte SD de façon à activer le service SSH lors du premier boot.

Activation du SSH

Vous pouvez maintenant insérer votre carte MicroSD dans votre Raspberry puis l’alimenter sans oublier de le connecter au réseau via l’interface Ethernet.

Après quelques secondes, connectez-vous dessus à l’aide d’un client SSH comme Putty. Le nom d’utilisateur est “pi” et le mot de passe par défaut est “raspberry” :

Connexion SSH au Raspberrry

Voilà votre Raspberry Pi est prêt et connecté !

Etape 2 : configurer son Raspberry Pi

Avant de démarrer l’installation de Constellation, je vous recommande vivement de configurer certain élément de base sur ce système fraichement installé.

Pour cela lancez l’utilitaire “raspi-config” par la commande :

Raspi-config

Les actions de base à réaliser :

  1. Change User Password : changez le mot de passe par défaut de l’utilisateur “pi”
  2. Hostname : changez le nom du système (par défaut “raspberry”) pour l’identifier plus facilement. N’oubliez pas que le nom du système sert pour identifier une sentinelle dans une Constellation
  3. Localisation Options > Change Timezone : spécifiez votre fuseau horaire pour définir correctement l’heure locale du système
  4. Interfacing Options > SSH : activez le service SSH
  5. Advanced Options > Expand Filesystem : si nécessaire redimensionne la partition pour exploiter pleinement la capacité de votre carte SD

Optionnellement si vous avez une interface Wifi (native sur les B3 et Zero-W ou externe) configurez le réseau à joindre.

Pour finir, n’hésitez pas à mettre à jour les sources APT avant de lancer le WPI surtout si vous utilisez une ancienne image.

Mise à jour des sources APT

Etape 3 : lancer le Web Platform Installer

Pour télécharger et démarrer Web Platform Installer, rien de plus simple ! Lancez simplement la commande suivante :

Le WPI se chargera de vérifier et installer l’ensemble des prérequis puis lancera le programme d’installation de Constellation.

Démarrage du Web Platform Installer

Vous pourrez alors installer une sentinelle sur votre Raspberry ou le serveur Constellation si vous êtes sur un RPi B2 ou B3.

Next steps

Que souhaitez-vous souhaitez installer maintenant sur votre Raspberry ?

Constellation sur un Raspberry Pi
Editer la page sur GitHub

6 commentaires sur “Constellation sur un Raspberry Pi

  • 10 août 2017 à 20:34
    Permalien

    Bonsoir,

    j’ai lancé le Web Platform Installer sur un RPi 3 (Constellation Platform Installer 1.8.17192). Tout se passe bien jusqu’à la demande d’authentification sur myconstellation.io. Je reçois des « Access denied », username et password sont corrects, ça marche sans pb sur le site.

    Merci pour votre aide.

    Cordialement,

    Andreas

     

  • 26 septembre 2017 à 23:17
    Permalien

    Bonsoir,

    Je te confirme qu’il y a un caractère qui ne passe pas avec l’installation linux! Il a fallut que je change 3 fois mon mot de passe ;-). Je pencherai pour ^ ou #

    Super job en tout cas ! et Merci pour la mise à disposition.

Laisser un commentaire