Miniszámítógépek, SBC-k

Milyen NAS-t?

Sziasztok!

Keresek NAS-t ilyen feature-val:

* gigabites net csatlakozó
* tudjon raid 1 -et
* legyen benne smb megosztás
* legyen benne upnp szerver (okostévével akarnak tartalmat nézni rajta)
* lehessen rajta futtatni torrentet, lehetőleg valami értelmes web-es vagy androidos felületen amihez nem feltétlenül szükséges külső számítógépet használni (hanem mondjuk okos TV-t), és ez ne fogja le annyira a procit hogy annak más funkciója lássa kárát
* ne kelljen újraindítani naponta
* nagyon jó lenne, ha nem kellene személyesen is odamennem hogy beállítsam (plug and play) de ez nem komoly elvárás, csak "jó lenne" kategória

Nem nekem kell és nincs benne tapasztalatom. Azért kértek meg rá hogy válasszak én, mert én informatikus vagyok. Elsőnek a synology jutott eszembe, de abból is van 1000 fajta meg egyébként is, nem értek én mindenhez attól még hogy informatikus. :-)

Ha valakinek van tuti tippje, akkor ne tartsa magában.

Köszönöm!

Bányászat manapság? - Dayun Zig Z1

Üdv!

Érdeklődnék, hogy mi a véleményetek a topicról. Manapság ebbe érdemes belevágni? Ha igen, milyen valutával, és hogyan?

A címben említett gépet néztem ki, és az áramfogyasztást fixen bruttó 38 Forintnál tudnám tartani, de ennek van realitása szerintetek? Ismeri valaki a fenti gépet? Tapasztalatok?

Köszi a véleményeket.

Arduino x86 SPI kommunikáció segítség kérés

Sziasztok!

Adott az alábbi 3 kód, amit x86 kompatibilissé akarok tenni.
Van egy Intel Galileo-m, de a hozzá vett shield kódját ATmega-ra írták.
Megpróbáltam hát átírni több, de mégis kevesebb sikerrel...
A kód SPI kommunikációval olvas ki biteket az ADC-ből.
A probléma, hogy a 3 kódra több átírást is megpróbáltam, de mégsem tudok kiolvasni semmit...

Tudom hogy itt sok okos ember van. Én meg viszonylag kezdö vagyok ezen a területen.
Tud valaki segíteni?

Kód0:


void AudioHackerClass::begin() {
pinMode(SCK, OUTPUT);
pinMode(MISO, INPUT);
pinMode(MOSI, OUTPUT);
pinMode(SS, OUTPUT);

digitalWrite(SCK, LOW);
digitalWrite(MISO, LOW);
digitalWrite(MOSI, LOW);
digitalWrite(SS, HIGH);

pinMode(SRAM0_SS, OUTPUT);
pinMode(SRAM1_SS, OUTPUT);
pinMode(DAC_SS, OUTPUT);
pinMode(ADC_SS, OUTPUT);

digitalWrite(SRAM0_SS, HIGH);
digitalWrite(SRAM1_SS, HIGH);
digitalWrite(DAC_SS, HIGH);
digitalWrite(ADC_SS, HIGH);

// Configure SPI
SPCR |= _BV(SPE); // enable SPI
SPCR &= ~_BV(SPIE); // SPI interrupts off
SPCR &= ~_BV(DORD); // MSB first
SPCR |= _BV(MSTR); // SPI master mode
SPCR &= ~_BV(CPOL); // leading edge rising
SPCR &= ~_BV(CPHA); // sample on leading edge
SPCR &= ~_BV(SPR1); // speed = clock/4
SPCR &= ~_BV(SPR0);
SPSR |= _BV(SPI2X); // 2X speed

// Disable Timer1 interrupt
TIMSK1 &= ~_BV(TOIE1);

TCCR1A = 0;
TCCR1B = 0;

// Set prescalar to 1;
TCCR1B |= _BV(CS10);

// Enable Timer1 interrupt
TIMSK1 |= _BV(TOIE1);
}

Kód1:


unsigned int AudioHackerClass::readADC() {
unsigned int signal = 0;

SPCR &= ~_BV(SPE); // disable hardware SPI while we bang this out

SELECT_ADC;

// begin sample
NOP;
NOP;
NOP;
NOP;
SCK_HIGH;
NOP;
NOP;
NOP;
NOP;
SCK_LOW;

// second clock
NOP;
NOP;
NOP;
NOP;
SCK_HIGH;
NOP;
NOP;
NOP;
NOP;
SCK_LOW;

// null bit
NOP;
NOP;
NOP;
NOP;
SCK_HIGH;
NOP;
NOP;
NOP;
NOP;
SCK_LOW;

readBit(signal, 11);
readBit(signal, 10);
readBit(signal, 9);
readBit(signal, 8);
readBit(signal, 7);
readBit(signal, 6);
readBit(signal, 5);
readBit(signal, 4);
readBit(signal, 3);
readBit(signal, 2);
readBit(signal, 1);
readBit(signal, 0);

DESELECT_ADC;

SPCR |= _BV(SPE); // enable hardware SPI

return signal;
}

Kód2:


static inline __attribute__((always_inline)) void readBit(uint16_t &v, uint8_t bit) {
NOP;
NOP;
NOP;
SCK_HIGH;
NOP;
NOP;
if (MISO_READ) v |= (1 << bit);
SCK_LOW;
}

Így írtam át:

Kód0:


void AudioHackerClass::begin() {

pinMode(SRAM0_selpin, OUTPUT);
pinMode(SRAM1_selpin, OUTPUT);
pinMode(DAC_selpin, OUTPUT);
pinMode(ADC_selpin, OUTPUT);

digitalWrite(SRAM0_selpin, HIGH);
digitalWrite(SRAM1_selpin, HIGH);
digitalWrite(DAC_selpin, HIGH);
digitalWrite(ADC_selpin, HIGH);

digitalWrite(SS, HIGH);
SPI.begin ();
SPI.setClockDivider(SPI_CLOCK_DIV1);

}

Kód1:

uint16_t AudioHackerClass::readADC() {
uint16_t signal = 0;

digitalWrite(ADC_selpin,HIGH);

digitalWrite(SS, LOW);
signal = SPI.transfer (signal);
digitalWrite(SS, HIGH);

digitalWrite(ADC_selpin,LOW);

return signal;
}

Kód2 (Nincs használva! Az eredeti kód gondolatmente miatt hagytam benn.):

void AudioHackerClass::readBit(uint16_t &v, uint8_t bit) {
digitalWrite(SS, LOW);
SPI.transfer (0x01);
v = SPI.transfer (0);
digitalWrite(SS, HIGH);
}

SBC idősebb embereknek

Sziasztok!

Rokonságomban szükség lenne egy laptop lecserélésére. Ez jelenleg egy képernyőtől fosztott, régi (~10év) laptop. (az előző is ilyen volt). Egyrészt csúnya, másrészt hangos, harmadrészt sok helyet foglal el, negyedrészt szerintem rövidesen megmurdel benne valami.
Felmerült bennem hogy a mostani SBC -s SoC-ok már elég jó teljesítményre képesek, és esetleg jó lenne arra cserélni a gépet (monitor, egér, bill maradna). Ennek előnye az lenne hogy nincs benne ventillátor, és nem kell foglalkozni a ki-bekapcsolásával, és várhatóan jó üzembiztonsággal működne.

Igények:
- böngésző (lehetőleg chrome/chromium), elfogadható sebességgel renderelt weboldalak
- youtube, facebook menjen browserben
- ~5%-ban flash/html5/vagyamimostamenő webes játékok menjenek. Anyósom szereti a casual gameket (zuma, jewel, kártyajátékok és társai).

Alternatívák:
- raspberry pi 3 (nem az új, hanem az első 3-as) + raspbian + valami egyszerűbb, gyorsabb DE, pl. XFCE. Ide azért nem írom az androidot, mert ugyan állítólag van rá android, de én sosem bírtam bebootolni rajta és nem sok kedvem van reszelgetni ezt a cuccot, nem ártana ha tényleg stabilan üzemelne (havonta 1-2x járok arrafele). Egy tartalék rpi3-am már van, így ahhoz nem kell beruházni, csak egy sdkártyát.
- valamilyen más gyártótól származó, de hasonló lap, szintén arm-os debiannal
- valamilyen dobozos, dedikált, "márkásabb" androidos gép

Aki hasonlót összehozott már, attól szivesen várom az ötleteket. Rpi1 óta használom ezeket a gépeket, de soha az életben nem telepítettem desktopos debiant rá, vagy "szerverként" ment, vagy dedikált kodis mediaplayerként.

Köszi!

M-duino PLC élesztés

Sziasztok!

Röviden beszámolnék róla, hogyan sikerült egy mDuino PLC-t szóra bírnom.

1. Az alapprobléma a következő volt: modbus klienset kellett volna illeszteni egy Siemens S7-es PLC-hez. A PLC-es srác nem volt túl együttműködő, ezért azt gondoltam belekukkantok a PLC programozás világába.

2. Emellett döntöttem:
https://www.industrialshields.com/product/m-duino-plc-arduino-21-i-os-a…

Nem túl drága, protokollok, szenzorok kiválóan tesztelhetők rajta, jól dokumentált, nyílt forrású, C-ben programozható és talán amúgy is jó lesz valamire, ha másra nem oktatási célra. FONTOS: az ADC 10 bites!

3. Az rs-components egy nap alatt leszállította a cuccot, a honlapjukon minden szükséges doksi ott van. Ezeket NAGYON érdemes elolvasni!

4. Fejlesztési környezet: arduino-IDE-1.8.5 Letölthető, kicsomagolod, bemásolod a megfelelő könyvtárba és már megy is. JAVA-s cucc, kicsit lassan indul. Nagyon sok példaprogram, library-k, stb.

5. Táp: Ha feldugod neki az USB kábelt, máris dolgozhatsz. Fontos! Az ethernet chip nem ébred ezen a feszültségen, kívülről kell megtáplálni, legalább 12 volttal. Ha az ETH és az USB panelnál kipattintod a takarólemezt, akkor találsz a jack-hüvely szerű tápcsatlakozót, bármilyen gagyi táppal (>=12 V) megtáplálhatod, a polaritásra figyelj! Én a hivatalos 24 V-os bemeneten adom rá a feszültséget egy labortáppal.

6. A PLC alaplapja Arduino MEGA 2560. Ez fontos. Fordításkor valszeg ennek figyelembevételével szedi össze a hardverspecifikus elemeket.

7. A beforduló ETH driver NEM JÓ! Az ethernet shield úgy csinál, mintha ébredne, de nincs értelmes IP cím kiosztva rá. LE KELL TÖLTENI az ETHERNET2 csomagot, és ezt kell include-olni. Nem kell crosslink kábel, switch-csel és dirkete összekötve is működik.

8. ModbusTCP. Gyorsan megtalálható a driver. Le töltöd, include-olod, viszont a Mudbus.h (sic!!) - ban ki kell kommentelni az Ethrenet.h include-ját.

9. Kliens oldal: PC, slackware 13.37 32 bit, MEA10 mérésadatgyűjtő rendszer. Letöltöttem a modlib könyvtárat, forrásból lefordítottam, végén make install. A dinamikus könyvtár a local/lib -be kerül. A 'C' nyelvű mérésadatgyűjtő szoftverbe be-includoltam a headereket, azonnal fordult. A modlib test programpéldákból kilestem, hogy milyen fv hívások vannak és azokat konstruktívan (-:: felhasználtam. Szépen, gyakorlatilag elsőre simán ment minden.

A következő lépés, hogy szenzorok kerülnek rá, egyelőre egy PT100-as hőmérő és egy poti, illetve a modbus-bitek pöcögtetéséhez kapcsolók. Valszeg kap valami normális DIN-sínre pattintható tápot is.

A PLC kódot kiteszem a pastebinre, majd linkelem.

Egyelőre ennyi.

Orange PI Zero H2 - expanziós boarddal (wifis) -> drótnélküli headless online rádió

Sziasztok

Nagytakarítást csináltam a döglött/jó lesz még valamire/teljesen jó kütyük közt, és felfedeztem, hogy "nini - van egy elfekvőben lévő a címben szereplő SBC-m, egybedobozolva original orange pi kockában", wifivel és infrával együtt. Mivel a korábbi RPi1-es málna megadta magát (béke poraira), gondoltam egy nagyot, és jó kis mini projekt lehetne belőle - és lenne egy rádióm olyan összeállításban, amilyen csatornákat amúgy is hallgatok. Mhmmmmm, amúgy is kellene valami...Feltúrva a kütyüs dobozt, a következők vannak meg:
- König USB pc-s hangszóró zajkeltőnek
- Mezei infra távírányító (de lehet nem is lesz szükség rá)
- Egy alig használt 3-4 éves "okostelefon" wifi és BT él rajta (valamiért a GSM döglött, meh)
- Kb. 2 méter ETH kábel, 1A 5V táp, és AV-USB kábel sajna nincs meg - szóval valószínűleg át kell kapcsolnom majd...

1. Kérdés: Ki milyen progit használ MPD vezérlésre mobilon ami nem csúnya, nem túl nagy, és esetleg funkcionál is úgy mint egy rádió kijelzője?
2- Kérdés: Mivel lehetne megoldani, hogy akár két független csatorna is megszólaljon, úgy h az egyiket az egyik hangszóróra, a másikat a másikra küldöm ki?
Van olyan érzésem, hogy az USB-s drótost nem nagyon fogom cipelni, de a zombi telefont amin lenne a vezérlés, akár lehetne a hangszóróját használni...talán?

Tippek?

Raspberry PI túlmelegedés?

Sziasztok,

van egy RPi 3B, amire Raspbian-t telepítettem (Raspbian Stretch desktoppal, bár a desktopot gyakorlatilag nem használom, SSH-n érem el, ha kell).
Deluge fut rajta, másra nem használom. Aktív hűtés illetve hűtőborda nincs, de a doboztetőt levettem.
a CPU hőmérsékletét és a load adatait percenként naplózom egy fájlba és egy sqlite adatbázisba is (cron). Ezek a fájlok az SD kártyán vannak.
Az RPi több mint fél éve 0-24 fut, eddig problémamentesen.

Ma reggel észrevettem, hogy nem megy. Monitort és billentyűzetet rádugva sötét képernyő és a jobb felső sarokban a túlmelegedést jelző ikon fogadott.
Újraindítottam és látszólag minden OK volt.
A legutolsó mért adat 55C fok volt hajnali 5 körül. Ez azért elég messze van a túlmelegedéstől (teljesen átlagos érték), tudomásom szerint 80 C fok körül veszi vissza az órajelet, ha túlmelegedést észlel. Egy perc alatt biztosan nem nőtt kb. 30 fokot a hőmérséklet.
A szobában ugyan 26 fok körüli a hőmérséklet, de nem ez az első dögmeleg nap ebben az évben...
Egyszóval nem értem, mi történhetett.
Ráadásul ma délután újra túlmelegedett.
Ismét újraindítottam.
A furcsa, hogy a hajnalban rögzített mérési adatok óta nem került új adat a fájlba pedig az első újraindítás után néhányszor ellenőriztem a fájlt és láttam benne a friss méréseket.
Azóta többször szabályosan újraindítottam az RPi-t és egyszerűen nem ment semmilyen mérési adatot.

1. tényleg túlmelegedhetett? ha igen, tönkremehetett-e benne valami, esetleg az SD kártya megsérült?
2. hol vannak a friss mérési adatok? miért nincs benne friss adat újraindítás után, ha egyszer látom, hogy percenként frissül? nem menti azonnal az SD kártyára?

kérlek segítsetek!