Serveur Blynk Sur Raspberry Pi

Published

Introduction: Serveur Blynk Sur Raspberry Pi

Blynk est un service génial permettant de contrôler les entrées/sorties de beaucoup de matériels (Arduino, raspberryPi, Teensy…) via une appli smartphone ou du code arduino.

Blynk peut aussi utiliser les capteurs du smartphones pour son projet. La création d’un compte octroi un cloud permettant la liaison via Internet mais du coup, une latence qui peut être gênante parfois. Heureusement, on peut facilement installer son propre serveur Blynk, en Java, sur un raspberry Pi (une version 2 avec Raspbian Lite dans mon exemple). L’avantage aussi est de s’affranchir de la limite « d’energy balance » du projet Blynk car sur son propre serveur, on peut monter cette valeur.

Step 1: Installer Java

sudo apt-get update

sudo apt-get install oracle-java8-jdk

Faire : java -version pour afficher le numéro de version

Step 2: Télécharger Et Installer Blynk

Allez chercher l’adresse sur le site : https://github.com/blynkkk/blynk-server/

(ex: wget « https://github.com/blynkkk/blynk-server/releases/... ») Démarrer Blynk (modifier le numéro de java selon) java -jar server-0.28.9-java8.jar -dataFolder /home/pi/Blynk

Un Ctrl+C ferme le serveur, pour redémarrer faire
java -jar server-0.28.9-java8.jar -dataFolder /home/pi/Blynk

Allez sur : https://ip_du_raspi:9443/admin Utiliser au départ admin@blynk.cc et admin pour rentrer dans l’interface, ajouter ensuite un utilisateur avec login et password et supprimer ensuite le compte admin.

Pour mettre à jour Blynk

Tuer le processus, via son numéro PID
ps -aux | grep java

sudo kill ***

Télécharger et installer la nouvelle version (Penser à modifier le crontab)

Step 3: Blynk Au Démarrage Du Raspberry

Editer le crontab :

sudo crontab -e (sudo si le dossier Blynk est root:root, sinon crontab -e)

ajouter :

@reboot java -jar /home/pi/server-0.28.9-java8.jar -dataFolder /home/pi/Blynk &

Step 4: Paramétrer Le FireWall

Au besoin, ajouter des règles de redirection à sa box :

Blynk server has ports open for different security levels.

8441 – SSL/TLS connection for hardware

8442 – plain TCP connection for hardware (no security)

9443 – Webhook SSL

8080 – Webhook (Modification des ports en début 2018)

443 – mutual authentication (mutual SSL) connection for Mobile Apps

A partir de la, il suffit de créer un projet dans l’appli Blynk et de choisir « custom » pour le serveur, avec l’adresse IP de son Raspberry ou l’adresse IP externe de sa box, si l’on souhaite un accès via une connexion 4G.

L’appli envoie le token du projet par mail mais on peut le récupérer via la rubrique « users » du serveur Blynk.

Step 5: Configuration De Blynk

On peut aussi créer et personnaliser un fichier server.properties selon des besoins particuliers mais ce n’est pas indispensable.

En cas de réinstallation du serveur, il suffira de sauvegarder ces fichiers.

sudo nano server.properties (dans le même dossier que le *.jar)

https://github.com/blynkkk/blynk-server/blob/mast...

remplacer #server.host=test.blynk.cc par server.host=192.168.0.30

si une appli utilise le port 8080 (apache…) on peut le changer http.port=8181 en cas de blocage via webhook webhooks.frequency.user.quota.limit=-1 to server properties. Erreur de flow (trop de requètes) If sending hundreds of requests is what you need for your product you may increase flood limit on local server and within Blynk library. For local server you need to change user.message.quota.limit property within server.properties file : #100 Req/sec rate limit per user. user.message.quota.limit=100 sudo nano mail.properties

On peut recevoir le token via Gmail…

créer un fichier mail.properties dans le même dossier que je ***.jar sudo nano mail.properties

ATTENTION : ne fonctionne pas si la « validation en 2 étapes » est activé sur le compte Google

Ajouter dedans :

mail.smtp.auth=true mail.smtp.starttls.enable=true mail.smtp.host=smtp.gmail.com mail.smtp.port=587 mail.smtp.username=YOUR_EMAIL_HERE mail.smtp.password=YOUR_EMAIL_PASS_HERE

Step 6: Webhook

Une des fonctions les plus puissante de Blynk est l’utilisation de webhook, des URL qui permettent de déclencher des actions sur Blynk.

Par exemple, via le WebHook de IFTTT :

https://son_ip_publique:9443/le_token_du_projet/update/d10?value=1

enverra la valeur 1 sur la pin virtuel numéro 10 de Blynk.

Share

    Recommendations

    • Woodworking Contest

      Woodworking Contest
    • Microcontroller Contest

      Microcontroller Contest
    • Casting Contest

      Casting Contest
    user

    We have a be nice policy.
    Please be positive and constructive.

    Tips

    Questions

    Comments