Orodha ya maudhui:

Kiashiria cha Tukio la RPi-Zero IoT / Taa ya Rangi: Hatua 6 (na Picha)
Kiashiria cha Tukio la RPi-Zero IoT / Taa ya Rangi: Hatua 6 (na Picha)

Video: Kiashiria cha Tukio la RPi-Zero IoT / Taa ya Rangi: Hatua 6 (na Picha)

Video: Kiashiria cha Tukio la RPi-Zero IoT / Taa ya Rangi: Hatua 6 (na Picha)
Video: Шок!!! ДУШИ МЕРТВЕЦОВ В ЗАТОЧЕНИИ У ДЕМОНА В ЭТОМ СТРАШНОМ ДОМЕ / HERE ARE THE SOULS OF THE DEAD 2024, Novemba
Anonim
Kiashiria cha Tukio la RPi-Zero IoT / Taa ya Rangi
Kiashiria cha Tukio la RPi-Zero IoT / Taa ya Rangi
Kiashiria cha Tukio la RPi-Zero IoT / Taa ya Rangi
Kiashiria cha Tukio la RPi-Zero IoT / Taa ya Rangi
Kiashiria cha Tukio la RPi-Zero IoT / Taa ya Rangi
Kiashiria cha Tukio la RPi-Zero IoT / Taa ya Rangi

Hakuna mtawala mdogo wa ziada, na hakuna moduli ya kuongeza HAT inayohitajika. RPi-Zero inafanya yote. Bora bado utumie RPi-Zero W!

Matumizi ya mfano: Kiashiria cha hali ya Huduma ya Wavuti (k.v. DowJonesIndex), Kiashiria cha hali ya tukio la Kisiasa au Michezo, mwangaza wa mhemko, fuatilia sensa, unaipa jina. Tazama video katika hatua ya 6.

Raspberry-Pi ina laini moja tu ya vifaa vya PWM. Mradi huu unahitaji laini 3 za PWM, kwa hivyo nilitumia maktaba ya PWM 'c' inayoendeshwa na programu (https://wiringpi.com/reference/software-pwm-library/), ambayo inapaswa kuwa tayari imewekwa.

Nilivunja usindikaji kuwa michakato 2. Moja, usumbufu unaendeshwa, ukibadilisha laini za kudhibiti kwa LED inahitajika, kupata maagizo yake ya kuandamana kutoka kwa mkondo wake wa 'stdin'. Nyingine ni seva inayoendeshwa na nodeJS inayotumia tundu IO. Hii ni kuzuia mambo kama kuzunguka kwa mwangaza wakati wa kuhakikisha ujibu. Mchanganyiko kawaida hutumia chini ya 5% ya CPU. Wakati wa sasisho za rangi zinazoendelea (kupitia slider & / au wateja wengi) inaweza kutumia kwa urahisi zaidi ya 50% (haswa wakati pia unatumia kivinjari kwenye Pi-Zero GUI). Kumbuka kuwa mabadiliko yanapoingia, arifa za sasisho huenda kwa wateja wote wa tundu wazi.

Hatua ya 1: Nini Utahitaji

Nini Utahitaji
Nini Utahitaji
Nini Utahitaji
Nini Utahitaji
  • Kadi ndogo ya SD ya Pi-Zero, GB 8 inapendekezwa. Na Raspbian-Linux au NOOBS
  • RGB Led (nilitumia hii:
  • Resisters 3 (thamani kulingana na taka ya sasa & / au mwangaza unaohitajika, 1/8 watt)
  • WiFi, dongle ya USB (kwa mfano.
  • kesi (kwa mfano ndogo: https://www.ebay.com/itm/131583579374 na nafasi zaidi:
  • diffuser (angalia mifano kwenye picha)
  • Cables na adapta kama inahitajika.

Kwa hiari, kulingana na jinsi unataka kuunganisha vifaa

  • kichwa (https://www.ebay.com/itm/14186077616)
  • wanarukaji (https://www.ebay.com/itm/262235387520)
  • adapta ndogo ya USB ya pembe ndogo (Blue USB 2.0 OTG R)
  • mini USB hub, hutumika tu wakati wa usanidi

Hatua ya 2: Usanidi wa Pi-Zero, na Jitayarishe kwa Maendeleo

Fuata usanidi huu wa kwanza wa PiZero yako, kuifanya iwe tayari kwa maendeleo…

Mara tu unapokuwa na kadi ya MicroSD na usanidi wa NOOBS basi:

Chomeka kadi ya MicroSD ndani. Imeambatanishwa na Kitovu cha USB cha nguvu kidogo na kifaa cha Wifi, kibodi na panya (Unaweza kutumia panya isiyo na waya na / au kibodi, kwa vyovyote itakavyoweza, lakini sio uwezekano, inahitaji nguvu ya nje kwa kitovu). Nilitumia adapta na kitovu ambacho nilikuwa nacho tayari.

Sasa ambatisha Monitor na adapta ya umeme ya microUSB na itaanza. Endelea na kumaliza maagizo juu ya kuanzisha Raspbian, Debian Linux, kama inavyoonekana kwenye kiunga cha kusanidi noobs hapo juu.

Kwa kuongezea, nilikuwa na azimio kidogo sana. Kwa hivyo niliongeza mistari hii kwenye / boot/config.txt

Disable_overscan = 1

kikundi cha hdmi = 2 hdmi_mode = 58

Hdmi_mode = 58 inafanya kazi kwa mfuatiliaji wangu, yako inaweza kuhitaji kitu kingine.

rejea: fanya-rasipiberi-pi-utumie-azimio-kamili-ufuatiliaji na

raspberrypi.org/documentation/configuration/config-txt.md

Baada ya kufungua tena Pi-Zero huenda kwenye kiolesura cha GUI.

Ili kutumia saizi kamili ya kadi yangu ya MicroSD nilitumia raspi-config # 1 'Panua mfumo wa mfumo.' Kutoka kwa laini ya amri, kwenye dirisha la terminal, ingiza 'sudo raspi-config' Rejea kwa: nyaraka / usanidi / raspi -config.md

Pia nilibadilisha mipangilio hii chini ya # 5 'Chaguzi za Kimataifa'

  • Eneo: en_US. UTF-8 UTF-8
  • Saa za eneo: Amerika… Los_Angeles
  • Mpangilio wa Kibodi: PC ya kawaida ya ufunguo 105 (Intl)… Kiingereza (Kimarekani)

Kwangu kiwango cha kibodi cha Great Britain (ambacho Raspbian huja kilichowekwa awali) kilikuwa kikifanya mabadiliko yangu kuwa kazi ya kweli.

Badilisha mipangilio hii kama inahitajika, ipasavyo kwako. Kumbuka kuwa unahitaji kutumia vitufe vya mshale na kitufe cha kichupo ili kuvinjari katika 'raspi-config'; na baada ya uteuzi inaweza kuwa polepole sana kujibu.

Sikuona shida kuungana na mtandao na dongle ya WiFi-USB (nilitumia 2 tofauti). Ilinibidi tu niingie nenosiri langu la ufikiaji la WiFi kwa kutumia kuvuta chini kulia kwa GUI. Mara tu nilipofanya hivi ingeunganisha kiatomati baada ya kuwasha tena / nguvu.

Sasa nilikuwa tayari kwa maendeleo ya jumla.

Ili kufikia hatua hii unaweza kuchukua njia nyingi. Hadi wakati huu, sijatoa maelezo mazuri hapa lakini kuna njia nyingi na usanidi umeelezewa kwa undani zaidi kwenye wavuti. Ikijumuisha moja ya usanidi usio na kichwa ambapo utatumia dirisha la kijijini la ssh kwenye kompyuta yako ya kibinafsi kufanya hatua za maendeleo zitakazopewa katika mafundisho haya.

Hatua ya 3: Mazingira ya Maendeleo na Zana

Mazingira ya Maendeleo na Zana
Mazingira ya Maendeleo na Zana
Mazingira ya Maendeleo na Zana
Mazingira ya Maendeleo na Zana

Kwa usanidi wa usanidi wa mfumo na programu niliyotengeneza kwa mradi huo, nilifanya R & D kwenye Raspberry Pi-2; kwa kuwa ina CPU ya msingi-msingi inayofanya uvinjari na ukuzaji wa nambari, na windows nyingi, haraka sana. Kwa kweli unaweza kutumia mfano wowote Raspberry-Pi kutambua mradi huu.

Kuanzisha Node.js (msaada wa I / O wa upande wa seva ya JavaScripting msaada) nilifanya yafuatayo…

Sudo apt-pata sasisho

Sudo apt-get kufunga nodejs npm

Kuongeza vifurushi hivi vya nodeJS (npm ni Nodejs Package Manager)

npm kufunga wazi

npm kufunga socket.io

Marejeo:

www.npmjs.com/package/express Haraka, mfumo mdogo wa wavuti

www.npmjs.com/package/socket.io Socket. IO inawezesha mawasiliano ya msingi wa tukio la pande zote mbili

Hatua ya 4: Vifaa

Vifaa
Vifaa
Vifaa
Vifaa
Vifaa
Vifaa
Vifaa
Vifaa

Thamani za resister zinazotumiwa zote ni tofauti, kwani kushuka kwa voltage na ufanisi hutofautiana kwa sehemu zote tatu za rangi za LED. Viwango vya pato la juu la GPIO vyote vilikuwa takriban volts 3.2. Kila sehemu ya LED ilijaribiwa kuhakikisha inachukua chini ya 20ma upeo na karibu 40ma zote kwa pamoja (<50ma max jumla inaruhusiwa), ambayo PiZero inaweza kushughulikia kwa urahisi. Nilipata mwangaza mwingi wa pato kama vile ningeweza, kuendesha moja kwa moja LED; ambayo ni mengi kwa mahitaji yangu. Kuendesha mikondo ya juu, kwa pato kali zaidi, transistors za kati zinaweza kutumika na anode ya kawaida ya LED na anode yake iliyounganishwa na laini ya 5v. ingekuwa chaguo bora kwangu.

Angalia nilitumia kichwa na pini za kiume, na kushikamana na miguu ya LED na kuruka kwa F-F. Hii iliweka chini urefu wa jumla. Niliuza resisters katikati ya wanarukaji. Kutumia bodi ya mzunguko au bodi isiyo na solder, pamoja na utumiaji wa pembe ndogo ya USB-ndogo kwa adapta ya USB kwa dongle ya WiFi, ilifanya mkutano wa mwisho uwe sawa.

Kwa usambazaji, ninapendekeza mpira wa ping-pong (ni rahisi kuchimba shimo kubwa tu la kutosha kuingiza LED yako ya 5-8-10 mm). Au kata sehemu ya juu ya balbu ya taa ya LED (moja ambayo hutumia utaftaji wa Plastiki). Kwa alama hii laini, na laini kali, ambapo unataka kukata, na utumie zana kama Dremel iliyo na kiambatisho nyembamba kilichokatwa. Ikiwa ungependa, jar nzuri ya glasi ndogo iliyokatwa au glasi ya kunywa inaweza kutumika. Mara tu unapokuwa umekaa kwenye kifaa kimoja, gundi chini juu ya kesi.

Kwa maandamano napenda kutumia benki ndogo ya nguvu ya Li iliyowekwa ndani ya kesi hiyo. Kitengo hiki kinaonekana kuvutia zaidi bila waya. Kwa kweli, itakuwa na wakati mdogo wa kufanya kazi katika usanidi huo. Kwa kuendelea kufanya operesheni ya kawaida mimi hutumia tu adapta ndogo ya ukuta ya USB.

Hatua ya 5: Programu ya Mradi

Programu ya Mradi
Programu ya Mradi

Nilitumia programu mbili, mchakato wa Node.

Hapa ndivyo nilivyofanya: Lakini sio lazima, kwani nimetoa faili ya tar-gzip iliyo na faili ya mti inayosababishwa.

Usanidi wa upande wa seva ya NodeJS:

cd ~

mkdir node_rgb cd node_rgb mkdir hadharani

weka 'index.html' na 'style.css' kwenye '~ / node_rgb / public' directoryput 'rgbDriver.c' na 'rgb_main.js' kwenye saraka ya '~ / node_rgb'

Kusanya / jenga mchakato wa c 'rgbDriver':

cd ~ / node_rgb

cc -o rgbDereva rgbDriver.c -lwiringPi -lpthread

Kupakua na kupanua usawa

Ili kupakua node_rgb.tgz (hapa chini) kwa Pi-Zero yako kwenye saraka yako ya nyumbani (~ pi) unaweza kufanya moja ya yafuatayo:

  1. Pakua kutoka kwa kivinjari kwenye PI-Zero ya GUIMU Peleka faili kwa ~ pi /
  2. Katika dirisha la terminal lililounganishwa na wewe Pi-Zero: cd ~ piwget

    mv FZBF9BDIL6VBHKF.tgz rgb_node.tgz

  3. Pakua kutoka kwa kivinjari kwenye kompyuta yako ya mezani Tumia WinSCP kunakili kwa saraka ya ~ pi kwenye Pi-Zero

Baada ya kufanya # 1 2 au 3 hapo juu…

cd ~

tar -xzvf node_rgb.tgz node_rgb… node_rgb ├── umma ├── Dow_Jones_Index.html ├── index.html └── └── style.css ├── rgbDriver ├── rgbDriver.c ├── rgb_main. js ├── kuanza_rgb ├── kuua_rgb └── track_dji

Inayoweza kutekelezwa (kutoka hapo juu) 'rgbDriver' inaweza kutumika bila utaratibu wa kiolesura cha Node.js.

Ili kudhibitisha kuwa dereva huyu na vifaa vinafanya kazi, lisha seti za nambari tatu (za 0-255), zilizotengwa na nafasi, kwa dereva. Kama 'echo 255 0 0 |./rgbDriver 'ya nyekundu au' echo 0 255 0 |./rgbDriver 'kwa kijani. Kumbuka kuwa "./" inaiambia OS ipate mpango wetu 'rgbDriver' katika saraka ya sasa. Unapotoa ^ c (cntl-c) kusimamisha dereva aliyeongozwa anaweza kubaki au anaweza kubaki. Vinginevyo, unaweza kulisha kwa usawa maadili yake. Jaribu kuandika, kutoka kwa mstari wa amri, mistari hii moja baada ya nyingine na uangalie LED.

./rgbDereva

0 255 0 100 0 100 255 255 0… nk… ^ c

Hakikisha hauna 2 ya michakato hii inayofanya kazi sawa.

Kuzindua programu kamili ya programu, pamoja na seva ya Node.js tumia amri hii:

node ya sudo rgb_main.js

Kisha tumia cntl-c wakati unataka kusimamisha seva ya Node.js. Uzindue na

node ya sudo rgb_main.js &

kuiendesha kwenye ardhi ya nyuma, lakini basi itabidi utumie amri ya 'sudo kuua -9 pid' kuizuia. Ikiwa amri hii inaonekana kuwa ngeni kwako, basi kagua matokeo ya amri hizi: 'mtu uue' & 'man sudo'.

Tumia kivinjari, kwenye desktop yako, kompyuta kibao au simu, ambayo imeunganishwa na mtandao wako wa karibu. Nenda kwa https:// raspberrypi: 8080 / au ikiwa hiyo haifanyi kazi tumia anwani ya ip ya kifaa (iliyopatikana kutoka cmd 'ifconfig') kitu kama 192.168.1.15 pamoja na maelezo ya bandari: 8080 au ikiwa unatumia Pi-Zero's GUI: localhost: 8080 itafanya kazi.

Tumia vitelezi vya RGB, kwenye ukurasa unaokuja, na angalia taa ya RGB-LED ifuate.

Amri zingine zinazosaidia Kumbuka kuwa ukiishia kutumia 'rgbDriver' zaidi ya moja kwa wakati mmoja kuna uwezekano wa kupata tabia isiyotabirika. Ukijaribu na kukimbia nakala ya pili ya rgb_main.js itakua na makosa.

Amri hii itaorodhesha michakato yote inayohusiana:

ps aux | grep rgb

Amri hii itaua michakato yote ya nodeJS, pamoja na michakato ya 'rgbDriver' ya watoto:

Sudo ps aux | node ya grep. * rgb | awk '{chapa "sudo kuua -9" $ 2}' | sh

Simama peke yako operesheni

Kuwa na Pi-Zero kuanzisha programu ya seva ya Node.js wakati inakua… kwa kutumia mhariri wako uwapendao (kwa mfano nano ~ /.bash_profile), andika katika mistari ifuatayo na uhifadhi kwa ~ /.bash_profile

node_rgb ya cd

node ya sudo rgb_main.js &

Kuepuka kupata ujumbe wa makosa ya usumbufu wakati wa kufungua dirisha la terminal tumia usimbuaji wa masharti kama hati ya ganda kwenye faili ya 'start_rgb'

Wakati Pi-Zero inapoingia ndani, bila kibodi, panya, au mfuatiliaji; Interface ya Mtumiaji wa Picha itachukua muda mdogo wa CPU, kwani hakutakuwa na mwingiliano wa mtumiaji. Silemaza uanzishaji wa GUI kiotomatiki, kwani Pi-Zero ina rasilimali zaidi ya inahitajika, katika kesi hii; na napenda kuweza kuunganisha kebo chache na kuitumia, wakati wowote katika siku zijazo. Ingawa, hii sio lazima kwani unaweza kutumia terminal ya SSH ya mbali (k. PuTTY) kufanya matengenezo yoyote yanayohitajika.

Kutumia kama mfuatiliaji wa Tukio

Niliunda ukurasa wa wavuti wa kufuatilia mabadiliko ya kila siku katika Kielelezo cha Dow Jones. Chanzo chake kinaweza kutumiwa kama mwongozo wa ukurasa wako mwenyewe ambao hutumia data ya wavuti na huendesha kiashiria chako cha Pi-Zero ipasavyo. Ukurasa huu unapata data yake (json) kutoka kwa huduma ya wavuti ya Google. Kuna aina nyingi za huduma za wavuti, kwa hivyo itabidi utafute ile ambayo unataka kutumia kuamua nambari ya JavaScript kuipata.

Ikiwa ungependa kutumia kifaa chako, kama mimi, kama kujitolea, kusimama peke yangu, Kiashiria cha mabadiliko ya Dow Index ongeza mistari hii hadi mwisho wa faili ya ~ /.bash_profile, au kama inavyotakiwa SSH na utoe laini ya pili ya amri. Ikiwa baadaye unataka kutumia udhibiti wa kijijini 'kuua -9' mchakato wa kivinjari cha epiphany.

lala 20

kivinjari cha epiphany -display =: 0.0 localhost: 8080 / Dow_Jones_Index.html &

Kiashiria kitaangazia kijivu chepesi kilichopewa thamani ya 0. Inakuwa kijani kibichi zaidi na zaidi na maadili ya juu. Ni Kijani safi kabisa kwa karibu 250. Maadili ya juu bado husababisha mwangaza mdogo, hadi mwangaza wa kina zaidi ya 500. Kwa thamani hasi (matone ya kila siku katika Dow) hufanya sawa, lakini kwa Nyekundu.

Sasisha Mei 2018

Nimeunda ukurasa mpya wa wavuti (SolarStorm_devCon.html, iliyoambatanishwa kama faili ya.txt, kwa sababu ya faili ya.html isiyopakia) ambayo inakusanya maelezo ya dhoruba ya GeoMagnetic (ambayo inaweza kutabiri juu ya CME, EMP) na hutumia hiyo kuwasilisha rangi kiwango kinachoonyesha aina ya Geo-Storm 'DevCon' Index. kuonyesha uwezekano wa janga kwa sababu ya mpigo wa Umeme (EMP) unaotokana na hali ya hewa ya anga, labda miale ya jua au kutokwa kwa misa ya Coronal (CME). Itumie kama vile ungetumia "Dow_Jones_Index.html".

Hatua ya 6: Udhibiti wa Ukurasa wa Wavuti wa mbali

Image
Image

Kwa wakati huu unaweza kudhibiti Taa yako ya rangi ya IOT kutoka mahali popote kwenye mtandao wako wa ndani. Jinsi ya kuifanya ionekane kwenye wavuti ya umma sio sehemu ya mafunzo haya. Ikiwa utaanzisha IP ya umma kwa kifaa chako, basi utahitaji tumia IP hiyo kwa amri ya tundu wazi kwenye JavaScript ya kurasa zako (km ~ / node_rgb / public / index.html)

Ninapanga kutumia kifaa changu cha Pi-Zero IOT kama kiashiria cha rangi ya wakati halisi kwa mabadiliko ya siku katika Kiashiria cha Dow Jones. Niliunda ukurasa ambao hufanya hivyo, ambayo hupata data ya json kutoka google.com/finance. Niliunda zaidi kurasa kadhaa za wavuti kuonyesha matumizi anuwai ya kifaa hiki kidogo cha IOT. Badala ya kuweka PiZero yangu kwenye wavuti ya umma, mimi zilishikilia kurasa kwenye seva yangu ya wavuti inayokabiliwa na umma (kwa sasa @ 71.84.135.81 aka: https://raspi.ddns01.com/ wakati Seva yangu ya Jina la Domain Dynamic inafanya kazi), ambayo inaendesha toleo la asili B Raspberry-Pi.

Katika nambari kwenye kurasa zangu za mbali nilifungua viunganisho vya tundu kwa 192.168.1.41:8080Nilikuwa nimerekebisha ip-Zero ip yangu kuwa 192.168.1.41. Kufanya vivyo hivyo kufuata maagizo ya kuweka-rasipiberi-pi-na-wifi-na-tuli-ip chini ya kichwa: Anwani ya IP Tuli. Kwa hivyo ukiweka PiZero yako kuwa 192.168.1.41 kwenye mtandao wako, kurasa hizi, zilizofunguliwa kutoka kwa wavuti yangu, zitawasiliana na kifaa chako, kwani unganisho hufanywa kutoka upande wa mteja.

Hapa kuna zile kurasa ambazo nilikuwa nikipima na kutumia kifaa changu cha taa cha Pi-Zero IOT. Ukileta kurasa hizi (https://71.84.135.81/iot/rgbLamp/ aka https://raspi.ddns01.com/iot/rgbLamp/ au kurasa zozote zilizowekwa kwenye ukurasa huo) upande wa mteja JavaScript endesha taa yako iliyoundwa ya IOT (kwa kuwa inaendesha kwa url hii "192.168.1.41:8080") Ukipenda unaweza kunakili chanzo cha kurasa zozote zile na urekebishe upendavyo.

Ukiwa na ukurasa wa kwanza unaweza kuweka kifaa chako kwa rangi yoyote. Taa ya LED na rangi unayoona kwenye ukurasa wa wavuti itafuatilia vizuri. Thamani za mpinzani zinazotumiwa zinaweza kubadilishwa (pamoja na mfuatiliaji) ili kuzifananisha zaidi. Nilitumia muda mfupi bila kuhakikisha kuwa zinafanana. Ukurasa huu utasasisha rangi yake wakati wowote mtu mwingine anapobadilisha rangi na seva hutuma ujumbe wa habari uliyosasishwa.

Ukurasa mmoja ni kifungo rahisi kinachodhibitiwa Mwanga wa Trafiki.

Kuna ukurasa ulioundwa kufuatilia mashindano ya michezo (k.v mpira wa miguu, mpira wa magongo, baseball), uchaguzi, au hata ilichukuliwa kwa mtoaji pesa au kiashiria cha mtindo wa kiwango cha tahadhari cha DEFCON. Alama (au kura za kujitolea za uchaguzi) zinaweza kupatikana kiatomati kutoka kwa huduma ya wavuti au kufutwa kwenye ukurasa mwingine wa wavuti. Sina malisho ya kiatomati inayoendesha ukurasa wangu wa Mashindano_demo. Mtu aliye na ujuzi sahihi anaweza kuongeza dereva wa umeme kutumia taa za mafuriko za nguvu za LED na kuoga chumba (au bar ya michezo) na rangi ya timu wanapokuwa mbele. Kwa bahati mbaya nimechelewa sana na hii inaweza kufundishwa kwa vyama vya bakuli vya mwaka huu, lakini kwa wakati wa uchaguzi wa 2016.

Halafu kuna ukurasa sawa na ile nitakayotumia kugeuza kifaa changu kuwa kiashiria cha ufuatiliaji wa Dow Jones. Kitelezi na vifungo viko tu kwenye ukurasa wa onyesho la DJI kwa madhumuni ya maandamano. Katika chanzo cha ukurasa huu kuna nambari niliyotengeneza ili kupaka rangi tena picha iliyovuviwa ya skrini-kijani; na maoni ya kutosha ambayo unaweza pia kupata kuwa muhimu.

Kwanza tu ya kurasa hizi 4 (pamoja na ukurasa wa Pi-Zero msingi index.html) husikiliza ujumbe wa sasisho la seva, na uburudishe ipasavyo. Wengine wote hutuma tu kwa seva.

Ilipendekeza: