ዝርዝር ሁኔታ:

UCL - IIOT ግሪን ሃውስ 11 ደረጃዎች
UCL - IIOT ግሪን ሃውስ 11 ደረጃዎች

ቪዲዮ: UCL - IIOT ግሪን ሃውስ 11 ደረጃዎች

ቪዲዮ: UCL - IIOT ግሪን ሃውስ 11 ደረጃዎች
ቪዲዮ: UCL-IIoT-Datalogger 2024, ሀምሌ
Anonim
UCL - IIOT ግሪን ሃውስ
UCL - IIOT ግሪን ሃውስ

ይህ ፕሮጀክት ከግሪን ሃውስ (https://www.instructables.com/id/EAL-EMBEDDED-GREE…) ጋር የቀድሞ ፕሮጀክታችን ቅጥያ ነው።

በዚህ ፕሮጀክት ውስጥ የውሂብ ጎታ አክለናል ፣ እዚያም ሁሉንም ውሂባችን የምንገባበት እና ከዚያ ለበለጠ አጠቃላይ እይታ በመስቀለኛ-ቀይ የምናየው።

በእኛ የውሂብ ጎታ ውስጥ የምንገባበት ይዘት በተለያዩ ሥዕላዊ መግለጫዎች ውስጥ የሚታየው የአፈር እርጥበት ፣ የሙቀት መጠን እና እርጥበት ነው።

ከመረጃloggin በተጨማሪ እኛ የትኛው መገለጫ በግሪን ሃውስ ውስጥ እንደሚሠራ ለመቆጣጠር እና በርቀት ለመቆጣጠር እንችላለን።

ከዚያ እኛ ደግሞ ፓም andን እና አድናቂውን በእጅ መቆጣጠር እንችላለን።

ደረጃ 1 - የመጫኛ መመሪያ

የመጫኛ መመሪያ
የመጫኛ መመሪያ

የመጀመሪያው እርምጃ ሁሉንም የተለያዩ ክፍሎች መጫን ነው።

በቅንፍ () ውስጥ ፣ ክፍሉ የተገናኘበትን ዘርዝረናል። ስለዚህ ለምሳሌ አርዱinoኖ በዩኤስቢ ገመድ በኩል ከ Raspberry Pi ጋር ተገናኝቷል።

ጥቅም ላይ የዋለ ሃርድዌር;

  • አርዱinoኖ (Raspberry Pi)
  • Raspberry Pi 3 B+
  • የአፈር ሃይድሮሜትር (አርዱinoኖ)
  • DHT11 ዳሳሽ (አርዱinoኖ)
  • ኤች.ጂ.-320 የውሃ ውስጥ የውሃ ውስጥ ፓምፕ (ቅብብል)
  • 5V ቅብብል (አርዱinoኖ)
  • የኮምፒተር አድናቂ (ቅብብል)
  • 230V የኃይል አቅርቦት (ፓምፕ)

ያገለገለ ሶፍትዌር

  • Raspbian (OS ለ Raspberry Pi)
  • አርዱዲኖ አይዲኢ
  • Python (Raspberry Pi)- PySerial- MySQL ደንበኛ
  • መስቀለኛ-ቀይ (Raspberry Pi)- Pythonshell- Summariser- MySQL- Dashboard
  • የ MySQL አገልጋይ (freemysqlhosting.net)

በመጀመሪያ የሃርድዌር ክፍሎችን ማገናኘት አለብዎት ፣ ስለዚህ ግሪን ሃውስ ለመገንባት ይህንን መመሪያ ይከተሉ የመጫኛ መመሪያ።

ከዚያ በ Raspberry Pi ላይ Raspbian OS ን መጫን ይኖርብዎታል። ከዚያ በኋላ Python ን መጫን እና ከዚያ የፓይዘን ቤተ -መጽሐፍቶችን መጫን ይኖርብዎታል።

ቀጣዩ ደረጃ Raspberry Pi ላይ Node-Red ን መጫን ነው ፣ እና ከዚያ ወደ ፓነል ሥራ አስኪያጅ ይሂዱ እና ቀደም ሲል የተገለጹትን ሞጁሎች ይጫኑ።

ከዚያ ወደዚህ ጣቢያ ይሂዱ ነፃ የ MySQL አገልጋይ እና ነፃ የ MySQL አገልጋይ ይፍጠሩ።

ይህ ሁሉ ሲጠናቀቅ ፣ የፓይዘን ስክሪፕት ወደ Raspberry Pi ለማስተላለፍ ፣ የመስቀለኛ-ቀይ ስክሪፕትን ለማስመጣት እና ለአርዱዲኖ ኮዱን ለመስቀል ዝግጁ ነዎት።

ደረጃ 2 የቁጥጥር ማሳያ

Image
Image

ደረጃ 3 በፕሮጀክቱ ውስጥ ጥቅም ላይ የዋሉ ክፍሎች/ሶፍትዌሮች ዝርዝር

ግሪን ሃውስ ለመሥራት የሚከተለውን ቴክኖሎጂ ተጠቅመናል

  • አርዱinoኖ
  • Raspberry Pi
  • መስቀለኛ-ቀይ
  • ፓይዘን
  • PHPMyAdmin

ደረጃ 4: እኔ/0 ዝርዝር

የሽቦ ዲያግራም
የሽቦ ዲያግራም

ደረጃ 5 የሽቦ ዲያግራም

ደረጃ 6 የአርዱኖ ኮድ

የአርዲኖ ኮድ የሚሠራው መረጃውን በማተም ፣ በአነፍናፊዎቹ በመለካት ፣ ወደ Raspberry Pi ተነብቦ ወደ የውሂብ ጎታ በሚተላለፍበት ተከታታይ ግንኙነት ነው።

አርዱዲኖ በተጨማሪም አርዱዲኖ ከሚያነበው ከ Raspberry Pi ጋር የተገናኙ አንዳንድ ዲጂታል ግብዓት ፒኖች አሏቸው እና ከሦስቱ አንዱ ከፍተኛ ከሆነ በአይኤፍ መግለጫ ምክንያት መገለጫው ይለወጣል።

እንዲሁም መዘግየቶችን ሳይሆን ኮዶችን እና ቀሪውን ኮድ በአሮጌው መዘግየት ፋንታ ሁል ጊዜ እንዲነበብ ከሚያደርግ መዘግየት ይልቅ ሚሊስን ለመጠቀም ኮዱን አሻሽለነዋል።

ደረጃ 7: Raspberry Pi 3 B+

Raspberry Pi 3 B+
Raspberry Pi 3 B+

የእኛን አርዱዲኖን ከበይነመረቡ እና ከ MySQL ዳታቤዝ ጋር ለማገናኘት Raspberry Pi 3 B+ ን እንጠቀም ነበር። ይህ ከእኛ ዳሳሾች መረጃን ለማከማቸት እና ለዋና ተጠቃሚ የእይታ በይነገጽ እንድናደርግ አስችሎናል። ለተጠቃሚ በይነገጽ ኖድ-ቀይን ከዳሽቦርድ ቤተ-ስዕል ጋር ተጠቀምን።

ነገር ግን በመስቀለኛ-ቀይ ላይ የእኛን ዳሳሽ ውሂብ ከማሳየታችን በፊት ፣ በ MySQL የመረጃ ቋት ላይ ውሂቡን ለመስቀል መንገድ ያስፈልገን ነበር ፣ ለዚህም እኛ በእኛ Raspberry Pi ላይ የሚሄድ የ Python ስክሪፕት አደረግን።

ደረጃ 8 - ፓይዘን

ፓይዘን
ፓይዘን

የ Python ስክሪፕት ከአርዱዲኖ ከሚመጣው ተከታታይ-ግንኙነት መረጃ ለመቀበል ያገለግላል። ከዚያ ስክሪፕቱ ውሂቡን ወደ MySQL የውሂብ ጎታ ይልካል።

እኛ ሁለት ቤተ -ፍርግሞችን ፣ የአካል ጉዳተኛ እና mysqlclient ን እንጠቀም ነበር።

ስለዚህ የመጀመሪያው እርምጃ እነዚህን ሁለት ቤተ -መጻሕፍት ማውረድ ይሆናል-

  1. PySerial
  2. MySQL ደንበኛ

PySerial በተከታታይ-ግንኙነት በኩል ከአርዱዲኖ መረጃን ለመሰብሰብ ያገለግላል።

መሣሪያ = '/dev/ttyUSB0'

አርዱዲኖ = ተከታታይ ።አየር (መሣሪያ ፣ 9600)

የመጀመሪያው መስመር የእኛን COM- ወደብ ለመግለጽ ጥቅም ላይ እየዋለ ነው። በ Raspberry Pi ላይ እኛ ለ Arduino የምንጠቀመው /dev /ttyUSB0 ነው። ሁለተኛው መስመር ተከታታይ ወደቡን ለአርዱዲኖ ለመክፈት ነው። እኛ የትኛውን ኮም-ወደብ እና በምን ፍጥነት ግንኙነቱ እየሄደ እንደሆነ እንገልፃለን።

ቀሪው ኮዱ በጥቂት ጊዜ ውስጥ እየሰራ ነው።

በመቀጠል ብዙ ሙከራዎችን እና ብሎኮችን እንጠቀማለን። በመጀመሪያ ኮዱ በሙከራ ብሎክ ውስጥ ለማሄድ እየሞከረ ነው ፣ ያ ካልተሳካ ከዚያ በስተቀር እገዳን ያካሂዳል። ግን የሙከራ እገዳው በጥሩ ሁኔታ ከሄደ ፣ በስተቀር እገዳውን አይሰራም ፣ ቀሪውን ኮዱን ብቻ ያካሂዳል።

ስለዚህ በሙከራ ብሎኮች ውስጥ ተከታታይ-ግንኙነቱን የሚያነብ እና ከዚያ ወደ እኛ MySQL የውሂብ ጎታ የሚልክ ኮድ አለን።

hygrolist = arduino.readlines (1)

templist = arduino.readlines (2) humidlist = arduino.readlines (3)

ስለዚህ ከላይ ያለው ኮድ በተከታታይ-ግንኙነት ውስጥ መስመሮችን ለማንበብ ነው። በኮዱ መጨረሻ ላይ ያለው ቁጥር በተከታታይ ውስጥ የተነበበውን መስመር እየገለጸ ነው። ስለዚህ እነዚህ መስመሮች በተለያዩ ተለዋዋጮች እየተመደቡ ነው።

ከ Arduino የመጣ መረጃ ሲቀበል ፣ ውሂቡን ወደ የእኛ MySQL አገልጋይ ለመላክ የ mysqlclient ሞጁሉን እንጠቀም ነበር።

db = _mysql.connect (አስተናጋጅ = "sql7.freemysqlhosting.net" ፣ ተጠቃሚ = "sql7256552" ፣ passwd = "3ebtbP8FQ2" ፣ db = "sql7256552")

ይህ መስመር ከእኛ MySQL የውሂብ ጎታ ጋር ለመገናኘት ነው። እሱ አገልጋዩን ፣ የተጠቃሚ ስሙን ፣ የይለፍ ቃሉን እና የትኛው የውሂብ ጎታ በአገልጋዩ ውስጥ መገናኘት እንዳለበት ይገልጻል። እዚህ ከእርስዎ MySQL DB ጋር ያለውን ግንኙነት መግለፅ አለብዎት።

db.query ("INSERTINTO 'TempHumid' ('temp`,' humid`, 'hygro`) VALUES (%s, %s, %s)" %(temp, humid, hygro))

ስለዚህ እዚህ የእኛን የዲቢ ግንኙነት እንወስዳለን እና የ SQL መጠይቅ እናደርጋለን። መጠይቁ እሴቶቹ በሰንጠረ inside ውስጥ “TempHumid” እና ከዚያ ወደ “ቴምፕ” ፣ “እርጥብ” እና “ሀይግሮ” አምዶች ውስጥ መግባት አለባቸው ይላል። የመጨረሻው ክፍል “(%s ፣ %s ፣ %s)” የሕብረቁምፊ ቅርጸት ሲሆን የውሂብ ጎታውን ሊያነበው የሚችለውን ቅርጸት ለመስጠት ያገለግላል።

እና ወደ MySQL አገልጋዩ የተላከ መረጃ ማግኘታችንን እንድንቀጥል ይህ ሁሉ እርምጃ ለተወሰነ ጊዜ loop ውስጥ ገብቷል።

ሁሉንም ኮዱን ለማየት ከፈለጉ የፒቲን ስክሪፕት (TempHumid.py) ያውርዱ።

ደረጃ 9: MySQL

MySQL
MySQL
MySQL
MySQL

ለ MySQL አገልጋዩ ፣ በ www.freemysqlhosting.net ላይ ነፃ አገልግሎት እንጠቀም ነበር። በ Raspberry Pi ላይ በአከባቢው አገልጋይ መስራት እንችል ነበር ፣ ግን ከደመናው/ከበይነመረቡ ጋር ሙሉ በሙሉ እንዲገናኝ ከነፃ አገልግሎቱ ጋር ሄድን።

የእርስዎን MySQL ለመድረስ ወደ phpmyadmin.co መሄድ እና በፍሪሜይስክሎግስተንግ መለያዎ ምስክርነቶች መግባት አለብዎት።

ወደ ውስጥ ሲገቡ “ቴምፉድ” የሚባል ጠረጴዛ መፍጠር አለብዎት ፣ በዚህ ጠረጴዛ ውስጥ ‹መታወቂያ› ፣ ‹ቴምፕ› ፣ ‹እርጥበት› እና ‹ሂግሮ› የሚባሉ 4 አምዶችን መፍጠር አለብዎት። የመጀመሪያው ዓምድ (መታወቂያ) A_I (ራስ -መጨመር) የሚለውን ሳጥን ላይ ምልክት ማድረግ አለብዎት። ይህ የመታወቂያ አምድ እያንዳንዱን የውሂብ ስብስብ መታወቂያ እንዲሰጥ ነው። ሁሉም የሚከተሉት ዓምዶች እንደ INT (ኢንቲጀር) መዘጋጀት አለባቸው ፣ እና መደበኛ እሴቱን ወደ NULL ያዘጋጁ።

ደረጃ 10-መስቀለኛ-ቀይ

መስቀለኛ-ቀይ
መስቀለኛ-ቀይ
መስቀለኛ-ቀይ
መስቀለኛ-ቀይ
መስቀለኛ-ቀይ
መስቀለኛ-ቀይ

በፕሮጀክታችን ውስጥ ግራፊክ በይነገጽን ለመሥራት ኖድ-ቀይን ተጠቀምን። መስቀለኛ-ቀይ በ Raspberry Pi ላይ እያሄደ እና ከእኛ MySQL የውሂብ ጎታ መረጃን እየሰበሰበ እና የመጨረሻውን ተጠቃሚ መረጃውን እንዲከታተል እነዚህን መረጃዎች በዶናት ቅርፅ መለኪያዎች እና በግራፊክ ገበታዎች እያሳየ ነው። ስለ ኖድ-ቀይ ብልጥ የሆነው በማንኛውም መሣሪያ ላይ የሚታይ መሆኑ ነው ፣ ይህ ማለት ጣቢያው ይዘቱን ለሚመለከተው መሣሪያ መጠን ይቀየራል ማለት ነው።

የመስቀለኛ-ቀይ ፕሮግራማችንን ለመጫን ደረጃ 1 ን ይመልከቱ እና “ኖድ-ሬድ.ዶክክስ” የተባለውን ሰነድ ያውርዱ። ከዚያ በላይኛው ቀኝ ጥግ ላይ ባለው የማስመጣት ተግባር በኩል ጽሑፉን ወደ መስቀለኛ-ቀይ ይቅዱ እና ይለጥፉ።

ከዚያ በኋላ ለእርስዎ MySQL DB የ DB ቅንብሮችን ይለውጡ።

የሚመከር: