VisionCB-STD z VisionSOM-6ULL czyli SoMLabsowe uniwersum w akcji

SBC na iMX6 ....
https://somlabs.com/
ODPOWIEDZ
Awatar użytkownika
l3n1n
Moderator
Posty: 189
Rejestracja: 28 paź 2017, 8:46
Lokalizacja: 3M

VisionCB-STD z VisionSOM-6ULL czyli SoMLabsowe uniwersum w akcji

Post autor: l3n1n » 31 maja 2018, 15:12

Dawno już nic nie nabazgrałem i właśnie dzisiaj nadszedł czas na to by coś niecoś wypocić. Dawniej używano stwierdzenia, że papier jest cierpliwy. To co można powiedzieć o stronach forum? Te dopiero mają cierpliwość dla takich osób jak ja, czyli minimum wiedzy i maksimum chęci do dzielenia się ową niewiedzą.

Ale przejdźmy do rzeczy.

Kto z Was pamięta, jak pisałem o Hands-on Linux Academy, czyli o warsztatach zorganizowanych przez kilka firm na których uczestnicy otrzymali mikrokomputery prawie jednopłytkowe firmy Somlabs? Pewnie nikt, bo nikt poza SunRiverem tego nie czytał ;p. Gdyby jednak ktoś mi nie wierzył, że taki gniot powstał to zapraszam do linka viewtopic.php?f=40&t=75.

Zauważyliście, że użyłem w poprzednim zdaniu dziwny zwrot: „mikrokomputer prawie jednopłytkowy”? Otóż napisałem tak dlatego, że zbudowany on został z dwóch elementów:

1. Płyty bazowej VisionCB-STD

Obrazek

2. Modułu z mikrokontrolerem (i nie tylko) VisionSOM-6ULL

Obrazek

Całość tworzą ciekawą platformę programistyczną o sporych możliwościach, gdyż do dyspozycji mamy niemałą ilość popularnych interfejsów, takich jak na przykład USB, Ethernet, UART, I2C, SPI, FlexCAN, będący rozszerzoną wersją CAN (Controller Area Network) oraz inne, z którymi być może będę miał czas się bliżej zapoznać. Ilość zasobów jakie zostały oddane do dyspozycji użytkownika umożliwia także wykorzystanie tego zestawu jako samodzielnego urządzenia, które po zaprogramowaniu i zaopatrzeniu w odpowiednie peryferia zostanie gotowym produktem.
Pisałem we wspomnianej wcześniej relacji, że pomysł umieszczenia mikrokontrolera na płytce modułu SO-DIMM nie za bardzo przypadł mi do gustu. Jednak popatrzcie na to z innej perspektywy: moduł prawie przylega do płyty bazowej, dzięki czemu nie zajmuje zbyt wiele miejsca. A oprócz tego może być różnie wyposażony np. w gniazdo kart SD, pamięć eMMc lub NAND Flash, WiFi, Bluetooth i wiele innych opcji.

Obrazek

Ja zostałem posiadaczem najtańszej płyty bazowej, która posiada gniazdo zasilania od 9 do 12 V, gniazdo Ethernetowe RJ45, obsługujące przepustowość 10/100 MB, podwójne gniazdo USB, szereg godpinów męskich 2x20 umożliwianym skorzystanie z wyjść GPIO zgodne z RPI (Raspberry Pi) oraz kolorowymi godpinami żeńskimi ułożonymi w powszechnie znanym standardzie Arduino. Jest też gniazdo Micro USB OTG, pięć ledów, z czego jeden służący jako indykator zasilania 3.3V oraz pięć przycisków typu switch z czego jeden zarezerwowany jako przycisk RESET.
Do zasilania, jeżeli będziemy chcieli użyć dysków twardych USB, wyświetlaczy LCD lub innych prądożernych cudów, musimy zaopatrzyć się w zasilacz 9-12V 2A. Jeśli nie potrzebujemy takich urządzeń wystarczy nam zasilanie z USB.
Oprócz wyżej wymienionych dobroci producent zostawia nam do dyspozycji 50 stykowy interfejs wyświetlacza FFC/FPC.
Dystrybutorem tych mikrokomputerów jest KAMAMI.PL. Płytka bazowa kosztuje 149 zł https://kamami.pl/plytki-bazowe/565571- ... onsom.html.
Natomiast moduł z procesorem, ten który posiadam kosztuje niecałe 169 zł, a najtańszy niecałe 114 zł.
Całość elementów, które można wybrać są dostępne tu: https://kamami.pl/szukaj?controller=sea ... it_search=

