Reverse Engineering
Reverse GU10 Osram LED RGBW
LED RGBW pilotable par une commande IR type ruban led chinois. Cette ampoule au culot GU10 est dispo chez Action pour un peu moins de 4€
Pourquoi ne pas remplacer nos ampoules par cette version ? Un blanc chaud dimmable. Ajoutons simplement un ESP8266 une led ir et un client MQTT pour piloter l'intensité et la couleur de l'éclairage
DUMP IR
https://gist.github.com/iooner/d04f2d5752856121e18d59d03173880e
ON
Encoding : NEC Code : FFE01F (32 bits) Library : v2.5.3 Raw Timing[71]: + 9170, - 4492, + 602, - 538, + 596, - 546, + 598, - 540, + 604, - 536, + 598, - 542, + 602, - 538, + 596, - 546, + 598, - 540, + 604, - 1642, + 596, - 1652, + 596, - 1650, + 600, - 1648, + 600, - 1648, + 602, - 1646, + 602, - 1646, + 602, - 1644, + 604, - 1642, + 594, - 1652, + 596, - 1652, + 596, - 544, + 600, - 540, + 594, - 546, + 598, - 542, + 602, - 536, + 596, - 542, + 602, - 538, + 596, - 544, + 600, - 1646, + 602, - 1644, + 604, - 1642, + 604, - 1642, + 594, - 1652, + 596, - 39962, + 9158, - 2228, + 596 uint16_t rawData[71] = {9170, 4492, 602, 538, 596, 546, 598, 540, 604, 536, 598, 542, 602, 538, 596, 546, 598, 540, 604, 1642, 596, 1652, 596, 1650, 600, 1648, 600, 1648, 602, 1646, 602, 1646, 602, 1644, 604, 1642, 594, 1652, 596, 1652, 596, 544, 600, 540, 594, 546, 598, 542, 602, 536, 596, 542, 602, 538, 596, 544, 600, 1646, 602, 1644, 604, 1642, 604, 1642, 594, 1652, 596, 39962, 9158, 2228, 596}; // NEC FFE01F uint32_t address = 0x0; uint32_t command = 0x7; uint64_t data = 0xFFE01F; Timestamp : 000004.265 Encoding : NEC (Repeat) Code : FFFFFFFFFFFFFFFF (0 bits) Library : v2.5.3 Raw Timing[3]: + 9154, - 2230, + 604 uint16_t rawData[3] = {9154, 2230, 604}; // NEC (Repeat) FFFFFFFFFFFFFFFF uint64_t data = 0xFFFFFFFFFFFFFFFF;
Roland DXY-880A
https://stuartl.longlandclan.id.au/blog/2013/01/20/rolanddg-dxy-800a-under-linux/
http://stuartl.longlandclan.yi.org/blog/wp-content/uploads/2013/01/hpgl2roland.pl_.txt
PDF MANUAL https://ia600503.us.archive.org/14/items/RolandDG-DXY880OCR/RolandDG-DXY880OCR.pdf
Roland DXY-990
https://github.com/TimeTravel-0/penplotterfeeder
https://pypi.python.org/pypi/Chiplotle
https://hackaday.io/project/12276-roland-dg-dxy-990
http://www.rolandforum.co.uk/viewtopic.php?f=49&t=2072
Milieu de page http://www.synthfool.com/laser/
Cable Serial <> USB : http://cmc.music.columbia.edu/chiplotle/manual/_static/SerialPlotterCable_Chiplotle.pdf
Créer un adaptateur à partir d'un vieux "pen": https://www.flickr.com/photos/anachrocomputer/sets/72157624783555539
Convertisseurs HPGL
-
Plugin inkscape : https://www.timewasters-place.com/inkscape-and-plotters-the-2nd/
-
Software C : https://github.com/anachrocomputer/vec#the-pens
-
Processing \o/ (voir plus bas)
psdtoedit
Pstoedit est un vieux soft en ligne de commande pour convertir à peu près n'importe quel fichier vectoriel en HPGL.
Installation sur Raspbian Jessie Lite :
$ sudo apt install ghostscript $ sudo apt install pstoedit
Utilisation :
$ PAGE_SIZE="a3" HPGL_VERSION=1 pstoedit -f "plot-hpgl:-plotformat hpgl" input.pdf output.hpgl
Les traits ont l'air d'être appliqués deux fois, ce qui peut être sympa pour les bics un peu récalcitrants mais ça vaudrait la peine de chercher à comprendre pourquoi.
Des variables d'environnement sont disponibles, voir sur https://www.gnu.org/software/plotutils/manual/en/html_node/Plotter-Parameters.html
Filtres et remplissage
-
Hatch Fill : https://www.thingiverse.com/thing:4943
Recherches HPGL
Envoi depuis une Raspberry Pi avec le script python https://github.com/TimeTravel-0/penplotterfeeder Ratio de 40 sur les distances:
PD400,400;
envoie le pen à x10mm, y10mm. Maximum travel size: x416, y259 (16640, 10360). Au-dessus le déplacement est imprédictible (quelques millimètres de décalage).
Control commands
Des commandes spéciales permettent de parler à la machine grâce au caractère d'échappement "ESC". Il a le code ASCII 27, en python on l'obtient avec chr(27)
. En Nodejs, "\x1b"
.
-
[ESC].B
récupérer l'état du buffer (Nodejs:"\x1b.B"
) -
[ESC].E
récupérer un code d'erreur (0 = pas d'erreur, pour les autre codes voir manuel papier) -
[ESC].O
récupérer l'état de la machine (pour codes voir manuel papier) -
[ESC].K
arrêter le plot en cours et vider le buffer. Ne fonctionne pas top, on doit envoyer la commande plusieurs fois pour qu'elle soit prise en compte et parfois elle ne l'est pas.
-
IN;
initialisation -
SP1;
selection du pen ⇒ 1 -
VS1;
vitesse du pen ⇒ 1 -
SI1,1;
taille sur l’axe x ⇒ 1, y ⇒ 1 -
PA0,4000;
position x ⇒ 0, y ⇒ 4000 -
DT$;
carractère final ⇒ $ et (char)3 = caractère invisible par défault -
LB RADISLAV EST BG$;
texte à afficher ⇒ RADISLAV EST BG + char final ⇒ $ (qui ducoup sera afficher) -
PU;
lever le pen -
PD;
decendre le pen -
CP;
retour à la ligne
Raspberry pi
Interface Web
John a créé une app web pour importer un fichier HPGL, le prévisualiser et l'envoyer à la machine : https://github.com/LgHS/hpgl-sender
(suivre les instructions du README)
Script Python
ssh pi@192.168.*.* sudo apt-get install git virtualenv git clone https://github.com/TimeTravel-0/penplotterfeeder.git cd penplotterfeeder virtualenv . . bin/activate pip install pySerial python plot.py tests.hpgl 1 0 0 /dev/ttyUSB0
Processing
Il est possible de générer du HPGL directement depuis Processing avec cette librairie : https://github.com/ciaron/HPGLGraphics.
Cette lib ne prend pas en compte P3D (rotateX
, vertex(float,float,float)
), il faut repartir d'un Fork de PGGraphicsSVG (sur le github de Processing) et adapter pour le HPGL.
Fork HPGLGraphics
John a forké la librairie Processing pour pouvoir définir des tailles personnalisées, des marges et la vitesse du pen : https://github.com/drskullster/HPGLGraphics (v1.0.4)
Pour compiler :
-
brew install ant
-
cd HPGLGraphics/resources
-
ant -Dclasspath.local.location=[Processing path] -Dsketchbook.location=[Sketchbook path]
-
La librairie est compilée dans le dossier [Sketchbook path]. Si l'originale était déjà présente, elle a été remplacée.
Projets
-
https://github.com/LgHS/TweetPlotBot Tweets dessinés par la machine en temps réel
-
https://github.com/LgHS/voiceplot Dessins génératifs basés sur un enregistrement audio
-
https://github.com/LgHS/hpgl-sender Interface web pour contrôler le plotter et envoyer du HPGL
-
https://github.com/drskullster/plots Sketchs Processing random de John
Serrures magnétiques
Fin mai 2018, lors d'un Repair Café, JHC a eu un plan pour récupérer une quarantaine d'anciennes serrures à carte magnétique de l'Auberge de Jeunesse Simenon.
Général
Les serrures sont composées de 3 parties : la gâche, la façade extérieure et la façade intérieure.
Elles fonctionnent sur batterie. On a trouvé des battery holders pour 6 piles AA ainsi que pour une pile 9v (?).
La Gâche
Trois composants électroniques :
-
Un petit moteur (DC ?) (2 câbles)
-
Deux switches (2 * 2 câbles)
Le moteur tourne avec 5v. Il est sensé déplacer une pièce métallique qui doit venir bloquer le mouvement de la poignée de porte, mais on a pas réussi à reproduire ce mouvement. Il faut être précis et précautionneux au démontage de la serrure (hum…).
A quoi servent les deux switches ? Sans doute à communiquer l'état de l'ouverture au contrôleur. Mais pourquoi deux ?
La façade extérieure
Le lecteur de carte mécanique possède évidemment de l'intelligence, à voir ce qu'on peut trouver comme doc sur le net.
La façade intérieure
Elle comprend une poignée rotative pour ouvrir sans carte. Elle devrait normalement "cliquer" sur un des switches pour indiquer l'état.
PICZ
Plotters Roland
Plotters Roland
Cette page documente les Pen Plotters Roland DXY 880a et Roland DXY 990.
Nos recherches: roland-dxy-990
Les projets liés à ces machines: plot
C'est quoi un Pen Plotter ?
Le terme Pen Plotters se réfère aux différentes machines qui permettent de dessiner (plot) avec un pen (feutre, marqueur, stylo à bille,…).
Bien que ce terme désigne un ensemble de machines fort différentes (notre Polargraph en est un, un autre très connu est l'Axidraw) cette page discute essentiellement des machines disponibles au HS, aussi appellées HPGL Plotters (dû au format de description graphique).
Pilotage
On peut parler aux machines en utilisant un adaptateur série null modem DB25 (fait maison) <> adaptateur série <> USB.
HPGL Sender (serveur nodejs et interface web pour lancer des prints) peut être installé sur une Raspberry Pi (voir le README sur la page Github du projet).