Orodha ya maudhui:

Kiwango cha Raspberry Pi Smart: Hatua 10 (na Picha)
Kiwango cha Raspberry Pi Smart: Hatua 10 (na Picha)

Video: Kiwango cha Raspberry Pi Smart: Hatua 10 (na Picha)

Video: Kiwango cha Raspberry Pi Smart: Hatua 10 (na Picha)
Video: Быстрая укладка плитки на стены в санузле. ПЕРЕДЕЛКА ХРУЩЕВКИ от А до Я #27 2024, Julai
Anonim
Image
Image

Je! Umechoka kutazama kiwango hicho cha kuchosha, cha zamani, kibaya cha bafuni kila asubuhi? Yule ambayo wewe husema mara nyingi "nakuchukia" kwako kila wakati unapoikanyaga. Kwa nini hakuna mtu aliyefanya kiwango ambacho ni cha kufurahisha au kinachohamasisha kutumia? Ni wakati wa kuunda kiwango ambacho sio tu cha busara lakini kina tabia zaidi ya kuangaza siku yako. Tutaunda ufuatiliaji wetu wa kudorora, uzani, utumaji wa ujumbe wa kiwango cha bafuni ambacho huja na ucheshi uliojengwa.

Huu ni mradi wa kufurahisha, rahisi na unaochanganya bodi ya usawa ya Wii, Raspberry Pi, na jukwaa la uchambuzi wa data mkondoni kuunda kiwango kilichounganishwa na wavuti kinachodhibitiwa na hati ya Python unaweza kudanganya.

Ngazi ya mradi: Kompyuta Wakati uliokadiriwa kukamilika: dakika 20 Sababu ya kufurahisha: Haiwezekani

Katika mafunzo haya ya hatua kwa hatua, uta:

  • unganisha bodi ya usawa ya Wii kwenye Raspberry Pi kupitia Bluetooth tumia hati ya chatu inayopima uzani wako wakati unapita kwenye bodi ya usawa
  • tumia Raspberry Pi kutiririsha uzito wako kwa huduma ya wingu (Jimbo la Awali)
  • kuanzisha arifa ya SMS kila wakati unapojipima
  • jenga dashibodi ya ufuatiliaji uzito unayoweza kufikia katika kivinjari chako

Hatua ya 1: Vifaa

Kiwango cha Bodi ya Mizani ya Wii
Kiwango cha Bodi ya Mizani ya Wii

Hapa kuna orodha ya vifaa vyote ambavyo tutatumia katika mafunzo haya na viungo mahali ambapo unaweza kununua kila kitu.

  • Raspberry Pi 3 na kadi ya SD na Ugavi wa Nguvu (https://init.st/psuufmj)
  • Bodi ya Mizani ya Wii (https://init.st/qg4ynjl)
  • Ufungashaji wa Betri inayoweza kuchajiwa ya Wii Fit (https://init.st/iyypz2i)
  • 3/8 "Vitambaa vya Felt (https://init.st/8gywmjj)
  • Penseli (sikupi kiunga cha ununue penseli… unapaswa kumiliki moja ya hizi)

Kumbuka: Ikiwa una Raspberry Pi 1 au 2, utahitaji adapta ya Bluetooth (https://init.st/7y3bcoe)

Hatua ya 2: Wii Balance Scale

Kwa nini Bodi ya Mizani ya Wii? Inageuka kuwa ni kipimo kizuri sana, cha kudumu ambacho kina muunganisho wa Bluetooth. Hii itaturuhusu kuiunganisha na kompyuta moja ya bodi (Raspberry Pi) kusoma uzito wako katika hati ya Python na kutuma vipimo hivyo kwa huduma ya data mkondoni kufanya vitu vya kupendeza. Kwa kuongeza, kuna nafasi nzuri kwamba wewe au mtu unayemjua tayari unayo moja ambayo inakusanya vumbi tu.

Tutahitaji kufanya marekebisho kadhaa rahisi kwa Bodi yetu ya Mizani ya Wii ili kweli kufanya mradi huu uwe wa vitendo na rahisi.

Hatua ya 3: Usanidi wa Bluetooth

Raspberry Pi 3 inakuja na bluetooth iliyojengwa ndani, yote tunahitaji kuwasiliana na Bodi ya Mizani ya Wii. Ikiwa una Raspberry Pi 1 au 2, itabidi tutumie moja ya bandari zetu za USB kuziba adapta.

Nguvu kwenye Pi yako (nadhani tayari umesakinisha Raspbian na inakua) na nenda kwenye dirisha la terminal la Raspberry Pi. Unaweza kuona anwani ya dongle yako ya bluetooth na amri ya "hcitool dev":

$ hcitool dev Vifaa: hci0 00: 1A: 7D: DA: 71: 13

Sakinisha moduli za Bluetooth ambazo tutatumia katika hati zetu za Python:

$ sudo apt-kupata kufunga python-bluetooth

Baada ya kukamilisha ufungaji, tuko tayari kuungana na kuwasiliana na Bodi ya Mizani ya Wii. Hatutaunganisha Bodi yetu na Pi yetu kama tunavyofanya na vifaa vyetu vingi vya Bluetooth. Bodi ya Mizani ya Wii haikukusudiwa kuunganishwa na kitu kingine chochote isipokuwa Wii, na upatanisho wa kudumu umeonekana kuwa changamoto ya kutatanisha. Uoanishaji utatokea kila tunapoendesha hati yetu ya Python.

Hatua ya 4: Kusoma Kiwango

Ni wakati wa kuunganisha Bodi yetu ya Mizani ya Wii na Raspberry Pi yetu. Tutafanya hivyo kwa kubadilisha toleo la hati ya Stavros Korokithakis 'Gr8W8Upd8M8.py (https://github.com/skorokithakis/gr8w8upd8m8). Hati ya chatu ambayo tutatumia kwa hatua hii iko hapa. Unaweza kunakili yaliyomo kwenye faili hii kwa faili unayounda kwenye Raspberry Pi yako au unaweza kubana faili zote za chatu ambazo tutatumia kwa mradi huu wote. Wacha tufanye ya mwisho. Chapa amri zifuatazo kwenye terminal kwenye Raspberry Pi yako:

$ cd ~ $ git clone $ git clone https: github.com/initialstate/smart-scale.git cloning into 'smart-scale'… kijijini: Kuhesabu vitu: 14, vimekamilika. kijijini: Kusisitiza vitu: 100% (12/12), imefanywa. kijijini: Jumla ya 14 (delta 1), imetumika tena 8 (delta 0), imetumika tena pakiti 0 Kufungua vitu: 100% (14/14), imefanywa. Inakagua muunganisho… imekamilika.

kujipanga kuwa 'smart-wadogo'… kijijini: Kuhesabu vitu: 14, kumalizika. kijijini: Kusisitiza vitu: 100% (12/12), imefanywa. kijijini: Jumla ya 14 (delta 1), imetumika tena 8 (delta 0), imetumika tena pakiti 0 Kufungua vitu: 100% (14/14), imefanywa. Inakagua muunganisho… imekamilika.

Unapaswa kuona faili mbili za chatu katika saraka mpya ya kiwango-smart - smartscale.py na wiiboard_test.py.

$ cd smart-wadogo $ lsREADME.md smartscale.py wiiboard_test.py

Endesha hati ya wiiboard_test.py ili ujaribu mawasiliano na usome uzito kutoka kwa Bodi ya Mizani ya Wii:

$ sudo chatu wiiboard_test.py

Utaona jibu lifuatalo:

Kugundua bodi… Bonyeza kitufe chekundu cha usawazishaji ubaoni sasa

Ondoa kifuniko cha betri chini ya Bodi ili kupata kitufe chekundu cha usawazishaji. Hakikisha unabonyeza kitufe ndani ya sekunde chache za kutumia hati au muda wa kuisha utatokea. Ukishafanikiwa, utaona kitu sawa na yafuatayo:

Kupatikana Wiiboard kwa anwani 00: 23: CC: 2E: E1: 44Kujaribu kuungana… Imeunganishwa na Wiiboard kwa anwani 00: 23: CC: 2E: E1: 44Wiiboard imeunganishwaACK na data andika imepokea84.9185297 lbs84.8826412 lbs84.9275927 lbs

Hati ya wiiboard_test.py inachukua idadi ya vipimo vya uzito vilivyoainishwa kwenye laini ya 10 na kutoa wastani:

# --------- Mipangilio ya Mtumiaji --------- SAMPLES = 500 # ------------------------- --------

Unaweza kucheza na nambari hii kwa kubadilisha thamani na kutumia tena hati ili uone tofauti ya uzito uliopimwa na wakati unaohitajika kwa kila kipimo. Pima uzito wako, pima mbwa wako, pima chochote na uone ikiwa vipimo vina maana. Ili kusimamisha hati, bonyeza CTRL + C.

Sasa umefanikiwa kubadilisha Bodi yako ya Mizani ya Wii kuwa kiwango kilichounganishwa cha Raspberry Pi. Sasa, wacha tufanye kiwango cha kupendeza.

Hatua ya 5: Tweaks ya vifaa

Kubadilisha vifaa
Kubadilisha vifaa

Nintendo alidhani kila wakati ungewasha Bodi yako ya Mizani ya Wii na betri nne za AA na haikujumuisha adapta ya nguvu ya AC. Kuwa na nguvu ya betri tu itakuwa ngumu kwa sababu hatuwezi kuoanisha Bodi yetu ya Wii na Pi yetu kupitia Bluetooth. Tunahitaji kusawazisha, kisha uiruhusu ibaki iliyosawazishwa bila kumaliza betri ili tuweze kukanyaga mizani na kupima. Kwa bahati nzuri, kuna adapta kadhaa za mtu wa tatu zilizotengenezwa kwa Bodi ya Mizani ya Wii ambayo tunaweza kutumia kutoa nguvu ya kila wakati kutoka kwa ukuta wa ukuta. Badilisha betri na kifurushi cha betri na uzie adapta ya ac kwenye duka la ukuta.

Kuwa na jozi ya Bodi ya Mizani ya Wii na Raspberry Pi kila wakati tunapoendesha hati yetu ya Python inatoa usumbufu mwingine kwa sababu ya eneo la kitufe cha usawazishaji. Kitufe cha usawazishaji kiko chini ya Bodi ya Wii, ambayo inamaanisha tutalazimika kuibadilisha kila wakati tunapohitaji kusawazisha. Tunaweza kurekebisha hii kwa kutengeneza lever kidogo kwa kutumia penseli na vidonge vitatu vya 3/8 "kama inavyoonyeshwa hapo juu. Kifurushi cha betri kinachoweza kuchajiwa hufunua kitufe cha usawazishaji chini ya uso wa Bodi. Tepe penseli (au kitu kama hicho) kinachotambaa kutoka kitufe cha usawazishaji hadi mbele ya nje ya Bodi. Bandika vitatu 3/8 "vilijisikia pedi (au kitu kama hicho) katikati ya penseli kuunda kitovu kilichosimama. Kuwa mwangalifu usifunue penseli nyingi kutoka kwa Bodi kwani hutaki mtu atoe nje kwa bahati mbaya. Pindisha Bodi juu na unaweza kubonyeza kitufe cha kusawazisha kwa kubonyeza chini kwenye lever. Kidogo cha hack lakini yenye ufanisi.

Kulingana na jinsi unavyohifadhi Bodi yako ya Wii, unaweza kutaka kuondoa pedi za mtego wa mpira kutoka kwa miguu ya Bodi (pedi hizo ni stika tu ambazo unaweza kuziondoa). Usafi wa 3/8 unaweza kuwekwa kwa miguu ya Bodi kwa kuteleza rahisi.

Hatua ya 6: Jimbo la Awali

Jimbo la Awali
Jimbo la Awali

Tunataka kutiririsha uzito / data yetu kwa huduma ya wingu na huduma hiyo ibadilishe data yetu kuwa dashibodi nzuri ambayo tunaweza kupata kutoka kwa kompyuta yetu ndogo au kifaa cha rununu. Takwimu zetu zinahitaji marudio. Tutatumia Jimbo la Awali kama marudio hayo.

Hatua ya 1: Jisajili kwa Akaunti ya Jimbo la Awali Nenda kwa https://iot.app.initialstate.com na uunda akaunti mpya.

Hatua ya 2: Sakinisha ISStreamerSanikisha moduli ya Jimbo la Awali la Python kwenye Pi yako: Kwa mwongozo wa amri (usisahau SSH ndani ya Pi yako kwanza), tumia amri ifuatayo:

$ cd / nyumbani / pi / $ curl -sSL https://get.initialstate.com/python -o - | Sudo bash

Hatua ya 3: Tengeneza AutomagicBaada ya Hatua ya 2 utaona kitu sawa na pato lifuatalo kwenye skrini:

pi @ raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o - | sudo bashPassword: Kuanzia ISStreamer Python Ufungaji Rahisi! Hii inaweza kuchukua dakika kadhaa kufunga, kunyakua kahawa kadhaa:) Lakini usisahau kurudi, nitakuwa na maswali baadaye!

Imepatikana rahisi_install: setuptools 1.1.6

Bomba iliyopatikana: pip 1.5.6 kutoka kwa / Maktaba/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (chatu 2.7) toleo kubwa la bomba: 1 bomba toleo dogo: 5 ISStreamer imepatikana, inasasisha… Mahitaji tayari imesasishwa: ISStreamer katika /Library/Python/2.7/site-packages Inasafisha… Je! unataka kiatomati kupata hati ya mfano? [y / N]

(pato linaweza kuwa tofauti na kuchukua muda mrefu ikiwa haujawahi kusanidi moduli ya utiririshaji wa Python State kabla)

Unapohamasishwa kupata kiatomati hati, andika y. Hii itaunda hati ya majaribio ambayo tunaweza kukimbia ili kuhakikisha kuwa tunaweza kusambaza data kwenda Jimbo la Awali kutoka kwa Pi yetu. Utaulizwa:

Unataka kuokoa mfano wapi? [chaguo-msingi:./is_example.py]:

Unaweza kuandika aina ya njia ya kawaida au hit enter kukubali chaguo-msingi. Utaulizwa kwa jina lako la mtumiaji na nywila ambayo umetengeneza tu wakati ulisajili akaunti yako ya Jimbo la Awali. Ingiza zote mbili na usakinishaji utakamilika.

Hatua ya 4: Funguo za Ufikiaji

Wacha tuangalie mfano wa hati ambayo iliundwa.

$ nano ni_mfano.py

Kwenye laini ya 15, utaona laini inayoanza na streamer = Streamer (ndoo_…. Mistari hii inaunda ndoo mpya ya data iitwayo "Mfano wa Mkondo wa Python" na inahusishwa na akaunti yako. Chama hiki hufanyika kwa sababu ya ufikiaji_key = "…" parameta kwenye mstari huo huo. Mfululizo huo mrefu wa herufi na nambari ni ufunguo wako wa ufikiaji wa akaunti ya Jimbo la Awali. Ukienda kwenye akaunti yako ya Jimbo la Awali katika kivinjari chako cha wavuti, bonyeza jina lako la mtumiaji kulia juu, kisha nenda kwenye "Mipangilio Yangu", utapata ufunguo sawa wa ufikiaji chini ya ukurasa chini ya "Funguo za Ufikiaji wa Utiririshaji".

Kila wakati unapounda mkondo wa data, ufunguo huo wa ufikiaji utaelekeza mkondo huo wa data kwenye akaunti yako (kwa hivyo usishiriki ufunguo wako na mtu yeyote).

Hatua ya 5: Endesha Mfano

Tumia hati ya jaribio ili kuhakikisha kuwa tunaweza kuunda mkondo wa data kwenye akaunti yako ya Jimbo la Awali. Endesha yafuatayo:

$ chatu ni_mfano.py

Hatua ya 6: Faida

Rudi kwenye akaunti yako ya Jimbo la Awali katika kivinjari chako cha wavuti. Ndoo mpya ya data iitwayo "Mfano wa Mkondo wa Python" inapaswa kuwa imeonekana upande wa kushoto kwenye rafu yako ya logi (huenda ukalazimika kuonyesha ukurasa upya). Unaweza kuona data kwenye Tiles ili kuona data hii hiyo katika fomu ya dashibodi.

Hatua ya 7: Hati ya Mwisho

Kwa kudhani umeendesha "git clone https://github.com/InitialState/smart-scale.git" amri katika Sehemu ya 2, hati ya mwisho ambayo inaweka kila kitu pamoja inaitwa smartscale.py katika saraka yako ya ~ / smart-wadogo. (https://github.com/InitialState/smart-scale/blob/master/smartscale.py)

Mipangilio michache inahitaji kuwekwa kwenye hati kabla ya kuiendesha. Fungua smartscale.py katika mhariri wako wa maandishi kama nano.

$ cd ~ $ cd smart-wadogo $ nano smartscale.py

Karibu na juu ya faili hii, kuna sehemu ya Mipangilio ya Mtumiaji.

# --------- Mipangilio ya Mtumiaji --------- BUCKET_NAME = ": apple: Historia yangu ya Uzito" BUCKET_KEY = "weight11" ACCESS_KEY = "WEKA HALI YAKO YA HALI YA KUFIKIA MUHIMU HAPA" METRIC_UNITS = FalseWEIGHT_SAMPLES = 500THROWAWAY_SAMPLES = 100WEIGHT_HISTORI = 7 # ---------------------------------

  • BUCKET_NAME inaweka jina la ndoo ya data ya Jimbo la Awali ambayo uzito / data yako itatiririka. Hii inaweza kuwekwa hapa na kubadilishwa baadaye kwenye UI.
  • BUCKET_KEY ni kitambulisho cha kipekee cha ndoo ambacho kinabainisha ni wapi data yako itatiririka. Ikiwa unataka kuunda ndoo / dashibodi tofauti, tumia kitambulisho tofauti hapa (* kumbuka, ikiwa utahifadhi ndoo, huwezi kutumia tena ufunguo wake kwenye ndoo mpya).
  • ACCESS_KEY ni ufunguo wa akaunti yako ya Jimbo la Awali. Usipoweka ACCESS_KEY yako kwenye uwanja huu, data yako haitaonekana kwenye akaunti yako.
  • METRIC_UNITS hukuruhusu kutaja uzito wako kwa kilo ikiwa imewekwa kuwa Kweli au lb ikiwa imewekwa kwa Uongo.
  • WEIGHT_SAMPLES inabainisha ni vipimo vipi vilivyochukuliwa na wastani kwa pamoja ili kupata uzani wako halisi. Vipimo 500 huchukua sekunde 4-5 na hutoa matokeo sahihi.
  • THROWAWAY_SAMPLES inabainisha idadi ya sampuli ambazo hutupwa wakati unapoingia tu kwenye bodi. Hii inazuia hatua za mwanzo na kuhama kutoka kwa kutupa kipimo cha mwisho. Daima hii inapaswa kuwa chini ya WEIGHT_SAMPLES.
  • WEIGHT_HISTORY inaweka idadi ya vipimo vilivyochukuliwa kabla ya sasisho la ziada kutumwa. Vipimo tu vimechukuliwa masaa mawili au zaidi mbali kuhesabu kwenye historia.

Mara baada ya kubainisha kila parameter katika sehemu hii na kuhifadhi mabadiliko yako, uko tayari kuendesha hati ya mwisho. Kabla ya kuendesha hati, wacha tupitie kile kitakachofanya.

  • Mwanzoni mwa hati, utaulizwa kuoanisha Bodi yako ya Mizani ya Wii na Raspberry Pi yako. Tumia lever uliyodanganya pamoja katika sehemu ya Sehemu ya 2: Hardware Tweaks kushinikiza kitufe cha kusawazisha unapoambiwa.
  • Mara tu hati inapoanza, nenda kwenye Bodi ya Wii ili kuanza kupima uzito wako. Baada ya sekunde 4-5, uzito wako utatumwa kiatomati kwa akaunti yako ya Jimbo la Awali.
  • Baada ya kuanzisha arifa za SMS (katika hatua kadhaa), utapokea ujumbe mfupi baada ya kipimo chako.

Endesha hati ili uanze uchawi.

$ sudo chatu smartscale.py

Hatua ya 8: Dashibodi

Dashibodi
Dashibodi

Nenda kwenye akaunti yako ya Jimbo la Awali na ubofye kwenye ndoo mpya ya data na jina linalolingana na parameta ya BUCKET_NAME (i.e. Historia ya Uzito Wangu). Bonyeza kwenye Matofali ili uone dashibodi yako ya historia ya uzito. Unapaswa kuona tiles tatu mara ya kwanza unapoona data yako kwenye Tiles - Sasisha, Tarehe ya Uzito, na Uzito (lb). Unaweza kubadilisha dashibodi yako kwa kubadilisha ukubwa na kusonga tiles na vile vile kubadilisha aina za maoni na hata kuongeza vigae. Dashibodi hii inakupa uwezo wa kuona historia yako ya uzani kwa-mtazamo. Ni rafiki wa simu na unaweza hata kushiriki na watu wengine.

Unaweza kuongeza picha ya mandharinyuma kwenye dashibodi yako ili kutoa data yako utu zaidi na muktadha.

Hatua ya 9: SMS

SMS
SMS

Wacha tuunde tahadhari ya SMS wakati wowote kiwango kinachukua kipimo cha uzito. Hakikisha ndoo ya data ya historia ya uzito imepakiwa.

  1. Bonyeza kwenye mipangilio ya ndoo (chini ya jina lake) kwenye dirisha la ndoo ya data.
  2. Bonyeza kwenye kichupo cha Kuchochea.
  3. Chagua mkondo wa data ili uwashe. Unaweza kutumia orodha kunjuzi kuchagua kutoka kwa mito iliyopo mara tu ndoo ya data ikiwa imepakia au unaweza kuchapa jina la ufunguo / ufunguo kwa mikono. Katika mfano wa skrini hapo juu, "Sasisha" imechaguliwa.
  4. Chagua mwendeshaji wa masharti, katika kesi hii 'mechi'.
  5. Chagua thamani ya Kuchochea ambayo itasababisha kitendo (chapa mwenyewe thamani inayotakikana). Andika kwa lb ikiwa hutumii vitengo vya metri au chapa kwa kilo ikiwa unatumia vitengo vya metri. Wakati wowote mtiririko "Sasisha" una "lb" (au "kg"), utapata arifa ya ujumbe wa maandishi.
  6. Bonyeza kitufe cha '+' ili kuongeza hali ya Kuchochea.
  7. Ingiza anwani yako ya barua pepe au nambari ya simu kwenye uwanja wa "Mawasiliano ili kukuarifu".
  8. Bonyeza kitufe cha '+' ili kuongeza maelezo ya mawasiliano.
  9. Ingiza nambari yoyote ya uthibitishaji ikiwa unaongeza nambari mpya ya simu ili kukamilisha usanidi.
  10. Bonyeza kitufe kilichofanyika chini ili urudi kwenye skrini kuu. Kichocheo chako sasa ni cha moja kwa moja na kitawaka wakati hali hiyo imetimizwa.

Mara tu usanidi ukamilika, utapata SMS kila wakati unapojipima ambayo ina uzito wako, uzito wako umebadilika kiasi gani tangu kipimo cha mwisho, na utani / tusi / pongezi.

Hatua ya 10: Hitimisho

Kuna chaguzi zisizo na kikomo ambazo unaweza kujenga juu ya kile umeunda sasa. Hapa kuna maoni kadhaa ya mradi huu:

  • Unaweza kusambaza data kutoka vyanzo vingine kwenye dashibodi ya historia ya uzani sawa (info) kuunda dashibodi yako ya afya.
  • Unaweza kubadilisha utani katika messageWeighFirst, messageWeighLess, messageWeighMore, na ujumbeWeighSame kazi sawa na hisia zako za ucheshi.
  • Unaweza kubadilisha utani kuwa ujumbe wa vitendo au uwaondoe na utumie nambari ya kiwango ili kufuatilia uzito wa kitu muhimu zaidi ya uzito wa mwili wako mwenyewe.
  • Unaweza kuunda jokofu / bia yako ya divai kwa kutumia njia ile ile. Tayari kuna mafunzo ya kushangaza yaliyotengenezwa hapa.

Hack mbali na unijulishe ikiwa mafunzo haya yanakuhimiza kuunda kitu cha kushangaza.

Ilipendekeza: