ዝርዝር ሁኔታ:

የኮቪድ -19 ስታቲስቲክስ + Raspberry Pi + I2C LCD: 6 ደረጃዎች
የኮቪድ -19 ስታቲስቲክስ + Raspberry Pi + I2C LCD: 6 ደረጃዎች

ቪዲዮ: የኮቪድ -19 ስታቲስቲክስ + Raspberry Pi + I2C LCD: 6 ደረጃዎች

ቪዲዮ: የኮቪድ -19 ስታቲስቲክስ + Raspberry Pi + I2C LCD: 6 ደረጃዎች
ቪዲዮ: The Complete Guide to Google Forms - Online Survey and Data Collection Tool! 2024, ሀምሌ
Anonim
የኮቪድ -19 ስታቲስቲክስ + Raspberry Pi + I2C LCD
የኮቪድ -19 ስታቲስቲክስ + Raspberry Pi + I2C LCD

ስለዚህ አንድ ቀን በዘፈቀደ ከሰማያዊው ውጭ ፣ በዙሪያዬ የተኛሁትን ጥቂት ክፍሎች ለማግኘት እና በቪቪ -19 ላይ የእውነተኛ ጊዜ ስታቲስቲክስ የሚያደርሰኝ አንድ ነገር ለማድረግ ወሰንኩ። ቆንጆ ሆኖ እንዲታይ ለማድረግ ብዙ ጊዜ አላጠፋሁም ምክንያቱም ይህ ክስተት በማይሆንበት ጊዜ ለምን አንድን ነገር ቋሚ ያደርጉታል? ስለዚህ ፣ ማሳያዬ በትንሽ ካርቶን ሳጥን ላይ ብቻ ተጭኗል።

የሚያስፈልጉ ክፍሎች:

  • Raspberry Pi - ማንኛውም ሞዴል። Raspberry Pi 3A+ ን እጠቀም ነበር
  • 20x4 I2C ኤልሲዲ ማሳያ - የተለየ ምርት የለም… ግን የ I2C ቦርሳ ያስፈልገዋል
  • ሴት ወደ ሴት ዝላይ ሽቦዎች - I2C ን ከ Pi ጋር ለማገናኘት ከእነሱ ውስጥ 4 ቱ ብቻ

www.adafruit.com/product/4027

www.amazon.com/gp/product/B01GPUMP9C/ref=p…

www.amazon.com/gp/product/B01L5ULRUA/ref=p…

እነዚህ አገናኞች በቀጥታ ወደ ገዛኋቸው ምንጮች ይሄዳሉ። ይቅርታ አዳፋሩ አሁን እያቀረበ አይደለም ፣ ግን አማዞን… እነሱ በዋነኝነት ትኩረታቸው ወደ አስፈላጊ ዕቃዎች በመሄዳቸው ምክንያት እነዚህ ቀስ በቀስ አይደሉም። ሁሉም በአማዞን እና በ eBay ላይ በሌላ ቦታ ሊገኙ ይችላሉ።

ከዚህ ሁሉ ጋር ለመሄድ የኤሲ አስማሚ ፣ የዩኤስቢ ገመድ እና የማይክሮ ኤስዲ ካርድ ያስፈልግዎታል።

ደረጃ 1 የሃርድዌር ማዋቀር

የሃርድዌር ማዋቀር
የሃርድዌር ማዋቀር

የተያያዘውን የፒኖው ስዕል ይመልከቱ። እሱ ቢ+ይላል ፣ ግን ከዚያ በኋላ የመጣውን እያንዳንዱ የ Raspberry Pi ሞዴልን ይመለከታል።

ከ LCD ማሳያ ጋር ተያይዞ በ I2C የጀርባ ቦርሳ ፣ ይህ ግንኙነት ለመሥራት 4 ገመዶችን ብቻ ይፈልጋል።

Raspberry Pi ላይ ከማንኛውም የመሬቱ ካስማዎች GND ን ያገናኙ ፒን 6 ፣ 9 ፣ 14 ፣ 20 ፣ 25 ፣ 30 ፣ 34 ፣ 39። ከፒን 6 ጋር አገናኘሁት።

Raspberry Pi ላይ ከሚገኙት 5 ቮልት ፒኖች (VCC) አንዱን ያገናኙ ፒን 2 ፣ 4. ፒን 4 ን እጠቀም ነበር

ኤስዲኤን ከፒን 3 ጋር ያገናኙ።

