NodeMCU Projects: Difference between revisions

Content added Content deleted
Line 549: Line 549:


<syntaxhighlight lang="python">
<syntaxhighlight lang="python">
from machine import Pin, SPI
import machine
import max7219, utime
import max7219, utime
import urequests as requests
import urequests as requests
import time
import time

# Determine if waking from Deep Sleep
if machine.reset_cause() == machine.DEEPSLEEP_RESET:
print('Woke from a deep sleep')


# Deep Sleep
# Deep Sleep
#def deep_sleep(delta):
def deep_sleep(delta):
delay = delta*1000*60
# rtc.irq(trigger=rtc.ALARM0, wake=machine.DEEPSLEEP)
# if machine.reset_cause() == machine.DEEPSLEEP_RESET:
rtc.irq(trigger=rtc.ALARM0, wake=machine.DEEPSLEEP)
rtc.alarm(rtc.ALARM0, delay)
# print('woke from a deep sleep')
# rtc.alarm(rtc.ALARM0, delta*1000*60)
print("Deep Sleep for: ", delta," min")
# machine.deepsleep()
machine.deepsleep()
# LCD Config
# LCD Config
spi = SPI(1, 10000000)
spi = machine.SPI(1, 10000000)
d = max7219.Max7219(32, 8, spi, Pin(15), False)
d = max7219.Max7219(32, 8, spi, machine.Pin(15), False)


cntry = ["India", "China", "Italy", "Iran", "Canada", "USA", "Ireland", "Germany", "Pakistan", "France", "Spain"]
cntry = ["India", "Canada", "Ireland"]


# Flash all LEDs
while True:
for i in range(3):
# Print Global Data
d.fill(1)
d.show()
time.sleep(0.2)
d.fill(0)
d.show()
time.sleep(0.2)

# Print Global Data
try:
res = requests.get(url='http://coronavirus-19-api.herokuapp.com/all')
data = res.json()
print("All - Cases: " + str(data["cases"]) + " Recovered: " + str(data["recovered"]) + " Deaths: " + str(data["deaths"]))
d.marquee("All - Cases: " + str(data["cases"]) + " Recovered: " + str(data["recovered"]) + " Deaths: " + str(data["deaths"]))
except OSError:
print(i, ": Error")
d.marquee(i + ": Error")
time.sleep(5)

# Print Country Data
for i in cntry:
link = 'http://coronavirus-19-api.herokuapp.com/countries/%s' %i
try:
try:
res = requests.get(url='http://coronavirus-19-api.herokuapp.com/all')
res = requests.get(url=link)
data = res.json()
data = res.json()
print("All - Cases: " + str(data["cases"]) + " Recovered: " + str(data["recovered"]) + " Deaths: " + str(data["deaths"]))
print(str(data["country"]) + " - Cases: " + str(data["cases"]) + " Recovered: " + str(data["recovered"]) + " Critical: " + str(data["critical"]) + " Deaths: " + str(data["deaths"]) + " TodayCases: " + str(data["todayCases"]) + " TodayDeaths: " + str(data["todayDeaths"]))
d.marquee("All - Cases: " + str(data["cases"]) + " Recovered: " + str(data["recovered"]) + " Deaths: " + str(data["deaths"]))
d.marquee(str(data["country"]) + " - Cases: " + str(data["cases"]) + " Recovered: " + str(data["recovered"]) + " Critical: " + str(data["critical"]) + " Deaths: " + str(data["deaths"]) + " TodayCases: " + str(data["todayCases"]) + " TodayDeaths: " + str(data["todayDeaths"]))
except OSError:
except OSError:
print(i, ": Error")
print(i, ": Error")
Line 580: Line 605:
time.sleep(5)
time.sleep(5)
continue
continue

# Print Country Data
for i in cntry:
# Sleep for 30 minutes
sleep = 15
link = 'http://coronavirus-19-api.herokuapp.com/countries/%s' %i
d.marquee("Sleep for " + str(sleep) + " min")
try:
deep_sleep(sleep)
res = requests.get(url=link)
data = res.json()
print(str(data["country"]) + " - Cases: " + str(data["cases"]) + " Recovered: " + str(data["recovered"]) + " Critical: " + str(data["critical"]) + " Deaths: " + str(data["deaths"]) + " TodayCases: " + str(data["todayCases"]) + " TodayDeaths: " + str(data["todayDeaths"]))
d.marquee(str(data["country"]) + " - Cases: " + str(data["cases"]) + " Recovered: " + str(data["recovered"]) + " Critical: " + str(data["critical"]) + " Deaths: " + str(data["deaths"]) + " TodayCases: " + str(data["todayCases"]) + " TodayDeaths: " + str(data["todayDeaths"]))
except OSError:
print(i, ": Error")
d.marquee(i + ": Error")
time.sleep(5)
continue
# Sleep for 30 minutes
print("Deepsleep for 30 minutes")
deep_sleep(30)
</syntaxhighlight>
</syntaxhighlight>