Pokazywanie postów oznaczonych etykietą it. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą it. Pokaż wszystkie posty

środa, 19 lutego 2020

Control Sony Bravia TV with openHAB 2.5 through Google Home

Here is how i control power on and off my sony bravia tv :)

1. Download two files (print_ircc_codes.sh; send_command.sh) from:
https://github.com/breunigs/bravia-auth-and-remote
and save them in /home/pi folder with attributes 0755.

2. Set your tv like in readme.md:

  • Navigate to: [Settings] → [Network] → [Home Network Setup] → [IP Control]
  • Set [Authentication] to [Normal and Pre-Shared Key]
  • There should be a new menu entry [Pre-Shared Key]. Set it to 0000. If you choose anything else, you need to change the PSK in the send_command.sh script.


3. Run this command to check control codes of your tv.
(of course with your tv ip)
print_ircc_codes.sh 192.168.8.120
4. Now create openhab files openHAB:
(of course edit tv codes)

sony.items
Switch TV "Bravia TV" { ga="Switch" }

sony.sitemap
sitemap default label="Dom"
{
Switch item=TV label="Bravia TV" mappings=[ "ON"="ON", "OFF"="OFF" ]
}

sony.rules
rule "TV ON"
when
Item TV received command ON or
Item TV changed from OFF to ON
then
executeCommandLine("/home/pi/send_command.sh 192.168.8.120 AAAAAQAAAAEAAAAuAw== sony")
end

rule "TV OFF"
when
Item TV received command OFF or
Item TV changed from ON to OFF
then
executeCommandLine("/home/pi/send_command.sh 192.168.8.120 AAAAAQAAAAEAAAAvAw== sony")
end

poniedziałek, 17 lutego 2020

Setup openHAB 2.5 + Mosquitto MQTT + SONOFF ESPurna + Google Home

Since gbridge.io is shutting down i needed to move to different platform.
openHAB cloud started to be stable so it's good time to move my smart home to it.

This is fast tutorial and does not explains everything exactly, serves only to facilitate the work of a person who knows a little about it :)

1. First install Mosquitto server on your raspberry. It's way more stable than openHAB Moquette broker.
sudo apt-get install mosquitto mosquitto-clients
2. Then install newest stable openHAB
wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add -
sudo apt-get install apt-transport-https

echo 'deb https://dl.bintray.com/openhab/apt-repo2 stable main' | sudo tee /etc/apt/sources.list.d/openhab2.list

sudo apt-get update
sudo apt-get install openhab2

sudo systemctl start openhab2.service
sudo systemctl status openhab2.service

sudo systemctl daemon-reload
sudo systemctl enable openhab2.service
3. In openHAB install MQTT Binding addon and openHAB Cloud Connector

4. Create config files for your SONOFF's:
(off course with your mqtt names)

/etc/openhab2/items/default.items
Switch BedTV "Bed TV" { channel="mqtt:topic:BedTV:switch", ga="Outlet"}
Switch BedLight "Bed Light" { channel="mqtt:topic:BedLight:switch", ga="Light"}

/etc/openhab2/sitemap/default.sitemap
sitemap default label="Dom"
{
     Switch item=BedTV label="Bed TV"
     Switch item=BedLight label="Bed Light"
}

/etc/openhab2/things/default.things
Bridge mqtt:broker:myUnsecureBroker "Mosquitto MQTT Broker" [ host="localhost", secure=false ]
{
     // Bed TV
     Thing mqtt:topic:BedTV "Bed TV" {
          Channels:
          Type switch : switch "Power Switch" [
          stateTopic="ESPURNA-Bed-TV/relay/0",
          commandTopic="ESPURNA-Bed-TV/relay/0/set",
          on="1",
          off="0"
          ]
     } 
     // Bed Light
     Thing mqtt:topic:BedLight "Bed Light" {
          Channels:
          Type switch : switch "Power Switch" [
          stateTopic="ESPURNA-Bed-Light/relay/0",
          commandTopic="ESPURNA-Bed-Light/relay/0/set",
          on="1",
          off="0"
          ]     }
}

5. Configure your SONOFF ESPurna to connect to your MQTT Mosquitto server.
(i like ESPurna soft becouse for me it's way more stable that Tasmota)
6. Configure openHAB Cloud Connector
cat /var/lib/openhab2/uuid ; echo
cat /var/lib/openhab2/openhabcloud/secret ; echo

6.1 Create account with this data on https://myopenhab.org/

6.2 Add openHAB on your phone in your google assistant.




czwartek, 7 stycznia 2016

OpenWrt Chaos Calmer 15.05 na TP-Link TL-MR3420 v2 + Huawei E3372 Hilink


Opis instalacji najnowszego wydania systemu OpenWrt Chaos Calmer 15.05 na routerze TP-Link TL-MR3420 v2 posiadającym tylko 4MB pamięci węwnęrznej. Skonfigurowanie exroot i zainstalowanie modemu Huawei E3372 bez podłączenia z internetem.

Router: TP-Link TL-MR3420 v2 Wersja 4MB
OS: OpenWrt Chaos Calmer 15.05
Modem: Huawei E3372 Hilink
(jeśli posiadasz modem w wersji normalnej, poradnik jak przerobić go na wersje hilink znajdziesz tutaj)

  1. Pobieramy na komputer podłączony lanem do routera oprogramowanie OpenWrt z http://dl.eko.one.pl/chaos_calmer/ar71xx/
    • openwrt-15.05-ar71xx-generic-tl-mr3420-v2-squashfs-factory.bin - Jeśli wgrywamy na oprogramowaniu TPLINK
    • openwrt-15.05-ar71xx-generic-tl-mr3420-v2-squashfs-sysupgrade.bin - Jeśli wgrywamy z OpenWrt lub Gargoyle PL
  2. Oraz pobieramy wymagane pakiety do obsługi modemu http://dl.eko.one.pl/chaos_calmer/ar71xx/packages/
    • kmod-mii_3.18.23-1_ar71xx.ipk
    • kmod-usb-net_3.18.23-1_ar71xx.ipk
    • kmod-usb-net-cdc-ether_3.18.23-1_ar71xx.ipk
    • libpthread_0.9.33.2-1_ar71xx.ipk
    • librt_0.9.33.2-1_ar71xx.ipk
    • libusb-1.0_1.0.19-1_ar71xx.ipk
    • usb-modeswitch_2014-08-26-993a9a542791953c4804f7ddbb3a07756738e37a_ar71xx.ipk
  3. Wgrywamy pobrany OS z poziomu panelu routera w przeglądarce.
  4. Podłączamy Modem E3372 i dowolnej wielkości pendrive(w moim przypadku 256mb) przez HUB USB(najlepiej aktywny ale ja posiadam ten) do routera.
  5. Łączymy się za pomocą programu putty.exe wybierajac telnet i adres 192.168.1.1
  6. Wykonujemy następujące komendy w celu powiększenia pamięci na routerze(exroot):
  7. root@OpenWrt:~# mkfs.ext4  -m 0 /dev/sda1 root@OpenWrt:~# block detect > /etc/config/fstab root@OpenWrt:~# uci set fstab.@mount[0].target=/overlay root@OpenWrt:~# uci set fstab.@mount[0].enabled=1 root@OpenWrt:~# uci commit fstab root@OpenWrt:~# reboot
  8. Ponownie łączymy się za pomocą programu putty.exe wybierajac telnet i adres 192.168.1.1
  9. Zmieniamy hasło dla użytkownika root poprzez komendę
  10. passwd
  11. Korzystając z programu WinSCP przez SCP wgrywamy pobrane pakiety to katalogu /tmp
  12. Wykonujemy następujące komendy w poniższej kolejności aby zainstalować wymagane pakiety 
  13. root@OpenWrt:~# opkg install /tmp/kmod-mii_3.18.23-1_ar71xx.ipk root@OpenWrt:~#  opkg install /tmp/kmod-usb-net_3.18.23-1_ar71xx.ipk root@OpenWrt:~# opkg install /tmp/kmod-usb-net-cdc-ether_3.18.23-1_ar71xx.ipk root@OpenWrt:~# opkg install /tmp/libpthread_0.9.33.2-1_ar71xx.ipk root@OpenWrt:~# opkg install /tmp/librt_0.9.33.2-1_ar71xx.ipk root@OpenWrt:~# opkg install /tmp/libusb-1.0_1.0.19-1_ar71xx.ipk root@OpenWrt:~# opkg install /tmp/usb-modeswitch_2014-08-26-993a9a542791953c4804f7ddbb3a07756738e37a_ar71xx.ipk
    lub jedną komendą:
    opkg install /tmp/*.ipk 
  14. Sprawdzamy czy nasz modem jest wykrywalny(jeśli nie, możemy go ponownie odłączyć i podłączyć)
  15. root@OpenWrt:~# logread | grep CDC
  16. Ustawiamy połączenie internetowe w modemie
  17. root@OpenWrt:~# uci set network.wan.ifname=eth2 root@OpenWrt:~# uci set network.wan.proto=dhcp root@OpenWrt:~# uci commit network root@OpenWrt:~# reboot
  18. Instalujemy GUI w tym wypadku najpopularniejsze Luci
  19. root@OpenWrt:~# opkg update root@OpenWrt:~# opkg install luci root@OpenWrt:~# reboot
  20. Zamykamy putty i resztę konfiguracji możemy wykonać w przeglądarce pod adresem 192.168.1.1
Szczególne podziękowania dla Cezarego Jackiewicza z forum eko.one.pl za zmodyfikowany obraz bez interfejsu GUI oraz pomoc w instalacji.

piątek, 4 grudnia 2015

Huawei E3372 przerobienie na HiLINK oraz UNBRICK (aktualizacja 2021)

Prosta i szybka instrukcja jak przerobić modem E3372 z normalnej wersji na hilink, która to jest znacznie wygodniejsza do obsługi oraz lepiej działa z routerem. Hilink ma również więcej opcji jeśli chodzi o wybór sieci oraz można w nim odbierać SMS. 

Instrukcja składa się z kilku prostych kroków:
  1. Pliki do pobrania znajdziemy tutaj: 
    https://www.mediafire.com/folder/ll9ieqqooyhy5/Documents#00msmvxx94tkx
  2. !!!Nie podłączamy modemu!!!.
  3. Instalujemy sterowniki
    MobileBrServ_22.001.27.00.03
    HUAWEI_DataCard_Driver_6.00.08.00_Setup
  4. Wkładamy modem do komputera
  5. Instalujemy: 
    Firmware: E3372h-607_Update_21.110.99.02.00
    Firmware: E3372h-153_Update_22.323.01.00.00_M_AT_05.10
  6. Postępujemy zgodnie z komunikatami. Na końcu modem sie zrestartuje.
  7. Po wejści już na stronę 192.168.8.1 aktualizujemy webui w zakąłdce update:
    Update_WEBUI_17.100.13.01.03_HILINK_Mod1.10_E3372h.bin
A gdy aktualizacje się nie udają zawsze możemy wgrac wsyztsko od nowa na czysto wykorzystujac prosty mod:
  1. Pobieramy: 
    https://www.mediafire.com/file/x11lurkk1zapa1k/e3372h-153_ratunek.zip/file
  2. Uruchamiamy CMD jako administrator.
  3. Przechodzimy do wypakowanego katalogu:
    cd C:\Users\XXX\Downloads\e3372h-153_ratunek\recovery
  4. Postępujemy wg. instrukcji czytaj.pdf
  5. Po poprawnym wpisaniu komendy balong_usbdload -pX usblsafe.bin postepujemy jak wyżej od punktu 5.

Instalacja i konfiguracja serwera wydruków CUPS na Raspberry Pi2 z użyciem drukarki SAMSUNG.

Prosta i szybka metoda na podłączanie drukarki nie mającej wifi do sieci z użyciem raspberry pi i CUPS.

Instalacja CUPS

  1. Oczywiście podpinamy drukarkę kablem USB do maliny
  2. Instalujemy CUPS przez terminal:
  3. sudo apt-get install cups
  4. Dodajemy naszego uzytkownika pi do grupy administratorskiej stworzonej przez CUPS:
  5. sudo usermod -a -G lpadmin pi
  6. Musimy edytować jeszcze config naszego serwera wydruku. A więc::
  7. sudo nano /etc/cups/cupsd.conf
  8. Zmieniamy wpisy tak jak pogrubione poniżej:
    # Only listen for connections from the local machine
    # Listen localhost:631
    Port 631

    < Location / >
    # Restrict access to the server...
    Order allow,deny
    Allow @local
    < /Location >

    < Location /admin >
    # Restrict access to the admin pages...
    Order allow,deny
    Allow @local
    < /Location >

    < Location /admin/conf >
    AuthType Default
    Require user @SYSTEM
    # Restrict access to the configuration files...
    Order allow,deny
    Allow @local
    < /Location >
  9. Restartujemy usługę:
    sudo /etc/init.d/cups restart

Instalacja sterowników(SAMSUNG)

  1. Pobieramy sterowniki do naszej drukarki i je instalujemy.
  2. W moim przypadku jest to samsung więc sterowniki pobieramy z tąd: uld_v1.00.36_00.91.tar.gz
  3. Wypakowujemy i wgrywamy folder z sterownikami uld przez sftp np. programem filezilla do naszego domowego folderu /home/pi/
  4. Nadajemy wszystkim plikom chmod 777
  5. Instalujemy przy pomocy komendy:
    sudo ./install.sh 
  6. Ze względu na brak wspierania armhf dostaniemy masę błędów ale się tym nie przejmujemy. potrzebujemy w sumie tylko plików .ppd które zostaną dodane do naszego systemu.

Konfiguracja CUPS

  1. Przechodzimy na stronę: http://[IP MALINY]:631/admin i klikamy Add Printer
  2. Wybieramy naszą drukarkę i klikamy Continue
  3. Zaznaczamy Share This Printer i klikamy Continue
  4. Wybieramy nasz firmę naszej drukarki i klikamy Continue
  5. Zaznaczamy odpowiedni model i klikamy Add Printer
  6. Teraz możemy wybrać podstawowe ustawienia drukarki i klikamy Set Default Options
  7. Klikamy na nazwę naszej drukarki.
  8. Kopiujemy adres naszej drukarki z przegladarki
  9. Niestety drukarki samsung nie są do końca wspierane i w statusie będzie taki błąd, dodatkowo wydrukowanie testowej strony przez CUPS będzie niemożliwe.
  10. Otwieramy Control Panel na docelowym komputerze w sieci.
  11. Wybieramy Advanced printer setup
  12. Klikamy The printer that I want isn't listed
  13. Wklejamy wcześniej skopiowany adres naszej drukarki. (http a nie https)
  14. I GOTOWE :) Możemy już swobodnie drukować
W kolejnym poradniku dodamy tą drukarkę do konta google i zrobimy cloud printing :)

środa, 2 grudnia 2015

Szybka instalacja serwera FTP na CentOS7 (VSFTPD)

FTP (File Transfer Protocol) jest prawdopodobnie najpopularniejsza metodą wgrywania plików na serwer. Domyślnie połączenie jest nieszyfrowane, więc nie zalecam trzymana tam poufnych danych. W tym krótkim ale treściwym poradniku dowiecie się jak zainstalować w 5 minut serwer VSFTPD na maszynie z CentOS 7

Instalacja

yum -y update 
yum -y install vsftpd

Konfiguracja

Przechodzimy w tryb edycji:
nano /etc/vsftpd/vsftpd.conf
Wyłączamy logowanie anonimowe:
anonymous_enable=NO
Włączamy możliwość logowania użytkowników lokalnych:
local_enable=YES  
Właczamy możliwość zapisu:
write_enable=YES
Ustawiamy by użytkownik nie mógł wychodzić z własnego katalogu:
chroot_local_user=YES
Zapisujemy CTRL+O i wychodzimy z edytora CTRL+X.

Restartujemy ftp:
systemctl restart vsftpd 
Włączamy autostart serwera ftp przy starcie systemu:
systemctl enable vsftpd

Dodawanie użytkowników

Dodajemy użytkownika który będzie korzystał z ftp:
useradd ftpuser
passwd ftpuser
Dodatkowo możemy wyłączyć dla takiego użytkownika możliwość korzystania z ssh:
usermod -s /sbin/nologin ftpuser
Na końcu po ostatnich zmianach należny zrestartować serwer ftp:
systemctl restart vsftpd 

czwartek, 22 października 2015

Pobieranie całego katalogu WWW (WGET)


Czasami zdarza się że potrzebujemy pobrać cały katalog  który ktoś umieścił na serwerze WWW. O ile na linuxie mamy już WGET to na windowsie musimy go najpierw pobrać.

WGET.exe pobieramy z tąd: https://eternallybored.org/misc/wget/. Umieszczamy go w katalogu do którego będziemy pobierać dane z strony(np: C:\WWW\)

Strona z której dla przykładu będziemy pobierać to http://downloads.raspberrypi.org/

Otwieramy CMD, przechodzimy do katalogu w którym znajduje się WGET.exe

cd C:\WWW\
wget --execute="robots = off" --mirror --no-parent --wait=5 http://downloads.raspberrypi.org/osmc_pi2/

Cały folder zostanie pobrany do katalogu C:\WWW\downloads.raspberrypi.org\osmc_pi2\

--no-parent -nie cofamy się z katalogiem wstecz.
--wait=5 -czekamy 5sec by nie zaśmiecić serwera
--execute="robots = off" -wyłącza pobieranie plików robots.