An ESP8266 Ticker

[ 6,009 views ]

INTRODUCTION

From the moment I saw the MAX7219 Dot matrix modules I wanted to build a news ticker. I wanted the option to enter my own messages without having to install special Apps on my phone or tablet. So the ticker must be approachable via a web interface. In addition to the messages to be entered by myself, it must also be possible to get the current weather and news items from the Internet and display them on the news ticker. Of course, the time must also be shown!

Een Nederlandse vertaling van deze post kunt u hier vinden.

The Hardware

An ESP8266 with built-in WiFi will suite this project just fine.
The 1of!-Wemos and 1of!-ESP12 processor boards are ideal for small prototype projects of this kind.
To make the intensity of the display dependent on the ambient light, I use a Light-Dependent Resistor (LDR).
As a display, naturly, the MAX7219 Dot Matrix modules are used.

Connecting the parts

The Firmware

For developing firmware for the ESP8266 I use a so-called Framework which contains everything for connecting to WiFi, retrieving the time via NTP a file browser to download- and upload files from the internal files system (SPIFFS) and there is a web server for the User Interface. Also updating the firmware “Over The Air” is part of that Framework in the form of an Update Server.
All that needs to be added is control of the MAX7219 dot matrix display and functions to get the weather and news.

Depending on the type of MAX7219 you use, you must enter the corresponding definition at HARDWARE_TYPE. Depending on how many modules you use you have to adjust the definition of MAX_DEVICES (there are four MAX7219’s on one module). You can use the firmware with one, two, three or four modules. You can also use two modules next to and on top of each other with a BIG Font you can then use double height letters (this is not part of the firmware).

ESP-ticker.h contains a few #define statements that are important:

#define   HARDWARE_TYPE          MD_MAX72XX::FC16_HW
//#define HARDWARE_TYPE        MD_MAX72XX::GENERIC_HW
#define   MAX_DEVICES                 8

Of course you have to install the Arduino ESP8266 core (read here how to do that). The ESP ticker has been tested with version 2.6.3.

The User (web) Interface

Entering local messages
Edit settings
FileSystem Explorer
Update Server

Extra Libraries

You need to install the following libraries (but look at the actual code for an up-to-date list of libraries):

// https://github.com/ropg/ezTime
#include <ezTime.h>

// https://github.com/jandrassy/TelnetStream
#include <TelnetStream.h>      

// https://github.com/mrWheel/ModUpdateServer
#include <ModUpdateServer.h>  
​
// version 0.15.0 - https://github.com/tzapu/WiFiManager
#include <WiFiManager.h>     

To control the MAX7219 display you also need the following libraries from “Marco Colli”:

- MD_Max72xx
- MD_Parola

You install them with the Arduino Library Manager:

Library Manager

WEERLIVE.NL

We collect the weather from weerlive.nl. Here you must register and request an “API key”. The service is free for private use, as long as you do not request the weather too often (fair use). The firmware allows a maximum of one request every 15 minutes.
You enter the API key on the settings page of the web server. Here you also indicate for which place you want the weather (but this is only an indication. In the middle of the Netherlands the weather always comes from De Bilt).

NEWSAPI.ORG

This organisation collects news reports from all over the world. You must also request an “API key” for this service. The service is free for “developers” if you request new messages for less then 500 times a day (note: The delivered messages are at least 15 minutes old!). That is a maximum of 1x per 5 minutes.
You enter the API key on the settings page of the web server.

OBTAINING THE FIRMWARE

You can download the firmware from github. It is a bit too much to explain the whole firmware here but the most important things take place in the main loop () function:

