dune04
January 10, 2024, 5:41pm
1
Bonjour à tous,
Comment traduire en langage Arduino cet extrait Pyton issu de ce site : pyportal-flight-tracker/code.py at main · rhammell/pyportal-flight-tracker · GitHub
# Build request headers
auth_credentials = secrets["opensky_username"] + ":" + secrets["opensky_password"]
auth_token = b64encode(auth_credentials.encode("utf-8")).decode("ascii")
headers = {'Authorization': 'Basic ' + auth_token}
Merci de votre aide
J-M-L
January 10, 2024, 5:58pm
2
je ne sais pas trop ce que vous voulez faire et sur quel arduino, mais avec la classe String ça pourrait être un truc du genre
#include <Base64.h>
#define opensky_username "VotreNomDUtilisateur"
#define opensky_password "VotreMotDePasse"
const char* auth_credentials = opensky_username ":" opensky_password;
String auth_token;
String headers;
void setup() {
auth_token = ici encoder en base64 auth_credentials; // <<== utiliser une bibliothèque
headers = "Authorization: Basic "
headers += auth_token;
...
}
void loop() {}
il faut prendre une des bibliothèques base64 adaptée pour votre arduino
dune04
January 10, 2024, 6:01pm
3
Merci J-M-L,
C'est un ESP32 wroom
J-M-L
January 10, 2024, 6:31pm
4
un truc comme ça alors
#include <base64.h>
#define opensky_username "opensky_username"
#define opensky_password "opensky_password"
const char * auth_credentials = opensky_username ":" opensky_password;
String auth_token;
String headers;
void setup() {
Serial.begin(115200);
auth_token = base64::encode((const uint8_t *) auth_credentials, strlen(auth_credentials));
headers = "Authorization: Basic ";
headers += auth_token;
// debug
Serial.print("auth_credentials => "); Serial.println(auth_credentials);
Serial.print("auth_token => "); Serial.println(auth_token);
Serial.print("headers => "); Serial.println(headers);
}
void loop() {}
dune04
January 10, 2024, 6:42pm
5
Merci J-M-L,
Ca fonctionne!
Mon but est d'accéder au données OpenSky par leur API.
Il existe un programme officiel Python pour accéder à leur site (cf ci dessus) et j'essaye de le traduire en arduino avec l'aide du programme que vous avez écrit pour accéder au site RTE
Ok. tenez voici un code qui je pense devrait marcher. Je n'ai pas pu tester donc vous me direz si ça fonctionne
il n'y a que 3 lignes à modifier pour adapter cela à votre environnement
const char* ssid = "**********";
const char* password = "**********";
#define identificationRTE "*****************************==" // ID Client et ID Secret en base 64
la première ligne c'est le nom de votre réseau Wi-Fi
la deuxième ligne c'est le mot de passe pour y accéder
la …
J'y vais pas à pas... et j'aurais sans doute d'autres questions.
Cordialement.
system
Closed
July 8, 2024, 6:54pm
7
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.