Connecting It All Together

Tameion

New Zealand

Hey Everyone...

I wanted to start a discussion on my goal to have a smart house with a Jarvis (Ironman) / Sarah (Eureka) like AI and my little ARC robot servants roaming around.

So feel free to jump in and contribute...


I have been using a combination of open source programs with my ARC software and EZBv3 boards. ARC is the brains of my system and provides me with the intelligent front end that responds to voice commands and communicates to my four EZB-3 boards. Lawrence, as I like to call it, replies to my voice commands using the Ivona Brian voice file. Sound very like Jarvis.

After recognising the voice command Lawrence selects what to say back to me from a pool of scripted phrases. This addresses repetitiveness in responses and adds a nice human-ish touch.

At the same time Lawrence is replying several scripts are firing commands to other applications or devices through an MQTT broker that I have installed. This Broker, from the Mosquitto open source project, acts like my AI's nervous system or neural net. I store values that are stored in the broker, similar to database that get reloaded to my various devices when they wake up.... I find this easier than an a database.

Various other devices are subscribed to the broker topics and act appropriately but you must have your own broker installed. I run mine on a separate Raspberry Pi elsewhere on my network. I keep it as a stand alone device as everything connects to it so if I need to reboot my PC it does not cause problems. It is fast, works well on the newer Pi3 and supposedly can handle 100,000 posts per second... I have only rebooted it a couple of times since installation and that was only because I wanted to move it.

So I post directly from ARC to my MQTT neural net with the EXEC command like this:

exec("C:\Program Files\mosquitto\mosquitto_pub.exe", "-h 10.1.1.120 -p 1883 -t /HOME/EZ-BUILDER/COMMAND -m Command:Lounge_Lights_On' ")

I also use a second program called EventGhost that watches for those MQTT messages and fires commands to other devices on my network that ARC can't talk to. I complete this action by triggering events in EventGhost with the same exec command in ARC:

exec("Eventghost", "-event Guest.Welcome.Video.Fullscreen")
exec("Eventghost", "-event It's_Spa_Time")

Another big player in my system is Rainmeter which adds great visuals to my screen. It lets me change the entire look and feel of the PC. While not tied directly to ARC I can launch ARC from a fancy picture on my desktop. This simple script in Rainmeter simply launches ARC when I click it. (I know I could use a shortcut but this looks way cooler)


[Rainmeter]
Author=Wayne
MiddleMouseDownAction=!DeactivateConfig
Update=86400000
MouseActionCursor=0

[Metadata]
Version=1.0
Information=Phone_Wayne TextItem
License=Creative Commons Attribution-NonCommercial-NoDerivs 3.0

[Variables]
height=60

[noimage]
Meter=Image
ImageName=#CURRENTPATH#\Tablet.jpg
W=(#Height#)
LeftMouseUpAction=["C:\Program Files (x86)\EZ-Robot Inc\EZ-Builder\EZ-Builder.exe" "C:\Users\Wayne\Dropbox\My Robotics\Launcher.EZB"  "Autostart"]

[Title]
Meter=STRING
MeterStyle=sTitle
Text=WAYNE
FontSize=9
X=10
Y=55
FontColor=255,255,133,255

And of course OpenHAB is the most recent player to come to my table. As it can communicate with the same MQTT broker I am now extending my domain out from my workshop to the rest of the house. OpenHAB is giving me a nice web front end with switches and buttons, status updates, etc. This means ARC can now turn on my lights through MQTT from a simple voice command.

So friends .... My goal of Home automation with a responsive AI and little robot servants roaming the property is slowly becoming a reality thanks to ARC.

What have you been doing?

By — Last update

ARC Pro

Upgrade to ARC Pro

Stay at the forefront of robot programming innovation with ARC Pro, ensuring your robot is always equipped with the latest advancements.

PRO
USA
#17  

@Tamieon, you ok? Heard NZ had a powerful quake.

PRO
USA
#19  

That's insane! The fault line divides the country. Upthrust explains those majestic mountains. I have friends that work at WETA, they are all ok too a bit shook up.

I was two miles from he epicenter of the 94 Northridge quake in Los Angeles. It shook my house apart and that was a 6.8!

New Zealand
#20  

@fxrtst it took me a min or two to work out your username... very good! So do you Cosplay as well?

PRO
USA
#21  

No, I work in the film industry doing make up effects. Goto IMDb.com and look up my name Will Huff.

Also goto see my robot Alan at: www.getaheadinrobotics.com

#22  

@Tameion I'm very glad to hear you are pursuing the mqtt plugin...will be very interested to integrate with my openhab instance at home!

New Zealand
#23  

Would you mind sharing a little about your OpenHab project? It might help with development at this end.

#24  

I have openHAB tied into the following systems :

  1. Omnilink Binding - for HAI automation panel - Security/UPB lighting/Zwave lock support/Relays for garage doors (some basic programs on this, but more complex rules running on openHAB).
  2. Ecobee Binding - Ecobee thermostats
  3. Amazon Echo voice control (command only via "echobridge" docker (http) for items/rules) states update in OH
  4. Logitech Harmony Hub Binding for A/V control
  5. Logitech Squeezebox Binding for multi-room audio
  6. MIOS Binding - two-way communication with Vera for other Z-wave, etc.
  7. MQTT Binding - two-way communication with multiple arduino nodes for sensor readings, LED RGB strip lighting control, relay activation, etc.
  8. emoncms - energy monitoring getting updated sensor readings passed through openHAB from Vera
  9. Network monitoring for server(s) status
  10. Camera streams in app
  11. IFTTT integration through myopenhab ("Automatic" vehicle diagnostic and location)
  12. Project "Rotini" for android based cheap wall panels
  13. Weather Binding - for forecast and current conditions

Thats an overview of the implementation I have, but with an MQTT plugin for ez-robot I could see where any openHAB event or item setup with a topic could be used for integration of the "bot" for controls or feedback.

I haven't really thought too much yet about the things I would like to achieve as I am still trying to get my first ez-robot (omnibot) completed. I have most things working (RGB led eyes, 2x16 lcd screen, CV, ultrasonic sensor, H-bridge motor drive) except for servo arms yet to do. But with full two-way communication with openhab more easily possible with MQTT I can see that there would be alot of possibilities that could be achieved relatively easily.