node.js-serialport-sublime-text-screenshot

Un module node.js pour lire les données du port série

Serialport est un module node.js qui permet de lire les infos du port série, ce qui ouvre pas mal de possibilité au javascript comme…  allumer la lumière du salon ou communiquer avec des drones.

Pour l’utiliser c’est assez simple

npm install serialport

 

Note

L’installation de serialport nécessite
python 2.X et les “xcode command line tools”
Pour les “command line tools” pas besoin de télécharger les quelques gigas de Xcode on peux les trouver ici

 

On va ensuite créer un serveur qu’on appelera server.js et y copier le code ci-dessous en précisant le bon “baudrate” et en remplaçant “tty.usbserial-A6023L0J” par l’adresse du port avec lequel on veux communiquer.  ls /dev/tty.*  pour voir les port actifs

Puis on lance le serveur

node server.js

 

En admettant qu’un appareil soit branché sur un port série de votre ordinateur et qu’il envoi des données, le terminal devrait maintenant afficher le console.log qui ressemble à ça :

node.js serialport

Serialport permet de lire mais aussi d’écrire sur le port série, ce qui laisse envisager de nombreuses d’utilisations, si ça vous intérresse voici deux articles intéressant, le premier sur le controle d’un arduino avec node.js et le deuxième sur le javascript et la robotique par l’auteur du module serialport.

http://brandontilley.com/2012/03/02/controlling-an-arduino-from-nodejs.html

http://voodootikigod.com/nodebots-the-rise-of-js-robotics

virtual-hosts-ec2-elastic-ip

Créer un virtual host, une elastic IP et rediriger son domaine vers EC2

Configurer les virtual host

Après avoir configuré un serveur ubuntu avec amazon EC2, on va maintenant voir comment le configurer.

Il faut d’abord créer l’arboresscence nécessaire pour notre site

Il faut ensuite modifier la config d’apache pour qu’il sache ou se trouve notre dossier domain.com, par défaut les sites accesible par apache sont dans /var/www , ici on préfère mettre domain.com dans le repertoire utilisateur (/home/users/ubuntu) afin de pouvoir y accéder facilement avec un client ftp. Pour se connecter en SFTP tout est expliqué dans cet article.

On va créer un nouveau fichier dans sites-available
nano /etc/apache2/sites-available/domain.com

Et y coller ceci, en remplacant bien sur domain.com par votre nom de domaine :

Il faut maintenat activer le site avec la commande suivante
sudo a2ensite domain.com

Puis on rafraichit la configuration d’apache
sudo service apache2 reload

Créer une elastic IP

On se rend sur la console AWS. Si vous n’avez pas encore créé d’instance EC2, voir cet article.

aws ec2 allocate new elastic IP
et dans elastic ip, “allocate new adress”

allocate new elastic IP on amazon aws ec2

On choisi ec2 et on associe ensuite l’ip avec l’instance crée dans ce post

allocate new elastic IP on amazon aws ec2 associate with instance

 

aws ec2 new elastic ip created

Editer la zone DNS

Il faut ensuite mofifier la zone DNS chez son registrar.
Chez OVH c’est par ici.
Puis dans “Domaines & DNS” puis “Zone DNS”.
On va changer les champs de type A et remplacer leurs ip par l’elastic ip que l’on viens de créer chez amazon.

 

C’est fini ! Domain.com devrait maintenant pointer vers notre nouveau serveur.

Transmit-sftp-ec2

Se connecter en SFTP à une instance EC2 avec Transmit

On vu dans cet article comment se connecter en ssh à une instance EC2. Mais pour uploader/modifier des fichiers sur notre serveur, c’est quand même plus agréable en sftp (Secure FTP).

Si vous préferez uploader des fichier avec scp, c’est comme ça :
scp -i  aws.pem .localized [email protected]:~/public_html

On va avoir besoin du certificat (fichier .pem) qui permet de se connecter en ssh à notre instance EC2.
On va d’abord placer le certificat dans le dossier .ssh du repertoire utilisateur.
cp aws.pem ~/.ssh

Si le dossier .ssh n’existe pas, il faut le créer
mkdir ~/.ssh

