Fabricar un mini Monitor sobre el Estado de la Impresora 3D

Vamos a crear un mini monitor de impresión (temperaturas, tiempo transcurrido, tiempo restante) con funciones adicionales para cuando no está imprimiendo (reloj y clima).

20181101_210557

Para empezar necesitaremos:

Una vez impreso el STL, lo cual pasaré por alto, cableamos el chiringuito tal que así:

Notese que el OLED está al revés, no soldéis por delante!

  • Descargamos e instalamos los Drivers para Weemos de aquí: https://wiki.wemos.cc/downloads
  • Entramos en Arduino – Archivo – Preferencias, y añadimos abajo, en “Gestor de URLs Adicionales de Tarjetas” lo siguiente: http://arduino.esp8266.com/stable/package_esp8266com_index.json
  • En Herramientas – Placa – Gestor de tarjetas escribimos “esp8266” e instalamos (yo utilicé la versión 2.4.1)
  • Ahora seleccionamos Herramientas – Placa – Weemos D1 R2 & Mini

Ahora a por las librerias, vamos a Programa – Incluir libreria – Gestor de librerias e instalamos las siguientes:

  • WiFiManager by tzapu (Usé la 0.14.0)
  • ArduinoJson by Benoir Blanchon (Usé la 5.13.3)
  • Buscamos 1306 y seleccionamos ESP8266 and ESP32 Oled Driver for SSD1306 display by Daniel Eichhorn (Usé la 4.0.0)

Antes de flashear necesitaremos las claves API de octoprint y de Clima

  • Abrimos printermonitor.ino de la carpeta descargada del código fuente y vamos a Settings.h
  • Entramos a octoprint – herramientas – API y copiamos esa clave a la linea
    • String OctoPrintApiKey = “metedaquilaclave”
  • Entramos a OpenWeatherMap, nos hacemos una cuenta gratuita y esperamos a que nos llegue un email con la clave API, la cual aparece en un recuadro amarillo tras este comando &APPID=, y copiamos la clave en la linea
    • String WeatherApiKey = “metedaquilaclave” (recordad, sin el &APPID=)
  • Por lo demás, fijaos en este cuadro para saber como configurarlo:

// OctoPrint Monitoring — Monitor your 3D printer OctoPrint Server
String OctoPrintApiKey = “MeteAquiTuClaveAPI”;
String OctoPrintHostName = “octopi”;
String OctoPrintServer = “MeteAquiTuIP”;
int OctoPrintPort = 80;
String OctoAuthUser = “UsuarioDeOctoprint”;
String OctoAuthPass = “ClaveDeOctoprint”;

// Weather Configuration
boolean DISPLAYWEATHER = true;
String WeatherApiKey = “MeteAquiTuClaveAPI”;
// Default City Location (use http://openweathermap.org/find to find city ID)
int CityIDs[] = { ClaveDeVuestraCiudad};
boolean IS_METRIC = true;

const int WEBSERVER_PORT = 80;
const boolean WEBSERVER_ENABLED = true;
char* www_username = “admin”;
char* www_password = “password”;
float UtcOffset = +1;// +1 para españa horario de invierno
boolean IS_24HOUR = true;
int minutesBetweenDataRefresh = 15;
boolean DISPLAYCLOCK = true;

Las claves para lo siguiente seran “admin” y “password” a menos que las modifiqueis ahi arriba.

(Añadiré fotos en breve de los dos siguientes pasos)

Conectamos todo, flasheamos y dejamos que se inicie un minuto o dos. Weemos habrá creado un punto WiFi al que nos tendremos que conectar con algún dispositivo, identificadlo y conectaos. Desde el explorador id a la IP de ese punto WiFi (en las propiedades del wifi sale, en mi caso 192.168.4.1) y veréis una interfaz para meter vuestro nombre y clave de WiFi, así Weemos se conectará a vuestro WiFi.

Tras guardar, Weemos creará una web para que podais configurar “al vuelo” cosas como la clave de octoprint, las API y demás.

Para los despistados que os compréis un OLED SPI sabed que todo tiene solución, la parte traerá os dirá como resoldar los puentes para pasar de SPI a I2C.

En mi caso, en el OLED venía como resoldar los puentes para pasar de SPI a I2C, solo tuve que desoldar el puente R3 y soldar en R1, R5 y R6.

Tras esto, Soldé los pines DC y CS a GND y dejé RES sin conectar.

The following two tabs change content below.

Yakandu

Latest posts by Yakandu (see all)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *