Git Product home page Git Product logo

spacephone's Introduction

GOOS=linux GOARCH=arm GOARM=6 go build simple.go battery.go espeak.go mpd.go mqtt.go powerbar.go vibrate.go

Uses a modified version of github.com/thoj/go-ircevent because tls init fails on
the Nokia N900 (no /etc/ssl/certs), so I had to strip out (all) tls.

spacephone's People

Contributors

merlijnwajer avatar

Stargazers

 avatar Monika Eftimova avatar

Watchers

Axel Roest avatar DrWhax avatar  avatar  avatar James Cloos avatar realitygaps avatar  avatar  avatar  avatar Peter Tambach avatar  avatar

Forkers

chotee

spacephone's Issues

Publish IRC channel contents on MQTT topic

Since we have a IRC bot, lets publish the IRC contents to a MQTT topic so that other processes can pick up on it without having to run a bot on IRC. Since messages on the IRC are publicly available anyways, this should not be an issue. Private message to the bot should not be pushed to this MQTT topic.

fix tls on n900 with go

Package a set of roots (maybe just cat /etc/ssl/certs/* > roots.pem) and load them in tls.Config's)

SIP phone call (call other spacephone to get attention?)

#!/usr/bin/python
 
import dbus
import sys
 
# Get the target phone number (or SIP address) from the command line
TARGET = sys.argv[1];
 
# Configure the telepathy path to the SofiaSIP account that we wish to use.
# Use "mc-tool list" (from the libmissioncontrol-utils package) to see your accounts.
SIP_ACCOUNT = 'sofiasip/sip/_31234567_40sipgate_2eco_2euk0'
 
# This gets us a connnection to the session bus
bus = dbus.SessionBus()
 
# This sets up a path to the SIP account within telepathy.
PATH = '/org/freedesktop/Telepathy/Account/'
PATH += SIP_ACCOUNT
 
# This sets up a proxy object as a "handle" to the AccountManager of our target account
account = bus.get_object('org.freedesktop.Telepathy.AccountManager', PATH)
 
# This launches the actual SIP call with a method call to EnsureChannel on that object
account.EnsureChannel( \
        dbus.Dictionary({
                dbus.String(u'org.freedesktop.Telepathy.Channel.TargetHandleType'): dbus.UInt32(1),
                dbus.String(u'org.freedesktop.Telepathy.Channel.ChannelType'): dbus.String(u'org.freedesktop.Telepathy.Channel.Type.StreamedMedia'),
                dbus.String(u'org.freedesktop.Telepathy.Channel.TargetID'): dbus.String(TARGET),
        }, signature='sv'),
        dbus.UInt64(0),
        dbus.String(''),
        dbus_interface='com.nokia.Account.Interface.ChannelRequests')
 
sys.exit(0)

Report phone-ringing on IRC

When the space-phone rings (and esp. when it's not picked up) it might be good to have the space-phone report on that on IRC. Publishing the caller-ID onto IRC is likely not a good idea.

Reconnection to MQTT server fails

When the MQTT server is rebooted, the MQTT client does not reconnect to the server once that becomes available again. The consequence being that mqtt publishing services are still not working long after the server has come back.

https://godoc.org/github.com/yosssi/gmq/mqtt/client#ConnectOptions has setting PINGRESPTimeout . This can be set to time.Duration that it is allowed for the ping to make it back. If that fails
https://godoc.org/github.com/yosssi/gmq/mqtt/client#pkg-variables documents the errors ErrPINGRESPTimeout or ErrInvalidPINGRESP . as the errror to be raised if the server is no longer available.

I don't know if PINGRESPTimeout also triggers that PINGREQs are send by the client or what sets the frequency that that happens. I suspect you have the send your own PINGREQs ( https://godoc.org/github.com/yosssi/gmq/mqtt/packet#PINGREQ ) to trigger the timeout to happen.

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.