MOTHER

From LVL1
Jump to navigation Jump to search

LVL1 Automation Intelligence System

General Information

Overview

MOTHER is the automation/artificial intelligence system for the LVL1 Hackerspace. MOTHER is not easily defined as any one specific type of system, as the nature of MOTHER is to be able to allow for automation and monitoring of any hardware or type of event that the use wishes. However, here is a short list of some of its primary features

  • Building Security
  • Automation of Lighting/HVAC/Power
  • Member Alerts and Notifications
  • Space Audio (streaming media)
  • Web communication with members providing information through various clients (web page, gtalk, twitter, etc..)
  • Touch screen control of entire space

LIVE FEATURES

This is a list of all events and actions that are in "STABLE" operation and should be performed by MOTHER at all times. IF you ever notice that MOTHER is not performing on of the actions, please use the "MOTHER FAULT" button located at one of the MOTHER STATIONS.

Monitoring and Updating of weather related information from NOAA % WWO
Full interaction and control via Google Talk messages sent to lvl1mother@gmail.com
Monitoring of Occupancy

These zones currently have occupancy detection: Main Entry, Main Dock, Lounge, Main Tables, BR1, BR2,

Hack a Day/Make Blog Monitor

Hourly checking of various blog sites postings. Mother will notify members via email sent to google group, via spoken announcement at space, and via 30 seconds of "PART TIME" mode at the space

Monitoring of the presence of these Members at the space

Jonathan C, Ben1, Aaron V, Tim M, Dan B, Chris C.

Immediately Planned Features

Phase 1 Actions/Triggers

  • Calendar Related Input
    • LVL1 Meetings
    • Trash Day
    • Recycling Day
    • Other weekly meetings
  • Individual Presence
    • Tracking of persons via wi-fi enabled devices

Details: Web Admin (from inside LVL1 network only) http://10.0.0.29

Detailed Information

Devices Currently Monitored

Events Currently Implemented

Become a MOTHER Lover!

Below is a list of MOTHER related events and project areas that are still in need of someone to work on.


Mother Lovin Meetings (Mondays,7PM,LVL1 Hackerspace

Upcoming Meeting:

MOTHER_Meeting_11-14-11
Previous Meetings:
MOTHER_Meeting_11-7-11
MOTHER_Meeting_11-1-11

HELP NEEDED

A complete/updated list of ALL mother related task needed to be completed can be found at: pivotaltracker.com

  • (HIGH PRIORITY)Setup of MOTHER script to monitor various serial com ports and set values for various sensors
  • (HIGH PRIORITY)Setup of Arduino code to monitor serial com port data, trigger functions, and send sensor values.
  • (LOW PRIORITY) Infrared Arduino. Anyone with any experience with sending IR codes with an arduino? We just need a really simple script whose functions can all be triggered by commands over serial and include, receiving/storing ir codes, transmitting of IR codes.


Current Contributors:

  • Dan B: Brainstorming/Debugging/Setup
  • Ben: Occupancy Installation/Mother Setup
  • Jon3: Wiring/Hardware Setup/Mother Setup
  • Nick: Arduino Integration
  • Tim: Setup/Brainstorming/X10
  • Josh: General Setup/Installation

Task Specific Resources

MotherDuino

Information related to the integration of Arduino and Homeseer.

IMPORTANT INFO

Homeseer Related: StringItem(String,Index,"seperator") | StringItem (var,1,";")
Arduino String for all device values:

" ID , A ; 0 , 1 ; 1 , 0 ; 2 , 0 "
ID Sep2 Val Sep1 I/O Sep2 Val Sep1 I/O Sep2 Val Sep1 I/O Sep2 Val
String Processing
  • Check arduino ID

Dim ID
Dim FullString
Dim SubString
Dim StringTag
Dim StringVal

SubString = StringItem(FullString,1,";")
ID = StingItem(SubString,2,",")

  • Processing of I/O and Values

Loop through each sub string

dim iopin
dim ioval
dim hsdev
dim hsdeval
for i=2,+?
hsdev=ID+(i-1)
SubString=StringItem(FullString,i,";")
hsdeval=StringItem(SubString,2,",")
hs.setdevicevalue(hsdev:hsdeval)
i=i+1

Pieces needed

  • Script running at startup to open specified com ports to be monitored

' com port script to send data to a COM port ' this script registers a callback script named com_event.txt ' when data is received on the COM port the com_event.txt script is called and the ' data can be processed there ' this script only needs to be called once as the com port will stay open

sub main() dim e e=hs.OpenComPort(5,"9600,n,8,1",1,"com_event_Ardunio1.txt"," main",chr(13)) if e <> "" then hs.writelog "Error opening com port",e end if

hs.writelog "comport_open_Arduino1.txt","Script Complete" end sub

  • This script is added seperately and is triggered anytime data is sent over the com port listed in the startup script.

sub main(data)

' process the com port data here

i = Instr(data,"=")

end sub