OLED Scrolling Display
Moderators: grovkillen, Stuntteam, TD-er
OLED Scrolling Display
I have another plugin which some people may find useful.
The plugin is a modified version of the OLED SSD1306 which allows for larger fonts and scrolling frames
The original version of the OLED plugin allowed for 8 lines of text to be displayed at once – but the small size of the display meant that the font was very small. This plugin allows lines to be displayed at a larger font by scrolling through the lines in groups or ‘frames’.
The plugin allows for 12 lines of text to be displayed in ‘frames’ of either 1, 2 or 4 lines. So for example, if you select 2 lines per frame then lines 1&2 will be displayed together followed by 3&4 followed by 5&6 etc. If you choose 4 lines per frame then 1&2&3&4 will be displayed together followed by 5&6&7&8 etc. The font size is automatically made larger when fewer lines are displayed in a frame.
The image (sorry about the poor photo! )below shows the first frame with 2 lines per frame selected:
The image below shows the configuration for the display shown above:
The standard configuration parameter 'Delay' specifies the time interval between frame changes - between 5 and 10 seconds works well.
If you would like to try this plugin then download the files _P205_FrameOLED.ino and Extra_Utilities.ino from the ESPEasyPlayground which you can find at :
https://github.com/ESP8266nu/ESPEasyPluginPlayground
and add them to your project. You will also need to download the library esp8266-oled-ssd1306.zip which you can also find in the playground – the library should be unzipped and added to your local libraries folder. The library was written by ‘Squix78’ and you can find his original library on Github at :
https://github.com/squix78/esp8266-oled-ssd1306
I have had to make one small alteration to his library in order for it to work with this plugin and so please use the modified version from the ESPEasyPluginPlayground.
Be aware that there is one possible complication! Due to the larger fonts, extra library and large webserver configuration, this plugin uses more SRAM than most other plugins and you may crash the stack due to a SRAM shortage when you try to configure it. If that happens or if the webserver configuration misbehaves then please try inserting one line into Webserver.ino as follows:
Immediately after the line
String reply=””;
which you will find at about line number 768 (varies a bit with release), insert the following line
reply.reserve(12000);
That should hopefully fix the problem!
Please let me know if you have more problems.
N
The plugin is a modified version of the OLED SSD1306 which allows for larger fonts and scrolling frames
The original version of the OLED plugin allowed for 8 lines of text to be displayed at once – but the small size of the display meant that the font was very small. This plugin allows lines to be displayed at a larger font by scrolling through the lines in groups or ‘frames’.
The plugin allows for 12 lines of text to be displayed in ‘frames’ of either 1, 2 or 4 lines. So for example, if you select 2 lines per frame then lines 1&2 will be displayed together followed by 3&4 followed by 5&6 etc. If you choose 4 lines per frame then 1&2&3&4 will be displayed together followed by 5&6&7&8 etc. The font size is automatically made larger when fewer lines are displayed in a frame.
The image (sorry about the poor photo! )below shows the first frame with 2 lines per frame selected:
The image below shows the configuration for the display shown above:
The standard configuration parameter 'Delay' specifies the time interval between frame changes - between 5 and 10 seconds works well.
If you would like to try this plugin then download the files _P205_FrameOLED.ino and Extra_Utilities.ino from the ESPEasyPlayground which you can find at :
https://github.com/ESP8266nu/ESPEasyPluginPlayground
and add them to your project. You will also need to download the library esp8266-oled-ssd1306.zip which you can also find in the playground – the library should be unzipped and added to your local libraries folder. The library was written by ‘Squix78’ and you can find his original library on Github at :
https://github.com/squix78/esp8266-oled-ssd1306
I have had to make one small alteration to his library in order for it to work with this plugin and so please use the modified version from the ESPEasyPluginPlayground.
Be aware that there is one possible complication! Due to the larger fonts, extra library and large webserver configuration, this plugin uses more SRAM than most other plugins and you may crash the stack due to a SRAM shortage when you try to configure it. If that happens or if the webserver configuration misbehaves then please try inserting one line into Webserver.ino as follows:
Immediately after the line
String reply=””;
which you will find at about line number 768 (varies a bit with release), insert the following line
reply.reserve(12000);
That should hopefully fix the problem!
Please let me know if you have more problems.
N
Last edited by namirda on 03 Apr 2016, 12:14, edited 2 times in total.
Re: OLED Scrolling Display
This is also a really cool plugin, if you'll be willing to make me those mqtt plugin bin's I'll maybe ask you also for these ones
Re: OLED Scrolling Display
That's what i was looking for.
After some trouble in compiling and flshing it's working great.
Thanks.
Hubert
After some trouble in compiling and flshing it's working great.
Thanks.
Hubert
Re: OLED Scrolling Display
Def. going to look into this. A web configurable MQTT display is so cool . Great work!
Re: OLED Scrolling Display
hm, i got these errors when try to compile under ide 1.6.5 and esp2.1.0 core:
added esp8266-oled-ssd1306 to local libs...
_P205_FrameOLED.ino: In function 'boolean Plugin_205(byte, EventStruct*, String&)':
_P205_FrameOLED.ino:375:46: error: 'string2Integer' was not declared in this scope
_P205_FrameOLED.ino:379:69: error: 'getValueNameIndex' was not declared in this scope
_P205_FrameOLED.ino:419:50: error: 'CheckParam' was not declared in this scope
'string2Integer' was not declared in this scope
added esp8266-oled-ssd1306 to local libs...
_P205_FrameOLED.ino: In function 'boolean Plugin_205(byte, EventStruct*, String&)':
_P205_FrameOLED.ino:375:46: error: 'string2Integer' was not declared in this scope
_P205_FrameOLED.ino:379:69: error: 'getValueNameIndex' was not declared in this scope
_P205_FrameOLED.ino:419:50: error: 'CheckParam' was not declared in this scope
'string2Integer' was not declared in this scope
Re: OLED Scrolling Display
Hi,
Sorry. You need to include the file 'Extra_Utilities.ino' in your sketch - It is available in the playground. It is required for both my plugins.
N
Sorry. You need to include the file 'Extra_Utilities.ino' in your sketch - It is available in the playground. It is required for both my plugins.
N
Re: OLED Scrolling Display
super. working now great...
Re: OLED Scrolling Display
I have it working . Now I'm looking for a way to use a existing input (pir sensor) as display button. So when someone walks by, the OLED turns on.
Re: OLED Scrolling Display
Hi,
I am able to control the Display with these commands:
But displaying some text seems different. With this command for example:
When using 4 lines i see the word "Test" in the third row in the floating part which is shown right now.
If i use row 6 it is the same.
When using 4 lines i see the word "Test" in the first row in the floating part which is shown right now.
Is there a way to control not only the row and colum but also the screen number which is shown.
Regards
Hubert
I am able to control the Display with these commands:
Code: Select all
http://<ESP IP address>/control?cmd=oledcmd,on
http://<ESP IP address>/control?cmd=oledcmd,off
Code: Select all
http://<ESP IP address>/control?cmd=oled,4,1,Test
If i use row 6 it is the same.
Code: Select all
http://<ESP IP address>/control?cmd=oled,1,1,Test
Is there a way to control not only the row and colum but also the screen number which is shown.
Regards
Hubert
Re: OLED Scrolling Display
I have uploaded a new version of the Scrolling OLED plugin to the playground.
The only change is the addition of a small Wifi Strength Indicator graphic in the top right corner - I saw this had been requested by somebody and it was easy to do. The number of bars is calculated as (RSSI+100)/8 - perhaps a bit simplistic but it roughly matches what my PC shows.
If you want to try the new release, please re-download the OLED library from the playground again because there are related changes there too.
N
The only change is the addition of a small Wifi Strength Indicator graphic in the top right corner - I saw this had been requested by somebody and it was easy to do. The number of bars is calculated as (RSSI+100)/8 - perhaps a bit simplistic but it roughly matches what my PC shows.
If you want to try the new release, please re-download the OLED library from the playground again because there are related changes there too.
N
Re: OLED Scrolling Display
Hi,
not possible to compile...
////////////////////////////////////////////////////////////////////////
_P205_FrameOLED:372: error: 'PLUGIN_COMMAND' was not declared in this scope
case PLUGIN_COMMAND:
^
exit status 1
invalid conversion from 'char*' to 'byte {aka unsigned char}' [-fpermissive]
///////////////////////////////////////////////////////////////////////
not possible to compile...
////////////////////////////////////////////////////////////////////////
_P205_FrameOLED:372: error: 'PLUGIN_COMMAND' was not declared in this scope
case PLUGIN_COMMAND:
^
exit status 1
invalid conversion from 'char*' to 'byte {aka unsigned char}' [-fpermissive]
///////////////////////////////////////////////////////////////////////
Re: OLED Scrolling Display
mayby
#define PLUGIN_COMMAND 999
#define PLUGIN_COMMAND 999
Re: OLED Scrolling Display
Sorry - fixed now. That's the second time I have made that mistake!!!
N
N
Re: OLED Scrolling Display
This is great! Will be using it on my future projects with ESPEasy Thanks!
Re: OLED Scrolling Display
So namrida how fast does the values scrool from one value to another? I see that "Rotation" parameter is that the scrolling rate, and how much do the different values differ?
Re: OLED Scrolling Display
Hi namirda,
I made the plugin run, but i can't get an uptime longer than 10-15 min (4 pages: temp, humi, free mem, uptime).
After some minutes the esp reboots....
It's only my esp's issue ?
regards
paolo
I made the plugin run, but i can't get an uptime longer than 10-15 min (4 pages: temp, humi, free mem, uptime).
After some minutes the esp reboots....
It's only my esp's issue ?
regards
paolo
Re: OLED Scrolling Display
@ppp33 I can't really help you - it seems to run well for me. I have two units which have been running without problems for several days.
This plugin uses 3 different fonts, some simple graphics and some scrolling and so it is more resource hungry than most other plugins. However, so far I have not had problems with it. Does your display show plenty of memory?
N
This plugin uses 3 different fonts, some simple graphics and some scrolling and so it is more resource hungry than most other plugins. However, so far I have not had problems with it. Does your display show plenty of memory?
N
Re: OLED Scrolling Display
@msev
On my units, it takes about 2 seconds to scroll from one frame to the other. The time between frame changes is determined by the Delay parameter.
N
On my units, it takes about 2 seconds to scroll from one frame to the other. The time between frame changes is determined by the Delay parameter.
N
Re: OLED Scrolling Display
Lol I missed that delay setting , I'm so funny , need to look better next time to avoid asking stupid questions hehe.
Re: OLED Scrolling Display
@namirda
it says about 25-26 Kbytes free....
I'm going to ide 1.6.8 and recompile, to see if it goes better....
regards
paolo
it says about 25-26 Kbytes free....
I'm going to ide 1.6.8 and recompile, to see if it goes better....
regards
paolo
Re: OLED Scrolling Display
recompiled, added reserve command, and just got 78 min without reboot !
regards...
paolo
regards...
paolo
Re: OLED Scrolling Display
Hello
this is working but has a problem
continues to reset itself
and does more to navigate the menus
this is working but has a problem
continues to reset itself
and does more to navigate the menus
Re: OLED Scrolling Display
I have made some changes to this plugin to match the changes in ESPEasy R99. New version V0.3 is available in the playground.
N
N
Re: OLED Scrolling Display
Hi,
cool work - thank you! That is what i'm looking for. But after spending some days to compile it - can you tell me which constellation of software / versions (Arduino IDE,Libs ...) you are using?
I'm using Linux / Mac OSX and only able to compile ESPEasy R78 under Linux/OSX with Arduino IDE 1.6.5 and ESP8266 Community version 2.0.0.
Can you describe in short words what i have to install (yes, you've described i above), but what do i have to copy where to and configure it correctly?
Or - can you share me a compiled binary?
Kind regard, machnetz
cool work - thank you! That is what i'm looking for. But after spending some days to compile it - can you tell me which constellation of software / versions (Arduino IDE,Libs ...) you are using?
I'm using Linux / Mac OSX and only able to compile ESPEasy R78 under Linux/OSX with Arduino IDE 1.6.5 and ESP8266 Community version 2.0.0.
Can you describe in short words what i have to install (yes, you've described i above), but what do i have to copy where to and configure it correctly?
Or - can you share me a compiled binary?
Kind regard, machnetz
Re: OLED Scrolling Display
Got it!
I'm using Arduino IDE 1.6.5 and ESP8266 Community v2.1.0 on OSX and Linux, but *renaming* the old oled-file to _P023_OLED.ino.bak. After compiling and uploading it's up and running now !
Regards, machnetz
I'm using Arduino IDE 1.6.5 and ESP8266 Community v2.1.0 on OSX and Linux, but *renaming* the old oled-file to _P023_OLED.ino.bak. After compiling and uploading it's up and running now !
Regards, machnetz
-
- Normal user
- Posts: 25
- Joined: 19 Apr 2016, 11:12
Re: OLED Scrolling Display
Hello everyone. I love this plug-in and I would also like to know if you can post a value to a particular row. I have a heating control which scrolls between Current Temperature and Humidity (local DHT11) but would like to send the Heating Setpoint value (Temp) to another scrolling screen. So it would scroll: Temp (20C), Humidity (40%), Setpoint (21). Is it possible to post a http command which populates a variable which could be substituted in one of the rows? Like %IP% does, etc. Many thanks for your hard work. Andymorle wrote:Hi,
I am able to control the Display with these commands:But displaying some text seems different. With this command for example:Code: Select all
http://<ESP IP address>/control?cmd=oledcmd,on http://<ESP IP address>/control?cmd=oledcmd,off
When using 4 lines i see the word "Test" in the third row in the floating part which is shown right now.Code: Select all
http://<ESP IP address>/control?cmd=oled,4,1,Test
If i use row 6 it is the same.
When using 4 lines i see the word "Test" in the first row in the floating part which is shown right now.Code: Select all
http://<ESP IP address>/control?cmd=oled,1,1,Test
Is there a way to control not only the row and colum but also the screen number which is shown.
Regards
Hubert
Re: OLED Scrolling Display
hi,
i played with my oled on the espeasy.
little boring to be limited to text-lines...but someone experienced this and expanded the plugin. cool!
now i found this lib:
https://vimeo.com/152737421
https://github.com/squix78/esp8266-oled-ssd1306
may an experienced dev can use it to expand the plugin "more"..
i played with my oled on the espeasy.
little boring to be limited to text-lines...but someone experienced this and expanded the plugin. cool!
now i found this lib:
https://vimeo.com/152737421
https://github.com/squix78/esp8266-oled-ssd1306
may an experienced dev can use it to expand the plugin "more"..
Re: OLED Scrolling Display
Me too. This plugin will be so useful if only we can change the text dynamically by sending HTTP or MQTT messages. Is this currently supported or planned functionality?Allycat1972 wrote:morle wrote:Hello everyone. I love this plug-in and I would also like to know if you can post a value to a particular row. I have a heating control which scrolls between Current Temperature and Humidity (local DHT11) but would like to send the Heating Setpoint value (Temp) to another scrolling screen. So it would scroll: Temp (20C), Humidity (40%), Setpoint (21). Is it possible to post a http command which populates a variable which could be substituted in one of the rows? Like %IP% does, etc. Many thanks for your hard work. Andy
Thanks for your brilliant work!
-
- Normal user
- Posts: 25
- Joined: 19 Apr 2016, 11:12
Re: OLED Scrolling Display
FYI. If you use the MQTT import function in the ESP Playground you can subscribe to MQTT topics and use the values in the OLED display. I have it working showing a Temperature Setpoint from OpenHAB.jsilver wrote:Me too. This plugin will be so useful if only we can change the text dynamically by sending HTTP or MQTT messages. Is this currently supported or planned functionality?Allycat1972 wrote:morle wrote:Hello everyone. I love this plug-in and I would also like to know if you can post a value to a particular row. I have a heating control which scrolls between Current Temperature and Humidity (local DHT11) but would like to send the Heating Setpoint value (Temp) to another scrolling screen. So it would scroll: Temp (20C), Humidity (40%), Setpoint (21). Is it possible to post a http command which populates a variable which could be substituted in one of the rows? Like %IP% does, etc. Many thanks for your hard work. Andy
Thanks for your brilliant work!
Re: OLED Scrolling Display
Do you mean you're displaying the values in the original ESPEasy OLED tiny-font multi-line plugin, or this wonderful big-font multi-page scrolling one?Allycat1972 wrote:FYI. If you use the MQTT import function in the ESP Playground you can subscribe to MQTT topics and use the values in the OLED display. I have it working showing a Temperature Setpoint from OpenHAB.
Re: OLED Scrolling Display
Ok to answer myself, I've now explored further and found I can display variables from onboard sensors or even other ESP8266 units in the framed OLED plugin, which is amazing! But it only works with numbers.jsilver wrote:Do you mean you're displaying the values in the original ESPEasy OLED tiny-font multi-line plugin, or this wonderful big-font multi-page scrolling one?
But I was also hoping to send strings via mqtt for the unit to display on its OLED. If I get around to it I might try implementing this myself. It'd be interesting to have a room message board which can display useful room data as well as messages.
Re: OLED Scrolling Display
I have some trouble to compile
_P103_Event.ino: In function 'void Plugin_103_Action(byte, byte, int, int, byte)':
_P103_Event:522: error: invalid conversion from 'char*' to 'byte {aka unsigned char}' [-fpermissive]
_P103_Event:522: error: too few arguments to function 'void ExecuteCommand(byte, const char*)'
Command.ino:2:6: note: declared here
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: len=-149
at sun.font.FontDesignMetrics.charsWidth(FontDesignMetrics.java:501)
at org.fife.ui.rsyntaxtextarea.TokenImpl.getWidthUpTo(TokenImpl.java:528)
at org.fife.ui.rsyntaxtextarea.TokenImpl.getWidth(TokenImpl.java:499)
at org.fife.ui.rsyntaxtextarea.RSyntaxUtilities.getTokenListWidth(RSyntaxUtilities.java:1142)
at org.fife.ui.rsyntaxtextarea.RSyntaxUtilities.getTokenListWidth(RSyntaxUtilities.java:1121)
at org.fife.ui.rsyntaxtextarea.SyntaxView.getLineWidth(SyntaxView.java:304)
at org.fife.ui.rsyntaxtextarea.SyntaxView.calculateLongestLine(SyntaxView.java:110)
at org.fife.ui.rsyntaxtextarea.SyntaxView.updateMetrics(SyntaxView.java:892)
at org.fife.ui.rsyntaxtextarea.SyntaxView.setSize(SyntaxView.java:802)
at javax.swing.plaf.basic.BasicTextUI$RootView.setSize(BasicTextUI.java:1722)
at javax.swing.plaf.basic.BasicTextUI.getPreferredSize(BasicTextUI.java:912)
at javax.swing.plaf.basic.BasicTextAreaUI.getPreferredSize(BasicTextAreaUI.java:120)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1662)
at javax.swing.JTextArea.getPreferredSize(JTextArea.java:619)
at javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:791)
at java.awt.Container.layout(Container.java:1508)
at java.awt.Container.doLayout(Container.java:1497)
at java.awt.Container.validateTree(Container.java:1693)
at java.awt.Container.validate(Container.java:1628)
at javax.swing.RepaintManager$3.run(RepaintManager.java:704)
at javax.swing.RepaintManager$3.run(RepaintManager.java:702)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:701)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1719)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Exception in thread "Thread-29" java.lang.IndexOutOfBoundsException: len=-149
at sun.font.FontDesignMetrics.charsWidth(FontDesignMetrics.java:501)
at org.fife.ui.rsyntaxtextarea.TokenImpl.getWidthUpTo(TokenImpl.java:528)
at org.fife.ui.rsyntaxtextarea.TokenImpl.getWidth(TokenImpl.java:499)
at org.fife.ui.rsyntaxtextarea.RSyntaxUtilities.getTokenListWidth(RSyntaxUtilities.java:1142)
at org.fife.ui.rsyntaxtextarea.RSyntaxUtilities.getTokenListWidth(RSyntaxUtilities.java:1121)
at org.fife.ui.rsyntaxtextarea.SyntaxView.getLineWidth(SyntaxView.java:304)
at org.fife.ui.rsyntaxtextarea.SyntaxView.calculateLongestLine(SyntaxView.java:110)
at org.fife.ui.rsyntaxtextarea.SyntaxView.updateMetrics(SyntaxView.java:892)
at org.fife.ui.rsyntaxtextarea.SyntaxView.setSize(SyntaxView.java:802)
at javax.swing.plaf.basic.BasicTextUI$RootView.setSize(BasicTextUI.java:1722)
at javax.swing.plaf.basic.BasicTextUI.getPreferredSize(BasicTextUI.java:912)
at javax.swing.plaf.basic.BasicTextAreaUI.getPreferredSize(BasicTextAreaUI.java:120)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1662)
at javax.swing.JTextArea.getPreferredSize(JTextArea.java:619)
at javax.swing.JViewport.getViewSize(JViewport.java:999)
at javax.swing.plaf.basic.BasicScrollPaneUI.syncScrollPaneWithViewport(BasicScrollPaneUI.java:278)
at javax.swing.plaf.basic.BasicScrollPaneUI$Handler.stateChanged(BasicScrollPaneUI.java:1033)
at javax.swing.JViewport.fireStateChanged(JViewport.java:1369)
at javax.swing.JViewport.setView(JViewport.java:969)
at javax.swing.JScrollPane.setViewportView(JScrollPane.java:1007)
at org.fife.ui.rtextarea.RTextScrollPane.setViewportView(RTextScrollPane.java:253)
at processing.app.Editor.setCode(Editor.java:1766)
at processing.app.Sketch.setCurrentCode(Sketch.java:1000)
at processing.app.Sketch.setCurrentCode(Sketch.java:980)
at processing.app.Editor.statusError(Editor.java:2670)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2396)
at java.lang.Thread.run(Thread.java:745)
Re: OLED Scrolling Display
what is your environment?
arduino ide version, plattform version? ...
maybe check working versions here: http://www.esp8266.nu/forum/viewtopic.php?p=7763#p7763
arduino ide version, plattform version? ...
maybe check working versions here: http://www.esp8266.nu/forum/viewtopic.php?p=7763#p7763
-
- New user
- Posts: 3
- Joined: 25 Jul 2016, 12:19
Re: OLED Scrolling Display
Hi,
i have Problems to compile your mod.
Arduino IDE 1.6.9
ESP8266 Library 2.3.0
OLED Library 2.0.0 (Your Library from Github)
i have Problems to compile your mod.
Arduino IDE 1.6.9
ESP8266 Library 2.3.0
OLED Library 2.0.0 (Your Library from Github)
Code: Select all
/Users/Chris/Documents/Arduino/Projects/ESPEasy/ESPEasy/_P205_FrameOLED.ino: In function 'boolean Plugin_205(byte, EventStruct*, String&)':
_P205_FrameOLED:386: error: 'string2Integer' was not declared in this scope
int intPayload=string2Integer(Payload);
^
_P205_FrameOLED:390: error: 'getValueNameIndex' was not declared in this scope
int ValueNameIndex=getValueNameIndex(event->TaskIndex,string);
^
_P205_FrameOLED:430: error: 'CheckParam' was not declared in this scope
if (! CheckParam("Line Number",Line,1,8)) {
^
exit status 1
'string2Integer' was not declared in this scope
Re: OLED Scrolling Display
Hi,
There an update to OLED Scrolling Display plugin in the Playground which should hopefully play nicely with ESPEasy 114+, Core 2.3 - it still needs the same OLED library from the Playground as before.
There is one new input parameter which allows you to change the scroll speed - from very slow (about 1.5s) to almost instant. The scrolling routine blocks the main Arduino loop and it could be that sometimes the longer slower scrolls will cause some timing problems - this issue can be reduced by using faster scrolls.
N
There an update to OLED Scrolling Display plugin in the Playground which should hopefully play nicely with ESPEasy 114+, Core 2.3 - it still needs the same OLED library from the Playground as before.
There is one new input parameter which allows you to change the scroll speed - from very slow (about 1.5s) to almost instant. The scrolling routine blocks the main Arduino loop and it could be that sometimes the longer slower scrolls will cause some timing problems - this issue can be reduced by using faster scrolls.
N
Re: OLED Scrolling Display
R118 has compiled here fine. Thanks Neil!namirda wrote:There an update to OLED Scrolling Display plugin in the Playground which should hopefully play nicely with ESPEasy 114+, Core 2.3
Is there any chance of being able to send the OLED string values to display?
Re: OLED Scrolling Display
yes:Is there any chance of being able to send the OLED string values to display?
http://www.esp8266.nu/index.php/OLEDDisplay
--> oled,1,1,test
but we need a change on _P210_MQTTImport.ino
Re: OLED Scrolling Display
@jsilver,
OK - I have just uploaded yet another new version of the scrolling display to the playground which includes a write option.
The command syntax is either:
a) tskname,Line,String - where tskname is the name you have given to the scrolling oled task,
Line is the line number which must be an integer between 1 and 12,
String is the string to be displayed.
b) taskname,on or taskname,off To switch the display on or off
You can send the command using either http or mqtt or even via the webserver. To use mqtt, you should publish to the normal subscription topic of your esp followed by /cmd - e.g. /ESP01/cmd.
---------------------------------------
@timsson,
I think the above should satisfy all requirements - what is it exactly that you want?
Let me know how you get on....
N
OK - I have just uploaded yet another new version of the scrolling display to the playground which includes a write option.
The command syntax is either:
a) tskname,Line,String - where tskname is the name you have given to the scrolling oled task,
Line is the line number which must be an integer between 1 and 12,
String is the string to be displayed.
b) taskname,on or taskname,off To switch the display on or off
You can send the command using either http or mqtt or even via the webserver. To use mqtt, you should publish to the normal subscription topic of your esp followed by /cmd - e.g. /ESP01/cmd.
---------------------------------------
@timsson,
I think the above should satisfy all requirements - what is it exactly that you want?
Let me know how you get on....
N
Re: OLED Scrolling Display
That sounds incredibly useful, Neil... and very comprehensive functionality which should give everyone everything they need. I shall give it a go hopefully today.namirda wrote:OK - I have just uploaded yet another new version of the scrolling display to the playground which includes a write option.
A LITTLE LATER ON THAT DAY...
Well, everything seems to be working really well, except for one thing. I got MQTT commands working, but when I send a string with a space, only the first word is displayed. Is that a limitation of the Command module rather than your Framed OLED module?
LATER STILL...
Not sure if there's a better way to send commands with spaces, but I tried using the Unicode non-breaking space or hard-space character U+00A0 instead of space, and it worked, displaying fine on my OLED as a normal space. To get this character from your keyboard, hold down Alt and type 0160 on the numeric keypad.
Also there's an odd artefact in the serial log... this message, over and over again, after sending just one command to a newly booted device... the command is something like Disp,1,Hello!
- OLED : Syntax Error in OLED command - Disp
Jon
Re: OLED Scrolling Display
I would like import/send mqtt messages to the oled, but it is a mqt-plugin "problem"...@timsson,I think the above should satisfy all requirements - what is it exactly that you want?
like this:
Oled:
Floor: open/closed
(MQTT-plugin Name: Window1 -- Topic 1:/ESP_03/window1 -- Value Name 1: -- Formula Value1: string(open/closed)
-> still only dezimal..
Thanks
-
- New user
- Posts: 3
- Joined: 25 Jul 2016, 12:19
Re: OLED Scrolling Display
R119 has compiled here fine. Thank You!
Re: OLED Scrolling Display
@JSilver
Yes indeed! The routine I used for splitting the command into component parts was an ESPEasy routine from misc.ino and I had not noticed that it used both comma and space as delimiter - hence your problem when trying to display strings with spaces. Now fixed in the playground.
The problem with the recurring syntax errors is partly due to you talking to yourself Jon!
I rather suspect that you have set your mqtt subscribe topic in such a way that your ESP listens to its own output - recursive confirmation bias! MQTT pubsub gets very confusing if you do this - even 'living fossils' should try to avoid the practise! The scrolling oled plugin by default outputs the status of the display and if you are not careful with your subscriptions, this output will subsequently be read as a command which could possibly cause a recurring syntax error as you have noted. I have made a small change in the software which should reduce this problem but it is even better to avoid it completely by modifying your pub and sub strings.
I use the following pub/sub strings to avoid the 'feedback' problem:
subscribe /%sysname%-IN/#
publish /%sysname%/%tskname%/%valname%
I really hope it works for you now.
N
Yes indeed! The routine I used for splitting the command into component parts was an ESPEasy routine from misc.ino and I had not noticed that it used both comma and space as delimiter - hence your problem when trying to display strings with spaces. Now fixed in the playground.
The problem with the recurring syntax errors is partly due to you talking to yourself Jon!
I rather suspect that you have set your mqtt subscribe topic in such a way that your ESP listens to its own output - recursive confirmation bias! MQTT pubsub gets very confusing if you do this - even 'living fossils' should try to avoid the practise! The scrolling oled plugin by default outputs the status of the display and if you are not careful with your subscriptions, this output will subsequently be read as a command which could possibly cause a recurring syntax error as you have noted. I have made a small change in the software which should reduce this problem but it is even better to avoid it completely by modifying your pub and sub strings.
I use the following pub/sub strings to avoid the 'feedback' problem:
subscribe /%sysname%-IN/#
publish /%sysname%/%tskname%/%valname%
I really hope it works for you now.
N
Last edited by namirda on 10 Aug 2016, 07:30, edited 4 times in total.
Re: OLED Scrolling Display
@timsson
Sorry but I still don't think I understand your problem.
However, I think you are asking for MQTTImport to import strings and not only floating point values?? If that is the case then I don't think it is possible without major overhaul of ESPEasy - the whole framework is designed around sensors which output numerical values.
MQTTImport works in just the same way as all other sensors except that it reads it's numerical data from the MQTT broker rather than a locally attached device.
If you want to display an Open/Closed string on the OLED then this is not something MQTTImport can help you with.Instead you will simply have to send the strings directly to the Scrolling OLED plugin.
You might want to take a look at MQTTWARN which is a little python utility which is excellent at modifying and retransmitting MQTT messages - I think it could probably help you here.
Hope this helps
N
Sorry but I still don't think I understand your problem.
However, I think you are asking for MQTTImport to import strings and not only floating point values?? If that is the case then I don't think it is possible without major overhaul of ESPEasy - the whole framework is designed around sensors which output numerical values.
MQTTImport works in just the same way as all other sensors except that it reads it's numerical data from the MQTT broker rather than a locally attached device.
If you want to display an Open/Closed string on the OLED then this is not something MQTTImport can help you with.Instead you will simply have to send the strings directly to the Scrolling OLED plugin.
You might want to take a look at MQTTWARN which is a little python utility which is excellent at modifying and retransmitting MQTT messages - I think it could probably help you here.
Hope this helps
N
Re: OLED Scrolling Display
I'll let you know shortly...namirda wrote:Now fixed in the playground.
Trying it now!
Damn. The madness is getting to me.namirda wrote:The problem with the recurring syntax errors is partly due to you talking to yourself Jon!
Oi! Leave us elderly folks alone!MQTT pubsub gets very confusing if you do this - even 'living fossils' should try to avoid the practise!
I see you found the in-joke my colleague left on our web site!
Good tip!subscribe /%sysname%-IN/#
publish /%sysname%/%tskname%/%valname%
I really hope it works for you now.
A LITTLE LATER ON...
Yes. All seems perfect. And since my ESP sensors were all publishing to sensors/%sysname%...etc, I've just changed the root of the MQTT topic for subscribing, which makes a lot more sense anyway. Thanks again Neil!
Re: OLED Scrolling Display
Okay, I am trying this on the "adafruit Oled feather" and it works better than the standard plug in. It is 128 x 32 so with the Header and footer you can only get 1 line in and be able to read it. It has 3 buttons on the board, I tested "C" which goes to GPIO2 and it works perfect. On this display the header is wasted, you can't read it at all. If i could figure out a way to remove the header and footer I would check to see if 2 lines would fit, and maybe insert the header info as a scrolling divider between the frames but drop the footer altogether.
One other interesting difference, everything is upside down... On the adafruit site they show the buttons on the left, but with this plugin, they are on the right. Not a problem just different.
Now to see if I can get the 8 channel PWM controller for it to work as well.
One other interesting difference, everything is upside down... On the adafruit site they show the buttons on the left, but with this plugin, they are on the right. Not a problem just different.
Now to see if I can get the 8 channel PWM controller for it to work as well.
Re: OLED Scrolling Display
Ok, now i use openhab and send this via http - it worksnamirda wrote:@timsson
...Instead you will simply have to send the strings directly to the display
Hope this helps
N
- rename displayname: 03_oled and send:
http://ip/tools?cmd=03_oled%2C1%2CWindows+open%3A
http://ip/tools?cmd=03_oled%2C2%2C4
Delay:6
Thanks!
Re: OLED Scrolling Display
Hi,
is it possible that somebody integrate an other driver?
I have several 1.3oled with SH1106.. who can help me
http://www.esp8266.nu/forum/viewtopic.p ... 8650#p8650
is it possible that somebody integrate an other driver?
I have several 1.3oled with SH1106.. who can help me
http://www.esp8266.nu/forum/viewtopic.p ... 8650#p8650
Re: OLED Scrolling Display
Hi Namirda,
Thank you for your work on all these plugins. I am going to use all of them for my project.I would like to request a useful feature to this plugin which i am missing in my project.I would like to control some 4 dimmers with rotary encoder locally which will show target pwm set on oled screen for few seconds and then start doing the scrolling routine.some people uses menu system to do it. I have seen few example of this here :
https://www.youtube.com/watch?v=iHOKVtHnfko
https://www.youtube.com/watch?v=MzO__HCKP8I (using menu)
I do not have experience and capacity to do it myself and I do not know how difficult this will be to implement but it will sure be nice addition to scrolling display plugin.
Thanks
Thank you for your work on all these plugins. I am going to use all of them for my project.I would like to request a useful feature to this plugin which i am missing in my project.I would like to control some 4 dimmers with rotary encoder locally which will show target pwm set on oled screen for few seconds and then start doing the scrolling routine.some people uses menu system to do it. I have seen few example of this here :
https://www.youtube.com/watch?v=iHOKVtHnfko
https://www.youtube.com/watch?v=MzO__HCKP8I (using menu)
I do not have experience and capacity to do it myself and I do not know how difficult this will be to implement but it will sure be nice addition to scrolling display plugin.
Thanks
Re: OLED Scrolling Display
Neil, a weird problem has arisen... and I'm not sure who to direct this at...
On recent builds, with OLED Framed included, I get "Low memory available, stability problems may occur" when compiling.
Whenever I go into the Devices page and do anything to do with OLED Framed, the device crashes.
I've tried your fix to webserver.ino, but to no avail.
Any ideas?
On recent builds, with OLED Framed included, I get "Low memory available, stability problems may occur" when compiling.
Whenever I go into the Devices page and do anything to do with OLED Framed, the device crashes.
I've tried your fix to webserver.ino, but to no avail.
Any ideas?
Who is online
Users browsing this forum: No registered users and 0 guests