Ho provato a far resuscitare un IBM A31 destinato alla discarica. La macchina ha processore P4, 256 Mb di RAM, la batteria CMOS morta ed e' data 2002 (ps non ha trackpad)
La scelta e' caduta su Alpine Linux. Si puo' fare il boot direttamente da USB ed ho installato l'opzione SYS
l'idea era di avere una macchina con GCC ed X con I3 (attenzione che la tastiera del portatile non ha il tasto Windows quindi quando si configura I3 si deve fare la giusta scelta come tasto modificatore)
Questi sono i comandi per la configurazione
apk add --update alpine-sdk
setup-xorg-base
apk add emacs mc
apk add xf86-video-fbdev xf86-video-vesa font-terminus dbus
dbus-uuidgen > /var/lib/dbus/machine-id
rc-update add dbus
apk add i3wm i3status xterm
addgroup luca input
addgroup luca video
startx /usr/bin/i3
il sistema con la sola consolle occupa circa 159 Mb di RAM, il disco fisso da 20 Gb e' occupato per circa il 5%
alla fine e' ancora una macchina usabile
Un esempio semplice per inserire in un container Docker una applicazione Flask
Partiamo da una semplice applicazione che ha un file app.py ed un requirements.txt
Si crea nello stesso folder dei due files precedenti il Dockerfile
---------------------------------------------------------------------------------------------
FROM python:3.8-slim-buster
WORKDIR /python-docker
COPY requirements.txt requirements.txt
RUN pip3 install -r requirements.txt
COPY . .
CMD [ "python3", "-m" , "flask", "run", "--host=0.0.0.0"]
---------------------------------------------------------------------------------------------
e si effettua la build con
docker build --tag flask-docker .
terminata la build del container
docker run -d -p 5000:5000 flask-docker
la applicazione sara' visibile su localhost:5000
Gia' siamo partiti male....ordinato su Aliexpress (costato 1/3 rispetto ad Amazon) ed il cavo di collegamento ha 3 pin....
Il problema e' dal lato scheda ... sulla scheda i pin sono nominati ADVG (dall'alto verso il basso) per l'ingresso del TS-300B e GTV per il lato di connessione verso Arduino
incrociando le informazioni con altre schede simili il pinout e'
A = analog input
D = soglia digitale level output
V = Power Positive
G = GND
mentre per il lato arduino
G = GND
T = segnale
V = Vcc (e' un sensore che deve essere alimentato a 5 V)
Il sensore ha due led L2 che mostra la presenza di alimentazione ed il led L1 che si illumina quando si raggiunge la soglia di tordibita'
Il funzionamento e' semplice...da un lato c'e' un led IR e dall'altro un ricevitore...a seconda di quanta luce arriva al ricevitore viene stimata la torbidita'...visto cio' il sensore e' sensibile alla luce ambientale (deve quindi lavorare al buio ancora meglio dentro ad un tubo)
Leggendo ho trovato che questo tipo di sensori vengono usati in lavastoviglie
Ho imparato a mie spese che non tutte le batterie LiPo hanno la polarita' connessa nello stesso modo al connettore JST
Come si vede nella foto sottostante una LiPo e' connessa in modo corretto ad una Arduino MKR (positivo a sinistra) Nella stessa foto si vede il connettore di un'altra batteria con positivo a destra ...e meno male che non si' bruciata la scheda
In ogni caso i connettori JST con un po' di pazienza di possono smontare ed invertire i cavi
Ho provato ad usare la rete di neurale a questo indirizzo https://github.com/apple/ml-depth-pro per ottenere una mappa di profondita' da un unico jpg
Questa l'immagine di partenza
La rete viene definita metrica ma i risultati sono lontanissimi dalle misure reali degli oggetti fotografati
Se si prendono due immagini distanti nel tempo
questo il risultato
Aprendo un cassetto e' saltato fuori questo progetto del 2010
Non si vede benissimo ma e' una Arduino 2009 (probabilmente un clone)
from dash import Dash , html , dcc , callback , Output , Input , State import plotly . express as px import pandas as pd import...