SCL ን ከፒን 5 ጋር ያገናኙ።

ቅንብሬን ከተከተሉ ፣ በ GPIO ራስጌዎች ላይ በ 2 2 2 ንድፍ ውስጥ ሁሉንም 4 ገመዶች ያበቃል።

የእርስዎ የመጫኛ ዘዴ እርስዎ ሊገምቱት የሚችሉት ማንኛውም ነገር ሊሆን ይችላል… ወይም በጭራሽ ምንም የለም። በመግቢያው ላይ እንደገለፅኩት ፣ ይህ የኮሮናቫይረስ ውጥረት ለዘላለም አይቆይም ፣ ስለሆነም የእኔም ማዋቀር አያስፈልገኝም። ይህ ዝግጅት ካለቀ በኋላ ይህንን ማዋቀር ለማቆየት ከወሰንኩ ወደ የአየር ሁኔታ ማሳያ ወይም ሌላ ነገር ልለውጠው እችላለሁ።

የእኔ ፒ 3 ኤ+ላይ በ 4 ማዕዘኖች ላይ አንድ ነት እና መቀርቀሪያ ከናይለን ስፔሰርስ ጋር አያያዝኩ። ይህ በጥብቅ አማራጭ ነው። ይህንን ያደረግሁት አንዳንድ ጊዜ በብረት ወለል ላይ ስላለኝ ፣ በአንድ ጉዳይ ውስጥ በሚገኝ ፒ ላይ ጊዜያዊ ቅንብሮቼን መውደድን አልወደድኩም ፣ እና ከብረቱ ውስጥ ማውጣቱን ስለረሳሁት እሱን ለማበላሸት አደጋን አልፈልግም። ከመብራትዎ በፊት ወለል።

ደረጃ 2: Pi ሶፍትዌር ማዋቀር

ፒ ሶፍትዌር ማዋቀር
ፒ ሶፍትዌር ማዋቀር
ፒ ሶፍትዌር ማዋቀር
ፒ ሶፍትዌር ማዋቀር
ፒ ሶፍትዌር ማዋቀር
ፒ ሶፍትዌር ማዋቀር

በመግቢያው ላይ እንዳልኩት ፣ እርስዎ የሚጠቀሙበት የ Raspberry Pi ሞዴል ምንም አይደለም። እኔ ይህንን በ WiFi ላይ በ Raspberry Pi 3A+ ላይ እጠቀማለሁ ፣ ግን ይህንን በ Raspberry Pi 2 ላይ በኤተርኔት ገመድ ላይ ፣ እና Raspberry Pi Zero ስሪት 1.3 (በጣም የመጀመሪያ ፒ ዜሮ ከተከታታይ ካሜራ አያያዥ ጋር) ከዩኤስቢ WiFi ዶንግሌ ጋር ሞክሬዋለሁ።

እንዴት ማድረግ እንደሚቻል በሚሊዮን የሚቆጠሩ መመሪያዎች ስላሉ እኔ Raspbian ን በማይክሮ ኤስዲ ካርድ ላይ እንዴት እንደሚጭኑ አልጽፍም። Raspbian Buster Lite ን የሚያሄድ 16 ጊባ ማይክሮ ኤስዲ አለኝ። በሌላ ማስታወሻ ፣ እኔ በማንኛውም ጊዜ በፕሮጄክቶቼ ውስጥ ሌሎች ፋይዳ የሌላቸውን የሶፍትዌር ጥቅሎች ስለማያስፈልገኝ ሁል ጊዜ Raspbian Lite ን እጠቀማለሁ። Apt-get ን በመጠቀም ሶፍትዌር ከጫንኩ የጎደሉ ቅድመ ሁኔታዎችን ይጭናል።

ከአውታረ መረብ ጋር ይገናኙ። እንደገና ፣ ይህንን እንዴት ማድረግ እንደሚቻል በሚሊዮን የሚቆጠሩ መመሪያዎች አሉ ፣ ስለዚህ እዚህ በጥልቀት አልሄድም። በገመድ ወይም በገመድ አልባ መሄድ ይችላሉ ፣ ግን ይህ የበይነመረብ ግንኙነት ይፈልጋል።

እንደ አማራጭ ፣ ግን PuTTY ን በመጠቀም እንዲገናኝ SSH ን ማንቃት ይችላሉ። ሰርሁ.

ሁሉንም ነገር ያዘምኑ እና ከዚያ እንደገና ያስጀምሩ

sudo ተስማሚ ዝመና

sudo apt upgrade -y sudo apt dist-upgrade sudo rpi-update sudo ዳግም ማስነሳት

እኔ እዚህ የማልፈው አንድ ቅንብር ነው። እንደገና ፣ ይህንን ለማድረግ በሚሊዮን የሚቆጠሩ መንገዶች አሉ ፣ ግን ያገኘሁት በጣም ጥሩ ማጣቀሻ እዚህ አለ

ዋና ዋናዎቹ እነሆ-

sudo apt install i2c- መሣሪያዎችን ይጫኑ

sudo apt install Python-smbus ን ይጫኑ

እንዲሁም I2C ን ማንቃት ያስፈልግዎታል

sudo raspi-config

- 5 በይነገጽ አማራጮች

- P5 I2C

ለውጦቹን ለመተግበር እንደገና ያስነሱ

sudo ዳግም አስነሳ

እስካሁን ይህንን ሁሉ በትክክል አከናውነው እንደሆነ ለማየት ጊዜው አሁን ነው

i2cdetect -y 1

ማሳያዎ ኃይል ካለው እና በእርስዎ Raspberry Pi ሊታይ የሚችል ከሆነ ፣ የሚወጣ ገበታ ይኖርዎታል። በአማዞን ለገዛሁት እና ለዚህ ፕሮጀክት የምጠቀምበት 20x4 አድራሻ 27. በቴክኒካዊ ይህ በኋላ ለሚመጣው የፓይዘን ስክሪፕቶች 0x27 ሆኖ ይለያል። እኔ በአማዞን ላይ ለገዛኋቸው ለ 2 16x2 ማሳያዎች እና እኔ በ eBay ላይ ያገኘሁትን አንድ 40x2 ያንን ተመሳሳይ የአድራሻ ትዕይንት አግኝቻለሁ።

ደረጃ 3 የ Python ቅንብር

ስለዚህ አሁን ለተወሳሰቡ ነገሮች። በተቻለኝ መጠን ቀላል ለማድረግ እሞክራለሁ። ለመጀመር ፣ ፋይሎችን ወደ የቤት ማውጫ እጽፋለሁ።

I2C_LCD_driver.py ን ይንኩ

ናኖ I2C_LCD_driver.py

ከዚህ በታች ያለውን ይዘት ወደ አዲስ በተፈጠረው የፓይዘን ስክሪፕትዎ ውስጥ ይለጥፉ።

#-*-ኮድ ማድረጊያ-utf-8-*- # የመጀመሪያው ኮድ የሚገኘው በ #

"""

Compiled, mashed and generally mutilated 2014-2015 by Denis Pleic Made available under GNU GENERAL PUBLIC LICENSE

# Modified Python I2C library for Raspberry Pi

# as found on https://gist.github.com/DenisFromHR/cc863375a6e19… # Joined existing 'i2c_lib.py' and 'lcddriver.py' into a single library # added bits and pieces from various sources # By DenisFromHR (Denis Pleic) # 2015-02-10, ver 0.1

"""

# i2c bus (0 -- original Pi, 1 -- Rev 2 Pi)

I2CBUS = 0

# LCD Address

ADDRESS = 0x27

import smbus

from time import sleep

class i2c_device:

def _init_(self, addr, port=I2CBUS): self.addr = addr self.bus = smbus. SMBus(port)

# Write a single command

def write_cmd(self, cmd): self.bus.write_byte(self.addr, cmd) sleep(0.0001)

# Write a command and argument

def write_cmd_arg(self, cmd, data): self.bus.write_byte_data(self.addr, cmd, data) sleep(0.0001)

# Write a block of data

def write_block_data(self, cmd, data): self.bus.write_block_data(self.addr, cmd, data) sleep(0.0001)

# Read a single byte

def read(self): return self.bus.read_byte(self.addr)

# Read

def read_data(self, cmd): return self.bus.read_byte_data(self.addr, cmd)

# Read a block of data

def read_block_data(self, cmd): return self.bus.read_block_data(self.addr, cmd)

# commands

LCD_CLEARDISPLAY = 0x01 LCD_RETURNHOME = 0x02 LCD_ENTRYMODESET = 0x04 LCD_DISPLAYCONTROL = 0x08 LCD_CURSORSHIFT = 0x10 LCD_FUNCTIONSET = 0x20 LCD_SETCGRAMADDR = 0x40 LCD_SETDDRAMADDR = 0x80

# flags for display entry mode

LCD_ENTRYRIGHT = 0x00 LCD_ENTRYLEFT = 0x02 LCD_ENTRYSHIFTINCREMENT = 0x01 LCD_ENTRYSHIFTDECREMENT = 0x00

# flags for display on/off control

LCD_DISPLAYON = 0x04 LCD_DISPLAYOFF = 0x00 LCD_CURSORON = 0x02 LCD_CURSOROFF = 0x00 LCD_BLINKON = 0x01 LCD_BLINKOFF = 0x00

# flags for display/cursor shift

LCD_DISPLAYMOVE = 0x08 LCD_CURSORMOVE = 0x00 LCD_MOVERIGHT = 0x04 LCD_MOVELEFT = 0x00

# flags for function set

LCD_8BITMODE = 0x10 LCD_4BITMODE = 0x00 LCD_2LINE = 0x08 LCD_1LINE = 0x00 LCD_5x10DOTS = 0x04 LCD_5x8DOTS = 0x00

# flags for backlight control

LCD_BACKLIGHT = 0x08 LCD_NOBACKLIGHT = 0x00

En = 0b00000100 # Enable bit

Rw = 0b00000010 # Read/Write bit Rs = 0b00000001 # Register select bit

class lcd:

#initializes objects and lcd def _init_(self): self.lcd_device = i2c_device(ADDRESS)

self.lcd_write(0x03)

self.lcd_write(0x03) self.lcd_write(0x03) self.lcd_write(0x02)

self.lcd_write(LCD_FUNCTIONSET | LCD_2LINE | LCD_5x8DOTS | LCD_4BITMODE)

self.lcd_write(LCD_DISPLAYCONTROL | LCD_DISPLAYON) self.lcd_write(LCD_CLEARDISPLAY) self.lcd_write(LCD_ENTRYMODESET | LCD_ENTRYLEFT) sleep(0.2)

# clocks EN to latch command

def lcd_strobe(self, data): self.lcd_device.write_cmd(data | En | LCD_BACKLIGHT) sleep(.0005) self.lcd_device.write_cmd(((data & ~En) | LCD_BACKLIGHT)) sleep(.0001)

def lcd_write_four_bits(self, data):

self.lcd_device.write_cmd(data | LCD_BACKLIGHT) self.lcd_strobe(data)

# write a command to lcd

def lcd_write(self, cmd, mode=0): self.lcd_write_four_bits(mode | (cmd & 0xF0)) self.lcd_write_four_bits(mode | ((cmd << 4) & 0xF0))

# write a character to lcd (or character rom) 0x09: backlight | RS=DR< # works! def lcd_write_char(self, charvalue, mode=1): self.lcd_write_four_bits(mode | (charvalue & 0xF0)) self.lcd_write_four_bits(mode | ((charvalue << 4) & 0xF0)) # put string function with optional char positioning def lcd_display_string(self, string, line=1, pos=0): if line == 1: pos_new = pos elif line == 2: pos_new = 0x40 + pos elif line == 3: pos_new = 0x14 + pos elif line == 4: pos_new = 0x54 + pos

self.lcd_write(0x80 + pos_new)

for char in string:

self.lcd_write(ord(char), Rs)

# clear lcd and set to home

def lcd_clear(self): self.lcd_write(LCD_CLEARDISPLAY) self.lcd_write(LCD_RETURNHOME)

# define backlight on/off (lcd.backlight(1); off= lcd.backlight(0)

def backlight(self, state): # for state, 1 = on, 0 = off if state == 1: self.lcd_device.write_cmd(LCD_BACKLIGHT) elif state == 0: self.lcd_device.write_cmd(LCD_NOBACKLIGHT)

# add custom characters (0 - 7)

def lcd_load_custom_chars(self, fontdata): self.lcd_write(0x40); for char in fontdata: for line in char: self.lcd_write_char(line)

The address in that content assumes your LCD address is 0x27. If this is not the case for you, you will need to change it on the line "ADDRESS = 0x27" before you type Ctrl+X to save and exit. Otherwise, just save and exit. This file will need to exist in the same directory as the script that we will use later.

That code was on "https://www.circuitbasics.com/raspberry-pi-i2c-lcd-set-up-and-programming/" just in case it did not paste correctly onto this page.

Now create and edit the main python script:

touch covid19.py

nano covid19.py

Paste the below text into your newly created python script.

