Stačí stáhnout SDK pro používanou platformu (OpenWrt-SDK-ar71xx-for-linux-i486-gcc-4.6-linaro_uClibc-0.9.33.2.tar.bz2).
Dále ještě potřebujeme zdrojáky Oscamu, které získáme takto:
svn checkout http://www.streamboard.tv/svn/oscam/trunk oscam-svn
nebo určitou verzi Oscamu
svn checkout http://www.streamboard.tv/svn/oscam/tags/1.10 oscam-1.10
přejdeme do složky zdrojáků Oscamu
cd oscam-svn
a spustíme kompilaci:
make CROSS=mips-openwrt-linux- CROSS_DIR=../OpenWrt-SDK-ar71xx-for-linux-i486-gcc-4.6-linaro_uClibc-0.9.33.2/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/bin/ STAGING_DIR=../OpenWrt-SDK-ar71xx-for-linux-i486-gcc-4.6-linaro_uClibc-0.9.33.2/staging_dir/
a výsledek máme ve /oscam-svn/Distribution.
Edit: pro aktuální verzi Turríska stačí následující:
make CROSS=powerpc-openwrt-linux- CROSS_DIR=../openwrt/staging_dir/toolchain-powerpc_8540_gcc-4.8-linaro_uClibc-0.9.33.2/bin/ STAGING_DIR=../openwrt/staging_dir/
Odkaz na překompilovanou verzi ze svn přikládám. Stačí jen přejmenovat na oscam, nakopírovat do /bin a konfiguráky si umístit do /etc/oscam a do /etc/init.d/ přidat soubor oscam s násleujícím obsahem:
#!/bin/sh /etc/rc.common
# JFíla
START=90
start()
{
oscam -c /etc/oscam &
}
přidat práva: chmod +x /etc/init.d/oscam
chmod +x /bin/oscam
a povolit spouštění oscamu po startu: /etc/init.d/oscam enable
a nastartovat: /etc/init.d/oscam start
oscam-1.20-unstable_svn11198-powerpc-openwrt-linux-uclibcspe
http://uloz.to/xLr2D8JA/oscam-1-20-unstable-svn11198-powerpc-openwrt-linux-uclibcspe
https://forum.openwrt.org/viewtopic.php?pid=160086#p160086
http://www.streamboard.tv/oscam/wiki/GettingOscam
https://forum.openwrt.org/viewtopic.php?id=42695
středa 18. června 2014
čtvrtek 29. května 2014
Webserver pro Turris
Jako mnoho dalších nadšených uživatelů jsem se nedávno stal šťastným majitelem routeru Turris. Starý router jsem používal jako NAS i jako WEB server, obdobně jsem to udělal i s Turrisem. Výhodou Turrisu je ohromný výpočetní výkon i velká paměť, není tedy nutné se příliš omezovat a je možné instalovat i aplikace používané na serverech, jako třeba Apache.
Takže k návodu:
Takže k návodu:
sobota 8. února 2014
GPS přijímač pro fotoaparát Nikon
Většina zrcadlovek má konektor pro externí spoušť v případě Nikonu jsou zde piny +5V, GND, ostření (první poloha spouště), expozice (domáčknutí spouště) a vstup pro GPS data. Dle zdrojů se jedná o standardní NMEA protokol na 4800 Bd, stačilo tedy změnit výstupní rychlost GPS modulu RYN25AI založeném na modulu u-blox MAX-7. Speciální konektor byl vytěžen z drátové spouště zakoupené na e-bay, za méně než sto korun, pro mechanické uchycení do sáněk byla ještě zakoupena krytka BS-1. Plášt konektoru bylo nutné po straně opatrně naříznout a přepájet piny napájení a sériového portu.
Nastavení přenosové rychlosti se provádí odesláním následující sekvence, více podrobností je uvedeno v katalogovém listu GPS přijímače. Je vhodné použít například Hercules SETUP od HW serveru nebo Terminal by Br@y++. U prve zmíněného je nutné na kartě Serial zaškrtnou volbu HEX a příkaz odeslat. Druhý vyžaduje zadání bajtů v hexadecimálním formátu uvozené znakem $.
B5 62 06 41 09 00 01 01 30 81 00 00 00 00 FC FF 20
[1] http://pinoutsguide.com/DigitalCameras/nikon_d90_pinout.shtml
[2] http://www.reyax.com/Module/GPS/RYN25AI/RYN25AI.pdf
[3] http://www.petermillerphoto.com/nikongps/nikongps2.html
Nastavení přenosové rychlosti se provádí odesláním následující sekvence, více podrobností je uvedeno v katalogovém listu GPS přijímače. Je vhodné použít například Hercules SETUP od HW serveru nebo Terminal by Br@y++. U prve zmíněného je nutné na kartě Serial zaškrtnou volbu HEX a příkaz odeslat. Druhý vyžaduje zadání bajtů v hexadecimálním formátu uvozené znakem $.
B5 62 06 41 09 00 01 01 30 81 00 00 00 00 FC FF 20
Zapojení pinů konektoru je popsáno na [1].
Kabel je mechanicky upevněn proti vytržení pomocí namáčknutého prstence z velké kancelářské sponky. V rozích jsou vyvrtány díry pro světlovody, levá - zelená indikuje přítomnost napájení GPS modulu a červená blikáním aktuálnost určení polohy.
Přijímač je vložen do univerzální přístrojové krabičky, v pozadí je patrná přišroubovaná krytka pro sáňky na spodek krabičky. Vrut drží pohromadě oba díly krabičky a zároveň zamezuje otočení krabičky vůči sáňkám fotoaparátu.
Materiál krabičky je vzhledově dosti podobný materiálu těla fotoaparátu.
[1] http://pinoutsguide.com/DigitalCameras/nikon_d90_pinout.shtml
[2] http://www.reyax.com/Module/GPS/RYN25AI/RYN25AI.pdf
[3] http://www.petermillerphoto.com/nikongps/nikongps2.html
sobota 14. září 2013
Nová hračka jménem WR703 & WR702
Při toulkách po internetu jsem našel zajímavou rodinu WiFi routerů TP-WR703n, WR702n a MR3020.
Nejprve jsem si koupil 702ku za 18 USD. Ještě stačilo dokoupit vhodnou RAMku za 5 USD (dobrá cena za 8 ks RAM), nyní má již zařízení 64 MB RAM. Jen tak mimochodem: věděli jste, že RAM Asusu 500gP je možné rozšířit až na 128 MB?
sobota 20. července 2013
Levná redukce pro oblíbený programátor PRESTO
Pro součástky s třívoltovou logikou si doporučuji postavil následující redukci.
Stačilo použít kousek univerzální redukce SOIC14 na DIP14.
Stačilo použít kousek univerzální redukce SOIC14 na DIP14.
pátek 12. července 2013
Jednoduché zabezpečení připojení pomocí domácího routeru
Pokud se například potřebujete z nezabezpečených sítí připojovat k důležitým aplikacím doporučuji si vytvořit proxy spojení skrze SSH (SSH je sám o sobě šifrovaný). Do nastavení PuTTY stačí přidat tunel pro spojení (Connection -> SSH -> Tunnels). Dále zaškrtnout Dinamic a zadat číslo portu (888).
Díky tomuto nastavení si vytvoříte improvizovanou VPNku, největší výhodou je jednoduchost tohoto řešení bez nutnosti instalace programů (stačí jen na počítači spustit PuTTY a internetový prohlížeč). V prohlížeči je ještě nutné si nastavit položku SOCKS Host na localhost a port například na 888. Do Chrome či Firefoxu je možné nainstalovat doplněk SwitchySharp Proxy, kterým je možné snadno přepínány předdefinované proxy servery.
Díky tomuto nastavení si vytvoříte improvizovanou VPNku, největší výhodou je jednoduchost tohoto řešení bez nutnosti instalace programů (stačí jen na počítači spustit PuTTY a internetový prohlížeč). V prohlížeči je ještě nutné si nastavit položku SOCKS Host na localhost a port například na 888. Do Chrome či Firefoxu je možné nainstalovat doplněk SwitchySharp Proxy, kterým je možné snadno přepínány předdefinované proxy servery.
Z pohledu nezabezpečené, nebo sledované sítě, si váš počítač vytvoří zabezpečené spojení na adresu Vašeho routeru, data tekoucí skrze tento tunel není možné tak snadno sledovat. Výhodou je například možnost ze zahraničí sledovat například ČT4 Sport, kdy si server myslí, že sedíte doma a nikoli v zahraničí. U tohoto řešení nemám představu jak je to s legislativou, zda je důležité, že jste obyvatel České Republiky a řádně platíte koncesionářský poplatek nebo zda je nejdůležitější fakt, že nejste na území ČR.
středa 20. března 2013
Jak nechat zmizet ikonku domácí skupiny z plochy Windows8?

Stačí stáhnou soubor z níže uvedené adresy, ten odstraní(resp. přidá) příslušný klíč z registru.
Soubor vypadá takto:
Windows Registry Editor Version 5.00
; Created by: Shawn Brink
; http://www.sevenforums.com
; Tutorial: http://www.sevenforums.com/tutorials/34580-homegroup-desktop-icon-add-remove.html
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]
"{B4FB3F98-C1EA-428d-A78A-D1F5659CBA93}"=dword:00000001
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu]
"{B4FB3F98-C1EA-428d-A78A-D1F5659CBA93}"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]
"{B4FB3F98-C1EA-428d-A78A-D1F5659CBA93}"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu]
"{B4FB3F98-C1EA-428d-A78A-D1F5659CBA93}"=dword:00000001
http://www.sevenforums.com/tutorials/34580-homegroup-desktop-icon-add-remove.html
úterý 9. října 2012
Virtuální HDD + další legrace
Návod na zvětšení virtuálního HDD Ubuntu:
https://help.ubuntu.com/community/ResizeandDuplicateWubiDiskNávod na provoz virtuálního HDD pod Windows:
http://extrawindows.cnews.cz/comment/13426
Návod na zprovoznění vzdálené plochy s klientem Windows pod Ubuntu (12.04):
http://www.liberiangeek.net/2012/05/connect-to-ubuntu-12-04-precise-pangolin-via-windows-remote-desktop/SVN pro poslední vydání OpenWRT
svn checkout svn://svn.openwrt.org/openwrt/tags/backfire_10.03.1Jak správně nastavit cesty Crona
http://stackoverflow.com/questions/2388087/how-to-get-cron-to-call-in-the-correct-paths
středa 29. srpna 2012
Přidání grafického indikátoru využití HDD pro IPBox Enigma2
Je nutné upravit celkem dva soubory:
Nejdříve javascriptový soubor: soubor /usr/local/lib/enigma2/python/Plugins/Extensions/WebInterface/web-d
ata/objects.js
A nyní již jen vlastní šablonu stránky v souboru: /usr/local/lib/enigma2/python/Plugins/Extensions/WebInterface/web-d
Pokud je HDD připojen pomocí USB rozhraní, tak se zobrazuje dvakrát. Tento problém jsem odstranil pomocí přidání podmínky do /usr/local/lib/enigma2/python/Plugins/Extensions/WebInterface/web-d
ata/objects.js, pokud je název HDD stejný jako předchozí, pak se tento nezobrazí.
Nejdříve javascriptový soubor: soubor /usr/local/lib/enigma2/python/Plugins/Extensions/WebInterface/web-d
ata/objects.js
var free = hdd.getElementsByTagName('e2free').item(0).firstChild.data;
var IntFree = parseInt(free.replace(" GB",""));
var IntCapacity = parseInt(capacity.replace(" GB",""));
var pfree = Math.floor(((100 / IntCapacity)
* IntFree)*10)/10;
var pUsed = 100 - pfree;
this.hdds[i] =
{
'model'
: model,
'capacity'
: capacity,
'free' :
free,
'pfree'
: pfree,
'pUsed'
: pUsed
};
ata/tpl/default/tplDeviceInfo.htm
<tr>
<td class="aboutElementLeft">Free:</td>
<td class="aboutElementRight">${hdd.free}</td>
</tr>
<tr>
<td colspan="2" style="padding-right: 3px;">
<div style="width:100%; position:relative; border:1px solid #999999">
<div style="background-color:#CCCCCC; width: ${hdd.pUsed}%; height:15px">
<div style="position:absolute; left:0; top:0; text-align:center; width:100%%;
color:#000000">
<small>Free: ${hdd.free} / ${hdd.capacity} (Free:
${hdd.pfree} %)</small>
</div>
</div>
</div>
</td>
</tr>
ata/objects.js, pokud je název HDD stejný jako předchozí, pak se tento nezobrazí.
var hddnodes = xml.getElementsByTagName('e2hdd');
var PreviousHdd = "";
for( var i = 0; i < hddnodes.length;
i++){
try{
var hdd = hddnodes.item(i);
var model = hdd.getElementsByTagName('e2model').item(0).firstChild.data;
if (PreviousHdd !=
model)
{
var capacity = hdd.getElementsByTagName('e2capacity').item(0).firstChild.data;
var free = hdd.getElementsByTagName('e2free').item(0).firstChild.data;
var IntFree = parseInt(free.replace(" GB",""));
var IntCapacity = parseInt(capacity.replace(" GB",""));
var pfree = Math.floor(((100 / IntCapacity)
* IntFree)*10)/10;
var pUsed = 100 - pfree;
this.hdds[i] =
{
'model'
: model,
'capacity'
: capacity,
'free' :
free,
'pfree'
: pfree,
'pUsed' : pUsed
};
}
PreviousHdd
= model;
}
catch(e){
notify("Error parsing HDD
data: " + e, false);
}
}
pondělí 13. srpna 2012
Skriptování v Notepadu++
Skriptování v Notepadu++
Pomocí doplňku Notepad++ Python Script je možné spouštět
Pythonovské skripty. Následuje příklad pro hromadnou modifikaci HTML, PHP a
javascriptových souborů:
# -*- coding: utf-8 -*-
''' Vyhledani vsech souboru '''
import os
import sys
import string
SeznamSouboru = []
rootdir = "C:\\htdocs\\pokus" # slozka kde jsou
ulozeny upravovane soubory
for root, subFolders, files in os.walk(rootdir):
for file in files:
SeznamSouboru.append(os.path.join(root,file))
# nyni jsou v poli retezce s adresami vsech
souboru ve slozce rootdir
for NazevSouboru in SeznamSouboru:
if ((string.find(NazevSouboru,".php") != -1) or
(string.find(NazevSouboru,".js") != -1) or
(string.find(NazevSouboru,".html") != -1) or
(string.find(NazevSouboru,".htm") != -1)) :
notepad.open(NazevSouboru) # otevreni souboru v notepadu++
# editujeme jen soubory
pro ktere to ma smysl, ne obrazky
''' nahrazeni retezce (prvni parametr) retezcem v druhem parametru '''
editor.replace('ora_getcolumn($curs,$i)', '$row[$i]')
editor.replace('ora_getcolumn($curs,0)', '$row[0]')
editor.replace('ora_parse($curs,', '$curs = sprintf(')
editor.replace('ora_parse($curs2,', '$curs2 = sprintf(')
editor.replace('ora_parse($curs3,', '$curs3 = sprintf(')
# ulozeni modifikovaneho souboru
notepad.saveAs(NazevSouboru)
# uzavreni zalozky v
notepadu
notepad.close()
console.write("Soubor %s byl uspesne
modifikovan!\n" % NazevSouboru)
console.write("Hotovo!")
Přihlásit se k odběru:
Příspěvky (Atom)









