Проблема в сотрудничестве Django с esp 8266
Здравствуйте, мне нужна помощь с моим проектом django. Я хочу запускать программу на ESP 8266 с сайта django. Для тестирования я создал простую программу с мигающим диодом на ESP и я сделал кнопку на моем django сайте и она работает, но я использую "webbrowser()" в views.py и это не выглядит идеально (мне нужно оставаться на этом сайте, сделанном на django, а не открывать новый). Мне нужна помощь, чтобы создать что-то, что будет работать следующим образом: Я нажимаю кнопку на моем сайте django, программа в "views.py" посылает что-то в esp, который запускает программу на нем или изменяет что-то в коде ESP, который только запускает код, и он не открывает веб-браузер.
my views.py:
def espON(request):
on = On.objects.all()
off = Off.objects.all()
menu = menu.objects.all()
webbrowser.open("http://my_ip/turnOn")
d = {'on':on, 'off':off, 'menu':menu,}
return render(request, 'on/index.html', d)
ESP code:
#include <ESP8266WiFi.h>
#include <Ticker.h>
#include <Math.h>
const char* ssid = "my_ssid"; //nazwa ssid sieci
const char* password = "my_password"; //haslo
#define LED 5
WiFiServer server(80);
void setup() {
Serial.begin(115200);
delay(10);
pinMode(LED, OUTPUT);
//Laczenie z siecia wifi
Serial.println();
Serial.println();
Serial.print("Laczenie z: ");
Serial.println(ssid);
IPAddress ip(my_ip); //ip
IPAddress gateway(my_ip2);
IPAddress subnet(my_ip3);
WiFi.config(ip, gateway, subnet);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi polaczone");
// Start
server.begin();
Serial.println("Serwer uruchomiony");
}
void loop() {
while (WiFi.status() == WL_CONNECTED){
WiFiClient client = server.available();
if (!client) {
return;
}
String request = client.readStringUntil('\r');
client.flush();
//condition
if (request.indexOf("/turnOn") > 0)
{
digitalWrite(LED, HIGH); //work
}
if (request.indexOf("/turnOff") > 0) //not
{
digitalWrite(LED, LOW);
}
}
}