Arduino Mega - dodawanie urzadzenia

mkaczko
Posty: 14
Rejestracja: ndz lip 19, 2020 6:29 pm

witam wszystkich

jeśli temat w nieodpowiednim miejscu to sorry ale nie mogłem nigdzie tego znaleźć

problem jest następujący

posiadam arduino mega 256 + ethernet shield w510 z botlanda

https://botland.com.pl/pl/arduino-shiel ... &results=2

znalazłem na githubie poniższy kod do którego dodałem elementy stąd https://github.com/klew/arduino/blob/ma ... rature.ino,
niestety non stop pojawia się komunikat o braku rejestracji urządzenia,

czy może mi ktoś podpowiedzieć co jest błędnego w tym kodzie , w jaki sposób dodać urządzenie na www a następnie to wpisać w kod arduino


dzięki




//Copyright (C) AC SOFTWARE SP. Z O.O.
//This program is free software; you can redistribute it and/or
//modify it under the terms of the GNU General Public License
//as published by the Free Software Foundation; either version 2
//of the License, or (at your option) any later version.
//This program is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with this program; if not, write to the Free Software
//Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

#include <SPI.h>
#include <Ethernet.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <SuplaDevice.h>

/*
* This example requires Dallas Temperature Control library installed.
* https://github.com/milesburton/Arduino- ... ol-Library
*/


// Setup a oneWire instance
OneWire oneWire(4); // 4 - Pin number

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

// 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(9600);

// Init DS18B20 library
sensors.begin();

// Set temperature callback
SuplaDevice.setTemperatureCallback(&get_temperature);

// Replace the falowing GUID
char GUID[SUPLA_GUID_SIZE] = {0x89,0xE2,0x87,0x27,0x3E,0xB5,0xF5,0x16,0x1E,0x36,0x91,0xE5,0x19,0xA8,0x8A,0x8C};
// with GUID that you can retrieve from https://www.supla.org/arduino/get-guid


// Replace the following AUTHKEY with value that you can retrieve from: https://www.supla.org/arduino/get-authkey
char AUTHKEY[SUPLA_AUTHKEY_SIZE] = {0x1F,0x71,0x6D,0x81,0xED,0xE0,0x54,0xF1,0x18,0xDE,0xB6,0x23,0xAD,0x36,0x61,0xFB};
// dodane od użytkownika klew


// 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.
*/

// CHANNEL0 - RELAY
SuplaDevice.addRelay(44, true); // 44 - Pin number where the relay is connected
// Call SuplaDevice.addRelay(44, true) with an extra "true" parameter
// to enable "port value inversion"
// where HIGH == LOW, and LOW == HIGH

// CHANNEL1 - RELAY
SuplaDevice.addRelay(45, true); // 45 - Pin number where the relay is connected

// CHANNEL3 - TWO RELAYS (Roller shutter operation)
SuplaDevice.addRollerShutterRelays(46, // 46 - Pin number where the 1st relay is connected
47, true); // 47 - Pin number where the 2nd relay is connected

// CHANNEL4 - Opening sensor (Normal Open)
SuplaDevice.addSensorNO(A0); // A0 - Pin number where the sensor is connected
// Call SuplaDevice.addSensorNO(A0, true) with an extra "true" parameter
// to enable the internal pull-up resistor


// CHANNEL5 - Opening sensor (Normal Open)
SuplaDevice.addSensorNO(A1); // A1 - Pin number where the sensor is connected


//CHANNEL6 - Thermometer DS18B20
SuplaDevice.addDS18B20Thermometer();


/*
* SuplaDevice Initialization.
* Server address, LocationID and LocationPassword are available at https://cloud.supla.org
* If you do not have an account, you can create it at https://cloud.supla.org/account/create
* SUPLA and SUPLA CLOUD are free of charge
*
*/

SuplaDevice.begin(GUID, // Global Unique Identifier
mac, // Ethernet MAC address
"svr25.supla.org", // SUPLA server address
"moje_konto", // Email address used to login to Supla Cloud, dodane od użytkownika klew
AUTHKEY); // Authorization key, dodane od użytkownika klew

}

void loop() {
SuplaDevice.iterate();
}
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

Musisz włączyć rejestrację urządzeń na swoim cloud.supla.org (w zakładce "moja Supla").

Ten kod, to dość mocny zlepek aplikacji ze starej i nowej biblioteki.

