wifi.setmode(wifi.STATION)
wifi.sta.config({ssid="test",pwd="12345678"})
gpio.mode(1, gpio.INT, gpio.PULLUP)
function button_cb(level, timeout)
http.get("http://192.168.4.1/?pin="+(level == gpio.HIGH and "OFF" or "ON"), nil, function(code, data) print(code, data) end)
gpio.trig(1, level == gpio.HIGH and "down" or "up")
end
gpio.trig(1, "down", button_cb)
Сервер для включения светодиода
и примерно такой клиент для кнопки
Код:wifi.setmode(wifi.STATION) wifi.sta.config({ssid="test",pwd="12345678"}) gpio.mode(1, gpio.INT, gpio.PULLUP) function button_cb(level, timeout) http.get("http://192.168.4.1/?pin="+(level == gpio.HIGH and "OFF" or "ON"), nil, function(code, data) print(code, data) end) gpio.trig(1, level == gpio.HIGH and "down" or "up") end gpio.trig(1, "down", button_cb)
автор хочет халявы, так как сегодня суббота.
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
const char *ssid = "ssid";
const char *password = "12345678";
const char *host = "192.168.7.1";
int channel = 5;
WiFiServer server(8008);
long qqq = 0;
void setup() {
WiFi.persistent(false);
Serial.begin(9600);
delay(10);
Serial.println();
initWiFi();
server.begin();
}
void loop() {
yield();
WiFiClient client = server.available(); // listen for incoming clients
if (client) { // if you get a client,
Serial.println("new client"); // print a message out the serial port
String currentLine = ""; // make a String to hold incoming data from the client
while (client.connected()) { // loop while the client's connected
if (client.available()) { // if there's bytes to read from the client,
currentLine = client.readStringUntil('\r');
Serial.println(currentLine);
Serial.println(client.read());
initWiFi();
ESP.wdtFeed();
yield();
}
}
// close the connection:
client.flush();
client.stop();
Serial.println("client disonnected");
}
}
void initWiFi(void) {
IPAddress Ip(192, 168, 1, 1);
IPAddress NMask(255, 255, 255, 0);
WiFi.mode(WIFI_AP);
Ip.fromString(host);
WiFi.softAPConfig(Ip, Ip, NMask);
if (!WiFi.softAP( ssid, password,channel,0))
{
Serial.println("WiFi.softAP failed.(Password too short?)");
return;
}
IPAddress myIP = WiFi.softAPIP();
Serial.println();
Serial.print("AP IP address: ");
Serial.println(myIP);
long rssi = WiFi.RSSI();
long qqq = WiFi.RSSI();
Serial.print("signal strength (RSSI):");
Serial.print(rssi);
Serial.println(" dBm");
}
#include <ESP8266WiFi.h>
#include <WiFiUDP.h>
const char* ssid = "TEST";
const char* password = "Gacdert123";
WiFiUDP Udp;
void setup() {
// будем мигать встроенным светодиодом
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(115200);
Serial.printf("\nStart of program\n");
WiFi.softAP(ssid, password);
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);
Udp.begin(12345);
}
unsigned char Buf[1500]; // Буфер для приема пакета
void loop() {
Udp.parsePacket();
int sz = Udp.available();
if (sz)
{
Udp.read(Buf,sz);
digitalWrite(LED_BUILTIN, Buf[0]);
}
#include <ESP8266WiFi.h>
#include <WiFiUDP.h>
const char* ssid = "TEST";
const char* password = "Gacdert123";
WiFiUDP Udp;
IPAddress ip_host (192, 168, 4, 1); // Нужно подставить адрес AP
void setup() {
pinMode(D0, INPUT);
delay(1000);
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.print("\nConnecting to "); Serial.println(ssid);
while (WiFi.status() != WL_CONNECTED)
delay(500);
Serial.print(".");
}
Serial.println("\nConnected!");
delay(1000);
Serial.print("Local IP = ");
Serial.println(WiFi.localIP());
Udp.begin(12345);
}
void loop(){
uint8_t data = digitalRead(D0); // Считываем состояние входа
Udp.beginPacket(ip_host,12345); // Формируем пакет на порт 12345
Udp.write(data);
Udp.endPacket(); // Выдаем пакет
delay(100);
}
hi Grem_lineА вот пример передатчика с кнопкой на D0 (все в среде Ардуино)
Как видите - примеры совсем простые.
Код:#include <ESP8266WiFi.h> #include <WiFiUDP.h> const char* ssid = "TEST"; const char* password = "Gacdert123"; WiFiUDP Udp; IPAddress ip_host (192, 168, 4, 1); // Нужно подставить адрес AP void setup() { pinMode(D0, INPUT); delay(1000); Serial.begin(115200); WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); Serial.print("\nConnecting to "); Serial.println(ssid); while (WiFi.status() != WL_CONNECTED) delay(500); Serial.print("."); } Serial.println("\nConnected!"); delay(1000); Serial.print("Local IP = "); Serial.println(WiFi.localIP()); Udp.begin(12345); } void loop(){ uint8_t data = digitalRead(D0); // Считываем состояние входа Udp.beginPacket(ip_host,12345); // Формируем пакет на порт 12345 Udp.write(data); Udp.endPacket(); // Выдаем пакет delay(100); }