Sisukord:

Vaarika Pi nutikaala: 10 sammu (koos piltidega)
Vaarika Pi nutikaala: 10 sammu (koos piltidega)

Video: Vaarika Pi nutikaala: 10 sammu (koos piltidega)

Video: Vaarika Pi nutikaala: 10 sammu (koos piltidega)
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Juuli
Anonim
Image
Image

Kas olete väsinud iga päev seda igavat, vana ja halva uudisega vannitoa kaalumist vahtima? See, mida sa ütled sulle sageli "ma vihkan sind" iga kord, kui sellele astud. Miks pole keegi teinud skaalat, mida on tegelikult lõbus või motiveeriv kasutada? On aeg luua skaala, mis pole mitte ainult nutikas, vaid millel on natuke rohkem isikupära, et muuta teie päev heledamaks. Ehitame oma häkkitava, kaalujälgimise, tekstisõnumitega vannitoakaalu, millel on sisseehitatud huumorimeel.

See on lõbus ja lihtne projekt, mis ühendab Wii tasakaalulaua, Raspberry Pi ja veebipõhise andmeanalüüsi platvormi, et luua veebiga ühendatud skaalat, mida kontrollib Pythoni skript, mida saate häkkida.

Projekti tase: algaja Ligikaudne valmimisaeg: 20 minutit Lõbus tegur: mõõtmatu

Selles samm-sammulises õpetuses saate:

  • ühendage Wii tasakaalulaud Bluetoothiga Raspberry Pi -ga ja käivitage Pythoni skript, mis mõõdab teie kaalu, kui astute tasakaalulauale
  • Raspberry Pi abil saate oma kaalu pilveteenusesse suunata (algseisund)
  • seadistage SMS -märguanne iga kord, kui kaalute end
  • looge kaalu jälgimise juhtpaneel, millele pääsete juurde oma veebibrauseris

Samm: varustus

Wii tasakaalulaua skaala
Wii tasakaalulaua skaala

Siin on nimekiri kõigist seadmetest, mida me selles õpetuses kasutame, koos linkidega, kust saate iga üksuse osta.

  • Raspberry Pi 3 koos SD -kaardi ja toiteallikaga (https://init.st/psuufmj)
  • Wii saldokogu (https://init.st/qg4ynjl)
  • Wii Fit laetav aku (https://init.st/iyypz2i)
  • 3/8 "vildist padjad (https://init.st/8gywmjj)
  • Pliiats (ma ei anna teile linki, kust pliiatsit osta … üks neist peaks teile kuuluma)

Märkus. Kui teil on Raspberry Pi 1 või 2, vajate bluetooth -adapterit (https://init.st/7y3bcoe)

2. etapp: Wii tasakaalulaua skaala

Milleks Wii Balance Board? Selgub, et see on tõesti kena ja vastupidav kaal, millel on Bluetooth -ühendus. See võimaldab meil ühendada selle ühe plaadiga arvutiga (Raspberry Pi), et lugeda teie kaalu Pythoni skriptis ja saata need mõõtmised veebipõhisele andmeteenusele, et teha lahedaid asju. Lisaks on hea võimalus, et teil või teie tuttaval on juba selline, mis lihtsalt kogub tolmu.

Peame oma Wii Balance Boardis tegema paar lihtsat muudatust, et see projekt oleks tõesti praktiline ja mugav.

Samm: Bluetoothi seadistamine

Raspberry Pi 3 -l on sisseehitatud bluetooth, kõik, mida vajame Wii Balance Boardiga suhtlemiseks. Kui teil on Raspberry Pi 1 või 2, peame adapteri ühendamiseks kasutama ühte meie USB -portidest.

Lülitage oma Pi sisse (eeldan, et olete Raspbiani juba installinud ja see käivitub) ja minge oma Raspberry Pi terminaliaknasse. Bluetooth -dongli aadressi näete käsuga "hcitool dev":

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

Installige Bluetooth -moodulid, mida kasutame oma Pythoni skriptides:

$ sudo apt-get install python-bluetooth

Pärast installimise lõppu oleme valmis Wii Balance Boardiga ühenduse loomiseks ja suhtlemiseks. Me ei seo oma plaati püsivalt oma Pi -ga, nagu enamiku bluetooth -seadmetega. Wii Balance Board ei olnud kunagi mõeldud sidumiseks millegi muu kui Wiiga ning alaline sidumine osutus üsna segaseks väljakutseks. Sidumine toimub iga kord, kui käivitame oma Pythoni skripti.

4. samm: skaala lugemine

On aeg ühendada meie Wii Balance Board meie Raspberry Pi -ga. Teeme seda, muutes Stavros Korokithakise skripti Gr8W8Upd8M8.py versiooni (https://github.com/skorokithakis/gr8w8upd8m8). Selles etapis kasutatav pythoni skript asub siin. Saate selle faili sisu kopeerida oma Raspberry Pi -s loodud faili või kloonida kõik pythoni failid, mida me kogu selle projekti jaoks kasutame. Teeme viimast. Sisestage oma Raspberry Pi terminali järgmised käsud:

$ cd ~ $ git kloon $ git kloon https: github.com/initialstate/smart-scale.git kloonimine "nutikaks" … kaugjuhtimine: objektide loendamine: 14, tehtud. pult: objektide tihendamine: 100% (12/12), valmis. kaugjuhtimispult: kokku 14 (delta 1), taaskasutatud 8 (delta 0), pakendis taaskasutatud 0 Objektide lahtipakkimine: 100% (14/14), valmis. Ühenduvuse kontrollimine… valmis.

„nutika skaala” kloonimine… kaugjuhtimine: objektide loendamine: 14, tehtud. pult: objektide tihendamine: 100% (12/12), valmis. kaugjuhtimispult: kokku 14 (delta 1), taaskasutatud 8 (delta 0), pakendis taaskasutatud 0 Objektide lahtipakkimine: 100% (14/14), valmis. Ühenduvuse kontrollimine… valmis.

Uues nutika skaala kataloogis peaksite nägema kahte pythoni faili - smartscale.py ja wiiboard_test.py.

$ cd nutika skaalaga $ lsREADME.md smartscale.py wiiboard_test.py

Käivitage wiiboard_test.py skript, et testida suhtlust ja võtta kaalunäidud Wii Balance Boardilt:

$ sudo python wiiboard_test.py

Näete järgmist vastust:

Tahvli avastamine … Vajutage tahvlil olevat punast sünkroonimisnuppu

Punase sünkroonimisnupu leidmiseks eemaldage paneeli alt aku kaas. Veenduge, et vajutate nuppu mõne sekundi jooksul pärast skripti käivitamist, vastasel juhul ilmneb ajalõpp. Kui olete edukas, näete midagi sarnast järgmisega:

Leiti Wiiboard aadressilt 00: 23: CC: 2E: E1: 44 Proovin ühendust luua … Ühendati Wiiboardiga aadressil 00: 23: CC: 2E: E1: 44 Wiiboard on ühendatud TAGASI andmete kirjutamise vastuvõtule

Skript wiiboard_test.py võtab reas 10 määratud kaalumõõtmiste arvu ja väljastab keskmise:

# --------- Kasutaja seaded --------- WEIGHT_SAMPLES = 500# ------------------------- --------

Selle numbriga saate mängida, muutes väärtust ja käivitades skripti uuesti, et näha mõõdetud kaalu erinevust ja iga mõõtmise jaoks vajalikku aega. Kaaluge ennast, kaaluge oma koera, kaaluge ükskõik mida ja vaadake, kas mõõtmistel on mõtet. Skripti peatamiseks vajutage CTRL+C.

Olete nüüd oma Wii Balance Boardi edukalt teisendanud Raspberry Pi ühendatud skaalaks. Nüüd teeme sellest laheda skaala.

Samm: riistvara muutmine

Riistvara näpistused
Riistvara näpistused

Nintendo eeldas, et toidate oma Wii Balance Boardi alati nelja AA patareiga ja see ei sisalda vahelduvvooluadapterit. Ainult akutoit oleks ebamugav, kuna me ei saa oma Wii -plaati Bluetoothiga püsivalt paaristada. Peame selle sünkroonima ja seejärel laskma sellel sünkroonida ilma patareisid tühjendamata, et saaksime lihtsalt kaalule astuda ja kaaluda. Õnneks on Wii Balance Board jaoks valmistatud mitmeid kolmanda osapoole adaptereid, mida saame kasutada seinakontaktist pideva toite tagamiseks. Asendage patareid akuga ja ühendage vahelduvvooluadapter seinakontakti.

Wii Balance Boardi ja Raspberry Pi sidumine iga kord, kui meie Pythoni skripti käivitame, tekitab sünkroonimisnupu asukoha tõttu veel ebamugavusi. Sünkroonimisnupp on Wii -plaadi allosas, mis tähendab, et peame selle iga kord sünkroonimiseks ümber pöörama. Selle saame lahendada, tehes väikese hoova, kasutades pliiatsit ja kolme 3/8 tolli vildipatja, nagu ülal näidatud. Laetav akupakk paljastab sünkroonimisnupu tahvli all olevale pinnale. Kleepige pliiats (või midagi sarnast) sünkroonimisnupust tahvli välisküljele. Pange statsionaarse pöörde loomiseks pliiatsi keskele kolm 3/8 tolli vildipatja (või midagi sarnast). Olge ettevaatlik ja ärge paljastage pliiatsit liiga palju laualt, sest te ei soovi, et keegi selle kogemata välja viskaks. Pöörake plaat ümber ja saate vajutada sünkroonimisnuppu, vajutades lihtsalt hooba alla. Natuke häkkimine, kuid tõhus.

Sõltuvalt sellest, kuidas Wii -plaati hoiustate, võiksite tahvli jaladelt eemaldada kummist käepidemed (padjad on lihtsalt kleebised, mille saate eemaldada). Laua jalgadele saab libisemise hõlbustamiseks asetada 3/8 tolli vildipadjad.

6. etapp: algseisund

Esialgne riik
Esialgne riik

Soovime oma kaalu/andmeid voogesitada pilveteenusesse ja lasta sellel teenusel muuta meie andmed toredaks armatuurlauaks, millele pääseme juurde oma sülearvutist või mobiilseadmest. Meie andmed vajavad sihtkohta. Sihtkohana kasutame lähteolekut.

Samm 1: registreeruge esmase riigi kontole Minge aadressile https://iot.app.initialstate.com ja looge uus konto.

Installige algseisundi Pythoni moodul oma Pi -le: käsureal (ärge unustage esmalt oma Pi -sse SSH -d sisestada) käivitage järgmine käsk:

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

Pärast 2. sammu näete ekraanile midagi sarnast järgmise väljundiga:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashParool: ISStreamer Python lihtne paigaldamine! Selle paigaldamiseks võib kuluda paar minutit, haarake kohvi:) Aga ärge unustage tagasi tulla, mul on hiljem küsimusi!

Leiti easy_install: setuptools 1.1.6

Leiti pip: pip 1.5.6 /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip peamine versioon: 1 pip kõrvalversioon: 5 ISStreamerit leiti, värskendatakse… Nõue juba ajakohane: ISStreamer kataloogis /Library/Python/2.7/site-packages Puhastamine … Kas soovite automaatse näidiskripti hankida? [y/N]

(väljund võib olla erinev ja võtta kauem aega, kui te pole kunagi algseisundi Pythoni voogesitusmoodulit varem installinud)

Kui teil palutakse näiteskripti automaatselt hankida, tippige y. See loob testskripti, mida saame käivitada, et tagada andmete voogesitamine algseisundisse meie Pi -st. Teilt küsitakse järgmist:

Kuhu soovite näite salvestada? [vaikimisi:./is_example.py]:

Vaikimisi aktsepteerimiseks võite sisestada kohandatud kohaliku tee või vajutada sisestusklahvi. Teilt küsitakse kasutajanime ja parooli, mille lõite just oma esialgse riigi konto registreerimisel. Sisestage mõlemad ja install lõpeb.

4. samm: juurdepääsuklahvid

Vaatame loodud skripti näidist.

$ nano is_example.py

15. real näete rida, mis algab sõnadega streamer = Streamer (ämber_…. Need read loovad uue andmekogumi nimega „Pythoni voo näide” ja on seotud teie kontoga. See seos juhtub juurdepääsu_võtme =”…” tõttu parameetrit samal real. See pikk tähtede ja numbrite seeria on teie algse riigi konto juurdepääsuvõti. Kui lähete oma veebibrauseris oma algse riigi kontole, klõpsake paremas ülanurgas oma kasutajanime ja seejärel minge jaotisse „Minu seaded”, leiate selle sama juurdepääsuklahvi lehe alaosast jaotise „Voogesituse juurdepääsuvõtmed” alt.

Iga kord, kui loote andmevoo, suunab see juurdepääsuvõti selle andmevoo teie kontole (seega ärge jagage oma võtit kellegagi).

Samm: käivitage näide

Käivitage testskript, et veenduda, kas suudame teie algse oleku kontole andmevoo luua. Käivitage järgmine:

$ python is_example.py

6. samm: kasum

Minge oma veebibrauseris tagasi algse riigi kontole. Teie logiriiuli vasakul küljel oleks pidanud ilmuma uus andmekogum nimega „Python Streami näide” (peate võib -olla lehte värskendama). Saate vaadata plaatide andmeid, et näha neid samu andmeid juhtpaneeli kujul.

Samm 7: Lõplik skript

Eeldades, et käivitasite 2. osas käsu "git kloon https://github.com/InitialState/smart-scale.git", nimetatakse lõplikku skripti, mis kõik kokku paneb, teie ~/smart-scale kataloogis smartscale.py. (https://github.com/InitialState/smart-scale/blob/master/smartscale.py)

Enne selle käivitamist tuleb skriptis määrata mõned sätted. Avage smartscale.py oma lemmiktekstiredaktoris, näiteks nano.

$ cd ~ $ cd nutika skaalaga $ nano smartscale.py

Selle faili ülaosas on jaotis Kasutajaseaded.

# --------- Kasutaja seaded --------- BUCKET_NAME = ": apple: Minu kaaluajalugu" BUCKET_KEY = "weight11" ACCESS_KEY = "PANE OMA ALGUSRIIGI PÄÄSUVÕTME SIIA" METRIC_UNITS = FalseWEIGHT_SAMPLES = 500THROWAWAY_SAMPLES = 100WEIGHT_HISTORY = 7# ---------------------------------

  • BUCKET_NAME määrab algse oleku andmete kogumi nime, kuhu teie kaalu/andmeid voogesitatakse. Seda saab siin seadistada ja hiljem kasutajaliideses muuta.
  • BUCKET_KEY on unikaalne ämbri identifikaator, mis määrab, kuhu teie andmed voogesitavad. Kui soovite luua erineva ämbri/armatuurlaua, kasutage siin teistsugust identifikaatorit (*märkus, kui kopi arhiveerite, ei saa te selle võtit uues ämbris uuesti kasutada).
  • ACCESS_KEY on teie algse oleku konto võti. Kui te ei sisesta oma väljale ACCESS_KEY, ei kuvata teie andmeid teie kontol.
  • METRIC_UNITS võimaldab teil määrata oma kaalu kilogrammides, kui see on True või lb, kui see on vale.
  • WEIGHT_SAMPLES määrab, kui palju mõõtmisi teie tegeliku kaalu saamiseks võetakse ja keskmistatakse. 500 mõõtmist võtab umbes 4-5 sekundit ja annab üsna täpsed tulemused.
  • THROWAWAY_SAMPLES määrab proovide arvu, mis visatakse ära, kui esimest korda lauale astute. See hoiab ära esialgsete sammude ja nihutamise lõpliku mõõtmise mahajätmise. See peaks alati olema palju väiksem kui WEIGHT_SAMPLES.
  • WEIGHT_HISTORY määrab enne täiendava värskenduse saatmist tehtud mõõtmiste arvu. Ajalugu arvestatakse ainult kahe või enama tunni kaugusel tehtud mõõtmistega.

Kui olete selles jaotises iga parameetri määranud ja muudatused salvestanud, olete valmis käivitama lõpliku skripti. Enne skripti käivitamist vaatame läbi, mida see kavatseb teha.

  • Skripti alguses palutakse teil siduda oma Wii Balance Board oma Raspberry Pi -ga. Kasutage kangi, mille lõikasite kokku jaos 2: Riistvara muutmine, et vajutada sünkroonimisnuppu, kui seda küsitakse.
  • Kui skript töötab, astuge oma kaalu mõõtmiseks Wii -lauale. 4-5 sekundi pärast saadetakse teie kaal automaatselt teie algse riigi kontole.
  • Pärast SMS -märguannete seadistamist (paari sammuga) saate varsti pärast mõõtmist tekstsõnumi.

Maagia käivitamiseks käivitage skript.

$ sudo python smartscale.py

8. samm: armatuurlaud

Armatuurlaud
Armatuurlaud

Minge oma algse oleku kontole ja klõpsake uuele andmete kogumile, mille nimi vastab parameetrile BUCKET_NAME (st Minu kaaluajalugu). Oma kaaluajaloo juhtpaneeli vaatamiseks klõpsake plaatidel. Kui näete esmakordselt andmeid plaatides, peaksite nägema kolme paani - värskendus, kaalukuupäev ja kaal (nael). Saate juhtpaneeli kohandada, muutes plaatide suurust ja teisaldades, muutes vaadetüüpe ja isegi lisades paane. See armatuurlaud võimaldab teil lühidalt vaadata oma kehakaalu ajalugu. See on mobiilisõbralik ja saate seda isegi teiste inimestega jagada.

Saate oma juhtpaneelile lisada taustapildi, et anda oma andmetele rohkem isikupära ja konteksti.

Samm: SMS

SMS
SMS

Loome SMS -märguande iga kord, kui kaal kaalub. Veenduge, et teie kaaluajaloo andmete kogum oleks laaditud.

  1. Klõpsake andmete kogumi aknas kopa sätetel (selle nime all).
  2. Klõpsake vahekaarti Päästikud.
  3. Valige käivitamiseks andmevoog. Rippmenüüst saate valida olemasolevate voogude hulgast, kui andmekogum on laaditud, või saate voo nime/võtme käsitsi sisestada. Ülaltoodud ekraanipildi näites on valitud "Värskenda".
  4. Valige tingimuslik operaator, antud juhul 'vaste'.
  5. Valige käivitusväärtus, mis käivitab toimingu (sisestage soovitud väärtus käsitsi). Sisestage lb, kui te ei kasuta meeterühikuid, või kg, kui kasutate meetermõõdustikku. Kui voog "Värskendus" sisaldab "lb" (või "kg"), saate tekstisõnumi märguande.
  6. Käivituse tingimuse lisamiseks klõpsake nuppu „+”.
  7. Sisestage väljale „Kontaktid teavitamiseks” oma e -posti aadress või telefoninumber.
  8. Kontaktandmete lisamiseks klõpsake nuppu „+”.
  9. Seadistamise lõpuleviimiseks sisestage kinnituskood, kui lisate uue telefoninumbri.
  10. Põhiekraanile naasmiseks klõpsake allosas nuppu Valmis. Teie päästik on nüüd aktiivne ja käivitub, kui tingimus on täidetud.

Kui seadistamine on lõpule viidud, saate iga kord, kui kaalute, SMS -i, mis sisaldab teie kaalu, kui palju teie kaal pärast viimast mõõtmist on muutunud, ja juhusliku nalja / solvangu / komplimendi.

10. samm: järeldus

Teil on piiramatu valik võimalusi, mis põhinevad sellel, mida olete nüüd loonud. Siin on mõned ideed selle projekti jaoks:

  • Saate oma isikliku tervise juhtpaneeli loomiseks voogesitada andmeid teistest allikatest samasse kaaluajaloo armatuurlauale (teave).
  • Nalju saate muuta sõnumisWeighFirst, messageWeighLess, messageWeighMore ja messageWeighSame vastavalt oma huumorimeelele.
  • Saate muuta naljad praktilisteks sõnumiteks või need eemaldada ja kasutada skaalakoodi, et jälgida oma kehakaalu kõrval veel midagi olulist.
  • Sama lähenemisviisi abil saate luua oma nutika õlle-/veinikülmiku. Selle jaoks on juba tehtud üks vinge õpetus.

Häkkige ja andke mulle teada, kas see õpetus inspireerib teid midagi hämmastavat looma.

Soovitan: