Pierwsze ModeMcu

cino111
Posts: 714
Joined: Mon May 07, 2018 8:00 pm

Post

Witam
Wczoraj przyszło ModeMcu z przystawką i zaczynam przygodę z Supla. Wgrałem np soft wifisocket_x4_DS_1024_eagle.irom0text z https://github.com/zchmielak/ESP8266/tree/master/Zybi, ale nie wiem jak przejść w tryb konfiguracji, zeby wpisać login i haslo do wifi. Zwieram do masy GPIO 15, ale chyba nie o to chodzi, bo wifi się nie pojawia. 
PS. czy znajdę gdzieś programy na Arduino IDE np z kilkoma DS18B20 + kilka wyjść na przekaźnik? Chodzi o funkcjonalności coś jak te pliki *.bin
Na gotowym przykładzie łatwiej mi będzie to rozgryźć :)
Zybi
Posts: 1511
Joined: Sun Jun 26, 2016 4:24 pm

Post

Przeczytaj readme.txt
cino111
Posts: 714
Joined: Mon May 07, 2018 8:00 pm

Post

Zybi wrote: Sat May 19, 2018 9:04 pm Przeczytaj readme.txt
Przeczytałem.
To bring the device into configuration mode, press and hold button for at least 5 sec.
When in configuration mode, the device goes into Access Point mode.

tylko o jakim przycisku mowa jak ja mam gołe ModeMcu. Patrzyłem na schematach np tu https://majsterkowo.pl/supla-nodemcu-v3 ... ogle-home/ i mowa jest o przycisku nr 1, który podłączony jest pod D4. Też zwierałem do masy i nic.

Jeżeli chodzi o tę część opisu:
LED Config - GPIO15 /(LED diode with a serial resistor of 270-330 ohm attached to parallel resistor
10k ohm between port and GND. In the config mode, the LED flashes rapidly and during normal
operation is off

to niestety nie rozumiem :(
besix
Posts: 263
Joined: Sun Mar 20, 2016 9:51 pm

Post

Kolego nie możesz porównywać opisu z majsterkowo , bo tam zastosowany został inny soft z innymi funkcjami dla poszczególnych GPIO.
Skoro czytałeś zawartość pliku tekstowego , to powinieneś się doczytać , że za tryb config odpowiada w tym sofcie GPIO 0 , czyli D3
Należy jeszcze pamiętać o tym , że do poprawnej pracy tego GPIO potrzebny jest rezystor podciągający do 3V3 , co to znaczy ? a no trzeba między GPIO 0 a 3,3V podłączyć opornik o wartości od 4,7 - 10 k , dopiero wtedy zwarcie do masy GPIO 0 na ponad 5 s wprowadzi ten moduł w tryb AP , czyli zacznie rozgłaszać sieć SUPLA.
Nie wiem czego nie rozumiesz w tekście dotyczącym LED Config ?
Wyraźnie jest napisane , że do GPIO 15 podłączamy diodę LED , która będzie nam sygnalizowała stan modułu , a trzeba to zrobić tak , że między GPIO 15 a MASĘ podłączamy rezystor 10k i dokładnie pod te same zaciski podłączamy diodę LED z rezystorem szeregowym około 300 ohm .
Jeżeli nie chcesz mieć sygnalizacji, to tej diody wcale nie trzeba podłączać.
Nie dziw się , że nie uzyskujesz konkretnych porad od kolegów , gdyby każdemu tłumaczyć wszystko co już było opisane i można łatwo znaleźć (trzeba poczytać dział FAQ) , to na tym forum byłby straszny śmietnik.
Powodzenia
cino111
Posts: 714
Joined: Mon May 07, 2018 8:00 pm

Post

Dzięki za konkretną odpowiedź. Teraz rozumiem, a niestety na forum nie znalazłem tych informacji.
cino111
Posts: 714
Joined: Mon May 07, 2018 8:00 pm

Post

Kolejne pytanie.
Próbuję uruchomić czujnik temperatury DS18B20 ale niestety pomiar się nie pokazuje. W cloudzie i w aplikacji termometr jest widoczny, ale nie pokazuje temperatury. Czy coś mam źle w kodzie? Programuję poprzez Arduino IDE. Dodatkowo, jak wpisać kod dla czujników, gdzie każdy podłączony jest na oddzielnym GPIO? Podobno kilka na jednym PINie potrafią zamienić się miejscami w aplikacji. Czy w ModeMcu OneWire działa na każdym PINie, czy są jakieś dedykowane? Nie mogę znaleźć tej informacji w necie, a przykłady jakie znalazłem wykorzystują D4. (Próbowałem na D4, ale też temperatura się nie pokazuje).


Code: Select all

/**
 * Supla.org NodeMCU WiFi minimal example
 * Author: Programistyk - Kamil Kaminski <[email protected]>
 * 
 * This example shows how to configure SuplaDevice for building for NodeMCU within Arduino IDE
 */

#include <OneWire.h>
#include <DallasTemperature.h>


#include <srpc.h>
#include <log.h>
#include <eh.h>
#include <proto.h>
#include <IEEE754tools.h>
// We define our own ethernet layer
#define SUPLADEVICE_CPP
#include <SuplaDevice.h>
#include <lck.h>

#include <WiFiClient.h>
#include <ESP8266WiFiType.h>
#include <ESP8266WiFi.h>
#include <ESP8266WiFiScan.h>
#include <ESP8266WiFiMulti.h>
#include <WiFiServer.h>
#include <ESP8266WiFiGeneric.h>
#include <WiFiClientSecure.h>
#include <ESP8266WiFiAP.h>
#include <ESP8266WiFiSTA.h>
#include <WiFiUdp.h>

// Setup a oneWire instance
OneWire oneWire(D6); // D6 GPIO 12 - Pin number

// Pass oneWire reference to Dallas Temperature
DallasTemperature sensors(&oneWire);


WiFiClient client;

// Setup Supla connection
const char* ssid     = "xxxxxx" ;
const char* password = "xxxxxx";


// DS18B20 Sensor read implementation
double get_temperature(int channelNumber, double last_val) {

    double t = -275;
    
    if ( sensors.getDeviceCount() > 0 )
      {
         sensors.requestTemperatures();
         t = sensors.getTempCByIndex(0); 
      };

    return t;  
}

void setup() {
  Serial.begin(115200);
  
     // Init DS18B20 library 
        sensors.begin();

        
  delay(10);

  // Replace the falowing GUID
  char GUID[SUPLA_GUID_SIZE] = {0x5A,0x0D,0x07,0x01,0xE7,0xC2,0x46,0x07,0xA3,0x19,0x2C,0x26,0xED,0xD3,0x42,0xC7};
  // with GUID that you can retrieve from https://www.supla.org/arduino/get-guid

  // Ethernet MAC address
  uint8_t mac[6] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05};

  /*
   * Having your device already registered at cloud.supla.org,
   * you want to change CHANNEL sequence or remove any of them,
   * then you must also remove the device itself from cloud.supla.org.
   * Otherwise you will get "Channel conflict!" error.
   */

 

    // CHANNEL 0 
    SuplaDevice.addDS18B20Thermometer(); //czujnik temperatury DS18B20 na D6 GPIO-12

    
  // CHANNEL1 - RELAY
  SuplaDevice.addRelay(D1, true);  

Return to “Pomoc”