Stránka 1 z 1

Ovládání GPIO přes Webiopi

Napsal: 26 čer 2015, 13:30
od machy37
Zdravím, začínám s Raspberry PI a narazil jsem na zajímavou aplikaci Webiopi, přes kterou je možno z Internetu ovládat například porty GPIO.

Na stránkách https://code.google.com/p/webiopi/wiki/Tutorial_Macros je návod pro vytvoření časovače s nastavením hodiny zapnutí a vypnutí. Podle tohoto návodu vše funguje. Chtěl jsem proto časovač vylepšit a doplnit ho minutou zapnutí a vypnutí. Po úpravě kodu však zapojení nefunguje.

Jelikož jsou mé zkušenosti s Pythonem a Javou nevalné, prosím o radu, kde se mohla stát chybička. :roll:

Napsal: 02 črc 2015, 13:40
od Le_Ze
No nevím, ale vykašlal bych se na celou aplikací Webiopi.
GPIO jsem nezkoušel ale použivam hodně expandery MCP23017
Jak GPIO od raspi tak GPIO od MCP23017 se dají ovládat přes systemové příkazy (skrip sh)
Jelikož to jsou systemové příkazy, funguje to i přes PHP.

Stačí když si nainstaluješ nějaký server - Lighttpd, apache a PHP

Pak vytvoříš třeba soubor blikni.php
Do něj strčíš

Kód: Vybrat vše

<?php
system ('sudo i2cset -y -m 0x01 1 0x20 0x12 0xFF'); /* zapne GPA0 */
sleep(1);
system ('sudo i2cset -y -m 0x01 1 0x20 0x12 0x00'); /* vypne GPA0 */
?>

Pak to mužeš krasně ovladat přes net nebo přes mobil přes Widget
https://play.google.com/store/apps/deta ... uestwidget

Nebo v delphi si udělat ovladaní pomocí komponenty indy

Kód: Vybrat vše

uses IdHttp;

var
  lHTTP: TIdHTTP;
begin
  lHTTP := TIdHTTP.Create(nil);
  try
    Result := lHTTP.Get('http://192.168.0.195/blikni.php?a=2');
  finally
    lHTTP.Free;
  end;
end;


Proč to dělat tak složitě, když to jde pomocí 3 řadku.

Napsal: 13 črc 2015, 14:04
od machy37
Díky za odpověď, určitě řešení s expandérem není špatné pro zvýšení počtu portů, ale potřeboval bych rozchodit také webové rozhraní pro ovládání a sledování stavů portů a časovač.

Napsal: 13 črc 2015, 14:28
od Le_Ze
machy37 píše: ale potřeboval bych rozchodit také webové rozhraní pro ovládání a sledování stavů portů a časovač.


Však jsem pisal že se to dá vše řešít v PHP přes web servr.