thinger-io / Arduino-Library

IOTMP Arduino Library for connecting devices to thinger.io #IoT
https://thinger.io
MIT License
114 stars 66 forks source link

arduino +tinygsm #45

Closed madiarak closed 2 years ago

madiarak commented 2 years ago

hello im working arduino to tinygsm but now compile and have error my code is

define THINGER_SERIAL_DEBUG

// Select your modem:

define TINY_GSM_MODEM_SIM800

//#define TINY_GSM_MODEM_SIM900 //#define TINY_GSM_MODEM_A6 //#define TINY_GSM_MODEM_A7 //#define TINY_GSM_MODEM_M590

// Can be installed from Library Manager or https://github.com/vshymanskyy/TinyGSM

include

include

include "arduino_secrets.h"

// Emulate Serial1 on pins 10/11 if HW is not present (use interrupt pin in RX for better performance)

ifndef HAVE_HWSERIAL1

include "SoftwareSerial.h"

SoftwareSerial Serial1(10, 11); // RX, TX

endif

ThingerTinyGSM thing(USERNAME, DEVICE_ID, DEVICE_CREDENTIAL, Serial1);

void setup() { // open serial for debugging Serial.begin(115200);

// Serial for AT commands (can be higher with HW Serial, or even lower in SW Serial) Serial1.begin(57600);

// set APN (you can remove user and password from call if your apn does not require them) thing.setAPN(APN_NAME, APN_USER, APN_PSWD);

// set PIN (optional) // thing.setPIN(CARD_PIN);

// resource input example (i.e, controlling a digitalPin); pinMode(LED_BUILTIN, OUTPUT); thing["led"] << digitalPin(LED_BUILTIN);

// resource output example (i.e. reading a sensor value) thing["millis"] >> outputValue(millis());

// more details at http://docs.thinger.io/arduino/ }

void loop() { thing.handle(); } and error compile is In file included from C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerTinyGSM.h:28:0, from C:\Users\Instrum\Documents\Arduino\libraries\Arduino-Library-master\examples\Arduino\ArduinoTinyGSM\ArduinoTinyGSM.ino:12: C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerClient.h:540:34: error: 'std::function' has not been declared void set_state_listener(std::function<void(THINGER_STATE)> state_listener){ ^~~~ C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerClient.h:540:42: error: expected ',' or '...' before '<' token void set_state_listener(std::function<void(THINGER_STATE)> state_listener){ ^ C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerClient.h:557:10: error: 'function' in namespace 'std' does not name a template type std::function<void(THINGER_STATE)> statelistener; ^~~~ C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerClient.h: In member function 'virtual void ThingerClient::run_reboot()': C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerClient.h:361:20: error: 'WDTO_15MS' was not declared in this scope wdt_enable(WDTO_15MS); ^~~~~ C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerClient.h:361:9: error: 'wdt_enable' was not declared in this scope wdt_enable(WDTO_15MS); ^~~~~~ C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerClient.h:361:9: note: suggested alternative: 'mutable' wdt_enable(WDTO_15MS); ^~~~~~ mutable C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerClient.h: In member function 'virtual void ThingerClient::thinger_state_listener(ThingerClient::THINGER_STATE)': C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerClient.h:425:12: error: 'statelistener' was not declared in this scope if(statelistener) statelistener(state); ^~~~~~~ C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerClient.h:425:12: note: suggested alternative: 'set_state_listener' if(statelistener) statelistener(state); ^~~~~~~ set_state_listener C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerClient.h: In member function 'void ThingerClient::set_state_listener(int)': C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerClient.h:541:9: error: 'statelistener' was not declared in this scope statelistener = state_listener; ^~~~~~~ C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerClient.h:541:9: note: suggested alternative: 'set_state_listener' statelistener = state_listener; ^~~~~~~ set_state_listener C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerClient.h:541:27: error: 'state_listener' was not declared in this scope statelistener = state_listener; ^~~~~~ C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerClient.h:541:27: note: suggested alternative: 'set_state_listener' statelistener = state_listener; ^~~~~~ set_state_listener In file included from C:\Users\Instrum\Documents\Arduino\libraries\Arduino-Library-master\examples\Arduino\ArduinoTinyGSM\ArduinoTinyGSM.ino:12:0: C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerTinyGSM.h: At global scope: C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerTinyGSM.h:123:30: error: 'std::function' has not been declared void setModuleReset(std::function<void()> module_reset){ ^~~~ C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerTinyGSM.h:123:38: error: expected ',' or '...' before '<' token void setModuleReset(std::function<void()> module_reset){ ^ C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerTinyGSM.h:138:10: error: 'function' in namespace 'std' does not name a template type std::function<void()> modulereset; ^~~~ C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerTinyGSM.h: In member function 'virtual bool ThingerTinyGSM::connect_network()': C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerTinyGSM.h:59:12: error: 'modulereset' was not declared in this scope if(modulereset) modulereset(); ^~~~~ C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerTinyGSM.h:59:12: note: suggested alternative: 'setModuleReset' if(modulereset) modulereset(); ^~~~~ setModuleReset C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerTinyGSM.h: In member function 'void ThingerTinyGSM::setModuleReset(int)': C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerTinyGSM.h:124:9: error: 'modulereset' was not declared in this scope modulereset = module_reset; ^~~~~ C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerTinyGSM.h:124:9: note: suggested alternative: 'setModuleReset' modulereset = module_reset; ^~~~~ setModuleReset C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerTinyGSM.h:124:25: error: 'module_reset' was not declared in this scope modulereset = module_reset; ^~~~ C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621\src/ThingerTinyGSM.h:124:25: note: suggested alternative: 'setModuleReset' modulereset = module_reset; ^~~~ setModuleReset Multiple libraries were found for "ThingerTinyGSM.h" Used: C:\Users\Instrum\Documents\Arduino\libraries\arduino_767621 Not used: C:\Users\Instrum\Documents\Arduino\libraries\Arduino-Library-master exit status 1 Error compiling for board Arduino Mega or Mega 2560.

bautisflow commented 2 years ago

Hi @madiarak

Indeed, it does not compile with the latest version of the library. You can use version 2.17.0 which compiles without errors. More info: https://community.thinger.io/t/latest-thinger-io-versio-doesn-t-compile-with-tinygsm-library/4074

madiarak commented 2 years ago

hi bautisflow thank you very much, the problem is solved