Pytania o własny kod.

matrix0606
Posts: 496
Joined: Tue Nov 08, 2022 9:05 pm

Post

Witam.
Wiele razy zastanawiałem się jak zaimplementować własny kod do Wemosa D1 Mini i jakoś nie miałem pomysłu, nic sensownego na forum nie znalazłem mimo, że koledzy podpowiadali to jakoś zrozumieć tego nie mogłem. I teraz na koniec roku, kiedy zainstalowałem bibliotekę SuplaDevice i przejrzałem przykłady to trochę mnie olśniło, lecz mam pytania (przynajmniej 2):
1) Jeżeli na początku całego kodu includuję to skąd mam wiedzieć co? Gdzieś jest jakiś spis co gdzie się znajduje?
Zauważyłem, że wszystko znajduje się w konkretnych miejscach. Na ten przykład DS18B20 jest jakby w katalogu "sensor":

Code: Select all

#include <supla/sensor/DS18B20.h>
sterowanie diodami RGB znajduje się jakby w katalogu "control"

Code: Select all

#include <supla/control/rgbw_leds.h>
I niby to logiczne ale jak wiedzieć jaka jest pełna nazwa?
2) Jeżeli chciałbym coś dopisać w pętli głównej to wystarczy, że dopiszę to jak na poniższym przykładzie ?

Code: Select all

void loop() {
  SuplaDevice.iterate();

  static uint32_t lastTime = 0;
  if (millis() - lastTime > 60000) {
    lastTime = millis();
    static bool greetingsSend = false;
    if (!greetingsSend) {
      greetingsSend = true;
      Supla::Notification::Send(
          -1, "The Device", "Hello World! I'm your device with notifications!");
    }

    Supla::Notification::SendF(0, "Home", "Current temperature %0.2f",
        t1->getChannel()->getValueDouble());
    if (t2->getChannel()->getValueDouble() < 5) {
      Supla::Notification::Send(1, "Outside", "It is cold outside!");
    }
  }
Czyli typowy kod Arduino po SuplaDevice.iterate();
3) Czy odczyt i zapis stanu pinów ESP8266 z Wemosa D1 Mini odbywa się tak samo jak w Arduino czyli wiadomo np:

Code: Select all

digitalWrite(pin, stan)
Vivo V21 5G 8G RAM + 4G SWAP - Funtouch OS 12 Global
MOBO - MSI B350 Tomahawk || GPU - XFX Radeon RX 6600 Speedster
CPU - Ryzen5 1400 3,2G || PSU - SPC Vero | L2 500W 80 Plus Bronze
RAM - HyperX 2x8GB 3200MHz CL16 Predator RGB
User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

Cześć, na początek zacznij od tego kursu:
https://forbot.pl/blog/kurs-arduino-pod ... rsu-id5290
w razie pytań pytaj na forum Forbota, możesz mnie zawołać, mam tam taki sam nick jak tutaj.
Szczerze polecam ten i inne kursy z Forbota. Sam nie miłem żadnego pojęcia o elektronice i programowaniu. Dalej mam nikłe, ale Forbot sprawił, że co nieco potrafię zbudować i zaprogramować.
Jeśli umiesz już programować arduino, to nauczenie się podstaw Supli nie będzie wyzwaniem, choć nie ma skąd czerpać skondensowanej wiedzy. Pytaj, pytaj, pytaj.
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
matrix0606
Posts: 496
Joined: Tue Nov 08, 2022 9:05 pm

Post

SOYER wrote: Sun Dec 31, 2023 7:01 pm Cześć, na początek zacznij od tego kursu:
https://forbot.pl/blog/kurs-arduino-pod ... rsu-id5290
Kurs Arduino nie jest mi potrzebny, bo znam go na tyle, że sam napisałem stację lutowniczą z dość rozbudowanym menu.
SOYER wrote: Sun Dec 31, 2023 7:01 pmw razie pytań pytaj na forum Forbota, możesz mnie zawołać, mam tam taki sam nick jak tutaj.
Będę pamiętał.
SOYER wrote: Sun Dec 31, 2023 7:01 pmJeśli umiesz już programować arduino, to nauczenie się podstaw Supli nie będzie wyzwaniem, choć nie ma skąd czerpać skondensowanej wiedzy. Pytaj, pytaj, pytaj.
Stąd właśnie moje pytania.
Vivo V21 5G 8G RAM + 4G SWAP - Funtouch OS 12 Global
MOBO - MSI B350 Tomahawk || GPU - XFX Radeon RX 6600 Speedster
CPU - Ryzen5 1400 3,2G || PSU - SPC Vero | L2 500W 80 Plus Bronze
RAM - HyperX 2x8GB 3200MHz CL16 Predator RGB
User avatar
veeroos
Posts: 1081
Joined: Sun Mar 20, 2022 9:30 am
Location: Głogów
Has thanked: 1 time
Been thanked: 9 times

Post

matrix0606 wrote: Sun Dec 31, 2023 6:15 pm
Ad1. Jak coś chcesz dodać to najlepiej sprawdzić gdzie co jest to najszybciej to sprawdzisz w katalogach biblioteki 😉. SuplaDevice->src->supla. Innych bibliotek swoich też możesz używać, ale wartości będziesz musiał przypisać do odpowiedniej klasy.
Ad2. Tak dokładnie tak, ale jak chcesz odczytać na przykład wartość kanału temperatury wewnątrz programu, to musisz zadeklarować zmienną przed Setupem, dla Twoich czujników będzie to na przykład tak:

Code: Select all

Supla::Sensor::DS18B20 *t1 = nullptr;
Ad3. Tak wejść, wyjść, które nie będziesz deklarował z biblioteki SuplaDevice, które nie będą jako klasa przekaźnika, lub jako klasa Binary, lub cokolwiek innego, używasz tak samo jak w zwykłym programie
Zamel Mew-01, Zamel PEW-01, Zamel SBW-01, Zamel THW-01, Zamel SRW-01, Zamel mSLW-02, Auraton BOX + Indor Sensor, Airly Gate By Veeroos, Zigbee to Supla Gateway + sensors, Zamel SGW-01 and more

https://github.com/v33r005

Return to “Ogólna dyskusja”