Portál AbcLinuxu, 7. května 2025 14:36

Dotaz: Expander PCF8574 a raspberry

12.1.2021 20:28 Kamil.k
Expander PCF8574 a raspberry
Přečteno: 660×
Odpovědět | Admin
Dobrý den.

Mužu poprosit o pomoc, ježišek donesl raspberry.

Expander mam na adrese 0x20.

Jak na něj přes bash skript?

Mam na ten expander připojeny 8 relay modul.

Našel jsem toho spoustu přes python, ale to nechci.

Potřebují nastavit celý expander na výstup.

A abych moh každe rele zvlašt zapnout a vypnout.

Moc děkují.


Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Gréta avatar 12.1.2021 20:52 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Expander PCF8574 a raspberry
Odpovědět | | Sbalit | Link | Blokovat | Admin

asi jakoby pomocí i2cset a i2cdetect hele nebo hele z balíčku i2c-tools :O ;D

proč jakoby nechceš použít python/nějakou knihovnu hotovou?? :O :O

Zelená energetická soustava založená na obnovitelnejch zdrojích energie versus realnej svět 🤡🇪🇸
13.1.2021 13:59 Kamil.k
Rozbalit Rozbalit vše Re: Expander PCF8574 a raspberry
Ono to funguje, ale nejsem schopen to vyřešit s negaci.

Tak abych si přepnul nějaky GPIO pin a zbytek zustal ve stejnem stavu.

Minulý týden jsem si hral s expanderem MCP23017 a byla to brnkačka.

i2cset -y -m 0x01 1 0x20 0x12 0xFF // rozsviti pouze ledku na prvnim bitu (GPA0)

i2cset -y -m 0x01 1 0x20 0x12 0x00 // zhasne ledku na nultem bitu (GPA0)

Takže jsem to zkoušel takto a nefunguje

sudo i2cset -y -m 0x01 1 0x20 0xFF

sudo i2cset -y -m 0x01 1 0x20 0x00

Co dělam špatně?
Gréta avatar 13.1.2021 18:13 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Expander PCF8574 a raspberry

nevim toje nějaký divný :D

u i2cset v man hele u masky pišou že

Please note that this parameter assumes that the read and write operations for the specified mode are symmetrical for the device you are accessing. This may or may not be the case, as neither I2C nor SMBus guarantees this.

možná koukni coti jakoby vrací i2cget a jestli to jako vodpovídá tý hexa hodnotě nastavení nožiček coby tam jakože měla bejt a neni to třeba něco jinýho :O :O jestli to varcí něco jinýho tak asi jako budeš muset masku počítat sám :O ;D

13.1.2021 18:57 Kamil.k
Rozbalit Rozbalit vše Re: Expander PCF8574 a raspberry
Ja mam vše dobře, už mně nenapada kde mužu dělat kopanec.

sudo i2cset -y 1 0x20 0xFE // 11111110 // 0xfe

sudo i2cset -y 1 0x20 0xFD // 11111101 // 0xfd

sudo i2cset -y 1 0x20 0xFB // 11111011 // 0xfb

sudo i2cset -y 1 0x20 0xF7 // 11110111 // 0xf7

sudo i2cset -y 1 0x20 0xEF // 11101111 // 0xef

sudo i2cset -y 1 0x20 0xDF // 11011111 // 0xdf

sudo i2cset -y 1 0x20 0xBF // 10111111 // 0xbf

sudo i2cset -y 1 0x20 0xBF // 10111111 // 0xbf

sudo i2cset -y 1 0x20 0x7F // 01111111 // 0x7f

První je odeslaný přikaz // to druhe jak vypada stav expadneru// a to třeti je to co mi vždy vrati echo `sudo i2cget -y 1 0x20`

sudo i2cset -y -m 0xf7 1 0x20 0xff nastavi na všechny piny HIGH protože 0xff je 11111111 a na masku nereaguje
Gréta avatar 13.1.2021 20:30 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Expander PCF8574 a raspberry

možná zkuz to pustit bez toho flagu '-y' jakože v ručním/interaktivním režimu :O :O podle zdrojáčku hele na řádku 345 to tam pak vypisuje jak to tu masku jakoby vidí aco se pak jako snaží strčit tam zpátky :O :O

