Tabla de contenido:

Sistema de gestión de inventario integrado: 10 pasos (con imágenes)
Sistema de gestión de inventario integrado: 10 pasos (con imágenes)

Video: Sistema de gestión de inventario integrado: 10 pasos (con imágenes)

Video: Sistema de gestión de inventario integrado: 10 pasos (con imágenes)
Video: Sistema de Gestión de Inventarios Desarrollado en Laravel, MySQL y Vue.js. 2024, Mes de julio
Anonim
Sistema de gestión de inventario integrado
Sistema de gestión de inventario integrado

Siempre he querido una forma asequible de realizar un seguimiento de todo en mi despensa, así que hace un par de meses comencé a trabajar en un proyecto que haría precisamente eso. El objetivo era crear un sistema simple y asequible que fuera muy fácil de usar y que al mismo tiempo almacenara suficiente información para que valiera la pena el esfuerzo adicional. Lo que finalmente construí es un sistema de administración de inventario que puede almacenar y actualizar información sobre cualquier artículo que tenga un código de barras, así como extraer datos básicos sobre esos artículos de Internet.

En resumen, el sistema funciona así.

  1. Se escanea un código de barras.
  2. Un script de Python lee los datos del escáner.
  3. La solicitud se envía a una API REST que se ejecuta en node-red.
  4. La API procesa la solicitud, extrae datos adicionales de Internet y edita la base de datos en consecuencia.

Todo esto se hace en una sola Raspberry Pi, lo que le brinda la capacidad de actualizar y almacenar datos sobre todo su inventario en un sistema pequeño y portátil. Este proyecto es un poco técnico y una comprensión básica de bases de datos, HTTP y Python será muy útil, pero haré todo lo posible para que sea lo suficientemente fácil de entender para un principiante. ¡Empecemos!

Paso 1: lo que necesitará

Lo que necesitarás
Lo que necesitarás

Las piezas que necesitará para este proyecto son …

  • Frambuesa pi
  • Escáner de código de barras USB (enlace al que estoy usando)
  • Adaptador WiFi (si su Pi no tiene WiFi integrado)
  • Interruptor de palanca
  • Cables de puente
  • Estuche para su Raspberry Pi (opcional)

Paso 2: instalar y configurar la base de datos

Instalar y configurar la base de datos
Instalar y configurar la base de datos

MySQL es el sistema de administración de bases de datos que almacenará todos los datos que extraemos de los escaneos de códigos de barras. Esto es muy fácil de hacer en el Pi, simplemente ejecute el siguiente comando en la terminal de su Pi.

sudo apt-get install mysql-server

Luego, se lo guiará a través del proceso de instalación y se le pedirá que cree una contraseña. Eso es todo. Con MySQL instalado, su Pi puede actuar como su propio servidor de base de datos. Ahora necesitamos crear las tablas que contendrán nuestros datos. Primero, inicie sesión. Después de la instalación, el único usuario de MySql es root (el usuario que tiene acceso a todas las tablas y sistemas). Puede iniciar sesión como root ejecutando el siguiente comando.

mysql -uroot -p

Pronto configuraremos otro usuario para que lo use nuestro sistema, pero primero debemos crear nuestra base de datos y las tablas dentro de esa base de datos. Para hacer esto, ejecute los siguientes comandos.

crear inventario de base de datos;

usar inventario; crear tabla upc_count (upc varchar (15) no nulo, contar entero (3) no nulo predeterminado 0, nombre varchar (255), tamaño varchar (40), fabricante varchar (80), clave primaria (upc));

Ahora tenemos una tabla simple con cinco columnas upc (que será la clave principal), recuento, nombre, tamaño y fabricante. Nota: Un upc es un número que identifica de forma exclusiva un producto. Ese número es lo que se lee en la etiqueta del código de barras cuando se escanea.

Finalmente, vamos a configurar el usuario que necesitamos. Voy a llamar al mío, para hacer esto, ejecute los siguientes comandos, usando el nombre de usuario y la contraseña que desee:

conceder todo en el inventario. * a '' @ 'localhost' identificado por;

Ahora que tenemos nuestra base de datos, ¡podemos comenzar a construir el sistema!

Paso 3: Obtenga la clave de API de OutPan

OutPan es una API que se puede utilizar para obtener información sobre un producto utilizando su número upc. Usaremos esto para extraer más información sobre los productos a medida que se agregan a la base de datos. Esta es una API pública, pero para poder usarla, debe registrarse y obtener una clave de API. Registrarse es bastante sencillo, simplemente vaya aquí y siga los pasos para registrarse para obtener una clave.

Una vez que obtenga su clave, cópiela. Lo necesitará en un paso posterior.

Paso 4: instalar y configurar Node-Red

