Outils pour utilisateurs

Outils du site


wiki:projets:ardunet

Ardunet

Participants

  • Arthur Hennequin (Karang) : Software
  • Yanis Mazouz : Hardware

Présentation

Ardunet est un projet qui surf sur la vague créée par la sortie récente de l'esp8266, un microcontrôleur wifi. Il s'agit d'un port de l'api Arduino pour cette plateforme. En effet, nous avons constaté que l'api fournie par le fondeur (Espressif) pouvait sembler barbare pour certains makers et que le firmware AT installé par défaut montrait rapidement ses limites.

Exemple

Exemple de serveur http permettant d'allumer ou d'éteindre une led :

char* homeHandler(HeaderInfo* infos) {
    const char* content = "<h1>Ardunet test</h1><p>Change state of the led :<br/><a href=\"/high\">High</a><br/><a href=\"/low\">Low</a></p>";
    return (char*)content;
}
 
char* ledHighHandler(HeaderInfo* infos) {
    digitalWrite(12, HIGH);
    const char* content = "<h1>Ardunet LED</h1><p>Led state = high<br/><a href=\"/\">Home</a></p>";
    return (char*)content;
}
 
char* ledLowHandler(HeaderInfo* infos) {
    digitalWrite(12, LOW);
    const char* content = "<h1>Ardunet LED</h1><p>Led state = low<br/><a href=\"/\">Home</a></p>";
    return (char*)content;
}
 
void setup() {
    Serial.begin(115200);
 
    Wifi.setMode(WIFI_MODE_HOST);
    Wifi.beginHost("ArduNet", "", 1, WIFI_AUTH_OPEN); // ssid, password, channel, auth_method
    Wifi.setHostIP("192.168.0.42", "192.168.0.42", "255.255.255.0"); // ip, gateway, netmask
 
    HTTPServer.begin(80);
    HTTPServer.registerURL("/", homeHandler);
    HTTPServer.registerURL("/high", ledHighHandler);
    HTTPServer.registerURL("/low", ledLowHandler);
 
    pinMode(12, OUTPUT);
}
 
void loop() {
    delay(1000);
}

Sources

wiki/projets/ardunet.txt · Dernière modification: 2016/09/11 12:59 (modification externe)