Skip to content

NicolasLeRoux/rpas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RPAS

Introduction

Embedded system.

Installation

Locale

Pour effectuer l'installation sur une machine locale, la première étape consiste à installer les dépendances node avec la commande npm i.

Ensuite, effectuer l'installation de la librairie node-webrtc globalement avec la commande npm i -g wrtc.

Raspberry Pi 3

Mettre à jour les packets Raspbian (sudo apt-get update et sudo apt-get upgrade).

Ensuite, installer nodejs via les commande suivante:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

Puis, aller dans le répertoire srv (c'est un répertoire contient les fichiers de sites qui seront servis par ftp, rsync, www, cvs...).

Télécharger le projet Github en https. Ici, seul la lecture va nous intéresser.

git clone https://github.com/NicolasLeRoux/rpas.git

Puis, se déplacer dans le projet rpas.

Lancer la commande d'installation des dépendances node (npm i).

Ensuite, il est nécessaire d'installer la librairie node-webrtc globalement. En revanche, ce n'est pas la librairie officielle, mais un fork de cette dernière spécifique à l'architecture du raspberry pi 3.

cd ~
git clone https://github.com/ssaroha/node-webrtc.git
cd node-webrtc
gunzip third_party/webrtc/lib/libwebrtc.a.gz
npm install
npm link

Démarrage

Local

Démarrer l'application avec la commande npm run start:local.

⚠️ Le serveur doit être démarré afin d'initier la communication web socket.

À distance (Heroku)

Démarrer l'application avec la commande npm start.

PanTiltHat

Lien vers la documentation ici

Exemple de code python:

import pantilthat

pantilthat.pan(25) # From -90 to 90
pantilthat.tilt(-12) # From -90 to 90

RabbitMQ

Afin d'exécuter les applications Python et Node dans des process séparés, un message broker est utilisé pour effectuer la communication entre eux. Ici, c'est RabbitMQ notre message broker, avec amqplib pour l'intégration avec Node et pika pour Python. Cf medium

RabbitMQ implémente entre autre le protocole AMQP qui permet de transporter des messages contenant de l'information. Ce transport se fait de point à point ou bien sur le principe de l'abonnement à un type de message.

Installation

OSX

Installation avec brew:

brew update
brew install rabbitmq

Plus d'information ici.

Raspberry Pi 3

Télécharger l'archive. La dernière version est la 3.1.5.:

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.1.5/rabbitmq-server_3.1.5-1_all.deb

Installer les paquets supplémentaires:

sudo apt-get install -y erlang logrotate

Installer RabbitMQ:

sudo dpkg -i rabbitmq-server_3.1.5-1_all.deb

Si vous avez une erreur essayez la commande:

sudo apt-get -f install

Activer les plugins de gestion du serveur:

sudo rabbitmq-plugins enable rabbitmq_management

Puis redémarrer le service:

sudo service rabbitmq-server restart

Pour accéder au Raspberry Pi, aller à l'adresse http://<ip du raspberry>:15672/#/ avec les identifiants par défaut:

  • Username guest
  • Password guest

Annexe

Pour construire node-webrtc, voir ici

About

Remotely Piloted Aircraft System (Embedded system)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published