Instalar y configurar Node-Red
Instalar y configurar Node-Red
Instalar y configurar Node-Red
Instalar y configurar Node-Red

Node-Red viene preinstalado en todas las versiones del sistema operativo Raspbian desde finales de 2015. Para saber si tiene instalado node-red, simplemente ejecute el siguiente comando en la terminal.

nodo-rojo

Si se muestra un mensaje de "comando no encontrado", deberá instalar node-red. Para hacer esto, ejecute los siguientes comandos.

sudo apt-get update sudo apt-get install nodered

Después de iniciar node-red, puede acceder a node-red desde la dirección que se muestra en la salida.

La única configuración que queda es instalar los nodos de MySQL. Puede hacerlo a través del navegador. Haga clic en el símbolo en la esquina superior derecha de la página y luego haga clic en la opción 'Administrar paleta'. Desde allí, simplemente busque 'mysql' y haga clic en el botón de instalación.

Ahora estamos listos para importar la API.

Paso 5: configura la API

Configurar la API
Configurar la API
Configurar la API
Configurar la API
Configurar la API
Configurar la API

A continuación se muestra toda la API de node-red que escribí. Simplemente copie todo a continuación, haga clic en el símbolo en la esquina superior derecha y vaya a importar → desde el portapapeles.

[{"id": "ef09537e.8b96d", "type": "subflow", "name": "mineOpenPanData", "info": "", "in": [{"x": 64, "y": 57, "cables": [{"id": "b8b6d2e4.169e7"}]}], "out": [{"x": 755, "y": 58, "cables": [{"id": "8dc2d52b.6a6fd8", "puerto": 0}]}]}, {"id": "b8b6d2e4.169e7", "tipo": "solicitud http", "z": "ef09537e.8b96d", "nombre ":" Solicitud de salida panorámica "," método ":" GET "," ret ":" txt "," url ":" https://api.outpan.com/v2/products/{{{upc}}} ? apikey = "," tls ":" "," x ": 202," y ": 57," cables ":

Ahora tiene toda la API que usaremos para insertar y actualizar datos. Solo es necesario realizar un par de ajustes antes de que estemos listos para usarlo.

  1. Primero, vaya a todos los nodos de la base de datos MySQL y cambie el nombre de usuario y la contraseña por los que creó para la base de datos en el paso anterior.
  2. En segundo lugar, edite el subflujo mineOutPanData para que la solicitud HTTP utilizada para obtener los datos de Open Pan utilice su propia clave API.

Ahora está listo para usar la API. Este flujo crea una API REST simple que le permite enviar datos desde cualquier dispositivo conectado a Internet mediante solicitudes

Paso 6: (Opcional) Comprensión de la API

Conecte el interruptor de palanca
Conecte el interruptor de palanca

Lo último que tenemos que hacer es conectar un interruptor al GPIO para que podamos escanear en dos modos, agregar y quitar.

Esto es bastante sencillo, simplemente configure un interruptor de palanca para leer desde el pin 21 de GPIO en el Pi y listo. Usando el circuito en la imagen adjunta (conocido como circuito PUD DOWN), el script enviará una solicitud de adición cuando el interruptor de palanca esté cerrado y una solicitud de eliminación cuando el interruptor de palanca esté abierto.

Después de eso, simplemente pegamos los cables al interior de la carcasa y estamos listos para comenzar.

Paso 9: (Opcional) Cree una interfaz de usuario

(Opcional) Cree una interfaz de usuario
(Opcional) Cree una interfaz de usuario

Este último paso no es necesario, pero ciertamente es útil si desea utilizar todo el potencial del sistema. Configuré una interfaz de usuario muy simple que mostraba todos los datos que tenemos en nuestra base de datos en una tabla fácil de navegar. La tabla se puede ordenar por columna y también buscar, lo que facilita ver lo que tiene a mano.

La interfaz de usuario es bastante simple; Re-propuse un código de ejemplo que encontré en línea para trabajar con nuestra API (si está interesado, ese código de ejemplo se puede encontrar aquí).

Para ejecutar la interfaz de usuario, haga lo siguiente …

  1. Guarde el archivo index.txt adjunto como index.html (no pude cargar el archivo como un archivo HTML por alguna razón).
  2. Coloque los dos archivos en el mismo directorio de su computadora.
  3. Ejecute el archivo 'index.html' en su navegador web favorito.

¡Ahora podemos ver y clasificar fácilmente su inventario!

Paso 10: ¡Empiece a escanear

¡Empiece a escanear!
¡Empiece a escanear!

¡Ahora está listo para comenzar a escanear! Si tiene alguna pregunta, déjela en los comentarios y me aseguraré de responder cuando pueda.

Por último, agradeceríamos enormemente sus votos en el concurso. ¡Gracias por leer!

Recomendado: