MOTHER
LVL1 Automation Intelligence System
Contents
General Information
THIS PAGE IS OUTDATED and KEPT PURELY FOR REFERENCE ONLY
Please view the new MotherWiki Pages here: MotherStatus
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.
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
Systems MOTHER can control
These are external systems mother has the ability to control or communicate with. These systems may not yet be in place but MOTHER is ready to be connected to them as soon as they are installed.
Phone System
Security System
Networked Computers
Streaming Audio Clients
Devices Currently Monitored
Events Currently Implemented
Trash Night/Recycling Night
Check to see if Trash/Recycling Cans are inside on trash nights. If so play alerts to members throught the evening reminding them to take trash out. If trash still inside after 9pm, post message to Google group and send SMS to member within closest distance of space. If still inside at 10pm call members on notification list.
Laser Cutter Operation - If laser cutter is in operation monitor occupancy sensor located in "Laser" zone. If occupancy sensor detects no human presence, then instruct operator to return to "Laser" zone. If no human detected after 2 alerts give final alert, followed by Laser Cut-Off.
HAD/MAKE Monitoring
Continously monitor HAD and MAKE blog for mention of LVL1 and LVL1 Projects. If LVL1 mention detected, then go into "PARTY" mode for 30secs, announce mention, and post notification and link to LVL1 Google Group
Girlfriend/Spouse Detection (opt-in only) - Monitor latitude distance of members girlfriends/spouses. If member is at space, notify member when girlfriend/spouse is within 1000ft of LVL1 Hackerspace. (This gives member time to pack up projects and be ready to leave when girlfriend/spouse arrives. This makes them happy) :)
General Security
Monitoring of entire Hackerspace when un-occupied. All areas of space secured by various thermal motion sensors, door contacts, glass-break detectors, etc... Any breach of security triggers phone calls to members on call list, phone calls to police dispatch, interior alarms, interior notifications, interior taunting, google group posting, etc...
Security Automation
Auto arming of hackerspace security system when MOTHER detects that everyone has left the building.
Member Scenes - First member to arrive to un-occupied space is greeted by name, and building is set to members personal preferences. (audio streaming, lighting, video display, member alerts, etc...)
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
NATHAN SOLVED THIS WITH 4 LINES OF CODE SCRATCH ALL
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
ChangeLog
11/22 (Jonathan)
- Installed Squeeze Server on ProdMother (Needs to be moved to own server in future)
- Setup SqueezeBox Account (Default Mother Account)
- Media Web Interface (mother.lvl1.org:9000)
- Integrated Pandora Streaming for Mother and Networked Media Servers
- Integrated BBC Radio
- Integrated Flickr into Distributed Media Server (need yahoo ID for Flickr Account)
- Integrated Spotify into Streaming Media Server (need spotify premium account code)
- Installed custom "Touch/Tablet" skin for Media Server Web Interface.
11/21 (Jonathan)
- Added Local Network security to DevMother for increased security to Access Control.
- Added Member Devices (Jon, Ben, Tim, Josh)
- Added Events to trigger for Jon and Ben Occupancy