Skip to content

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

License

Notifications You must be signed in to change notification settings

umahmood/doxiego

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages