umahmood / doxiego

DoxieGo a command line tool and Go library to communicate with a Doxie Go Wi-Fi scanner.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DoxieGo

DoxieGo is command line tool and Go library to communicate with a Doxie Go Wi-Fi scanner.

Note: This project is not affiliated with Apparent or Doxie.

Installation

go get github.com/umahmood/doxiego
cd $GOPATH/src/github.com/umahmood/doxiego
go test ./...

Usage from the command line

Find Doxie on the network:

$ doxiego -hello
Name: Doxie_0591E0
Model: DX250
Has Password: false
Wi-Fi Firmware: 1.29
MAC: FA-B2-5A-66-EE-94
Mode: AP (Doxies own Wi-Fi network)
URL: http://192.168.1.100:8080/

Display a list of all scans:

$ doxiego -scans
name: IMG_0002.JPG size: 959458 modified: 2010-05-01 00:03:26
name: IMG_0003.JPG size: 941949 modified: 2010-05-01 00:06:44

Delete a list of scans (multiple scan names are comma separated):

$ doxiego -delete img_0002.jpg,img_0003.jpg

Download a scan as a thumbnail:

$ doxiego -get-thumbnail img_0002.jpg
downloaded thumbnail img_0002.jpg

Download a scan:

$ doxiego -get-scan img_0003.jpg
downloaded scan img_0003.jpg

Download all scans:

$ doxiego -get-scans
downloaded scan IMG_0002.JPG
downloaded scan IMG_0003.JPG

For help:

$ doxiego -help

Usage from the API:

See GoDoc for full capability of the API.

package main

import (
    "fmt"

    "github.com/umahmood/doxiego"
)

func main() {
    doxieGo, err := doxiego.Hello()
    if err != nil {
        //...
    }

    fmt.Println("Doxie name", doxieGo.Name)

    // if the scanner has a password set, fill in the password field
    doxieGo.Password = "mypassword"

    // get a list of scanned items on the scanner
    items, err := doxieGo.Scans()
    if err != nil {
        //...
    }
    
    for _, s := range items {
        fmt.Println("name:", s.Name, "size:", s.Size, "modified:", s.Modified)
    }

    // download a scan
    img, err := doxieGo.Scan("img_0001.jpg")
    if err != nil {
        //...
    }
    //...
    jpeg.Encode(file, img, nil)

    // delete scans off the scanner
    ok, err := doxieGo.Delete("img_0001.jpg", "img_0002.jpg")
    if err != nil {
        //...
    } else if ok {
        fmt.Println("scans deleted.")
    }
}

Documentation

http://godoc.org/github.com/umahmood/doxiego

Testing

  • The code base has been tested with a single Doxie Go Wi-Fi scanner, in both AP and Client network modes.

License

See the LICENSE file for license rights and limitations (MIT).

About

DoxieGo a command line tool and Go library to communicate with a Doxie Go Wi-Fi scanner.

License:MIT License


Languages

Language:Go 100.0%