import I2C_LCD_driverimport socket import time import fcntl import struct import json import urllib2

display = I2C_LCD_driver.lcd()

url = ("https://coronavirus-19-api.herokuapp.com/countries/usa") data = json.load(urllib2.urlopen(url))

try:

while True: data = json.load(urllib2.urlopen(url)) cases = data['cases'] todaycases = data['todayCases'] deaths = data['deaths'] todaydeaths = data['todayDeaths'] recovered = data['recovered'] active = data['active'] critical = data['critical'] casesperonemillion = data['casesPerOneMillion'] deathsperonemillion = data['deathsPerOneMillion'] display.lcd_display_string("COVID-19 Total Stats", 1) display.lcd_display_string("Cases: " + str(cases), 2) display.lcd_display_string("Deaths: " + str(deaths), 3) display.lcd_display_string("Recovered: " + str(recovered), 4) time.sleep(30) display.lcd_display_string(" ", 1) display.lcd_display_string(" ", 2) display.lcd_display_string(" ", 3) display.lcd_display_string(" ", 4) display.lcd_display_string("COVID-19: " + "%s" %time.strftime("%Y/%m/%d"), 1) display.lcd_display_string("Cases: " + str(todaycases), 2) display.lcd_display_string("Deaths: " + str(todaydeaths), 3) display.lcd_display_string("Active: " + str(active), 4) time.sleep(20) display.lcd_display_string(" ", 1) display.lcd_display_string(" ", 2) display.lcd_display_string(" ", 3) display.lcd_display_string(" str(recovered),="">

ይህ ስክሪፕት በጣም የተዘበራረቀ መሆኑን አውቃለሁ ፣ ግን ውጤታማ ነው። በዩናይትድ ስቴትስ ውስጥ ለቪቪ -19 ጉዳዮች ወቅታዊ ስታቲስቲክስን ያሳያል። ዋናው የመረጃ ቋት በየ 5 ደቂቃዎች ይዘምናል። የእኔ እስክሪፕት በ 3 ገጾች ላይ ሙሉ በሙሉ ለማሽከርከር 1 ደቂቃ ይወስዳል እና ዑደቱ እንደገና በጀመረ ቁጥር የዘመኑ ቁጥሮችን ይጎትታል።

ደረጃ 4 Python ን ያሂዱ

Python ን ያሂዱ
Python ን ያሂዱ
Python ን ያሂዱ
Python ን ያሂዱ

እንጀምር:

ፓይዘን covid19.py

የመጀመሪያው ገጽ ኮሮናቫይረስ አገሪቱን ከጀመረበት ጊዜ አንስቶ አጠቃላይ ጉዳዮችን እና ሞቶችን ያሳያል። ሁለተኛው ገጽ እነዚያ ቁጥሮች በአሁኑ ቀን ብቻ ለተከሰቱ ጉዳዮች እና ሞት ያሳያል። ሦስተኛው በአስጊ ሁኔታ ውስጥ ያሉ ሰዎችን ያሳያል ፣ ከዚያ ጉዳዮች እና ሞት በአንድ ሚሊዮን ሰዎች ያሳያል። በሦስተኛው ገጽ ላይ ያለው ሁለተኛው መስመር በአገሪቱ ውስጥ የመጀመሪያውን ጉዳይ ቀን ለማሳየት ይጠቀም ነበር ፣ ግን እሱን ማስወገድ ነበረብኝ ምክንያቱም ስክሪፕቱ አንዳንድ ጊዜ ይሳሳታል እና ያንን መስመር ከስህተት ጋር በማጣቀሱ ይሰናከላል።

ይህንን ስክሪፕት በራስ -ሰር እንዲሠራ ለማድረግ መንገዶች አሉ ፣ ግን እዚህ ስለዚያ ዝርዝር ውስጥ አልገባም። እኔ SSH በ PuTTY በኩል ካገናኘሁት በኋላ የእኔን በትእዛዝ እሰራለሁ። በሚሠራበት ጊዜ Ctrl+C ን እስኪጫኑ ድረስ ማንኛውንም ሌላ ትዕዛዞችን መፈጸም አይችሉም።

ደረጃ 5 በአሜሪካ ውስጥ ካልኖርኩስ?

ለሌሎች ስታትስቲክስ ለማሳየት ይህ ስክሪፕት ሊቀየር ይችላል። እርስዎ እንደሚመለከቱት ፣ በእኔ ስክሪፕት ውስጥ ያለው ዩአርኤል እዚህ ካለው ኤፒአይ ይጎትታል ((እነዚህን ገጾች ለማየት ኢንተርኔት ኤክስፕሎረርን አይጠቀሙ። የ.json ፋይልን ለመጫን ይሞክራል። እኔ Chrome ን ተጠቀምኩ)

coronavirus-19-api.herokuapp.com/countries/usa

አሁን ያንን ተመሳሳይ አድራሻ ይጎብኙ ፣ ግን አንድ አቃፊ ከፍ ያለ ነው

coronavirus-19-api.herokuapp.com/ ሀገሮች

ይህ ለእያንዳንዱ ሀገር ስታቲስቲክስን ይዘረዝራል። የኤፒአይ መረጃን ከዚህ ገጽ ለማውጣት መሞከር ቅmareት እንደሚሆን ግልፅ ነው። ስለዚህ ገጹን ለተለየ ሀገርዎ መክፈት የተሻለ ነው። በካናዳ ያሉ ጓደኞቻችን ስክሪፕቱን ወደዚህ ዩአርኤል ማረም አለባቸው

coronavirus-19-api.herokuapp.com/countries/canada

እዚህ በጣም አስፈላጊ ማስታወሻ። ወደ ኤፒአይ የሚወስደው ዩአርኤል የተወሰነ መሆን አለበት… ማለትም በዩአርኤል ውስጥ ምንም ክፍተቶች የሉም። በድር አሰሳ ውስጥ ፣ በድር አድራሻ ውስጥ ያሉ ክፍተቶች በ “%20” ተተክተዋል ፣ እና እንደዚያ ፣ ለምሳሌ እንደ ኒው ዚላንድ ባለ 2 ክፍል ስሞች ባሉት አገሮች ውስጥ ያሉ ጓደኞቻችን በዚህ ስክሪፕት ውስጥ ዩአርኤሉን በዚህ መተካት አለባቸው

coronavirus-19-api.herokuapp.com/countries/new%20zealand

ደረጃ 6 የመጨረሻ ሀሳቦች

ባለፉት ዓመታት ከ Raspberry Pi እና Arduino ጋር ብዙ ነገሮችን አድርጌያለሁ ፣ ግን እኔ የገነባሁት አብዛኛው የሌሎች ሀሳቦች ማባዛት ብቻ ነው። በዚህ ቅንብር ውስጥ ከብዙ ምንጮች ቁርጥራጮችን ካልሰበሰብኩ በስተቀር ይህ ተመሳሳይ ነው። ምንም እንኳን ይህ ማዋቀር በዚህ አስቸጋሪ ጊዜ ውስጥ ደህንነትዎን እና ጤናዎን የሚጠብቅዎት ባይሆንም ፣ እርስዎ ባዘጋጁት ጊዜ በእርግጠኝነት እርስዎን ያቆያል እና ከዚያ በኋላ እርስዎን ያሳውቅዎታል።

እርስዎ አስቀድመው እነዚህ ክፍሎች ከሌሉዎት ፣ እሱን ለመገንባት ከልብ እስካልገዙ ድረስ እራስዎን በመግዛት ላይ አያስጨንቁ። ቀደም ብዬ እንደነገርኩት ፣ እነዚህ ጥረቶች አስፈላጊ በሆኑ ዕቃዎች ላይ ስለሚደረጉ የመላኪያ ጊዜዎች አሁን ረዘም ያሉ ናቸው። ለመማር እና ለመሞከር እነዚህ ክፍሎች ቀድሞውኑ ነበሩኝ። ሳጥኑ ላይ የተጫነ ማሳያ ፒ-ሆልን በሚያሠራው አውታረ መረብ ላይ የሌላ Raspberry Pi እውነተኛ ጊዜ ስታቲስቲክስን ለመመልከት መጀመሪያ ተዋቅሯል። ይህ የኮቪድ -19 ክስተት ካለቀ በኋላ ወደ የአየር ሁኔታ ማሳያ ልለውጠው እችላለሁ።

ለሚያነብ ሁሉ ፣ ለዚህ አስተማሪ ጩኸት መስጠት እፈልጋለሁ -

www.instructables.com/id/DIY-Hand-Sanitize…

እስካሁን አልሞከርኩም ፣ ግን እነዚያ ትክክለኛ ንጥረ ነገሮች አሉኝ ፣ እና የተወሰነ ጊዜ እሞክረው ይሆናል።

የሚመከር: