Fórum témák

» Több friss téma
Fórum » Raspberry Pi - Málnatopik
 
Témaindító: Topi, idő: Máj 6, 2013
Témakörök:
Lapozás: OK   34 / 65
(#) Elektro.on válasza Laresz hozzászólására (») Júl 27, 2017 /
 
Valahol egyszer olvastam egy cikket, hogy Aida64 -el hogyan lehet ezt megvizsgálni.
(#) varttina hozzászólása Aug 10, 2017 /
 
Sziasztok!
Eddig csak HDMI-vel használtam a Raspberry Pi-t. Most egy olyan dobozba akarom beépíteni, amelyben van egy 5"-os kompozit jellel működő kijelző. Be lehet-e úgy állítani a Raspberryt (RPi3, Raspbian-nal), hogy ha érzékeli a HDMI csatlakozást, akkor oda küldi a képet, ha viszont nem, akkor a 5"-os monitorra?
(#) varttina válasza Feri007 hozzászólására (») Aug 13, 2017 /
 
Köszönöm a linket!
Sajnos nem tudom megnyitni.
(#) pipi válasza varttina hozzászólására (») Aug 13, 2017 /
 
pedig csak rá kell kattintani, próbáld megint, hátha akkor éppen nem ment a szerverük,
vagy próbáld más böngészőből
(#) pixels hozzászólása Szept 9, 2017 /
 
Sziasztok!

Raspberry pi3 UART csatlakozóját szeretném használni, de RS485 master device-ként.

UART -> RS485 illesztésre LTC485 vagy MAX483 -t használnék.

Miután device tree overlay segítségével beállítom a ttyAMA0 hardveres TX és RX vonalakat a 14 és 15-ös gpio-ra, hogyan lehetne a CTS és RTS vonalakat hardveresen használni az RS485 illesztő vezérlésére a raspberryn? Esetleg megoldható-e CTS és RTS vonalak nélkül az RS485 illesztő vezérlése bármilyen egyéb GPIO vezérlés nélkül?

Válaszokat előre is köszönöm!
(#) Gabó hozzászólása Szept 10, 2017 /
 
Üdv! Ezt ki ismeri? Bővebben: Link
Valamiért nálam pár nap után, a webes felületen Offlineba megy át. De igazából nem offline, mert rámegyek a szenzor grafikus kijelzésére, ott aktuális értéket mutat. Milyen beállítást nem állíthattam be?
(#) eSDi hozzászólása Okt 1, 2017 /
 
Halihó!

Próbálkoztatok már az RDA5807M FM-RDS rádióvevő modul megszólaltatásával? Sajnos én csak addig jutottam, hogy be tudom kapcsolni és le tudom venni róla a némítást. Látszólag nem működik az automata keresés, sem közvetlenül a frekire hangolás. Van valami trükkje az inicializálásnak, vagy a beállítások sorrendjének? A datasheet nem túl bőbeszédű, a programming manual pedig csak kína nyelven érhető el (legalábbis mást nem találtam).

Pi3 - Raspbian - Python

Kösz előre is!
(#) tomi52 válasza eSDi hozzászólására (») Okt 1, 2017 /
 
Nekem arduino nanoval sikerült kezelnem, egyedül az RDS infó kezelését nem sikerült még jól megcsinálni. Arduinohoz lehet találni a neten megoldásokat, abból ki lehet bogarászni, hogyan kell kezelni.
(#) eSDi válasza tomi52 hozzászólására (») Okt 2, 2017 /
 
Kösz!

Aludtam rá egyet és megtaláltam a Python library eredeti C forrását és lefordítottam. Nos ez sem működött, ugyan azt csinálta. Itt kezdett gyanús lenni a dolog. Elgondolkodtam, hogy a rajta lévő 32k-s kavics elvileg csak a szintézerhez kell, mi van ha nem megy. Szkóp -> megmér -> tényleg nem megy. Jobban megnézve az egyik lába nem volt leforrasztva. Egy pöttyintés a pákával és
voilà!
Tanulság: Kínai moduloknál, jobb ha először nagyító alatt átnézi az ember a forrasztásokat, mielőtt napokon át szivatja magát szoftver oldalon.
(#) tomi52 válasza eSDi hozzászólására (») Okt 2, 2017 /
 
Gratulálok! Ezek szerint a "végszerelést" Te végezted a kínaiak helyett.

Kiírja az RDS információkat is? Ha igen, megadnád ennek a C forrásnak az elérhetőségét? Én ugyan mint említettem arduino nanóval kezeltem, de nem tudom eldönteni, hogy miért nem működik rendesen az RDS info. Lehet kevés a térerő? Ahol lakom nem igazán jók a vételi lehetőségek. Vagy a programom nem OK? Két modult is próbáltam, de azonosan viselkednek.
(#) eSDi válasza tomi52 hozzászólására (») Okt 2, 2017 /
 
Sajnos a C forrásban még nincs benne, de a python library-ban már benne van. Átírom megint az általam használt i2c library-ra és ha működik ez a része is, akkor feldobom ide.
(#) eSDi válasza tomi52 hozzászólására (») Okt 3, 2017 / 1
 
Nos, benne van az RDS az igaz, de nem igazán működik jól. Sokszori lekérdezés után sikerült csak kiírnia az állomás nevet. Pedig a modul szerint az RDS szinkronizálva van és bithiba sincs. Szerintem szoftveres gondja lesz. De azért itt a kód részlet:
  1. # REG 0x0A
  2. RDA_RDSR = 0b1000000000000000
  3. RDA_STC = 0b0100000000000000
  4. RDA_SF = 0b0010000000000000
  5. RDA_RDSS = 0b0001000000000000
  6. RDA_BLK_E = 0b0000100000000000
  7. RDA_ST = 0b0000010000000000
  8. RDA_READCHAN = 0b0000001111111111
  9.  
  10. # REG 0x0B
  11. RDA_RSSI = 0b1111110000000000
  12. RDA_FM_TRUE = 0b0000001000000000
  13. RDA_FM_READY = 0b0000000100000000
  14. RDA_ABCD_E = 0b0000000000010000
  15. RDA_BLERA = 0b0000000000001100
  16. RDA_BLERB = 0b0000000000000011
  17.  
  18. # ========
  19.  
  20. RDS_GROUP_TYPE_CODE = 0xf000
  21. RDS_PTY = 0x03e0
  22. RDS_B0 = 0x0800
  23.  
  24.     def rds_init(self):
  25.         self.station_name = "--------"
  26.         self.station_name_tmp_1 = ['-'] * 8
  27.         self.station_name_tmp_2 = ['-'] * 8
  28.         self.text = '-' * 64
  29.         self.text_tmp = ['-'] * 64
  30.         self.ab = False
  31.         self.idx = 0
  32.         self.ctime = ""
  33.  
  34.     def process_rds(self):
  35.         reg_a = self.read_chip(0x0a)
  36.         reg_b = self.read_chip(0x0b)
  37.         block_a = self.read_chip(0x0c)
  38.         block_b = self.read_chip(0x0d)
  39.         block_c = self.read_chip(0x0e)
  40.         block_d = self.read_chip(0x0f)
  41.  
  42.         if reg_a & RDA_RDSS == 0:
  43.             self.rds_init()
  44.         if reg_a & RDA_RDSR == 0 or reg_b & RDA_BLERB != 0:
  45.             # no new rds group ready
  46.             return
  47.  
  48.         group_type = 0x0a + ((block_b & RDS_GROUP_TYPE_CODE) >> 8) | ((block_b & RDS_B0) >> 11)
  49.  
  50.         if group_type in [0x0a, 0x0b]:
  51.             # PS name
  52.             idx = (block_b & 3) * 2
  53.             c1 = chr(block_d >> 8)
  54.             c2 = chr(block_d & 0xff)
  55.             if c1 in printable and c2 in printable:
  56.                 if self.station_name_tmp_1[idx:idx + 2] == [c1, c2]:
  57.                     self.station_name_tmp_2[idx:idx + 2] = [c1, c2]
  58.                     if self.station_name_tmp_1 == self.station_name_tmp_2:
  59.                         self.station_name = ''.join(self.station_name_tmp_1)
  60.                 if self.station_name_tmp_1[idx:idx + 2] != [c1, c2]:
  61.                     self.station_name_tmp_1[idx:idx + 2] = [c1, c2]
  62.  
  63.         elif group_type == 0x2a:
  64.             # Text
  65.             idx = (block_b & 0x0f) * 4
  66.             if idx < self.idx:
  67.                 self.text = ''.join(self.text_tmp)
  68.             self.idx = idx
  69.  
  70.             ab = (block_b & 0x10) != 0
  71.             if ab != self.ab:
  72.                 self.text = '-' * 64
  73.                 self.text_tmp = ['-'] * 64
  74.                 self.ab = ab
  75.  
  76.             c1 = chr(block_c >> 8)
  77.             c2 = chr(block_c & 0xff)
  78.             c3 = chr(block_d >> 8)
  79.             c4 = chr(block_d & 0xff)
  80.             if c1 in printable and c2 in printable and c3 in printable and c4 in printable:
  81.                 self.text_tmp[idx:idx + 4] = [c1, c2, c3, c4]
  82.  
  83.         elif group_type == 0x4a:
  84.             offset = block_d & 0x1f
  85.             mins = (block_d & 0x0fc0) >> 6
  86.             hour = ((block_c & 1) << 4) | (block_d >> 12)
  87.             mins += 60 * hour
  88.             if block_d & 0x20:
  89.                 mins -= 30 * offset
  90.             else:
  91.                 mins += 30 * offset
  92.             if 0 < mins < 1500:
  93.                 self.ctime = "CT %02d:%02d" % (int(mins / 60), mins % 60)
  94.  
  95.         infos = {}
  96.         infos["PS"] = self.station_name
  97.         infos["Text"] = self.text
  98.         infos["CTime"] = self.ctime
  99.         return infos
A hozzászólás módosítva: Okt 3, 2017
(#) tomi52 válasza eSDi hozzászólására (») Okt 3, 2017 /
 
Köszönöm!

Majd áttanulmányozom, bár pillanatnyilag bizonyos értelemben altatom a témát, más microcontrollerre akarok áttérni, most azzal ismerkedem.

Valami bibi lehet a dologban, mert a youtubeon sok videó van, ahol remekül működik. Még olyat is láttam, ahol nem csak az adó nevét írta ki, hanem futó szövegben egyéb infókat is.
(#) Mate78 hozzászólása Okt 3, 2017 / 1
 
sziasztok,

ha valaki a Raspberry távoli elérésén gondolkozik, és nem ismerné,ajánlom figyelmébe ezt:
remot3.it (Korábban Weaved.com)
Én a VNC-t használom, de több protokollt is támogat, egyszerű, ingyenes, és nem kell a routerben semmit sem csinálni.
(#) eSDi válasza tomi52 hozzászólására (») Okt 3, 2017 /
 
Igen, ez is kiírná a pontos időt és az éppen játszott előadót - számot (RadioText), de nagyon nyögvenyelőssen megy. Így úgy döntöttem, ezt a rész újra írom nulláról. Arra közben rájöttem, hogy hibajavítást nem végez, csak a jó blokkokkal foglalkozik. Ez is lehet a gyenge teljesítmény oka. Működnie kellene rendesen, mert a rádióerősítőm gond nélkül mutatja ezeket, még ha nem is túl jó a vétel, akkor is.
(#) tomi52 válasza eSDi hozzászólására (») Okt 3, 2017 /
 
Nem tudom, valójában mi lehet a baj. Két mintát találtam, mindkettőben akkor jelzi ki az adó nevét, ha kétszer egymás után ugyan azt kapja. Nekem ez nem jött be, betűket eltalált, de teljes név egyszer sem jött ki. Most nem emlékszem mennyire, de megemeltem az ismétlődés számát, pontosan hányszor kell kapjam ugyan azt, hogy berakjam a betűt a rádió nevébe. Így a Kossuth néha megjelenik hibátlanul, és teljesen. De nem sokáig. A többi adó neve néha majdnem, de ritkán, és még sosem volt jó teljesen. Pedig van, amelyiknél a kijelzett térerő azonos.
(#) eSDi válasza tomi52 hozzászólására (») Okt 4, 2017 /
 
Teszt jelleggel átírtam saját elgondolásom szerint. Én addig nem írom ki az adó nevét, amíg mind a 8 karaktert meg nem kapom. Így elég jó működik és gyors is, ha nem túl gyenge a térerő. De olyan mintha az IC végezne hibajavítást, mert eleinte van egy-két rossz karakter és utána jó lesz.
(#) tomi52 válasza eSDi hozzászólására (») Okt 4, 2017 1 /
 
Kössz az infót!
Én pillanatnyilag még pihentetem a témát, most mással vacakolok, de utána kipróbálom én is így.
(#) eSDi válasza tomi52 hozzászólására (») Okt 4, 2017 /
 
Nincs mit!

Itt a kódrészlet, így nem kell agyalod majd annyit rajta (már, ha érthető):
  1. # RDS
  2. RDA_RDSR = 0b1000000000000000
  3. RDA_RDSS = 0b0001000000000000
  4. RDA_BLERB = 0b0000000000000011
  5. RDS_PS = array('c', '        ')
  6. RDS_GROUP_TYPE_MASK = 0xf800
  7. RDS_DI_MASK = 0x0003
  8. RDS_RDSS = 0
  9.  
  10. def process_rds(self):
  11.         ps_data_counter = 0x00
  12.         while (ps_data_counter != 0xff):
  13.             reg_a = self.read_chip(0x0a)
  14.             reg_b = self.read_chip(0x0b)
  15.             block_a = self.read_chip(0x0c)
  16.             block_b = self.read_chip(0x0d)
  17.             block_c = self.read_chip(0x0e)
  18.             block_d = self.read_chip(0x0f)
  19.  
  20.             if (reg_a & RDA_RDSS) == 0:
  21.                 RDS_RDSS = 0
  22.             elif (reg_a & RDA_RDSR) == RDA_RDSR: #and (reg_b & RDA_BLERB) < 2
  23.                 RDS_RDSS = 1
  24.                 group_type = (block_b & RDS_GROUP_TYPE_MASK) >> 11
  25.                 if group_type == 0 or group_type == 1: # Group Type 0A or 0B
  26.                     if (block_b & RDS_DI_MASK) == 0:
  27.                         RDS_PS[0] = chr(block_d >> 8)
  28.                         RDS_PS[1] = chr(block_d & 0xff)
  29.                         ps_data_counter = ps_data_counter | 0x03
  30.                     if (block_b & RDS_DI_MASK) == 1:
  31.                         RDS_PS[2] = chr(block_d >> 8)
  32.                         RDS_PS[3] = chr(block_d & 0xff)
  33.                         ps_data_counter = ps_data_counter | 0x0c
  34.                     if (block_b & RDS_DI_MASK) == 2:
  35.                         RDS_PS[4] = chr(block_d >> 8)
  36.                         RDS_PS[5] = chr(block_d & 0xff)
  37.                         ps_data_counter = ps_data_counter | 0x30
  38.                     if (block_b & RDS_DI_MASK) == 3:
  39.                         RDS_PS[6] = chr(block_d >> 8)
  40.                         RDS_PS[7] = chr(block_d & 0xff)
  41.                         ps_data_counter = ps_data_counter | 0xc0
  42.  
  43.         print RDS_PS.tostring()


A képen pedig jól látszik, hogy jó térerőnél, már az első lekérdezésre helyesen jelenik meg. Kicsit rosszabbnál pedig a végére azért kijavítja.
(#) tomi52 válasza eSDi hozzászólására (») Okt 4, 2017 /
 
Kössz, majd ezt is áttanulmányozom.
Én microcontrollerrel próbáltam, és próbálom majd, mert szeretnék egy rendes, hordozható kis rádiót csinálni. Csak az eddig használt microcontrollernek már majdnem tele a memóriája, most másfajtát szelidítgetek.
(#) tomi52 válasza eSDi hozzászólására (») Okt 4, 2017 1 /
 
Mekkora térerőnél produkálta ezeket?
(#) eSDi válasza tomi52 hozzászólására (») Okt 4, 2017 /
 
Az RSSI 0-tól 63-ig vehet fel értéket, de az adatlap szerint logaritmikus a skála. Így százalékosan nem igazán kifejezhető. Ahogy nézem, 30-as érték felett jó és 25 körül, már teljesen zagyva jön csak.
(#) tomi52 válasza eSDi hozzászólására (») Okt 4, 2017 /
 
Ilyen alapon jónak kellett volna lenni a kijelzésemnek, így feltehetően a program nem az igazi.
(#) thre hozzászólása Nov 18, 2017 /
 
Sziasztok!

Az alapoktól szeretném elkezdeni a raspberry pi megismerését. Tudnátok valami támpontot adni merre/mit keressek? (lehetőleg nem fizetős könyvet/online doksit keresnék )

Üdv:

András
(#) eSDi válasza thre hozzászólására (») Nov 18, 2017 /
 
Üdv!

Konkrét doksit én nem tudok adni (nem is kerestem még). Döntsd el, hogy milyen irányba szeretnél elindulni.

Windows 10 IoT, vagy Linux?
Ha Windows, akkor ahhoz, ha jól láttam többnyire C-ben írt programok vannak és sok mindent magadnak kell megírnod, amit kitalálsz. És nincs is sok előre elkészített cucc.
Ha Linux, akkor ahhoz tele van az internet mindenféle példákkal, kész programokkal, többnyire Python nyelven. Elég egyszerű és könnyen tanulható nyelv. De a Linux nyavajáit meg kell szokni és sokat kell parancssorban bűvészkedni.
A hozzászólás módosítva: Nov 18, 2017
(#) thre válasza eSDi hozzászólására (») Nov 18, 2017 /
 
Szia!

Otthon használok linuxot, bár igazából csak felhasználó szintű ismereteim vannak, pancssorban keveset turok
Amit szeretnék vele megvalósítani egy home automation system, kb ki is használnám a gpio pineket, (azt sem tudom, azokat valahogy lehet e boviteni)
Mindenképpen szeretnék valami grafikus felületet a touch panelnek (már megrendeltem egy RPI 3-ast 7 colos touch panellel. Programozási ismereteim 99%ban PLC-sek Szoval még azt sem tudom milyen platformon tudnám ezeket összehozni)
Bármilyen ötletet doksit szivesen fogadok, köszi, üdv:

Semmiképpen sem akarok kész programot, magam akarnám megirni, egyrészt hogy olyan legyen amit én akarok, másrészt, hogy tanuljak belőle

András
A hozzászólás módosítva: Nov 18, 2017
(#) eSDi válasza thre hozzászólására (») Nov 18, 2017 /
 
Nem tudom, hogy Linux alatt, ha felhasználói felületet is magunk akarjuk megírni, akkor melyik nyelv a célszerű. A sejtésem az, hogy a Python erre nem képes. Így viszont lehet jobb választás a Win10 IoT, arra Visual Studio-ból közvetlenül a Pi-re lehet fordítani a projektet.
A GPIO-k számát I2C-n tudod bővíteni (I2C Port Expander).

A Win10 IoT kapásból kezeli a HDMI kijelzőt és az USB HID Touch-ot, ha ilyened lesz. A Linux-al bűvészkedni kell kicsit az elején, hogy legyen kép. A Touch működik ott is gond nélkül.
(#) Mate78 válasza thre hozzászólására (») Nov 19, 2017 /
 
Szia

Python-ban is lehet grafikus felületet írni, a sw neve Tkinter, keress rá.
A GPIO-k kiosztását ha megnézed, találsz I2C, SPI lábakat, azokon keresztül (is)bővítheted az IO-k számát.
Ha jobban beleásod magad a témába, rájössz, hogy ezer féle szoftveres, hardweres út vezet a megoldáshoz.Van is ezzel foglalkozó topik itt a HE-n.Én is szinte állandóan játszadozom hasonlóval, most éppen a Node-Red van terítéken.
(#) WaRL0 hozzászólása Nov 19, 2017 /
 
Sziasztok. Próbálta már valaki a banános Pít NAS-nak használni ? Amire szükségem lenne, hogy belső hálozaton elérhető tárhelyet működtessek, Android TV-box, Notebook, stb számára. LAN-on kapcsolódna a hálózathoz, a többi ezköz pedig wifin. Elég lenne a sebessége Kodin 720p filmek futtatására?
Következő: »»   34 / 65
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem