janvier 6

Serveur Blynk local

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.

Installer Java

sudo apt-get update
sudo apt-get install oracle-java8-jdk

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

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/download/v0.28.9/server-0.28.9-java8.jar »)

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.

Mettre à jour le server

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

Source

 

Blynk au démarrage du Raspi

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 &

Pare-feux

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

Blynk server has 3 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.

Configuration

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/master/server/core/src/main/resources/server.properties

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

si une appli utilise le port 8080 (apache…) ou 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

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 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.

 

 

 

 


Étiquettes : ,
Copyright 2017. All rights reserved.

Ecrit 6 janvier 2018 par Pit dans la catégorie "Non classé

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

8 + 7 =