Moduły z czytnikami kart są w sumie najtańsze, mój jest droższy bo posiada WiFi/Bluetooth.

Ok, sprawę hardłeru mam za sobą, teraz czas przejść do softłeru. Żeby mieć możliwość zrobienia czegokolwiek na tym sprzęcie trzeba mieć system. Systemem dla VisionSOM jest odmiana Linuksa o nazwie Debian.
Na stronie producenta http://wiki.somlabs.com/index.php?title=VisionSOM-6ULL znajdujemy między innymi obraz Debiana 9.2 dla płytek VisionSOM-6ULL i instrukcję, w jaki sposób wgrać ten obraz na kartę SD. Celowo mówię o karcie SD, bo takim modułem właśnie dysponuję.
Musimy mieć do dyspozycji czytnik kart micro SD lub SD jednak w tym drugim przypadku niezbędna będzie przejściówka SD – micro SD. Jeżeli pracujemy pod Windowsem, musimy ściągnąć programik o nazwie Win32DiskImager ze strony https://sourceforge.net/projects/win32diskimager/, musimy mieć komputer z systemem minimum Windows 7 lub nowszym, karta micro SD minimum 4GB (do podstawowego obrazu wystarczy 1GB) oraz program potrafiący rozpakować archiwum xz. Ja używam WinRar, ale może być WinZip ale pewnie 7Zip też sobie z tym poradzi. Po ściągnięciu obrazu ze strony producenta http://somlabs.com/os_images/debian-str ... ull.img.xz rozpakowujemy go do wybranego katalogu i uruchamiamy program Win32DiskImager. Wybieramy plik .img (1) który chcemy zapisać na karcie, wskazujemy literkę napędu (2) a następnie SHA256 (3). Po naciśnięciu przycisku Generate (4) zostanie wygenerowany ciąg znaków Hash, który porównamy z tym ze strony producenta.

Obrazek

W tym przypadku jest to ciąg znaków (5): 940adddd46605e1427a1800dcdd8b21b0cfd8ae188dbb7f0f8eea8d52b7f387f. Jeżeli są identyczne to naciskamy przycisk Zapisz(6). Teraz następuje zapis obrazu na kartę. Po zakończeniu otrzymujemy komunikat „Gotowe. Zapis Pomyślny!”

Jeszcze mała uwaga: wciskając kartę procesora w slot płyty bazowej należy to robić powoli i delikatnie ale stanowczo. Bo może się zdarzyć, że niedokładne dociśniecie będzie skutkowało brakiem komunikacji płytek. Miałem taki przypadek, kilkakrotnie nagrywałem obraz na kolejne karty micro SD, sądząc że błąd leży po stronie obrazu ale dopiero ponowny montaż płytki procesora przyniósł sukces.

Obrazek

Już możemy włożyć nagrana kartę micro SD do slotu mikrokomputera, podłączyć przewody i poczekać na odpalenie systemu. Trwa to kilkanaście sekund. W między czasie uruchamiamy program do komunikacji przez złącze Serial, na przykład Putty. Wybieramy łączenie przez Serial, port COM do którego podpięte jest nasz mikrokomputer prędkość przesyłania danych na 115200 i łączymy się.
Pojawia nam się takie okienko w którym przebiega proces uruchamiania się Debiana 9.2.

Obrazek

Jeżeli nie wiecie jak znaleźć port COM to:
1. Najeżdżamy myszką na Mój Komputer czy tez po prostu Ten Komputer (w zależności od systemu Windows)
2. Naciskamy na nim prawy przycisk myszy i wybieramy Właściwości a następnie Menadżer Urządzeń
3. Odszukujemy pozycję Porty LPT i COM
4. Po rozwinięciu listy będziemy mogli zidentyfikować numer portu

Ale wracamy do naszego systemu. Po zakończeniu ładowania Linuksa otrzymujemy komunikat:
Debian GNU/Linux 9 somlabs ttymxc0
somlabs login:

Wpisujemy root i wchodzimy do systemu.
Dla bezpieczeństwa powinniśmy założyć hasło. Dlatego pierwszą naszą komendą jaka wpiszemy w okienku Putty będzie: passwd po czym naciskamy Enter. Zostajemy poproszeni o wpisanie hasła a następnie o powtórzenie tegoż hasła.
Teraz już bezpiecznie możemy zacząć pracować z systemem.

Myślałem, że zmieszczę się w jednym poście, ale niestety temat jest rzeką. nie wiem czy pisać o tym więcej czy też pozostawić tyle ile naskrobałem. Znając siebie i tak dokończę to co zacząłem :)

Awatar użytkownika
l3n1n
Moderator
Posty: 189
Rejestracja: 28 paź 2017, 8:46
Lokalizacja: 3M

Re: VisionCB-STD z VisionSOM-6ULL czyli SoMLabsowe uniwersum w akcji

Post autor: l3n1n » 02 cze 2018, 10:53

Kontynuując temat VisionSOM, napisałem w jaki sposób dostosować partycję Debiana ściągniętego ze strony Somlabsa do karty microSD jaka zaprzęgniemy do pracy.

DOPASOWANIE PARTYCJI DEBIANA DO WIELKOŚCI KARTY SD

Na samym początku mała rada. Proponuje aby do pracy zaprząc kartę SD o pojemności minimum 4 GB. Maksymalna dla naszego mikrokomputera pojemność to 32GB. Ja miałem pod ręką akurat karte 8GB i takiej użyłem. Dlaczego nie używać mniejszej karty? Dlatego, że w trakcie pracy może was spotkać niemiła niespodzianka, czyli komunikat że na dysku mamy zbyt mało miejsca. Mnie oczywiście to spotkało :-). Jakże by inaczej?

Obrazek

Jednakże, po tym jak zobaczycie taki wpis, nie wpadajcie od razu w panikę. Bardzo istotną informacją jest to, że domyślny rozmiar głównej partycji Debiana to około 800 MB. Wgrywając obraz na kartę, bez względu na jej rozmiar, główna partycja zawsze będzie miała 800 mega. Dlatego musimy sami oświecić nasz system, by potrafił dostrzec ilość posiadanego przez nas miejsca.
Być może w tym momencie ktoś się zniechęcić i pomyśli: „no tak, teraz będę musiał kupować jakieś dodatkowe oprogramowanie by zmienić wielkość partycji”. Nic bardziej mylnego! Nasz Linuks ma wszystko pod ręką, a jak nie ma to można dociągnąć i doinstalować z Internetu i to zupełnie za darmo.
Jest takie programik – polecenie znane z Windowsa a właściwie jeszcze z pod DOSa, które brzmi fdisk. Otóż takim właśnie polecenie w ciągu kilku chwil dokonamy cudu i dostosujemy nasza partycje do rozmiarów naszej karty microSD. Wpasujemy więc w konsoli:
root@somlabs:~# fdisk –l
Otrzymujemy długą odpowiedź:
root@somlabs:~# fdisk -l
Disk /dev/ram0: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/ram1: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/ram2: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/ram3: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/ram4: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram5: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/ram6: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/ram7: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/ram8: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/ram9: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/ram10: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/ram11: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/ram12: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/ram13: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/ram14: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/ram15: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/mmcblk1: 7.3 GiB, 7822376960 bytes, 15278080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9de2d76a

Device Boot Start End Sectors Size Id Type
/dev/mmcblk1p1 16384 1628159 1611776 787M 83 Linux
Nas interesuje jednak tylko to co zaznaczyłem.
Musimy teraz usunąć partycję /dev/mmcblk1 i założyć nową partycję od początkowej wartości sektora 16384 do końcowej wartości, która w moim przypadku, gdy karta ma pojemność 8GB, wartość ta wynosi 15278079.
Wpisujemy komendę:
root@somlabs:/# fdisk /dev/mmcblk1
Otrzymujemy informację:
Welcome to fdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help):
Teraz wpisujemy literkę „p” która wyświetla nam tablicę partycji na dysku i naciskamy Enter
Command (m for help): p
Disk /dev/mmcblk1: 7.3 GiB, 7822376960 bytes, 15278080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9de2d76a

Device Boot Start End Sectors Size Id Type
/dev/mmcblk1p1 16384 1628159 1611776 787M 83 Linux

Command (m for help):
Kolej na skasowanie tej partycji, dlatego teraz wpisujemy literkę „d” która jest komenda kasującą partycje.
Pojawia się komunikat
Command (m for help): d

Selected partition 1
Partition 1 has been deleted.
Teraz czas na stworzenie nowej partycji. Wpisujemy komendę „p”.
I jesteśmy zmuszeni do dokonania kilku wyborów:
Command (m for help): n
Partition type (wybieramy typ partycji primary)
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1 (wybieramy numer partycji 1)
First sector (2048-15278079, default 2048): 16384 (wybieramy sektor początkowy partycji)
Wybieramy teraz sektor końcowy partycji, który jest podpowiadany jako domyślny, a jest to ostatni wolny sektor.
Last sector, +sectors or +size{K,M,G,T,P} (16384-15278079, default 15278079):
Nowa partycja została utworzona:
Created a new partition 1 of type 'Linux' and of size 7.3 GiB.
Partition #1 contains a ext4 signature.
Teraz wybieramy informację, że nie chcemy usuwać sygnatury.
Do you want to remove the signature? [Y]es/[N]o: N
Kolejną komendą jaka musimy wydać jest zapisanie naszych poczynań. Odpowiedzialna za to jest literka „w”.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy
The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).
Zostajemy zobligowani do restartu systemu. Gdy system wstanie, po zalogowaniu wpisujemy komendę:
root@somlabs:~# resize2fs /dev/mmcblk1p1
Otrzymujemy informację:
resize2fs 1.43.4 (31-Jan-2017)
Filesystem at /dev/mmcblk1p1 is m[ 1188.284630] EXT4-fs (mmcblk1p1): resizing filesystem from 201472 to 1907712 blocks
ounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
[ 1192.899553] EXT4-fs (mmcblk1p1): resized filesystem to 1907712
The filesystem on /dev/mmcblk1p1 is now 1907712 (4k) blocks long.
Proponuję teraz upewnić się, ile faktycznie mamy miejsca na naszym dysku:
root@somlabs:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 7.2G 499M 6.4G 8% /
devtmpfs 88M 0 88M 0% /dev
tmpfs 248M 0 248M 0% /dev/shm
tmpfs 248M 6.5M 241M 3% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 248M 0 248M 0% /sys/fs/cgroup
tmpfs 50M 0 50M 0% /run/user/0
Jak widać, ilość wolnego miejsca jest zadowalająca.

Teraz możemy zająć się ustawieniem komunikacji LAN i WiFi, ale to w dalszej części tego horroru ;p

Awatar użytkownika
l3n1n
Moderator
Posty: 189
Rejestracja: 28 paź 2017, 8:46
Lokalizacja: 3M

Re: VisionCB-STD z VisionSOM-6ULL czyli SoMLabsowe uniwersum w akcji

Post autor: l3n1n » 04 cze 2018, 9:12

USTAWIENIA LAN

Domyślnie VisionSM jest ustawiony tak, aby pobierać adres IP z zewnętrznego serwera DHCP.
Dlatego wystarczy podłączyć naszą kartę kabelkiem RJ45 do routera i już dysponujemy adresem IP i dostępem do Internetu. Odpowiedzialny za to jest wpis w ustawieniach sieci w pliku /etc/network/interfaces
iface eth0 inet dhcp
Możemy zmienić jego zawartość używając dowolnego edytora np. pico, nano czy vi.
Jeżeli usuniemy tę linijkę z konfiguracji interfejsu eth0 (interfejs LAN) to nasz Debian przestanie pobierać adresacje IP z serwera DHCP.
Jeżeli chcemy nadać stały adres IP naszemu VisionSoM, to powinniśmy w tym pliku umieścić następujący wpis:
auto eth0
iface eth0 inet static //informujemy system o nadaniu statycznego adresu IP dla interfejsu eth0
address 192.168.150.3 //adres IP jaki chcemy nadać naszemu urządzeniu
natmask 255.255.255.0 //maska jaka obowiązuje w naszej sieci
Adres MAC (czyli unikatowy adres urządzenia) karty sieciowej w VisionSoM nie jest narzucony. Z chwilą uruchomienia systemu możemy dostrzec komunikat, że interfejs eth0 używa przydzielonego losowo adresu MAC i widzimy adres w formacie a0:b1:c2:a0:b1:00.
W celu przydzielenia stałego adresu MAC, na przykład 22:e7:18:ac:09:d7, powinniśmy wykonać następujące komendy:
echo 0x22e7 > /sys/fsl_otp/HW_OCOTP_MAC1
echo 0x18ac09d7 > /sys/fsl_otp/HW_OCOTP_MAC0
UDOSTĘPNIANIE POŁĄCZENIA SIECIOWEGO Z LAPTOPA/KOMPUTERA DLA VisionSoM

Jeżeli pracujecie na komputerze lub laptopie i nie macie dostępu do routera czy switcha lub też nie chcecie ciągnąć do niego kabla a programujecie leżąc wygodnie na kanapie wystarczy, jeśli jesteście podłączenie po WiFi, podłączyć krótkimi kabelkiem typu patchord laptopa i VisionSoM. Patchord to kabelek wykonany ze skrętki komputerowej, zakończony z obu stron wtyczkami RJ-45.

Na przykład taki: https://kamami.pl/przewody-ethernet/561 ... results=20

Teraz jeszcze musimy w naszym komputerze zmienić pewne ustawienia. Wchodzimy we Właściwości karty WiFi na naszym komputerze / laptopie, wybieramy zakładkę Udostępnianie, za znaczmy checkbox „Udostępnianie” i wybieramy kartę sieciową LAN, do której podłączyliśmy VisionSoM.

Obrazek

Nasz mikrokomputer zyskła dostęp do świata, a my możemy już nie korzystać z połączenia przez port COM tylko przez SSH.
Żeby mieć możliwość logowania po SSH do VisionSOM jako root należy zmienić wpis w pliku /etc/ssh/sshd_config.
Możemy tego dokonać używać któregoś z dostępnych w naszym systemie edytorów
Na przykład pico:
root@somlabs:~# pico /etc/ssh/sshd_config
Na końcu pliku dodajemy linijkę:
PermitRootLogin yes
Następnie zapisujemy zmianę naciskając CTRL+o potwierdzamy pytanie o nadpisanie istniejącego pliku poprzez naciśnięcie klawisza Enter i wychodzimy z edycji przy pomocy kombinacji klawiszy CTRL+x.
Jeszcze trzeba wydać polecenie restartujący usługę SSH
service sshd restart
Teraz sprawdzamy IP jakie zostało nam przyznane przez nasz serwer DHCP:
Służy do tego komenda ip a jest to odpowiednik znanej z commandline Windowsa ipconfig /all
Czyli wyświetlenie wszystkich danych o IP przydzielonym do poszczególnych kart sieciowych naszego komputera.
root@somlabs:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 22:e7:18:ac:09:d7 brd ff:ff:ff:ff:ff:ff
inet 192.168.137.3/24 brd 192.168.137.255 scope global eth0 (/24 oznacza maskę 255.255.255.0)
valid_lft forever preferred_lft forever
inet6 fe80::20e7:18ff:feac:9d7/64 scope link
valid_lft forever preferred_lft forever
3: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default
link/sit 0.0.0.0 brd 0.0.0.0
4: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:90:4c:11:22:33 brd ff:ff:ff:ff:ff:ff
Teraz wpisując w PUTTY adres IP 192.168.137.3 i wybierając port 22 przy połączeniu przez SSH możemy bez trudu połączyć się z naszym VisionSOM.
Mając już połączenie z Internetem możemy zająć się uruchomieniem WiFi.

ZAKŁADANIE NOWEGO UŻYTKOWNIKA

Wprawdzie pozwoliliśmy naszemu użytkownikowi root na korzystanie z SSH jednak nie jest to zgodne z zasadami bezpieczeństwa. Dlatego Aby uniknąć włamania na urządzenie produkcyjne, chcąc zadbać o jego bezpieczeństwo, powinniśmy założyć nowego użytkownika, który nie będzie miał praw roota.
Aby tego dokonać powinniśmy wpisać komendę:
root@somlabs:~# useradd admin
root@somlabs:~# passwd admin
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@somlabs:~#
Po dodaniu użytkownika nie dostajemy żadnego komunikatu ale użytkownik zostaje utworzony, teraz dodajemy mu hasło wpisując passwd admin, powtarzamy to hasło i gotowe.
Pozostało jeszcze stworzenie katalogu domowego dla użytkownika i dostępu do powłoki bash:
Wpisujemy:
mkdir /home/admin a następnie chsh –s /bin/bash admin
Teraz możemy logować się po SSH jako użytkownik admin.
A wpis PermitRootLogin yes w pliku /etc/ssh/sshd_config możemy usunąć dla zachowania bezpieczeństwa.
Należy pamiętać, że znając hasło roota zawsze będziemy mogli wykonać większość zadań nawet gdy będziemy zalogowani jako zwykły użytkownik. Wystarczy po prostu przed komendą zastrzeżoną dla roota pisać sudo i następnie podać komendę. Jest to uwarunkowane odpowiednią konfiguracją sudo, którą możecie przeprowadzić jako użytkownik root.
Jednak to nie będzie tematem, nad którym chciałbym się pochylać. Więcej na temat sudo w Debianie możecie poczytać na przykład tu: https://dug.net.pl/tekst/63/przewodnik_po_sudo/

Awatar użytkownika
SunRiver
Administrator
Posty: 494
Rejestracja: 08 paź 2017, 11:27
Lokalizacja: Opole
Kontakt:

Re: VisionCB-STD z VisionSOM-6ULL czyli SoMLabsowe uniwersum w akcji

Post autor: SunRiver » 04 cze 2018, 10:27

IP możemy bardziej elegancko sprawdzić poprzez wpisanie w konsoli :

~# hostname -I

w efekcie czego po prostu zostanie wyświetlony w nowym wierszu nasz adres IP

I tym sposobem mamy kolejnego SBC do zabaw ,
Fajnie że jest pinout Arduino, ale w istocie brak jakiegoś HDMI, że o VGA prostym nie wspomnę :)
ale jest to dobry kawałek sprzętu i jak znalazł na nasze zabawy linuxowe w konsoli z Khadasów czy Pine bo większość nie powinna sprawiać
też kłopotu podczas pisania w C czy CPP pod konsolę.

Warto tez w sumie wspomnieć że zestaw nie jest specjalnie kosztowny na tle innych SBC ,
I w sumie spory wybór modułów w KAMAMI
A iMX6 sa całkiem porządnym sprzętem wartym zainteresowania.
.... z każdym bitem serca ....
💫SunDUINO
💦Google+
💦Kanał Youtube
💦Sotton

Awatar użytkownika
l3n1n
Moderator
Posty: 189
Rejestracja: 28 paź 2017, 8:46
Lokalizacja: 3M

Re: VisionCB-STD z VisionSOM-6ULL czyli SoMLabsowe uniwersum w akcji

Post autor: l3n1n » 06 cze 2018, 8:55

POŁĄCZENIE WIFI cz.I
Jeżeli chodzi o WiFi to mikrokomputer może pracować w dwóch trybach: STA (station) czyli jako stacja, która może łączyć się z istniejącymi sieciami WIFi i AP (access point) czyli jako punkt dostępowy. W tym drugim przypadku VisionSoM tworzy własną siec wifi, z którą mogą się łączyć inne urządzenia.
Do poprawnego działania karty sieciowej w naszym mikrokomputerku niezbędne będzie oprogramowanie, które pomoże nam obsłużyć oba wyżej wymienione warianty.
Na początku musimy sprawdzić czy jesteśmy w katalogu root:
root@somlabs:~# pwd
/root
root@somlabs:~# wget --no-check-certificate https://somlabs.com/os_images/visionsom ... are.tar.xz //ściągamy potrzebny plik
root@somlabs:~# cd / //przechodzimy do katalogu głównego i rozpakowujemy archiwum
root@somlabs:/# tar -xJf /root/visionsom-6ull-bcmfirmware.tar.xz
root@somlabs:/# apt install rfkill //instalacja rfkill
root@somlabs:/# rfkill unblock all //odblokowanie modułu WiFi
Kolejne kroki , do ustawienia naszej karty WiFi jako STA to:
1. Instalacja wpasupplicant, które umożliwia połączenie z zabezpieczoną siecią:
root@somlabs:/# apt install wpasupplicant
2. Zrestartować usługę connman
root@somlabs:/# service connman restart
3. Uruchamiamy program connmanctl, który służy do połączenia z siecią WiFi
root@somlabs:/# connmanctl
connmanctl> enable wifi //włączamy WiFi
connmanctl> agent on //uruchamiamy agenta
Agent registered
connmanctl> services //szukamy sieci
*AR Wired ethernet_22e718ac09d7_cable
DrayTek wifi_dcefca004a4c_4472617954656b_managed_psk
4. Łączymy się z wybraną siecią:
connmanctl> connect wifi_dcefca004a4c_4472617954656b_managed_psk
Agent RequestInput wifi_dcefca004a4c_4472617954656b_managed_psk
Passphrase = [ Type=psk, Requirement=mandatory ] //Jesteśmy proszeni o podanie hasła
Passphrase? ******** //podajemy hasło
connmanctl> [ 3569.561068] CFG80211-ERROR) wl_notify_scan_status : scan is not ready
3569.716415] CFG80211-ERROR) wl_cfg80211_connect : Connecting with00:50:7f:72:29:18 channel (11) ssid "DrayTek", len (7)
[ 3569.783122] wl_bss_connect_done succeeded with 00:50:7f:72:29:18
[ 3569.812312] wl_bss_connect_done succeeded with 00:50:7f:72:29:18
Connected wifi_dcefca004a4c_4472617954656b_managed_psk
connmanctl> exit //wychodzimy z programu connman
5. Sprawdzamy połaczenie z Internetem:
root@somlabs:/# ping forum.sunduino.pl
PING forum.sunduino.pl (51.255.59.255) 56(84) bytes of data.
64 bytes from admin.1free.eu (51.255.59.255): icmp_seq=1 ttl=54 time=32.2 ms
64 bytes from admin.1free.eu (51.255.59.255): icmp_seq=2 ttl=54 time=49.3 ms
64 bytes from admin.1free.eu (51.255.59.255): icmp_seq=3 ttl=54 time=37.6 ms
Teraz możemy już sprawdzić jakie otrzymaliśmy IP w sieci WiFi, wyłączyć nasz VisionSoM, podłączyć się na zasilanie bateryjne lub tak jak ja, wykorzystać do zasilania power bank i połączyć się z mikrokomputerem po SSH.
Obrazek
Może i do programowania nie jest to nam w tej chwili potrzebne, ale widać potencjał urządzenia.
Ustawienie w trybie AP omówimy w momencie, gdy będzie nam potrzebne. Na razie nie będziemy z tego korzystać. A tymczasem zajmijmy się połączeniem z I2C.

Awatar użytkownika
SunRiver
Administrator
Posty: 494
Rejestracja: 08 paź 2017, 11:27
Lokalizacja: Opole
Kontakt:

Re: VisionCB-STD z VisionSOM-6ULL czyli SoMLabsowe uniwersum w akcji

Post autor: SunRiver » 06 cze 2018, 9:25

Nio ładnie ładnie :)
I2C proponuję opisac w nowym temacie żeby tak ciurkiem nie trzaba było kopac
.... z każdym bitem serca ....
💫SunDUINO
💦Google+
💦Kanał Youtube
💦Sotton

ODPOWIEDZ