void loop()
{
  handleNTP();
  httpServer.handleClient();
  MDNS.update();
​
  //--- het heeft geen zin om het weer op te halen als je geen API-key hebt --
  if ((millis() > weerTimer) && (strlen(settingWeerLiveAUTH) > 5))
  {
    weerTimer = millis() + (settingWeerLiveInterval * (60 * 1000)); // Interval in Minutes!
    getWeerLiveData();
  }
  
  //--- het heeft geen zin om nieuws op te halen als je geen API-key hebt --
  if ((millis() > newsapiTimer) && (strlen(settingNewsAUTH) > 5))
  {
    newsapiTimer = millis() + (settingNewsInterval * (60 * 1000)); // Interval in Minutes!
    getNewsapiData();
  }
​
  if (P.displayAnimate()) // done with animation, ready for next message
  {
    msgType++;
    DebugTf("msgType[%d]\r\n", msgType);
 
    switch(msgType)
    {
      case 1:   if (!(millis() > timeTimer))  return;
                inFX  = random(0, ARRAY_SIZE(effect));
                outFX = random(0, ARRAY_SIZE(effect));
                snprintf(actMessage, LOCAL_SIZE, weekDayName[weekday()]);
                P.displayText(actMessage, PA_CENTER, (MAX_SPEED - settingTextSpeed), 1000
                                                            , effect[inFX], effect[outFX]);
                DebugTf("Animate IN[%d], OUT[%d] %s\r\n", inFX, outFX, actMessage);
                break;
      case 2:   if (!(millis() > timeTimer))  return;
                timeTimer = millis() + 60000;
                inFX  = random(0, ARRAY_SIZE(effect));
                outFX = random(0, ARRAY_SIZE(effect));
                sprintf(actMessage, "%s", updateTime());
                P.displayText(actMessage, PA_CENTER, (MAX_SPEED - settingTextSpeed), 2000
                                                            , effect[inFX], effect[outFX]);
                DebugTf("Animate IN[%d], OUT[%d] %s\r\n", inFX, outFX, actMessage);
                break;
      case 3:
      case 6:   nextLocalBericht();
                P.setTextEffect(PA_SCROLL_LEFT, PA_NO_EFFECT);
                break;    
      case 4:            
      case 5:            
      case 7:            
      case 8:   nextNieuwsBericht();
                P.setTextEffect(PA_SCROLL_LEFT, PA_NO_EFFECT);
                break;
      case 9:   snprintf(actMessage, LOCAL_SIZE, "** %s **", tempMessage);
                utf8Ascii(actMessage);
                P.setTextEffect(PA_SCROLL_LEFT, PA_NO_EFFECT);
                break;
      case 10:  nextNieuwsBericht();
                break;
      default:  msgType = 0;
                return;
                
    } // switch()

    //DebugTln(actMessage);
    valueIntensity = calculateIntensity(); // read analog input pin A0
    DebugTf("Intensity set to [%d]\r\n", valueIntensity);
    P.setIntensity(valueIntensity);
    // Tell Parola we have a new animation
    P.displayReset();

  } // dislayAnimate()
  
} // loop()

The “switch” statement ensures that alternate local messages (entered via the web interface) or news messages are displayed. If the msgType is 1 or 2, the day name and time are printed respectively. If the msgType is greater than 10 then all will be displayed again.

For the firmware to compile correctly you need the following IDE settings:

SPIFFS

After flashing the firmware don’t forget to also flash SPIFFS! Here you find a Dutch post on how to do that.

SHOW OFF

I like to be able to see the interior of my “projects”. That’s why I often use plexiglass for the structure or cabinet and why would I deviate from that for the ESP ticker?

I used two pieces of plexiglass (30x24cm and 30x6cm). Plexiglas can be easily cut with a fine hacksaw. By heating it locally with hot air (300 * C) you can bend it well (around the corner of a table, for example). The 1of!-Wemos board and the MAX7219 displays (2 pieces) are screwed onto the rectangular piece of plexiglass of 30x6cm. In order to properly mount the MAX7219’s, it is easiest to remove the two outer 8×8 display units from the PCB. That is quite simple because they are in a socket. You must be very careful not to bend the legs. Now you can screw the unit to the Plexiglas with four M2.5 or M3 bolts and nuts. On the other side you screw the processor board.
Make a hole for the LDR and glue it with, for example, hot-glue.
It is wise to test the unit now. The MD_parola library is very rigid in what is left and right and top and bottom. You don’t want the newspaper to be “turned upside down” when you’ve put it all together!

