first install javafx deps
sudo apt-get install openjfx
Then download the latest jar and put in /opt
Download: https://github.com/eclipse/paho.mqtt-spy/wiki/Downloads
Run!
miércoles, 18 de abril de 2018
miércoles, 11 de abril de 2018
Publish / Share / Register your own library in PlatformIO Library Registry
Step 1: publish your project on github
You must first create your manifest file that must be called "library.json" and it must be in the root of the project
In my case it has the following structure:
{
"name": "EasyOta",
"keywords": "ota, over,to, air,esp8266",
"description": " The easiest way to implement ota on an esp8266 based chip using an HTTP server",
"repository":
{
"type": "git",
"url": "https://github.com/Eitol/EasyOta.git"
},
"authors":
[
{
"name": "Hector Oliveros",
"email": "hector.oliveros.leon@gmail.com",
"maintainer": true
}
],
"license": "MIT",
"version": "1.0",
"frameworks": "arduino",
"platforms": "espressif8266"
}
Step 2: copy the url of the raw project
The url is some like this:
https://raw.githubusercontent.com/GITHUB_USER/PROJECT/master/library.json
Example:
For my project with url = https://github.com/Eitol/EasyOta
Then, the url is:
https://raw.githubusercontent.com/Eitol/EasyOta/master/library.json
Step 3: Use the url to register your library
The command is:
platformio lib register [MANIFEST_URL]
example:
platformio lib register https://raw.githubusercontent.com/Eitol/EasyOta/master/library.json
lunes, 9 de abril de 2018
FIX: No output from qDebug
Si qDebug no muestra nada en Qt 5.9 entonces debes crear un fichero qtlogging.ini (vacio) en el directorio home:
.config/QtProject/qtlogging.ini
lunes, 2 de abril de 2018
Raspberry PI 3 Composite video problem
Si conectando la raspberry al television usando un cable plug - RCA ves una imagen como la siguiente:
es porque el cable que estas usando no es el adecuado y tiene intercambiado el pin de tierra con el de video:
Solución:
Solución cara pero fácil: Comprar un cable que sea compatible que transmita el video por el último segmento (como los de Apple)
Solución fea: Soldar los cables a la rb: https://www.raspberrypi.org/forums/viewtopic.php?t=181288
Solución fácil y barata: Con un conector dc hembra y otro macho puedes pasar intercambiar la señal de video por la de tierra (Esta me funcionó perfecto)
Pueder ver mas info aquí:
miércoles, 7 de marzo de 2018
viernes, 2 de marzo de 2018
Usar una Raspberry Pi como programador AVR
En esta entrada veremos el proceso de creación de un Programador Remoto de AVR.
Componentes
Se utilizarán los siguientes componentes:
- Una Raspberry Pi 3 Model B con Raspbian 9 como SO
(También se probó en una Orange Pi con Ubuntu server 16.04)
- Un Arduino Uno o un Mega 2560
Proceso
El proceso sería el siguiente:
1- Un usuario carga el código compilado (hex) a firebase
2- Firebase envía la notificación de cambio a la raspberry (Utilizando la base de datos en tiempo real)
3- La raspberry descarga el código
4- La raspberry sube el código al Arduino
Conexiones
Puedes alimentar el Arduino por USB o por los pines GND y VCC del ICSP.
Puedes cambiar los pines a utilizar, pero no puedes usar el BCM 4 (PIN 7) que por alguna razón da problemas (Ver más info aquí)
Note que las conexiones en la Raspberry son a los pines BCM.
Arduino ICSP | Raspberry BCM
reset | 12; # Pin 32
sck | 11; # Pin 23
mosi | 10; # Pin 19
miso | 9; # Pin 21
Componentes
Se utilizarán los siguientes componentes:
- Una Raspberry Pi 3 Model B con Raspbian 9 como SO
(También se probó en una Orange Pi con Ubuntu server 16.04)
- Un Arduino Uno o un Mega 2560
Proceso
El proceso sería el siguiente:
1- Un usuario carga el código compilado (hex) a firebase
2- Firebase envía la notificación de cambio a la raspberry (Utilizando la base de datos en tiempo real)
3- La raspberry descarga el código
4- La raspberry sube el código al Arduino
Conexiones
Puedes alimentar el Arduino por USB o por los pines GND y VCC del ICSP.
Puedes cambiar los pines a utilizar, pero no puedes usar el BCM 4 (PIN 7) que por alguna razón da problemas (Ver más info aquí)
Note que las conexiones en la Raspberry son a los pines BCM.
Arduino ICSP | Raspberry BCM
reset | 12; # Pin 32
sck | 11; # Pin 23
mosi | 10; # Pin 19
miso | 9; # Pin 21
![]() |
| Conexiones Arduino -> Raspberry ICSP |
![]() |
| Así quedó |
Instalando avrdude
La versión 6.2 y 6.3 de avrdude por alguna razón muy rara no está habilitada para usar los GPIO para cargar código (linuxgpio) y no funciona bien. Pude hacerlo funcionar con la versión 6.1
Debes ejecutar lo siguiente:
sudo apt-get install bison flex libusb-dev gcc gcc-avr avr-libc libelf-dev libusb-1.0-0-dev libusb-1.0-0-dev libftdi1-dev libftdi-dev libhidapi-libusb libevent-pthreads-2.0-5 libpthread-workqueue0 -y
wget http://ftp.nchc.org.tw/Unix/NonGNU/avrdude/avrdude-6.1.tar.gz
tar xfv avrdude-6.1.tar.gz
cd avrdude-6.1
./configure --enable-linuxgpio
make -j4
sudo make install
Probando la instalación de avrdude
Copias el fichero avrdude.conf al home del usuario
cp /usr/local/etc/avrdude.conf ~/avrdude_gpio.conf
Luego abres el fichero que acabas de copiar
nano ~/avrdude_gpio.conf
y le agregas esto al final
programmer
id = "pi_1";
desc = "Use the Linux sysfs interface to bitbang GPIO lines";
type = "linuxgpio";
reset = 12;
sck = 11;
mosi = 10;
miso = 9;
;
Luego probamos la conexión con el Arduino ejecutando lo siguiente:
sudo avrdude -p atmega2560 -C avrdude_gpio.conf -c pi_1 -v
Deberías ver algo así en la consola:
Y el arduino debe parpadear como en el siguiente video:
Probando la carga del código
Primero debemos generar el codigo compilado con extensión .hex.
Para ello abrimos Arduino IDE en cualquier PC (no necesariamente en la raspberry) y entramos en Preferencias y marcamos lo siguiente:
Para ello abrimos Arduino IDE en cualquier PC (no necesariamente en la raspberry) y entramos en Preferencias y marcamos lo siguiente:
Luego compilamos (Estoy usando el ejemplo de Blink) y buscamos el archivo .hex y lo copiamos y pegamos en el home de la raspberry al lado del fichero avrdude_gpio.conf
Para subir el codigo al Arduino debes ejecutar el siguiente comando:
sudo avrdude -p atmega2560 -C ~/avrdude_gpio.conf -c pi_1 -v -U flash:w:NOMBRE_DEL_HEX:i
En nuestro caso como el fichero se llama Blink.ino.hex:
sudo avrdude -p atmega2560 -C ~/avrdude_gpio.conf -c pi_1 -v -U flash:w:Blink.ino.hex:i
NOTA: Debes tener MUCHO cuidado con ese comando y el parámetro "p". He cargado por error un codigo compilado para atmega2561 en mi atmega2560 y se ha brickeado.
Referencias:
https://learn.adafruit.com/program-an-avr-or-arduino-using-raspberry-pi-gpio-pins
http://ozzmaker.com/program-avr-using-raspberry-pi-gpio/
http://blog.stevemarple.co.uk/2012/07/avrarduino-isp-programmer-using.html
FIX: ImportError: cannot import name 'opentype'
Fix this problem:
File "/usr/local/lib/python3.5/dist-packages/oauth2client/_pure_python_crypt.py", line 24, in <module>
from pyasn1_modules.rfc2459 import Certificate
File "/usr/local/lib/python3.5/dist-packages/pyasn1_modules/rfc2459.py", line 20, in <module>
from pyasn1.type import opentype
ImportError: cannot import name 'opentype'
SOLUTION:
pip3 install --upgrade pyasn1-modules
File "/usr/local/lib/python3.5/dist-packages/oauth2client/_pure_python_crypt.py", line 24, in <module>
from pyasn1_modules.rfc2459 import Certificate
File "/usr/local/lib/python3.5/dist-packages/pyasn1_modules/rfc2459.py", line 20, in <module>
from pyasn1.type import opentype
ImportError: cannot import name 'opentype'
SOLUTION:
pip3 install --upgrade pyasn1-modules
Suscribirse a:
Entradas (Atom)
















