Moje Rapsberry Pi - Automat 2 pro LED noviny 96x12

raspipidi

Automat pro LED noviny je založen na RPI. K automatu se připojuje LED panel  pomocí konektoru RS232 (COM1). Funkce zařízení je následující: po zapnutí napájení RPI se provede reset LED panelu, proběhne kontrola dostupnosti připojení k Internetu, stáhne se soubor ledtext.txt z webové stránky a začne se vyčítat obsah souboru na RS232 port. Tento cyklus se neustále opakuje...

DONATE

  • zdroj led.py Python

Kontrola dostupnosti sítě se provádí po každém přehrátí obsahu souboru ledtext.txt (taktéž stažení souboru z webu. Toto zajistí okamžité přehrátí nového souboru...)

Pokud je dostupné připojení k Internetu provádí  se před začátkem výpisu souboru ledtext.txt výpis aktuálního datumu a času. RPI nemá RTC obvod a v případě že není dostupná síť neproběhne NTP synchronizace. RPI ukazuje nesprávný čas a datum (zobrazuje čas a datum před vypnutím systému). Pokud není připojení dostupné výpis času a datumu se nebude na LED panelu provádět.

Upload souboru ledtext.txt

Nahrátí souboru ledtext.txt do LED panelu se provádí "komfortně" přes webové rozhraní. Stačí vybrat soubor v PC, zadat heslo a stisknout nahrát na server... Soubor musí být: menší než 10 MB, formát ANSI. Pozor vkládaný text nesmí obsahovat uvozovky!

Webová stránka pro upload souboru

ledweb

Před začátkem provedeme aktualizaci systému a instalaci GPIO do Pythonu (pokud jsme to již udělali jedeme dál...)

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install python-dev

sudo apt-get install python-rpi.gpio

Pokud využíváme sériový výstup (v Pythonu) musíme do RPI doinstalovat modul sériového rozhraní

V příkazovém řádku zadáme:

sudo apt-get install python-serial

Dále vytvoříme soubor led.py:

sudo nano led.py

Do editoru, který se nám otevřel zkopírujeme text ze souboru v příloze:

Pro uložení stiskeme Ctrl + O a [enter] následované Ctrl-X.

sudo chmod 777 led.py

Vyzkoušíme funkčnost programu a sériového rozhraní:

sudo python led.py

Pokud vše funguje jak má, měli bychom vidět následující řádky objevující se opakovaně...

led panel puty

Přidáme příkaz do rc.local pro samočinné spouštění našeho skriptu:

sudo nano /etc/rc.local

a přidáme před exit tento text:

/bin/echo  "Startuji led panel..."

cd /home/pi/

sudo python led.py

Protože se při bootování používá také sériová linka pro výpis - zakážeme používání sériové linky v tomto souboru /boot/cmdline.txt odstraníme odkaz na sériové rozhraní. Soubor bude po úpravě vypadat takto:

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

 

Dále bude potřeba k našemu RPI připojit nějaký převodník z úrovně 3,3V na RS232 (+-12V)

RPI má sice vestavěný UART sériový port, ale abychom ho mohli používat musíme přidat RS232 převodník (modul) a udělat nějaké jednoduché rekonfigurace. Modul musí být připojen mezi piny GPIO RPI a sériové zařízení (ústředna, GPS, meteostanice atd., nebo můžeme připojit počítač pomocí sériového kabelu a používat sériovou konzoli). Co přesně provádí modul RS232? Mikroprocesor a další komponenty na RPI byly navrženy na logice 0 a 3,3V. (Starší zařízení v minulosti používala logiku 0 a 5V) . Tyto logické úrovně je potřeba převést. Připojit RS232 přímo na GPIO piny by znamenalo poškození RPI. RS232 standard se používal po celá desetiletí a určuje rozsah hodnot napětí mezi ± 5 a ± 15 voltů. PC používá ± 12 Voltů tj. rozdíl napětí 24 voltů. Modul převodníku musí být kompatibilní s 3.3V napěťovou logikou. Rozhodl jsem se koupit hotový modul osazený obvodem MAX3232 . MAX3232 pracuje jak s 3.3V tak 5V logikou. Stačí připojit napájení 3.3V.

GPIO vývody --------- Modul RS232
1 (3.3V)-----------------3.0-5.5VDC (3.3V)
25 (GND)----------------GND
8 (TX)--------------------TTL-Tx/din1
10 (RX)------------------TTL-Rx/rout1
18 (DTR-RESET)-----TTL-din2

 

 

Zakoupený modul RS232 osazený IO MAX3232 (130,- Kč včetně poštovného) - modul je osazen 2x LED pro info RX/TX. Použití převodníku pro ovládání LED panelu (signál Rx, Tx, DTR)

rs232upraveny

 

Pro připojení RPI k síti Internet pomocí WiFi, nebo 3G modemu použijeme nastavení viz tyto články:

WiFi Edimax a 3G modem Huawei

 

Program kontroluje soubor uložený na www a soubor uložený lokálně na SD kartě. V případě shody neproběhne synchronizace (toto omezuje neustálé stahování stejného souboru).

 

Propojovací kabel na propojení led panelu a automatu RPI

2x Cannon DSUB 9-M (samec)

propojení pinů v kabelu:

2-3 Rx

3-2 Tx

4-4 DTR

5-5 GND

 

Video - ukázka nahrátí programu a zobrazení na panelu

 

ledrpi

IMG 20131018 090752

IMG 20131018 092948

IMG 20131018 101514

IMG 20131018 101530