L'unica soluzione che ho trovato e' stata quella di entrare nell'amministrazione di CUPS http://localhost:631/admin) e ricreare una nuova stampante. A questo punto e' stato possibile stampare ed eliminare la precedente stampante che risulta bloccata
giovedì 13 febbraio 2014
"Unable send data to printer" dopo aggiornamento
Dopo un aggiornamento di Cups ho perso il controllo della stampante Samsung ML-2160
lunedì 10 febbraio 2014
Kinect su Debian
Grazie ad un amico che e' passato su XBoxOne ho potuto provare la vecchia versione di Kinect da XBox360.
Per interagire con il dispositivo si deve usare (su computer non Windows) la libreria OpenKinect che ho compilato dai sorgenti mediante i comandi
apt-get install cmake libglut3-dev pkg-config build-essential libxmu-dev libxi-dev libusb-1.0-0-dev
git clone https://github.com/OpenKinect/libfreenect.git
cd libfreenect
mkdir build
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig /usr/local/lib64/
per verificare che il tutto funzioni si puo' lanciare il comando glview
Il sistema funziona ma l'aspetto piu' interessante e' quello delle interpretazioni delle gesture in modo da rendere veramente interattivo il kinect.
La soluzione piu' semplice e' quella di usare Processing con la libreria Simple OpenNI (che si installa dall'interno di Processing con il menu Sketch->Import Library->Add Library. Esistono molti esempi in questo campo ed anche un libro (sull'interazione tra Kinect ed Arduino) ma con la versione 2 della libreria gli sketch non sembrano funzionare ed e' bene usare gli esempi legati alla libreria scaricata)
Funziona tutto tranne il fatto che viene mostrato questo errore
Listening for transport dt_socket at address: 8276
libEGL warning: failed to create a pipe screen for i965
Smooth is not supported by this hardware (or driver)
per questo motivo non e' possibile vedere il tracking delle mani nel video sottostante (esempio Hands3D)
venerdì 7 febbraio 2014
Trasduttore lineare potenziometrico con Arduino Uno e ADS1115
La prova effettuata in questo post e' stata ripetuta con uno strumento della ditta Controls model 82 P0330, questo perche' il calibro centesimale e' specifico per questo strumento
Il trasduttore presenta un connettore a 6 poli come quello dello schema sottostante. Di fatto i poli utili sono solo 3
e questa e' la pedinatura dei colori
5V = colore rosso
Segnale = marrone
GND = blu
A differenza del precedente strumento il segnale oscilla tra 5 V (pistone completamente esteso) a 0 V (pistone completamente compresso)
lo sketch impiegato e' stato il seguente (gain a 2/3) vista l'uscita dello strumento
-----------------------------------------------
#include <Wire.h>
#include <Adafruit_ADS1015.h>Adafruit_ADS1115 ads; /* Use this for the 16-bit version */
void setup(void)
{
Serial.begin(9600);
// ADS1015 ADS1115
// ------- -------
ads.setGain(GAIN_TWOTHIRDS); // 2/3x gain +/- 6.144V 1 bit = 3mV 0.1875mV (default)
// ads.setGain(GAIN_ONE); // 1x gain +/- 4.096V 1 bit = 2mV 0.125mV
// ads.setGain(GAIN_TWO); // 2x gain +/- 2.048V 1 bit = 1mV 0.0625mV
// ads.setGain(GAIN_FOUR); // 4x gain +/- 1.024V 1 bit = 0.5mV 0.03125mV
// ads.setGain(GAIN_EIGHT); // 8x gain +/- 0.512V 1 bit = 0.25mV 0.015625mV
// ads.setGain(GAIN_SIXTEEN); // 16x gain +/- 0.256V 1 bit = 0.125mV 0.0078125mV
ads.begin();
}
void loop(void)
{
int16_t adc0, adc1, adc2, adc3;
adc0 = ads.readADC_SingleEnded(0);
Serial.print("AIN0: "); Serial.println(adc0);
delay(100);
}
-----------------------------------------------
questa e' la tabella delle misure
Le misure erano stabili fino alle decine mentre le unita' non possono considerate rappresentative
Ed ecco i grafici (una serie in compressione, l'altra in distensione)
In conclusione si e' vista una ottima linearita' dei dati. Considerando che per un millimetro cambiano circa 2645 DN e dato che le unita' sono poco significative si puo' dire che la minima variazione letta con sicurezza e' 1mm/264 = 0.004 mm. Dato che il calibro e' di tipo centesimale si ha che il traduttore legge tranquillamente dati precisi al centesimo di millimetro
venerdì 31 gennaio 2014
Phonegap-Cordoba 3.0 con Android/Ios/FirefoxOS
Visto che oramai ho terminali Android, Ios e FirefoxOs ho voluto riprovare ad usare Phonega e nel frattempo le procedure di installazione sono decisamente cambiate
Phonegap/Cordoba si installa mediante Node.js per cui si deve prima installare il pacchetto Node.Js
Su Windows e MacOs c'e' un semplice installare mentre su Linux Node.js si installa scaricando direttamente i sorgenti e con la classica procedura
./configure
make
make install
(la procedura non e' rapidissima)
successivamente si inizia ad installare Phonegap con il comando
npm install -g phonegap
(forse e' inutile ma ho installato anche Cordova)
npm install -g cordova
si crea quindi il progetto
phonegap create hello com.example.hello HelloWorld
cd hello
e qui iniziano le differenze che ho trovato con le istruzioni ufficiali del sito
per creare il progetto Phonegap Android si deve dare direttamente il comando
phonegap build android
(devono essere setttata la Path per trovare la directory tools e platform-tools dell'SDK di Android altrimenti il comando fallisce con il comando
)
oppure
phonegap build ios
per lanciare l'esecuzione sul telefono
phonegap run android
oppure
phonegap run ios
(se non viene trovato il telefono fisico viene lanciato in automatico l'emulatore.
Nel caso di IOS deve essere prima installato il pacchetto ios-sim con i comandi
sudo su
xcodebuild -license
npm install -g ios-sim
)
Lanciato il comando l'emulatore parte ma si arriva a questo errore
Phonegap/Cordoba si installa mediante Node.js per cui si deve prima installare il pacchetto Node.Js
Su Windows e MacOs c'e' un semplice installare mentre su Linux Node.js si installa scaricando direttamente i sorgenti e con la classica procedura
./configure
make
make install
(la procedura non e' rapidissima)
successivamente si inizia ad installare Phonegap con il comando
npm install -g phonegap
(forse e' inutile ma ho installato anche Cordova)
npm install -g cordova
si crea quindi il progetto
phonegap create hello com.example.hello HelloWorld
cd hello
e qui iniziano le differenze che ho trovato con le istruzioni ufficiali del sito
per creare il progetto Phonegap Android si deve dare direttamente il comando
phonegap build android
(devono essere setttata la Path per trovare la directory tools e platform-tools dell'SDK di Android altrimenti il comando fallisce con il comando
)
oppure
phonegap build ios
per lanciare l'esecuzione sul telefono
phonegap run android
oppure
phonegap run ios
(se non viene trovato il telefono fisico viene lanciato in automatico l'emulatore.
Nel caso di IOS deve essere prima installato il pacchetto ios-sim con i comandi
sudo su
xcodebuild -license
npm install -g ios-sim
)
Lanciato il comando l'emulatore parte ma si arriva a questo errore
Di fatto la directory www del progetto creato su Ios risulta vuota (c'e' solo un file .xml). Per risolvere il problema l'unica soluzione che ho trovato e' stata quella di copiare la directory www da un progetto Phonegap creato su Linux. Fatto cio' tutto inizia a funzionare perfettamente
A questo per aggiungere funzionalita' legate all'hardware dei telefoni si devono installare i plugin per le varie funzionalita'. Per test e' stato scaricato ed attivato il
cordova plugin add org.apache.cordova.device
Ed ecco lo stesso programma di esempio che funziona, senza modifiche, sulle due piattaforme Android ed Ios
Phonegap su Ios |
Phonegap su emulatore Android in Ios |
si puo' aggiungere al progetto anche FirefoxOs mediante
cordova platform add firefox
il problema e' che l'emulatore di Firefox Os non funziona sotto Mac Os X (almeno al momento in cui scrivo questa riga). Parte e si chiude dopo qualche secondo. Per ovviare al problema ho spostato tutta la cartella della piattaforma Firefox sull'emulatore di Windows e selezionato il file manifest.
Si osserva che il supporto di Phonegap a Firefox e' ancora poco maturo in quanto le API ancora non funzionano (almeno quelle dell'esempio)
Installazione Arch Linux
E' da un po' di tempo che sento un gran parlare di Arch Linux e volevo provare ma la procedura di installazione e' cosi' antiquata (mi sembra di essere tornato nel 1998) che mi ero sempre scoraggiato....ma sembra che i vantaggi siano ricompensati dalla fatica di installazione
Per la prova ho installato Arch Linux su Virtualbox partendo con boot da Cd (nessun network install per adesso)
Si arriva ad una shell bash con privilegi di root
Per prima cosa si imposta la tastiera italiana
loadkeys it
si edita quindi il file locale.gen
nano /etc/locale.gen
la rete e' stata configurata mediante DHCP senza troppi problemi.
A questo punto si inizia il partizionamento del disco fisso (semplice, una partizione piu' una swap)
fdisk /dev/sda
n - p - 1
l'inizio della partizione e' confermata come default
la dimensione della partizione e' fissata in 7 Giga con il comando
+7G
per la swao
n - p - 2
conferma tutto
con t si cambia il tipo della seconda partizione da Linux (83) a Linux Swap (82)
p per verificare
w per scrivere ed uscire
si formatta la prima partizione come ext4
mkfs.ext4 /dev/sda1
si attiva la seconda partizione come swap
mkswap /dev/sda2
lsblk /dev/sda
mount /dev/sda1 /mnt
Adesso c'e' bisogno della rete. Se c'e' un proxy si devono effettuare i settaggi
export http_proxy=http://mioproxy:8080
export https_proxy=http://mioproxy:8080
si aggiornano i pacchetti e si installa il sistema base
pacstrap -i /mnt base
Per la prova ho installato Arch Linux su Virtualbox partendo con boot da Cd (nessun network install per adesso)
Si arriva ad una shell bash con privilegi di root
Per prima cosa si imposta la tastiera italiana
loadkeys it
si edita quindi il file locale.gen
nano /etc/locale.gen
togliendo il cancelletto alla riga di interesse
it_IT.UTF-8 UTF-8
si lancia poi il comando
locale-gen
e si esporta la variabile LANG
export LANG=it_IT.UTF-8
la rete e' stata configurata mediante DHCP senza troppi problemi.
A questo punto si inizia il partizionamento del disco fisso (semplice, una partizione piu' una swap)
fdisk /dev/sda
n - p - 1
l'inizio della partizione e' confermata come default
la dimensione della partizione e' fissata in 7 Giga con il comando
+7G
per la swao
n - p - 2
conferma tutto
con t si cambia il tipo della seconda partizione da Linux (83) a Linux Swap (82)
p per verificare
w per scrivere ed uscire
si formatta la prima partizione come ext4
mkfs.ext4 /dev/sda1
si attiva la seconda partizione come swap
mkswap /dev/sda2
lsblk /dev/sda
mount /dev/sda1 /mnt
Adesso c'e' bisogno della rete. Se c'e' un proxy si devono effettuare i settaggi
export http_proxy=http://mioproxy:8080
export https_proxy=http://mioproxy:8080
si aggiornano i pacchetti e si installa il sistema base
pacstrap -i /mnt base
si conferma vengono scaricati circa 140 Mb
si effettua il chroot
arch-chroot /mnt /bin/bash
si ripetono i settaggi locali
nano /etc/locale.gen
it_IT.UTF-8 UTF-8
locale-gen
si effettua il chroot
arch-chroot /mnt /bin/bash
si ripetono i settaggi locali
nano /etc/locale.gen
it_IT.UTF-8 UTF-8
locale-gen
echo LANG=it_IT.UTF-8 > /etc/locale.conf
# export LANG=it_IT.UTF-8
loadkeys it
loadkeys it
setfont Lat2-Terminus16
per renderlo definitivo
nano /etc/vconsole.conf
KEYMAP=it FONT=Lat2-Terminus16
per settare la timezone
ln -s /usr/share/zoneinfo/Europe/Rome /etc/localtime
per settare l'orologio
hwclock --systohc --utc
abilitazione del DHCP per la rete
systemctl enable dhcpcd.service
a questo punto si mette la password per root
passwd
e si installa Grub
pacman -S grub
grub-mkconfig -o /boot/grub/grub.cfg
grub-install --target=i386-pc --recheck /dev/sda
per renderlo definitivo
nano /etc/vconsole.conf
KEYMAP=it FONT=Lat2-Terminus16
per settare la timezone
ln -s /usr/share/zoneinfo/Europe/Rome /etc/localtime
per settare l'orologio
hwclock --systohc --utc
abilitazione del DHCP per la rete
a questo punto si mette la password per root
e si installa Grub
pacman -S grub
grub-mkconfig -o /boot/grub/grub.cfg
grub-install --target=i386-pc --recheck /dev/sda
si termina quindi la prima fase dell'installazione
exit
umount -R /mnt
reboot
exit
umount -R /mnt
reboot
a questo punto e' meglio creare un utente non amministratore per l'uso normale
useradd -m luca
passwd luca
abilitazione del comparto sonoro
pacman -S alsa-utils
Installazione di XOrg ed LXDE
pacman -S xorg-server xorg-server-utils xorg-xinit mesa lxde dbus xf86-video-fbdev
prima di lanciare il comando startx si deve creare il file .xinitrc nella propria home
nano .xinitrce si aggiunge la seguente riga
exec startlxde
adesso si puo' lanciare
startx
Installazione di Slim
pacman -S slims
Installazione di XOrg ed LXDE
pacman -S xorg-server xorg-server-utils xorg-xinit mesa lxde dbus xf86-video-fbdev
prima di lanciare il comando startx si deve creare il file .xinitrc nella propria home
nano .xinitrce si aggiunge la seguente riga
exec startlxde
adesso si puo' lanciare
startx
Installazione di Slim
pacman -S slims
ystemctl enable slim
Purtroppo per Arch non c'e' supporto semplice per Virtualbox per cui c'e' da fare un po' di lavoro a mano
pacman -S virtualbox-guest-utils
si crea e si edita il file virtualbox.conf
nano/etc/modules-load.d/virtualbox.confaggiungendo su ogni riga
Purtroppo per Arch non c'e' supporto semplice per Virtualbox per cui c'e' da fare un po' di lavoro a mano
pacman -S virtualbox-guest-utils
si crea e si edita il file virtualbox.conf
nano/etc/modules-load.d/virtualbox.confaggiungendo su ogni riga
vboxguest
vboxsf
vboxvideo
e da linea di comando si lancia
VBoxClient-all
systemctl enable vboxservice
alla fine il sistema e' decisamente performante (anche perche' ridotto all'osso) ma penso che si possa arrivare a conclusioni simili (e con minor fatica) facendo una installazione manuale di Debian da Netinstall
e da linea di comando si lancia
VBoxClient-all
systemctl enable vboxservice
alla fine il sistema e' decisamente performante (anche perche' ridotto all'osso) ma penso che si possa arrivare a conclusioni simili (e con minor fatica) facendo una installazione manuale di Debian da Netinstall
Midnight Commander su Os X
Dove c'e' una shell ci dovrebbe essere Midnight Commander ..ed Os X non fa eccezione
Il programma si puo' installare da questo link
Essendo un programma da shell alla fine dell'installazione non si trova niente nella cartella Applicazioni, ma basta aprire un terminale e digitare mc che si apre Midnight Commander
Ci sono un po' di problemi di ambientazioni da Linux/PC a OsX in quanto nelle tastiere Apple non e' presente il tasto Ins, per selezionare si preme la combinazione CTRL+T
Di default inoltre i tasti funzione delle tastiere Apple hanno altre funzioni. Per abilitare il comportamento classico da Impostazioni Tastiera si deve spuntare "Utilizza tutti i tasti F1,F12 come tasti funzione" e nel tab successivo (Abbreviazioni da tastiera) si deve togliere la scorciatoia di F9 ed F10 (in particolare F10 che serve ad uscire da mc)
Iscriviti a:
Post (Atom)
RAG con Ollama Mistral e LangChain
Una altra prova usando questo repository https://github.com/CallumJMac/lessons Il folder di riferimento e' lessons/1. RAG/examples/pixe...
-
In questo post viene indicato come creare uno scatterplot dinamico basato da dati ripresi da un file csv (nel dettaglio il file csv e' c...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...
-
E' da molto tempo che il mio fornitore ufficiale di hardware (il cassonetto della spazzatura) non mi faceva qualche regalo (anche perche...