Il s'agit de la commande libownet qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
propriétaire , (libownet) - interface simple à 1 fil en langage C vers le protocole owserver
SYNOPSIS
Libownet bibliothèque à lier avec votre programme
Poignée
OWNET_HANDLE
Gestion de chaque connexion owserver
Initialisation
OWNET_HANDLE OWNET_init( const carboniser * owserver_tcp_address_and_port )
Associer un propriétaire (1) adresse tcp/ip avec un handle.
Annuaire inscription
int Liste_répertoire OWNET( OWNET_HANDLE propriétaire_handle , const carboniser * chemin_onewire , carboniser **
virgule_liste_separée )
Créez une liste d'éléments de répertoire séparés par des virgules.
int OWNET_dirprocess( OWNET_HANDLE propriétaire_handle , const carboniser * chemin_onewire , annuler (*
fonction dir ) (annuler *, const carboniser 🇧🇷 annuler * pass_on_value )
annuler fonction dir ( annuler * pass_on_value , const carboniser * élément_répertoire )
Appliquer la fonction fonction dir à chaque élément de répertoire, ainsi qu'une valeur arbitraire_passée.
Obtenez données
int OWNET_lecture( OWNET_HANDLE propriétaire_handle , const carboniser * chemin_onewire , const carboniser **
chaîne_retour )
Lire une valeur (de taille spécifiée) à partir d'un appareil à 1 fil.
int OWNET_lread( OWNET_HANDLE propriétaire_handle , const carboniser * chemin_onewire , const carboniser **
chaîne_retour , taille_t Taille , off_t compenser )
Lire une valeur (de la taille et du décalage spécifiés) à partir d'un appareil à 1 fil.
int OWNET_présent( OWNET_HANDLE propriétaire_handle , const carboniser * chemin_onewire )
Vérifiez si un appareil à 1 fil est présent.
Ensemble données
int OWNET_put( OWNET_HANDLE propriétaire_handle , const carboniser * chemin_onewire , const carboniser *
chaîne_valeur , taille_t Taille )
Écrivez une valeur (de la taille spécifiée) sur un appareil à 1 fil.
int OWNET_lwrite( OWNET_HANDLE propriétaire_handle , const carboniser * chemin_onewire , const carboniser *
chaîne_valeur , taille_t Taille , off_t compenser )
Écrivez une valeur (de la taille et du décalage spécifiés) sur un appareil à 1 fil.
Fermer
annuler OWNET_fermer( OWNET_HANDLE propriétaire_handle )
Fermez la connexion à un owserver particulier.
annuler OWNET_closeall( annuler )
Fermez toutes les connexions owserver ouvertes.
annuler OWNET_finir( annuler )
Fermez toutes les connexions owserver ouvertes et libérez toute la mémoire.
Température en échelon
annuler OWNET_set_temperature_scale( carboniser échelle_température )
carboniser OWNET_get_temperature_scale( annuler )
Réglez et récupérez l'échelle de température utilisée pour toutes les communications.
Appareil le format
annuler OWNET_set_device_format( const carboniser * format_périphérique )
const carboniser * OWNET_get_device_format( annuler )
Définissez et récupérez le format du numéro de série de l'appareil à 1 fil utilisé pour toutes les communications.
FONCTIONS
OW_init
OW_init_string offre toute la flexibilité du oufs (1) et owhttpd (1) ligne de commande.
Arguments
Peut être aussi simple que le nom de l'appareil, une spécification complète des paramètres. Un ou
plus de noms de périphériques (y compris tcp, série, usb...) et de commutateurs de ligne de commande. Voir
oufs (1) pour la syntaxe complète.
Retours de produits
0 pour le succès. -1 en cas d'erreur et errno sera mis. OW_finir n'a pas besoin d'être
appelé si OW_init échoue.
Séquence
Un de init les fonctions doivent être appelées avant d'accéder au bus 1 fil.
OW_finir Est facultatif.
OW_init_args
OW_init_args offre toute la flexibilité du oufs (1) et owhttpd (1) ligne de commande.
Arguments
Un ou plusieurs noms de périphérique (y compris tcp, série, usb...) et des commutateurs de ligne de commande.
See oufs (1) pour la syntaxe complète. contrairement à OW_init_string les arguments sont dans argv/argc
le format.
Retours de produits
0 pour le succès. -1 en cas d'erreur et errno sera mis. OW_finir n'a pas besoin d'être
appelé si OW_init échoue.
Séquence
Un de init les fonctions doivent être appelées avant d'accéder au bus 1 fil.
OW_finir Est facultatif.
OW_get
OW_get est utilisé pour obtenir les listes de répertoires et le contenu des fichiers. Les résultats sont mis dans un
tampon alloué dynamiquement.
Arguments
chemin est le chemin d'accès au répertoire ou au fichier (propriété). *amortir renvoie un pointeur vers
un tampon contenant le répertoire (séparé par des virgules) ou la valeur. longueur_tampon
renvoie la longueur de la valeur/chaîne dans tampon
Retours de produits
nombre d'octets en cas de succès. -1 en cas d'erreur (et errno est réglé).
Séquence
Un de init les fonctions doivent être appelées avant d'accéder au bus 1 fil.
OW_finir Est facultatif.
Important noter
tampon est alloué ( avec malloc ) par OW_get mais doit être libéré dans votre programme.
See malloc (3) et gratuitement (3)
OW_lread
OW_lread est utilisé pour lire les puces mémoire à 1 fil. Considérez-le comme une combinaison de je cherche et
lire Il permet un accès aléatoire à la mémoire, en spécifiant l'emplacement et la longueur. contrairement à OW_get
les répertoires ne peuvent pas être obtenus et le tampon doit être pré-alloué plutôt qu'alloué
par la routine. tampon doit être au moins Taille longueur.
Arguments
chemin est le chemin d'accès au fichier (propriété). tampon est la zone mémoire (pré-allouée)
où la valeur sera placée. Taille est la longueur d'octets demandée. compenser is
la position dans le fichier pour commencer la lecture.
Retours de produits
nombre d'octets en cas de succès. -1 en cas d'erreur (et errno est réglé).
Séquence
Un de init les fonctions doivent être appelées avant d'accéder au bus 1 fil.
OW_finir Est facultatif.
OW_put
OW_put est un moyen facile d'écrire sur des puces à 1 fil.
Arguments
chemin est le chemin d'accès au fichier (propriété). tampon est la valeur à écrire.
longueur_tampon est la longueur de la valeur un tampon. Retours de produits nombre d'octets sur
Succès. -1 en cas d'erreur (et errno est réglé).
Séquence
Un de init les fonctions doivent être appelées avant d'accéder au bus 1 fil.
OW_finir Est facultatif.
OW_lwrite
OW_lwrite est le compagnon de OW_lread. Il permet d'écrire à des positions arbitraires dans
Mémoire à 1 fil. Considérez-le comme une combinaison de je cherche et écrire. tampon doit être au moins
Taille longueur.
Arguments
chemin est le chemin d'accès au fichier (propriété). tampon sont les données à écrire. Taille
est la longueur d'octets à écrire. compenser est la position dans le fichier pour commencer
en train d'écrire.
Retours de produits
nombre d'octets en cas de succès. -1 en cas d'erreur (et errno est réglé).
Séquence
Un de init les fonctions doivent être appelées avant d'accéder au bus 1 fil.
OW_finir Est facultatif.
OW_finir
OW_finir nettoie le OWFS Routines à 1 fil, libère les appareils et la mémoire.
Arguments
Aucun.
Retours de produits
Aucune
Séquence
OW_finir est facultatif puisque le nettoyage est automatique à la sortie du programme.
DESCRIPTION
1-Wire
Fil 1 est un protocole de câblage et une série d'appareils conçus et fabriqués par Dallas
Semiconductor, Inc. Le bus est un schéma de connexion basse vitesse et basse consommation dans lequel les données
la ligne peut également fournir de l'énergie.
Chaque appareil est numéroté de manière unique et inaltérable lors de la fabrication. Il y a un large
variété d'appareils, y compris la mémoire, les capteurs (humidité, température, tension, contact,
courant), interrupteurs, minuteries et enregistreurs de données. Des appareils plus complexes (comme le thermocouple
capteurs) peuvent être construits avec ces appareils de base. Il existe également des appareils à 1 fil qui ont
cryptage inclus.
Le schéma à 1 fil utilise un seul bus maître et multiple esclaves sur le même fil. Le bus
le maître initie toutes les communications. Les esclaves peuvent être découverts individuellement et
adressé à l'aide de leur identifiant unique.
Les maîtres de bus sont disponibles dans une variété de configurations, y compris série, parallèle, i2c, réseau
ou adaptateurs USB.
OWFS unique
OWFS est une suite de programmes conçus pour rendre le bus 1 fil et ses appareils facilement
accessible. Le principe sous-jacent est de créer un système de fichiers virtuel, avec l'ID unique
étant le répertoire, et les propriétés individuelles de l'appareil sont représentées comme de simples
fichiers qui peuvent être lus et écrits.
Les détails de la conception individuelle de l'esclave ou du maître sont cachés derrière une interface cohérente.
L'objectif est de fournir un ensemble d'outils simple pour un concepteur de logiciels pour créer une surveillance
ou contrôler les applications. Il y a quelques améliorations de performances dans la mise en œuvre,
y compris la mise en cache des données, l'accès parallèle aux maîtres de bus et l'agrégation de périphériques
la communication. L'objectif fondamental a toujours été la facilité d'utilisation, la flexibilité et la
l'exactitude plutôt que la vitesse.
libowcapi
libowcapi (1) est une encapsulation de la pleine libow bibliothèque pour les programmes C.
libowcapi (1) permet à un programme C d'utiliser OWFS principes (schéma de nommage cohérent,
plusieurs adaptateurs, périphériques et compatibilité) directement à partir d'un programme C. Il y a
modules analogues pour d'autres langages de programmation :
C libowcapi
perl chouette
php owphp
python owpython
tcl chouette
EXEMPLE
/* Liste simple des répertoires -- pas de vérification d'erreur */
#comprendre
char * buf;
size_t s ;
OWNET_init("localhost:4304");
OWNET_dirlist("/",&buf,&s) ;
printf("Répertoire %s0,buf);
libre (buff);
OWNET_finish() ;
Utiliser libownet en ligne en utilisant les services onworks.net