serwo / temperatura / http / supla / sterowanie ?

cahr
Posts: 9
Joined: Wed Dec 20, 2023 11:50 pm

Post

Witam,
Czy da się połączyć ten program niżej oraz dodać suple ? np. żeby zobaczyć temp. ?
będzie dodane do tego czujnik temp. i sterowanie też względem temp.

Mam z allegro niby "nodemcu v3" przy wgraniu na gui generic "płytka nodemcu esp8266" nie działa poprawnie nie trzyma ustawień, generic esp8266 module 4mb działa ok może piny są inne ale nie sprwdzałem wszystkiego.
Z allegro też mam servo sg90, niby 180stopni ale nie mogłem go wychylić dalej jak 90stopni na nodemcu próbowałem różnych kombinacji z <Servo.h>, może jakieś pomysły ?

Code: Select all

// servo obraca sie po komendzie na klienta dhcp http://192.168.1.25/setServo?angle=180 / laczy po wifi

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <Servo.h>

const char *ssid = "dom";
const char *password = "11111111";

Servo myservo;  // create servo object to control a servo

const int servoPin = D4;  // servo signal pin (D4 on NodeMCU)
const int servoMin = 0;  // servo minimum angle (usually 0 degrees)
const int servoMax = 180;  // servo maximum angle (usually 180 degrees)

ESP8266WebServer server(80);

void setup() {
  Serial.begin(115200);

  // Łączenie z siecią Wi-Fi
  WiFi.begin(ssid, password);
  Serial.print("Łączenie z siecią Wi-Fi");
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.print(".");
  }
  Serial.println("\nPołączono z siecią Wi-Fi");

  myservo.attach(servoPin);  // attach servo to the signal pin
  myservo.write(90);  // move servo to center position

  server.on("/", HTTP_GET, [](){
    server.send(200, "text/html", "Hello from ESP8266!");
  });

  server.on("/setServo", HTTP_GET, [](){
    String angleParam = server.arg("angle");
    if (angleParam != "") {
      int angle = angleParam.toInt();
      if (angle >= servoMin && angle <= servoMax) {
        myservo.write(angle);
        server.send(200, "text/html", "Servo angle set to " + String(angle));
      } else {
        server.send(400, "text/html", "Invalid angle value");
      }
    } else {
      server.send(400, "text/html", "Angle parameter missing");
    }
  });

  server.begin();
}

void loop() {
  server.handleClient();  // Obsługa żądań klienta
  // Tu możesz dodać kod do wykonywania w pętli głównej programu
}
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

Da się połączyć z Suplą.

Musisz tylko nie robić samemu obsługi Wi-Fi, tylko zostawić to Supli.
Do termometru możesz użyć klas z Supli i z nich pobierać temperaturę, na podstawie której, będziesz sterował serwo.

Lokalny serwer http pewnie będzie się gryzł z serwerem http do trybu konfiguracyjnego, więc je pewnie trzeba by ustawić razem. Natomiast ESP8266 może być cieżko z pamięcią, jeśli chcesz mieć np. szyfrowane połączenie z Suplą i do tego lokalny serwer www - to musisz sam przetestować i zobaczyć, czy jest wystarczająco czy nie.
Najlepsze suple dla Twojego domu :mrgreen:
cahr
Posts: 9
Joined: Wed Dec 20, 2023 11:50 pm

Post

Nie wiem jak to zrobić, może jakaś podpowiedź ?
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

cahr wrote: Fri Jan 05, 2024 8:31 am Nie wiem jak to zrobić, może jakaś podpowiedź ?
Nie wiem na ile znasz podstawy programowania w C/C++?
Aby oswoić się z Suplą, to warto zacząć od przykłądów w SuplaDevice dla Arduino IDE.
Najlepsze suple dla Twojego domu :mrgreen:
cahr
Posts: 9
Joined: Wed Dec 20, 2023 11:50 pm

Post

A jakby kupić wersje ESP 16MB i wgrac 2 biny ?
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

cahr wrote: Fri Jan 05, 2024 3:13 pm A jakby kupić wersje ESP 16MB i wgrac 2 biny ?
Nie da się. Tam nie ma systemu operacyjnego i jest uruchamiana na procesorze tylko jedna aplikacja
Najlepsze suple dla Twojego domu :mrgreen:
cahr
Posts: 9
Joined: Wed Dec 20, 2023 11:50 pm

Post

No to mam plik bin z gui generic jak go teraz otworzyć i przerobić dodając kod który już mam ?

Czy może trzeba zrobić to z kodu źródłowego https://github.com/krycha88/GUI-Generic ?
[email protected]
Posts: 1584
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

cahr wrote: Sat Jan 06, 2024 9:36 am No to mam plik bin z gui generic jak go teraz otworzyć i przerobić dodając kod który już mam ?

Czy może trzeba zrobić to z kodu źródłowego https://github.com/krycha88/GUI-Generic ?
Musisz to zbudować sam, niestety GG jeszcze nie zwraca źródeł w paczce, tylko bin
cahr
Posts: 9
Joined: Wed Dec 20, 2023 11:50 pm

Post

Musisz to zbudować sam, niestety GG jeszcze nie zwraca źródeł w paczce, tylko bin
Chcodzi o szkic jak w arduino IDE ?
[email protected]
Posts: 1584
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

cahr wrote: Sat Jan 06, 2024 9:56 am
Musisz to zbudować sam, niestety GG jeszcze nie zwraca źródeł w paczce, tylko bin
Chcodzi o szkic jak w arduino IDE ?
Tak, przy czym mnie łatwiej było to budować przez vs code z platformio

Return to “Pomoc”