luni, 21 octombrie 2019

Ububtu WSL on W10-Pro

Salut,


In postul anterior am vorbit despre esp32 si display-ul de 3.5".
Am vorbit de asemena despre solutia IoT pt esp32 ce asigura si include suport si pentru libraria littlevGL(LvGL).
Printre exemplele esp-iot-solution gasim in directorul hmi si un exemplu pt LvGL.
Acest framework esp-iot-solution se bazeaza si-l include pe esp-idf(in special pe freeRTOS).
ESP-IDF este cadrul oficial de dezvoltare pentru chip-ul ESP32.
Trebuie stiut ca sunt mai multe versiuni de esp-if.
De preferat este de folosit versiunea esp-idf stabila (dar bineinteles ca poate fi folosita si ultima versiune daca doriti acest lucru).
Pentru a testa corecta instalare a cadrului esp-iot solution va trebui sa rulati 2 exemple
unul ce se refera la un smart-device si altul denumit unit-test .
Pentru a realiza atat prepararea dependentelor  cat si constructia acestor exemple avem nevoie de make sau de cmake.
In cele din urma o sa optam pentru make(in loc sa-l utilizam pe cmake)atat pentru primul exemplu cat si pentru unit-test.
Pentru viitor atat pentru make(cat si pentru cmake) se poate incepe cu un proiect-empty(gol).

Asadar in sistemul de operare Windows 10 (Profesional) o sa emulez un sistem de operare din familia linux si anume Ubuntu.
Ubuntu-WSL se instaleaza si ruleaza sub W10-Pro.
Daca aveti deja instalat Ubuntu-WSL pe Windos-ul dvs. poate ca ar fi bine sa-l resetati ca sa putem lucra pe unul nou(clean).
Directorul windows unde se va instala ubuntu va fi ceva de genul:
C:\Users\{UserName}\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows _79rhkp1fndgsc\LocalState\rootfs

Inainte de a instala pas cu pas cadrul esp-idf vom vorbi cateva lucruri elementare sau notabile despre unele comenzi  W10-shell si Ububtu-bash.
Lansarea cu bash sau din task-bar(daca a fost agatat in bara=pin) o gasiti aici.
Sub Ubuntu-WSL puteti utiliza comenzi ca:
-afisare cale director curent(.):
     $ pwd
-sterge ecranul:
    $ clear
-pentru a inhiba afisarea comenzilor daca se ruleaza un shell script:
    $ echo off
    $ echo on
-afisare nu fisiere si subdirectoare aflate/situate/continute in directorul curent;
     $ dir
     $ ls
     $ ls -l
-pt a da mai multe comenzi intr-o succesiune data :
    $ cd /usr/local/lib/ && ls -l
-afisarea continutului unui fisier din directorul curent:
     $ cat test-file
-stergerea unui fisier din directorul curent:
     $ rm test-file
-afisarea orei si datei curente
     $ date
-creare sudirector nou:
     $ mkdir esp
 -pt a schimba directorul ccurent si a merge in alt subdirector existent:
     $ cd esp
-creare utilizator nou:
     $ adduser crosstoolng
-a se studia si cda chown :
     $ chown crosstoolng:crosstoolng <crosstool-path>
- pt a schimba userul curent(de exemplu root) putem folosi:
     $ su crosstoolng
-daca doriti sa rulati un fisier executabil(de ex. install.sh) din directorul curent  puteti folosi :
     $ sudo ./install.sh
    (*) ar fi util sa vedeti si acest articol despre sudo.
-pt a afla care este user-ul curent putem folosi:
     $ whoami
 -pt a rula un anumit program ct-ng cu parametrul build de exemplu vom avea:
     $ ./ct-ng build
-pt a afla unde este instalat un program se foloseste:
     $ whereis python2.7
     $ whereis python3.2
-pt a chema in sursele python de oriunde sub linux:
      va rog sa cititi acest articol si aici.
-despre python pe ubuntu-wsl cititi aici!
-despre environment-ul python puteti citi aici!
-cum se seteaza si se citeste PYTHONPATH:
     $ export PYTHONPATH=/usr/lib/python2.7
     $ export PYTHONPATH=/usr/lib/python3.6
     $ echo $PYTHONPATH
     $python3 --version
-cum se utilizeaza variabila PYTHONPATH cititi aici:
     scrieti #!/usr/bin/env python in inprima linie  a fisierului gbmx.py si apoi
     $ chmod +x /home/randy/lib/python/gbmx.py
-pt a vedea versiunea unui program(ce se afla intr-una din caile din environment)-de ex python:
     $ pthon --version
-pt a instala diverse programe puteti folosi de ex pt python(2.7 si 3.6):
     sudo apt update
     $ sudo apt install python
    $ python -V
     $ sudo apt-install python3
     $ sudo apt install python-pip python3-pip python-ipykernel python3-ipykernel
     $ sudo apt install python3-pip
     $ python3 -V && pip3 -V
     $ sudo apt install python-pip
     $ python -V && pip -V
-cititi cum se instaleaza pip3 pe python  3.6 sub un ubuntu 18.04(user percy cu parola percy):
    $ sudo apt update
    $ sudo apt install python3-pip
$ pip3 --version
-pt a instala utilitarul git:
     $ sudo apt install git
-pt a descarca o arhiva din internet folosind utilitarul git:
     $ git clone -b v3.3 --recursive https://github.com/espressif/esp-idf.git
-pt a descarca anumite modulee ce sunt necesare unei proceduri de instalare:
    $ sudo python -m pip install --user -r $IDF_PATH/requirements.txt
    $ sudo python2.7 -m pip install --user -r $IDF_PATH/requirements.txt

    $ sudo python3 -m pip install --user -r $IDF_PATH/requirements.txt
    $ sudo python   -m pip install --user -r $IDF_PATH/requirements.txt
-pt a copia un fisier in directorul curent:
    $ cd ~/esp
    $ cp -r $IDF_PATH/examples/get-started/hello_world .
-pt a configura:
    $ cd hello_world 
    $ make menuconfig
-cum fac sa execut un fisier(ex putty.exe) descarcat in directorul c/Users/{UserName}/Downloads din W10-Pro: 
    $ export PATH=$PATH:/home/randy/lib/python     # export PATH=$PATH:/mnt/c/Users/{UserName}/Downloads
    # cd /mnt/c/Users/{UserName}/Downloads
    # chmod a+x putty.exe
    # ./putty.exe
-pt. a atribui diverse valori variabilelor din environment si apoi a le citi pt a vedea valoarea curenta  puteti citi acest articol.
    # export IDF_PATH=~/esp/esp-idf
    # export IDF_PATH=/home/percy/esp/esp-idf
    # echo $IDF_PATH
    (*) a se vedea si articolul urmator despre echo
    # printenv
    # printenv IDF_PATH
    # printenv | grep IDF_PATH
-how to compile Kernel Ubuntu 18.04(obs: sudo tar linux-4.19.34.tar.xz)?
-install esp32 development pe WSL

Niciun comentariu:

Trimiteți un comentariu