Najlepiej byłoby gdybyś wziął sobie bibliotekę z brancha develop z oficjalnych źródeł (https://github.com/SUPLA/arduino/tree/develop) lub ode mnie https://github.com/klew/arduino (co jakiś czas kod z tego brancha leci do develop na oficjalnym repo).
Następnie w Arduino wybierz sobie jakiś przykład z SuplaDevice i go modyfikuj.

Na forum znajdziesz masę różnych kodów do różnych rzeczy i naprawdę trudno jest się w tym połapać co do czego jest. Także jeśli potrzebujesz z czymś pomocy, to pisz co chcesz zrobić, to podpowiem.
Widzimy się na Supla Offline Party vol. 2 :!:
mkaczko
Posty: 14
Rejestracja: ndz lip 19, 2020 6:29 pm

witam


pobrana biblioteka z 1 linku zgłasza błąd


Arduino:1.8.5 (Windows 10), Płytka:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

Podany folder/plik zip nie zawiera poprawnej biblioteki

Ten raport powinien zawierać więcej informacji jeśli w
File -> Preferencje zostanie włączona opcja "Pokaż
szczegółowe informacje podczas kompilacji"

sprawdziłem strukturę archiwum "zip" nie jest taka sama jak biblioteki pobranej z oficjalnej strony "supla"

z kolei w 2 linku nie widzę nigdzie opcji pobierz plik (biblioteka zip)

pozdrawiam
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

mkaczko pisze: ndz lip 19, 2020 8:48 pm witam


pobrana biblioteka z 1 linku zgłasza błąd


Arduino:1.8.5 (Windows 10), Płytka:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

Podany folder/plik zip nie zawiera poprawnej biblioteki

Ten raport powinien zawierać więcej informacji jeśli w
File -> Preferencje zostanie włączona opcja "Pokaż
szczegółowe informacje podczas kompilacji"

sprawdziłem strukturę archiwum "zip" nie jest taka sama jak biblioteki pobranej z oficjalnej strony "supla"

z kolei w 2 linku nie widzę nigdzie opcji pobierz plik (biblioteka zip)

pozdrawiam
U mnie żaden z tych zipów pobieranych z githuba się nie instaluje poprawnie jako biblioteka.
Arduino wymaga trochę innej struktury. Musiałbyś rozpakować archiwum, i skompresować tylko podkatalog "SuplaDevice" - wtedy się zainstaluje z zipa.
Alternatywnie możesz sobie katalog "SuplaDevice" skopiować do katalogu bibliotek z Arudino. Ścieżkę znajdziesz klikając w Arduino na "File->Preferences" - na samej górze jest "sketchbook location". W tym katalogu powinien być katalog "libraries" i do niego skopiuj katalog SuplaDevice.

Tu masz bezpośredni link do zipa z mojego githuba: https://github.com/klew/arduino/archive/master.zip

Biblioteka aktualnie jest w trakcie przepisywania, więc w miarę często pojawia się tam coś nowego albo jakieś zmiany. Z tego powodu przez najbliższe kilka miesięcy może być konieczne aktualizowanie biblioteki (oczywiście, jesli będziesz chciał te nowe funkcjonalności)

Zaktualizuj też sobie Arduino do najnowszego.
Widzimy się na Supla Offline Party vol. 2 :!:
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

Tutaj wygenerowałem link do bezpośredniego pobrania zipa, który działa ;)
https://downgit.github.io/#/home?url=ht ... uplaDevice
Widzimy się na Supla Offline Party vol. 2 :!:
mkaczko
Posty: 14
Rejestracja: ndz lip 19, 2020 6:29 pm

wielkie dzięki

stare biblioteki usunąłem

nową dodałem

niestety jest błąd

C:\Users\Dell\Documents\Arduino\libraries\SuplaDevice\src/supla/network/ethernet_shield.h:119:14: error: 'class EthernetClass' has no member named 'MACAddress'

Ethernet.MACAddress(channelState.MAC);


w załączeniu zrzut

nie wiem czy dobrze interpretuje błąd, iż brak jest definicji "EthernetClass"

pozdrawiam
Załączniki
blad arduino.png
blad arduino.png (44.16 KiB) Przejrzano 2123 razy
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

Zaktualizuj Arduino. Masz starą wersję
Widzimy się na Supla Offline Party vol. 2 :!:
mkaczko
Posty: 14
Rejestracja: ndz lip 19, 2020 6:29 pm

dzięki pomogło


program wgrany jutro testy

pozdrawiam
ODPOWIEDZ

Wróć do „Arduino IDE”