The larger piece of Plexiglas is bent in a U-shape serves as a cover.

The LDR is glued to the rectangular base with hot glue
This entry was posted in Arduino, ESP8266, Hardware, WiFi and tagged , , , , , , , . Bookmark the permalink.

47 Responses to An ESP8266 Ticker

  1. Arie says:

    Leuk project waar ik een paar toepassingen voor heb bij het jeugdwerk. Als het net zo eenvoudig werkte als de meteruitlezer zou dat geweldig zijn.

    Helaas met het compileren krijg ik een error melding en een exit status 1 in de restAPI.
    restAPI:146:3: error: expected primary-expression before ‘)’ token
    Op regel 133 word netjes het haakje geopend en gevolgd door wat #ifdef / #endif.

    Helaas mijn onvoldoende programmeer kennis of de warmte van voorbije week speelt mij parten

    • Willem Aandewiel says:

      Arie,

      Je hebt bij de board selectie waarschijnlijk iets als Wemos geselecteerd. Je moet iedere ESP8266 gewoon als “generic esp8266” instellen óf je moet een #if #endif maken voor het specifieke board dat je gebruikt. In alle gevallen is de selectie van een “generic esp8266” het eenvoudigst.

  2. Arie Moret says:

    Hallo Willem,

    Klopt dat ik een voorhanden zijnde Wemos probeer te flashen.

    Bedankt voor je super snelle reactie, ik zat al een paar dagen naar het scherm en de code te staren, waarbij door de warmte soms de ogen dicht gingen.
    Ik ga er mee aan de gang.

    Vriendelijke groet,

    Arie

  3. Ruud vd Meer says:

    Hallo Willem,
    Mooi ontwerp, opgebouwd en voor een groot deel werkt het ook.
    Alle settings die je heb aangegeven overgenomen, ESP8266 op versie 2.6.3 gezet.
    Ik heb lopende tekst, na opstart het IP adres, hierna dag en tijd, hierna ESP_ticker en de (c) mededeling. Als ik brows op het adres krijg is weinig info:
    ESP – lichtKrant – [version] 00:00
    2020 © Willem Aandewiel
    Meer niet, ook in de bron vrijwel geen info. (Chrome)
    Mijn vraag: wat kan er mis zijn?
    Ook begrijp ik niet, ik geef geen inloggegevens in en toch haalt hij tijd op en is hij bereikbaar via de browser?
    Op de serieele monitor zie ik de logging lopen, maar ik heb omdat ik geen API’s kan instellen geen verdere info. Hoe kan ik het oplossen, ik gebruik IDE Versie 1.8.13.
    Alvast bedankt, en het ziet er geweldig uit.

    • Willem Aandewiel says:

      Hi Ruud,

      Ik dénk dat je SPIFFS niet hebt geflashed!

      Dan is het systeem een beetje kreupel .. maar ik zie dat ik dat niet in mijn post vertelt heb (nu wel).

  4. Ruud vd Meer says:

    Frontview van het display. Zie bovenstaande vraag…

    • Willem Aandewiel says:

      Wat een vreselijk mooi frame heb je voor de lichtkrant!
      Zelf gemaakt of kun je dat zo ergens kopen?

  5. Ruud vd Meer says:

    Het browser scherm met wel wat weinig info.

  6. Ruud vd meer says:

    Het klopt dat ik de ESP8266 niet heb geflashed ik heb daar een speciale tool van de fabrikant, dat gaat via de seriële poort. Ik heb echt geen idee hoe dit via de webtool moet doen, je vermeld dat je eerst iets moet saven?
    Sorry ik begrijp het niet. Zou je dit aan willen geven.
    Ik begrijp ook niet hou hij keurig inlogt om m’n internet en ik heb geen naam en paswoord ingegeven. Wondere wereld.
    Het kastje is van printplaat, ik maak daar al jaren kastjes mee, lekker stevig, past altijd en veel mooier dan 3D kastjes. Spuitbusje goud, doet wonderen.
    Ik gebruik voor het front, 3mm rood perspex, of rode folie welke voor spots (pars) wordt gebruikt. Op de foto een ander printplaat kastje in de maak. Mooi materiaal.

  7. Ruud vd Meer says:

    Prima gelukt om een een versie met 12 (3×4) te maken.
    In blauw, met een alluminium behuizing, gemaakt met een strook aluminium van 30mm breed. Beetje 2 comp lijm, spuitbus goud en….
    Instellen op een andere locatie, ander netwerk gaat ook prima.
    Mooi project. Compliment!

    • erwin says:

      hallo ruud, ik heb een vraagje, heb je de lichtkrant werkend via de webserver?
      ik heb het wel werkend maar krijg de webserver niet goed, mag ik vragen hoe jij het werkend heb gekregen met het flashen,ziet er netjes uit hoor
      alvast bedankt
      m v g
      Erwin

      • Ruud says:

        Je moet inloggen op het ip adres wat als eerste wordt weergegeven. Dan kom je on de webserver.
        Ik liep daar ook tegen. Maar je moet eerst de esp flashen dit staat wat beperkt beschreven. Het gaat via de ide.
        Beetje complex om te omschrijving maar het is op deze site te vinden. Was wel lastig maar is gelukt.

      • Willem Aandewiel says:

        Kijk hier eens.

  8. luuk says:

    hoi willem,
    ik krijg een melding over boolean ip adres dat niet goed is , heeft te maken met de weerlive.nl ?
    heb jij enig idee ? ik kan niet compileren nu..

    Arduino:1.8.13 (Windows 10), Board:”Generic ESP8266 Module, 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), dtr (aka nodemcu), 26 MHz, 40MHz, DOUT (compatible), 1MB (FS:64KB OTA:~470KB), 2, nonos-sdk 2.2.1+100 (190703), v2 Lower Memory, Disabled, None, Only Sketch, 115200″

    helperStuff:27:19: error: 'IPAddress' was not declared in this scope
    
     boolean isValidIP(IPAddress ip)
                       ^
    
    C:\Users\daily\Downloads\ESP_ticker-master\ESP_ticker-master\weerlive_nl\weerlive_nl.ino: In function 'void getWeerLiveData()':
    
    weerlive_nl:21:3: error: 'WiFiClient' was not declared in this scope
    
       WiFiClient weerliveClient;
       ^
    
    weerlive_nl:21:14: error: expected ';' before 'weerliveClient'
    
         .
         .
         .                              
    
    helperStuff:27:9: error: previous declaration of 'boolean isValidIP'
    
     boolean isValidIP(IPAddress ip)
             ^
    
    exit status 1
    
    'IPAddress' was not declared in this scope
    
    Dit rapport zou meer informatie bevatten met
    "Uitgebreide uitvoer weergeven tijden compilatie"
    optie aan in Bestand -> Voorkeuren.
    

    [admin: moved comment from “Aan de slag met de ESP8266” naar deze post]

    • Willem Aandewiel says:

      Hoi Luuk,

      Ik heb geen idee wat je aan het doen bent!
      In ieder geval lijkt je comment niets met de post “aan de slag met de esp8266” te maken te hebben.

      Je moet je comment dáár plaatsen waar hij betrekking op heeft, maar pas nadat je álle documentatie en comments die op die post betrekking hebben hebt gelezen. Negen van de tien keer staat het antwoord op jouw vraag daar ergens tussen (het is een beetje werk, maar ik heb liever dat jij dat doet dan dat ík dat moet doen ..).

      Succes!

      • luuk says:

        ach verrek ja , ik zit op de verkeerde pagina mijn vraag te stellen:)
        ik ben met de esp8266 ticker bezig die je gemaakt hebt en probeerde code te verifieren maar dat lukt niet.
        ik zal nog eens verder gaan zoeken , nieuwe dag nieuwe kansen toch?

        • Willem Aandewiel says:

          Luuk,

          Ik heb je comment verplaatst naar deze post.

          Ik weet niet zo goed hoe je één en ander opgezet hebt. Heb je alle code uit github gedownload? Het lijkt n.l. of je niet alle tab-bladen hebt. Kun je een plaatje van alle tab-bladen maken en hier posten?
          In ieder geval heb je de instellingen voor de ESP8266 niet goed staan (zie het plaatje in de post).

          • luuk says:

            Hoi Willem,
            ik heb even gestoeid en de juiste tabbladen erin gezet zoals je al vermoedde. Ik heb nu zoals hierboven bij Ruud de spiffs niet geflashed denk ik. Ik krijg nl het zelfde in beeld, alleen maar esp lichtkrant melding in de browser en op het LED alleen maar de melding esp ticker -willem aande wiel etc.

  9. luuk says:

    UPDATE:
    ik heb zover ik weet FsExplorer uitgevoerd maar ik heb nog steeds niet een goed werkende lichtkrant Willem. Ik heb hier dan ook helemaal geen ervaring mee met die Spiffs etc. Ik krijg de Dummy Newsregel wel in beeld en heb mijn api keys ingevoerd in het FSexplorer . Ik vermoed dat ik niet juist heb gehandeld met het flashen. Kan je wat uitleg geven adhv het bijgevoegde plaatje? Luuk

    • Willem Aandewiel says:

      Luuk,

      Post een screenshot van de instellingen die je voor het compileren gebruikt.
      Als je gewoon van github de hele code als “.zip” file download en vervolgens uitpakt in je Arduino Werkmap dan hoef je niets ingewikkelds te doen met tabbladen. Ook de “data” map die je nodig hebt op SPIFFS te flashen staat dan op de goede plaats.

      Probeer eerst de firmware en SPIFFS bedraad te flashen. Dat werkt het makkelijkst en als je meer ervaring hebt kun je eventuele nieuwe firmware met de updateServer flashen.

      Hoe je één en ander moet doen staat als linkjes in de post.

      • luuk says:

        kan je hier wat mee Willem?

        • Willem Aandewiel says:

          Hi Luuk,

          Nee, ik kan niets met bovenstaande plaatje. Ik vroeg om de IDE settings (in de tekst van mijn post staat een plaatje van de IDE settings zoals je ze moet instellen).
          Alles wat je moet doen staat in de tekst van mijn post. Kwestie van nauwgezet lezen.

          Je schrijft dat je de api-key’s hebt ingevoerd. Dan lijkt het erop dat je een werkende ticker hebt. Wat “werkt” er en wat werkt er, volgens jou, niet?

          Ik wil best helpen, maar ik voel er niet zoveel voor om al het onderzoek te doen en vragen te stellen waarvan je zelf de meeste antwoorden op mijn site kunt vinden.

        • Willem Aandewiel says:

          Luuk,

          Ik zie nu dat je de code hebt aangepast door er, hardcoded, een api-key in te stoppen. Dat werkt niet. De api-key’s en alle andere instellingen voer je in door op de webinterface op het “settingen” icoontje te klikken.
          De code werkt “out-of-the-box” (met uitzondering van het type- en aantal-display’s dat je hebt aangesloten -zie de tekst in de post). Aan de rest van de code moet je dus niets veranderen!

          • luuk says:

            Dank je wel Willem voor je geduld en dat je wilt meedenken. Ik ben nog niet zo ervaren in Arduino en doe alleen kleine projectjes om het te leren en dan ook alleen maar met Max7219 LED en wemos d1 en nodemcu 1.0 .
            Ik heb de IDE settings gebruikt die je op je uitleg hebt gegeven op je site . (In de sketch staan trouwens andere instellingen weergegeven , de flashmode en cpu freq zijn verschillend).
            Ik heb de hardcoded key api’s verwijderd en begreep hier uit jouw reactie dat ze alleen maar ingevoerd moeten worden op de webinterface , welke je opent via het ip adres dat je krijgt op het LED scherm nadat je het AP van het ESP hebt verbonden. Eerst had ik hiermee geen succes.
            Ik heb daarna mijn IDE instellingen veranderd naar de instelling die in de sketch staat en heb als board een nodemcu 1.0 ingevoerd. Nadat ik op het opgegeven IP adres door de ESP wederom geen interface kreeg, heb ik in Arduino via ESP Sketch Data Upload onder de Tools de data “gespiffd”? ( dit is nieuw voor mij) . Nu had ik wel een interface en kon ik mijn gegevens zoals de Api keys invoeren en werd het weergegeven op het LED scherm.
            Rest mij nu nog om ook een mooi en originele behuizing te maken , waarvan ik het resultaat uiteraard ook aan jou zal laten zien . Bedankt Willem voor je uitleg en reacties.

          • Willem Aandewiel says:

            Hi Luuk,

            Fijn dat het uiteindelijk gelukt is.
            Ik geef altijd aan de IDE op dat het een “Generic ESP8266” is omdat alle boards dat in beginsel ook zijn. Ieder specifiek type board zorgt voor allerhande vertalingen naar pinnen die uiteindelijk altijd weer vertaald worden naar GPIO pinnen … die ik in mijn code gebruik.
            Daarnaast hebben al die boardjes ook specifieke reset sequences die uiteindelijk weinig uitmaken. De CPU frequentie maakt, voor de meeste projecten ook niet zoveel uit. 80MHz verbruikt iets minder stroom dan 160MHz.
            Maar goed, fijn dat je na het goed lezen van de post een werkende ticker hebt!

  10. Mario says:

    Hallo Willem,

    Dank voor het delen van dit project!
    Na wat gestoei heb ik het uiteindelijk werkend gekregen.
    (duurde even voordat ik erachter was dat voor een NodeMCU het juiste board geselecteerd moest worden en dat CS dan als D8 ipv alleen als 8 geconfigureerd moet worden)

    Ik loop ergens tegenaan wat een beetje een showstopper is voor mijn beoogde doel voor de Ticker.
    Als ik een bericht met daarin een dubbele punt invoer bijv. – Aanvang 14:00 – dan wordt alle tekst vanaf de dubbele punt niet getoond op de Ticker én niet opgeslagen in de file.

    Daarna ben ik nog wat andere test gaan doen (om verrassingen te voorkomen) en kwam erachter dat er meer karakters de werking van de Ticker in de weg zitten:
    : Zorgt ervoor dat alles vanaf de dubbele punt niet getoond en niet opgeslagen wordt.
    % Zorgt ervoor dat het eerstvolgende karakter niet getoond wordt op het display maar wordt wel correct opgeslagen in de file
    { Wordt niet opgeslagen in de file en dus niet op de Ticker getoond
    } Wordt niet opgeslagen in de file en dus niet op de Ticker getoond
    , Zorgt ervoor dat alles vanaf de komma niet getoond en opgeslagen wordt.
    ” Wordt in de file vervangen door \ en daarna worden de local messages niet meer getoond in de GUI
    \ Wordt opgeslagen in de file als \\ en ook zo op de Ticker getoond.

    Ik heb geprobeerd om \ als escape karakter te gebruiken, maar dat werkt helaas niet.
    Is er een ander escape karakter die bovenstaande issues oplost of zijn dit bugs?

    Als test heb ik alle karakters ook nog eens handmatig in bestand LCL_001 gezet en ge-upload.
    Het enige karakter dat dan nog problemen geeft is het procent teken die dan hetzelfde effect geeft als bij invoer via de GUI.

    Gr,

    Mario

    • Willem Aandewiel says:

      Mario,

      Leuk dat je het project aan het nabouwen bent!

      De dubbelepunt (:) wordt in de Json string gebruikt om velden te scheiden. De parser die ik heb geschreven houdt er geen rekening mee dat een “:” binnen quotjes géén Json scheidingsteken is… Hetzelfde geldt voor de andere tekens die binnen een Json string belangrijk zijn. Dat zou je een bug kunnen noemen.

      Om dit op te vangen moet je deze functie aanpassen.

      Je kunt deze speciale tekens vervangen door “iets anders” en in index.js hier de speciale tekens weer terugzetten in wat het oorspronkelijk was.

      Als je een betere oplossing bedenkt zie ik die graag tegemoet!

      Succes.

      • Mario says:

        Hallo Willem,

        Dank voor je supersnelle reactie!
        Ik vrees dat dit soort aanpassingen voorlopig boven mijn petje gaan.
        Globaal volg ik nog wel wat er in postMessages() gebeurt, maar wat er in refreshMessages() gebeurt ontgaat mij totaal.
        Had gehoopt dat dit probleem met functies zoals bij php addslashes/stripslashes redelijk eenvoudig op te lossen zouden zijn maar daar lijkt het dus niet op.

        Toch bedankt.
        Als ik nog ooit een oplossing vind zal ik die zeker posten.

        Gr,

        Mario

  11. 02-01-2021
    Op github staat nu een versie die de (meeste) problemen met speciale tekens oplost.
    Deze versie (v1.7) maakt ook gebruik van het nieuwe “LittleFS” omdat SPIFFS “depreciated” is.

    Om de data-map te kunnen flashen moet het “LittleFS data upload tool” worden geïnstalleerd. In het README.md file op github staat een verwijzing waar je meer informatie hierover kunt vinden.

  12. Mario says:

    Hoi Willem,

    Da’s nog eens een service! Top!
    Deze versie struikelt niet over de speciale tekens.
    Het enige probleem karakter is de dubbele quote die, zoals je al via de mail aangaf, altijd omgezet wordt naar een enkele quote.
    Work-around hiervoor is twee dubbele quotes in te voeren waardoor je twee enkele quotes krijgt die voor de leek gewoon op een wat brede dubbele quote lijkt.

    Bedankt voor de fix!

  13. Mario says:

    Hoi Willem,
    Mijn versie van de Ticker (24 modules).
    Rode folie voor het display ontbreekt nog, maar dat komt tzt wel goed.

  14. luuk says:

    Willem, hier nog het volledige resultaat.
    Een frame gemaakt van hout, karton of schuimboard. Daarom heen lamineer geplakt en geschuurd. De stroomtoevoer kan je met een magnetisch micro lader verzorgen zodat je de kabel er simpel aan kan bevestigen middels een ‘klik’ .
    mvg luuk

  15. erwin says:

    beste willem, ik begrijp dat u misschien weemoedig wordt over al de vragen wat betreft de lichtkrant,ik krijg netjes lopende tekst met ook het ip nummer ,maar kom niet in de web interface, echter als ik het framewer gebruik uit de engelse vertaling werkt de interface wel, mijn vraag is het dus logisch dat ik dit moet gebruiken want enkel met de sketch esp ticker versie 1.7.0 lukt de interface niet, wat ik begrijp id dat ik soms wat te moeilijk denk over deze leesbegrippen, ik dank u alvast hartelijk, en de wemos printen
    zijn geweldig, mijn complimenten
    m v g
    Erwin

    • Willem Aandewiel says:

      Erwin,
      Ik begrijp absoluut niet wat je bedoelt. “Framewerk uit Engelse vertaling”??

      De meeste problemen ontstaan als de code niet correct van github wordt gehaald. Je moet de code als “zip” file downloaden en het zipfile in de werkmap van de Arduino IDE uitpakken. Je moet ook het “esp8266 data upload tool” installeren. Na het flashen van de firmware (met de juiste instellingen zoals “Generic ESP8266 Module” (óók als je een Wemos of NodeMCU gebruikt) en vooral de juiste SPIFFS grootte! moet je dit tool gebruiken om de data te flashen (eerst de Serial Monitor afsluiten anders krijg je een foutmelding).

  16. erwin says:

    Beste willem dank voor uw duidelijke info wat betreft de esp ticker lichtkrant,ik ga deze info nog eens heel duidelijk uit voeren, ik wilde nog even zeggen dat ik wat onduidelijk overkwam wat betreft framework in uw engelse beschrijving van de esp ticker verteld u dat er gebruik wordt gemaakt van het framework als je deze link aanklikt kom je op github en kun je de esp8266framework zip downloaden, deze esp8266framework master zip heb ik uitgepakt in mijn library en na het compileren had ik netjes een webserver,ik dacht dan ook dat deze gebruikt moest worden naast de esp ticker master zip die ik ook in de library hebt uitgepakt, het blijkt echter dat ik dit niet goed hebt gedaan ,dus ga weer opnieuw aan de slag, ik heb de lichtkrant netjes lopen met ip nummer en uw naam met de tijd, dus dan gaat de webserver ook lukken

    mijn excuses voor de onduidelijke uitleg
    m v g
    Erwin

    • Willem Aandewiel says:

      Erwin,

      Veel van mijn projecten gebruiken “een framework” als basis. Maar de code van een “af” project (zoals bijv. de ESPticker) zijn uiteraard onafhankelijk van de code uit “andere” projecten (met uitzondering van benodigde libraries). Als je in github bij het project dat je wilt nabouwen op de groene [Code] knop drukt kun je in één keer alles wat nodig is voor dit project in een “.zip” file downloaden. Uitpakken in de Arduino IDE werk directory en je kunt er zo mee aan de slag.
      In het éérste tabblad staat de “hoofd” code van het project. Hierin zet ik meestal ook de belangrijkste instellingen en opties.

  17. erwin says:

    Beste willem ik heb eindelijk na weken bezig de lichtkrant compleet werkend
    wat is dit een werkelijk leuk project om mee te werken
    ik ben dan wel 6 weken bezig geweest om op de webserver te komen
    maar opgeven doe ik nooit ( GOED LEZEN IS HET HALVE WERK !!!!! )
    mijn complimenten voor dit project
    m v g
    Erwin

  18. René says:

    Beste Willem,

    Het is me gelukt om binnen een halve dag de ticker in elkaar te solderen en te programmeren! Zie hier.

    De enige wijziging is dat ik LittleFS ipv SPIFFS heb moeten gebruiken.

    Nieuws en weer werkt, alleen de local messages kan ik nog niet instellen via de webserver. Het lijkt erop als op het opslaan via het webformulier nog niet helemaal werkt. Maar das een kleinigheid vermoed ik.

    Nu alleen nog twee 7219 matrixen aan elkaar koppelen om de lengte van de ticker te verdubbelen.

    Dank voor dit project!

    mvrgr,
    René

  19. erwin says:

    beste Willem, ik ben tot op heden nog steeds druk in de weer met uw project
    wat is dit leuk om mee te werken,alles werkt perfect, ik ben al een poosje bezig met het proberen van big font, parola maar dit gaat niet lukken denk ik, ik heb nu 10 stuks pcb besteld,waarmee je een 8×8 matrix kunt bouwen met 10mm leds aangestuurd door de max7219
    dit komt neer op een lichtkrant van 1meter lang bij 10 cm hoog
    dit moet goed te lezen zijn lijkt me 🙂
    wanneer de gehele kast gereed is zal ik daar wat foto’s van plaatsen,nogmaals
    dank voor dit leuke project
    mvg
    Erwin

  20. Hans says:

    Hallo Willem,
    Ik heb je esp8266 newsticker in gebruik genomen en vroeg mij af of het mogelijk was om in het programma een parola sprite (pacman) te implementeren die een keertje voorbij komt tijdens de loop of zo. Ik ben alleen een complete leek op dit gebied. Is er een mogelijkheid om dit te doen in de bestaande programmatuur ? Kan jij mij een aanpassing sturen of is er ergens iets te vinden waar dit mij in kan helpen ? Ik weet nl niet waar in je programma ik uberhaupt zo moeten beginnen om dit te bewerkstelligen.

    • Willem Aandewiel says:

      Hans,
      Dat is zéker mogelijk, maar ik heb er geen ervaring mee.
      In dit soort gevallen zijn internet en Google je beste vrienden!

      [ik heb het comment naar de goede post verplaatst]

Leave a Reply to Mario Cancel reply

Your email address will not be published. Required fields are marked *

The maximum upload file size: 4 MB. You can upload: image, other. Links to YouTube, Facebook, Twitter and other services inserted in the comment text will be automatically embedded. Drop file here

This site uses Akismet to reduce spam. Learn how your comment data is processed.