Kysymys:
Strategiat arvaamattoman virtalähteen käsittelemiseksi
pufferfish
2012-11-23 02:20:46 UTC
view on stackexchange narkive permalink

Haluan asentaa Pi autooni ja käyttää sitä GPS-tietojen tallentamiseen. Mitä strategioita (ohjelmassani) voin noudattaa minimoidaksesi ongelmat, jotka johtuvat virran keskeytymisestä SD-kortille kirjoitettaessa?

Toistaiseksi voin ajatella:

  • tietojen tallentaminen ja vain ajoittainen kirjoittaminen
  • kirjoittaminen vain, kun ajoneuvon nopeus ei ole lähellä nollaa (ts. noin sammuttaa sytytys)
  • Kirjoita temp-tiedostoon, jonka olen varannut vioittua, ja jatka sitten sitä silloin tällöin

Mietin, onko

  • Tiedostojärjestelmätilat, jotka voin pysyä suurimman osan ajasta ja selviäisi äkillisestä sammutuksesta
  • Tapoja palauttaa virta virrasta samalla kun kirjoitat luotettavammin

Tietysti (mielestäni) jonkin verran tietojen menetystä on väistämätöntä, mutta miten voin minimoida sen?

Viisi vastused:
Andrew
2012-11-23 18:15:38 UTC
view on stackexchange narkive permalink

Tarjouspuolella on vähintään kaksi vaihtoehtoa:

  • Monissa autoissa on nyt lisävarustepistoke, jota ei kytketä sytytyksellä ... jos autollasi on sellainen, käytä sitä (mutta varo irrota pistoke pistorasiasta, kun sitä ei käytetä!), mikä antaa sinulle luotettavan virransyötön (vaikka se saattaa pudota moottorin kammen aikana)
  • Jos suunnittelet omaa virtamuunninta, lisää tarpeeksi iso säiliökondensaattori varmistaaksesi, että tarjonta pysyy riittävän kauan ajoneuvon sammutuksen jälkeen ... voit myös havaita ajoneuvon sammumisen (ajoneuvon tarjonta laskee kynnyksen alapuolelle) GPIO: lle, jotta et aloita kirjoittamista virran katkaisun jälkeen
Sai
2012-11-23 02:53:16 UTC
view on stackexchange narkive permalink

Windows Embeddedissä on konsepti nimeltä Enhanced Write Filters. He käyttävät sitä välttääkseen tietojen menetyksen vioittumisen virran menetyksen tms. Vuoksi. Käyttöjärjestelmä kirjoittaa sen RAM-kerrokseen. Tiedostojärjestelmä ei ole vioittunut, kun virransyöttö menetetään, ja voit "sitoa" tiedot muistiin vain halutessasi.

Vastaavasti Linux-käyttöjärjestelmissä on tekniikka, joka pitää tiedostojärjestelmä ehjä ja voit kirjoittaa SD-kortille vain, jos haluat. Tässä kysymyksessä selitetään, kuinka rakentaa vain luku -tiedostojärjestelmä, ja voit tallentaa muutokset vain, jos haluat. Tämä tarkoittaa, että käytät vaihtoehtoa 3: "Kirjoita temp-tiedostoon ja jatka tarvittaessa". Kysymys viittaa myös artikkeliin "Kuinka luoda vain luku -tiedostojärjestelmä". Ehkä se voi olla ensimmäinen paikka aloittaa!

Onko kukaan yrittänyt mennä tämän PI-artikkelin kanssa? Näyttää siltä, ​​että se vaatii paljon sopeutumista
Joppe
2012-11-29 20:51:18 UTC
view on stackexchange narkive permalink

Kaikki riippuu siitä, kuinka paljon tietoja olet valmis menettämään. Jos sinulla ei ole varaa irrottaa mitään, sinun on löydettävä tapa liittää PI suoraan akkuun (tietenkin sulakkeella), jotta sitä ei sammuteta, kun sytytys sammutetaan.

Jälleen kerran tyypillisessä auton akussa olisi noin 80 Ah ja PI kuluttaa 500-1200 mA (riippuen siitä, onko kyseessä malli A tai B), joten se todennäköisesti tyhjentää auton akun 2–6 päivän sisällä, joten en usko, että tämä on mielestäsi hyväksyttävää.

Jos sinulla ei vielä ole varaa hukata tietoja, voit suunnitella jonkinlaisen mukautetun laitteiston, jossa voit hallita virtalähde PI: ltä ja valvoo myös sytytyksen tilaa. Jos sytytysvirta kytketään pois päältä, huuhtele tiedot SD-kortille, sammutat käyttöjärjestelmän ja sammutat sitten virtalähteen viimeisenä vaiheena. Virtalähde on myös kytkettävä päälle, kun sytytys kytketään päälle, jotta PI käynnistyy uudelleen. Tämä on kaikki toteutettavissa oleva, mutta melko iso projekti.

Jos kuitenkin pidät hyväksyttävänä, että joitain tietoja menetetään sammutuksen yhteydessä, suunnittelen daemonin, joka tallentaa GPS-tiedot säännöllisesti tiedostoon tällä tavalla että se suorittaa fsync-puhelun jokaisen kirjoituksen jälkeen (tietojen huuhtelemiseksi SD-kortille). Jos teet tämän muutaman sekunnin välein (ja käytät myös oletusarvoista päivitystiedosto ext4-tiedostojärjestelmää), se tarkoittaa todennäköisesti, että menetät vain muutaman sekunnin jokaisella virrankatkaisulla.

Muista, että Raspbian (ainakin asennukseni) ei saanut juuritiedostojärjestelmän fsck: tä käynnistyshetkellä. Sinun on tehtävä seuraava, jotta se otetaan käyttöön jokaisessa asennuksessa:

  tune2fs -c 1 / dev / mmcblk0p2  

Sinun on myös vaihdettava viimeinen rivi Jotta juuritiedostojärjestelmä / etc / fstab sisältää 1: n, kuten tämä:

  / dev / mmcblk0p2 / ext4 oletusarvot, noatime, pühend = 120 0 1 Muuta tätä  

Jos et tee tätä, juuritiedostojärjestelmääsi ei välttämättä voi käynnistää ajoittain, joten jos käytät päätetöntä järjestelmää, jossa katkaiset virran suorittamatta ohjattua sammutusta, se on ehdottoman välttämätöntä. / p>

mirams
2014-01-14 04:21:35 UTC
view on stackexchange narkive permalink

Tämä näyttää hyvältä lisäykseltä, joka puhdistaa auton sähkölaitteet hienosti ja käsittelee auton sytytyshäviön, toimittaa pi: lle virtaa sillä välin ja lähettää signaalin autolle. GPIO-nasta, joka käskee sen sammuttamaan pi turvallisesti.

Valitettavasti näyttää olevan tällä hetkellä loppumassa, mutta voit tehdä ennakkotilauksen.

XTL
2012-11-27 13:56:02 UTC
view on stackexchange narkive permalink

Jos joudut käsittelemään virran menettämistä usein, tiedostojärjestelmän ja käynnistystapojen huolellinen valinta (vain luku, päiväkirja, valvomaton fsck, nopea palautus ...) voi auttaa varmistamaan, että järjestelmä toimii luotettavasti.

Sovelluspuolella tiettyjen tietokantojen ( sqlite?) Käyttämisen pitäisi taata, että tietoihin kirjoitetaan kokonaan tai ei kirjoitustilaa, kun ne avataan uudelleen.

Parempi olisi todellakin olla yrittää välttää sammuttamista paitsi tarvittaessa. Pienemmällä ohjaimella katsot usein virtalähdettä ja jos se menee alas, sinulla on pieni ikkuna sammuttamaan asioita, tallentamaan kaikki haihtumattomat tiedot ja mahdollisesti lepotilassa tai pysäyttämään prosessori, kunnes virta on palautettu. Suurella yleiskäyttöisellä prosessorilla, kuten PI, tämä saattaa vaatia melko pitkän aukon.

Joten verkkovirtavaranto ja varoitus päävirtalähteen laskiessa voi auttaa. Jos se on häiriö, sinun on ehkä tehtävä ero väliaikaisen virrankatkoksen (älä kirjoita, pidätä hengitystäsi) ja todennäköisen sammutuksen (säästäminen ja siivoaminen) välillä.

Autossa sinulla on + 12 / 24 V ja PI käyttävät +5 V, joten muuntajassa tai ennen sitä on jotain potentiaalia (heh). Saatat pystyä diodi-TAI toiseen kohtuullisen kokoiseen 9-12 V: n akkuun ennen muunninta, joka ottaa haltuunsa esimerkiksi jännitteen pudotessa. Ottaen huomioon suhteellisen raskas voimanotto, se täytyy pitää jotenkin ladattuna. Saatat myös pystyä kiinnittämään vertailijan tai erityisen jännitemittarin päävirtajohtoon ja saada hälytyksen, kun päävirta on katkennut. (En tiedä suoraan, mikä olisi nopea tapa ilmoittaa PI: stä.)

Aiheeseen liittyvä tehokysymys näyttää olevan pop-up: http://raspberrypi.stackexchange.com/questions/3778/dual-power-supplies-redundant-spare-backup


Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...