View Full Version : MSN Messenger TronicaBot!
instantsquid
11-05-07, 13:51
Now that I've got my Aquatronica Ethernet Module working properly, I can access it from any browser, anywhere in the world. There I was thinking how cool and groovy it all was, until I tried accessing it from my PDA - "UH-UHHHH! Computer says NO!"
The web page that the Module renders (rtMon.html) is heavy on the JavaScript, which most PDAs and phones don't support.
One thing that my PDA does run though, is MSN Messenger. How about if I could access the Aquatronica through that????
I had a look through the rtMon.html and associated JavaScript files. The web page gets back the data from the EM (Ethernet Module) in the form of an XML document. Excellent stuff - we can work with that. I use C# and .NET for development, so just used the WebClient class to retrieve the XML. This is then parsed, and the sensors, values, and plug settings are all pulled out.
The other issue was how to work with Messenger? I did a bit of searching around on the www and found a few SDK's for developing Messenger Bots. I downloaded one from www.incesoft.com (http://www.incesoft.com) and after a bit of faffing about I had the basics of a Messenger Bot up and running.
I then combined the two "test beds" into a Windows Service, which runs on my Windows machine at home.
Here's Version 1.0 in operation :D (Note, I've greyed out the email address as I don't want everyone using it!)
http://www.ultimatereef.net/uploader/2006Q4/TronicaBot.JPG
I've added TronicaBot as a contact in my Messenger list - whenever I want to check on the tank, I just open up a conversation window and type "report". Version 2.0 should allow plugs to be turned on and off, and also notify me if an alarm is triggered (i.e. the Bot will start the conversation).
dark_stranger
11-05-07, 13:53
who's a clever boy :D
dan-the-man
11-05-07, 13:55
Whey hey! Got it all sorted then Ian?
Just send me a linky over MSN as always if you need anything tested. :) Happy to help.
stevew@reefdreams
11-05-07, 15:24
Nice one Ian :thumbsup:, I would be really interested in using this. Are you going to release it generally?
Steve.
instantsquid
11-05-07, 15:42
I would be really interested in using this. Are you going to release it generally?
lol - still very early days, I have to say. For a start, the Messenger SDK I'm using means it's a bit of a faff actually associating a .NET Passport with the Bot. There's a couple of alternative SDKs out there which I'm going to look at and see how they compare.
At the moment, the code isn't very configurable either. Ideally, there should be a Windows application to setup the Service with all the things that will change (IP address of Ethernet Module, Messenger login, etc.)
I'll keep playing with it though and maybe I'll bundle it up and make it available to other people at a later stage. :)
I forgot to add in my first post (especially as it was the reason for starting the experimentation!) that obtaining a status report on my phone/PDA works perfectly!
Also (and Aquatronica might not like this!), it's possible to use a WebService to send an SMS to a mobile. So now that I can communicate with the Aquatronica programmatically, I should be able to send a text message when an alarm is triggered, without buying the SMS Module! :dance:
rich_tilbury
11-05-07, 16:13
I was looking at the Aquatronica system and trying hard NOT to justify buying it. Your project sounds a hoot what a wicked idea getting MSN to work like that - hats off for thinking out of the box!
Could you not publish the information using RSS? Surely there are phone based apps with tiny footprints that can grab that info. If not with Visual Studio it is pretty simple to write a .NET app that will do this. In fact you could create a pretty cool interface for the phone to control the Aquatronic box this way.
Just an idea! ;)
instantsquid
11-05-07, 16:23
Nice idea, Rich!
Could do the RSS feed just using XSLT as what comes back from the Aquatronica is already XML.
No reason why I couldn't expose the Aquatronica via WebServices either - then a neat little application for the PDA could talk to that.
So now with my pair of webcams set up to look at the tank, I'm all set to go on holiday! :applause:
rich_tilbury
11-05-07, 16:31
Excellent! I'm not so keen on trusting computers to look after my tank (I'm in IT and I know what happens!), but love the idea of monitoring it! :)
LOL re the web cams. You have one in the sump area to check for leaks too? ;)
rich_tilbury
11-05-07, 16:32
ps VS professional has a PDA emulator and writing apps is a doddle.
instantsquid
11-05-07, 16:37
ps VS professional has a PDA emulator and writing apps is a doddle.
Already used it. :)
rich_tilbury
11-05-07, 18:53
Damn you! :D
I'm currently developing business oriented stuff for work. I don't get the time/chance/inclination even to play anymore! :(
so... you can control your whole system via your mobile?
Nice.
...
So you could sit on the couch and reefkeep!
Great, now I expect water change and glass cleaning automation and implementation....
Then put the mobile on a charger and put a timer on it.
Don't use an auto feeder... takes out the fun! :p
Great work!
If only I had the money :)
Looks Great!
Looking forward to playing with it when you upload it.
A little project I was thinking of. But looks like you are half way there. I was thinking of writing an PC application to read the data at a specific time interval and dumping into a database? As this would solve the lack of data storage on the Aquatronica.
Now you have got into the bones of it, can you see any reason why this wouldn't be feasable?
Dave
instantsquid
12-05-07, 09:07
Hi Dave,
That should be quite straight-forward. The Windows service I've written has a timer which periodically gets the data from the Aquatronica. I'm not storing it anywhere yet, but it'd be trivial to stick it in a database.
Hey Ian that’s pretty cool stuff, I would love to be able to use my phones browser and see my tank info. BTW I am not sure about the UK but in the USA we can send SMS to the AQ already by just using our cell phone numbers. Eg. assuming your phone # is 1234567 and you use Verizon for your phone service, you just setup an email address of 1234567@verizon.com and it sends a text. The down side is that Internet Texting is very unreliable. I get my messages in anywhere from 5 min to 2 hours. Depending on how busy the Phone companies servers are. True SMS goes through almost instantly.
Hi Dave,
That should be quite straight-forward. The Windows service I've written has a timer which periodically gets the data from the Aquatronica. I'm not storing it anywhere yet, but it'd be trivial to stick it in a database.
Rather than re-invent the wheel, when you upload the windows service I will use it and knock up the database side and probably add some flexible graphing.
If that's OK.
Really looking forward to seeing his service :thumbsup:
Dave
instantsquid
13-05-07, 22:01
Well, I've started on the PocketPC application. :)
Had a thought though - I might build a WebService that is the only thing talking directly to the Aquatronica. The PocketPC app can consume the web service, as can the Messenger application, and indeed any other application.
I really need to rewrite the Messenger Bot as it's a bit of a PITA registering the Passport with the suppliers of the SDK. It's fine for a developer, but not very user-friendly. Ideally I want to talk directly to the Messenger API so I'll have a look at that.
I'll let you know when I've made some progress.
Please Ian Please build that webservice...
With that a whole bunch of other tools can be developed :)
IAN check out jdiecks website, he uses a Neptune Aquacontroller, they have figured out how to get the web page data out of it and use it with custom software.
http://home.comcast.net/~jdieck1/graph.html
His graphs update hourly with data straight from his controller.
instantsquid
17-05-07, 22:01
Thanks for that Robby - that's exactly what I can now do for the Aquatronica. The WebService is done - it's just a thin wrapper around the communication with the Aquatronica, basically returning all the data displayed by the Ethernet Module as an XML document.
I can now write other bits and pieces to consume the Web Service - my Windows Service can poll it and store all the information in a database. Then I generate graphs from that data. I'll still work on the Messenger Bot as I'd like it to talk to the Web Service rather than directly to the Aquatronica. I'm also working on a Pocket PC application to do much the same thing, but with a nice funky user interface.
One thing I need to get working though, is the over-riding of plug settings that the web interface supports. I've sussed out how it's done by the JavaScript and HTML, just need to build that functionality into the Web Service.
Fantastic stuff Ian.
The auto-logging, especially if it is also to a web-page, will be great, the large logging memory is the one thing I missed when I changed from an IKS.
Now how do I get an app on my Blackberry :D
Ian I had no idea you where so good with this stuff :worship: my hats off to you. Simply brilliant :) This is exactly the kind of thing all of us users have been dreaming about. I can't wait to see what you have done. Need beta testers :grin:
well i don't really know what has gone on here but i heard someone say sit on the sofa and control the tank, awesome!!!!
Ian I had no idea you where so good with this stuff :worship: my hats off to you. Simply brilliant :) This is exactly the kind of thing all of us users have been dreaming about. I can't wait to see what you have done. Need beta testers :grin:
I agree, can I stick my hand up to you to become a beta tester :)
Dave
I have been thinking about other ways this could be used.
How about running two Aquatronicas together taking seperate readings, levels etc. A controller program could be written to compare the outputs and switch off specific plugs if the outputs are outside certain parameters.
That way you starting to build in resilience into the system.
Dave
Oooh, now you are talking. I'm all for resilience.
instantsquid
18-05-07, 21:58
Neat idea, Dave - but one thing at a time! :laugh:
I'm going to finish off the bits and pieces I've already started - Windows Service to periodically query the 'Tronica and store the results in a database, followed by a web page or two to display those results graphically, etc.
After that, I'll see if I've still got any enthusiasm for the project :rolleyes:
Nice project Ian top man
Jez
Any updated news Ian?
Maybe some screen shots too wet the appetite :)
instantsquid
21-05-07, 17:17
lol - not yet! Been too busy to even open VisualStudio (at home that is - I look at it all day long at work).
It's not going to be a 5 minute job - I'd like to do this properly, especially the datalogging part of it. Give me a nudge in a couple of weeks :)
Any updates for the eager masses:D? A screen shot teaser perhaps.:whistling:
Give me a nudge in a couple of weeks :)
posted 7 days ago :D :D :D
Robby you are just too impatient!
Have a heart Scoob, it's the most exciting thing coming out for Aquatronica for a long while. :laugh:
Dave
posted 7 days ago :D :D :D
Robby you are just too impatient!
:weeping: The suspense is killing me :weeping:
Any news?
:bouncy::bouncy::bouncy::bouncy::bouncy:
I was trying out using a PSP browser to log onto the AQ, it does not seem to have the correct version of Java to work, just wondering if anybody knows the Java requirements of the Ethernet module.
Give me a nudge in a couple of weeks :)
A little nudge :)
BTW Ian is there any chance you might release the module that you created to parse the Data, I would love to try my hand at some of this while I wait on the Database bit.
instantsquid
13-06-07, 06:41
I am rubbish :o
Work is pretty manic at the moment, plus we've had birthday parties to organise at home, holidays, weddings, ... you get the picture! :laugh:
I will try and crack on with this very soon - I promise. :rolleyes: I've got the database schema approximately right, so if I can pull my finger out and get the logging process done, then in theory folks could put any front-end on that they wanted.
A quick question actually - I work with .NET, C#, SQL Server - but I assume writing a full blown server application that requires Windows Server and SQL Server is not going to be a lot of use to folks! ;) I can downscale it to an Access database if that would be preferable?
chriskirby101
13-06-07, 08:10
I would suggest access or mysql m8...
I think an access database would be prefable :) in this application.
Dave
A quick question actually - I work with .NET, C#, SQL Server - but I assume writing a full blown server application that requires Windows Server and SQL Server is not going to be a lot of use to folks! ;) I can downscale it to an Access database if that would be preferable?
Snap (VS2005/C#2.0/SQL2005), why not use the community edition of SQL2005 (http://msdn.microsoft.com/vstudio/express/sql/download/)? It has the full functionality you'll need, just doesn't come with a front end. But I guess you'll be doing the UI for the data anyway so that's not important.
BTW MSDE is not supported in Vista, and MS push you to SQL2005CE instead.
and further - most of the pacakges of office out there do not include Access, it's a premium priced part of the package which gets left out of most bundles. So people may have office, but will probably not have Access.
Alan.
instantsquid
13-06-07, 09:15
You don't need the Access application though, to store data from an application in an .MDB file...
That's the way I'm going to go - it's perfectly adequate for a single-user application.
mysticwave
13-06-07, 12:28
Only just caught up with this thread, what a brilliant idea you have started Ian. Now, I will definitely think of buying Aquatronica for my next set up. Keep up the good work!:thumbsup:
cc
Access is the easiest for most people to work with, we should get a Ton of fantastic spinoff interfaces if this is done in access.
Any news Ian? I hate to bother you on this, I don't want you to regret letting us in on your discovery. But im like a kid waiting for Christmas :)
BTW any chance I could host your released ver on the Aquarium contollers website ?? Full credit to you etc. of course.
instantsquid
20-06-07, 22:25
I haven't got a lot further, I'm afraid. :o
I realise a lot of folks would like to get their hands on this - but the company I work for keep expecting me to do real work during the day - How dare they! :mad:
I'm away on holiday at the end of this week - ordinarily I'd be able to do some work while I'm away but my laptop has died :( Oh well - I'll have to talk to the missus instead...
instantsquid
20-06-07, 22:27
I don't have a problem with sharing this all when it's working - should be able to knock up an installation program, etc. so that it's a nice friendly download that anyone can use. :)
Looking forward to seeing it :thumbsup:
I think it is disgusting that you put work before the people on the board tut,tut,tut :thumbdown::no::laugh::laugh:
Dave
Looking forward to seeing it :thumbsup:
I think it is disgusting that you put work before the people on the board tut,tut,tut :thumbdown::no::laugh::laugh:
Dave
I second that, where are your priorities :D :) Im at work now, yet here I am on the Forum:king: ,,,, oppps gotta run the boss is coming:fear:
I don't have a problem with sharing this all when it's working - should be able to knock up an installation program, etc. so that it's a nice friendly download that anyone can use. :)
Cool, that's excellent and very generous of you. Any ideas when we might be able to get an Alpha or Beta version
Maybe it could be interfaced to this widget.
http://www.reefchat.org/Extras/StatusWidget/tabid/263/Default.aspx
Just throwing out a few ideas
Not seen the Yahoo!Widget system before, it's very nice.
Must say I'm getting very tempted to buy an Ethernet interface. Any good reasons why I should wait a bit longer or should I go for it now?
Ian in his investigations has opened up a whole new side of it for me with the XML being available.
Go fo it now, the hardware wont change and the software will keeping getting better.
:eheheh: Ian any chance of just releasing what you have now:eheheh: , some of us could maybe carry it the rest of the way. You did the really hard part already.
Hello, my name is Steve and I am the creator of the Yahoo! Widget linked above. I also run the ReefChat website and notices the hit from this thread.
I am stopping by because I would really like to chat with someone that has an Aquatronica controller. I would like to build a widget control for it as well as add it to our signature generator.
If you can share some insight or wish to assist with the project, it would be greatly appreciated. I'll check back here or you can hit me up on the ReefChat site. (same user name)
Steve
I am willing to help, I have an aquatronica but have very little knowledge of Java. The real guy would be Ian. He most likely has all the pieces you need.
Thanks Robbyg!
I have no knowledge of the Aquatronica, use the AquaController III, so this is going to be interesting. NANONANO has also offered to help. In chatting with him a question has come up. Does the pc control software allow for web access?
I know that with AquaNotes (Neptune Systems) product if you have IIS running on the machine you can access the software via a browser.
Browser access to the Aquatronica is really the best approach. It may mean that the only way to use either the Widget or the Signature Generator is to have an ethernet module.
And Ian if you are reading this any information you are willing to share would be great. You can send it to my email if you like or post here.
Sorry for the delay.
The AQ ethernet module has a built in web page, the Module gets it's data from the controller then incorporates it into that web page. You cannot directly access the controller via the web, only the module itself.
Ian is this dead or any chance it might spring back too life :)
I guess it's dead then :( shame
instantsquid
07-09-07, 13:35
Awwwww.... now I feel bad... :o
I just haven't had the time to carry on playing with what I started. But - that's not to say it's dead. Once the weather starts to get really crummy, I will be forced to spend more time indoors and should hopefully be able to get going again. That's not to say I haven't been thinking about what I will do with it either - I just haven't actually coded it yet! And to be honest, the coding is the easy bit...
Sorry for raising people's hopes - I was quite enthusiastic when I first worked out how to access the Web Module from code!
bristlebasher
07-09-07, 13:52
20 lashes on the poop deck for you:p.
If your low on time, there are a few Java guys who own AQT's. I could contact them and they could finish this project.
Awwwww.... now I feel bad... :o
Once the weather starts to get really crummy, I will be forced to spend more time indoors and should hopefully be able to get going again.
Sorry for raising people's hopes - I was quite enthusiastic when I first worked out how to access the Web Module from code!
instantsquid
12-09-07, 21:33
They'd have to start from scratch, to be honest Robby - What I've done so far uses the .NET Framework and is in C#. Although the conversion from C# to Java is pretty trivial, the .NET stuff wouldn't be straight forward.
Oh well, it was a nice idea, maybe someone with some extra time will pick it up again from scratch. Thanks Ian.
instantsquid
14-09-07, 22:06
Hang on! I haven't said I'm ditching the idea! Just that I haven't had time to work in this little project. I'll revisit it once my outdoor projects are forced to take a back seat!
vBulletin® v3.8.7, Copyright ©2000-2012, vBulletin Solutions, Inc.