sobota, 13 listopada 2021

python 3.10 compilation from scratch

Download source from:

https://www.python.org/downloads/release/python-3100/

Install some prerequisites:

sudo apt install g++-10 gcc-10 build-essential 

https://www.code-learner.com/how-to-compile-and-install-python3-from-source-code-in-centos/

 

fix error during installation process:

https://trendoceans.com/how-to-solve-zipimport-zipimporterror-cant-decompress-data-zlib-not-available/

niedziela, 30 grudnia 2018

VIM

To jest brudnopis nt. VIMa.

Mój plik konfiguracyjny:
https://github.com/hexen2k/dotfiles

Materiały:
- Learn Vim Script The Hard Way,
- Derek Wyatt,
- wincent,
- Practical VIM,
- Modern VIM,
- vim tutor,
- blackcode,
- help,
- vimbook OPL,
- OReilly,
- vimcasts.org


Eclipse+VIM: Eclim, Vrapper,
Visual Studio Code - dosyć dobry plugin emulujący tryb VI.

W SublimeText3 oraz VSCode istnieją implementacje neovim jako wewnętrznego silnika do edycji tekstu.

ciekawe linki:
http://zzapper.co.uk/vimtips.html
https://sanctum.geek.nz/arabesque/series/unix-as-ide/
http://of-vim-and-vigor.blogspot.com/search?updated-max=2013-02-02T16:34:00%2B08:00&max-results=7&start=42&by-date=false
https://realpython.com/vim-and-python-a-match-made-in-heaven/
https://idorobotics.com/2018/04/01/setting-up-vim-for-c-development/
https://github.com/JBakamovic/yavide


Kilka miesięcy głębokiego zanurzenia :)

wtorek, 14 marca 2017

NAS BananaPro :: armbian + Openmediavault + syncthing

Instalacja podstawowego systemu armbian w najnowszej wersji:

Server -> Mainline 4.9.7 (na dzień 19.02.2017) -> Debian Jessie
https://www.armbian.com/banana-pi-pro/
wgrane Etcher'em na kartę wg. instrukcji dla armbian'a.

Tak przygotowana dystrybucja nie posiada OMV które trzeba samemu doinstalować. Przewodnik krok po kroku jak to zrobić w linku poniżej. Jednak zamiast kralizec trzeba zmienić na aktualną wersję OMV erasmus (dla debiana jessie):
http://www.dobreprogramy.pl/cyryllo/Instalacja-OpenMediaVault-1.0-Kralizec-na-Banana-Pi-i-Debian-Wheezy,56946.html

alternatywny przewodnik:
http://forum.openmediavault.org/index.php/Thread/5302-Howto-install-OpenMediaVault-on-Debian-7-x-Wheezy/

Ścieżka do aktualnej dystrybucji OMV po podejrzenia tutaj:
https://openmediavault.github.io/packages/
widzimy tam np. coś takiego:
deb https://openmediavault.github.io/packages/ <DISTRIBUTIONNAME> main
gdzie <DISTRIBUTIONNAME> można podmienić na erasmus

domyślne poświadczenia przy pierwszym logowaniu (koniecznie zmienić!):
admin/openmediavault

Dodatkowy plugin rozszerzający możliwości OMV (backup, klient torrent, downloader, minidlna i inne):
http://omv-extras.org/joomla/index.php/guides

UWAGA!
log2ram
https://github.com/azlux/log2ram
robił zamieszanie. Zawartość /var/log jest co godzinę zrzucana na kartę pamięci, jeśli po instalacji dane nie zdążyły się zrzucić na kartę pamięci to po restarcie nie było folderu i nginx nie startował poprawnie (nie było dostępu do panelu web).



root@banan:~# systemctl status nginx.service
â nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
   Active: failed (Result: exit-code) since Sun 2017-02-19 23:55:13 CET; 9s ago
  Process: 1165 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)

Feb 19 23:55:12 banan nginx[1165]: nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (2: No such file or directory)
Feb 19 23:55:13 banan nginx[1165]: 2017/02/19 23:55:13 [emerg] 1165#0: open() "/var/log/nginx/access.log" failed (2: No such file or directory)
Feb 19 23:55:13 banan nginx[1165]: nginx: configuration file /etc/nginx/nginx.conf test failed
Feb 19 23:55:13 banan systemd[1]: nginx.service: control process exited, code=exited status=1
Feb 19 23:55:13 banan systemd[1]: Failed to start A high performance web server and a reverse proxy server.
Feb 19 23:55:13 banan systemd[1]: Unit nginx.service entered failed state.

# doraźnie pomogło:
root@banan:~# mkdir /var/log/nginx/
root@banan:~# touch /var/log/nginx/access.log
root@banan:~# touch /var/log/nginx/error.log

root@banan:~# systemctl status nginx.service
â nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
   Active: active (running) since Mon 2017-02-20 00:12:22 CET; 35s ago
  Process: 2043 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 2040 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 2044 (nginx)
   CGroup: /system.slice/nginx.service
           ââ2044 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ââ2045 nginx: worker process
           ââ2046 nginx: worker process
           ââ2047 nginx: worker process
           ââ2048 nginx: worker process

Feb 20 00:12:22 banan systemd[1]: Started A high performance web server and a reverse proxy server.

Finalnie pliki trzeba było utworzyć w /var/log.hdd i po restarcie struktura folderów już była zaciągnięta do mapowanego folderu w pamięci.



Syncthing zainstalowany z przygotowanej paczki dla ARM (nie zalecali budowania od podstaw).
Dodatkowa konfiguracja aby uzyskać dostęp z zewnątrz przez przeglądarkę i uruchomić autostart aplikacji:
http://www.htpcguides.com/install-syncthing-raspberry-pi-bittorrent-sync-alternative/






Poniższe (megatools megafuse) PORZUCONE - finalnie klient desktopowy był bez porównania wygodniejszy, praktyczniejszy i znacznie szybszy (prędkość pobierania plików):
======================================================================
megatools - klient mega.nz
https://megatools.megous.com/
Kompilacja bezpośrednio ze źródeł nie chciała się udać - xmllint wyrzucał nieustannie błędy. Za pomocą tej instrukcji udało się skompilować megatools 1.9.98 (najnowsze dostępne) i uruchomić:
https://wiseindy.com/it/how-to-install-megatools-in-ubuntu-14-04-5-lts-trusty-tahr/

http://albertolarripa.com/2013/07/10/megatools-synchronizing-your-backups-to-mega/

https://github.com/matteoserva/MegaFuse
dodatkowo zainstalowany jeden nowszy pakiet z wszelkimi zależnościami:
https://packages.debian.org/jessie/libdb5.3-dev

poniedziałek, 23 lutego 2015

Stellaris Launchpad LM4F120XL + Eclipse + OpenOCD - konfiguracja środowiska (Win)

Przedstawiam krótką instrukcję podstawowej konfiguracji środowiska Eclipse i OpenOCD 0.8.0 (wykorzystywanego tylko do programowania układu). Projektem referencyjnym będzie przykład blinky udostępniany przez producenta.

poniedziałek, 22 grudnia 2014

GG restarter - czyli AVR + ENC28J60 + przekaźnik

Przedstawiam prosty, tani i szybki sposób na skonstruowanie niewielkiego urządzenia, którego działanie można kontrolować za pośrednictwem popularnego komunikatora GG (Gadu Gadu).

Obsługa modułu radiowego nrf24l01p + AVR m32, m128 m328p

Moduły nrf24l01+ w wersji z dodatkowym wzmacniaczem i anteną SMA pozwalają na uzyskanie teoretycznie około 1 km zasięgu w otwartej przestrzeni (przy najniższej prędkości 250 kbps). Ponadto są niezwykle energooszczędne, posiadają mechanizmy sprzętowej retransmisji pakietu oraz wysyłania potwierdzeń ACK. Te cechy sprawiają, iż są one niezwykle interesujące dla każdego konstruktora systemów wbudowanych wykorzystujących bezprzewodową transmisję danych.

Prosty termometr 7seg LED + DS18B20

Przedstawiam prostą konstrukcję termometru z wyświetlaczem 7 segmentowym LED wykorzystującego czujnik termperatury 1wire DS18B20. To niezwykle proste urządzonko służy jako termometr zaokienny. Duże cyfry wyświetlacza umożliwiają odczyt pomiaru z bardzo dużej odległości niezależnie od warunków oświetleniowych.

poniedziałek, 8 grudnia 2014

środa, 19 listopada 2014

Wyświetlacz temperatury pieca CO

Urządzenie powstało podczas ostatniej zimy ze względu na potrzebę wygodnego monitorowania temperatury bezpośrednio na piecu CO. Czytelny wyświetlacz LED umożliwia odczyt pomiaru z dużej odległości.

Zbiór linków do stron o tematyce embedded (i nie tylko)

Post będzie stopniowo aktualizowany nowymy linkami.

poniedziałek, 17 listopada 2014

Moduł Bluetooth BTM-222

Projekt powstał ze względu na chęć zapoznania się z oprogramowaniem CadSoft Eagle wykorzystywanym do tworzenia płytek PCB. Ponieważ najwięcej uczymy się przez praktykę, postanowiłem użyć programu do stworzenia kolejnej płytki.

niedziela, 16 listopada 2014

Sterownik pieca CO

Urządzenie powstało na potrzeby prostego sterowania pompą w układzie pieca CO opalanego węglem. Czujnik temperatury (DS18B20) zamontowany na rurze wylotowej z pieca mierzy temperaturę i w zależności od jej poziomu włącza bądź wyłącza pompę. Możliwa jest regulacja progu histerezy oraz czasów przerw między kolejnymi włączeniami pompy.

Programator USBasp

Projekt ciekawostka, aktualnie nie polecam wykonywania lub zakupu USBasp. Powstał kilka lat temu jako następca prostego programatora na RS232. Wtedy był to jakościowy skok, jednakże po zakupie AVR Dragona życie nie było już takie samo :)

AVRHR - Ethernetowy kontroler czujników DS18B20

Celem projektu było utworzenie urządzenia do zbierania danych pomimarowych z czujników temperatury DS18B20 oraz ich wizualizacji za pomocą przeglądarki internetowej na dowolnym komputerze podłączonym do wspólnej sieci Ethernet. 

czwartek, 6 listopada 2014

Tworzenie tablic dla odwróconego algorytmu tablicowego CRC

Skąd biorą się "tajemnicze" wartości w tablicach CRC i jak można policzyć to ręcznie. Przedstawiam kilka faktów empirycznych.

sobota, 11 października 2014

piątek, 26 września 2014

STM32F0DISCOVERY konfiguracja interfejsu USART bez wykorzystywania SPL, szybki start z STM32 + Eclipse + OpenOCD

Krótki przykład konfiguracji modułu USART w mikrokontrolerach STM32 bez wykorzystywania bibliotek Standard Peripherals Library (SPL) dostarczanych przez producenta.