Nadbian Lite est une distribution prête à l'emploi pour la carte NadHat GSM / GPRS. Basée sur Raspbian Strech Lite (sans environnement graphique), elle s'intègre bien avec les ressources modestes du processeur mono-coeur de la carte raspberry pi zéro.

Nadbian intègre les différents outils pour :

 

  • envoyer et recevoir des SMS avec gammu et gammu-smsd,

  • activer une connexion GPRS avec ppp pour avoir une connectivité IP partout,

  • développer votre application sous l'environnement graphique nodered depuis votre PC,

  • mettre sous tension automatiquement la carte Nadhat au chargement du système.

Nous allons voir les différentes étapes qui vous permettront de générer votre carte microSD, de personnaliser celle-ci afin que vous puissiez vous connecter en WIFI à votre raspberry pi depuis votre PC.

1. Génération de la carte microSD bootable Nadbian OS.

1.1 Téléchargement de l'image

L'archive compressée est ici : 2018-01-06-nadbian-lite.zip (clic bouton droit, enregistrer sous)

Le fichier zip fait plus de 600MB. Il contient l'image (2GB décompressée) et la somme de contrôle  MD5SUM pour vérifier l'intégrité de l'image. Sous environnement Linux Debian, le contrôle se fait, après décompression du fichier zip, en invoquant la commande :

md5sum -c 2018-01-06-nadbian-lite.md5

Si l'utilitaire n'est pas installé, vous pouvez l'installer en invoquant la commande :

sudo apt-get install md5sum

Pour les systèmes d'exploitation Windows et Mac, il existe foule d'utilitaires graphiques gratuits  pour réaliser cette vérification d'intégrité de fichier avec une somme de contrôle MD5SUM.

1.2 Choisissez votre carte microSD

 La taille de l'image zippée est supérieure à 600 Mo et 2 Go décompressée. Je recommande fortement une carte micro SD de 8 Go ou plus de capacité. Une carte de 2 Go (sans mise à jour) ou 4 Go suffisent pour un test simple mais ne bâtissez votre projet avec. L'espace libre sur une carte SD est également un réservoir de secteurs libres pour l'algorithme d'égalisation d'usure des secteurs (wear levelling) intégré sur chaque contrôleur de carte SD.

Si vous avez gagné au Loto, vous pouvez vous offrir une carte SLC de 8 Go très fiable (environ 180 euros, par exemple Radiospares: 144-8059). Sinon, préférez une carte SD de technologie MLC NAND plutôt que TLC. Si le fabricant ne prétend pas être MLC, vous pouvez être sûr que c'est un techonologieTLC, la plus économique mais aussi la moins fiable.

Trancend possède sa gamme MLC, Kingston aussi. Mon choix du moment est la micro SD Kingston SDCIT / 8GB, environ 12 euros sur le web, une bonne affaire. J'ai également acheté par le passé plusieurs cartes Transcend MLC.

1.3 Flashage de votre carte microSD

 Veuillez suivre le tutoriel : /documentation/installation/installing-images/README.md

de la fondation www.raspberrypi.org pour l'installation d'une image de système d'exploitation sur une carte SD. La démarche est identique avec Nadbian.

1.4 Avant de démarrer votre microSD

 Modifiez le fichier wpa_supplicant.conf dans la première partition /boot pour configurer votre accès WIFI avant le démarrage, en renseignant les éléments suivants:

ssid = "My_SSID"
psk = "My_secret_sentence"

Sauvegardez le fichier puis démontez votre SD avant de la retirer de votre ordinateur. Vous pouvez maintenant mettre la carte SD dans le lecteur dela carte Raspberry Pi + Nadhat.  C'est le moment de mettre sous tension.

ATTENTION : la distribution 2018-01-06-nadbian-lite n'est, en l'état, pas compatible avec la carte Raspberry PI 3 B+ et la carte SD générée ne bootera pas. Il est nécessaire de réaliser la personnalisation de la distribution (section 1.6), ou tout au moins la mise à jour du kernel ( commande : sudo rpi-update ) sur n'importe quel autre modèle de carte Raspberry Pi avant de pouvoir booter votre distribution Nadbian sur une carte PI 3 B+

1.5 Mise sous tension

 Attendez un moment pour démarrer le système. Le voyant led vert Nadhat doit s'allumer 25 secondes environ après la mise sous tension. Encore 10 secondes, et vous pouvez ouvrir un terminal ssh depuis votre ordinateur avec un client ssh (putty par exemple ou en ligne de commande sous linux):

ssh pi@192.168.1.xx

le mot de passe est raspberry, comme sur la distribution Raspbian.

