ዝርዝር ሁኔታ:

Raspberry Pi Zero W Datalogger: 8 ደረጃዎች (ከስዕሎች ጋር)
Raspberry Pi Zero W Datalogger: 8 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: Raspberry Pi Zero W Datalogger: 8 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: Raspberry Pi Zero W Datalogger: 8 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: Raspberry Pi 4 Data Logger | DHT11/DHT22 Sensor Data Logger 2024, ሀምሌ
Anonim
Raspberry Pi Zero W Datalogger
Raspberry Pi Zero W Datalogger

Raspberry Pi Zero W ን በመጠቀም ፣ ከአካባቢያዊ የ wifi አውታረ መረብ ጋር ሊገናኝ የሚችል ፣ ወይም በስማርትፎንዎ መረጃን ያለገመድ ለማውረድ በሚያስችል መስክ ውስጥ እንደ የመዳረሻ ነጥብ ሆኖ ሊያገለግል የሚችል የውሂብ መዝጋቢን ለመጠቀም ርካሽ እና ቀላል ማድረግ ይችላሉ።

ይህንን ቅንብር የራስዎን የመረጃ ምዝግብ ማስታወሻ ማቀናበርን ለማቀናበር በአሜሪካ የጂኦፊዚካል ህብረት ውድቀት ስብሰባ 2017 ላይ አቅርቤዋለሁ። ያንን አቀራረብ እዚህ ማግኘት ይችላሉ።

የሚያስፈልግዎት:

  • አንድ Raspberry Pi Zero W
  • የማይክሮ ኤስዲ ካርድ
  • የዩኤስቢ ገመድ ወይም የዩኤስቢ የኃይል አቅርቦት
  • የዩኤስቢ ካርድ አንባቢ ያለው ኮምፒተር
  • አማራጭ (ግን ጠቃሚ)

    • miniHDMI -> ኤችዲኤምአይ አስማሚ (Pi ን ከማያ ገጽ ጋር ለማገናኘት)
    • የዩኤስቢ OTG አስማሚ (የቁልፍ ሰሌዳውን ከ Pi ጋር ለማገናኘት

ደረጃ 1: Pi Zero W ን ያዋቅሩ

ለመጀመር ፣ በማይክሮ ኤስዲ ካርድ ላይ የራስቢያ ምስል ያስቀምጡ (በዚህ መማሪያ ውስጥ እኔ 2017-07-05-raspbian-jessie-lite ን እጠቀማለሁ ፣ እዚህ ይገኛል)። ማዋቀሩ በትእዛዝ መስመር በኩል ስለሚከናወን ቀለል ያለ ስሪት (ያለ ዴስክቶፕ ከሌለ) መጠቀም ይቻላል።

የኤስዲ ካርዱን ወደ ፒ ውስጥ ያስገቡ ፣ ማያ ገጹን እና የቁልፍ ሰሌዳውን ያገናኙ እና የኃይል ገመዱን በመሰካት ያብሩት። ራስ -አልባ ማዋቀር እንዲሁ ይቻላል ፣ ግን በኤስኤስኤች ላይ መገናኘት ይፈልጋል።

ፒው መግቢያውን (ነባሪ የተጠቃሚ ስም: ፒ ፣ የይለፍ ቃል: ራፕቤሪ) ከፍ ካደረገ በኋላ እና የይለፍ ቃሉን በ “passwd” ትዕዛዝ ይለውጡ።

በተርሚናል ውስጥ “sudo raspi-config” ን በማስገባት የቁልፍ ሰሌዳው ሊዋቀር ይችላል።

ደረጃ 2 ከ WiFi ጋር ይገናኙ

ከ WiFi ጋር ይገናኙ
ከ WiFi ጋር ይገናኙ
ከ WiFi ጋር ይገናኙ
ከ WiFi ጋር ይገናኙ
ከ WiFi ጋር ይገናኙ
ከ WiFi ጋር ይገናኙ
ከ WiFi ጋር ይገናኙ
ከ WiFi ጋር ይገናኙ

ከበይነመረቡ ጋር ለመገናኘት ከየትኛው አውታረ መረብ ጋር እንደሚገናኝ ለ Pi እንነግራለን። የሚከተለውን ፋይል በመክፈት ይጀምሩ;

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

እዚህ ውስጥ የአውታረ መረብ መረጃን ከታች ያክሉ ፤

አውታረ መረብ = {

ssid = "የአውታረ መረብ ስም" psk = "የአውታረ መረብ የይለፍ ቃል"}

በድርጅት አውታረመረብ ሁኔታ ውስጥ የሚከተለውን ቅንብር መጠቀም ይችላሉ (WPA-EAP // TTLA // MSCHAPv2 ን ለሚመለከታቸው ቅንብሮች ያስተካክሉ)።

አውታረ መረብ = {

ssid = "ssid" #የአውታረ መረብ ስምዎን ያስገቡ key_mgmt = WPA-EAP eap = TTLS ማንነት = "xxxxx" #Enter your login account password = "xxxxx" #passwork phase2 = "auth = MSCHAPv2"}

CTRL+O ን በመጫን ያስቀምጡ እና በ CTRL+X ይውጡ።

አሁን የውቅር ፋይልዎን በ/etc/network/interfaces ውስጥ ያጣቅሱ

sudo nano/etc/network/በይነገጽ

የ wlan0 ክፍልን ወደዚህ ይለውጡ

አውቶማቲክ wlan0

iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

እንደገና ፣ ፋይሉን (CTRL+O) ያስቀምጡ እና ከዚያ ይውጡ (CTRL+X)።

ዳግም ከተነሳ በኋላ (ሱዶ ዳግም ማስነሳት) ፣ የእርስዎ wifi ግንኙነት መስራት አለበት። አንድ ድር ጣቢያ pinging በማድረግ ይህን መሞከር ይችላሉ;

ፒንግ www.google.com

ፒንግን በ CTRL+C ሰርዝ

በኤስኤስኤች ላይ ከ Pi ጋር ለመገናኘት በኤስኤስኤች ማንቃት አለብዎት

sudo raspi-config

ወደ “5 በይነገጽ አማራጮች” ይሂዱ እና SSH ን ያንቁ። ከዚያ ተመልሰው ውቅረቱን ይውጡ።

የ Pi ን አይፒ አድራሻ ይፈልጉ

ifconfig

አይፒው በ wlan0 በይነገጽ በ “inet addr:” ስር ይሆናል።

በተመሳሳዩ አውታረ መረብ ላይ ከሆኑ አሁን በ WiFi ላይ ከ Pi ጋር መገናኘት ይችላሉ። Putty ን ያውርዱ (ለዊንዶውስ) ፣ በ ‹አስተናጋጅ ስም› ስር ያገኙትን የአይፒ አድራሻ ያስገቡ እና ‹ክፈት› ን ይጫኑ። ማስጠንቀቂያውን ከተቀበሉ በኋላ አሁን የትእዛዝ መስመሩን ማየት እና መግባት መቻል አለብዎት።

ደረጃ 3 - አስፈላጊውን ሶፍትዌር ያዘምኑ እና ይጫኑ

አስፈላጊ ሶፍትዌርን ያዘምኑ እና ይጫኑ
አስፈላጊ ሶፍትዌርን ያዘምኑ እና ይጫኑ
አስፈላጊ ሶፍትዌርን ያዘምኑ እና ይጫኑ
አስፈላጊ ሶፍትዌርን ያዘምኑ እና ይጫኑ

WiFi ከሰራ በኋላ Pi ን በ:

sudo apt -get update -y && sudo apt -get upgrade -y

ዝመናው ከተጠናቀቀ በኋላ (ትንሽ ጊዜ ሊወስድ ይችላል) ፣ የምንጠቀምበትን ሶፍትዌር ይጫኑ ፤

sudo apt-get install python3 python3-serial apache2 -y

ደረጃ 4: ከአነፍናፊ ጋር ይገናኙ (በዚህ ምሳሌ አርዱዲኖ ውስጥ)

ወይም የዩኤስቢ ማዕከልን በመጠቀም አርዱዲኖን ከቁልፍ ሰሌዳ ጋር አንድ ላይ ያገናኙ ፣ ወይም አርዱዲኖን በአንድ የዩኤስቢ ወደብ በኩል ያገናኙ እና በ WiFi ላይ ከኤስኤስኤች ጋር ማዋቀር ያድርጉ።

አርዱዲኖ የተገናኘበትን ተከታታይ ወደብ ለመድረስ ፣ ወደ ነባሪው የፒ ሂሳብ መዳረሻ መስጠት ጠቃሚ ነው። አርዱዲኖ ብዙውን ጊዜ ወደብ “/dev/ttyACM0” እንደሚመደብ ፣ የ ‹ፒ› ተጠቃሚን ወደቡ መዳረሻ ለመስጠት የሚከተለውን ትእዛዝ ይጠቀሙ-

sudo chown pi: /dev /ttyACM0

አርዱዲኖ በተከታታይ ወደብ ላይ ውሂብ ለመላክ ቀድሞውኑ እንደተዋቀረ በመገመት ፣ ውሂቡን በፓይዘን ውስጥ በሚከተለው መንገድ ማየት ይችላሉ-

ፓይዘን ክፈት;

ፓይዘን 3

ተከታታይ አስመጣ ፦

ማስመጣት ተከታታይ

የኮም ወደብ ይክፈቱ;

ser = serial. Serial (ወደብ = '/dev/ttyACM0', baudrate = 9600 ፣ የጊዜ ማብቂያ = 5)

በዚህ ጉዳይ ላይ የአርዱዲኖው ባድሬተር ወደ 9600 የተቀመጠበት።

የሚከተለውን ኮድ በማሄድ መስመር ማንበብ እና ማተም ይችላሉ-

ser.readline (). ዲኮድ ('utf-8')

እየሰራዎት ከሆነ ግንኙነቱን መዝጋት እና ከ Python መውጣት ይችላሉ-

ser.close ()

መውጣት ()

ደረጃ 5 የ WiFi መዳረሻ ነጥብ ችሎታዎችን ያዋቅሩ

የእርስዎን ፒ ዜሮ ደብሊው በ wifi የመዳረሻ ነጥብ ሁኔታ በማዋቀር በማንኛውም የ wifi መሣሪያ ከእሱ ጋር መገናኘት ይችላሉ። ይህ የምዝግብ ማስታወሻውን ማቀናበር እና በ wifi ላይ መረጃን ማውረድ ፣ ኬብሎች ወይም አሽከርካሪዎች አያስፈልጉም።

ለዚህ ፣ አዳፍ ፍሬዝ ጥሩ አጋዥ ስልጠና አለው። አንዳንድ ትናንሽ አስተያየቶች

  • ለ /etc/hostapd/hostapd.conf ሾፌር ፣ ይጠቀሙ የአሽከርካሪውን መስመር አይጠቀሙ።
  • የ “hostapd አዘምን” ደረጃ አስፈላጊ መሆን የለበትም።

በመማሪያው መጨረሻ ላይ የመዳረሻ ነጥቡ የማይሰራ ከሆነ ፒ (ሱዶ ዳግም ማስነሳት) እንደገና ለማስነሳት ይሞክሩ።

ደረጃ 6 - በ Wifi መዳረሻ ነጥብ እና በደንበኛ ሁነታዎች መካከል መቀያየር

አንዳንድ ጊዜ ሶፍትዌሮችን ማዘመን ወይም አዲስ ሶፍትዌር በእርስዎ Raspberry Pi ላይ መጫን ይፈልጋሉ ፣ ግን ይህ የበይነመረብ ግንኙነት ይፈልጋል። እንደ እድል ሆኖ በሁለቱ መካከል መቀያየር በጣም ቀላል ነው።

በኤስኤስኤች (ከኬብል በላይ ፣ wifi አይደለም!) ከ Pi ጋር ይገናኙ። የመዳረሻ ነጥብ አገልግሎቶችን በማቆም ይጀምሩ

sudo cystemctl stop hostapd.service

sudo cystemctl ማቆሚያ isc-dhcp-server.service

ከዚያ የአውታረ መረብ በይነገጽ ፋይልን ያርትዑ-

sudo nano/etc/network/በይነገጽ

እዚህ የአስተናጋጅ ልኬቶችን አስተያየት መስጠት እና የአውታረ መረብ ግንኙነት ግቤቶችን አስተያየት መስጠት የለብዎትም። ከዚህ ይለውጡት ፦

#-የእንግዳ መለኪያዎች

allow-hotplug wlan0 iface wlan0 inet የማይንቀሳቀስ አድራሻ 192.168.42.1 netmask 255.255.255.0 # -ኔትወርክ (ደንበኛ) መለኪያዎች- # auto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

ለዚህ:

#-የማስተናገድ መለኪያዎች- #ፍቀድ-hotplug wlan0 #iface wlan0 inet static #address 192.168.42.1 #netmask 255.255.255.0 #-ኔትወርክ (ደንበኛ) መለኪያዎች-አውቶማቲክ wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

ፋይሉን ያስቀምጡ እና ይዝጉ።

በመቀጠል የሚከተሉትን ትዕዛዞች ያካሂዳሉ

sudo systemctl ጅምር wpa_supplicant.service

sudo ifdown wlan0 sudo ifup wlan0

አሁን የእርስዎ ፒ (ፒ) እንደገና ከ wifi ጋር መገናኘት አለበት ፣ ይህም ሶፍትዌሮችን እንዲያዘምኑ እና እንዲጭኑ ያስችልዎታል።

ወደ የመዳረሻ ነጥብ ሁኔታ ለመመለስ በ/etc/network/interfaces ውስጥ በአስተያየቶቹ ዙሪያ ይቀያይሩ እና Pi ን እንደገና ያስነሱ።

ደረጃ 7 የመጨረሻ አስተያየቶች

የመጨረሻ አስተያየቶች
የመጨረሻ አስተያየቶች

የድር ጣቢያ ማዋቀር

የ apache አገልጋዩ በ/var/www/ውስጥ ይገኛል። ነባሪውን ገጽ ለመቀየር /var/www/html/index.html ፋይልን ያርትዑ።

አሳሽዎን ወደ Pi አይፒ አድራሻ (192.168.42.1) በማሰስ በ wifi ግንኙነት ላይ ለማውረድ እዚህ ፋይሎችን ማግኘት ይችላሉ። ማንኛውም የ wifi የነቃ መሣሪያ ከዚያ ያለ ተጨማሪ ሶፍትዌር ማውረድ ይችላል።

SFTP ግንኙነት

በኤስኤስኤች ላይ የኤፍቲፒ ግንኙነት ሊደረግ ይችላል። ብዙ ፋይሎችን በፍጥነት እና በቀላሉ ለማስተላለፍ Filezilla ን መጠቀም ይችላሉ (ምስሉን ይመልከቱ)።

የእውነተኛ ሰዓት ሰዓት

ከበይነመረቡ ጋር ምንም ግንኙነት ከሌለ የፒው ውስጣዊ ሰዓት በከፍተኛ ሁኔታ እንደሚንሸራተት ፣ ትክክለኛ የጊዜ አያያዝ አስፈላጊ ከሆነ የእውነተኛ ሰዓት ሰዓት (RTC) ሞጁል ያስፈልጋል። አንዱ እንደዚህ ዓይነት ሞዱል RasClock ነው ፣ የመጫኛ መመሪያዎች እዚህ ይገኛሉ። ሌሎች i2c ላይ የተመሠረቱ ሰዓቶችም ይገኛሉ (ማለትም DS3231)

መደምደሚያ

ሁሉም ነገር በትክክል ከሄደ ፣ አሁን የሚሰራ የ Pi ዜሮ ዳታሎገር ሊኖርዎት ይገባል! የ Python ምዝግብ ማስታወሻ ስክሪፕት ምሳሌ በሚቀጥለው ደረጃ ውስጥ ተካትቷል።

ደረጃ 8 - ምሳሌ Python Logging Script

አስመጣ os

ተከታታይን ከውጪ የማስመጣት ጊዜ ከውጤት ማስመጣት datetime ማስመጣት numpy እንደ np ser = serial. Serial (port = 'COM4', baudrate = 57600, timeout = 5) directory = r '\ var / www / html / data / anemometer / WMPro1352_ 'ser.flushInput () ser.flushOutput () ሞክር: እውነት ሆኖ ሳለ day_timestring = datetime.strftime (datetime.now () ፣'%Y%m%d ') file_today = directory + day_timestring +'.dat ' #አንብብ ውሂብ እና ወዲያውኑ የጊዜ መስመሩን = ser.readline ()። ዲኮድ ('utf-8') nowtime = datetime.strftime (datetime.now () ፣ '%Y-%m-%d%H:%M:% S.%f ') መስመር = line.split (', ') ሞክር: u = ተንሳፋፊ (መስመር [1]) በስተቀር: u = np.nan ሞክር: v = ተንሳፈፍ (መስመር [2]) በስተቀር: v = np.nan ሞክር: w = ተንሳፋፊ (መስመር [3]) በስተቀር: w = np.nan ሞክር: c = ተንሳፋፊ (መስመር [5]) ካልሆነ በስተቀር: c = np.nan Ts = 1/403*c ** 2 - 273.15 ሞክር: ታ = ተንሳፋፊ (መስመር [8]) ካልሆነ በስተቀር: Ta = np.nan if (os.path.isfile (file_today)): በክፍት (file_today, 'a') እንደ fileobject: fileobject.write (nowtime+',' ') fileobject.write (str (u)+','+str (v)+','+str (w)+','+str (c)+','+str (Ts)+','+ str (Ta)+'\ n') fileobject.clos ሠ () ሌላ - በክፍት (file_today ፣ 'w') እንደ ፋይል ነገር: fileobject.write ('' ጊዜ '' '' '' '' '' '' '' '' '' '' '' '' Ts '' '' '' n ') fileobject.write (nowtime+', ') fileobject.write (str (u)+', '+str (v)+', '+str (w)+', '+str (c)+', '+str (Ts)+', '+str (Ta)+' / n ') fileobject.close () ከቁልፍ ሰሌዳ አቋራጭ በስተቀር ser.close ()

የሚመከር: