Skip to content

Instantly share code, notes, and snippets.

@bembu
Last active October 25, 2016 11:24
Show Gist options
  • Save bembu/d8218d9dfc17e985f79f06f88889dfae to your computer and use it in GitHub Desktop.
Save bembu/d8218d9dfc17e985f79f06f88889dfae to your computer and use it in GitHub Desktop.
/*
Yksinkertainen scripti Wemos D1 Minille.
Koodi lähettää napinpainalluksella HTTP-pyynnön
haluttuun osoitteeseen .
Lyhyt painallus lähettää pyynnön osoitteeseen
server_ip:port/photo
Asenna Arduino core ESP8266-alustalle osoitteesta
https://github.com/esp8266/Arduino
@author Peter Kronström
*/
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <Ticker.h>
/* Selfie-kameran asetukset tänne */
#define WIFI_SSID "ssid" // WiFin tunnus
#define WIFI_PASSWORD "pass" // WiFin salasana
#define SERVER_ADDRESS "192.168.1.xxx" // hae 'ifconfig'-komennolla Raspberrystä
#define SERVER_PORT 5000 // server.py:n portti
/* Joitakin staattisia muuttujia */
#define DEVICE_ID "nappi"
#define PAYLOAD "{\"success\":\"True\"}"
/* Pinnimäärittelyt */
#define BUTTONPIN D3
int buttonState = 0;
Ticker debounceTicker;
bool debounce = false;
int sendData(String url, String payload) {
HTTPClient http;
http.begin(SERVER_ADDRESS, SERVER_PORT, url);
http.addHeader("Content-Type", "application/json");
http.POST(payload);
http.end();
}
void doDebounce() {
debounce = false;
}
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
// Yritä yhdistää wifiin, jos ei onnistu niin yritä uudelleen
while (WiFi.waitForConnectResult() != WL_CONNECTED) {
Serial.println("Connection Failed! Rebooting...");
delay(5000);
ESP.restart();
}
Serial.print("Initialized.");
Serial.print(". IP: ");
Serial.println(WiFi.localIP());
}
void loop() {
buttonState = digitalRead(BUTTONPIN);
if (buttonState == LOW && !debounce) {
// Lyhyt painaminen.
sendData("/photo", PAYLOAD);
// Estä ohjelmaa rekisteröimästä epämääräiset
// häiriöt välittömästi painamisen jälkeen
debounce = true;
debounceTicker.attach_ms(500, doDebounce);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment