envoi de données par 4g ou wifi

Vous souhaitez développer un projet mais vous manquez de temps, de compétences ? Présentez votre projet ici pour trouver des participants...

Modérateur : Francois

Répondre
bipbip38
Messages : 7
Enregistré le : jeu. 1 août 2019 13:07

envoi de données par 4g ou wifi

Message par bipbip38 » jeu. 1 août 2019 14:04

Bonjour à tous,

Je suis débutant en raspberry. Je ne connaissais pas ce monde, mais j'ai un petit projet qui m'a orienté vers vous au fil de mes recherches. Donc désolé par avance si je pose des questions qui peuvent paraître bêtes.

Voilà ma problématique :

Matériel :
- RPI 3B+
- carte 3G/4G/GPS waveshare SIM7600E-H (GPIO)
- Carte avec SSD EVO 860 (USB3)
- Alimentation par batterie

Projet :
Pour le moment le RPI fonctionne sur SD et sur alimentation sescteur (moins de trucs posé en vrac sur le bureau), mais à terme le RPI devra booter sur le SSD et il sera alimenter par une batterie à définir en capacité après test de consommation total en pleine charge.
Il faudra que je mette si possible en place un bouton marche/arrêt propre.

L'idée du projet est d'automatiser l'envoie par la carte waveshare des données contenu sur une carte SD sur mon serveur (IP Fixes ou DNS) par le biais du WIFI libre d'accès, à défaut par la 4G, à défaut par la 3G et de créer une copie de sauvegarde temporaire sur une partition du SSD.

en résumé :
1/ J’insère une carte SD
2/ Le RPI sort de veille
3/ Le RPI monte la SD
4/ LE RPI copie les données de la SD vers le SSD
5/ Le RPI envoi les données de la SD vers une adresse avec DNS ou IP Fixe via WIFI ou 4G ou 3G
6/ Le RPI efface la SD (pas forcement un formatage)
7/ Le RPI démonte la SD
8/ Le RPI se remet en veille

Je ne connais pas du tout le langage python, si quelqu'un pouvait m'aider dans le codage ou me servir de mentor ça serait vraiment un plus pour moi.

Je vous remercie par avance.

cbalo

Re: envoi de données par 4g ou wifi

Message par cbalo » mar. 27 août 2019 21:37

Bonjour,
Déjà je suppose que ton raspberry démarre exclusivement sur ton SSD sans la présence de la SDCARD sans soucis ?

Je pense que la partie auto-montage de la SDCARD peut-être sous-traitée par udiskie
sudo apt-get udiskie
puis udiskie --help te montrera ce qu'il sait faire :
Tourner en démon et monter automatiquement un périphérique amovible entre autre.

Si cela fonctionne, (tu peux tester en "live" avant décrire une seule ligne de code)

Alors ton script pourrait être un démon qui regarde si la carte est montée (puisque udiskie le fera pour toi) puis tu fais le reste du traitement et tu finis par un démontage propre en python (gaffe que udiskie ne la remonte pas aussitôt)

Mais ce que tu demandes pourrait être entièrement fait en shell :
En shell, faire une boucle est facile (while)
En shell, tester la présence d'un fichier est facile (if [ -f ..... ]; then
En shell tu peux facilement copier des fichiers (même d'un dossier complet y compris avec ces sous-dossiers) (cp)
En shell, écrire dans un fichier texte est simplissime (echo "kjjkljljl" > monfichier (vider+écrire)/ echo "kjjkljljl" >> monfichier (ajouter une ligne))
En shell tu peux facilement envoyer des fichiers via ftp (apt-get install ftp)
En shell, démonter un périphérique est facile (umount)

Et avec systemctl, transformer un scrit shell en service basique (daemon) n'a jamais été aussi simple.

Bon courage

bipbip38
Messages : 7
Enregistré le : jeu. 1 août 2019 13:07

Re: envoi de données par 4g ou wifi

Message par bipbip38 » mar. 24 sept. 2019 16:49

Merci pou ton retour.

J'avais initialement prie le parti du python, car les commandes de communication avec la carte se font avec des commandes AT. Le fournisseur donne des exemple de programmation en python et en C++.
Je ne sais pas y on peut envoyer des commande AT en shell?? si c'est le cas, ça facilitera le problème c'est certain.

Si tu peux me faire un retour sur cette dernière question, ça m'avancerait beaucoup.

Je te remercie par avance.

cbalo

Re: envoi de données par 4g ou wifi

Message par cbalo » mar. 24 sept. 2019 22:29

Si avec python, tu trouves comment détecter l'insertion de la SDCARD (pas trouvé)

Sinon, tu peux faire un mixe aussi :
Un bout de shell pour la détection de l'insertion de la carte SD utilisant udiskie , lequel lance le script python pour réaliser la tâche à effectuer lorsque la carte SD est détectée.

bipbip38
Messages : 7
Enregistré le : jeu. 1 août 2019 13:07

Re: envoi de données par 4g ou wifi

Message par bipbip38 » ven. 27 sept. 2019 18:03

Bonjour,

Pour le moment, j'ai construit le script une fois la carte inséré et jusqu'à l'ejection.

Effectivement il me manque la détection d'insertion et la mise en route du script.

Je ne connais pas la commande que tu m'as indiqué.
Est ce que tu peux me dire comment fonctionne cette commande? Et un exemple de syntaxe?
En tout cas merci pour cette info.

Bonne fin de journée.

cbalo

Re: envoi de données par 4g ou wifi

Message par cbalo » ven. 27 sept. 2019 18:23

Non, en fait, j'avais juste chercher sur google et je suis tombé sur udiskie
Par contre, je ne sais pas s'il est utilisable sans le bureau car le paquet donne aussi des interactions avec le bureau (icône).

Ca à l'air assez simple
https://github.com/coldfix/udiskie/wiki/Usage

dyox
Raspinaute
Messages : 969
Enregistré le : dim. 28 déc. 2014 15:28
Localisation : Le long de la côte, au dessus du pays des bigoudennes, aïe

Re: envoi de données par 4g ou wifi

Message par dyox » ven. 27 sept. 2019 19:30

Bonsoir,

Je pense à surveiller l'apparition de la sd (mmcblk0) dans /etc/fstab ou /etc/mtab avec un grep qui déclenche une copie (rsync) dans un dossier cible du ssd et à distance. Et en bash.

Par contre aucune idée pour le 2/ et 8/ (je n'ai pas cherché non plus)

bipbip38
Messages : 7
Enregistré le : jeu. 1 août 2019 13:07

Re: envoi de données par 4g ou wifi

Message par bipbip38 » jeu. 24 oct. 2019 10:54

bonjour,

Merci pour vos retour.
L'idée serait plutôt de laisser Linux faire la veille (économie d'énergie avec un processus qui tour en plus sans apporter de plus value) et lorsque la carte est détecté par linux (j'ai une fenêtre qui s'affiche automatiquement en me demandant quelle action faire), déclencher l’exécution du programme.

Le soucis, c'est que je ne connais pas le nom du processus linux qui fait la veille ? et comment lui rajouter l'exécution du programme! :(

Si vous avez des idées, je suis preneur.

Encore merci pour les pistes de réflexion.

PS : si une personne se sent de m'optimiser mon programme, ça me ferait plaisir. Je pourrais vous le joindre en MP.

cbalo

Re: envoi de données par 4g ou wifi

Message par cbalo » mar. 29 oct. 2019 19:42

Bonsoir,
Alors là, je sèche. Je ne sais même pas si c'est possible.
Bon courage

Répondre

Retourner vers « Projets »