Skip to content
This repository has been archived by the owner on Jan 22, 2024. It is now read-only.

Latest commit

 

History

History
104 lines (83 loc) · 3.45 KB

README.md

File metadata and controls

104 lines (83 loc) · 3.45 KB

UsbStick Serial Connection

Esta es una aplicación de consola que nos permite conectar un dispositivo con lora como el UsbStick por puerto serial y mandar binarios a otro receptor de lora. Con los binarios que recibe el receptor podemos experimentar con otros dispositivos conectados a la UsbStick como en este ejemplo que se realizó con una pinza y un foco para poder encender el foco y cerrar la pinza a distancia por lora, también podremos mandar esa informaciòn por medio de una petición POST a un servidor en específico.

Run Setup

# required node version -> 12.18.2 LTS

# install dependencies
npm install

# serve with hot reload at localhost:3000
npm run start

download node -> 12.18.2 LTS

Initial config

# selecciona el puerto serial de tu dispositivo lora
# la ruta de el archivo se encuentra dentro de src/server/serialConnection.js en la línea 20
// * Config your port used              {PORT}
export const mySerial = new SerialPort("COM20", {
  //** config baudrate default: 115200 */
  baudRate: 115200,
});

# el nombre del puerto se muestra en la consola en forma de lista al inicio del programa

/*
Server run on port:  3000
available ports
path -> /dev/tty.Bluetooth-Incoming-Port 
*/

# configuración de ruta para el POST de los binarios
# la ruta de el archivo se encuentra dentro de src/controllers/helpers.js en la línea 6

import axios from "axios";

export function postData(val1, val2, val3) {
  // @post data ["set post url"]
  axios
    .post("http://example.com/api", {
      FormStructureId: "5d97c6de4e976399ece4ae6d",
      ReferenceParameters: [
        { Name: "Foco Encendido", Value: val1 },
        { Name: "Pinza Abierta", Value: val2 },
        { Name: "Pinza Cerrada", Value: val3 },
      ],
    })
    .then(function (response) {
      console.log(response.data);
    })
    .catch(function (error) {
      console.log(error);
    });
}

Funciones de ejemplo del programa

/* estas son las funciones que realiza el programa, envía los datos al servidor establecido  
y realiza la función dependiendo de el binario enviado a través el puerto serial */

ControllerData.prototype.postData_onLedCatRelay = () => {
  console.log("ON LED -> POST");
  postData(1,0,0);
};
ControllerData.prototype.postData_offLedCatRelay = () => {
  console.log("OFF LED -> POST");
  postData(0,0,0);  
};
ControllerData.prototype.postData_closeGripper = () => {
  console.log("CLOSE GRIPPER -> POST");
  postData(0,1,0);
};
ControllerData.prototype.postData_openGripper = () => {
  console.log("OPEN GRIPPER -> POST");
  postData(0,0,1);
};
ControllerData.prototype.postData_openGripperAndLedOn = () => {
  console.log("OPEN GRIPPER  AND ON LED-> POST");
  postData(1,0,1);
};
ControllerData.prototype.postData_closeGripperAndLedOn = () => {
  console.log("CLOSE GRIPPER  AND ON LED-> POST");
  postData(1,1,0);
};

License

Electronic Cats invests time and resources providing this open source design, please support Electronic Cats and open-source hardware by purchasing products from Electronic Cats!

Released under an MIT license. See the LICENSE file for more information.