¿Cuál es la forma más fácil de llevar datos desde un dispositivo de campo a la nube?

Creo que la pregunta es qué tipo de generalidad o universalidad de plataforma tiene para:

  • El método para adquirir / enviar datos
  • Los tipos de datos que acepta el servicio en la nube

Creo que si se trata de aplicaciones de campo, debe hacer coincidir la diversidad de sus dispositivos y situaciones de campo con la universalidad de su servicio en la nube. Wolfram lanzó recientemente un proyecto llamado Data Drop . Wolfram Data Drop es un servicio abierto que facilita la acumulación de datos de cualquier tipo, desde cualquier lugar, configurándolo para computación, visualización, análisis, consultas u otras operaciones inmediatas. Wolfram Data Drop utiliza WDF (Wolfram Data Framework) para agregar semántica a los datos y hacerlos computables. Las colecciones y series temporales de datos computables se almacenan en contenedores de datos con nombre en Wolfram Cloud y se puede acceder de manera instantánea desde Wolfram Language y otros sistemas. Wolfram Research también lanzó la aplicación Data Drop Logging para Ubuntu Phone para recopilar datos de varios sensores. Ya sea que provenga de máquinas, humanos o programas, hay muchas maneras fáciles de ingresar datos en Wolfram Data Drop:

La mayoría de las arquitecturas que he visto tienen algún tipo de dispositivo intermedio entre el dispositivo de campo y la nube. Los dispositivos de campo hablan algún tipo de protocolo de baja energía y relativamente eficiente que no tiene enrutamiento global; a su vez, los datos de ellos se agregan en algún tipo de centro, que habla tanto de los protocolos de campo como del Protocolo de Internet. El concentrador podría tener una cantidad modesta de memoria no volátil o almacenamiento en disco para amortiguar las solicitudes y reducir la cantidad de transacciones que necesita hacer con la nube. A su vez, también podría servir como un punto de control que transmite instrucciones desde algún sistema conectado a la nube a esos dispositivos de campo.

Si usa GSM, UMTS, HSPA o LTE, entonces tiene la libertad de seleccionar PPP, TCP, UDP, FTP o HTTP. Además, en UDP o TCP puede agregar CoAP o MQTT. Por cierto, incluso el correo electrónico que puede usar para transferir datos.

Leer más: Módulo Bluetooth GPS GSM de bajo costo en el escudo Arduino

La pregunta es un poco vaga: creo que está preguntando acerca de cómo llegar a la nube, no qué hace una vez que llega allí. Pero no puedo decirlo. Voy a asumir lo primero …

Depende de para qué desea los datos, cuánto tiene y cuál es el dispositivo.

Si está en un teléfono celular o tableta, o está en WiFi, ya tiene algún tipo de conexión, y esto se convierte en una pregunta sobre plataformas para el almacenamiento y manipulación de datos, no muy diferente a un dispositivo que no sea de campo, excepto para una conexión menos confiable y menos ancho de banda. Por lo tanto, necesita algún tipo de colas en el cliente, podrían ser algunas líneas de javascript o C, o MQTT o AMQP.

Para dispositivos móviles, puedes probar Firebase. Manera bastante simple de administrar sus datos sin tener que tener mucho backend.

Si es un dispositivo pequeño, su problema es más difícil porque su dispositivo probablemente no puede permitirse el lujo de estar en Internet: sin SSL, sin WiFi, etc. En este caso, generalmente tendrá una puerta de enlace, como las hechas por multitech, para ejemplo, que conecta su protocolo local (Zigbee, WirelessHART, BLE, LoRa, etc.) a Internet. Este dispositivo puede ser una caja de Linux y puede hacer mucho de su trabajo, incluidas las colas y la seguridad mejorada.

O bien, puede usar Sigfox, que le permite llevar datos desde dispositivos de baja potencia a la nube, solo que no hay mucha información, y no muy rápidamente. Pero es super bajo consumo y largo alcance.

O, si tiene un poco más de energía y está en interiores, podría usar un protocolo WiFi de baja potencia, como los de Electric Imp o un microcontrolador WiFi basado en TI CC3200 (tendrá que ser inteligente sobre la administración de energía ) y envíe sus datos directamente a un back-end a través de HTTP.