24 grudnia 2017

Instalacja Gitea w RPi0W

Gitea jest to interfejs graficzny do Gita, podobny do Githuba – fork Gogs. Napisany w Go, po kompilacji nie wymaga praktycznie żadnych dodatkowych konfiguracji i mieści się w jednym pliku binarnym.

Uruchamianie Gitea

Ściąganie binarki gitea na dysk:

wget https://dl.gitea.io/gitea/1.3.2/gitea-1.3.2-linux-arm-6

Doda nowego użytkownika do systemu:

# useradd --system -m -d /home/gitea -s /bin/bash gitea

mv https://dl.gitea.io/gitea/1.3.2/gitea-1.3.2-linux-arm-6 /home/gitea

Ustawienie serwisu:

Stworzenie pliku gitea.service w katalogu /lib/systemd/system/:


[Unit]
Description=Gitea
After=syslog.service
Wants=network.target

[Service]
Type=simple
User=gitea
WORKINGDIR=/home/gitea
ExecStart=/home/gitea/gitea-1.3.2-linux-arm-6 web
Restart=always
Environment=USER=gitea HOME=/home/gitea

[Install]
WantedBy=multi-user.target

ustawienie serwisu:

systemctl enable gitea.service

Jeśli zmieniamy konfigurację trzeba zresetować serwis poleceniem:

systemctl stop gitea
systemctl start gitea

23 grudnia 2017

Raspberry Pi Zero W – instalacja systemu bez monitora i klawiatury

Stając się posiadaczem Raspberry Pi Zero W stanąłem przed dylematem instalacji systemu.
Niestety opóźnienia związane z nadchodzącymi świętami Bożego Narodzenia spowodowały, że moja paczka z Aliexpress nie dotarła. A jednak, chęć spróbowania jak działa Raspberry mocno kusiła.

Okazało się, że jest możliwość uruchomienia płytki nie mając do dyspozycji monitora i klawiatury (bardziej chodzi o wersje mikro złącz – mikro-USB i mikro-HDMI – te przejściówki nie dotarły z Chin).

Są dwie możliwe schematy instalacji:

  • z użyciem przejściówki USB-RS232 (to omawia ten artykuł)
  • z użyciem trybu USB On-the-go (na samym końcu artykułu)

Instalacja systemu z przejściówką USB-RS232

Do uruchomienia Raspberry Pi Zero W potrzebne są:

  • Raspberry Pi Zero W 🙂
  • Karta SD z adapterem do komputera
  • Zasilacz (ja użyłem ładowarki do komórki)
  • Przejściówka UART USB-RS232 (np. ft232)

Na początku instalujemy system na kartę SD. Aby to zrobić należy ściągnąć system ze strony. Ja wybrałem wersję “Raspbian Stretch Lite”. Ściągnięty plik zip wypakowujemy i za pomocą programu Win32DiskImager wypalamy na kartę SD.

Po zakończeniu zapisu edytujemy plik “config.txt” – dodajemy nową linię o zawartości:

enable_uart=1

Następnie wkładamy kartę microSD do Raspberry, podłączamy z adapterem UART i podłączamy zasilanie.

Mój setup Rpi zero W

Po uruchomieniu konsola powinna działać, domyślne dane root do logowania to

login: pi hasło: raspberry

Początkowa konfiguracja

Użyjemy narzędzia raspi-config

WiFi

Skanujemy dostępne sieci i wyszukujemy naszą, w linijce zaczynającej się od “ESSID:”. Kopiujemy nazwę i wkleimy ją potem w konfiguracji.

Optymalizacja config.txt

Do konfiguracji dodajemy linijki:

 # Disable Bluetooth dtoverlay=pi3-disable-bt 

Dodatkowe informacje:

https://elinux.org/RPiconfig

https://www.raspberrypi.org/documentation/configuration/config-txt/

Wyłączanie nieużywanych opcji dla zaoszczędzenia energii

HDMI

w pliku /etc/rc.local dodaj przed linijką “exit 0”:


/usr/bin/tvservice -o

Zmiana rozmiaru konsoli

Domyślne rozmiar konsoli ustawiony jest na 32×80:

<pre>% stty size
32 80</pre>

Można to zmienić poleceniem:

% stty cols 132 rows 42

można dodać także do /etc/rc.local

Rozszerzenie partycji na całą kartę SD

sudo raspi-config --expand-rootfs

Uruchomienie SSH

Trzeba stworzyć pusty plik o nazwie “ssh” w katalogu /boot.

Można także zmienić domyślny port SSH w pliku /etc/ssh/sshd_configc

Instalacja Dockera

w konsoli wpisać:

curl -sSL https://get.docker.com |sh

Instalacja systemu w trybie USB On-the-go

Możliwa jest także instalacja posiadając tylko Raspberry Pi Zero W, kartę SD oraz kabel USB.

Mozliwe jest to dzięki opcji USB On-the-go – pozwala to na podłączenie RPi do komputera i łączenie się przez konsolę z nim.

Więcej informacji:

Raspberry Pi Zero – Programming over USB! (Part 2)

7 grudnia 2017

Wykop – rozwijanie wpisów na mikroblogu

Napisałem krótką skryptozakładkę do rozwijania wpisów na mikroblogu – może być przydatne w czytaniu długich dyskusji. Skrypt jest niedopracowany – jeśli nie rozwinęło wszystkich elementów, należy kliknąć jeszcze raz.

Działanie – należy stworzyć nową zakładkę i poniższy kod wkleić w “adres”:

javascript: (function() {

    var content = document.getElementById("content");
    var commentsStream = content.getElementsByClassName("comments-stream");

    /* wiecej komentarzy unwind*/
    var more= commentsStream[0].getElementsByClassName("more");
    for (i = 0; i < more.length; i++)
    {
        var elem=more[i].getElementsByClassName("affect ajax");
        elem[0].click();
    }

    /*pokaz calosc unwind */
    var showMore= commentsStream[0].getElementsByClassName("show-more");
    for (i = 0; i < showMore.length; i++)
    {
        showMore[i].click();
    }

    /*pokaz spoler unwind */
    var showSpoiler= commentsStream[0].getElementsByClassName("showSpoiler");
    for (i = 0; i < showSpoiler.length; i++)
    {
        showSpoiler[i].click();
    }

    /* unwind big images */
    var lazyImage= commentsStream[0].getElementsByClassName("media-content too-long-pic");
    for (i = 0; i < lazyImage.length; i++)
    {
        lazyImage[i].click();
    }

})();


13 sierpnia 2017

Python PIP – instalacja dodatkowych modułów

Fatal error in launcher: Unable to create process using '"'

Rozwiązanie: instalacja przez interpreter Pythona: (katalog Scripts)

python -m pip install --upgrade pip
python -m pip install "nazwa modułu"

20 lipca 2017

Visual Studio – wtyczki i ustawienia

Wyłączenie uzupełniania komentarza końcowego dla komentarza blokowego

Tools-Options-Text Editor-C/C++-Advanced-Brace Competion-Complete Multiline Comments=false

Tools-Options-Text Editor-C/C++-Automatic Brace Competion

 

Wtyczki Visual Studio

VsVim – General-default Settings-GVim74

C++ Debugger Visualizers for VS2017

Editor Guidelines

Google Test Adapter

Time Stamp Margin

VSColorOutput

Trailing Whitespace Visualizer

Structure Visualizer

Ctrl+Click Go to definition

29 maja 2017

Xamarin – uruchamianie przez Wifi, bez USB

From your device, if it is rooted

According to a post on xda-developers, you can enable ADB over Wi-Fi from the device with the commands:

su
setprop service.adb.tcp.port 5555
stop adbd
start adbd

And you can disable it and return ADB to listening on USB with

setprop service.adb.tcp.port -1
stop adbd
start adbd

From a computer, if you have USB access already (no root required)

It is even easier to switch to using Wi-Fi, if you already have USB. From a command line on the computer that has the device connected via USB, issue the commands

adb tcpip 5555
adb connect 192.168.0.101:5555

Be sure to replace 192.168.0.101 with the IP address that is actually assigned to your device.

You can find the IP address of a tablet in two ways:

Manual IP Discovery:

Go into Android’s WiFi settings, click the menu button in the action bar (the vertical ellipsis), hit Advanced and see the IP address at the bottom of the screen.

Use ADB to discover IP:

Execute the following command via adb:

adb shell ip -f inet addr show wlan0

To tell the ADB daemon return to listening over USB

adb usb

Apps to automate the process

There are also several apps on Google Play that automate this process. A quick search suggests adbWireless, WiFi ADB and ADB WiFi. All of these require root access, but adbWireless requires fewer permissions.

Komendę adb connect <ip>:<port> wpisujemy w linię poleceń:

źródło:

  1. https://stackoverflow.com/questions/2604727/how-can-i-connect-to-android-with-adb-over-tcp/3623727#3623727
  2. https://stackoverflow.com/questions/31327839/adb-over-wireless-without-usb-cable-at-all