Dit instructable is voor de software van mijn Weater Station Project. Lees het eerste om alle uitleg te begrijpen.
Vanwege de beide MCU's het software-concept is gebaseerd op twee delen: de ESP8266 draait op Nodemcu en doet de Internet verbinding en thingspeak.com gerelateerde onderdelen. De Arduino doet alle de sensor gerelateerde dingen. De communicatie tussen de Arduino en ESP8266 is via de seriële verbinding waarbij de Arduino de SoftwareSerial bibliotheek op pennen D2 (RX) en D3 (TX gebruikt).
De configuratie is onderverdeeld in de beide eenheden:
- Alle wifi en thingspeak.com relevante parameters worden opgeslagen in de ESP8266 in een configuratiebestand.
- Alle sensor en meten verwante parameter worden ingesteld in de Arduino.
Waarom? Ik het opbouwen van een heleboel verschillende eenheden die alleen verschillen in de parameters thingspeak.com en wifi. En ik het opbouwen van een nette programmeur (afbeelding) voor de ESP01. Dus ik alleen moet Sla het nieuwe configuratiebestand op de ESP01 en alle andere dingen blijven hetzelfde. En kan gemakkelijk het thingspeak kanaal veranderen door het veranderen van alleen de ESP01 config.
Er is twee modi in de Arduino software: standaard en lage macht. De standaardversie voor het aandrijven van de ESP01 eenmaal en stuurt gegevens regelmatig (korte periodes) aan thingspeak.com. De lage macht een stuurt de datum ook regelmatig maar binnen langere periodes. Tussen twee verzendingen wordt de ESP01 uitgeschakeld. Waarom het gebruik van de standaard versie en niet altijd opslaan macht? Als u een betrouwbaarder wilt, equidistante tijdstempel op thingspeak.com opnieuw verbinden met wifi duurt te lang en is niet gelijk uit één heraansluiting aan de andere. En als u niet het systeem op batterij lopen, besparing van de macht is niet het belangrijkste aspect.