76

(20 odpowiedzi, napisanych Oprogramowanie / Software)

Jest tylko jeden problem tego skryptu, bardzo obciąża mi system. Jeśli są jakieś alternatywy też jestem otwarty.

77

(20 odpowiedzi, napisanych Oprogramowanie / Software)

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? sad

78

(20 odpowiedzi, napisanych Oprogramowanie / Software)

gdzie ja mam wpisać te GPIO w tym kodzie i jak to kompilować tongue

79

(20 odpowiedzi, napisanych Oprogramowanie / Software)

Ok, poczytałem to, ale dalej nie wiem od czego zacząć tongue Widzę tylko że będzie z tego niezła jazda.

80

(20 odpowiedzi, napisanych Oprogramowanie / Software)

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 ...

81

(20 odpowiedzi, napisanych Oprogramowanie / Software)

Raspberry nie widzi obecnie LEDów. Muszę jakoś OpenWrt wyjaśnić że je ma i pod jakim GPIO.

82

(20 odpowiedzi, napisanych Oprogramowanie / Software)

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?

83

(20 odpowiedzi, napisanych Oprogramowanie / Software)

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? smile

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 smile

awk -F= '/gpio-11/' /sys/kernel/debug/gpio

Dziękuję za pomoc smile

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 ... smile

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 smile

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 smile

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 tongue 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?! tongue

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 smile

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.

smile

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 smile

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?