Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Kuunda Mzunguko
- Hatua ya 2: Ingia Joto la CPU na ThingSpeak
- Hatua ya 3: Kupata Joto la CPU Kutoka kwa Raspberry Pi Kutumia Chatu
- Hatua ya 4: Kudhibiti Shabiki Kulingana na Joto
- Hatua ya 5: Nambari ya Mwisho ya Python
- Hatua ya 6: Takwimu za Ufuatiliaji Kupitia Wingu la Thingspeak
- Hatua ya 7: Endesha Hati ya Python katika Mwanzo
Video: Udhibiti Mahiri wa Shabiki wa Pi Raspberry Kutumia Python & Thingspeak: Hatua 7
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
Muhtasari mfupi
Kwa msingi, shabiki ameunganishwa moja kwa moja na GPIO - hii inamaanisha utendaji wake wa kila wakati. Licha ya operesheni tulivu ya shabiki, operesheni yake endelevu sio matumizi mazuri ya mfumo wa baridi wa baridi. Wakati huo huo, operesheni ya mara kwa mara ya shabiki inaweza kuwa ya kukasirisha tu. Pia, ikiwa Raspberry Pi imezimwa, shabiki bado atafanya kazi ikiwa nguvu imeunganishwa.
Nakala hii itaonyesha jinsi, kwa kutumia ujanja rahisi na sio ngumu, kugeuza mfumo wa baridi uliopo kuwa mzuri, ambao utawashwa tu wakati processor inahitaji kweli. Shabiki ingewashwa tu wakati kuna matumizi mazito, na hivyo kupunguza matumizi ya nguvu ya shabiki na kelele. Pia kupanua maisha ya shabiki kwa kuizuia wakati hauhitajiki.
Nini Utajifunza
Jinsi ya kutekeleza hati ya chatu kudhibiti shabiki kulingana na hali ya joto ya sasa ya Raspberry CPU ukitumia udhibiti wa On-Off na hysteresis ya joto. Jinsi ya kusafirisha data kutoka RaspberryPi yako kwenda kwa Mambo ya Kusema Wingu.
Vifaa
Vipengele ambavyo utahitajika kwa mradi huu ni kama ifuatavyo
- Raspberry Pi 4 Mfano wa Kompyuta B 4GB
- Kinga ya transistor ya NPN S8050330ohms
- Silaha ya Aluminium Kesi ya Chuma na Mashabiki Wawili wa Raspberry Pi
- Kamba za jumper
- Bodi ya mkate
Hatua ya 1: Kuunda Mzunguko
Mzunguko ni rahisi sana. Nguvu kwa shabiki hukatwa kwa kutumia transistor ya NPN. Katika usanidi huu, transistor inafanya kazi kama swichi ya upande wa chini. Resistor inahitajika tu kupunguza sasa kupitia GPIO. GPIO ya Raspberry Pi ina kiwango cha juu cha sasa cha 16mA. Nilitumia ohms 330 ambayo inatupa msingi wa sasa wa karibu (5-0.7) / 330 = 13mA. Nilichagua transistor ya NPN S8050, kwa hivyo kubadili mzigo wa 400mA kutoka kwa mashabiki wote sio shida.
Hatua ya 2: Ingia Joto la CPU na ThingSpeak
ThingSpeak ni jukwaa la miradi kulingana na dhana ya mtandao ya Vitu. Jukwaa hili hukuruhusu kujenga programu kulingana na data iliyokusanywa kutoka kwa sensorer. Makala kuu ya ThingSpeak ni pamoja na: ukusanyaji wa data wakati halisi, usindikaji wa data na taswira. ThingSpeak API hairuhusu tu kutuma, kuhifadhi na kufikia data, lakini pia hutoa njia anuwai za kitakwimu za kuzisindika.
ThingSpeak inaweza kujumuisha vifaa na huduma maarufu kama vile:
- Arduino
- Raspberry pii
- oBridge / RealTime.io
- Umeme imp
- Matumizi ya rununu na wavuti
- Mitandao ya kijamii
- Uchambuzi wa Takwimu katika MATLAB
Kabla ya kuanza, unahitaji akaunti katika ThingSpeak.
- Nenda kwenye kiunga kifuatacho na ujiandikishe kwa ThingSpeak.
- Baada ya uanzishaji wa akaunti yako, ingia.
- Nenda kwenye Vituo -> Njia zangu
- Bonyeza kifungo cha Channel Mpya.
- Ingiza jina, maelezo na sehemu za data unayotaka kupakia
- Bonyeza kitufe cha Hifadhi Kituo ili uhifadhi mipangilio yako yote.
Tunahitaji ufunguo wa API, ambao baadaye tutaongeza kwenye nambari ya chatu ili kupakia joto letu la CPU kwenye wingu la Thingspeak.
Bonyeza kichupo cha Funguo za API ili kupata Kitufe cha Kuandika API
Mara tu unapokuwa na Kitufe cha Andika API, tuko tayari kupakia data zetu.
Hatua ya 3: Kupata Joto la CPU Kutoka kwa Raspberry Pi Kutumia Chatu
Hati hiyo inategemea kurudisha joto la processor, ambalo hufanyika kila sekunde. Inaweza kupatikana kutoka kwa terminal kwa kutumia amri ya vcgencmd na parameter ya kipimo_temp.
kipimo cha vcgencmd_temp
Maktaba ya Subprocess.check_output () ilitumika kutekeleza amri na kisha kutumia usemi wa kawaida kutoa thamani halisi kutoka kwa kamba iliyorudishwa.
kutoka kwa subprocess kuagiza check_output
kutoka re kuagiza findalldef get_temp (): temp = check_output (["vcgencmd", "measure_temp"]). fafanua () temp = kuelea (findall ('\ d + \. / d +', temp) [0]) kurudi (temp chapisha (get_temp ())
Baada ya kupatikana kwa thamani ya joto, data inahitaji kutumwa kwa wingu la ThingSpeak. Tumia Kitufe chako cha Andika API kubadilisha mabadiliko ya myApi katika nambari ya chini ya Python.
kutoka kwa ombi la kuagiza urllib
kutoka kuingiza tena kupata kutoka kwa kuingiza usingizi kutoka kwa mchakato wa kuagiza kuagiza_kupitisha myAPI = '# # # # # # # # # # s '% myAPIdef get_temp (): temp = check_output (["vcgencmd", "measure_temp"]). fafanua () temp = kuelea (findall (' / d + \. / d + ', temp) [0]) kurudi (temp jaribu: wakati Kweli: temp = get_temp () conn = ombi.urlopen (baseURL + '& field1 =% s'% (temp)) chapa (str (temp)) conn. karibu () kulala (1) isipokuwa KinandaInterrupt: chapa ("Toka kwa kubonyeza Ctrl + C")
Hatua ya 4: Kudhibiti Shabiki Kulingana na Joto
Hati ya chatu iliyoonyeshwa hapa chini hutumia mantiki ambayo inawasha shabiki wakati joto linapoinuka juu ya tempOn na kuzima tu wakati hali ya joto inapungua chini ya kizingiti. Kwa njia hii, shabiki hatawasha na kuzima haraka.
kuagiza RPi. GPIO kama GPIO
kuagiza sys kutoka re kuagiza findall kutoka wakati kuagiza kuagiza kutoka kwa subprocess kuagiza check_output def get_temp (): temp = check_output (["vcgencmd", "measure_temp"]). fafanua () temp = kuelea (findall ('\ d + \. / d + ', temp) [0]) kurudi (temp) jaribu: GPIO.setningings (False) tempOn = 50 kizingiti = 10 controlPin = 14 pinState = False GPIO.setmode (GPIO. BCM) GPIO.setup (controlPin, GPIO. OUT, initial = 0) wakati True: temp = get_temp () ikiwa temp> tempOn na sio pinState au temp <tempOn - kizingiti na pinState: pinState = not pinState GPIO.output (controlPin, pinState) print (str (temp) + "" + str (pinState)) kulala (1) isipokuwa KeyboardInterrupt: chapa ("Toka uliobonyezwa Ctrl + C") isipokuwa: chapa ("Isipokuwa nyingine") chapa ("- Anza Takwimu za Ubaguzi:") traceback.print_exc (kikomo = 2, file = sys.stdout) chapa ("- Takwimu za Kutoa Ubaguzi:") mwishowe: chapisha ("CleanUp") GPIO.cleanup () chapa ("Mwisho wa programu")
Hatua ya 5: Nambari ya Mwisho ya Python
Nambari kuu ya chatu inaweza kupatikana kwenye akaunti yangu ya GitHub kwenye kiunga kifuatacho. Kumbuka kuweka Ufunguo wako wa Kuandika API.
- Ingia kwenye bodi yako ya Raspberry PI
- Tumia amri ifuatayo kwenye terminal
python3 cpu.py
Hatua ya 6: Takwimu za Ufuatiliaji Kupitia Wingu la Thingspeak
Baada ya muda, fungua kituo chako kwenye ThingSpeak na unapaswa kuona hali ya joto ikipakia kwenye wingu la Thingspeak kwa wakati halisi.
Hatua ya 7: Endesha Hati ya Python katika Mwanzo
Ili kufanya hivyo, mwishoni mwa faili ya /etc/rc.local:
Sudo nano /etc/rc.local
Unahitaji kuweka amri ya kuanza kwa hati mbele ya kutoka kwa mstari 0:
sudo python / nyumba/pi/cpu.py &
Uwepo wa & alama mwishoni mwa amri ni lazima, kwa kuwa ni bendera kuanza mchakato nyuma.. Baada ya kuwasha tena, hati itaendesha kiatomati na shabiki atawaka wakati hali maalum imekidhiwa.
Ilipendekeza:
Arduino Attiny85 Mdhibiti wa Shabiki mahiri: Hatua 3
Mdhibiti wa Shabiki mahiri wa Arduino Attiny85:
Mzunguko wa Shabiki Kutumia Servo Motor na Udhibiti wa Kasi: Hatua 6
Mzunguko wa Shabiki Kutumia Servo Motor na Udhibiti wa Kasi: Katika mafunzo haya tutajifunza jinsi ya kuzungusha shabiki na kasi inayoweza kubadilishwa ukitumia servo motor, potentiometer, arduino na Visuino. Tazama video
Shabiki Bubu Ametengenezwa Mahiri: Hatua 7
Shabiki Bubu Ametengenezwa kwa busara: Nilitaka kutengeneza shabiki wa kawaida wa msingi, kwa sababu nilichoka kuiwasha na kuzima kwa mikono, wakati iko upande wa pili wa chumba na niko kwenye sofa au kitandani. Nilitaka pia kuwa na wakati wa kwenda mbali wakati nilienda kulala. Mashabiki wengine
Mdhibiti wa Shabiki mahiri: Hatua 9
Mdhibiti wa Shabiki mahiri: Mradi huu uliundwa kutimiza hitaji la kudhibiti shabiki kwenye boma kwa kutafsiri habari ya sasa ya muda. Liko na lengo la kuendesha shabiki ama pini 2 au pini 3 kwa upanaji wa mpigo kwenye bajeti ndogo na inapaswa kudhibiti
Kutumia Diode kwa Udhibiti wa Shabiki. 7 Hatua
Kutumia Diode kwa Udhibiti wa Shabiki. Hii kwa njia mbadala ya kutumia rheostats na chips kwa kudhibiti kasi ya shabiki. Wazo la hili lilitoka kwa http://www.cpemma.co.uk/sdiode.html SASA http: //www.pcsilencioso.com/cpemma/sdiodes.html na nilitaka kuelezea kidogo zaidi na kujenga