13.1.2021 21:01 Kamil.k
Rozbalit Rozbalit vše Re: Expander PCF8574 a raspberry
Jsem koukal do datasetu a je tam posuvný registr což bude ten problem. Mi jde hlavně o to abych moh ovladat pře PHP. A pokud ho zprovozním přes BASH tak neni problem ho ovladat v PHP přes system
14.1.2021 09:22 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Expander PCF8574 a raspberry
Tak toto trochu nechápu?

Proč to musíš cpát do PHP?

Napiš to normálně v tom pythonu a máš k tomu i originál knihovny a i python můžeš spouštět z www.

Případně se podívej jak se s tím pracuje v tom pythonu a skoukni ty knihovny.
14.1.2021 12:46 X
Rozbalit Rozbalit vše Re: Expander PCF8574 a raspberry
Proste Python neumi..
14.1.2021 14:30 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Expander PCF8574 a raspberry
No a?

Já ho taky neumím a přepisoval jsem si knihovnu pro práci s LCD displejem do C.
Gréta avatar 14.1.2021 18:37 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Expander PCF8574 a raspberry

nevim jestli by zato jako moh posuvnej registr si myslim žeje jedno jak si to jako hw řešej uvnitř podle těch tutoriálů de stav všech těch nožiček nastavovat jednim hexa číslem jakoby všecky najednou :O :O skuz to eště bez toho flagu y jak sem řikala aby to vyspalo jak to jako dovopravdy vidí tu hodnotu přečtenou masku spočítanou a tak :O :O

btw php je jedno v čem sou ty skripy psaný ne?? :O ;D

14.1.2021 13:15 MM
Rozbalit Rozbalit vše Re: Expander PCF8574 a raspberry
Máš u "nefunguje" méně parametrů, asi ti chybí adresa registru nebo tak něco (0x12)
Gréta avatar 14.1.2021 18:31 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Expander PCF8574 a raspberry

si myslim že tim to asi jako nebude protože podlě těch tutorálů de použít todleto třeba

i2cset -y 1 0x38 0xf0

kde první číslo je zběrnice druhý adresa čipu a tamta třetí hodnota

normálně mu to taky funguje jediný co nefunguje sou masky :O :O

15.1.2021 09:18 MM
Rozbalit Rozbalit vše Re: Expander PCF8574 a raspberry
No já četl jen kus manuálu (tutorialy ne), a s tou adresou registru 0x12 psal, že to funguje..
Gréta avatar 15.1.2021 17:33 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Expander PCF8574 a raspberry

jj řikal ale s čipem MCP23017 nefunguje mu PCF8574 ;D

Řešení 1× (Petr Šobáň)
16.1.2021 17:10 Kamil.K
Rozbalit Rozbalit vše Re: Expander PCF8574 a raspberry
Už to mám kluci vyřešene. Do raspi se nainstaluje WiringPi

http://wiringpi.com/download-and-install/

A pak jde ovladat přes terminal každy pin samostatně a přes PHP přes přikaz system.
Gréta avatar 18.1.2021 21:53 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Expander PCF8574 a raspberry

wiringpi je deprecated protože to děda už nevyvíjí hele :O :/

17.1.2021 03:05 BFU
Rozbalit Rozbalit vše Re: Expander PCF8574 a raspberry
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nestacilo by pouzit drivers/gpio/gpio-pcf857x.c, pomoci DTO to nabindovat na spravny i2c controller a pak to ovladat jako kazde jine GPIO treba pomoci libgpiod ?
17.1.2021 18:01 Kamil.k
Rozbalit Rozbalit vše Re: Expander PCF8574 a raspberry
To už je nad ramec mých znalosti. Mam raspi jen kratce.
17.1.2021 21:58 BFU
Rozbalit Rozbalit vše Re: Expander PCF8574 a raspberry
Tady to vypada jako rozumny navod, staci to projit az k sekci "LCD Backlight":

https://yeah.nah.nz/embedded/linux-chardev-lcd/

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.