Inhoudsopgave:

Covid19 Stat IoT-weergave: 5 stappen
Covid19 Stat IoT-weergave: 5 stappen

Video: Covid19 Stat IoT-weergave: 5 stappen

Video: Covid19 Stat IoT-weergave: 5 stappen
Video: Что произойдет, если вы не едите 5 дней? 2024, Juli-
Anonim
Image
Image
Dingen die nodig zijn
Dingen die nodig zijn

De wereld bevindt zich momenteel in de coronaviruspandemie en net als veel andere landen is de lockdown ook in India, dus ik kreeg het idee om een IoT-display te maken dat een realtime update van de Corona-statistieken van het land zal geven. Ik gebruik een API die gegevens van India levert, maar je kunt elke API gebruiken met een kleine verandering in code.

Stap 1: Dingen die nodig zijn

Dingen die nodig zijn
Dingen die nodig zijn
Dingen die nodig zijn
Dingen die nodig zijn

Dit zijn de dingen die je nodig hebt om IoT-weergave te maken:

  • NodeMCU (ESP8266)
  • 16x2 LCD-module (I2C)
  • Broodplank (optioneel)
  • Sommige draden/jumpers
  • USB-kabel

Stap 2: Aansluitingen

Verbindingen
Verbindingen
Verbindingen
Verbindingen
Verbindingen
Verbindingen

De verbindingen zijn vrij eenvoudig. Er zijn maar 4 draden om aan te sluiten. U kunt een breadboard gebruiken om de esp8266 erin te plaatsen en vervolgens verbinding te maken met de LCD-module of u kunt gewoon directe vrouwelijke naar vrouwelijke jumperdraden gebruiken om verbinding te maken.

De aansluitingen zijn (ESP-> LCD):

  1. VIN -> VCC (voor 5V)
  2. GND -> GND
  3. D2 -> SDA
  4. D1 -> SCL

Sluit nu gewoon de esp8266 met de USB-kabel aan op de pc, nu hoeven we alleen de code te uploaden.

Stap 3: Coderen

codering
codering

Dit is het belangrijkste onderdeel. Velen van jullie zullen vragen hebben over hoe dit werkt?

Het maakt dus eerst verbinding met wifi en maakt vervolgens verbinding met een API om JSON-gegevens te verzamelen, vervolgens decodeert het de JSON-gegevens en slaat die waarden op in een variabele, vervolgens geeft het LCD-scherm de waarden weer en dit gaat in een lus verder.

De API die ik heb gebruikt is https://coronago.xyz/api/data.json, die zijn gegevens haalt van https://www.covid19india.org/, het levert alleen gegevens voor India, maar er zijn veel API's voor andere landen, kunt u elke API gebruiken, maar zorg ervoor dat deze toegankelijk is via

Eerst moet u ESP8266-kaartondersteuning voor Arduino IDE installeren. Volg deze tutorial.

Het tweede dat u moet doen, is alle vereiste bibliotheken installeren, u kunt ze eenvoudig installeren vanuit de Arduino Library Manager.

Open vervolgens de code en wijzig de wifi-inloggegevens en upload de code.

de code staat hier in mijn GitHub-repository -

Stap 4: Code-uitleg en andere API gebruiken

Code Uitleg en gebruik van andere API
Code Uitleg en gebruik van andere API

De code is vrij eenvoudig

In het lege setup-gedeelte initialiseert het de LCD-module en geeft het het starende bericht weer, waarna het verbinding maakt met het wifi-netwerk.

In het lusgedeelte haalt het de JSON-gegevens op van de API en decodeert het en slaat het op in een variabele, waarna het die in de seriële monitor en het LCD-scherm weergeeft.

voor het gebruik van een andere API moet je het adres in deze regel van de code wijzigen

http.begin("https://coronago.xyz/api/data.json"); //API

Een ander ding dat de API moet werken met een HTTP-verbinding, werkt de HTTPS-verbinding niet in deze code en krijg je een -1-fout.

De API retourneert JSON-gegevens als volgt

Nu deze volgende code decodeert alleen de JSON en slaat waarden op in de variabele, dit hangt volledig af van de API en JSON-gegevens die het retourneert. Maar het is gemakkelijk te wijzigen, voor meer informatie kun je deze tutorial bekijken.

StatischeJsonBuffer JSONBuffer; // Geheugenpool JsonObject& parsed = JSONBuffer.parseObject (payload); // Ontleden bericht bevestigd = ontleed ["bevestigd"]; hersteld = ontleed ["hersteld"]; sterfgevallen = ontleed ["sterfgevallen"]; current_active = ontleed ["actief"];

Daarna geeft de code alleen de variabelen weer in de seriële monitor en op het LCD-scherm.

Serial.print("bevestigd: "); Serial.println (bevestigd); Serial.print("hersteld: "); Serial.println (hersteld); Serial.print("currenty_active: "); Serial.println(current_active); Serial.print("sterfgevallen: "); Serial.println(sterfgevallen); if(httpCode==200){ //toon de gegevens in lcd lcd.clear(); lcd.setCursor(0, 0); lcd.print("Bevestigd: "); lcd.print(bevestigd); lcd.setCursor(0, 1); lcd.print("Overleden: "); lcd.print(sterfgevallen); vertraging (2500); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("Actief: "); lcd.print(current_active); lcd.setCursor(0, 1); lcd.print("Hersteld: "); lcd.print (hersteld); vertraging (2500);

}

Stap 5: Conclusie

Dit is een geweldig project om de statistieken de hele tijd te volgen, en kun je het bouwen om je tijd te doden in deze lockdown-situatie.

Als je hulp nodig hebt, kun je het me vragen via opmerkingen of je kunt een probleem openen in mijn Github

github.com/Soumojit28/covid19-iot-display voor eventuele codegerelateerde problemen.

Bedankt.

Aanbevolen: