No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Pulp 00b97db567 Mettre à jour 'README.md' 1 week ago
client_ESP esp code ready for binding with wificlientsecure 2 months ago
client_JS_master Mettre à jour 'client_JS_master/main.js' 1 week ago
client_JS_slave timestamps on 10 digits 1 week ago
client_x86 node js master client OP 1 month ago
LICENSE Initial commit 2 months ago
README.md Mettre à jour 'README.md' 1 week ago

README.md

Organisation de la Blockchain et des JSONs

Stream requestStream

Clé request

{
    "user":"user id ou badge id",
    "door":"door id ex E209",
    "timestamp":"timestamp en ms au moment où la demande est faite par l'ESP"
}

Clé response

{
    "doorStatus":"réponse du serveur : 1 = oui , 2 = non, 3 = wait",
    "ticket":"txid de la demande à laquelle on répond"
}

Dans le cas où le serveur n’a pas encore publié sa réponse dans la blockchain, le serveur Node client forge un JSON avec le doorStatus “3” qu’il envoie à l’ESP lorsque celui-ci lui adresse une requete sur https://node_slave_client_ip:4000/api/req_status Cette requete contient simplement le txid et le timestamp de la requete d’ouverture dont on veut connaître l’état

{
    "txid":"txid de la requete d'ouverture dont on veut connaitre l'etat",
    "timestamp":"instant auquel l'ESP a daté sa demande lorsqu'il a fait la requete en question, c-a-d le même que dans la clé request"
}

Stream eventStream

Clé opening

Lorsque la porte a réellement été ouverte, l’ESP forge une requête POST et l’adresse sur https://node_slave_client_ip:4000/api/event/open . Cette requête contient le JSON suivant :

{
    "door":"door id ex E209",
    "request_txid":"txid de la requete qui a été validée pour ouvrir cette porte",
    "user":"user id ou badge id",
    "timestamp":"timestamp en ms au moment où l'ESP a détécté l'ouverture physique de la porte"
}

Clé closing

Lorsque la porte a réellement été fermée, l’ESP forge une requête POST et l’adresse sur https://node_slave_client_ip:4000/api/event/close . Cette requête contient le JSON suivant :

{
    "door":"door id ex E209",
    "request_txid":"txid de la requete qui a été validée pour ouvrir cette porte",
    "user":"user id ou badge id",
    "timestamp":"timestamp en ms au moment où l'ESP a détécté la fermeture physique de la porte"
}

Stream timeoutStream

Clé request

Lorsque la réponse est trop longue à lui parvenir, l’ESP forge une requête POST et l’adresse sur https://node_slave_client_ip:4000/api/timeout/open . Cette requête contient le JSON suivant :

{
    "door":"door id ex E209",
    "request_txid":"txid de la requete pour laquelle le serveur master a dépassé le délai imparti pour répondre (ou si user n'a pas validé)",
    "timestamp":"timestamp en ms au moment où le délai et dépassé, entraine une réponse négative dans le requestStream via la clé response"
}

Clé opening

{
    "door":"door id ex E209",
    "request_txid":"txid de la requete pour laquelle l'utilisateur a dépassé le délai imparti pour ouvrir physiquement la porte",
    "timestamp":"timestamp en ms au moment où l'ESP constate que le temps imparti pour ouvrir physiquement la porte a été dépassé"
}