Premiers pas avec un Arduino, JavaScript et un RaspBerry
Intro & Objectifs
Je nâaime pas coder en C, jâaime le JavaScript, je veux âbidouillerâ avec un Arduino, mais en JS, je veux faire ça Ă partir dâun RaspBerry ⊠Et en plus, câest possible, avec Johnny-Five voyons donc comment faire.
Vous aurez besoin de:
- Un Raspberry avec un dongle wifi (ou alors connecté au réseau via un cable ethernet)
- Un Arduino Uno
- Une Led
⊠Câest parti!
Paramétrage du RaspBerry
Connexion Wifi
Dans un 1er temps, paramétrons la connexion wifi du RaspBerry:
âSurâ le RaspBerry ouvrez une console, ou Ă partir de votre desktop (avec le RaspBerry connectĂ© sur le mĂȘme rĂ©seau) dans un terminal, (1) connectez vous en SSH sur le RaspBerry (par exemple sur MAC ssh pi@IP_DU_RASPBERRY
). Ensuite, ouvrez en mode âsuper utilisateurâ, le fichier wpa_supplicant.conf
:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Et ajouter les informations correspondant Ă votre routeur wifi, par exemple:
network={
ssid="skynet"
psk="SarahConnor"
}
Sauvegardez.
(1): cela fonctionne aussi avec une connexion ethernet directe: le RPI connecté directement avec un cable ethernet RJ45 à votre desktop.
PS: il vous faut un dongle wifi pour votre RaspBerry.
Modifions le hostname
Donnons un petit nom rĂ©seau Ă notre RaspBerry, cela nous garantira de pouvoir le âcontacterâ sans forcĂ©ment connaĂźtre son adresse IP.
Nous sommes toujours connectés au RaspBerry. Editez /etc/hosts
:
sudo nano /etc/hosts
Dans le fichier, ajoutez la ligne:
127.0.1.1 bob
Enregistrez, fermez.
Remarque: jâai donc dĂ©cidĂ© dâappeler mon RaspBerry, bob.
Ensuite, Ă©ditez /etc/hostname
:
sudo nano /etc/hostname
Et ajouter juste la ligne:
bob
Enregistrez, fermez.
Lancez les commandes suivantes pour prendre en compte les modifications :
sudo /etc/init.d/hostname.sh
sudo reboot
A partir de maintenant, vous devez pouvoir vous connecter Ă votre RaspBerry en SSH comme ceci:
ssh pi@bob.local
Installation de NodeJS
Jâaurais besoin dâinstaller la derniĂšre (ou une rĂ©cente) version de NodeJS.
Tout dâabord, ajoutons le ârepositoryâ apt.adafruit.com
Ă la liste des sources de notre RaspBerry (dans la console SSH):
curl -sLS https://apt.adafruit.com/add | sudo bash
⊠Patientez âŠ
Puis:
sudo apt-get install node
Installation de Johnny-Five
Johnny-Five (https://github.com/rwaldron/johnny-five) est un framework JavaScript (pour node) qui permet de âdiscuterâ avec votre Arduino via le protocole Firmata (plus dâinformations par ici: https://github.com/firmata/protocol).
Donc sur votre RaspBerry (en mode console via SSH):
-
Créer un répertoire
skynet
:mkdir skynet
, puis:cd skynet npm install johnny-five
ParamĂ©trage de lâArduino
Pour permettre Ă lâArduino de âdiscuterâ avec Johnny-Five, il faut installer le programme âFirmataâ sur lâArduino.
- Installez lâArduino IDE https://www.arduino.cc/en/Main/Software
- Branchez votre Arduino sur votre Desktop avec le cable USB appropriĂ© : âUSB cable type A/Bâ (https://store.arduino.cc/product/M000006)
- Lancez lâIDE
- Choisir le port de communication : Menu Tools/Port + port
- Choisir le âboardâ : Menu Tools/Board + Arduino Uno
- Charger le sketch âFirmataâ : Menu Files/Examples/Firmata + Choisir âStandardFirmataâ
- Ensuite uploader sur lâArduino : Menu Sketch/Upload
Si vous voulez une version en image, vous pouvez aller ici: http://www.instructables.com/id/Arduino-Installing-Standard-Firmata/?ALLSTEPS
VĂ©rifications
Ajouter une diode sur lâArduino comme ceci:
Ensuite branchez lâArduino sur le RaspBerry (lui mĂȘme branchĂ© sur le secteur ou sur une batterie de tĂ©lĂ©phone).
Dans le répertoire initialement créé (skynet
), créez un fichier led.js
avec le contenu suivant:
Dans votre console (SSH), tapez node led.js
et si tout va bien, votre led devrait clignoter.
VoilĂ , maintenant, vous pouvez piloter votre Arduino Ă partir de votre RaspBerry.
Tweet