On ouvre ensuite transmit, puis on crée un nouveau favori
connect sftp ec2 transmit
Dans “serveur” on met l’adresse de notre instance ec2.
Pour le nom d’utilisateur, ubuntu.
Et rien pour le mot de passe, transmit va chercher tout seul les fichiers qui se trouvent dans .ssh, on aurait aussi pu cliquer sur la clé dans transmit et selectionner le certificat, on est donc pas obligé de deplacer le certificat dans .ssh mais c’est un bon endroit pour le ranger.

Ca y’est on peut se connecter et uploader !
connect sftp ec2 transmit

AWS_LOGO

Configurer gratuitement un serveur ubuntu en 10 min avec amazon EC2

Ca permet d’avoir le contrôle total sur son serveur, de pouvoir modifier la config d’apache, d’héberger beaucoup de sites et de bases de données installer GIT ou node.js, et pas mal d’autres choses impossibles avec un serveur mutualisé par exemple

On verra plus tard comment coupler son serveur EC2 avec deux autres services d’amazon, S3 et CloudFront pour améliorer la vitesse de chargement de son site

C’est gratuit pour une instance micro (613 MiB of memory, up to 2 ECUs (for short periodic bursts), EBS storage only, 32-bit or 64-bit).

Pour en profiter, c’est par ici et cliquer sur “signup now”

On se rend ensuite sur l’EC2 management console

Aws ec2 console launch instance

Cliquer ensuite sur “launch instance”

Aws ec2 console choose ami

On choisi “classic wizard” puis “continue”

Aws ec2 console choose ami quick start

ici on sélectionne “Ubuntu Server 12.10”

Aws ec2 console instance details

Laisser les paramètres par défaut.

Aws ec2 console advanced instance options

On laisse une nouvelle fois les paramètres par défaut

Aws ec2 console storage device configuration

Encore une fois on garde les paramètres par défaut pour “storage device configuration”

Aws ec2 console tags

Cliquer sur “continue”

Aws ec2 console create a new key pair

A l’étape “create a key pair” on va pouvoir télécharger un certificat qui nous permettra plus tard de se connecter au serveur en ssh ou sftp, choisissez ce que vous voulez pour le nom.

Aws ec2 console create a new security group

A l’écran “configure firewall” choisir http dans le menu déroulant “create a new rule” puis “add rule”, ça permettra de pouvoir accéder au serveur depuis un navigateur

aws ec2 console review

On arrive au récapitulatif de la config de notre instance, cliquer sur “Launch”

aws ec2 console your instances are now launching

Puis sur “close”

aws ec2 console running instances

On attend que l’instance se lance, ca devrait prendre quelques secondes, puis on copie le “public DNS”, ici : ec2-54-216-58-83.eu-west-1.compute.amazonaws.com.
On pourra aussi y accéder avec l’IP 54.216.58.83.

On va ensuite s’occuper du SSH, pour se connecter en sftp voir ce post.
Pour se connecter en ssh , ouvrir un terminal, naviguer jusqu’au dossier contenant le fichier pem téléchargé.

Il faut d’abord changer les droit sur le fichier pem

On peut ensuite se connecter en ssh avec cette commande

Le message suivant devrait apparaître.

 

Taper “yes”

ssh ubuntu aws ec2

Ca y’est on est connecté sur notre serveur !

On va maintenant pouvoir configurer notre serveur.
D’abord, on mes à jour le cache des paquets avec

 

 

On va ensuite installer apache mysql et php avec cette commande (avec le “^” a la fin).

ssh ubuntu ec2 install mysql

A cette étape on choisi un mot de passe pour mysql.

A la fin de l’installation, le serveur est operationnel ! On peut verifier en se rendant à l ‘adresse du serveur depuis un naviguateur.

apache ec2 ubuntu it works

Il ne reste plus qu’a installer phpmyadmin

ssh ubuntu ec2 install phpmyadmin
A cette étape on choise apache

ssh ubuntu ec2 install phpmyadmin choose server

Puis no a la question “Configure database for phpmyadmin with dbconfig-common?”

On va ensuite ouvrir le fichier de configuration d’apache

et y inclure la configuration de phpmyadmin. Copier coller la ligne suivante :

configure apache phpmyadmin ubuntu ec2

Il faut maintenant redemarrer apache pour que les changements de configuration soient pris en compte.

on peut maintenant acceder a phpmyadmin à cette adresse

ubuntu ec2 login phpmyadmin

login : root
mot de passe : celui utilisé lors de l’installation de mysql
Dans le prochain post on vera comment configurer un virtualhost, créer une elasctic ip et rediriger un domaine existant vers ec2