Jest tylko jeden problem tego skryptu, bardzo obciąża mi system. Jeśli są jakieś alternatywy też jestem otwarty.
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Posty przez mjab
Jest tylko jeden problem tego skryptu, bardzo obciąża mi system. Jeśli są jakieś alternatywy też jestem otwarty.
Ok, przyciski już mam, o to kod:
#!/bin/sh
STAN_GPIO () {
plik="/tmp/stan_gpio_$1.txt"
echo $1 > /sys/class/gpio/export
s=$(gpioctl dirin $1)
s=""
WARTOSC=$(gpioctl get $1)
echo $1 > /sys/class/gpio/unexport
if [ "$WARTOSC" != "${WARTOSC/LOW/}" ]; then
p=2
if [ -e $plik ]; then
p=$(cat $plik)
fi
if [ "$p" -ne "0" ] ; then
echo "0" > $plik
echo "0"
else
echo ""
fi
fi
if [ "$WARTOSC" != "${WARTOSC/HIG/}" ]; then
p=2
if [ -e $plik ]; then
p=$(cat $plik)
fi
if [ "$p" -ne "1" ] ; then
echo "1" > $plik
echo "1"
else
echo ""
fi
fi
}
i=1
while [ "$i" != 0 ]; do
# GPIO 17 - Przycisk
STAN=$(STAN_GPIO 17)
if [ "$STAN" == "0" ] ; then
echo "BTN_1 - Rozwarty"
fi
if [ "$STAN" == "1" ] ; then
echo "BTN_1 - Zwarty"
fi
STAN=""
# ---
# GPIO 27 - Czujnik swiatla
STAN=$(STAN_GPIO 27)
if [ "$STAN" == "0" ] ; then
echo "BTN_2 - Rozwarty"
fi
if [ "$STAN" == "1" ] ; then
echo "BTN_2 - Zwarty"
fi
STAN=""
# ---
done
Do zadziałania trzeba zainstalować:
opkg update
opkg install gpioctl-sysfs
Teraz co z tymi LEDami? ![]()
gdzie ja mam wpisać te GPIO w tym kodzie i jak to kompilować ![]()
Ok, poczytałem to, ale dalej nie wiem od czego zacząć
Widzę tylko że będzie z tego niezła jazda.
Przyciski mogę sam jakoś oprogramować, to nic trudnego (chyba). Ale LED już nie napisze od zera. Obecnie pod poleceniem ls /sys/class/leds/ mam led0 i led1 ale to są diody na płycie, ja chce użyć np GPIO 26, 27 itd ...
Raspberry nie widzi obecnie LEDów. Muszę jakoś OpenWrt wyjaśnić że je ma i pod jakim GPIO.
Ok, ale LED mogę jakoś dopisać z GPIO? Bo jak inaczej mam użyć np. Heartbeat mając diodę LED na GPIO 26?
Ręcznie mogę to odczytać i przełączyć i działa, ale jak to dopisać do kernela?
Witam,
mam Raspberry Pi 3 B i chcę niektóre GPIO dopisać do diód LED (by migały np. podczas pracy wifi), a niektóre dopisać do przycisków tak by zwarcie danego GPIO z +3,3v było czytane jako jakiś przycisk.
Tu jest rozpiska GPIO: https://www.raspberrypi-spy.co.uk/wp-co … 24x341.png
i powiedzmy że do GPIO 17, 27, 22 chcę mieć przyciski BTN_1, BTN_2, BTN_3, a do GPIO 26 chcę podłączyć LED która będzie mrygała podczas połączenia WiFi.
Jak to mogę zrobić?
PS. System: OpenWrt 18.06.4, r7808-ef686b7292
ok, przekonaliście mnie mam już 18.04
system ten ma za zadanie kontrolować inteligentny dom za pomocą GPIO i skryptów w bash
Moja architektura to arm_cortex-a53_neon-vfpv4 i masz rację to nie jest architektura z typowych tp-linków
Mam już zainstalowane wszystkie pakiety i skonfigurowane po za digitemp. Naprawdę muszę wgrać na nowo system by wgrać tylko digitemp? Obecne pakiety i konfiguracja ich zajeła mi kilka godzin.
Witam,
wgrałem w Raspberry Pi 3 Model B Rev 1.2 - LEDE Reboot 17.01-SNAPSHOT r4045-0d38db6.
Mam jednak problem, bo nie mogę zainstalować pakietu digitemp by wykonać taki projekt: http://kernelreloaded.com/reading-tempe … n-openwrt/
Dodatkowo mam digitemp w postaci ipk ale gdy pobiorę go do tmp za pomocą wget i wydam polecenie opkg install /tmp/digitemp/ipk to wywala błąd że nie da się tego pakietu zainstalować (na routerach tp-link działa)
Czy ktoś potrafi mi pomóc? ![]()
Jeszcze dla potomnych skrypt:
#!/bin/sh
stan=$(awk -F= '/gpio-12/' /sys/kernel/debug/gpio);
if echo "$stan" | grep 'lo'; then
echo "Przycisk zwarty";
fi
if echo "$stan" | grep 'hi'; then
echo "Przycisk rozwarty";
fi
stan="";
Wielkie dzięki za pomoc :)
ok, to już sam mam ![]()
awk -F= '/gpio-11/' /sys/kernel/debug/gpio
Dziękuję za pomoc ![]()
Jak odczytać tylko 11 ?
cat /sys/kernel/debug/gpio
GPIOs 0-19, ath79:
gpio-0 (tp-link:green:qss ) out hi
gpio-1 (tp-link:green:system) out hi
gpio-6 (USB power ) out hi
gpio-8 (tp-link:green:3g ) out lo
gpio-11 (reset ) in lo
gpio-12 (qss ) in hi
Witam,
posiadam OpenWrt Chaos Calmer 15.05.1 (r49484) zainstalowany w routerze TP-Link TL-WR842N/ND v1.
Używam przycisku reset jako czujnika oświetlenia. Podłączyłem zamiast przycisku opto-rezystor 10k, gdy jest jasno przycisk zostaje wciśnięty, gdy ciemno puszczony. Problem polega na tym że potrzebuję odczytać rzeczywisty stan tego przycisku po uruchomieniu routera.
Chodzi o to że jest dzień, przycisk zwarty (wciśnięty) następuję restart routera (np. zanik prądu) i router po uruchomieniu nie widzi wciśniętego przycisku aż do rozwarcia (puszczenia) i ponownego zwarcia (wciśnięcia). Tym czasem potrzebuję by zauważył po ponownym uruchomieniu że ten przycisk jest cały czas zwarty (wciśnięty).
Czy ktoś może mi pomóc? Nie wiem jak się do tego zabrać...
Mam rozwiązanie ... ![]()
otóż klient który ma mieć Internet przez VPN ma np. tak:
ifconfig-push 10.10.11.10 255.255.0.0
push "route 192.168.0.0 255.255.255.0 10.10.10.1"
push "redirect-gateway def1"
Zabrakło po prostu push ... Dziękuję za pomoc, teraz wszystko jest ok ![]()
ok, czyli klient który ma korzystać z internetu przez VPN ma w /etc/openvpn/ccd/[nazwa_klienta] :
np.
ifconfig-push 10.10.11.10 255.255.0.0
push "route 192.168.0.0 255.255.255.0 10.10.10.1"
redirect-gateway def1
Klient który nie ma mieć dostępu do Internetu za pomocą VPN, ale ma mieć dostęp do sieci LAN przez VPN ma:
ifconfig-push 10.10.11.11 255.255.0.0
push "route 192.168.0.0 255.255.255.0 10.10.10.1"
Problem w tym, że żaden z nich dalej nie ma dostepu do Internetu po VPN, oczywiście restartowałem serwer OpenVPN i połączenie klienta z tunelem.
Nie mam pojęcia dlaczego...?
ok, w GUI na www mam opcję Klienty używają VPN do: Dostępu tylko do zasobów lokalnych
teraz co dopisać w /etc/openvpn/ccd/ .... by dany klient miał Internet po VPN? Bo obocnie nikt nie ma ![]()
Obecnie mam tak u każdego:
ifconfig-push 10.10.254.1 255.255.0.0
push "route 192.168.0.0 255.255.255.0 10.10.10.1"
Chodzi o to by ten jeden klient korzystał z własnego internetu, a nie przez vpn. Reszta ma mieć internet po VPN.
Jest wiele klientów główne telefony (Android) i laptopy, Ci klienci mają mieć neta po VPN.
Ale jest też inny router z openvpn i on ma korzystać tylko z VPN jako dostępu do sieci, a internet już po własnym łączu i IP używać.
Pamiętam że w GUI wyłączało się dostęp do Internetu przez VPN i dopisywało coś w /etc/openvpn/ccd/[nazwa_klienta] żeby dany klient mógł korzystać z internetu przez VPN, ci którzy nie mieli dopidsanego polecenia nie mieli internetu z VPN i korzystali z własnego łącza, a tylko mieli dostęp do sieci LAN przez VPN.
Tylko minął rok, dodałem przez GUI nowe konto klienta i wszystko znikło. Teraz nie pamietam co dopisać... kurcze
Skleroza nie boli ... może ktoś jest w stanie mi to przypomnieć? Szukam po google i nic.
Pamiętam że to była jedna linijka kodu, banał tylko co to było ....
Ok, wiem że robiło się coś w /etc/openvpn/ccd/ ??
ale nie pamiętam co..... pomocy?! ![]()
Witam,
Posiadam router TP-Link a w nim Gargoyle 1.6.2.2.
Uruchomiłem OpenVPN serwer który działa w 100% ok, tylko mam problem...
Mam w GUI ustawione by serwer VPN umożliwiał kontakt z siecią LAN i INTERNET dla Klientów, ale chciałbym by jeden z nich miał dostęp tylko do LAN, bez dostępu do INTERNET.
Kiedyś to już robiłem popisując coś do plików konfiguracyjnych danego klienta ale nie pamiętam co i gdzie.
Bardzo bym prosił o pomoc ![]()
Witam,
a czy nie lepiej tak: https://www.youtube.com/watch?v=fhx2mi-EaXc
Taki router i zestaw fotorezystorów + modułów przekaźnika to ok 95 PLN. Ingerencja w elektronikę jest znikoma, a przekaźniki są optycznie odizolowane odizolowane.
![]()
Witam,
potrzebuję dopisać oba przyciski (wps i reset) do konkretnych funkcji. Niestety po kliknięciu reset router się restartuje, a po przytrzymaniu i puszczeniu uruchamia się w ustawieniach domyślnych.
Jak mogę sprawić by przycisk reset działał tak jak wps i nie resetował routera?
Machine: TP-Link TL-WR740N/ND v4
OpenWrt 18.06-SNAPSHOT, r7405-06a20afb34
Build time: 2018-12-01 08:55 CET
Cezary Jackiewicz (obsy), http://eko.one.pl
Z góry dzięki za pomoc ![]()
ok, ale BT przecież tez obsługuje OpenWRT? A chciałbym połączyć to w cały projekt inteligentnego domu który rozwijam na OpenWRT od 2 lat.
Mam już sterowanie zamkami w drzwiach, rolety na oknach czy po prostu oświetlenie (za zasadzie przekaźników), ogrzewanie niezależne na każdy pokój, jednak żarówki na BT znacznie ułatwiają sprawę bo kosztują ok 16 PLN za szt. i nie muszę specjalnie kablować mieszkania.
Napisałem własną aplikację na Android do mojego systemu, chciałbym dodać do tego żarówki.
Wie ktoś jak taką żarówkę sprzężyć z OpenWRT?
eko.one.pl → Posty przez mjab
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc