Insignia Infocast 8" Touchscreen $99

Damage,

So now to catch up. Are the following steps OK?

1 - Lamp server created sitting to the side and online
2 - Install XPL hub, XPL Logger and Sender on Infocast; validate that it runs on reboot and with DCM
3 - Install Python on Infocast

Thinking also of utilizing XAP with your TS setup.

thanks for the info on copying the sd. i suspect i'll be needing to do that at some point.

1 - fine
2 - you'll just need to start the hub on reboot. the logger's only useful if you're sitting at a shell, but is a good test to make sure the infocast is receiving xPL messages. the sender will just be run on an as need basis. you can test it out by sending a message and seeing if it shows up in DCM.
3 - after installing python you can install my script linked above & set it up to run @ boot. then you can control things on the infocast remotely via xPL.
 
Damage,

Thank you for the time you spent to create the Panel Designer application and the information on utilizing XPL. Great stuff here!
 
it's been really good to learn flash & it makes the infocasts infinitely more useful. and the usefulness helps the wife let me buy more ;) i've got a lot of functions i want to add to the infocasts.
 
Damage,

One thing I noticed that I forget to do a "sync" and when I do that I have to pull the microsd card out and sync them manually or start over.

Great news on the WAF. Yes here its a bit more difficult.

Would it be possible to turn the Seagate Dockstar to a LAMP server?

I've been loading up all of your XPL programs on the Infocast and the LAMP server.
 
i think you've already got enough infocasts in your house!

i don't think you'll be able to get a LAMP sever on the dockstar. apache is too big, but you could go with lighttpd, which has php support. mysql would be a stretch i think & would be hampered by the lack of ram.
 
Thanks Damage. Right now just running the LAMP server on an old 1.2Ghz PIII / 512Mb of memory; it's doing OK.

Redoing the microSD card this afternoon (3rd time in 12 hours). This type copying partition 3 over to partition 2 instead of starting from scratch to see if that works. What I noticed is that if I forget to sync then it won't boot up.

LOL - Its the same with the IP cams. (WAF)

I wanted to put one on the "bird" (35 year old parrot) and she wouldn't agree to it; but her and the "bird" don't see eye to eye on anything.

I've been doing a test and rebuild test (kind of proactively forcing the test) and I've come to a sort of bottleneck.
1 - start with a "virgin Infocast image" written to a 4Gb microsd card - expanded partitions 2 & 3 to 500Mb and deleting partition 4 such that it creates its own.
2 - Install GCC and let the Infocast update its own - register Infocast with Chumby site - reboot - works fine.
3 - Install XAP via libraries (about 10 applications or so); test XAP, sync and reboot and / or Python (installed on storage partition)
4 - Bottleneck - Infocast never comes back - check partitions 2 and 3 appear out of sync for whatever reason. I am checking partitions by removing the microsd card and looking at the setup up with Linux PC and comparing paritions 2 and 3 size and files are out of sync.

sync command- Synchronize data on disk with memory
Curious when partition 3 gets "sync'd" to partition 2 or does it matter?

I've tested this about 3-4 times now. Will try with an untouched partion 1,2,3 image and see what happens.

Created a new "image" this time leaving partitions 1,2,3 alone and having the Infocast automatically create parition 4 which is the /mnt/storage partition.

Installed GCC, Python, XPL stuff all on the storage partition and now I can reboot with no issues. I can run Python and all XPL stuff just fine now with every reboot.
 
Running xpl hub, clock, xpl Python application and logger on the Infocast:

11/02/25 12:14:31 xPL_DEBUG: STORE:: Duped string [20110225121431] (14 bytes)
11/02/25 12:14:31 xPL_DEBUG: STORE:: Reusing cache entry for String @ 0x20818 (LEN=12)
11/02/25 12:14:31 xPL_DEBUG: STORE:: Duped string [clock.update] (12 bytes)
11/02/25 12:14:31 xPL_DEBUG: STORE:: Reusing cache entry for String @ 0x207b0 (LEN=5)
11/02/25 12:14:31 xPL_DEBUG: STORE:: Duped string [clock] (5 bytes)
11/02/25 12:14:31 xPL_DEBUG: STORE:: Reusing cache entry for String @ 0x1fed0 (LEN=6)
11/02/25 12:14:31 xPL_DEBUG: STORE:: Duped string [update] (6 bytes)
11/02/25 12:14:31 xPL_DEBUG: STORE:: Releasing string @ 0x20818 to cache -- [clock.update] (LEN=12, CNT=0)
11/02/25 12:14:31 xPL_DEBUG: Now dispatching valid message
11/02/25 12:14:31 xPL_DEBUG: Broadcasted 94 bytes (of 94 attempted)
11/02/25 12:14:31 xPL_DEBUG: Broadcasted 94 bytes (of 94 attempted)
11/02/25 12:14:31 xPL_DEBUG: Releasing message, TYPE=2, RECEIVED=1
11/02/25 12:14:31 xPL_DEBUG: STORE:: Releasing string @ 0x20198 to cache -- [cdp1802] (LEN=7, CNT=2)
11/02/25 12:14:31 xPL_DEBUG: STORE:: Releasing string @ 0x201c8 to cache -- [clock] (LEN=5, CNT=1)
11/02/25 12:14:31 xPL_DEBUG: STORE:: Releasing string @ 0x1ff58 to cache -- [default] (LEN=7, CNT=3)
11/02/25 12:14:31 xPL_DEBUG: Releasing received messages SOURCE parameters
11/02/25 12:14:31 xPL_DEBUG: STORE:: Releasing string @ 0x207b0 to cache -- [clock] (LEN=5, CNT=2)
11/02/25 12:14:31 xPL_DEBUG: STORE:: Releasing string @ 0x1fed0 to cache -- [update] (LEN=6, CNT=2)
11/02/25 12:14:31 xPL_DEBUG: STORE:: Releasing string @ 0x201a8 to cache -- [time] (LEN=4, CNT=2)
11/02/25 12:14:31 xPL_DEBUG: STORE:: Releasing string @ 0x20800 to cache -- [20110225121431] (LEN=14, CNT=0)
11/02/25 12:14:31 xPL_DEBUG: STORE:: Releasing NameValuePair @ 0x1feb8 back to cache pool
11/02/25 12:14:31 xPL_DEBUG: STORE:: Relesing xPL_Message @ 0x1fdc0 back to cache pool
^C11/02/25 12:14:31 xPL_DEBUG: Removed managed IO device, now 0 devices

11/02/25 12:16:26 [xPL_MSG] TYPE=xpl-stat, SOURCE=cdp1802-clock.default, TARGET=*, CLASS=clock, TYPE=update
11/02/25 12:16:26 [xPL_MSG] TYPE=xpl-stat, SOURCE=cdp1802-dcm.000000001a81db, TARGET=*, CLASS=hbeat, TYPE=app
11/02/25 12:16:27 [xPL_MSG] TYPE=xpl-stat, SOURCE=cdp1802-clock.default, TARGET=*, CLASS=clock, TYPE=update
11/02/25 12:16:28 [xPL_MSG] TYPE=xpl-stat, SOURCE=cdp1802-clock.default, TARGET=*, CLASS=clock, TYPE=update
11/02/25 12:16:29 [xPL_MSG] TYPE=xpl-stat, SOURCE=cdp1802-clock.default, TARGET=*, CLASS=clock, TYPE=update
11/02/25 12:16:30 [xPL_MSG] TYPE=xpl-stat, SOURCE=cdp1802-clock.default, TARGET=*, CLASS=clock, TYPE=update
11/02/25 12:16:31 [xPL_MSG] TYPE=xpl-stat, SOURCE=cdp1802-clock.default, TARGET=*, CLASS=clock, TYPE=update
11/02/25 12:16:32 [xPL_MSG] TYPE=xpl-stat, SOURCE=cdp1802-clock.default, TARGET=*, CLASS=clock, TYPE=update
11/02/25 12:16:33 [xPL_MSG] TYPE=xpl-stat, SOURCE=cdp1802-clock.default, TARGET=*, CLASS=clock, TYPE=update
11/02/25 12:16:34 [xPL_MSG] TYPE=xpl-stat, SOURCE=cdp1802-clock.default, TARGET=*, CLASS=clock, TYPE=update
11/02/25 12:16:35 [xPL_MSG] TYPE=xpl-stat, SOURCE=cdp1802-clock.default, TARGET=*, CLASS=clock, TYPE=update
11/02/25 12:16:36 [xPL_MSG] TYPE=xpl-stat, SOURCE=cdp1802-clock.default, TARGET=*, CLASS=clock, TYPE=update
11/02/25 12:16:37 [xPL_MSG] TYPE=xpl-stat, SOURCE=cdp1802-clock.default, TARGET=*, CLASS=clock, TYPE=update
11/02/25 12:16:38 [xPL_MSG] TYPE=xpl-stat, SOURCE=cdp1802-clock.default, TARGET=*, CLASS=clock, TYPE=update

I don't see the messages on my desktop running DCM but I do see them with the XAP viewer.

Code:
xap-header
{
    v=12
    hop=1
    uid=FF00FF00
    class=CLOCK.UPDATE
    source=xpl.cdp1802-clock.default
}
CLOCK.UPDATE
{
    time=20110225121754
}

xap-header
{
v=12
hop=1
uid=FF00FF00
class=CONFIG.APP
source=xpl.cdp1802-logger.C0A8F49D00q3bo1b
}
CONFIG.APP
{
version=1.1
remote-ip=192.168.244.157
interval=1
port=42234

Running the Python scrip get the heartbeat message
Code:
xap-header
{
    v=12
    hop=1
    uid=FF00FF00
    class=HBEAT.APP
    source=xpl.doghouse-chumby.ICS
}
HBEAT.APP
{
    version=1.0
    remote-ip=192.168.244.157
    interval=5
    port=50000
}

Next trying your Panel with something simple like a button on the panel builder with the clock status from the logger.
 
i've modified my audrey TTS app to work with the infocast. together with the xPLChumby python script running on an infocast (with appropriate modifications - sample has been updated), you can have the infocast play a TTS message. go here http://goo.gl/OLaxB for more details
 
I don't see the messages on my desktop running DCM but I do see them with the XAP viewer.

are you running dcm on a win7 or vista computer? i've only used it on xp but i've heard there may be problems with it working on the other os's.
 
Great news on the TTS!

I did a test with DCM running it on my XP Laptop(s), XP Desktops and W2003 machines. I only see the devices a couple of the XP machines. I'm thinking its a combo of whatever AV I have on the computers. I have a couple of W7 machines set up; using them for MM only though.

Played around some configuring the HAI OPII XPL application from IR Ranger.
 
i've modified my audrey TTS app to work with the infocast. together with the xPLChumby python script running on an infocast (with appropriate modifications - sample has been updated), you can have the infocast play a TTS message. go here http://goo.gl/OLaxB for more details

Can you elaborate on how you are playing the TTS mp3 on the Infocast? Are you playing it with the built in music player? Are you using SSH to issue the command to play? Any info on how you are actually playing the file would be great. I would like to implement something like this, but I don't use xPL.
 
Damage,

I am able to run it but I get an error when I start it. I hit continue then it appears to be OK.

This is what the error looks like:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Runtime.InteropServices.COMException (0x8004503A): Exception from HRESULT: 0x8004503A
at Microsoft.VisualBasic.CompilerServices.LateBinding.LateGet(Object o, Type objType, String name, Object[] args, String[] paramnames, Boolean[] CopyBack)
at Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
at xPLChumbyTTS.Form1.getVoicesID()
at xPLChumbyTTS.Form1.Form1_Load(Object sender, EventArgs e)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
 

Attachments

  • TTS.jpg
    TTS.jpg
    109 KB · Views: 6
Can you elaborate on how you are playing the TTS mp3 on the Infocast? Are you playing it with the built in music player? Are you using SSH to issue the command to play? Any info on how you are actually playing the file would be great. I would like to implement something like this, but I don't use xPL.

did you click through the link in my post? funny, when i provide documentation & some things are open sourced (the python script), no one actually looks at it & i have to provide support for what it does ;)
 
pete,

i'll look into it tomorrow. looks like it's a SAPI thing. a couple things, the app needs .net 2.0 & .net 3.5 - make sure you have those installed. i assume you have SAPI since there's voices showing up in the dialog box.
 
did you click through the link in my post? funny, when i provide documentation & some things are open sourced (the python script), no one actually looks at it & i have to provide support for what it does ;)

Yes. Your instructions say nothing about the commands used to play your generated tts mp3. I did find the command in a sample python script on a different page which isn't exactly self explanatory. If answering simple questions like this is too much support then I'm sorry. I am grateful for all the software you are willing to offer for free, but you give the impression you don't want anyone to bother you about it.

PS. For others interested, the command used to play the mp3 tts file is the following:

Code:
btplay /mnt/xPL/xPLChumbyTTS/Cache/x.mp3 > /dev/null
 
Back
Top