1.6 Personnalisation de la distribution

 La première chose à faire, avant de lancer les mises à jour, est d'étendre la partition système en EXT4 afin qu'elle occupe la totalité de l'espace vide de votre carte SD. Pour cela, il suffit d'exécuter :

sudo raspi-config

choisir le 7ème item du menu : options avancées (Advanced Options)

puis le menu A1 : Etendre le système de fichiers (Expand Filesystem).

Après redémarrage du système, vous pouvez ensuite, si la capacité de votre carte microSD est d'au moins 4GB, exécuter les différentes commandes suivantes pour la mise à jour de l'ensemble des programmes.

sudo apt-get update
sudo apt-get upgrade
sudo rpi-update
sudo reboot

L'exécution des mises à jours est longue, tout particulièrement pour la seconde ligne. Vous devez également disposer d'un accès internet afin de télécharger plusieurs centaine de méga-octets de mise à jour à la date de publication.

ATTENTION : Il est nécessaire de patcher la distribution 2018-01-06-nadbian-lite en exécutant la commande :

sudo usermod -a -G gammu pi

afin de pouvoir exploiter en librairie node-red le flow SMS to GPIO.

 

1.7 Pour finir

 Voilà. Vous disposez maintenant d'une distribution taillée sur mesure pour la carte Nadhat, avec les logiciels suivants installés et paramétrés :

  • gammu et gammu-smsd (actif)
  • pppd (configuré pour l'opérateur français www.free.fr)
  • nodered (actif)
  • nadpwr daemon (actif)

Enfin pour les plus impatients, j'ai laissé dans l'historique des commandes qui seront utilisées pour les prochains tutos. Il vous suffit de taper :

history | head -n 30

Nous vous proposerons rapidement un tutoriel pour chacun de ces programmes.

Bon développement

Commentaires   

# nadbian et code PINbob 20-01-2018 13:10
Bonjour, merci pour ce tuto. Ceci dit, j'ai un problème au démarrage : la carte est en attente du code PUK. Comme si j'avais entré 3 codes erronés. Je suis obligé d’arrêter le nadhat, entrer le PUK sur un téléphone, redémarrer la carte et entrer le PIN.
Y-a-t'il un paramètre qui envoie le code PIN au lancement de nadbian ?
# RE: nadbian et code PINbob 20-01-2018 13:45
J'ai trouvé la réponse, le PIN est stocké dans ce fichier :
sudo nano /etc/gammu-smsdrc
Autre problème : je met mon code PIN dans ce fichier, et là au démarrage, la carte nadhat cesse de fonctionner. Quand je la rallume, j'ai un message d'erreur :

pi@NadHAT:~ $ nadpwr on
Pulse 1s on GPIO26 to power on SIM800C.
NadHAT is now on.
pi@NadHAT:~ $ gammu entersecuritycode PIN 1234
Erreur à l'ouverture du périphérique : périphérique inconnu, occupé ou problème de permissions.
# # RE: nadbian et code PINPetit_Pierre 27-01-2018 18:29
Je pense que le problème est un accès concomitant au SIM800C. Essayer d'arrêter le service gammu.smsd en tapant :
sudo systemctl start gammu-smsd.service

la commande :
gammu entersecuritycode PIN 1234
devrait marcher. Pour ma part, j'ai désactivé la sécurité par code pin de ma sim avec un vieux téléphone portable.
mais vous devriez essayer de mettre, sous la balise :
[smsd]
PIN = 1234
dans le fichier /etc/gammu-smsdrc.

Désolé de vous avoir fait un peu mariner. Tenez nous au courant.
# Envoi de SMSPikaPika 01-01-2019 21:12
Bonjour,

Petit retour qui pourra servir à d'autres

J'ai suivit tout ce tuto à la lettre mais j'avais des erreurs pour envoyer des SMS.

Pour que ça fonctionne, je dois stopper gammu-smsd ( systemctl stop gammu-smsd.service) et lancer cette commande :"gammu entersecuritycode PIN 0000"

Ensuite j'envoi le SMS avec la commande "gammu sendsms".

Du coup je me demande l'utilité de gamu-smsd si on peut envoyer des messages avec seulement gammu...Si vous avez la réponse je suis preneur ! ;-)
# NadHAT login ?slim 22-04-2019 20:49
Bonjour, petit problème. Le démarrage s'est passé comme expliqué RPi, NadHAT mais à la fin du défilement des lignes d'installation j'ai :
Rasbian GNU/Linux 9 NadHAT tty1
NadHAT login:

Vous dites que le mot de passe est raspberry mais le login ?
Merci pour votre aide...