Lazarus - linux - jak na expandérem MCP23017
Moderátor: Moderátoři
Lazarus - linux - jak na expandérem MCP23017
Mam doma Raspberry s připojeným expandérem MCP23017 a zkouším ovládat jeho GPO piny.
Přes terminal jsem to dal.
Přes sh skript take.
Přes python to také jde.
Rad bych ještě vyzkoušel Lazarus.
Neví někdo jak na to?
sudo i2cset -y 1 0x20 0x00 0x00
To same v sh
sudo i2cset -y 1 0x20 0x00 0x00
V PHP
system ('sudo i2cset -y -m 0x01 1 0x20 0x12 0x00');
Tim padem to mužeš ovladat přes net a mobil s androidev přes widgets
A na python je na to knihovna WiringPi2.
http://raspi.tv/2013/how-to-use-wiringpi2-for-python-with-pull-ups-or-pull-downs-and-pwm
Pro C a Lazarus je take knihovna.
http://wiringpi.com/download-and-install/
https://projects.drogon.net/raspberry-p ... c-library/
http://raspi.eanet.cz/?p=130
http://www.kdosiodjinud.cz/raspberry-pi ... ml?addpost
V delphi umim.
Lazarus take dam, ale pod Windows.
Chtělo by to tučňáka
- Jeejda_teda_puvodne
- Příspěvky: 142
- Registrován: 08 dub 2012, 00:00
Jeejda píše:Já tomu teda moc nerozumím, ale Lazarus je i pro tučňáka a Freepascal, kterým kompiluje, taky... když to rozjedeš pod Win, tak pod Lin je nějakej problém a nefunguje to, nebo co vlastně přesně řešíme? Co máš za distribuci?
No Delphi jse měl ve škole a pak ještě par roku mně to drželo.
To co udělám v delphí, tak zvládnu i přes lazarus.
Ale s lazarusem pod linuxem?
Třeba nainstalovat knihovny pro ovladaní a to je problém.
Záležitost linuxu.
Také ovadaní těch GPO je zasah do registru linux a u toho je vždy problém s pravy.
https://projects.drogon.net/raspberry-p ... c-library/
sudo apt-get install libi2c-dev
gpio load i2c
pi@raspberrypi ~ $ gpio load i2c
gpio: Warning: File not present: /dev/i2c-0
Když se kouknu do dev, ten soubor tam fyzický je a prava ma na 777
Ty jsí tučnak
- Jeejda_teda_puvodne
- Příspěvky: 142
- Registrován: 08 dub 2012, 00:00
Kód: Vybrat vše
root@raspberrypi:/home/pi# pi@raspberrypi:~/$ ls -l /dev/i2c*
bash: pi@raspberrypi:~/$: No such file or directory
root@raspberrypi:/home/pi#
Já uvažují zkusíte toto
http://www.freepascal.org/docs-html/rtl/unix/shell.html
Kód: Vybrat vše
begin
Writeln ('Output of ls -l *.pp');
S:=Shell ('ls -l *.pp');
Writeln (S);
end.
ls -l je systémový příkaz linuxu.
Zapnout 1 GPO se da přes terminal takto
sudo i2cset -y 1 0x20 0x00 0x00
Takže Shell ('sudo i2cset -y 1 0x20 0x00 0x00*.pp');
Aktuální hodnota celeho portu GPB se čte takto:
sudo i2cget -y 0 0x20 0x13
Kód: Vybrat vše
S:=Shell ('sudo i2cget -y 0 0x20 0x13 *.pp');
Writeln (S);
Nejsem tučnak, takže jen takový odhad.
A njsem doma, tak vyzkouším až v pondělí.