- Posługując się komendą:
ls /dev/ | grep cdromSprawdź jak nazywa się napęd optyczny, którego obraz chcesz zrobić.
-
Następnie, używając nazwy urządzenia, wykonaj plecenie:
dd if=/dev/cdrom of=~/obraz.isoPo jego wykonaniu w katalogu domowym utworzony zostanie obraz płyty.
Blog o tym jak widzę świat. Z jakim problemami się spotykam i jak je rozwiązuję. Jednym słowem, formą tego bloga jest brak formy.
sobota, 28 lutego 2015
[Ubuntu / Linux] Jak zrobić obraz pyty CD
piątek, 27 lutego 2015
Mały tutorial Matlab / Octave
Rysowanie gęstości
Sposób na rysowanie wykresu funkcji dwuwymiarowej.
Jak dodać paczkę do OCTAVE
Istnieją na to dwa sposoby:
Instalacja z Octave Forge. W repozytorium Octave Forge wyszukaj paczkę, którą chcesz zainstalować np. "control". Aby dokonać instalacji uruchom Octave i wpisz: "pkg install -forge control". Paczka powinna automatycznie ściągnąć się z repozytorium i zainstalować.
Instalacji można dokonać również ręcznie, ściągając plik: "control-***.tar.gz" (gwiazdki oznaczają wersję) i wpisując "pkg install control-***.tar.gz". Uwaga! Octave musi być otwarte w katalogu w którym znajduje się ściągnięta paczka.
Zainstalowane paczki można wyświetlić poleceniem: "pkg list". Paczki pozbyć się można poleceniem "pkg uninstall control"
Jak pomnożyć wielomiany w Octave
W środowisku Octave wielomian jest reprezentowany przez współczynniki funkcji wielomianowej poczynając od najbardziej znaczącego. Na przykład wektor: p=[3 -2 4 0 1]; reprezentuje funkcję wielomianową: p(x)=3*x^4-2*x^3+4*x^2+1 Możemy teraz wyświetlić sobie funkcje wielomianową następującym poleceniem: polyout(p,'x') 3*x^4 - 2*x^3 + 4*x^2 + 0*x^1 + 1 Mnożenie dwóch wielomianów p,q możemy wykonać poleceniem: r = conv(p,q);. Dzielenie natomiast poleceniem: [b,r] = deconv(y,a);. Gdzie b-wynik dzielenia wielomianów, r-reszta z dzielenia.
Jak numerycznie rozwiązać równanie różniczkowe?
Octave pozwala na rozwiązanie wektorowych równań różniczkowych w postaci dx/dt = f(t,x).
- Pierwszym krokiem jest definicja funkcji f(x,t). Załóżmy, że f(x,t)=sin(t).
octave:1> function x_pirm = f(x,t) > x_prim = sin(t); > endfunction
- Definiujemy czas rozwiązania: t=[0:0.01:6*pi]; lub t=linspace(0,6*pi,2000);
- Definiujemy warunki początkowe x_0=1;
- Rozwiązujemy równanie poleceniem y=lsode("f",x_0,t);
- Rysujemy rozwiązanie: plot(t,y)
Jak znaleźć zero funkcji?
Do rozwiązywanie nie liniowych równań postaci f(x)=0 służy funkcja fsolve.
- Najpierw musimy zdefiniować funkcję lub ich układ.
octave:1> function retval = wielo(x) > retval = x.^3-x.^2 +4; > endfunction
- Kolejnym krokiem jest wybór wartości początkowych x_0. Niech x_0 = -1.
- Możemy spróbować rozwiązać równanie poleceniem: fsolve(@wielo,x_0). Powinniśmy otrzymać
Warto zwrócić uwagę, że nie zawsze polecenie fsolve znajduje poprawne rozwiązanie. Jeśli położymy x_0 = 5, rozwiązanie okaże się błędne.
Jak zmienić grubość linii na wykresie?
Służy do tego parametr 'LineWidth' w funkcji plot. Na przykład: plot(x,y,'LineWidth',2)
czwartek, 12 lutego 2015
Jak pomnożyć wielomiany w Octave.
W środowisku Octave wielomian jest reprezentowany przez współczynniki funkcji wielomianowej poczynając od najbardziej znaczącego. Na przykład wektor: p=[3 -2 4 0 1]; reprezentuje funkcję wielomianową: p(x)=3*x^4-2*x^3+4*x^2+1 Możemy teraz wyświetlić sobie funkcje wielomianową następującym poleceniem: polyout(p,'x') 3*x^4 - 2*x^3 + 4*x^2 + 0*x^1 + 1 Mnożenie dwóch wielomianów p,q możemy wykonać poleceniem: r = conv(p,q);. Dzielenie natomiast poleceniem: [b,r] = deconv(y,a);. Gdzie b-wynik dzielenia wielomianów, r-reszta z dzielenia.
wtorek, 3 lutego 2015
Ciekawe blogi
- Michael Hirsch - Amature Radio
- Andrew Gibiansky - machine learning, data analysis, mathematical modeling and simulation, electrical and digital engineering
- Jamie Matthews - Several intresting projects.
- Sterowanie pozycją BLDC.
- Dane Kouttron - Robotyka
- Brian Hensley - Christian, husband, father and engineer
- Paolo Pezzino - Świetny blog o systemach wbudowanych
- Benjamin - A site about some of my projects, some tutorials and anything else I feel like publishing
- Polska strona o mikrokontrolerach
- HELENTRONICA - ELECTRONICS, PHYSICS AND ROCK 'N' ROLL
- Engineers should be able to design and create on their own, without the resources of a large company.
- Arash Partow - information and complexity theory, cryptography, computational geometry, digital watermarking, massively distributed computing, autonomous control and navigation systems and cognitive sciences ;)
- Andreas Klöckner's wiki, CUDA, pyCUDA, ...
- Mark Galassi is a research scientist working on astrophysics and non-proliferation in Los Alamos National Laboratory. He has also been involved with the free software movement since he was first shown the GNU manifesto in 1985.
- MANUEL KEHL blog
- Wojciech Holisz Blog - programowanie
- Solarian Programmer - Nice freelancer's blog about coding.
- Dariusz Szarejko - Programer, electronic engineer, freelancer.
- Tomasz - Projekty elektroniczne
- EEVBlog
- Very instresting blog about making machines smarter by Ignacio Mellado
- This project’s objective is to share technologies, materials, documentation and experiences realized by a group of science enthusiasts “makers” !
- TMichael Hirsch Ph.D., President, SciVision, Inc
- Personal website and mainly about my love of hacking around with electronics and software!
- Programmer, teacher, reader, writer, chef, and plenty of other things.
- NextLab - Electronics, Linux, Raspberry Pi
- Jarosław Tyma - Primum non nocere
czwartek, 1 stycznia 2015
[Octave] Jak numerycznie rozwiązać równanie różniczkowe?
- Pierwszym krokiem jest definicja funkcji f(x,t). Załóżmy, że f(x,t)=sin(t).
octave:1> function x_pirm = f(x,t) > x_prim = sin(t); > endfunction
- Definiujemy czas rozwiązania: t=[0:0.01:6*pi]; lub t=linspace(0,6*pi,2000);
- Definiujemy warunki początkowe x_0=1;
- Rozwiązujemy równanie poleceniem y=lsode("f",x_0,t);
- Rysujemy rozwiązanie: plot(t,y)
sobota, 1 listopada 2014
SPI w Raspberry Pi [C / C++]
- Zmień zawartość pliku: /etc/modprobe.d/raspi-blacklist.conf na następującą:
# blacklist spi and i2c by default (many users don't need them)
#blacklist spi-bcm2708
blacklist i2c-bcm2708
blacklist snd-soc-pcm512x
blacklist snd-soc-wm8804
Możesz też do tego celu wykorzystać polecenie: sudo raspi-config
-
Uruchom ponownie RPi lub załaduj moduł jądra ręcznie, poleceniem: sudo modprobe spi-bcm2708. Od tej pory używając polecenia: lsmod powinieneś móc znaleźć moduł jądra o nazwie: spi_bcm2708. Po wykonaniu polecenia ls /devl/spi-0.* powieneś otrzymać wynik:
/dev/spidev0.0 /dev/spidev0.1Pierwsze urządzenie używa sygnału CS(ang. Chip Select) z SPI_CE0_N, drugie z SPI_CE1_N.
-
Wykonując polecenie: echo -ne "\x01\x02\x03" > /dev/spidev0.0 wyślemy za pomocą SPI liczby kolejno 1,2,3. echo -ne "Ten blog jest fantastyczny!" > /dev/spidev0.0 wyśle ciąg znaków - liczb ASCII - "Ten blog jest fantastyczny!" ;)
- Pora na C++ ale C.D.N...
niedziela, 26 października 2014
WiFi w Raspberry Pi
Niedawno stałem się szczęśliwym posiadaczem minikomputera Raspberry Pi B+ ;) Jednym z pierwszy problemów, z którym musi zmierzyć się świeżo upieczony posiadacz malinowego ciastka, jest uruchomienie karty sieciowej WiFi-USB. Karta jaka ja posiadam to: TL-WN721N. Jest to w miarę tanie i sprawdzone, już wcześniej przeze mnie, urządzenie. Na jej przykładzie poniżej, przedstawiam prosty algorytm, który pozwoli każdemu uruchomić tą kartę:
- Pod tym linkiem możesz sprawdzić czy RPi jest kompatybilny z twoją kartą: RPi_USB_Wi-Fi_Adapters
- Pobierz sterownik: htc_9271.fw
- Skopiuj sterownik do folderu: /lib/firmware
- Jeśli nie posiadasz, to zainstaluj następujące paczki: wireless-tools i wpasupplicant
- Dodaj na końcu pliku: /etc/network/interfaces - za pomocą komendy: sudo nano /etc/network/interfaces - następującą treść:
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
- Stwórz plik: /etc/wpa_supplicant/wpa_supplicant.conf - za pomocą komendy: sudo nano /etc/wpa_supplicant/wpa_supplicant.conf - i wypełnij go następująco:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="NAZWA SIECI"
psk="HASŁO"
proto=WPA
key_mgmt=WPA-PSK
pairwise=TKIP
auth_alg=OPEN
}
- Następnie wykonaj:
sudo ifconfig wlan0 down
sudo ifconfig wlan0 up
Po tych operacjach karta powinna działać bez problemu. W razie jakichkolwiek problemów, nie bój się zostawić pytania w komentarzu.



