IP-timerklok deel 1 (2 / 3 stap)

Stap 2: Daylight Savings Time


Dus deze stap vrij technisch is en kan worden overgeslagen als u niet geïnteresseerd bent:

Oke, dus er een bibliotheek van de Arduino geschreven is om verandert Daylight Savings Time:

https://github.com/JChristensen/timezone

Het niet zou echter bij het gebruik van de ESP8266 bibliotheek compileren. (Iets te maken met EEPROM.) Dus schreef ik mijn eigen code.

Hier is de huidige Amerikaanse regels voor Daylight Savings Time:

https://en.wikipedia.org/wiki/Daylight_saving_time_in_the_United_States

"Momenteel zomertijd begint op de tweede zondag in maart en eindigt op de eerste zondag in November, met de tijd veranderingen die plaatsvinden op 2:00 uur lokale tijd. Met een mnemotechnisch woordspeling verwijzend naar seizoenen, klokken "spring naar voren en terugvallen" — dat wil zeggen in het voorjaar (technisch late winter) de klokken zijn voorwaarts verplaatst vanaf 2:00 uur tot 03:00 uur, en in Val zijn verhuisden ze terug vanaf 2:00 uur tot 01:00 uur. "

Nou, als je hebt gedaan wat programmeren, dit vrij ingewikkeld wordt. Hier is wat ik deed.

De Arduino tijd bibliotheek, net als vele computers gebruikt iets genaamd Unix tijd:

https://en.wikipedia.org/wiki/Unix_time

Unix-tijd (ook bekend als de POSIX tijd of Epoch tijd) is een systeem voor het beschrijven van instants tijdig, gedefinieerd als het aantal seconden dat is verstreken sinds 00:00:00 uur Coordinated Universal Time (UTC), donderdag 1 januari 1970

Nu NTP en GPS gebruik maken van UTC. UTC is niet een tijdzone, maar het is gebaseerd op de tijd in Engeland, dus je moet het omzetten van lokale tijd en aangepast aan de Daylight Savings time.

Dus heb ik twee variabelen SpringChange en FallChange genoemd in Unix-tijdnotatie.

Vervolgens met behulp van NTP, vond ik het huidige jaar.

Vanaf het jaar berekend ik vervolgens de twee unix tijden voor de twee variabelen. Dit is lastig, omdat de tweede zondag in maart en de eerste zondag in November zijn niet dezelfde dag van jaar tot jaar. Maar één ding, die de bibliotheek van de tijd kan vertellen is een Unix-tijd gegeven, het kan het bepalen van de weekdag. Dus gebruik de maand, de dag en de dag, ik was in staat om erachter te komen de dagen van de verandering voor het jaar.

Dus als het programma een nieuwe UTC-tijd, krijgt als het groter is dan of gelijk aan (> =) SpringChange en minder dan (<) FallChange dan het is zomertijd (DST). Het is anders niet DST. Nu als u huidige lokale tijd, ik voor (in mijn geval) Mountain-tijd- en daglicht aanpassen tijd van daglichtbesparingen.

Gerelateerde Artikelen

Prototype en configureren van uw eigen Real timerklok-module voor de Raspberry Pi (Open Source Hardware en softwareconfiguratie))

Prototype en configureren van uw eigen Real timerklok-module voor de Raspberry Pi (Open Source Hardware en softwareconfiguratie))

Houden de prijs van de framboos is pi neer de ontwikkelaars links uit sommige van de essentie van die de real-time klok. Op het moment dat de raspberry pi het tijd over de Ethernet van het bijwerken van de tijd automatisch te spelen vanaf de globale
De 'gemakkelijk Empty' compostering Toilet Project: Deel 1 - grond werken

De 'gemakkelijk Empty' compostering Toilet Project: Deel 1 - grond werken

Sinds de uitvinding van de afboekingsmethode toilet in 1596, is het menselijk ras roekeloos verspillen een enorm belangrijke hulpbron en verontreiniging van onze zeeën en oceanen met hetzelfde. Nu, eindelijk, de technologie is beschikbaar voor elk en
Hoe Steampunk een Teardrop Camping aanhangwagen (deel 2)

Hoe Steampunk een Teardrop Camping aanhangwagen (deel 2)

Dit instructable is een voortzetting van mijn eerdere bouwen vanaf augustus 2015 over hoe om te Steampunk een Tiny Teardrop Camper. Deel 1 is te vinden op deze linkSinds augustus vorig jaar heb ik met mijn kleine aanhangwagen kampeerden meerdere male
Arduino Aquaponics: Real-tijd-klok deel I

