GithubHelp home page GithubHelp logo

MQTT Topic depth? about espduino HOT 3 OPEN

tuanpmt avatar tuanpmt commented on August 18, 2024
MQTT Topic depth?

from espduino.

Comments (3)

ymaglaras avatar ymaglaras commented on August 18, 2024

I had a similar problem with very long topics (i.e. /home/firstfloor/livingroom/windows/left/down etc.), especially when I had many of them (states/commands/sensors, so on). At first I tried shortening the topics, but I still had problems. Apparently you might have lots of SRAM when compiling, but when your program runs on the Arduino, it consumes more SRAM than that and runs out of memory, causing all sorts of problems.

So I decided to put everything in PROGMEM like so:

const char PROGMEM superLongTopic[] = "/super/long/topic/that/goes/on/and/on/and/on/and/on";
(add a bunch of those)

and then you need some function to bring them back from PROGMEM:

#define MAX_STRING 65 //your longest possible topic. Careful, this is actually consuming SRAM
char stringBuffer[MAX_STRING];
char* getString(const char* str) {
strcpy_P(stringBuffer, (char*)str);
return stringBuffer;
}

So, when you need your topic, you call getString(superLongTopic)

from espduino.

ibrahimisim avatar ibrahimisim commented on August 18, 2024

Hello,

When I upload software to esp8266 I get an error that is below. Please help me !!!.

pi@raspberrypi /usr/share/arduino/libraries/espduino $ sudo esp8266/tools/esptool.py -p /dev/ttyUSB0 write_flash 0x00000 esp8266/release/0x00000.bin 0x40000 esp8266/release/0x40000.bin
Could not find platform dependent libraries
Consider setting $PYTHONHOME to [:]
Traceback (most recent call last):
File "esp8266/tools/esptool.py", line 22, in
import serial
ImportError: No module named serial

from espduino.

Turael avatar Turael commented on August 18, 2024

Hey ymaglaras,

thanks for your response and you're right. I tried your snippet and it works :)
I still need to learn alot about the arduino first I think...

So my problem is not a ESPduino problem but my (arduino) problem... :)

Edit:

Well i think that isnt my problem...
I checked my free memory with MemoryFree library
http://playground.arduino.cc/Code/AvailableMemory
and after I cleaned my code I've got 886bytes free - perhaps thats not enough?
I still able to sent / receive only 13 bytes =/

from espduino.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.