Code Monkey home page Code Monkey logo

raspberry-vision's Introduction

Raspberry-Vision

Ce repository a pour but d'aider à mettre en place une reconnaissance visuelle sur Raspberry Pi pour la FRC. Il contient un script bash pour installer les librairies ntcore, cscore et opencv nécéssaires pour la reconnaissance visuelle. Il contient aussi des exemples complets de reconnaissance visuelle.

Le script et les exemples peuvent être executés par n'importe quel Rasberry tournant sous Rasbian mais il est cependant préférable d'avoir une installation "fraîche" de Rasbian Stretch (très facile à installer avec NOOBS).

Configuration du Raspberry

Installation des librairies

Pour installer opencv, cscore et ntcore sur le Raspberry il faudra donc suivre ces étapes:

  • Installer git pour pouvoir cloner le repository:

    sudo apt-get update

    sudo apt-get install git

  • Cloner le repository dans /home/pi:

    git clone https://github.com/Team5553-RoboLyon/Raspberry-Vision

  • Ouvrir le script "Raspberry_init.bash" avec n'importe quel éditeur de texte et remplacer la ligne 33 par:

    OPENCV_VER="<Le dernier numéro de version stable d'opencv>"

  • Executer le script:

    ~/Raspberry-Vision/Raspberry_init.bash

Le script prend pas mal de temps avant de se terminer.

Acceder au raspberry par le réseau

Pour pouvoir controller le raspberry sans écran, on peut se connecter avec lui par ssh avec PuTTY (uniquement la console) ou par VNC Viewer (avec interface graphique). Pour ne pas avoir à connaître l'adresse IP du raspberry chaque fois que l'on veut s'y connecter, il faut aussi définir un nom d'hôte.

Pour activer le ssh et vnc sur le raspberry et définir un nom d'hôte:

  • Entrer dans la console : sudo raspi-config

  • Aller à Interfacing Options puis à SSH

  • Sélectionner Oui

  • Faire la même chose avec VNC

  • Aller à Network Options puis à Hostname

  • Sélectionner Ok puis entrer le nouveau nom d'hôte

  • Aller à Finish et redémarrer le Raspberry

Maintenant, quand le Raspberry est sur le même réseau ou connecté par ethernet avec un PC, on peut remplacer l'IP du raspberry par : <hostname>.local

Configuration pour la compétition

Exécuter un programme au démarrage

Pour exécuter un des programme au démarrage du Raspberry :

  • Editer le fichier /etc/rc.local avec les droits root :

    sudo nano /etc/rc.local

  • Ajouter la commande pour exécuter le programme en laissant la ligne exit 0 à la fin.

    Exemple du fichier /etc/rc.local pour full_processing :

    #!/bin/sh -e
    
    #... Script déjà existant que l'on laisse (sauf exit 0) ...
    
    #Si le fichier existe alors on l'exécute
    if [ -e /home/pi/Raspberry-Vision/Vision_example/full_processing/full_processing.exe ]
    then
            /home/pi/Raspberry-Vision/Vision_example/full_processing/full_processing.exe &
    fi
    
    exit 0
  • ctrl + o puis Entrer pour sauvegarder, ctrl + x pour fermer

⚠️ Attention : les programmes avec une interface graphique ne peuvent pas être exécutés au démarrage avec cette méthode

Desactiver le wifi et bluetooth

  • Editer le fichier /boot/config.txt : sudo nano /boot/config.txt

  • Ajouter ces lignes à la fin du fichier :

    # Uncomment this to disbale Wifi
    dtoverlay=pi3-disable-wifi
    
    # Uncomment this to disable Bluetooth
    dtoverlay=pi3-disable-bt
    
  • ctrl + o puis Entrer pour sauvegarder, ctrl + x pour fermer

Desactiver l'interface graphique

  • Entrer dans la console : sudo raspi-config

  • Aller à Boot Options puis à Desktop / CLI

  • Sélectionner l'option Console Autologin

  • Aller à Finish puis redémarrer le Raspberry

Pour lancer l'interface graphique après avoir démarré en mode console, entrer startx.

Exemples

Après l'éxécution du script, il est possible de faire de la reconnaissance visuelle. Pour compiler et executer les exemples, lire leur README.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.