Ik heb weer wat spullen over de kop gehad, zo vond ik nog een "ESP8266 ESP-01S" WiFi module.
Zo was het de bedoeling, om deze te koppelen aan mijn Arduino DUE.
Dat project lag even in de ijskast, en wil het toch weer eens proberen.
Is het mogelijk hem te laten werken via RX/TX om pinnen aan te sturen?
Ik heb er nu een " ENC28J60 Ethernet module" aan te hangen.
Hij haalt bestanden zo van de SD Card af, die ik via de SPI heb aangesloten.
Nu hoop ik, dat het mogelijk is om dat ook met de WiFi module te doen.
Ik waar deer alvast alle hulp, die leiden tot een oplossing.
ja dat kan. Een ESP-01 heeft normaal gesproken een AT-firmware in de flash (of die kan je er eventueel zelf op zetten) die je met AT-commandos aam kan sturen via de Seriele poort.
Je kan ook je eigen firmware maken in de Arduino IDE en die op de ESP zetten. Meestal is dat een stuk handiger.
Waar is de AT-Firmware te downloaden, mocht ik er een eigen firmware op zetten?
Als ik eigen maak, kan ik dan ook nog van de SD Card gebruik maken en de pinnen aansturen?
Het is een beetje nieuw voor mij die ESP, toch lijkt het bijna het zelfde als Arduino programmeren.
Pff. ik heb ooit ergens een versie vandaan gehaald, en nieuw uit de doos zit er bijna altijd wel een versie op, maar ik gebruik 'm nooit meer.
Ja in principe wel natuurlijk. Je kan de SD kaart aansturen vanuit de Due via spi normaal gesproken en je kan de Due en de ESP laten communiceren via Serial. De Due heeft 4x hwSerial en die is behoorlijk rap, en dde hwSerial van de ESP is ook niet langzaam. Je bent afhankelijk van de Due om de SD kaart aan te sturen denk ik, een ESP heeft maar 4 GPIO binnen vrij waarvan er dan 2 voor Serial gebruikt worden.
Ik vind trouwens een Due en een ESP-01 een stuk beter dan een Mega & ESP-01
Ja inderdaad je kan 'm gewoon zelf programmeren, alsof het een Arduino, met veel geheugen en snel, paar kleine dingetjes, en hoe de firmware te uploaden natuurlijk, daar hebben best veel mensen moeite mee in eerste instantie. Als je een Due gebruikt heb je geen voltage deler te gebruiken, dat scheelt, en die levert eenvoudig genoeg stroom, ook dat is dus geen probleem. Kwestie van de link naar de core toevoegen aan de IDE, installeren, en je schijnt zelfs naar een ESP te kunnen uploaden via een simpele Serial-passthrough. Ik heb dat nooit gedaan, maar ik gebruik een UNO voor uploaden. Deze tutorial is vrij goed, maar er zijn ook best wat mindere versies te vinden.
Ik heb wat schetsen gezien, alleen werkt alles met een los IP.
Is het ook mogelijk met een AT commando een wast IP te geven?
Of moet ik daar een schets voor uploaden?
Alleen vraag ik me dan af, hoe ik bestanden via SD kaart kan laten laden.
Omdat de SD kaart aan de DUE hangt via SPI.
Nu werkt de DUE als server, waar de schets op staat.
Ja dat kan, de hele AT-commando set vind je bij At-commands Vanaf pagina 26 kan je de specifieke commandos vinden.
Lijkt mij ook een omweg.
Ja maar dat kan eigenlijk amper meer, hoewel de mogelijkheden met deze library best uitgebreid en redelijk eenvoudig te programmeren zijn.WifiEspAt
Ik zou altijd de webserver gewoon op de ESP zetten en daar zelf een sketch voor schrijven. Dat is het meest efficient. Mochten de bestanden van de pagina te groot zijn voor de ESP (d'r past echt best veel op, maar er past natuurlijk nog veel meer op een SD kaart) kan je de pagina, van de SD-kaart, via de seriele poort naar de ESP laden, maar dat moet dan natuurlijk on-demand.
Zeer duidelijk uitleg, hier kan ik inderdaad wat mee.
"Ik zou altijd de webserver gewoon op de ESP zetten en daar zelf een sketch voor schrijven", dat was mijn plan ook.
Dan doet de ESP-01S de server.
"via de seriele poort naar de ESP laden", dat moet dan in de sketch van de ESP?
Op de SD Card staat namelijk ook afbeelding die hij dan laat, vandaar dat ik een SD gebruik.
Hij doet het nu zo, hij laat paginas maar ook afbeelding die er op staan.
Misschien een idee om de SD card aan de ESP te hangen in plaats van aan de Due.
Misschien een idee om de Due te schrappen en alles met bv een ESP32 te doen? Ik ben niet zo bekend met de ESP familie maar ik heb begrepen dat de ESP32 hier best wel geschikt voor zou kunnen zijn.
Ja inderdaad, 1 enkel board is wel een stuk handiger
Of een nodeMCU, 't hangt er vooral vanaf welke andere taken de due nu uitvoert.
Hoe groot zijn de pagina's inclusief afbeelding ?
Ja, ik zou daar wel een aparte sketch voor laden, hoewel het volgens mij via die WifiEspAt Bibliotheek kan, maar dan is het misschien handiger om de autheur daarvan te vragen hoe dat moet.
Op de ESP in de webserver callback, doet de ESP een request aan de due om de pagina van de SD kaart te laden en te versturen, inclusief afbeeldingen. Ik weet niet precies wat de maximum snelheid van beide UARTs is maar volgens mij gaat 5Mbps wel lukken. Ik weet niet in hoeverre dat de bottleneck zal zijn, een sd-kaart is meestal ook niet super snel. Idealiter wil je natuurlijk de sd-kaart op dezelfde processor aansluiten als waarop je de webserver zet, en een nadeel van een ESP-01 is dat er maar een paar GPIO pinnen aangesloten zijn, en veel van de 'resources' niet beschikbaar zijn als gevolg daarvan. Een ander board kan zelfs in combinatie met de due een betere oplossing zijn. Ik heb meer achtergrond informatie nodig om je vraag volledig en zo nauwkeurig mogelijk te beantwoorden.
Misschien een beetje dubbel, ik probeer het zo goed mogelijk uit te leggen wat ik van plan ben.
Ik heb de Arduino DUE met internet verbonden via een UTP kabel.
Hij laat pagina's en afbeeldingen van een SD kaart af die aangesloten zit aan de SPI.
Nu ben ik van plan, om de UTP te verwijderen en met WiFi te verbinden.
Dat wilde ik doen met een ESP-01S, die met de DUE via RX en TX verbonden is.
De ESP moet verbinden met de WiFi en een vast IP verkrijgen.
En als er naar het IP adres word gegaan, moet hij de pagina laden die op de SD kaart staat.
Het is een soort van home automatisering, alleen dan een kleine variant.
Ik hoop nu voldoende info te hebben gegeven, anders vul ik hem nog wat aan.
Als dat het enige is wat moet gebeuren is een ESP dev board wat wel SPI aangesloten heeft de beste oplossing.
Een nodeMCU of een wemos d1 of zelfs een ESP32 maar dat is eigenlijk een beetje overbodige luxe.
Tenzij het natuurlijk om een vrij kleine pagina gaat. Een ESP-01 heeft 1MB flash (zwarte PCB) en ze kan zonder problemen tot de helft daarvan gebruiken als semi permanente opslag voor wat voor data dan ook.
Om het te doen met een combinatie van een due en een ESP-01, kan wel... maar is onhandig en gecompliceerd, en een ander board is helemaal niet zo duur.