Arduino Aquaponics: Real-tijd-klok deel I

AA fundamentele noodzaak van een systeem van controles is de mogelijkheid om de tijd bijhouden.  Voor zover wij weten, heeft de Arduino drie methoden die het kunt gebruiken:1. seriële.  Herhaaldelijk de tijd te krijgen via de seriële verbinding.2. ex
Printplaat fabricage zonder een Computer-deel 2: het ETS proces

Printplaat fabricage zonder een Computer-deel 2: het ETS proces

Dit instructable is deel twee in mijn printplaat serie productie. Dit deel kan worden gebruikt als een stand alone instructable over printplaten etsen. Nadat de sporen op het bord zijn getekend met een permanent marker, kan alle het koper rond de spo
Printplaat fabricage zonder een Computer deel 3: Surface Mount Soldering

Printplaat fabricage zonder een Computer deel 3: Surface Mount Soldering

Dit instructable is deel 3 van mijn Circuit board serie productie. Dit instructable kan ook functioneren als een stand alone instructable over gemakkelijk surface mount soldering. Nadat de printplaat is gemaakt, moet het nog worden gesoldeerd. Voor d
Drone Design 101 - deel 1-CAD

Drone Design 101 - deel 1-CAD

Bouw! Vliegen! Concurreren!Luchtsporten League Oprichter / Chief Designer en Autodesk Expert Elite, Eli DElia, begeleidt u stap voor stap door de fundamentele principes en technieken van First Person Video (FPV) drone racer design.Moet u kijken de aa
Halo ODST Armor: Helm - deel 1 van de 5 van ODST Armor Build

Halo ODST Armor: Helm - deel 1 van de 5 van ODST Armor Build

Dit is deel 1 van een 5-delige serie over een volledige ODST Armor die je kunt dragen.HalloZo wilt u werkelijk om dit te doen? Dit is een groot project. Bouwen tijd zullen van enkele maanden tot meer dan een jaar afhankelijk van het niveau van detail
How to Build een Walk-In douche (deel 2: Wedi muur installatie)

How to Build een Walk-In douche (deel 2: Wedi muur installatie)

Dit is een epische tutorial...Ik beloof dat u zult leren hoe te bouwen van een inloopdouche in 1 uur of minder.Dat is een ernstige garantie maar ik sta erachter.Waarom?We met opzet gemaakt stapsgewijze zodat iedereen kon volgen.Impregneren is wat sch
Snelle vaardigheden #3: 5 eenvoudige knopen voor overleving deel 3

Snelle vaardigheden #3: 5 eenvoudige knopen voor overleving deel 3

Hallo Instructables Gemeenschap,Thanks a lot voor de geweldige ontvangst van de eerste twee delen van deze serie in de afgelopen twee weken. Tot slot van deze mini-serie die ik heb samengesteld een andere vijf eenvoudige knopen die u kan nuttig zijn
Snelle vaardigheden #2: 5 eenvoudige knopen voor overleving deel 2

Snelle vaardigheden #2: 5 eenvoudige knopen voor overleving deel 2

Hallo Instructables Gemeenschap,eerst en vooral dank aan u allen die hebben lezen, vond en commentaar op mijn eerste snelle vaardigheden Instructable van vorige week. Een andere grote dank u voor jullie allemaal hebben gespot fouten in het eerste dee
Beginner's Guide to Arduino Hardware deel 2

Beginner's Guide to Arduino Hardware deel 2

Naar aanleiding van deel 1, werpt deze video op Arduino Hardware voor Beginners een blik op enkele verdere Arduino hardware randapparatuur om u op de weg naar een project.Hier kijken we schermen van Liquid Crystal Displays (LCD) en Real Time klokken
Beginner's Guide to Arduino Hardware deel 1

Beginner's Guide to Arduino Hardware deel 1

Soms is het de kleine dingen in het leven die kunnen omzetten in grote struikelblokken en dat geldt zeker voor noobs starten op hun reis van de Arduino. Het was zo zeker in mijn geval.Dus in deze video ik een paar basisprincipes die u nodig hebt om t
Een 3D afgedrukt Automotive Switch Panel - deel 2

Een 3D afgedrukt Automotive Switch Panel - deel 2

Een paar dagen geleden ik een Automotive Switch Panel op mijn 3D-Printer uitgeprint.Dit project werd gepubliceerd in een ander instructable getiteld een 3D gedrukte Automotive Switch Panel.Met de schakeloptie deelvenster klaar was het tijd om hem goe