talkiepi

package module
v0.0.0-...-228526b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 19, 2022 License: MPL-2.0 Imports: 10 Imported by: 1

README

GROB: Forked from talkiepi, removed all the GPIO stuff to make it a little more simple

-------------------------------------------- Talkiepi install process

--install required libs

sudo apt update sudo apt -y install libopenal-dev libopus-dev libasound2-dev libopenal1 libopusfile-dev

--download asound config to set default audio capture, note: this does not take affect till next reboot

sudo wget https://raw.githubusercontent.com/GR0B/talkiepi/master/conf/asoundrc/.asoundrc -O ~/.asoundrc sudo chmod a+r ~/.asoundrc

--download precompiled talkiepi client bin (else follow the Go compile instruction instead of this step)

mkdir ~/bin cd ~/bin sudo wget https://raw.githubusercontent.com/GR0B/talkiepi/master/bin-rpi/talkiepi -O /home/cs/bin/talkiepi sudo chmod a+rx ~/bin/talkiepi

--download talkiepi mumble service and set to auto start

sudo wget https://raw.githubusercontent.com/GR0B/talkiepi/master/conf/systemd/mumble.service -O /etc/systemd/system/mumble.service sudo chmod a+r /etc/systemd/system/mumble.service

update user, client name and channel values

sudo nano /etc/systemd/system/mumble.service

--enable service

sudo systemctl enable mumble.service sudo systemctl start mumble.service

--reboot to test,

sudo reboot now

talkiepi

assembled1 assembled2

talkiepi is a headless capable Mumble client written in Go, written for walkie talkie style use on the Pi using GPIO pins for push to talk and LED status. It is a fork of barnard, which was a great jump off point for me to learn golang and have something that worked relatively quickly.

3D printable enclosure

In the stl directory are the stl files for the enclosure I have designed specifically for the Raspberry Pi B+ board layout (I am using a Raspberry Pi 3 Model B) and the PCB and components from the US Robotics USB Speakerphone. I will be posting a blog post shortly with a full component list and build guide. For more information regarding building a full talkiepi device, go check out my blog at projectable.me.

Installing talkiepi

I have put together an install guide here.

GPIO

You can edit your pin assignments in talkiepi.go

const (
	OnlineLEDPin       uint = 18
	ParticipantsLEDPin uint = 23
	TransmitLEDPin     uint = 24
	ButtonPin          uint = 25
)

Here is a basic schematic of how I am currently controlling the LEDs and pushbutton:

schematic

Pi Zero Fixes

I have compiled libopenal without ARM NEON support so that it works on the Pi Zero. The packages can be found in the workarounds. directory of this repo, install the libopenal1 package over your existing libopenal install.

License

MPL 2.0

Author

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Talkiepi

type Talkiepi struct {
	Config          *gumble.Config
	Client          *gumble.Client
	Address         string
	TLSConfig       tls.Config
	ConnectAttempts uint
	Stream          *gumbleopenal.Stream
	ChannelName     string
	IsConnected     bool
	IsTransmitting  bool
}

func (*Talkiepi) ChangeChannel

func (b *Talkiepi) ChangeChannel(ChannelName string)

func (*Talkiepi) CleanUp

func (b *Talkiepi) CleanUp()

func (*Talkiepi) Connect

func (b *Talkiepi) Connect()

func (*Talkiepi) Init

func (b *Talkiepi) Init()

func (*Talkiepi) OnACL

func (b *Talkiepi) OnACL(e *gumble.ACLEvent)

func (*Talkiepi) OnBanList

func (b *Talkiepi) OnBanList(e *gumble.BanListEvent)

func (*Talkiepi) OnChannelChange

func (b *Talkiepi) OnChannelChange(e *gumble.ChannelChangeEvent)

func (*Talkiepi) OnConnect

func (b *Talkiepi) OnConnect(e *gumble.ConnectEvent)

func (*Talkiepi) OnContextActionChange

func (b *Talkiepi) OnContextActionChange(e *gumble.ContextActionChangeEvent)

func (*Talkiepi) OnDisconnect

func (b *Talkiepi) OnDisconnect(e *gumble.DisconnectEvent)

func (*Talkiepi) OnPermissionDenied

func (b *Talkiepi) OnPermissionDenied(e *gumble.PermissionDeniedEvent)

func (*Talkiepi) OnServerConfig

func (b *Talkiepi) OnServerConfig(e *gumble.ServerConfigEvent)

func (*Talkiepi) OnTextMessage

func (b *Talkiepi) OnTextMessage(e *gumble.TextMessageEvent)

func (*Talkiepi) OnUserChange

func (b *Talkiepi) OnUserChange(e *gumble.UserChangeEvent)

func (*Talkiepi) OnUserList

func (b *Talkiepi) OnUserList(e *gumble.UserListEvent)

func (*Talkiepi) OpenStream

func (b *Talkiepi) OpenStream()

func (*Talkiepi) ReConnect

func (b *Talkiepi) ReConnect()

func (*Talkiepi) ResetStream

func (b *Talkiepi) ResetStream()

func (*Talkiepi) TransmitStart

func (b *Talkiepi) TransmitStart()

func (*Talkiepi) TransmitStop

func (b *Talkiepi) TransmitStop()

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL