Giter VIP home page Giter VIP logo

eyefi-server's Introduction

Eyefi-Server

A standalone Node.js server for the EyefiMobiPro Wifi Cards based on the work of michaelbrandt. https://github.com/michaelbrandt/node-eyefimobiserver

About this Repo: This project is based on the work of michaelbrandt @Github: https://github.com/michaelbrandt/node-eyefimobiserver. The original Project allready implemented a full solution for the wifi transfer, but with newer versions of node and other used packages it doesn´t work anymore. The issues seem to affect only the multipart request, that contain the files send by the sd-card. Because of that huge parts of the code, all about the xml handling and parsing, that sets up and controlls the connection with the sd card, have been copied from michaelbrandts git-repo and slightly modified to work properly especial with newer versions of node. The changes I made are basicly, that the XML-Part does not get written anymore to an attribute in the request, because it seems that this causes the problem with the multipart handling. Instead the XML Data gets now written to a global var and is parsed after the end of the Data stream is reached. As mentioned above, all the xml-parsing and creating the response, is copied from michaelbrands Repo (Everything form line 40 to 182). The "getCredential()" function has been ported from michaelbrandt from Python File by Maximilian Golla.

The Multipart-Handling is rewritten by me, SuperMario4848. The datastream gets parsed by "formidable"-framework and the received archive is saved under "uploads/archives". After the the "tar" module is used to extract the archives and save them under "uploads/pictures". Each archive is deleted after it has been extracted. The console prints if a picture gets uploaded, if it has been received and when it has been extracted.

Other References:
Upload-Protocol of the Eyefi-Card: https://code.google.com/p/sceye-fi/wiki/UploadProtocol
Work of Maximilian Golla, original code for "getCredential()" function: https://github.com/michaelbrandt/node-eyefimobiserver/blob/master/related_work/eyefi-mobi.py

How to use: To use this server, simply download the repo and unzip it. DO NOT RENAME ANY FOLDER. Before using, all dependencies need to be installed. A package-lock.json is included so executing "npm install" in the same dir as the server.js should do it. After that, just connect your pc to the wifi of the card and run "node server.js". After some time you should see a "upload in progress" Message. If the upload of one file has finished it tells you "name + uploaded". This means that the tar-archive, that contains your image, has been saved under "uploads/archives". It will automatically be extracted and deleted after that, so all your images will be found under "uploads/pictures".

Feel free to open an issue if something doesn´t work for you.

eyefi-server's People

Contributors

supermario4848 avatar dependabot[bot] avatar uetuluk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.