https://wiki.leedshackspace.org.uk/w/api.php?action=feedcontributions&user=Alex&feedformat=atomLeeds Hackspace Wiki - User contributions [en-gb]2024-03-29T00:23:20ZUser contributionsMediaWiki 1.38.4https://wiki.leedshackspace.org.uk/w/index.php?title=6040_Laser_Cutter&diff=20866040 Laser Cutter2018-01-31T18:28:15Z<p>Alex: Be more specific about which Hackspace we moved to/from</p>
<hr />
<div>{{Equipment<br />
| title = Laser Cutter<br />
| manufacturer = China!<br />
| model = 6040<br />
| image = NewLaser-workshop-page.jpg<br />
| owner = Hackspace<br />
| induction = Yes<br />
| rfid = Yes<br />
}}== See Also ==<br />
<br />
The [[Laser Cutter Manual]] is a quick refresher for inducted members on how to use the laser cutter.<br />
<br />
[https://fablab.berlin/en/ Berlin FabLab] have some fantastic instructions for using [https://hci.rwth-aachen.de/visicut VisiCut] [https://wiki.fablab.berlin/Laser_Cutting_Introduction available here]<br />
<br />
[http://svgnest.com/ SVGNest] is an online tool for nesting SVG files using space efficiently.<br />
<br />
== About ==<br />
In December 2014 we purchased an A2 laser cutter from China and a [http://www.laoslaser.org LAOS] controller board v0.5 to upgrade it. The laser was delivered in January 2015 and is now fully operational. Occasional improvements are made to it to improve its performance as we learn more about how to configure it.<br />
<br />
After the upgrade the laser is controlled with [http://hci.rwth-aachen.de/visicut Visicut]. The configuration for Visicut can be automatically installed (as of Mid Feb 2015) by simply selecting Leeds Hackspace from the list of laser cutters on first installation. An additional element using [[Visicam]] to work with Visicut has also been added.<br />
<br />
'''An induction on using the laser cutter is required before use by a designated Hackspace inductor.''' Without an induction, your Hackspace card will not allow you to use the machine. For brief reference there is a simple [[Laser Cutter Manual]] to be used as a reminder.<br />
<br />
== Suggested Cutting Settings ==<br />
<br />
There is a whiteboard in the space near the laser cutter with some suggested cut settings. If you find a combination that works well add it to the list. <br />
<br />
Please ensure that you test any and all settings before committing to a large job.<br />
<br />
== Suggested Etch Settings ==<br />
<br />
Etching pulses the laser in order to etch into surface, because the beam is narrow the machine has to make multiple passes to construct your etch and so can take a long time.<br />
'''Currently etching only works unidirectionally''' bidirectional etching will result in squished output. <br />
{| class="wikitable"<br />
! style="font-weight: bold;" | Material<br />
! style="font-weight: bold;" | Etch Type<br />
! style="font-weight: bold;" | Power<br />
! style="font-weight: bold;" | Speed<br />
! style="font-weight: bold;" | Notes<br />
|-<br />
| Macbook<br />
| Solid Etch<br />
| 60<br />
| 100<br />
| Power 100 gives "feelable" finish, 60 seems nice.<br />
|}<br />
<br />
== Usage tariff ==<br />
<br />
Usage of the laser cutter costs £1 per 10 minutes, with a £1 minimum charge. This is to cover the cost of replacing the laser tube, which has a limited lifespan.<br />
<br />
Please note: you're charged for the amount of time that your card is inserted into the machine.<br />
<br />
== Post-move modifications ==<br />
<br />
Visicut works exactly as it did before the Hackspace moved to Sheepscar House, but you will need to make one change, as detailed below.<br />
<br />
* Open Visicut.<br />
* Click Edit -> Settings -> Manage Lasercutters<br />
* Select "Leeds LAOS" from the list.<br />
* Click the cog icon.<br />
* In the Settings section, change the value of "hostname" from "laser.hackspace" to "192.168.1.72".<br />
* Click Save<br />
* Click Save once more<br />
<br />
== Capabilities ==<br />
<br />
The 6040 in the name is a reference to the size of the cutting bed - 600x400mm - given that the home position is not 0,0 we will lose some of that.<br />
It is a 60w Laser but it is a cheap chinese 60w laser, we have to not over-expect.<br />
The focal length from the centre of the lens to the centre of the cutting piece should be 50.8mm<br />
<br />
There are limits to how thick it can cut, but the laser should cut:<br />
<br />
* Acrylic sheet<br />
* Plywood<br />
* MDF<br />
* Paper<br />
* Card (with the exception of corrugated card)<br />
<br />
You will NOT cut:<br />
<br />
* Vinyl (toxic/corrosive fumes)<br />
* Lexan (different toxic fumes)<br />
* Corrugated card (fire risk)<br />
* Food (it smells horrible and gunges up the laser)<br />
<br />
You will NOT lick the laser cutter, even when inducted.<br />
<br />
"Etch"-able with a mask on material (covered in induction):<br />
<br />
* Metal<br />
* Glass[http://www.engraversjournal.com/article.php/2360/index.html]<br />
* Ceramics<br />
<br />
All of the above need their reflectiveness dealing with or you could damage the laser.<br />
<br />
Anything not mentioned above, ask a Laser-inducted director and do not be surprised/upset when they say "hell no!"<br />
<br />
A useful guide as to whether they will say yes/no: [https://web.archive.org/web/20160302100619/http://www.originlaser.com.au/laser-materials/ http://www.originlaser.com.au/laser-materials/]<br />
<br />
== Maintenance ==<br />
<br />
* After use<br />
** Allow laser to cool with water still running before powering off.<br />
** Vacuum out any laser crud that's on/under the bed.<br />
** Ensure you have left the laser clean and tidy.<br />
** Clear your scrap.<br />
*** Don't leave things by the side of the laser!<br />
*** Obvious rubbish goes in the bin (recycling options?)<br />
*** Break down bigger pieces into something useful.<br />
*** Take the remains home or donate to [[scrap laser storage]].<br />
** Remember your RFID card!<br />
<br />
*Periodic<br />
** Check coolant levels, top up with distilled water if necessary.<br />
** Check vent tube for any escaped laser crud.<br />
** Clean optics. [please ask on the mailing list if you think this needs doing]<br />
<br />
== Operational/Installation Maintenance ==<br />
<br />
* Mount laser on trolley - May wish to be re-mounted to ensure cutter is straight<br />
* RFID access - Operational, requires Marvin integration<br />
* Motor Control - There is potentially an operational problem with printing circular complex objects (cogs)<br />
<br />
<br />
== Risk assessment for use of Laser Cutter. ==<br />
<br />
<br />
=== Hazards. ===<br />
<br />
* 1) Fire under normal cutting.<br />
* 2) Abnormal fire in use.<br />
* 3) Fume inhalation.<br />
* 4) Trapping fingers in lid.<br />
* 5) Laser burns<br />
* 6) Damage to eyes caused by laser<br />
* 7) Electric shock from equipment <br />
<br />
<br />
=== Persons at risk. ===<br />
* Operator.<br />
* Persons nearby. <br />
<br />
<br />
=== Initial assessment of risk. ===<br />
{| class="wikitable"<br />
| Hazard identified || Severity || Probability || Risk Factor<br />
|-<br />
| Fire under normal cutting || style="text-align:right;" | 1 || style="text-align:right;" | 2 || style="text-align:right;" | 2<br />
|-<br />
| Abnormal fire in use || style="text-align:right;" | 5 || style="text-align:right;" | 1 || style="text-align:right;" | 5<br />
|-<br />
| Fume inhalation || style="text-align:right;" | 5 || style="text-align:right;" | 2 || style="text-align:right;" | 10<br />
|-<br />
| Trapping fingers in lid || style="text-align:right;" | 2 || style="text-align:right;" | 3 || style="text-align:right;" | 6<br />
|-<br />
| Laser burns || style="text-align:right;" | 2 || style="text-align:right;" | 1 || style="text-align:right;" | 2<br />
|-<br />
| Damage to eyes caused by laser || style="text-align:right;" | 3 || style="text-align:right;" | 3 || style="text-align:right;" | 9<br />
|-<br />
| Electric shock from equipment || style="text-align:right;" | 4 || style="text-align:right;" | 1 || style="text-align:right;" | 4<br />
|}<br />
<br />
=== Control measures. ===<br />
* Users will be required to attend induction training to learn how to use the tool safely.<br />
* Use the handle of the lid to open and close the lid.<br />
* Do not look directly at the laser whilst in use.<br />
* Stay with the laser cutter for the duration of use<br />
* Fumes are ventilated outside workshop.<br />
<br />
<br />
<br />
<br />
=== Final assessment of risk ===<br />
<br />
{| class="wikitable"<br />
| Hazard identified || Severity || Probability || Risk Factor<br />
|-<br />
| Fire under normal cutting || style="text-align:right;" | 1 || style="text-align:right;" | 2 || style="text-align:right;" | 2<br />
|-<br />
| Abnormal fire in use || style="text-align:right;" | 5 || style="text-align:right;" | 1 || style="text-align:right;" | 5<br />
|-<br />
| Fume inhalation || style="text-align:right;" | 5 || style="text-align:right;" | 1 || style="text-align:right;" | 5<br />
|-<br />
| Trapping fingers in lid || style="text-align:right;" | 2 || style="text-align:right;" | 1 || style="text-align:right;" | 2<br />
|-<br />
| Laser burns || style="text-align:right;" | 2 || style="text-align:right;" | 1 || style="text-align:right;" | 2<br />
|-<br />
| Damage to eyes caused by laser || style="text-align:right;" | 3 || style="text-align:right;" | 1 || style="text-align:right;" | 3<br />
|-<br />
| Electric shock from equipment || style="text-align:right;" | 4 || style="text-align:right;" | 1 || style="text-align:right;" | 4<br />
|-<br />
|}<br />
<br />
=== Points system ===<br />
<br />
{| class="wikitable"<br />
| Hazard severity || Points Rating || Definition <br />
|-<br />
| Nil || 1 || Very minor injury, bruise, graze, no risk of disease. <br />
|- <br />
| Slight || 2 || Minor injury, which would allow the individual to continue work after first aid treatment on site or at a local surgery. The duration of the stoppage or treatment is such that the normal flow of work is not seriously interrupted. <br />
|- <br />
| Moderate || 3 || Temporary disability causing injury or disease capable of keeping an individual off work for three days or more and reportable under RIDDOR <br />
|- <br />
| High || 4 || Causing death, serious injury or permanent disability to an individual. <br />
<br />
|- <br />
| Very high || 5 || Causing multiple deaths and widespread destruction eg. fire, building collapse. <br />
|}<br />
<br />
<br />
<br />
{| class="wikitable"<br />
| Hazard likelihood || Points Rating || Definition <br />
|-<br />
| Remote possibility || 1 || There is really no risk present. Only under freak conditions could there be any possibility of an accident or illness. All reasonable precautions have been taken - This should be the normal state of the workplace. <br />
|- <br />
| Unlikely || 2 || This incident or illness might occur but the probability is low and the risk minimal. <br />
|- <br />
| Possible || 3 || The accident may occur if additional factors precipitate it, but it is unlikely to happen without them. <br />
|- <br />
| Highly likely || 4 || Will happen more often than not. Additional factors could precipitate an incident but it is still likely to happen without this additional factor. <br />
|- <br />
| Inevitable || 5 || If the work continues as it is, there is almost 100% certainty that an accident will happen, for example: <br />
A broken stair or broken rung on a ladder <br />
Bare, exposed electrical conductors <br />
Unstable stacks of heavy boxes <br />
|}<br />
<br />
<br />
{| class="wikitable"<br />
| Risk Rating Score || Definition || Action<br />
|- <br />
| 1 to 4 || Low || No action required <br />
|- <br />
| 5 to 9 || Moderate || Reduce risks if reasonably practicable <br />
|- <br />
| 10 to 15 || High Risk || Priority action to be undertaken <br />
|- <br />
| 16 to 25 || Unacceptable || Action must be taken IMMEDIATELY<br />
|}<br />
<br />
[[Category:Tools_and_Equipment]]</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Door_Access_Pi&diff=1814Door Access Pi2017-08-06T19:39:33Z<p>Alex: Add instructions to see if the daemon is running</p>
<hr />
<div>[[Category:Infrastructure]]<br />
The door access Pi interfaces with the Arduino that controls the main entrance door, allowing membership card data to be synced onto it.<br />
<br />
== Purpose ==<br />
Store a list of valid membership cards and syncs them onto the door access Arduino (documented in [[Marvin P Droid]]).<br />
<br />
The intent is that eventually this Pi won't be responsible for storing the membership cards access list, and that it will obtain that list from another server/service.<br />
<br />
== Usage/maintenance ==<br />
Only committee members may access the door Pi due to it containing membership data.<br />
<br />
It is accessible on the network as the DNS entry <code>door-pi.lan</code>. SSH credentials are known by committee.<br />
<br />
=== Common Tasks ===<br />
<br />
==== Edit the list of cards ====<br />
The cards list is located at <code>/opt/notdoord/cards.dat</code>. Use the text editor of your choice to make changes; be sure to adhere to the file format accurately.<br />
<br />
<code><br />
nano /opt/notdoord/cards.dat<br />
<br />
sudo systemctl restart notdoord<br />
</code><br />
<br />
==== See if the daemon is running ====<br />
If the daemon is running, the output of this command will include the text "Active: active (running)"<br />
<br />
<code><br />
systemctl status notdoord<br />
</code><br />
<br />
==== Restart the notdoord daemon ====<br />
Restarting the daemon may fix issues if the door appears to be acting weirdly.<br />
<br />
<code><br />
sudo systemctl restart notdoord<br />
</code><br />
<br />
==== View notdoord's logs ====<br />
Since notdoord runs as a systemd unit, the logs are available in the journal:<br />
<br />
<code><br />
sudo journalctl -fu notdoord.service<br />
</code><br />
<br />
==== Update notdoord's code ====<br />
The codebase is checked out as a git repo, so pulling any changes and restarting the daemon should suffice:<br />
<br />
<code><br />
cd /opt/notdoord<br />
<br />
git pull<br />
<br />
sudo systemctl restart notdoord<br />
</code><br />
<br />
==== Reload systemd after changing the notdoord service definition ====<br />
This should only be necessary if you modify <code>/etc/systemd/system/notdoord.service</code>; there should be very few reasons why this is necessary.<br />
<br />
<code><br />
sudo systemctl daemon-reload<br />
<br />
sudo systemctl restart notdoord<br />
</code><br />
<br />
== Software ==<br />
The door Pi is running a Python 3 daemon [https://github.com/leedshackspace/notdoord notdoord] which interfaces with the door Arduino via a USB-to-serial adapter. See the GitHub repo README for more information on how it works.<br />
<br />
== Setup ==<br />
The Pi is running Raspbian Lite based on Debian Jessie, and just runs the notdoord daemon, the code for which is checked out as a git repo at <code>/opt/notdoord</code>.<br />
<br />
The daemon is configured to run by a systemd service, called "notdoord", running under the user/group notdoord. The notdoord user has no login shell, a random password, and no other permissions.<br />
<br />
The definition of the systemd service is at <code>/etc/systemd/system/notdoord.service</code>.</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Door_Access_Pi&diff=1813Door Access Pi2017-08-06T18:43:07Z<p>Alex: </p>
<hr />
<div>[[Category:Infrastructure]]<br />
The door access Pi interfaces with the Arduino that controls the main entrance door, allowing membership card data to be synced onto it.<br />
<br />
== Purpose ==<br />
Store a list of valid membership cards and syncs them onto the door access Arduino (documented in [[Marvin P Droid]]).<br />
<br />
The intent is that eventually this Pi won't be responsible for storing the membership cards access list, and that it will obtain that list from another server/service.<br />
<br />
== Usage/maintenance ==<br />
Only committee members may access the door Pi due to it containing membership data.<br />
<br />
It is accessible on the network as the DNS entry <code>door-pi.lan</code>. SSH credentials are known by committee.<br />
<br />
=== Common Tasks ===<br />
<br />
==== Edit the list of cards ====<br />
The cards list is located at <code>/opt/notdoord/cards.dat</code>. Use the text editor of your choice to make changes; be sure to adhere to the file format accurately.<br />
<br />
<code><br />
nano /opt/notdoord/cards.dat<br />
<br />
sudo systemctl restart notdoord<br />
</code><br />
<br />
==== Restart the notdoord daemon ====<br />
Restarting the daemon may fix issues if the door appears to be acting weirdly.<br />
<br />
<code><br />
sudo systemctl restart notdoord<br />
</code><br />
<br />
==== View notdoord's logs ====<br />
Since notdoord runs as a systemd unit, the logs are available in the journal:<br />
<br />
<code><br />
sudo journalctl -fu notdoord.service<br />
</code><br />
<br />
==== Update notdoord's code ====<br />
The codebase is checked out as a git repo, so pulling any changes and restarting the daemon should suffice:<br />
<br />
<code><br />
cd /opt/notdoord<br />
<br />
git pull<br />
<br />
sudo systemctl restart notdoord<br />
</code><br />
<br />
==== Reload systemd after changing the notdoord service definition ====<br />
This should only be necessary if you modify <code>/etc/systemd/system/notdoord.service</code>; there should be very few reasons why this is necessary.<br />
<br />
<code><br />
sudo systemctl daemon-reload<br />
<br />
sudo systemctl restart notdoord<br />
</code><br />
<br />
== Software ==<br />
The door Pi is running a Python 3 daemon [https://github.com/leedshackspace/notdoord notdoord] which interfaces with the door Arduino via a USB-to-serial adapter. See the GitHub repo README for more information on how it works.<br />
<br />
== Setup ==<br />
The Pi is running Raspbian Lite based on Debian Jessie, and just runs the notdoord daemon, the code for which is checked out as a git repo at <code>/opt/notdoord</code>.<br />
<br />
The daemon is configured to run by a systemd service, running under the user/group notdoord. The notdoord user has no login shell, a random password, and no other permissions.<br />
<br />
The definition of the systemd service is at <code>/etc/systemd/system/notdoord.service</code>.</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Door_Access_Pi&diff=1812Door Access Pi2017-08-06T18:42:21Z<p>Alex: Add details</p>
<hr />
<div>[[Category:Infrastructure]]<br />
The door access Pi interfaces with the Arduino that controls the main entrance door, allowing membership card data to be synced onto it.<br />
<br />
== Purpose ==<br />
Store a list of valid membership cards and syncs them onto the door access Arduino (documented in [[Marvin P Droid]]).<br />
<br />
== Usage/maintenance ==<br />
Only committee members may access the door Pi due to it containing membership data.<br />
<br />
It is accessible on the network as the DNS entry <code>door-pi.lan</code>. SSH credentials are known by committee.<br />
<br />
=== Common Tasks ===<br />
<br />
==== Edit the list of cards ====<br />
The cards list is located at <code>/opt/notdoord/cards.dat</code>. Use the text editor of your choice to make changes; be sure to adhere to the file format accurately.<br />
<br />
<code><br />
nano /opt/notdoord/cards.dat<br />
<br />
sudo systemctl restart notdoord<br />
</code><br />
<br />
==== Restart the notdoord daemon ====<br />
Restarting the daemon may fix issues if the door appears to be acting weirdly.<br />
<br />
<code><br />
sudo systemctl restart notdoord<br />
</code><br />
<br />
==== View notdoord's logs ====<br />
Since notdoord runs as a systemd unit, the logs are available in the journal:<br />
<br />
<code><br />
sudo journalctl -fu notdoord.service<br />
</code><br />
<br />
==== Update notdoord's code ====<br />
The codebase is checked out as a git repo, so pulling any changes and restarting the daemon should suffice:<br />
<br />
<code><br />
cd /opt/notdoord<br />
<br />
git pull<br />
<br />
sudo systemctl restart notdoord<br />
</code><br />
<br />
==== Reload systemd after changing the notdoord service definition ====<br />
This should only be necessary if you modify <code>/etc/systemd/system/notdoord.service</code>; there should be very few reasons why this is necessary.<br />
<br />
<code><br />
sudo systemctl daemon-reload<br />
<br />
sudo systemctl restart notdoord<br />
</code><br />
<br />
== Software ==<br />
The door Pi is running a Python 3 daemon [https://github.com/leedshackspace/notdoord notdoord] which interfaces with the door Arduino via a USB-to-serial adapter. See the GitHub repo README for more information on how it works.<br />
<br />
== Setup ==<br />
The Pi is running Raspbian Lite based on Debian Jessie, and just runs the notdoord daemon, the code for which is checked out as a git repo at <code>/opt/notdoord</code>.<br />
<br />
The daemon is configured to run by a systemd service, running under the user/group notdoord. The notdoord user has no login shell, a random password, and no other permissions.<br />
<br />
The definition of the systemd service is at <code>/etc/systemd/system/notdoord.service</code>.</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Marvin_P_Droid&diff=1811Marvin P Droid2017-08-06T18:22:44Z<p>Alex: Add link to door pi</p>
<hr />
<div>[[Category:Infrastructure]]<br />
{{Outdated|The server is not set up yet after moving to Sheepscar House, so DNS, DHCP and routing is currently managed by the ISP-provided router. The Marvin bot is also not running.}}<br />
Marvin is the space automation and monitoring system.<br />
<br />
If you just want a user manual without all the details see [[Access Control]].<br />
<br />
== Git ==<br />
<br />
Code and configuration for the majority of Marvin's systems is stored in a git repository on github at http://github.com/leedshackspace/lhs-marvin.<br />
<br />
== Hackspace Server ==<br />
<br />
The majority of Marvin's functionality is provided by the machine gateway.hackspace, which resides in the cab at the hackspace. The following services are provided:<br />
<br />
* DNS<br />
* DHCP<br />
* Router spanning wired, wireless, external (internet) and VPN network segments<br />
* Door lock master and logging<br />
* Database<br />
* Webcam motion capture and image feeds<br />
<br />
=== Configuration ===<br />
<br />
All configuration done via the ansible playbook and supporting files stored in the git repository.<br />
Manual changes should not be made to this system, it should be possible to rebuild everything from just the github repository.<br />
<br />
=== User Accounts ===<br />
<br />
External access to the internal hackspace network is via this machine. Accounts are available on application. Authentication is by SSH key only.<br />
<br />
All user data on this machine should be considered transient and at risk of deletion.<br />
Do not expose sensitive data on this machine (or any other hackspace machine). <br />
<br />
=== Secret Keys ===<br />
<br />
Full configuration of the machine requires several passwords and secret keys not stored in the public git repository.<br />
<br />
'''FIXME:''' Document where these live. (ask [[User:Pbrook]])<br />
<br />
== DNS and DHCP ==<br />
<br />
Care should be taken to ensure that DHCP and both forward and reverse DNS entres are consistent when making changes.<br />
<br />
Internal DNS uses the .hackspace domain. It is implemented with bind9 on the gateway machine.<br />
<br />
The wired subnet is 172.31.26.0/24, and the wireless subnet is 172.31.27.0/24. Addresses are assigned by the ISC DHCP server on the gateway machine.<br />
<br />
== RFID Access System ==<br />
<br />
Access to the hackspace is controled by an RFID tag based system. It covers both the internal upstairs door and the external door shared with the Pedallers Arms.<br />
<br />
=== Door Locks ===<br />
<br />
NOTE: this section needs updating, as the door lock currently is not connected to the server, but is connected to the [[Door Access Pi]].<br />
<br />
Each door has an electronic lock, with RFID reader and a numeric keypad.<br />
<br />
Each unit includes battery backup provided by 8x AA NiMh rechargeable batteries. These should be sufficient to keep the lock operational for several days. The batteries are trickle charged when external power is present.<br />
<br />
The door locks communicate with the server using a custom serial protocol. Power (12v) and data (RS232) are supplied over a single 5-pin DIN connector. The cabling is the same as (but not electrically compatible with) a MIDI cable.<br />
<br />
Logging, updating the list of approved tags, and other functions are achieved by communicating with the daemon on the server. The serial protocol is documented in the Arduino source code.<br />
<br />
The lock stores a set of RFID tag/PIN pairs in non-volatile storage. In the event of a server/power failure the lock will continue to operate automously.<br />
<br />
=== RFID/NFC Cards ===<br />
<br />
The cards work on 13.56Mhz and are MiFare Classic 1000 ISO 14443-3A standard compliant. These are usually purchased from aliexpress.<br />
<br />
=== Auxiliary Arduino ===<br />
<br />
The blue box on top of the server cab provides connectivity between the server and other systems. It contains:<br />
* An arduino with temperature readings and MOSFET to control the space open sign. Historically this provided other functions, however these are no longer used, and probably broken.<br />
* A pair of USB-serial modules with RS232 level shifters for doorlock communication<br />
* USB hub. The serial devices do not have useful serial numbers, so are identified based on which port they are connected to.<br />
* 12v 2.5A DC power brick. While average power draw is fairly low, peak power draw of the door lock solenoid is ~1A.<br />
<br />
=== Space Open Sign ===<br />
<br />
The illuminated sign at the top of the stairs is turned on when the space is open. The LEDs are wired to operate off a 12v supply.<br />
<br />
=== Space management daemon (doord) ===<br />
<br />
The doord daemon provides several functions:<br />
* Control of door locks<br />
* Control of the auviliary Arduino<br />
* Scanning ARP entires to determine presence of machines on the network.<br />
* Logging<br />
* Opening and closing the space<br />
* Database management for door locks and space state<br />
* IRC messages<br />
<br />
=== Space state logic ===<br />
<br />
The space will open when the door is unlocked (this requires valid RFID tag and PIN).<br />
<br />
When the space has been opened by a keyholder, any member can open the door with their RFID tag. No PIN is required.<br />
<br />
When the space is open to the public the door can be opened by pressing '#'. Public access also requires the space to have been opened by a keyholder.<br />
<br />
The space will close if the door is closed and no members are present (determined by network devices or recently scanned RFID tags).<br />
<br />
Scanning a tag on the inside of the upstairs doorlock will caused that member to be immediately logged out. If there are no other members present then the space will close. Pressing the '*' key on the keypad within a few seconds will cause all members to be logged out, and the space to close immediately.<br />
<br />
=== Public Open Days/Evening ===<br />
<br />
A public open evening is hardcoded for Tuesday from 5pm. This assumption is present in both doord.py and gateway/www/status.php.<br />
<br />
Other public open days can be added via the <code>open_days</code> database table.<br />
<br />
In both cases public access is conditional on the space already being open, so it if nobody turns (or the keyholder is late) the building should still be secure.<br />
<br />
== External webserver ==<br />
<br />
The external webserver for leedshackspace.org.uk lives in Nav's loft on the end of his DSL connection. This needs to be moved to a properly hosted system. A migration process in underway to move to a dedicated server, which is being documented in [[New VM Migration]].<br />
<br />
=== VPN ===<br />
<br />
Connectivity between the machine in the hackspace (gateway.hackspace) and the external webserver (leedshackspace.org.uk) is provided by and OpenVPN tunnel. The tunnel is initiated by gateway. The VPN is used for querying doord running on the internal server for the space status for the IRC bot and website, and for proxying requests for webcam images.<br />
<br />
== IRC ==<br />
<br />
The IRC bot is based upon [https://github.com/RJ/irccat irccat].<br />
<br />
This is a horrible mess of xml configuration files, Java, and scripts written in a variety of languages. It also accepts messages via a TCP socket, which are then passed on to the IRC channels.<br />
<br />
Marvin is mainly situated in <code>/usr/local/src/irccat</code> on the web server running on a VPS.<br />
<br />
Parts of this bot are everywhere, the code is out of date, not currently version controlled and is in a (bit of a) mess.<br />
<br />
The bot is setup to join #leeds-hack-space and #leedshackspace as '''Marvin_P_Droid''' on freenode IRC, with #leeds-hack-space set as the primary channel in the irccat config xml file.<br />
<br />
=== IRC Bot Commands ===<br />
<br />
Commands can be run from either the irc channel #leeds-hack-space or they can be /msg sent to Marvin_P_Droid.<br />
<br />
Commands are directly executed from their script names, this is why you have to be careful what you put in the <code>commands</code> folder and it may be best to have a 'command' filename that just refers to other script file names that are stored in sub folders. They are stored in <code>/usr/local/src/irccat/commands</code>.<br />
<br />
Most of these commands date from before we moved into our current space (Mabgate Green), and many of them are broken.<br />
<br />
{| class="wikitable"<br />
! style="text-align:left;"| Command<br />
! style="text-align:left;"| Description<br />
|-<br />
|?status<br />
|Show whether the space is open, and if so, who's there<br />
|-<br />
|?rules<br />
|List the Hackspace rules<br />
|-<br />
|?space, ?mars, ?galaxy<br />
|Show how many humans are in space (and how many harpoons)<br />
|-<br />
|?phone<br />
|Show the Hackspace phone number<br />
|-<br />
|?moo<br />
|Have a cow reply to you<br />
|-<br />
|?harpoons<br />
|Show how many harpoons are in space<br />
|-<br />
|?idea<br />
|<br />
|-<br />
|?noidea<br />
|<br />
|-<br />
|?xyzzy<br />
|Magic<br />
|}</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Door_Access_Pi&diff=1810Door Access Pi2017-08-06T18:20:42Z<p>Alex: Create stub page</p>
<hr />
<div>[[Category:Infrastructure]]</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Marvin_P_Droid&diff=1809Marvin P Droid2017-08-06T18:17:22Z<p>Alex: Add outdated note</p>
<hr />
<div>[[Category:Infrastructure]]<br />
{{Outdated|The server is not set up yet after moving to Sheepscar House, so DNS, DHCP and routing is currently managed by the ISP-provided router. The Marvin bot is also not running}}<br />
Marvin is the space automation and monitoring system.<br />
<br />
If you just want a user manual without all the details see [[Access Control]].<br />
<br />
== Git ==<br />
<br />
Code and configuration for the majority of Marvin's systems is stored in a git repository on github at http://github.com/leedshackspace/lhs-marvin.<br />
<br />
== Hackspace Server ==<br />
<br />
The majority of Marvin's functionality is provided by the machine gateway.hackspace, which resides in the cab at the hackspace. The following services are provided:<br />
<br />
* DNS<br />
* DHCP<br />
* Router spanning wired, wireless, external (internet) and VPN network segments<br />
* Door lock master and logging<br />
* Database<br />
* Webcam motion capture and image feeds<br />
<br />
=== Configuration ===<br />
<br />
All configuration done via the ansible playbook and supporting files stored in the git repository.<br />
Manual changes should not be made to this system, it should be possible to rebuild everything from just the github repository.<br />
<br />
=== User Accounts ===<br />
<br />
External access to the internal hackspace network is via this machine. Accounts are available on application. Authentication is by SSH key only.<br />
<br />
All user data on this machine should be considered transient and at risk of deletion.<br />
Do not expose sensitive data on this machine (or any other hackspace machine). <br />
<br />
=== Secret Keys ===<br />
<br />
Full configuration of the machine requires several passwords and secret keys not stored in the public git repository.<br />
<br />
'''FIXME:''' Document where these live. (ask [[User:Pbrook]])<br />
<br />
== DNS and DHCP ==<br />
<br />
Care should be taken to ensure that DHCP and both forward and reverse DNS entres are consistent when making changes.<br />
<br />
Internal DNS uses the .hackspace domain. It is implemented with bind9 on the gateway machine.<br />
<br />
The wired subnet is 172.31.26.0/24, and the wireless subnet is 172.31.27.0/24. Addresses are assigned by the ISC DHCP server on the gateway machine.<br />
<br />
== RFID Access System ==<br />
<br />
Access to the hackspace is controled by an RFID tag based system. It covers both the internal upstairs door and the external door shared with the Pedallers Arms.<br />
<br />
=== Door Locks ===<br />
<br />
Each door has an electronic lock, with RFID reader and a numeric keypad.<br />
<br />
Each unit includes battery backup provided by 8x AA NiMh rechargeable batteries. These should be sufficient to keep the lock operational for several days. The batteries are trickle charged when external power is present.<br />
<br />
The door locks communicate with the server using a custom serial protocol. Power (12v) and data (rs232) are supplied over a single 5-pin DIN connector. The cabling is the same as (but not electrically compatible with) a MIDI cable.<br />
<br />
Logging, updating the list of approved tags, and other functions are achieved by communicating with the daemon on the server. The serial protocol is documented in the arduino source code.<br />
<br />
The lock stores a set of RFID tag/PIN pairs in non-volatile storage. In the event of a server/power failure the lock will continue to operate automously.<br />
<br />
The upstairs lock includes a second RFID reader on the inside of the room. This allows members to tag out as they leave.<br />
<br />
=== RFID/NFC Cards ===<br />
<br />
The cards work on 13.56Mhz and are MiFare Classic 1000 ISO 14443-3A standard compliant. These are usually purchased from aliexpress.<br />
<br />
=== Auxiliary Arduino ===<br />
<br />
The blue box on top of the server cab provides connectivity between the server and other systems. It contains:<br />
* An arduino with temperature readings and MOSFET to control the space open sign. Historically this provided other functions, however these are no longer used, and probably broken.<br />
* A pair of USB-serial modules with RS232 level shifters for doorlock communication<br />
* USB hub. The serial devices do not have useful serial numbers, so are identified based on which port they are connected to.<br />
* 12v 2.5A DC power brick. While average power draw is fairly low, peak power draw of the door lock solenoid is ~1A.<br />
<br />
=== Space Open Sign ===<br />
<br />
The illuminated sign at the top of the stairs is turned on when the space is open. The LEDs are wired to operate off a 12v supply.<br />
<br />
=== Space management daemon (doord) ===<br />
<br />
The doord daemon provides several functions:<br />
* Control of door locks<br />
* Control of the auviliary Arduino<br />
* Scanning ARP entires to determine presence of machines on the network.<br />
* Logging<br />
* Opening and closing the space<br />
* Database management for door locks and space state<br />
* IRC messages<br />
<br />
=== Space state logic ===<br />
<br />
The space will open when the door is unlocked (this requires valid RFID tag and PIN).<br />
<br />
When the space has been opened by a keyholder, any member can open the door with their RFID tag. No PIN is required.<br />
<br />
When the space is open to the public the door can be opened by pressing '#'. Public access also requires the space to have been opened by a keyholder.<br />
<br />
The space will close if the door is closed and no members are present (determined by network devices or recently scanned RFID tags).<br />
<br />
Scanning a tag on the inside of the upstairs doorlock will caused that member to be immediately logged out. If there are no other members present then the space will close. Pressing the '*' key on the keypad within a few seconds will cause all members to be logged out, and the space to close immediately.<br />
<br />
=== Public Open Days/Evening ===<br />
<br />
A public open evening is hardcoded for Tuesday from 5pm. This assumption is present in both doord.py and gateway/www/status.php.<br />
<br />
Other public open days can be added via the <code>open_days</code> database table.<br />
<br />
In both cases public access is conditional on the space already being open, so it if nobody turns (or the keyholder is late) the building should still be secure.<br />
<br />
== External webserver ==<br />
<br />
The external webserver for leedshackspace.org.uk lives in Nav's loft on the end of his DSL connection. This needs to be moved to a properly hosted system. A migration process in underway to move to a dedicated server, which is being documented in [[New VM Migration]].<br />
<br />
=== VPN ===<br />
<br />
Connectivity between the machine in the hackspace (gateway.hackspace) and the external webserver (leedshackspace.org.uk) is provided by and OpenVPN tunnel. The tunnel is initiated by gateway. The VPN is used for querying doord running on the internal server for the space status for the IRC bot and website, and for proxying requests for webcam images.<br />
<br />
== IRC ==<br />
<br />
The IRC bot is based upon [https://github.com/RJ/irccat irccat].<br />
<br />
This is a horrible mess of xml configuration files, Java, and scripts written in a variety of languages. It also accepts messages via a TCP socket, which are then passed on to the IRC channels.<br />
<br />
Marvin is mainly situated in <code>/usr/local/src/irccat</code> on the web server running on a VPS.<br />
<br />
Parts of this bot are everywhere, the code is out of date, not currently version controlled and is in a (bit of a) mess.<br />
<br />
The bot is setup to join #leeds-hack-space and #leedshackspace as '''Marvin_P_Droid''' on freenode IRC, with #leeds-hack-space set as the primary channel in the irccat config xml file.<br />
<br />
=== IRC Bot Commands ===<br />
<br />
Commands can be run from either the irc channel #leeds-hack-space or they can be /msg sent to Marvin_P_Droid.<br />
<br />
Commands are directly executed from their script names, this is why you have to be careful what you put in the <code>commands</code> folder and it may be best to have a 'command' filename that just refers to other script file names that are stored in sub folders. They are stored in <code>/usr/local/src/irccat/commands</code>.<br />
<br />
Most of these commands date from before we moved into our current space (Mabgate Green), and many of them are broken.<br />
<br />
{| class="wikitable"<br />
! style="text-align:left;"| Command<br />
! style="text-align:left;"| Description<br />
|-<br />
|?status<br />
|Show whether the space is open, and if so, who's there<br />
|-<br />
|?rules<br />
|List the Hackspace rules<br />
|-<br />
|?space, ?mars, ?galaxy<br />
|Show how many humans are in space (and how many harpoons)<br />
|-<br />
|?phone<br />
|Show the Hackspace phone number<br />
|-<br />
|?moo<br />
|Have a cow reply to you<br />
|-<br />
|?harpoons<br />
|Show how many harpoons are in space<br />
|-<br />
|?idea<br />
|<br />
|-<br />
|?noidea<br />
|<br />
|-<br />
|?xyzzy<br />
|Magic<br />
|}</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Marvin_P_Droid&diff=1808Marvin P Droid2017-08-06T18:15:28Z<p>Alex: Contact Paul for secret keys for gateway box</p>
<hr />
<div>[[Category:Infrastructure]]<br />
<br />
Marvin is the space automation and monitoring system.<br />
<br />
If you just want a user manual without all the details see [[Access Control]]<br />
<br />
== Git ==<br />
<br />
Code and configuration for the majority of Marvin's systems is stored in a git repository on github at http://github.com/leedshackspace/lhs-marvin.<br />
<br />
== Hackspace Server ==<br />
<br />
The majority of Marvin's functionality is provided by the machine gateway.hackspace, which resides in the cab at the hackspace. The following services are provided:<br />
<br />
* DNS<br />
* DHCP<br />
* Router spanning wired, wireless, external (internet) and VPN network segments<br />
* Door lock master and logging<br />
* Database<br />
* Webcam motion capture and image feeds<br />
<br />
=== Configuration ===<br />
<br />
All configuration done via the ansible playbook and supporting files stored in the git repository.<br />
Manual changes should not be made to this system, it should be possible to rebuild everything from just the github repository.<br />
<br />
=== User Accounts ===<br />
<br />
External access to the internal hackspace network is via this machine. Accounts are available on application. Authentication is by SSH key only.<br />
<br />
All user data on this machine should be considered transient and at risk of deletion.<br />
Do not expose sensitive data on this machine (or any other hackspace machine). <br />
<br />
=== Secret Keys ===<br />
<br />
Full configuration of the machine requires several passwords and secret keys not stored in the public git repository.<br />
<br />
'''FIXME:''' Document where these live. (ask [[User:Pbrook]])<br />
<br />
== DNS and DHCP ==<br />
<br />
Care should be taken to ensure that DHCP and both forward and reverse DNS entres are consistent when making changes.<br />
<br />
Internal DNS uses the .hackspace domain. It is implemented with bind9 on the gateway machine.<br />
<br />
The wired subnet is 172.31.26.0/24, and the wireless subnet is 172.31.27.0/24. Addresses are assigned by the ISC DHCP server on the gateway machine.<br />
<br />
== RFID Access System ==<br />
<br />
Access to the hackspace is controled by an RFID tag based system. It covers both the internal upstairs door and the external door shared with the Pedallers Arms.<br />
<br />
=== Door Locks ===<br />
<br />
Each door has an electronic lock, with RFID reader and a numeric keypad.<br />
<br />
Each unit includes battery backup provided by 8x AA NiMh rechargeable batteries. These should be sufficient to keep the lock operational for several days. The batteries are trickle charged when external power is present.<br />
<br />
The door locks communicate with the server using a custom serial protocol. Power (12v) and data (rs232) are supplied over a single 5-pin DIN connector. The cabling is the same as (but not electrically compatible with) a MIDI cable.<br />
<br />
Logging, updating the list of approved tags, and other functions are achieved by communicating with the daemon on the server. The serial protocol is documented in the arduino source code.<br />
<br />
The lock stores a set of RFID tag/PIN pairs in non-volatile storage. In the event of a server/power failure the lock will continue to operate automously.<br />
<br />
The upstairs lock includes a second RFID reader on the inside of the room. This allows members to tag out as they leave.<br />
<br />
=== RFID/NFC Cards ===<br />
<br />
The cards work on 13.56Mhz and are MiFare Classic 1000 ISO 14443-3A standard compliant. These are usually purchased from aliexpress.<br />
<br />
=== Auxiliary Arduino ===<br />
<br />
The blue box on top of the server cab provides connectivity between the server and other systems. It contains:<br />
* An arduino with temperature readings and MOSFET to control the space open sign. Historically this provided other functions, however these are no longer used, and probably broken.<br />
* A pair of USB-serial modules with RS232 level shifters for doorlock communication<br />
* USB hub. The serial devices do not have useful serial numbers, so are identified based on which port they are connected to.<br />
* 12v 2.5A DC power brick. While average power draw is fairly low, peak power draw of the door lock solenoid is ~1A.<br />
<br />
=== Space Open Sign ===<br />
<br />
The illuminated sign at the top of the stairs is turned on when the space is open. The LEDs are wired to operate off a 12v supply.<br />
<br />
=== Space management daemon (doord) ===<br />
<br />
The doord daemon provides several functions:<br />
* Control of door locks<br />
* Control of the auviliary Arduino<br />
* Scanning ARP entires to determine presence of machines on the network.<br />
* Logging<br />
* Opening and closing the space<br />
* Database management for door locks and space state<br />
* IRC messages<br />
<br />
=== Space state logic ===<br />
<br />
The space will open when the door is unlocked (this requires valid RFID tag and PIN).<br />
<br />
When the space has been opened by a keyholder, any member can open the door with their RFID tag. No PIN is required.<br />
<br />
When the space is open to the public the door can be opened by pressing '#'. Public access also requires the space to have been opened by a keyholder.<br />
<br />
The space will close if the door is closed and no members are present (determined by network devices or recently scanned RFID tags).<br />
<br />
Scanning a tag on the inside of the upstairs doorlock will caused that member to be immediately logged out. If there are no other members present then the space will close. Pressing the '*' key on the keypad within a few seconds will cause all members to be logged out, and the space to close immediately.<br />
<br />
=== Public Open Days/Evening ===<br />
<br />
A public open evening is hardcoded for Tuesday from 5pm. This assumption is present in both doord.py and gateway/www/status.php.<br />
<br />
Other public open days can be added via the <code>open_days</code> database table.<br />
<br />
In both cases public access is conditional on the space already being open, so it if nobody turns (or the keyholder is late) the building should still be secure.<br />
<br />
== External webserver ==<br />
<br />
The external webserver for leedshackspace.org.uk lives in Nav's loft on the end of his DSL connection. This needs to be moved to a properly hosted system. A migration process in underway to move to a dedicated server, which is being documented in [[New VM Migration]].<br />
<br />
=== VPN ===<br />
<br />
Connectivity between the machine in the hackspace (gateway.hackspace) and the external webserver (leedshackspace.org.uk) is provided by and OpenVPN tunnel. The tunnel is initiated by gateway. The VPN is used for querying doord running on the internal server for the space status for the IRC bot and website, and for proxying requests for webcam images.<br />
<br />
== IRC ==<br />
<br />
The IRC bot is based upon [https://github.com/RJ/irccat irccat].<br />
<br />
This is a horrible mess of xml configuration files, Java, and scripts written in a variety of languages. It also accepts messages via a TCP socket, which are then passed on to the IRC channels.<br />
<br />
Marvin is mainly situated in <code>/usr/local/src/irccat</code> on the web server running on a VPS.<br />
<br />
Parts of this bot are everywhere, the code is out of date, not currently version controlled and is in a (bit of a) mess.<br />
<br />
The bot is setup to join #leeds-hack-space and #leedshackspace as '''Marvin_P_Droid''' on freenode IRC, with #leeds-hack-space set as the primary channel in the irccat config xml file.<br />
<br />
=== IRC Bot Commands ===<br />
<br />
Commands can be run from either the irc channel #leeds-hack-space or they can be /msg sent to Marvin_P_Droid.<br />
<br />
Commands are directly executed from their script names, this is why you have to be careful what you put in the <code>commands</code> folder and it may be best to have a 'command' filename that just refers to other script file names that are stored in sub folders. They are stored in <code>/usr/local/src/irccat/commands</code>.<br />
<br />
Most of these commands date from before we moved into our current space (Mabgate Green), and many of them are broken.<br />
<br />
{| class="wikitable"<br />
! style="text-align:left;"| Command<br />
! style="text-align:left;"| Description<br />
|-<br />
|?status<br />
|Show whether the space is open, and if so, who's there<br />
|-<br />
|?rules<br />
|List the Hackspace rules<br />
|-<br />
|?space, ?mars, ?galaxy<br />
|Show how many humans are in space (and how many harpoons)<br />
|-<br />
|?phone<br />
|Show the Hackspace phone number<br />
|-<br />
|?moo<br />
|Have a cow reply to you<br />
|-<br />
|?harpoons<br />
|Show how many harpoons are in space<br />
|-<br />
|?idea<br />
|<br />
|-<br />
|?noidea<br />
|<br />
|-<br />
|?xyzzy<br />
|Magic<br />
|}</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Space&diff=1807Space2017-08-06T18:12:48Z<p>Alex: Add outdated notice</p>
<hr />
<div>{{Outdated|The photo is of Mabgate Green hackspace; we are now in Sheepscar House hackspace. We also now have more equipment.}}<br />
<br />
[[File:Hackspace-Internal.jpg|thumb|Leeds Hackspace - Interior]] We have approximately 1000 square feet of space with areas for the workshop, computing, electronics, general hackery and just relaxing as well as a well stocked tuck shop with tea and coffee facilities.<br />
<br />
== Facilities ==<br />
<br />
'''Entertainment'''<br />
* XBMC Media PC<br />
* [[WiFi-HiFi]]<br />
* Wii, PS2, PS3, Xbox<br />
* Amstrad, Commodore 64<br />
* BBC Micro<br />
<br />
'''Kitchen:'''<br />
* Microwave<br />
* Fridge<br />
* Freezer<br />
* Oven<br />
* RAIC (Redundant Array of Inexpensive Coffee-machines)<br />
* Kettle<br />
* Mugs<br />
* Plates<br />
* Cutlery<br />
<br />
'''Office:'''<br />
* [[TV|Wall screen for space info]]<br />
* Lots of PCs. Wired and wireless internet connectivity is available.<br />
* A large pile of donated stuff for using in projects - see [[Inventory]]<br />
* Noticeboard<br />
* Whiteboards<br />
<br />
'''Workshop:'''<br />
* Plenty of bench space<br />
* Assorted hand tools<br />
* Small selection of power tools<br />
* Pillar drill<br />
* Lathe<br />
* Laser cutter<br />
* CNC machine<br />
* Arc welder</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Space&diff=1806Space2017-08-06T18:10:20Z<p>Alex: </p>
<hr />
<div>[[File:Hackspace-Internal.jpg|thumb|Leeds Hackspace - Interior]] We have approximately 1000 square feet of space with areas for the workshop, computing, electronics, general hackery and just relaxing as well as a well stocked tuck shop with tea and coffee facilities.<br />
<br />
== Facilities ==<br />
<br />
'''Entertainment'''<br />
* XBMC Media PC<br />
* [[WiFi-HiFi]]<br />
* Wii, PS2, XBox<br />
* Amstrad, Commodore 64<br />
* BBC Micro<br />
<br />
'''Kitchen:'''<br />
* Microwave<br />
* 2 Fridges<br />
* Freezer<br />
* RAIC (Redundant Array of Inexpensive Coffee-machines)<br />
* Kettle<br />
* Mugs<br />
* Plates<br />
* Cutlery<br />
<br />
'''Office:'''<br />
* [[TV|Wall screen for space info]]<br />
* Lots of PCs. Wired and wireless internet connectivity is available.<br />
* A large pile of donated stuff for using in projects - see [[Inventory]]<br />
* Noticeboard<br />
* Whiteboards<br />
<br />
'''Workshop:'''<br />
* Plenty of bench space<br />
* Assorted hand tools<br />
* Small selection of power tools<br />
* Pillar drill<br />
* Lathe<br />
* Laser cutter<br />
* CNC machine<br />
* Arc welder</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Projects/Card_Printer&diff=1795Projects/Card Printer2017-07-11T22:03:54Z<p>Alex: Created page with "Card Printer We have acquired a Fargo Persona C11 card printer. It works, and can be printed to from a PC over a parallel connection. The drivers only..."</p>
<hr />
<div>[[Category:In_Progress|Card Printer]]<br />
We have acquired a Fargo Persona C11 card printer. It works, and can be printed to from a PC over a parallel connection. The drivers only work on Windows XP, but we have found a laptop that has XP installed and has a parallel port.<br />
<br />
The goal is to get the printer set up so that we can print designs on membership cards that have people's names and possibly photos on them.<br />
<br />
[[User:Alex|Alex]] and Samson are working on it.<br />
<br />
[http://www.intraproc.com/downloads/Fargo/x%C3%84ltere%20Modelle/C11/Manual/C11.pdf Manual]<br />
<br />
[http://www.driverguide.com/driver/detail.php?driverid=359108 Driver (Windows XP only)]</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Leeds_Hackspace&diff=1729Leeds Hackspace2017-05-07T15:22:07Z<p>Alex: </p>
<hr />
<div>'''If you want a Wiki account please ask on IRC or via email to the mailing list or the e-mail below.'''<br />
<br />
{|style="width: 100%;"|<br />
| style="width: 50%;"|{{Box-round|title= About the [[Space]]|<br />
<br />
Leeds Hackspace is a workshop space for people that like making things, are curious about how stuff works, or would like to learn new skills. <br />
<br />
Membership is open to all and we are a not-for-profit organisation entirely run by its community. <br />
<br />
We are interested in technology (both new and old) but are also a social group of people who enjoy talking and bouncing ideas/questions off of one another.<br />
<br />
Everyone is welcome (and encouraged) to have a wiki account. Please ask in IRC/Slack or email the directors.<br />
}}<br />
{{Box-round|title= Contact Info|<br />
* Email: [mailto:info@leedshackspace.org.uk info@leedshackspace.org.uk]<br />
* Google Group: [https://groups.google.com/forum/#!forum/leeds-hack-space Leeds Hackspace Google Group]<br />
* IRC: [irc://irc.freenode.net/leeds-hack-space #leeds-hack-space] on [https://freenode.net/ Freenode.net]<br />
* Slack: bridges to IRC. See [[Slack]] for details<br />
* Twitter: [https://twitter.com/leedshackspace @leedshackspace]<br />
* Facebook : [https://www.facebook.com/LeedsHackSpace Leeds Hackspace Facebook Page]<br />
}}<br />
{{Box-round|title=Projects|<br />
* [[:Category:Ideas|Project ideas]]<br />
* [[:Category:Planning|Planned projects]]<br />
* [[:Category:In_Progress|Projects in progress]]<br />
* [[:Category:Completed|Completed projects]]<br />
<br />
Notable projects:<br />
* [[BeagleboneChallenge]]<br />
* [[MendelMax]]<br />
* [[Projects/Nav_Bot_I|NavBot I]]<br />
* [[Projects/Nav_Bot_II|NavBot II]]<br />
* [[Projects/FlightSimHardware|Flight Simulator Hardware]]<br />
* [[Marvin_P_Droid|Marvin]]<br />
* [[LED Cubes]]<br />
}}<br />
| style="width: 50%;"|{{Box-round|title=Location|<br />
Unit 14 Sheepscar House<br />
Sheepscar Street South<br />
Leeds<br />
LS7 1AD<br />
<br />
(Next to Enterprise Rent-a-car, through the gate!)<br />
}}<br />
{{Box-round|title= Access and Opening Times|<br />
* Open Nights: 7pm Onwards, Tuesdays<br />
* Open Days: 2nd Saturday of the month from 11am-4pm<br />
* Viewings by appointment<br />
* Member Access: 24/7 (with RFID & PIN) <br />
* [https://wiki.leedshackspace.org.uk/wiki/Access_Control RFID Door Access User Guide]<br />
}}<br />
{{Box-round|title=Resources|<br />
* About the [[Space]]<br />
* [[Workshop]]<br />
* [[Electronics]] workshop<br />
* [[Tuck Shop]]<br />
* [[Components]]<br />
* [[BoxOfBits|Bits for sale]]<br />
* [[Scrapheap]] - virtual swapfest<br />
* [[The Rules]]<br />
* [[Suppliers]]<br />
* [[Training and Educational]]<br />
* [[Hackspace Branding|Logo/Branding]]<br />
}}<br />
|-<br />
| colspan=2 |{{Box-round|title=LHS Around the Internet|<br />
* '''Mailing List''' - (the main point of contact) - http://groups.google.co.uk/group/leeds-hack-space<br />
* '''IRC''' - (#leeds-hack-space on irc.freenode.org) - [http://bit.do/lhs-irc online IRC client]<br />
* '''Twitter''' - (For meeting updates and general coolness alerts) - http://twitter.com/leedshackspace<br />
* '''Our Blog''' - http://leedshackspace.org.uk [http://leedshackspace.org.uk/atom RSS]<br />
}}<br />
<br />
|}</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Leeds_Hackspace&diff=1728Leeds Hackspace2017-05-07T15:21:20Z<p>Alex: From resource, remove wifi-hifi (it's switched off); add branding/logo</p>
<hr />
<div>'''If you want a Wiki account please ask on IRC or via email to the mailing list or the e-mail below.'''<br />
<br />
{|style="width: 100%;"|<br />
| style="width: 50%;"|{{Box-round|title= About the [[Space]]|<br />
<br />
Leeds Hackspace is a workshop space for people that like making things, are curious about how stuff works, or would like to learn new skills. <br />
<br />
Membership is open to all and we are a not-for-profit organisation entirely run by its community. <br />
<br />
We are interested in technology (both new and old) but are also a social group of people who enjoy talking and bouncing ideas/questions off of one another.<br />
<br />
Everyone is welcome (and encouraged) to have a wiki account. Please shout in IRC or email the directors.<br />
}}<br />
{{Box-round|title= Contact Info|<br />
* Email: [mailto:info@leedshackspace.org.uk info@leedshackspace.org.uk]<br />
* Google Group: [https://groups.google.com/forum/#!forum/leeds-hack-space Leeds Hackspace Google Group]<br />
* IRC: [irc://irc.freenode.net/leeds-hack-space #leeds-hack-space] on [https://freenode.net/ Freenode.net]<br />
* Slack: bridges to IRC. See [[Slack]] for details<br />
* Twitter: [https://twitter.com/leedshackspace @leedshackspace]<br />
* Facebook : [https://www.facebook.com/LeedsHackSpace Leeds Hackspace Facebook Page]<br />
}}<br />
{{Box-round|title=Projects|<br />
* [[:Category:Ideas|Project ideas]]<br />
* [[:Category:Planning|Planned projects]]<br />
* [[:Category:In_Progress|Projects in progress]]<br />
* [[:Category:Completed|Completed projects]]<br />
<br />
Notable projects:<br />
* [[BeagleboneChallenge]]<br />
* [[MendelMax]]<br />
* [[Projects/Nav_Bot_I|NavBot I]]<br />
* [[Projects/Nav_Bot_II|NavBot II]]<br />
* [[Projects/FlightSimHardware|Flight Simulator Hardware]]<br />
* [[Marvin_P_Droid|Marvin]]<br />
* [[LED Cubes]]<br />
}}<br />
| style="width: 50%;"|{{Box-round|title=Location|<br />
Unit 14 Sheepscar House<br />
Sheepscar Street South<br />
Leeds<br />
LS7 1AD<br />
<br />
(Next to Enterprise Rent-a-car, through the gate!)<br />
}}<br />
{{Box-round|title= Access and Opening Times|<br />
* Open Nights: 7pm Onwards, Tuesdays<br />
* Open Days: 2nd Saturday of the month from 11am-4pm<br />
* Viewings by appointment<br />
* Member Access: 24/7 (with RFID & PIN) <br />
* [https://wiki.leedshackspace.org.uk/wiki/Access_Control RFID Door Access User Guide]<br />
}}<br />
{{Box-round|title=Resources|<br />
* About the [[Space]]<br />
* [[Workshop]]<br />
* [[Electronics]] workshop<br />
* [[Tuck Shop]]<br />
* [[Components]]<br />
* [[BoxOfBits|Bits for sale]]<br />
* [[Scrapheap]] - virtual swapfest<br />
* [[The Rules]]<br />
* [[Suppliers]]<br />
* [[Training and Educational]]<br />
* [[Hackspace Branding|Logo/Branding]]<br />
}}<br />
|-<br />
| colspan=2 |{{Box-round|title=LHS Around the Internet|<br />
* '''Mailing List''' - (the main point of contact) - http://groups.google.co.uk/group/leeds-hack-space<br />
* '''IRC''' - (#leeds-hack-space on irc.freenode.org) - [http://bit.do/lhs-irc online IRC client]<br />
* '''Twitter''' - (For meeting updates and general coolness alerts) - http://twitter.com/leedshackspace<br />
* '''Our Blog''' - http://leedshackspace.org.uk [http://leedshackspace.org.uk/atom RSS]<br />
}}<br />
<br />
|}</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=WiFi-HiFi&diff=1727WiFi-HiFi2017-05-07T15:17:54Z<p>Alex: Mark outdated since move to Sheepscar</p>
<hr />
<div>{{Outdated|The WiFi-HiFi is not set up in our new premises on Sheepscar Street yet.}}<br />
<br />
[[Image:Wfhfqrv5.svg|right|111px|WiFi-HiFi logo]]<br />
The WiFi-HiFi musicates the space. Running [http://www.musicpd.org/ mpd], it can play most formats including internet radio streams.<br />
<br />
It's often playing Planet Rock, sadly.<br />
<br />
== Connection ==<br />
<br />
The server is wifihifi.hackspace (172.31.26.12). It has a [http://wifihifi.hackspace/ web interface] (ympd).<br />
<br />
No authentication is required, but you'll need to be on the hackspace network in order to connect.<br />
<br />
== Clients ==<br />
<br />
* Linux users will probably find gmpc is available in their standard software repo.<br />
* OS X users can try [https://github.com/TheStalwart/Theremin Theremin].<br />
* Windows users can get gmpc [http://gmpc.wikia.com/wiki/Installation_Win32 here].<br />
<br />
Other clients can be found on the [http://mpd.wikia.com/wiki/Clients mpd wiki].<br />
<br />
== Music Storage ==<br />
<br />
Music in the library is stored on the [[NAS]], and currently is organised into directories based on who copied it there. If you add more music, mpd will need a library refresh triggering.</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Slack&diff=1716Slack2017-04-27T09:38:12Z<p>Alex: </p>
<hr />
<div>We are currently using Slack on a trial basis as a better interface to our IRC channel.<br />
<br />
Our Slack channel is intended to be used as a bridge to our IRC channel, providing better support for mobile users, and modern features like auto-expanding images and web links. There is no plan to fully migrate to Slack.<br />
<br />
It's best to avoid using Slack features that aren't accessible to IRC users, such as creating other channels.<br />
<br />
<br />
== Get an invite ==<br />
<br />
Head to [http://slack.leedshackspace.org.uk/ this handy page] in order to receive an invite to our Slack "team".<br />
<br />
== Download Slack apps for your devices ==<br />
<br />
Slack is available as a [https://slack.com/downloads download] for most popular platforms, including Windows, Linux, OS X, Android and iOS.<br />
<br />
== Slack trial ==<br />
<br />
Evaluation of the Slack trial can be found [[Slack Trial|here]]<br />
<br />
== IRC mirroring ==<br />
We have a bot that mirrors conversation between Slack and IRC, allowing people on either platform to talk to each other. Images uploaded to Slack are automatically mirrored to Imgur for the benefit of IRC users. Joins and parts are not shown in Slack as it'd generate too much noise in the channel.</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=File:LogoOrig.svg&diff=1678File:LogoOrig.svg2017-02-21T23:31:39Z<p>Alex: </p>
<hr />
<div>This logo should no longer be used, please see [[Hackspace Branding]] for the current logo.</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Hackspace_Branding&diff=1677Hackspace Branding2017-02-21T23:27:44Z<p>Alex: </p>
<hr />
<div>This page documents branding of Leeds Hackspace to be used on official marketing materials, flyers, signage etc.<br />
<br />
== Leeds Hackspace logo ==<br />
<br />
[https://drive.google.com/open?id=0B9eO205Lr0r-dXNaYjBLRjdMNm8 Download our logo pack]. The pack includes colour and monochrome versions of the logo, as well as more detailed guidelines around usage of the logo.<br />
<br />
Our logo is composed of the Hackspace "H" in a circle, and our name "Leeds Hackspace":<br />
<br />
[[File:LHS-Colour.svg|600px]]<br />
<br />
Where the name of the Hackspace is implied, the "H" glyph can be used on its own:<br />
<br />
<br />
[[File:LHS-Colour-glyph.svg|200px]]<br />
<br />
<br />
The colour versions of the logo should always be shown in Hackspace Blue and black, on a solid white background. If you'd like to use the logo on a coloured or dark background, there are monochrome versions of the logo included in the logo pack, which can be downloaded above. These can be used in any colour.<br />
<br />
== Hackspace Blue colour ==<br />
The blue colour is close to "Hippie Blue"<br />
<br />
RGB (for screen): 97, 148, 188 (#6194BC)<br />
<br />
CMYK (for print): 64%, 33% 12%, 0%<br />
<br />
Pantone: PANTONE solid uncoated, 542 U<br />
<br />
== Typeface ==<br />
<br />
The typeface used in the logo is [https://fonts.google.com/specimen/Cairo Cairo], a free open-source font from Google Fonts.<br />
<br />
<br />
<br />
[[Category:Marketing]]</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Hackspace_Branding&diff=1676Hackspace Branding2017-02-21T23:27:32Z<p>Alex: </p>
<hr />
<div>This page documents branding of Leeds Hackspace to be used on official marketing materials, flyers, signage etc.<br />
<br />
== Leeds Hackspace Logo ==<br />
<br />
[https://drive.google.com/open?id=0B9eO205Lr0r-dXNaYjBLRjdMNm8 Download our logo pack]. The pack includes colour and monochrome versions of the logo, as well as more detailed guidelines around usage of the logo.<br />
<br />
Our logo is composed of the Hackspace "H" in a circle, and our name "Leeds Hackspace":<br />
<br />
[[File:LHS-Colour.svg|600px]]<br />
<br />
Where the name of the Hackspace is implied, the "H" glyph can be used on its own:<br />
<br />
<br />
[[File:LHS-Colour-glyph.svg|200px]]<br />
<br />
<br />
The colour versions of the logo should always be shown in Hackspace Blue and black, on a solid white background. If you'd like to use the logo on a coloured or dark background, there are monochrome versions of the logo included in the logo pack, which can be downloaded above. These can be used in any colour.<br />
<br />
== Hackspace Blue colour ==<br />
The blue colour is close to "Hippie Blue"<br />
<br />
RGB (for screen): 97, 148, 188 (#6194BC)<br />
<br />
CMYK (for print): 64%, 33% 12%, 0%<br />
<br />
Pantone: PANTONE solid uncoated, 542 U<br />
<br />
== Typeface ==<br />
<br />
The typeface used in the logo is [https://fonts.google.com/specimen/Cairo Cairo], a free open-source font from Google Fonts.<br />
<br />
<br />
<br />
[[Category:Marketing]]</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Hackspace_Branding&diff=1675Hackspace Branding2017-02-21T23:26:50Z<p>Alex: </p>
<hr />
<div>This page documents official branding of Leeds Hackspace to be used on official marketing materials, flyers, signage etc.<br />
<br />
== Leeds Hackspace Logo ==<br />
<br />
[https://drive.google.com/open?id=0B9eO205Lr0r-dXNaYjBLRjdMNm8 Download our logo pack]. The pack includes colour and monochrome versions of the logo, as well as more detailed guidelines around usage of the logo.<br />
<br />
Our logo is composed of the Hackspace "H" in a circle, and our name "Leeds Hackspace":<br />
<br />
[[File:LHS-Colour.svg|600px]]<br />
<br />
Where the name of the Hackspace is implied, the "H" glyph can be used on its own:<br />
<br />
<br />
[[File:LHS-Colour-glyph.svg|200px]]<br />
<br />
<br />
The colour versions of the logo should always be shown in Hackspace Blue and black, on a solid white background. If you'd like to use the logo on a coloured or dark background, there are monochrome versions of the logo included in the logo pack, which can be downloaded above. These can be used in any colour.<br />
<br />
== Hackspace Blue colour ==<br />
The blue colour is close to "Hippie Blue"<br />
<br />
RGB (for screen): 97, 148, 188 (#6194BC)<br />
<br />
CMYK (for print): 64%, 33% 12%, 0%<br />
<br />
Pantone: PANTONE solid uncoated, 542 U<br />
<br />
== Typeface ==<br />
<br />
The typeface used in the logo is [https://fonts.google.com/specimen/Cairo Cairo], a free open-source font from Google Fonts.<br />
<br />
<br />
<br />
[[Category:Marketing]]</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Hackspace_Branding&diff=1674Hackspace Branding2017-02-21T23:18:00Z<p>Alex: </p>
<hr />
<div>Leeds Hackspace does have 'Branding' but it is representational of the Hackspace and its currently growing state. We encourage everyone to modify the Hackspace Marketing Materials to fit their needs, but official places like the social media accounts and flyers will use more of the branding guidelines.<br />
<br />
== Leeds Hackspace Logo ==<br />
<br />
[https://drive.google.com/open?id=0B9eO205Lr0r-dXNaYjBLRjdMNm8 Download our logo pack]. The pack includes colour and monochrome versions of the logo, as well as more detailed guidelines around usage of the logo.<br />
<br />
Our logo is composed of the Hackspace "H" in a circle, and our name "Leeds Hackspace":<br />
<br />
[[File:LHS-Colour.svg|600px]]<br />
<br />
Where the name of the Hackspace is implied, the "H" glyph can be used on its own:<br />
<br />
<br />
[[File:LHS-Colour-glyph.svg|200px]]<br />
<br />
<br />
The colour versions of the logo should always be shown in Hackspace Blue and black, on a solid white background. If you'd like to use the logo on a coloured or dark background, there are monochrome versions of the logo included in the logo pack, which can be downloaded above. These can be used in any colour.<br />
<br />
== Hackspace Blue colour ==<br />
The blue colour is close to "Hippie Blue"<br />
<br />
RGB (for screen): 97, 148, 188 (#6194BC)<br />
<br />
CMYK (for print): 64%, 33% 12%, 0%<br />
<br />
Pantone: PANTONE solid uncoated, 542 U<br />
<br />
== Typeface ==<br />
<br />
The typeface used in the logo is [https://fonts.google.com/specimen/Cairo Cairo], a free open-source font from Google Fonts.<br />
<br />
<br />
<br />
[[Category:Marketing]]</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Hackspace_Branding&diff=1673Hackspace Branding2017-02-21T23:08:47Z<p>Alex: </p>
<hr />
<div>Leeds Hackspace does have 'Branding' but it is representational of the Hackspace and its currently growing state. We encourage everyone to modify the Hackspace Marketing Materials to fit their needs, but official places like the social media accounts and flyers will use more of the branding guidelines.<br />
<br />
== Leeds Hackspace Logo ==<br />
<br />
[https://drive.google.com/open?id=0B9eO205Lr0r-dXNaYjBLRjdMNm8 Download our logo pack]. The pack includes colour and monochrome versions of the logo, as well as more detailed guidelines around usage of the logo.<br />
<br />
Our logo is composed of the Hackspace "H" in a circle, and our name "Leeds Hackspace":<br />
<br />
[[File:LHS-Colour.svg|600px]]<br />
<br />
Where the name of the Hackspace is implied, the "H" glyph can be used on its own:<br />
<br />
<br />
[[File:LHS-Colour-glyph.svg|200px]]<br />
<br />
<br />
The colour versions of the logo should always be shown in Hackspace Blue and black, on a solid white background. If you'd like to use the logo on a coloured or dark background, there are monochrome versions of the logo included in the logo pack, which can be downloaded above. These can be used in any colour.<br />
<br />
== Hackspace Blue colour ==<br />
The blue colour is close to "Hippie Blue"<br />
<br />
CMYK (for print): 64%, 33% 12%, 0%<br />
<br />
Pantone: PANTONE solid uncoated, 542 U<br />
<br />
RGB (for screen): 97, 148, 188 (#6194BC)<br />
<br />
<br />
<br />
[[Category:Marketing]]</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=File:LHS-Colour.svg&diff=1672File:LHS-Colour.svg2017-02-21T22:39:48Z<p>Alex: Leeds Hackspace logo, colour, SVG</p>
<hr />
<div>Leeds Hackspace logo, colour, SVG</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Workshop&diff=1671Workshop2017-02-21T22:26:14Z<p>Alex: Update links to remove "Workshop/" prefix for pages that have been moved</p>
<hr />
<div>[[File:Workshop_Pano.jpg|1024px]]<br />
{|<br />
|-<br />
|{{Box-round|title=[[Lathe|Lathe]]<br />
|[[File:Lathe-workshop-page.jpg|300px|link=Lathe]]}}<br />
|{{Box-round|title=[[CNC Mill]]|[[File:Cnc-milling.jpg|300px|link=CNC_Mill]]}}<br />
|{{Box-round|title=[[Laser_Cutter|Laser Cutter]]<br />
|[[File:NewLaser-workshop-page.jpg|300px|link=Laser_Cutter]]}}<br />
|-<br />
|{{Box-round|title=[[Band_Saw|Band Saw]]<br />
|[[File:Bandsaw.jpg|170px|link=Band_Saw]]}}<br />
|{{Box-round|title=[[Workshop/Bench_Drill|Bench Drill]]<br />
|[[File:drill-press-overview.jpg|300px|link=Workshop/Bench_Drill]]}}<br />
|{{Box-round|title=[[Workshop/Bench_Grinder_&_Sander|Bench Grinder & Sander]]<br />
|[[File:BenchGrinder.jpg|300px|link=Workshop/Bench_Grinder_&_Sander]]}}<br />
|-<br />
|{{Box-round|title=[[Projects/MendelMax|MendelMax 3D printer]]<br />
|[[File:MendelMax.jpg|200px|link=Projects/MendelMax]]}}<br />
|{{Box-round|title=[[Power_Hacksaw|Power Hacksaw]]<br />
|[[File:Hacksaw.jpg|300px|link=Power_Hacksaw]]}}<br />
|{{Box-round|title=[[Heat_Press|Heat Press]]<br />
|[[File:HeatPress.jpg|189px|link=Heat_Press]]}}<br />
|-<br />
|{{Box-round|title=[[Workshop/Router|Router]]<br />
|[[File:Router.jpg|300px|link=Workshop/Router]]}}<br />
|{{Box-round|title=[[Air_Compressor|Air Compressor]]<br />
|[[File:Compressor.jpg|300px|link=Air_Compressor]]}}<br />
|{{Box-round|title=[[Workshop/Vacuum_Former|Vacuum Former]]<br />
|[[File:Formech-300x-pre-refit.jpg|300px|link=Workshop/Vacuum_Former]]}}<br />
|-<br />
|{{Box-round|title=[[Vinyl Cutter]]<br />
|[[File:VinylCutter.jpg|300px|link=Vinyl_Cutter]]}}<br />
|}<br />
<br />
== Tools we'd like ==<br />
* Wood Lathe<br />
<br />
<br />
== Tools we're getting ==<br />
* Mug Press (Will be on loan from CuppaMatt come June)<br />
* Sublimation Printer (Will be on loan from CuppaMatt come June)<br />
Suggestions?<br />
<br />
== Small unexciting tools we have ==<br />
<br />
===powered===<br />
<br />
* Soldering Irons<br />
* Hand drills<br />
* battery grinder<br />
<br />
=== unpowered ===<br />
* screwdrivers<br />
* spanners<br />
* tin snips (l,r,s)<br />
<br />
== Consumables ==<br />
* [[Workshop/Consumables|Nuts & bolts]]<br />
<br />
<br />
[[Category:Tools_and_Equipment]]</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=File:LHS-Colour-glyph.svg&diff=1670File:LHS-Colour-glyph.svg2017-02-21T22:18:28Z<p>Alex: Leeds Hackspace logo glyph, colour SVG</p>
<hr />
<div>Leeds Hackspace logo glyph, colour SVG</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=File:LHS-Colour.png&diff=1669File:LHS-Colour.png2017-02-21T22:17:52Z<p>Alex: Leeds Hackspace logo, colour</p>
<hr />
<div>Leeds Hackspace logo, colour</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Hackspace_Branding&diff=1668Hackspace Branding2017-02-21T22:10:16Z<p>Alex: </p>
<hr />
<div>Leeds Hackspace does have 'Branding' but it is representational of the Hackspace and its currently growing state. We encourage everyone to modify the Hackspace Marketing Materials to fit their needs, but official places like the social media accounts and flyers will use more of the branding guidelines.<br />
<br />
== Leeds Hackspace Logo ==<br />
<br />
Officially our logo is the standard H in a light blue circle its used on walls, leaflets, online and everywhere!<br />
<br />
[[File:LogoOrig.svg|200px]]<br />
The logo SVG, which will scale to any size you need. Please use this file whenever possible. <br />
<br />
The logo must always be represented in light blue, with the exception of items printed as B/W.<br />
The logo can also be used as an inverted version, where by the H itself and the outside is distinctly different.<br />
<br />
== Hackspace Colour ==<br />
The blue colour is close to "Hippie Blue"<br />
<br />
CMYK (for print)<br />
C-64 M-26 Y-18 K-0<br />
<br />
PANTONE+ Solid Coated<br />
Pantone 7696 C <br />
<br />
RGB (for screen)<br />
R-95 G-158 B-187<br />
RGB Hex - 5f9ebb<br />
<br />
There will always be a difference between printers and screens, so don't worry about it too much.<br />
<br />
<br />
[[Category:Marketing]]</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Slack&diff=1651Slack2017-02-07T15:08:45Z<p>Alex: Use Hackspace-hosted inviter instead of Martyn's</p>
<hr />
<div>We are currently using Slack on a trial basis as a better interface to our IRC channel.<br />
<br />
Our Slack channel is intended to be used as a bridge to our IRC channel, providing better support for mobile users, and modern features like auto-expanding images and web links. There is no plan to fully migrate to Slack.<br />
<br />
It's best to avoid using Slack features that exclude IRC users, such as creating other channels.<br />
<br />
<br />
== Get an invite ==<br />
<br />
Head to [http://slack.leedshackspace.org.uk/ this handy page] in order to receive an invite to our Slack "team".<br />
<br />
== Download Slack apps for your devices ==<br />
<br />
Slack is available as a [https://slack.com/downloads download] for most popular platforms, including Windows, Linux, OS X, Android and iOS.<br />
<br />
== IRC mirroring ==<br />
We have a bot that mirrors conversation between Slack and IRC, allowing people on either platform to talk to each other. Images uploaded to Slack are automatically mirrored to Imgur for the benefit of IRC users. Joins and parts are not shown in Slack as it'd generate too much noise in the channel.</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Electronics&diff=1647Electronics2017-02-01T16:31:28Z<p>Alex: Add link to Awesome Electronics</p>
<hr />
<div>Here you'll find details about the Electronics workshop, what test equipment we have and any available documentation.<br />
<br />
== Safety ==<br />
<br />
[[Electronics/safety|You must read the safety documentation in this link before using the equipment.]] <br />
<br />
Safety is key, do not take un-necessary risks. You are in an environment with inexperienced people around you. Be considerate of everyone's safety. <br />
<br />
== Equipment ==<br />
<br />
[[File:ElecWorkshop_Pano.jpg|1024px]]<br />
{|<br />
|-<br />
|{{Box-round|title=[[Electronics/RigolDS1074Z-S-PLUS|Rigol DS1074Z-S PLUS Oscilloscope]]<br />
|[[File:RigolDS1074Z-S-PLUS.JPG|300px|link=Electronics/RigolDS1074Z-S-PLUS]]}}<br />
|{{Box-round|title=[[Electronics/LA3200|LA3200 32 Channel Logic Analyzer]]<br />
|[[File:Thurlby LA3200 Logic Analyser.JPG|300px|link=Electronics/LA3200]]}}<br />
|{{Box-round|title=[[Electronics/OX800|ITT Metrix OX-800 Analogue CRT Oscilloscope]]<br />
|[[File:ITT OX800.JPG|300px|link=Electronics/OX800]]}}<br />
|-<br />
|{{Box-round|title=[[Electronics/HM203-7|Hameg HM203-7 Analogue CRT Oscilloscope]]<br />
|[[File:HamegHM203-7.JPG|300px|link=Electronics/HM203-7]]}}<br />
|{{Box-round|title=[[Electronics/GDS-820S|GW Instek GDS-820S Digital Oscilloscope (FAULTY)]]<br />
|[[File:InstekGDS820S FrontView.JPG|300px|link=Electronics/GDS-820S]]}}<br />
|{{Box-round|title=[[Electronics/TL866A|TL866A Universal USB device programmer]]<br />
|[[File:TL866A.jpeg|300px|link=Electronics/TL866A]]}}<br />
|-<br />
|{{Box-round|title=[[Electronics/GM035-3|GM035-3 35V 3A Variable DC PSU]]<br />
|[[File:GM035-3 RegulatedDCPowerSupply.JPG|300px|link=Electronics/GM035-3]]}}<br />
|{{Box-round|title=[[Electronics/SolderAndReworkStation|Solder and Rework Station]]<br />
|[[File:SolderAndReworkStation.JPG|300px|link=Electronics/SolderAndReworkStation]]}}<br />
|{{Box-round|title=[[Electronics/TenmaSMDReworkSolderStation|Tenma SMD Rework Solder Station]]<br />
|[[File:TenmaReworkSolderStation.JPG|300px|link=Electronics/TenmaSMDReworkSolderStation]]}}<br />
|-<br />
|{{Box-round|title=[[Electronics/Tenma_72-8350_PSU|Tenma 72-8350 20V 5A Variable Digital PSU]]<br />
|[[File:Tenma72-8350_5A_PSU.JPG|169px|center|link=Electronics/Tenma_72-8350_PSU]]}}<br />
|{{Box-round|title=[[Electronics/Skytronic20V2ADCPSU|Skytronic 20V 2A Variable DC PSU]]<br />
|[[File:Skytronic20V2ADCPSU.JPG|300px|link=Electronics/Skytronic20V2ADCPSU]]}}<br />
|{{Box-round|title=[[Electronics/MaplinXM19V|Maplin 13.8V 7A Fixed DC PSU]]<br />
|[[File:MaplinXM19V RegulatedDCPowerSupply.JPG|300px|link=Electronics/MaplinXM19V]]}}<br />
|-<br />
|{{Box-round|title=[[Electronics/MegaLV202E|UV Exposure Unit Mega LV 202E]]<br />
|[[File:UVExposureUnitMegaLV202E.JPG|300px|link=Electronics/MegaLV202E]]}}<br />
|{{Box-round|title=[[Electronics/TenmaMiniSMDPreheater|Tenma Mini SMD Preheater]]<br />
|[[File:TenmaMiniSMDPreheater.JPG|300px|link=Electronics/TenmaMiniSMDPreheater]]}}<br />
|-<br />
|}<br />
<br />
== Other Equipment and Tools ==<br />
<br />
* Small oven for reflow of SMD PCBs using solder paste<br />
* Function generator - members project <br />
* Digital handheld multimeters, about 6 off, various types<br />
* Various oscilloscope probes, choose a probe with a larger bandwidth than the oscilloscope<br />
* Assortment of test leads<br />
* Various other soldering irons - about 5 by the last count<br />
* Bench lamp with magnifier<br />
* Magnifier headset <br />
* Tools<br />
* Wire of various sizes<br />
* [[Components|Components]] free for members use within reason and [[BoxOfBits|some to buy]] which are owned by members<br />
<br />
== PCB Board Etching ==<br />
<br />
Its great fun to etch your own PCBs. Unfortunately at present (2 April 2016) we do not encourage etching boards at the space due to various reasons including chemical disposal, though this may change over time. So please '''ask on the mailing list''' what the current status is. It is recognised that this would be a nice-to-do item. Update this section as soon as this changes!<br />
<br />
== Things we'd like ==<br />
<br />
* Full size antistatic table mats<br />
* Component sample books - SMD and TH, caps, res, inductors<br />
* PCB shears<br />
* Microscope<br />
* Bus pirates <br />
* PAT tester (newish or in cal)<br />
* Bench multimeter (eg 5 1/2 digits or more) <br />
* LCR meter<br />
* Power meter<br />
* Electronic DC Load<br />
* Current probes AC/DC scope and also meter types<br />
* Small pick n place<br />
* RF spectrum analyzer, 50 ohm, Hopefully with generator and return loss bridge (portable would be nice too:-) )<br />
* RF 50 ohm cal kit<br />
* RF frequency generators<br />
* RF power meter<br />
<br />
== External Resources ==<br />
<br />
A good list of various electronics resources (services, tools, learning) can be found here: [https://github.com/monostable/awesome-electronics Awesome Electronics].<br />
<br />
=== Schematic capture and layout packages ===<br />
<br />
There are too many Electronics (EDA) design packages to name, but a few of the more popular ones are listed below. <br />
* Eagle CAD - Arguably the most popular hobby/maker level package. Has a free version, but is limited in PCB size and layers. Available on Windows, Linux and Mac. A lot of PCB fabricators offer to take the raw eagle cad files to generate your PCBs instead of you having to generate gerbers. <br />
* KiCAD - Open source unlimited layers. Much improved over recent years. Available on Windows, Linux and Mac. <br />
* Others are fritzing (open source cross platform), Design spark, circuitmaker, <br />
<br />
=== Circuit Simulation ===<br />
<br />
* LTspice - Professional tool. Popular simulation software<br />
* Simmetrix - Professionsal tool. Free and paid for simulation software, node limited, but the limit is generous enough to use successfully<br />
* Various much simpler circuit simulation tools now exist <br />
<br />
=== PCB Fabrication Companies ===<br />
<br />
PCB fabrication is the act of making the PCB itself. <br />
<br />
Huge numbers of PCB fabricators exist. Here are a few of the low cost companies. Most will accept Eagle PCB files directly instead of sending gerber files. Some fabricators provide design rule constraints files (.dru for eagle) used for your layout design rule checks (DRC). You should obtain these or input them before you start your layout as they will stop layout issues. Others fabricators provide gerber output CAM setup files for eagle. For KiCAD you will often have to set this up manually or via a PCB template. OSH park has some simple KiCAD design rule information on their website. One final thing is that many manufactures have a 'design guide' which is useful in understanding PCB technology and limitations. <br />
* Ragworm - UK. low cost PCB company<br />
* OSH Park - US. Good for very small PCBs. Other companies produce cheaper larger PCBs. Has an excellent PCB viewer which you can use to see how your files will look when made. Worth using just for this feature. <br />
* Elecrow - China. Cheap PCBs in many colours - arguably the cheapest around <br />
* Seeed studio - China. Similar to elecrow<br />
* ITead studio - China. Similar to elecrow<br />
* [http://www.wedirekt.co.uk/en/ Wurth Direct] - EU. High quality PCBs, higher pricing than others. Overly complicated design rule constraints for each of their many different PCBs, but track/gap specifications are much improved over the other companies mentioned above. <br />
* [http://www.ladyada.net/library/pcb/manufacturers.html Lady Ada PCB fabricator list]<br />
* Various companies also make SMD stencils using, for example, mylar (cheap) or stainless steel (more professional long lasting)<br />
<br />
Note: If your design has tracking which requires specific impedance controlled lines eg R.F. or high speed digital tracks such as USB, SATA, ethernet etc. You '''need''' to be aware of the boards layer stackup before designing the PCB. Here is just one differential signal [http://www.mantaro.com/resources/impedance-calculator.htm Impedance Calculator]. Properly tested impedence controlled boards are more expensive. You can usually get things working reasonably well with normal boards if you set them up correctly at the design stage. <br />
<br />
=== PCB Assembly Companies ===<br />
<br />
PCB assembly means putting the components onto the PCB. <br />
<br />
We've no specific experience with low cost assembly companies to guide you with here. Though companies such as elecrow and other low cost PCB fabricators perform this service. Most PCB assembly companies have a stock of standard components. You will then supply the remainder of your components. Sometimes SMD reels are required and sometimes extra components are required due to losses when setting up the pick and place machines and ongoing losses due to dropped picks. If you are manufacturing small quantities with lowish component counts through hole is still an option, which many will hand assemble. In general you discuss these details with the assembly company before deciding whether you are right for each other. <br />
<br />
Be aware that if your a hobbyist or are making a very low volume products, you need a manufacturer who fits you and your requirements. Large volume manufacturers will be less interested in you and your product. You may be put on hold messed around etc if your not important to them.</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Laser_Cutter_Manual&diff=1618Laser Cutter Manual2016-12-22T22:03:12Z<p>Alex: /* Performing a cut */ Add Illustrator CC 2015 SVG export settings</p>
<hr />
<div>Laser cutter one-page manual<br />
<br />
The laser cutter is now at a level where it can be used by inducted members, but can be improved.<br />
<br />
== Required Software ==<br />
<br />
To use the laser cutter you need to install [http://visicut.org VisiCut].<br />
<br />
When you open VisiCut for the first time it will ask you where you are. Select '''Leeds Hackspace''' from the list.<br />
<br />
== Performing a cut ==<br />
<br />
Prepare your work-piece in Illustrator, Inkscape, FreeCAD or similar that can export SVG, EPS or DXF files. Using Illustrator CC 2015? Use [[:File:Illustrator-svg-export-settings.jpeg|these settings]] when exporting your SVG files, or colours won't be saved properly.<br />
<br />
Power on the Laser cutter prior to clicking execute in VisiCut. This starts the booting sequence and indicates to other members in the space that you intend on using the laser cutter.<br />
<br />
From the '''File''' menu, select '''Import''' and load your SVG, EPS or DXF.<br />
<br />
At this point you need to decide what kind of lasering you will be doing:<br />
<br />
* Cut everything as lines, Dither everything or Solidly engrave everything, simply select “Cut Everything”, “Engrave (dithered)” or “Engrave (solid)” as your mapping, check Speed and Power settings are accurate under “Laser Settings”, and click Execute.<br />
* Do different things for different colours of shapes - Select Map by Color, and Select the type of cut/engrave per colour. Then click on each item that is coloured on the work area and check the “Laser Settings” tab to verify the settings are correct, then click Execute.<br />
* Please note that we are still calibrating the machine for raster etching and this function is not yet available reliably.<br />
<br />
Here is a test file to use during inductions and when calibrating materials: https://wiki.leedshackspace.org.uk/wiki/File:LASER_TEST_FILE_-_NO_RASTER.svg<br />
And here is a cute owl: https://wiki.leedshackspace.org.uk/wiki/File:Hsowl.svg<br />
<br />
Place your workpiece on the cutting tray, take the ruler device and ensure it is flat against the side bar and the surface you wish to cut. If it is not, use the up/down switch to move the bed up/down. Note that if you have to do this, the panel may lock up, at which point you have to switch the cutter off and on again and click execute again in VisiCut before you can start cutting.<br />
<br />
If you press the red button on the panel, you can get to the main menu, where you can select Run or Boundaries. Not a bad idea to use the boundaries function until you get a feel for where the origin is on the cutter.<br />
<br />
Insert your member card and wait for the LED to turn green, then click “Run” and click again to select the only file on the cutter (the cutter only ever keeps the last file on it and deletes it on startup). You should be keeping a track of your usage at this point, time spent with your card in the slot is what is chargeable. It costs £1 per 10 minutes (£1 minimum charge).<br />
<br />
Remove your card as soon as your cut is complete. Once you have finished cutting, power off the laser, then take the dustpan and brush and clean out under the cutting area.<br />
<br />
== Debugging ==<br />
<br />
A red light on the card reader interface means that either:<br />
<br />
* The card reader board cannot reach the internet or<br />
* the card is not registered/ its owner is not inducted for cutting.<br />
<br />
If everything appears correct, but the laser is still not cutting:<br />
<br />
* the lid may need to be re-seated or ensured it is pressed down or<br />
* there may be a fault with the micro-switches on the lid.<br />
<br />
If you have any or repeated problems, please post with detail (software, hardware used, the file you were cutting, etc.) on the mailing list.</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=File:Illustrator-svg-export-settings.jpeg&diff=1617File:Illustrator-svg-export-settings.jpeg2016-12-22T22:01:29Z<p>Alex: Settings to use in Illustrator CC 2015 (19.2.0) when exporting SVGs for use in Inkscape</p>
<hr />
<div>Settings to use in Illustrator CC 2015 (19.2.0) when exporting SVGs for use in Inkscape</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Slack_Trial&diff=1560Slack Trial2016-10-04T21:30:14Z<p>Alex: </p>
<hr />
<div><br />
== The Slack "Experiment" ==<br />
<br />
The Slack Trial has been a mixed bag in terms of reactions and I'd like to continue the discussion so here's a summary of some of the points that have been made.<br />
<br />
I've laid it out in a good, bad, ugly table form to make it easier to digest, and I haven't duplicated info that's in the [https://groups.google.com/forum/#!topic/leeds-hack-space/q3X1lXIm34c googlegroups thread]<br />
<br />
{| class="wikitable"<br />
! The Good<br />
! The Bad<br />
! The Ugly<br />
|-<br />
| Emoji<br />
| Emoji<br />
| Emoji<br />
|-<br />
| More userfriendly for non-techies<br />
| Can’t see who’s on the other side of the wall until they speak<br />
| Can’t tab-complete people on the other side of the wall<br />
|-<br />
| Documented API<br />
| It’s not IRC<br />
| <br />
|-<br />
| Some scrollback, when entering you get a bit of context<br />
| Publicly logging IRC is seen by some as rude<br />
| <br />
|-<br />
| Markdown formatting<br />
| When mirrored from Slack to IRC, markdown is not parsed by irc clients<br />
| <br />
|-<br />
| Push notifications – without extra cost or tech<br />
| Default is to email on mention, auto-disables on install of mobile app, can be tweaked<br />
| <br />
|-<br />
| <br />
| All Slack chat appears in IRC from the LHS_Slackbot<br />
|<br />
|-<br />
| <br />
| File uploads inaccessible without account (images now being mirrored to imgur)<br />
| <br />
|-<br />
| <br />
| If you’re a freenode person, you want to be in IRC, it’s an inconvenience to be in Slack as well ([https://leedshackspace.slack.com/account/gateways but you can use Slack through IRC])<br />
| <br />
|-<br />
| Offline messages (Dms) – without extra cost or tech<br />
| Can't dm irc<->slack<br />
| <br />
|-<br />
| Mobile client far better than any irc one<br />
| <br />
| <br />
|-<br />
| Uses web tech, so doesn’t get blocked as much<br />
| If it is blocked then you're screwed (vs using another irc server on the same net)<br />
|<br />
|-<br />
| <br />
| Slack users don't see IRC status messages (maint warnings, netsplit, etc). Presumably the reverse also applies.<br />
| <br />
|-<br />
| Potential for better-formatted bot responses<br />
|<br />
|<br />
|}<br />
<br />
== Where do we go from here? ==<br />
<br />
I would like to see the Slack integration continue because I believe using slack will allow us to engage better with non-techies, and I don't think abandoning Freenode is a good idea.<br />
<br />
I think we should frown upon the overuse of emoji, reactions and other slack-only features as it excludes those who prefer irc. The same goes for creating side-channels which could lead to more cliqueism than I'm comfortable with.<br />
<br />
I think we should have the slack signup signposted on the website and listed as a way to contact us.<br />
<br />
I would also welcome suggestions on how to make the LHS_Slackbot better, there are certain things like having IRC leave/join messages mirrored to slack that are disabled because I've made judgement calls on what's useful, but I can't guarantee my judgement is perfect!<br />
<br />
Emoji is fun for some, irritating for others, and downright obnoxious to others, hence it's in all the columns!<br />
<br />
The public archive has been disabled and the LHS_Slackbot has been modified to mirror images from Slack to Imgur so that IRC people can see them without a slack account. The bot also asks people uploading non-image files to consider IRC folks and upload them elsewhere.<br />
<br />
<<Draft, I'm sure I've forgotten stuff>></div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Slack_Trial&diff=1559Slack Trial2016-10-04T21:28:59Z<p>Alex: </p>
<hr />
<div><br />
== The Slack "Experiment" ==<br />
<br />
The Slack Trial has been a mixed bag in terms of reactions and I'd like to continue the discussion so here's a summary of some of the points that have been made.<br />
<br />
I've laid it out in a good, bad, ugly table form to make it easier to digest, and I haven't duplicated info that's in the [https://groups.google.com/forum/#!topic/leeds-hack-space/q3X1lXIm34c googlegroups thread]<br />
<br />
{| class="wikitable"<br />
! The Good<br />
! The Bad<br />
! The Ugly<br />
|-<br />
| Emoji<br />
| Emoji<br />
| Emoji<br />
|-<br />
| More userfriendly for non-techies<br />
| Can’t see who’s on the other side of the wall until they speak<br />
| Can’t tab-complete people on the other side of the wall<br />
|-<br />
| Documented API<br />
| It’s not IRC<br />
| <br />
|-<br />
| Some scrollback, when entering you get a bit of context<br />
| Publicly logging IRC is seen by some as rude<br />
| <br />
|-<br />
| Markdown formatting<br />
| When mirrored from Slack to IRC, markdown is not parsed by irc clients<br />
| <br />
|-<br />
| Push notifications – without extra cost or tech<br />
| Default is to email on mention, auto-disables on install of mobile app, can be tweaked<br />
| <br />
|-<br />
| <br />
| All Slack chat appears in IRC from the LHS_Slackbot<br />
|<br />
|-<br />
| <br />
| File uploads inaccessible without account (images now being mirrored to imgur)<br />
| <br />
|-<br />
| <br />
| If you’re a freenode person, you want to be in IRC, it’s an inconvenience to be in Slack as well ([https://leedshackspace.slack.com/account/gateways but you can use Slack through IRC])<br />
| <br />
|-<br />
| Offline messages (Dms) – without extra cost or tech<br />
| Can't dm irc<->slack<br />
| <br />
|-<br />
| Mobile client far better than any irc one<br />
| <br />
| <br />
|-<br />
| Uses web tech, so doesn’t get blocked as much<br />
| If it is blocked then you're screwed (vs using another irc server on the same net)<br />
|<br />
|-<br />
| <br />
| Slack users don't see IRC status messages (maint warnings, netsplit, etc). Presumably the reverse also applies.<br />
| <br />
|}<br />
<br />
== Where do we go from here? ==<br />
<br />
I would like to see the Slack integration continue because I believe using slack will allow us to engage better with non-techies, and I don't think abandoning Freenode is a good idea.<br />
<br />
I think we should frown upon the overuse of emoji, reactions and other slack-only features as it excludes those who prefer irc. The same goes for creating side-channels which could lead to more cliqueism than I'm comfortable with.<br />
<br />
I think we should have the slack signup signposted on the website and listed as a way to contact us.<br />
<br />
I would also welcome suggestions on how to make the LHS_Slackbot better, there are certain things like having IRC leave/join messages mirrored to slack that are disabled because I've made judgement calls on what's useful, but I can't guarantee my judgement is perfect!<br />
<br />
Emoji is fun for some, irritating for others, and downright obnoxious to others, hence it's in all the columns!<br />
<br />
The public archive has been disabled and the LHS_Slackbot has been modified to mirror images from Slack to Imgur so that IRC people can see them without a slack account. The bot also asks people uploading non-image files to consider IRC folks and upload them elsewhere.<br />
<br />
<<Draft, I'm sure I've forgotten stuff>></div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Slack_Trial&diff=1558Slack Trial2016-10-04T21:26:37Z<p>Alex: </p>
<hr />
<div><br />
== The Slack "Experiment" ==<br />
<br />
The Slack Trial has been a mixed bag in terms of reactions and I'd like to continue the discussion so here's a summary of some of the points that have been made.<br />
<br />
I've laid it out in a good, bad, ugly table form to make it easier to digest, and I haven't duplicated info that's in the [https://groups.google.com/forum/#!topic/leeds-hack-space/q3X1lXIm34c googlegroups thread]<br />
<br />
{| class="wikitable"<br />
! The Good<br />
! The Bad<br />
! The Ugly<br />
|-<br />
| Emoji<br />
| Emoji<br />
| Emoji<br />
|-<br />
| More userfriendly for non-techies<br />
| Can’t see who’s on the other side of the wall until they speak<br />
| Can’t tab-complete people on the other side of the wall<br />
|-<br />
| Documented API<br />
| It’s not IRC<br />
| <br />
|-<br />
| Some scrollback, when entering you get a bit of context<br />
| Publicly logging IRC is seen by some as rude<br />
| <br />
|-<br />
| Markdown formatting<br />
| When mirrored from Slack to IRC, markdown is not parsed by irc clients<br />
| <br />
|-<br />
| Push notifications – without extra cost or tech<br />
| Default is to email on mention, auto-disables on install of mobile app, can be tweaked<br />
| <br />
|-<br />
| <br />
| All Slack chat appears in IRC from the LHS_Slackbot<br />
|<br />
|-<br />
| <br />
| File uploads inaccessible without account (images now being mirrored to imgur)<br />
| <br />
|-<br />
| <br />
| If you’re a freenode person, you want to be in IRC, it’s an inconvenience to be in Slack as well<br />
| <br />
|-<br />
| Offline messages (Dms) – without extra cost or tech<br />
| Can't dm irc<->slack<br />
| <br />
|-<br />
| Mobile client far better than any irc one<br />
| <br />
| <br />
|-<br />
| Uses web tech, so doesn’t get blocked as much<br />
| If it is blocked then you're screwed (vs using another irc server on the same net)<br />
|<br />
|-<br />
| <br />
| Slack users don't see IRC status messages (maint warnings, netsplit, etc). Presumably the reverse also applies.<br />
| <br />
|}<br />
<br />
== Where do we go from here? ==<br />
<br />
I would like to see the Slack integration continue because I believe using slack will allow us to engage better with non-techies, and I don't think abandoning Freenode is a good idea.<br />
<br />
I think we should frown upon the overuse of emoji, reactions and other slack-only features as it excludes those who prefer irc. The same goes for creating side-channels which could lead to more cliqueism than I'm comfortable with.<br />
<br />
I think we should have the slack signup signposted on the website and listed as a way to contact us.<br />
<br />
I would also welcome suggestions on how to make the LHS_Slackbot better, there are certain things like having IRC leave/join messages mirrored to slack that are disabled because I've made judgement calls on what's useful, but I can't guarantee my judgement is perfect!<br />
<br />
Emoji is fun for some, irritating for others, and downright obnoxious to others, hence it's in all the columns!<br />
<br />
The public archive has been disabled and the LHS_Slackbot has been modified to mirror images from Slack to Imgur so that IRC people can see them without a slack account. The bot also asks people uploading non-image files to consider IRC folks and upload them elsewhere.<br />
<br />
<<Draft, I'm sure I've forgotten stuff>></div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Slack_Trial&diff=1557Slack Trial2016-10-04T21:25:41Z<p>Alex: </p>
<hr />
<div><br />
== The Slack "Experiment" ==<br />
<br />
The Slack Trial has been a mixed bag in terms of reactions and I'd like to continue the discussion so here's a summary of some of the points that have been made.<br />
<br />
I've laid it out in a good, bad, ugly table form to make it easier to digest, and I haven't duplicated info that's in the [https://groups.google.com/forum/#!topic/leeds-hack-space/q3X1lXIm34c googlegroups thread]<br />
<br />
{| class="wikitable"<br />
! The Good<br />
! The Bad<br />
! The Ugly<br />
|-<br />
| Emoji<br />
| Emoji<br />
| Emoji<br />
|-<br />
| More userfriendly for non-techies<br />
| Can’t see who’s on the other side of the wall until they speak<br />
| Can’t tab-complete people on the other side of the wall<br />
|-<br />
| Documented API<br />
| It’s not IRC<br />
| <br />
|-<br />
| Some scrollback, when entering you get a bit of context<br />
| Publicly logging IRC is seen by some as rude<br />
| <br />
|-<br />
| Markdown formatting<br />
| When mirrored from Slack to IRC, markdown is not parsed by irc clients<br />
| <br />
|-<br />
| Push notifications – without extra cost or tech<br />
| Default is to email on mention, auto-disables on install of mobile app, can be tweaked<br />
| <br />
|-<br />
| <br />
| All Slack chat appears in IRC from the LHS_Slackbot<br />
|<br />
|-<br />
| <br />
| File uploads inaccessible without account (images now being mirrored to imgur)<br />
| <br />
|-<br />
| <br />
| It’s not possible for DMs to traverse IRC/Slack<br />
| <br />
|-<br />
| <br />
| If you’re a freenode person, you want to be in IRC, it’s an inconvenience to be in Slack as well<br />
| <br />
|-<br />
| Offline messages (Dms) – without extra cost or tech<br />
| Can't dm irc<->slack<br />
| <br />
|-<br />
| Mobile client far better than any irc one<br />
| <br />
| <br />
|-<br />
| Uses web tech, so doesn’t get blocked as much<br />
| If it is blocked then you're screwed (vs using another irc server on the same net)<br />
|<br />
|-<br />
| <br />
| Slack users don't see IRC status messages (maint warnings, netsplit, etc). Presumably the reverse also applies.<br />
| <br />
|}<br />
<br />
== Where do we go from here? ==<br />
<br />
I would like to see the Slack integration continue because I believe using slack will allow us to engage better with non-techies, and I don't think abandoning Freenode is a good idea.<br />
<br />
I think we should frown upon the overuse of emoji, reactions and other slack-only features as it excludes those who prefer irc. The same goes for creating side-channels which could lead to more cliqueism than I'm comfortable with.<br />
<br />
I think we should have the slack signup signposted on the website and listed as a way to contact us.<br />
<br />
I would also welcome suggestions on how to make the LHS_Slackbot better, there are certain things like having IRC leave/join messages mirrored to slack that are disabled because I've made judgement calls on what's useful, but I can't guarantee my judgement is perfect!<br />
<br />
Emoji is fun for some, irritating for others, and downright obnoxious to others, hence it's in all the columns!<br />
<br />
The public archive has been disabled and the LHS_Slackbot has been modified to mirror images from Slack to Imgur so that IRC people can see them without a slack account. The bot also asks people uploading non-image files to consider IRC folks and upload them elsewhere.<br />
<br />
<<Draft, I'm sure I've forgotten stuff>></div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Marvin_P_Droid&diff=1556Marvin P Droid2016-10-04T21:20:42Z<p>Alex: </p>
<hr />
<div>[[Category:Infrastructure]]<br />
<br />
Marvin is the space automation and monitoring system.<br />
<br />
If you just want a user manual without all the details see [[Access Control]]<br />
<br />
== Git ==<br />
<br />
Code and configuration for the majority of Marvin's systems is stored in a git repository on github at http://github.com/leedshackspace/lhs-marvin.<br />
<br />
== Hackspace Server ==<br />
<br />
The majority of Marvin's functionality is provided by the machine gateway.hackspace, which resides in the cab at the hackspace. The following services are provided:<br />
<br />
* DNS<br />
* DHCP<br />
* Router spanning wired, wireless, external (internet) and VPN network segments<br />
* Door lock master and logging<br />
* Database<br />
* Webcam motion capture and image feeds<br />
<br />
=== Configuration ===<br />
<br />
All configuration done via the ansible playbook and supporting files stored in the git repository.<br />
Manual changes should not be made to this system, it should be possible to rebuild everything from just the github repository.<br />
<br />
=== User Accounts ===<br />
<br />
External access to the internal hackspace network is via this machine. Accounts are available on application. Authentication is by SSH key only.<br />
<br />
All user data on this machine should be considered transient and at risk of deletion.<br />
Do not expose sensitive data on this machine (or any other hackspace machine). <br />
<br />
=== Secret Keys ===<br />
<br />
Full configuration of the machine requires several passwords and secret keys not stored in the public git repository.<br />
<br />
'''FIXME:''' Document where these live.<br />
<br />
== DNS and DHCP ==<br />
<br />
Care should be taken to ensure that DHCP and both forward and reverse DNS entres are consistent when making changes.<br />
<br />
Internal DNS uses the .hackspace domain. It is implemented with bind9 on the gateway machine.<br />
<br />
The wired subnet is 172.31.26.0/24, and the wireless subnet is 172.31.27.0/24. Addresses are assigned by the ISC DHCP server on the gateway machine.<br />
<br />
== RFID Access System ==<br />
<br />
Access to the hackspace is controled by an RFID tag based system. It covers both the internal upstairs door and the external door shared with the Pedallers Arms.<br />
<br />
=== Door Locks ===<br />
<br />
Each door has an electronic lock, with RFID reader and a numeric keypad.<br />
<br />
Each unit includes battery backup provided by 8x AA NiMh rechargeable batteries. These should be sufficient to keep the lock operational for several days. The batteries are trickle charged when external power is present.<br />
<br />
The door locks communicate with the server using a custom serial protocol. Power (12v) and data (rs232) are supplied over a single 5-pin DIN connector. The cabling is the same as (but not electrically compatible with) a MIDI cable.<br />
<br />
Logging, updating the list of approved tags, and other functions are achieved by communicating with the daemon on the server. The serial protocol is documented in the arduino source code.<br />
<br />
The lock stores a set of RFID tag/PIN pairs in non-volatile storage. In the event of a server/power failure the lock will continue to operate automously.<br />
<br />
The upstairs lock includes a second RFID reader on the inside of the room. This allows members to tag out as they leave.<br />
<br />
=== Auxiliary Arduino ===<br />
<br />
The blue box on top of the server cab provides connectivity between the server and other systems. It contains:<br />
* An arduino with temperature readings and MOSFET to control the space open sign. Historically this provided other functions, however these are no longer used, and probably broken.<br />
* A pair of USB-serial modules with RS232 level shifters for doorlock communication<br />
* USB hub. The serial devices do not have useful serial numbers, so are identified based on which port they are connected to.<br />
* 12v 2.5A DC power brick. While average power draw is fairly low, peak power draw of the door lock solenoid is ~1A.<br />
<br />
=== Space Open Sign ===<br />
<br />
The illuminated sign at the top of the stairs is turned on when the space is open. The LEDs are wired to operate off a 12v supply.<br />
<br />
=== Space management daemon (doord) ===<br />
<br />
The doord daemon provides several functions:<br />
* Control of door locks<br />
* Control of the auviliary Arduino<br />
* Scanning ARP entires to determine presence of machines on the network.<br />
* Logging<br />
* Opening and closing the space<br />
* Database management for door locks and space state<br />
* IRC messages<br />
<br />
=== Space state logic ===<br />
<br />
The space will open when the door is unlocked (this requires valid RFID tag and PIN).<br />
<br />
When the space has been opened by a keyholder, any member can open the door with their RFID tag. No PIN is required.<br />
<br />
When the space is open to the public the door can be opened by pressing '#'. Public access also requires the space to have been opened by a keyholder.<br />
<br />
The space will close if the door is closed and no members are present (determined by network devices or recently scanned RFID tags).<br />
<br />
Scanning a tag on the inside of the upstairs doorlock will caused that member to be immediately logged out. If there are no other members present then the space will close. Pressing the '*' key on the keypad within a few seconds will cause all members to be logged out, and the space to close immediately.<br />
<br />
=== Public Open Days/Evening ===<br />
<br />
A public open evening is hardcoded for Tuesday from 5pm. This assumption is present in both doord.py and gateway/www/status.php.<br />
<br />
Other public open days can be added via the <code>open_days</code> database table.<br />
<br />
In both cases public access is conditional on the space already being open, so it if nobody turns (or the keyholder is late) the building should still be secure.<br />
<br />
== External webserver ==<br />
<br />
The external webserver for leedshackspace.org.uk lives in Nav's loft on the end of his DSL connection. This needs to be moved to a properly hosted system. A migration process in underway to move to a dedicated server, which is being documented in [[New VM Migration]].<br />
<br />
=== VPN ===<br />
<br />
Connectivity between the machine in the hackspace (gateway.hackspace) and the external webserver (leedshackspace.org.uk) is provided by and OpenVPN tunnel. The tunnel is initiated by gateway. The VPN is used for querying doord running on the internal server for the space status for the IRC bot and website, and for proxying requests for webcam images.<br />
<br />
== IRC ==<br />
<br />
The IRC bot is based upon [https://github.com/RJ/irccat irccat].<br />
<br />
This is a horrible mess of xml configuration files, Java, and scripts written in a variety of languages. It also accepts messages via a TCP socket, which are then passed on to the IRC channels.<br />
<br />
Marvin is mainly situated in <code>/usr/local/src/irccat</code> on the web server running on a VPS.<br />
<br />
Parts of this bot are everywhere, the code is out of date, not currently version controlled and is in a (bit of a) mess.<br />
<br />
The bot is setup to join #leeds-hack-space and #leedshackspace as '''Marvin_P_Droid''' on freenode IRC, with #leeds-hack-space set as the primary channel in the irccat config xml file.<br />
<br />
=== IRC Bot Commands ===<br />
<br />
Commands can be run from either the irc channel #leeds-hack-space or they can be /msg sent to Marvin_P_Droid.<br />
<br />
Commands are directly executed from their script names, this is why you have to be careful what you put in the <code>commands</code> folder and it may be best to have a 'command' filename that just refers to other script file names that are stored in sub folders. They are stored in <code>/usr/local/src/irccat/commands</code>.<br />
<br />
Most of these commands date from before we moved into our current space (Mabgate Green), and many of them are broken.<br />
<br />
{| class="wikitable"<br />
! style="text-align:left;"| Command<br />
! style="text-align:left;"| Description<br />
|-<br />
|?status<br />
|Show whether the space is open, and if so, who's there<br />
|-<br />
|?rules<br />
|List the Hackspace rules<br />
|-<br />
|?space, ?mars, ?galaxy<br />
|Show how many humans are in space (and how many harpoons)<br />
|-<br />
|?phone<br />
|Show the Hackspace phone number<br />
|-<br />
|?moo<br />
|Have a cow reply to you<br />
|-<br />
|?harpoons<br />
|Show how many harpoons are in space<br />
|-<br />
|?idea<br />
|<br />
|-<br />
|?noidea<br />
|<br />
|-<br />
|?xyzzy<br />
|Magic<br />
|}</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Marvin_P_Droid&diff=1555Marvin P Droid2016-10-04T21:08:29Z<p>Alex: </p>
<hr />
<div>[[Category:Infrastructure]]<br />
<br />
Marvin is the space automation and monitoring system.<br />
<br />
If you just want a user manual without all the details see [[Access Control]]<br />
<br />
== Git ==<br />
<br />
Code and configuration for the majority of Marvin's systems is stored in a git repository on github at http://github.com/pbrook/lhs-marvin.<br />
<br />
== Hackspace Server ==<br />
<br />
The majority of Marvin's functionality is provided by the machine gateway.hackspace, which resides in the cab at the hackspace. The following services are provided:<br />
<br />
* DNS<br />
* DHCP<br />
* Router spanning wired, wireless, external (internet) and VPN network segments<br />
* Door lock master and logging<br />
* Database<br />
* Webcam motion capture and image feeds<br />
<br />
=== Configuration ===<br />
<br />
All configuration done via the ansible playbook and supporting files stored in the git repository.<br />
Manual changes should not be made to this system, it should be possible to rebuild everything from just the github repository.<br />
<br />
=== User Accounts ===<br />
<br />
External access to the internal hackspace network is via this machine. Accounts are available on application. Authentication is by SSH key only.<br />
<br />
All user data on this machine should be considered transient and at risk of deletion.<br />
Do not expose sensitive data on this machine (or any other hackspace machine). <br />
<br />
=== Secret Keys ===<br />
<br />
Full configuration of the machine requires several passwords and secret keys not stored in the public git repository.<br />
<br />
'''FIXME:''' Document where these live.<br />
<br />
== DNS and DHCP ==<br />
<br />
Care should be taken to ensure that DHCP and both forward and reverse DNS entres are consistent when making changes.<br />
<br />
Internal DNS uses the .hackspace domain. It is implemented with bind9 on the gateway machine.<br />
<br />
The wired subnet is 172.31.26.0/24, and the wireless subnet is 172.31.27.0/24. Addresses are assigned by the ISC DHCP server on the gateway machine.<br />
<br />
== RFID Access System ==<br />
<br />
Access to the hackspace is controled by an RFID tag based system. It covers both the internal upstairs door and the external door shared with the Pedallers Arms.<br />
<br />
=== Door Locks ===<br />
<br />
Each door has an electronic lock, with RFID reader and a numeric keypad.<br />
<br />
Each unit includes battery backup provided by 8x AA NiMh rechargeable batteries. These should be sufficient to keep the lock operational for several days. The batteries are trickle charged when external power is present.<br />
<br />
The door locks communicate with the server using a custom serial protocol. Power (12v) and data (rs232) are supplied over a single 5-pin DIN connector. The cabling is the same as (but not electrically compatible with) a MIDI cable.<br />
<br />
Logging, updating the list of approved tags, and other functions are achieved by communicating with the daemon on the server. The serial protocol is documented in the arduino source code.<br />
<br />
The lock stores a set of RFID tag/PIN pairs in non-volatile storage. In the event of a server/power failure the lock will continue to operate automously.<br />
<br />
The upstairs lock includes a second RFID reader on the inside of the room. This allows members to tag out as they leave.<br />
<br />
=== Auxiliary Arduino ===<br />
<br />
The blue box on top of the server cab provides connectivity between the server and other systems. It contains:<br />
* An arduino with temperature readings and MOSFET to control the space open sign. Historically this provided other functions, however these are no longer used, and probably broken.<br />
* A pair of USB-serial modules with RS232 level shifters for doorlock communication<br />
* USB hub. The serial devices do not have useful serial numbers, so are identified based on which port they are connected to.<br />
* 12v 2.5A DC power brick. While average power draw is fairly low, peak power draw of the door lock solenoid is ~1A.<br />
<br />
=== Space Open Sign ===<br />
<br />
The illuminated sign at the top of the stairs is turned on when the space is open. The LEDs are wired to operate off a 12v supply.<br />
<br />
=== Space management daemon (doord) ===<br />
<br />
The doord daemon provides several functions:<br />
* Control of door locks<br />
* Control of the auviliary Arduino<br />
* Scanning ARP entires to determine presence of machines on the network.<br />
* Logging<br />
* Opening and closing the space<br />
* Database management for door locks and space state<br />
* IRC messages<br />
<br />
=== Space state logic ===<br />
<br />
The space will open when the door is unlocked (this requires valid RFID tag and PIN).<br />
<br />
When the space has been opened by a keyholder, any member can open the door with their RFID tag. No PIN is required.<br />
<br />
When the space is open to the public the door can be opened by pressing '#'. Public access also requires the space to have been opened by a keyholder.<br />
<br />
The space will close if the door is closed and no members are present (determined by network devices or recently scanned RFID tags).<br />
<br />
Scanning a tag on the inside of the upstairs doorlock will caused that member to be immediately logged out. If there are no other members present then the space will close. Pressing the '*' key on the keypad within a few seconds will cause all members to be logged out, and the space to close immediately.<br />
<br />
=== Public Open Days/Evening ===<br />
<br />
A public open evening is hardcoded for Tuesday from 5pm. This assumption is present in both doord.py and gateway/www/status.php.<br />
<br />
Other public open days can be added via the <code>open_days</code> database table.<br />
<br />
In both cases public access is conditional on the space already being open, so it if nobody turns (or the keyholder is late) the building should still be secure.<br />
<br />
== External webserver ==<br />
<br />
The external webserver for leedshackspace.org.uk lives in Nav's loft on the end of his DSL connection. This needs to be moved to a properly hosted system. A migration process in underway to move to a dedicated server, which is being documented in [[New VM Migration]].<br />
<br />
=== VPN ===<br />
<br />
Connectivity between the machine in the hackspace (gateway.hackspace) and the external webserver (leedshackspace.org.uk) is provided by and OpenVPN tunnel. The tunnel is initiated by gateway. The VPN is used for querying doord running on the internal server for the space status for the IRC bot and website, and for proxying requests for webcam images.<br />
<br />
== IRC ==<br />
<br />
The IRC bot is based upon [https://github.com/RJ/irccat irccat].<br />
<br />
This is a horrible mess of xml configuration files, Java, and scripts written in a variety of languages. It also accepts messages via a TCP socket, which are then passed on to the IRC channels.<br />
<br />
Marvin is mainly situated in <code>/usr/local/src/irccat</code> on the web server running on a VPS.<br />
<br />
Parts of this bot are everywhere, the code is out of date, not currently version controlled and is in a (bit of a) mess.<br />
<br />
The bot is setup to join #leeds-hack-space and #leedshackspace as '''Marvin_P_Droid''' on freenode IRC, with #leeds-hack-space set as the primary channel in the irccat config xml file.<br />
<br />
=== IRC Bot Commands ===<br />
<br />
Commands can be run from either the irc channel #leeds-hack-space or they can be /msg sent to Marvin_P_Droid.<br />
<br />
Commands are directly executed from their script names, this is why you have to be careful what you put in the <code>commands</code> folder and it may be best to have a 'command' filename that just refers to other script file names that are stored in sub folders. They are stored in <code>/usr/local/src/irccat/commands</code>.<br />
<br />
Most of these commands date from before we moved into our current space (Mabgate Green), and many of them are broken.<br />
<br />
{| class="wikitable"<br />
! style="text-align:left;"| Command<br />
! style="text-align:left;"| Description<br />
|-<br />
|?status<br />
|Show whether the space is open, and if so, who's there<br />
|-<br />
|?rules<br />
|List the Hackspace rules<br />
|-<br />
|?space, ?mars, ?galaxy<br />
|Show how many humans are in space (and how many harpoons)<br />
|-<br />
|?phone<br />
|Show the Hackspace phone number<br />
|-<br />
|?moo<br />
|Have a cow reply to you<br />
|-<br />
|?harpoons<br />
|Show how many harpoons are in space<br />
|-<br />
|?idea<br />
|<br />
|-<br />
|?noidea<br />
|<br />
|-<br />
|?xyzzy<br />
|Magic<br />
|}</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Projects/OpenBot&diff=1429Projects/OpenBot2016-08-22T02:46:17Z<p>Alex: Link to Aidan user</p>
<hr />
<div>[[Category:In_Progress|OpenBot]]<br />
[[File:OpenBot-v2.jpeg|200px|thumb|right|The current OpenBot]]<br />
[[File:InsideOpenBotv2.jpeg|200px|thumb|right|Inside the case. It's not very interesting.]]<br />
OpenBot is a device that will tweet how long the space is expected to be open for. Use it to announce to members how long the space will be open for. It is currently a mishmash of aluminium and laser cut MDF. The LED has retreated temporarily to the base, but will be returning to prominence soon!<br />
<br />
It is inspired by MakeHackVoid's [https://makehackvoid.com/projects/space-probe/ Space Probe] and can be found on Twitter as [https://twitter.com/LHSOpenBot @LHSOpenBot].<br />
<br />
[https://github.com/adnbr/OpenBot Code is available on GitHub.]<br />
==Instructions for use==<br />
<br />
* Turn the knob to indicate the number of hours you think you will be in the space.<br />
* Press the button to tweet this on [https://twitter.com/LHSOpenBot @LHSOpenBot].<br />
<br />
This doesn't replace the "Open to Members" and "Empty" notes on the website but rather complements it. If you are making a special journey and you don't have keyholder access make sure someone will be around when you arrive: use IRC, the mailing list or the Hackphone.<br />
<br />
To provide a tidy announcement the time is rounded ''down'' to the nearest quarter hour.<br />
<br />
==About the device==<br />
[[File:OpenBotIntent.png|200px|thumb|right|The intended end result.]]<br />
It's under development at the moment - please keep that in mind. <br />
<br />
A NodeMCU dev board/ESP8266 runs Arduino code, pushing data over the wifi to [[https://thingspeak.com/ ThingSpeak]], which subsequently tweets for us. The number selected on the knob and the estimated time of closing is stored on Thingspeak (web people, ask [[User:Ad|Aidan]] for an API key if you want one.)<br />
<br />
===NTP===<br />
At boot and every 720 minutes thereafter the time is updated from one of two NTP servers. The on-board oscillator is accurate enough to stay reasonably in sync over this period of time, after all it's not that important the time is that precise. In the event that synchronisation with NTP services cannot occur but the device can still connect to ThingSpeak and thus tweet, messages will be appended with #ntpfailure to prompt investigation. <br />
<br />
The two services are at ''pool.ntp.org.uk'' and ''time.nist.gov''.<br />
<br />
===Motorised Potentiometer===<br />
<br />
Eventually the knob (which is a motorised potentiometer) will slowly tick down as the time goes by. I'm looking for a suitable H-bridge or similar to facilitate this.<br />
<br />
===API Output===<br />
<br />
The ThingSpeak channel has a JSON feed which will [http://api.thingspeak.com/channels/81854/feed/last.json return the latest post], and another which will return [http://api.thingspeak.com/channels/81854/feed.json more information] about the feed. <br />
<br />
For more information about the feeds see the [https://uk.mathworks.com/help/thingspeak/get-a-channel-feed.html ThingSpeak documentation].<br />
<br />
The latest post feed takes the following form:<br />
<br />
{<br />
"created_at": "2016-02-18T11:54:12Z",<br />
"entry_id": 42,<br />
"field1": "1",<br />
"field2": "07:39",<br />
"field3": "Hackspace! Open to members! For approximately an hour! (Until ~08:30)",<br />
"field4": null<br />
}<br />
<br />
{| class="wikitable"<br />
! style="font-weight: bold;" | JSON<br />
! style="font-weight: bold;" | Name<br />
! style="font-weight: bold;" | Example/Range<br />
! style="font-weight: bold;" | Notes<br />
|-<br />
| style="font-weight: bold;" | created_at<br />
| <br />
| 2016-02-18T11:54:12Z<br />
| ThingSpeak generated field, UTC time at server<br />
|-<br />
| style="font-weight: bold;" | entry_id<br />
| <br />
| <br />
| ThingSpeak generated field, unique ID for entry.<br />
|-<br />
| style="font-weight: bold;" | field1<br />
| hours<br />
| 0-8<br />
| Hours the space will be open, 0 is closed. Reflects the position of the knob/dial.<br />
|-<br />
| style="font-weight: bold;" | field2<br />
| until<br />
| 07:30<br />
| The time the space will be expected to close. If prefixed with '''ERR:''' then an error report follows in the message field. This should not be shown to the end user. If this field is solely '''#ntpfailure''' then the NTP sync has failed and the device is in a failure mode.<br />
|-<br />
| style="font-weight: bold;" | field3<br />
| message<br />
| Hackspace! Open to members! For approximately an hour! (Until ~08:30)<br />
| If field2 does not contain an error message this is what has been tweeted to [https://twitter.com/LHSOpenBot @LHSOpenBot].<br />
|-<br />
| style="font-weight: bold;" | field4<br />
| localutc<br />
| <br />
| Time in seconds since 1st Jan 1970. For debugging.<br />
|}<br />
<br />
==Previous Incarnations==<br />
[[File:Openbot-mdf.jpeg|200px|thumb|left|The larval form of OpenBot with disgraceful MDF box.]]</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Leeds_Hackspace&diff=1428Leeds Hackspace2016-08-22T02:42:27Z<p>Alex: Add Slack contact link</p>
<hr />
<div>'''If you want a Wiki account please ask on IRC or via email to the mailing list or the e-mail below.'''<br />
<br />
{|style="width: 100%;"|<br />
| style="width: 50%;"|{{Box-round|title= About the [[Space]]|<br />
<br />
Leeds Hackspace is a workshop space for people that like making things, are curious about how stuff works, or would like to learn new skills. <br />
<br />
Membership is open to all and we are a not-for-profit organisation entirely run by its community. <br />
<br />
We are interested in technology (both new and old) but are also a social group of people who enjoy talking and bouncing ideas/questions off of one another.<br />
<br />
Everyone is welcome (and encouraged) to have a wiki account. Please shout in IRC or email the directors.<br />
}}<br />
{{Box-round|title= Contact Info|<br />
* Email: [mailto:info@leedshackspace.org.uk info@leedshackspace.org.uk]<br />
* Google Group: [https://groups.google.com/forum/#!forum/leeds-hack-space Leeds Hackspace Google Group]<br />
* IRC: [irc://irc.freenode.net/leeds-hack-space #leeds-hack-space] on [https://freenode.net/ Freenode.net]<br />
* Slack: bridges to IRC. See [[Slack]] for details<br />
* Twitter: [https://twitter.com/leedshackspace @leedshackspace]<br />
* Facebook : [https://www.facebook.com/LeedsHackSpace Leeds Hackspace Facebook Page]<br />
}}<br />
{{Box-round|title=Projects|<br />
* [[:Category:Ideas|Project ideas]]<br />
* [[:Category:Planning|Planned projects]]<br />
* [[:Category:In_Progress|Projects in progress]]<br />
* [[:Category:Completed|Completed projects]]<br />
<br />
Notable projects:<br />
* [[BeagleboneChallenge]]<br />
* [[MendelMax]]<br />
* [[Projects/Nav_Bot_I|NavBot I]]<br />
* [[Projects/Nav_Bot_II|NavBot II]]<br />
* [[Projects/FlightSimHardware|Flight Simulator Hardware]]<br />
* [[Marvin_P_Droid|Marvin]]<br />
* [[LED Cubes]]<br />
}}<br />
| style="width: 50%;"|{{Box-round|title=Location|<br />
37-38 Mabgate Green<br />
Leeds<br />
LS9 7DS<br />
<br />
53.800747,<br />
-1.532853<br />
}}<br />
{{Box-round|title= Access and Opening Times|<br />
* Open Nights: 7pm Onwards, Tuesdays<br />
* Open Days: 2nd Saturday of the month from 11am-4pm<br />
* Viewings by appointment<br />
* Member Access: 24/7 (with RFID & PIN) <br />
* [https://wiki.leedshackspace.org.uk/wiki/Access_Control RFID Door Access User Guide]<br />
}}<br />
{{Box-round|title=Resources|<br />
* About the [[Space]]<br />
* [[WiFi-HiFi]]<br />
* [[Workshop]]<br />
* [[Electronics]] workshop<br />
* [[Tuck Shop]]<br />
* [[Components]]<br />
* [[BoxOfBits|Bits for sale]]<br />
* [[Scrapheap]] - virtual swapfest<br />
* [[The Rules]]<br />
* [[Suppliers]]<br />
* [[Training and Educational]]<br />
}}<br />
|-<br />
| colspan=2 |{{Box-round|title=LHS Around the Internet|<br />
* '''Mailing List''' - (the main point of contact) - http://groups.google.co.uk/group/leeds-hack-space<br />
* '''IRC''' - (#leeds-hack-space on irc.freenode.org) - [http://bit.do/lhs-irc online IRC client]<br />
* '''Twitter''' - (For meeting updates and general coolness alerts) - http://twitter.com/leedshackspace<br />
* '''Our Blog''' - http://leedshackspace.org.uk [http://leedshackspace.org.uk/atom RSS]<br />
}}<br />
<br />
|}</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Slack&diff=1427Slack2016-08-22T02:39:06Z<p>Alex: </p>
<hr />
<div>We are currently using Slack on a trial basis as a better interface to our IRC channel.<br />
<br />
Our Slack channel is intended to be used as a bridge to our IRC channel, providing better support for mobile users, and modern features like auto-expanding images and web links. There is no plan to fully migrate to Slack.<br />
<br />
It's best to avoid using Slack features that exclude IRC users, such as creating other channels.<br />
<br />
<br />
== Get an invite ==<br />
<br />
Head to [http://mail.ranyard.info:3128/ this handy page] in order to receive an invite to our Slack "team".<br />
<br />
== Download Slack apps for your devices ==<br />
<br />
Slack is available as a [https://slack.com/downloads download] for most popular platforms, including Windows, Linux, OS X, Android and iOS.<br />
<br />
== IRC mirroring ==<br />
We have a bot that mirrors conversation between Slack and IRC, allowing people on either platform to talk to each other. Images uploaded to Slack are automatically mirrored to Imgur for the benefit of IRC users. Joins and parts are not shown in Slack as it'd generate too much noise in the channel.</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Slack&diff=1426Slack2016-08-22T02:36:24Z<p>Alex: </p>
<hr />
<div>We are currently using Slack on a trial basis as a better interface to our IRC channel.<br />
<br />
Our Slack channel is intended to be used as a bridge to our IRC channel, providing better support for mobile users, and modern features like auto-expanding images and web links. There is no plan to fully migrate to Slack.<br />
<br />
It's best to avoid using Slack features that exclude IRC users, such as creating other channels.<br />
<br />
<br />
== Get an invite ==<br />
<br />
Head to [http://mail.ranyard.info:3128/ this handy page] in order to receive an invite to our Slack "team".<br />
<br />
== Download Slack apps for your devices ==<br />
<br />
Slack is available as a [https://slack.com/downloads download] for most popular platforms, including Windows, Linux, OS X, Android and iOS.</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=TV&diff=1302TV2016-06-02T20:57:37Z<p>Alex: /* Hardware */ Explain how Chromium auto-start works</p>
<hr />
<div>A plasma screen is affixed to the wall. It displays status information about the space.<br />
<br />
== The Screen ==<br />
<br />
It's a Hitachi [https://sphere.chronosempire.org.uk/~HEx/32pd5000.pdf 42PD5000]. Native resolution is 1024x1024, but it does not accept digital input at this resolution, or any sane resolution. The screen itself is 16:9, but all the advertised EDID modes are 4:3. The manual suggests that it should be capable of more, but these are specific to which inputs are used (DVI accepts different resolutions to VGA).<br />
<br />
After much experimentation, I (HEx) settled on 1024x768 over VGA, software scaled to 1366x768.<br />
<br />
== Hardware ==<br />
<br />
Driving the screen is an Athlon 64 box named sauron (172.31.26.112). It runs debian jessie.<br />
<br />
User "kiosk" is logged in on boot, with Chromium automatically starting in fullscreen mode on login.<br />
<br />
Chromium auto-start is implemented by the <code>/home/kiosk/kiosk.sh</code> script, which is run by the kiosk user's <code>.Xsessionrc</code>. This script is responsible for starting Chromium, and ensuring it stays running (restarting if needed).<br />
<br />
== Status page ==<br />
<br />
The status page displays:<br />
* General status from the API (open or closed, who's here, current temperature).<br />
* Twitter feed<br />
* Mailing list feed<br />
* IRC (Sauron is a member of the channel using the nickname Sauron-tv)<br />
* Camera feed<br />
<br />
The code is stored on [https://github.com/leedshackspace/lhs-status GitHub] and is checked out locally to <code>/srv/lhs-status</code> on Sauron, which is then served by Apache.<br />
<br />
=== Updating the code ===<br />
<br />
When the code in the lhs-status GitHub repo has been updated, <code>cd</code> into <code>/srv/lhs-status/lhs-status</code> and <code>git pull</code> to pull the most recent changes. Then either refresh Chromium on the PC, or via SSH run <code>sudo pkill chromium</code> to kill Chromium (<code>kiosk.sh</code> will automatically restart it).<br />
<br />
=== Mailing list feed ===<br />
<br />
The list of topics on the mailing list is served as an RSS feed by Google Groups, but due to [https://en.wikipedia.org/wiki/Cross-origin_resource_sharing CORS] restrictions it cannot be accessed using an AJAX request directly from the status page. As a workaround, Apache is configured to reverse-proxy requests to <code>topics.xml</code> in the main lhs-status directory to the actual Google Groups [https://groups.google.com/forum/feed/leeds-hack-space/msgs/rss.xml?num=15 RSS URL].<br />
<br />
== Control through IRC ==<br />
<br />
Sauron has some functions that can be triggered through the IRC channel. They can be run in two ways:<br />
* by mentioning the name of the bot in the Leeds Hackspace channel<br />
* by sending a private message to the bot<br />
<br />
You can get the bot's attention by either mentioning its name, or prefixing your message with the "^" symbol. Commands are run by giving the command name and then the command arguments, e.g:<br />
* <code>Sauron-tv: bigtext This message will appear big on-screen</code><br />
* <code>^bigtext This message will appear big on-screen</code><br />
<br />
=== Commands ===<br />
<br />
==== General ====<br />
* <code>bigtext ''your message here''</code> - show a short message in big flashing text on screen for 10 seconds.<br />
<br />
==== Camera view control ====<br />
Controls what camera is currently displayed on the screen. Current camera choices are ''carpark'', ''main1'' (camera by the soldering station), ''main2'' (camera on the arcade cab), ''door'' (the internal door), ''outside'' (the external door), and ''3dprinter''.<br />
* <code>cam fix ''camname''</code> - View the specified camera indefinitely.<br />
* <code>cam resume</code> - Resume rotating through cameras (Sauron starts up in this mode)<br />
* <code>cam view ''camname''</code> - View the specified camera for 30 seconds, then resume rotating<br />
<br />
=== Implementation ===<br />
<br />
The IRC client embedded within the status page is a [https://github.com/leedshackspace/shout fork] of the [https://github.com/erming/shout Shout] Node JS-based web IRC client. The fork includes Hackspace-specific additions such as a theme that hides all UI elements apart from the main chat messages window, in addition to having several pull requests on the main Shout repository merged ([https://github.com/erming/shout/pull/414 automatically joining the channel on load], and [https://github.com/erming/shout/pull/320 adding a framework for client plugins]).<br />
<br />
Commands from the IRC client iframe are passed up to the main display's frame using a plugin located in <code>/home/kiosk/.shout/plugins/bridge.js</code>. These commands are received by the [https://github.com/leedshackspace/lhs-status/blob/master/irc-command.js <code>irc-command</code> module in the lhs-status repo].<br />
<br />
The client runs as a node process (managed by <code>supervisord</code>), which listens for HTTP connections on port 3000. The status page then embeds the client in an <code>iframe</code> pointing at <code>http://localhost:3000</code>.</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=TV&diff=1301TV2016-06-02T20:54:15Z<p>Alex: /* Status page */ Add procedure for updating code</p>
<hr />
<div>A plasma screen is affixed to the wall. It displays status information about the space.<br />
<br />
== The Screen ==<br />
<br />
It's a Hitachi [https://sphere.chronosempire.org.uk/~HEx/32pd5000.pdf 42PD5000]. Native resolution is 1024x1024, but it does not accept digital input at this resolution, or any sane resolution. The screen itself is 16:9, but all the advertised EDID modes are 4:3. The manual suggests that it should be capable of more, but these are specific to which inputs are used (DVI accepts different resolutions to VGA).<br />
<br />
After much experimentation, I (HEx) settled on 1024x768 over VGA, software scaled to 1366x768.<br />
<br />
== Hardware ==<br />
<br />
Driving the screen is an Athlon 64 box named sauron (172.31.26.112). It runs debian jessie.<br />
<br />
User "kiosk" is logged in on boot, running Chromium in kiosk mode.<br />
<br />
== Status page ==<br />
<br />
The status page displays:<br />
* General status from the API (open or closed, who's here, current temperature).<br />
* Twitter feed<br />
* Mailing list feed<br />
* IRC (Sauron is a member of the channel using the nickname Sauron-tv)<br />
* Camera feed<br />
<br />
The code is stored on [https://github.com/leedshackspace/lhs-status GitHub] and is checked out locally to <code>/srv/lhs-status</code> on Sauron, which is then served by Apache.<br />
<br />
=== Updating the code ===<br />
<br />
When the code in the lhs-status GitHub repo has been updated, <code>cd</code> into <code>/srv/lhs-status/lhs-status</code> and <code>git pull</code> to pull the most recent changes. Then either refresh Chromium on the PC, or via SSH run <code>sudo pkill chromium</code> to kill Chromium (<code>kiosk.sh</code> will automatically restart it).<br />
<br />
=== Mailing list feed ===<br />
<br />
The list of topics on the mailing list is served as an RSS feed by Google Groups, but due to [https://en.wikipedia.org/wiki/Cross-origin_resource_sharing CORS] restrictions it cannot be accessed using an AJAX request directly from the status page. As a workaround, Apache is configured to reverse-proxy requests to <code>topics.xml</code> in the main lhs-status directory to the actual Google Groups [https://groups.google.com/forum/feed/leeds-hack-space/msgs/rss.xml?num=15 RSS URL].<br />
<br />
== Control through IRC ==<br />
<br />
Sauron has some functions that can be triggered through the IRC channel. They can be run in two ways:<br />
* by mentioning the name of the bot in the Leeds Hackspace channel<br />
* by sending a private message to the bot<br />
<br />
You can get the bot's attention by either mentioning its name, or prefixing your message with the "^" symbol. Commands are run by giving the command name and then the command arguments, e.g:<br />
* <code>Sauron-tv: bigtext This message will appear big on-screen</code><br />
* <code>^bigtext This message will appear big on-screen</code><br />
<br />
=== Commands ===<br />
<br />
==== General ====<br />
* <code>bigtext ''your message here''</code> - show a short message in big flashing text on screen for 10 seconds.<br />
<br />
==== Camera view control ====<br />
Controls what camera is currently displayed on the screen. Current camera choices are ''carpark'', ''main1'' (camera by the soldering station), ''main2'' (camera on the arcade cab), ''door'' (the internal door), ''outside'' (the external door), and ''3dprinter''.<br />
* <code>cam fix ''camname''</code> - View the specified camera indefinitely.<br />
* <code>cam resume</code> - Resume rotating through cameras (Sauron starts up in this mode)<br />
* <code>cam view ''camname''</code> - View the specified camera for 30 seconds, then resume rotating<br />
<br />
=== Implementation ===<br />
<br />
The IRC client embedded within the status page is a [https://github.com/leedshackspace/shout fork] of the [https://github.com/erming/shout Shout] Node JS-based web IRC client. The fork includes Hackspace-specific additions such as a theme that hides all UI elements apart from the main chat messages window, in addition to having several pull requests on the main Shout repository merged ([https://github.com/erming/shout/pull/414 automatically joining the channel on load], and [https://github.com/erming/shout/pull/320 adding a framework for client plugins]).<br />
<br />
Commands from the IRC client iframe are passed up to the main display's frame using a plugin located in <code>/home/kiosk/.shout/plugins/bridge.js</code>. These commands are received by the [https://github.com/leedshackspace/lhs-status/blob/master/irc-command.js <code>irc-command</code> module in the lhs-status repo].<br />
<br />
The client runs as a node process (managed by <code>supervisord</code>), which listens for HTTP connections on port 3000. The status page then embeds the client in an <code>iframe</code> pointing at <code>http://localhost:3000</code>.</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=TV&diff=1295TV2016-05-14T23:05:57Z<p>Alex: /* Implementation */ Add detail on how commands get from the Shout iframe to the parent frame</p>
<hr />
<div>A plasma screen is affixed to the wall. It displays status information about the space.<br />
<br />
== The Screen ==<br />
<br />
It's a Hitachi [https://sphere.chronosempire.org.uk/~HEx/32pd5000.pdf 42PD5000]. Native resolution is 1024x1024, but it does not accept digital input at this resolution, or any sane resolution. The screen itself is 16:9, but all the advertised EDID modes are 4:3. The manual suggests that it should be capable of more, but these are specific to which inputs are used (DVI accepts different resolutions to VGA).<br />
<br />
After much experimentation, I (HEx) settled on 1024x768 over VGA, software scaled to 1366x768.<br />
<br />
== Hardware ==<br />
<br />
Driving the screen is an Athlon 64 box named sauron (172.31.26.112). It runs debian jessie.<br />
<br />
User "kiosk" is logged in on boot, running Chromium in kiosk mode.<br />
<br />
== Status page ==<br />
<br />
The status page displays:<br />
* General status from the API (open or closed, who's here, current temperature).<br />
* Twitter feed<br />
* Mailing list feed<br />
* IRC (Sauron is a member of the channel using the nickname Sauron-tv)<br />
* Camera feed<br />
<br />
The code is stored on [https://github.com/leedshackspace/lhs-status GitHub] and is checked out locally to <code>/srv/lhs-status</code> on Sauron, which is then served by Apache. <br />
<br />
=== Mailing list feed ===<br />
<br />
The list of topics on the mailing list is served as an RSS feed by Google Groups, but due to [https://en.wikipedia.org/wiki/Cross-origin_resource_sharing CORS] restrictions it cannot be accessed using an AJAX request directly from the status page. As a workaround, Apache is configured to reverse-proxy requests to <code>topics.xml</code> in the main lhs-status directory to the actual Google Groups [https://groups.google.com/forum/feed/leeds-hack-space/msgs/rss.xml?num=15 RSS URL].<br />
<br />
== Control through IRC ==<br />
<br />
Sauron has some functions that can be triggered through the IRC channel. They can be run in two ways:<br />
* by mentioning the name of the bot in the Leeds Hackspace channel<br />
* by sending a private message to the bot<br />
<br />
You can get the bot's attention by either mentioning its name, or prefixing your message with the "^" symbol. Commands are run by giving the command name and then the command arguments, e.g:<br />
* <code>Sauron-tv: bigtext This message will appear big on-screen</code><br />
* <code>^bigtext This message will appear big on-screen</code><br />
<br />
=== Commands ===<br />
<br />
==== General ====<br />
* <code>bigtext ''your message here''</code> - show a short message in big flashing text on screen for 10 seconds.<br />
<br />
==== Camera view control ====<br />
Controls what camera is currently displayed on the screen. Current camera choices are ''carpark'', ''main1'' (camera by the soldering station), ''main2'' (camera on the arcade cab), ''door'' (the internal door), ''outside'' (the external door), and ''3dprinter''.<br />
* <code>cam fix ''camname''</code> - View the specified camera indefinitely.<br />
* <code>cam resume</code> - Resume rotating through cameras (Sauron starts up in this mode)<br />
* <code>cam view ''camname''</code> - View the specified camera for 30 seconds, then resume rotating<br />
<br />
=== Implementation ===<br />
<br />
The IRC client embedded within the status page is a [https://github.com/leedshackspace/shout fork] of the [https://github.com/erming/shout Shout] Node JS-based web IRC client. The fork includes Hackspace-specific additions such as a theme that hides all UI elements apart from the main chat messages window, in addition to having several pull requests on the main Shout repository merged ([https://github.com/erming/shout/pull/414 automatically joining the channel on load], and [https://github.com/erming/shout/pull/320 adding a framework for client plugins]).<br />
<br />
Commands from the IRC client iframe are passed up to the main display's frame using a plugin located in <code>/home/kiosk/.shout/plugins/bridge.js</code>. These commands are received by the [https://github.com/leedshackspace/lhs-status/blob/master/irc-command.js <code>irc-command</code> module in the lhs-status repo].<br />
<br />
The client runs as a node process (managed by <code>supervisord</code>), which listens for HTTP connections on port 3000. The status page then embeds the client in an <code>iframe</code> pointing at <code>http://localhost:3000</code>.</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=TV&diff=1294TV2016-05-14T23:02:07Z<p>Alex: IRC commands can be triggered by PM or by prefixing with ^</p>
<hr />
<div>A plasma screen is affixed to the wall. It displays status information about the space.<br />
<br />
== The Screen ==<br />
<br />
It's a Hitachi [https://sphere.chronosempire.org.uk/~HEx/32pd5000.pdf 42PD5000]. Native resolution is 1024x1024, but it does not accept digital input at this resolution, or any sane resolution. The screen itself is 16:9, but all the advertised EDID modes are 4:3. The manual suggests that it should be capable of more, but these are specific to which inputs are used (DVI accepts different resolutions to VGA).<br />
<br />
After much experimentation, I (HEx) settled on 1024x768 over VGA, software scaled to 1366x768.<br />
<br />
== Hardware ==<br />
<br />
Driving the screen is an Athlon 64 box named sauron (172.31.26.112). It runs debian jessie.<br />
<br />
User "kiosk" is logged in on boot, running Chromium in kiosk mode.<br />
<br />
== Status page ==<br />
<br />
The status page displays:<br />
* General status from the API (open or closed, who's here, current temperature).<br />
* Twitter feed<br />
* Mailing list feed<br />
* IRC (Sauron is a member of the channel using the nickname Sauron-tv)<br />
* Camera feed<br />
<br />
The code is stored on [https://github.com/leedshackspace/lhs-status GitHub] and is checked out locally to <code>/srv/lhs-status</code> on Sauron, which is then served by Apache. <br />
<br />
=== Mailing list feed ===<br />
<br />
The list of topics on the mailing list is served as an RSS feed by Google Groups, but due to [https://en.wikipedia.org/wiki/Cross-origin_resource_sharing CORS] restrictions it cannot be accessed using an AJAX request directly from the status page. As a workaround, Apache is configured to reverse-proxy requests to <code>topics.xml</code> in the main lhs-status directory to the actual Google Groups [https://groups.google.com/forum/feed/leeds-hack-space/msgs/rss.xml?num=15 RSS URL].<br />
<br />
== Control through IRC ==<br />
<br />
Sauron has some functions that can be triggered through the IRC channel. They can be run in two ways:<br />
* by mentioning the name of the bot in the Leeds Hackspace channel<br />
* by sending a private message to the bot<br />
<br />
You can get the bot's attention by either mentioning its name, or prefixing your message with the "^" symbol. Commands are run by giving the command name and then the command arguments, e.g:<br />
* <code>Sauron-tv: bigtext This message will appear big on-screen</code><br />
* <code>^bigtext This message will appear big on-screen</code><br />
<br />
=== Commands ===<br />
<br />
==== General ====<br />
* <code>bigtext ''your message here''</code> - show a short message in big flashing text on screen for 10 seconds.<br />
<br />
==== Camera view control ====<br />
Controls what camera is currently displayed on the screen. Current camera choices are ''carpark'', ''main1'' (camera by the soldering station), ''main2'' (camera on the arcade cab), ''door'' (the internal door), ''outside'' (the external door), and ''3dprinter''.<br />
* <code>cam fix ''camname''</code> - View the specified camera indefinitely.<br />
* <code>cam resume</code> - Resume rotating through cameras (Sauron starts up in this mode)<br />
* <code>cam view ''camname''</code> - View the specified camera for 30 seconds, then resume rotating<br />
<br />
=== Implementation ===<br />
<br />
The IRC client embedded within the status page is a [https://github.com/leedshackspace/shout fork] of the [https://github.com/erming/shout Shout] Node JS-based web IRC client. The fork includes Hackspace-specific additions such as a theme that hides all UI elements apart from the main chat messages window, in addition to having several pull requests on the main Shout repository merged ([https://github.com/erming/shout/pull/414 automatically joining the channel on load], and [https://github.com/erming/shout/pull/320 adding a framework for client plugins]).<br />
<br />
The client runs as a node process (managed by <code>supervisord</code>), which listens for HTTP connections on port 3000. The status page then embeds the client in an <code>iframe</code> pointing at <code>http://localhost:3000</code>.</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Marvin_P_Droid&diff=1272Marvin P Droid2016-04-12T21:38:27Z<p>Alex: /* IRC Bot Commands */ add ?phone command</p>
<hr />
<div>Marvin is the space automation and monitoring system.<br />
<br />
If you just want a user manual without all the details see [[Access Control]]<br />
<br />
== Git ==<br />
<br />
Code and configuration for the majority of Marvin's systems is stored in a git repository on github at http://github.com/pbrook/lhs-marvin.<br />
<br />
== Hackspace Server ==<br />
<br />
The majority of Marvin's functionality is provided by the machine gateway.hackspace, which resides in the cab at the hackspace. The following services are provided:<br />
<br />
* DNS<br />
* DHCP<br />
* Router spanning wired, wireless, external (internet) and VPN network segments<br />
* Door lock master and logging<br />
* Database<br />
* Webcam motion capture and image feeds<br />
<br />
=== Configuration ===<br />
<br />
All configuration done via the ansible playbook and supporting files stored in the git repository.<br />
Manual changes should not be made to this system, it should be possible to rebuild everything from just the github repository.<br />
<br />
=== User Accounts ===<br />
<br />
External access to the internal hackspace network is via this machine. Accounts are available on application. Authentication is by SSH key only.<br />
<br />
All user data on this machine should be considered transient and at risk of deletion.<br />
Do not expose sensitive data on this machine (or any other hackspace machine). <br />
<br />
=== Secret Keys ===<br />
<br />
Full configuration of the machine requires several passwords and secret keys not stored in the public git repository.<br />
<br />
'''FIXME:''' Document where these live.<br />
<br />
== DNS and DHCP ==<br />
<br />
Care should be taken to ensure that DHCP and both forward and reverse DNS entres are consistent when making changes.<br />
<br />
Internal DNS uses the .hackspace domain. It is implemented with bind9 on the gateway machine.<br />
<br />
The wired subnet is 172.31.26.0/24, and the wireless subnet is 172.31.27.0/24. Addresses are assigned by the ISC DHCP server on the gateway machine.<br />
<br />
== RFID Access System ==<br />
<br />
Access to the hackspace is controled by an RFID tag based system. It covers both the internal upstairs door and the external door shared with the Pedallers Arms.<br />
<br />
=== Door Locks ===<br />
<br />
Each door has an electronic lock, with RFID reader and a numeric keypad.<br />
<br />
Each unit includes battery backup provided by 8x AA NiMh rechargeable batteries. These should be sufficient to keep the lock operational for several days. The batteries are trickle charged when external power is present.<br />
<br />
The door locks communicate with the server using a custom serial protocol. Power (12v) and data (rs232) are supplied over a single 5-pin DIN connector. The cabling is the same as (but not electrically compatible with) a MIDI cable.<br />
<br />
Logging, updating the list of approved tags, and other functions are achieved by communicating with the daemon on the server. The serial protocol is documented in the arduino source code.<br />
<br />
The lock stores a set of RFID tag/PIN pairs in non-volatile storage. In the event of a server/power failure the lock will continue to operate automously.<br />
<br />
The upstairs lock includes a second RFID reader on the inside of the room. This allows members to tag out as they leave.<br />
<br />
=== Auxiliary Arduino ===<br />
<br />
The blue box on top of the server cab provides connectivity between the server and other systems. It contains:<br />
* An arduino with temperature readings and MOSFET to control the space open sign. Historically this provided other functions, however these are no longer used, and probably broken.<br />
* A pair of USB-serial modules with RS232 level shifters for doorlock communication<br />
* USB hub. The serial devices do not have useful serial numbers, so are identified based on which port they are connected to.<br />
* 12v 2.5A DC power brick. While average power draw is fairly low, peak power draw of the door lock solenoid is ~1A.<br />
<br />
=== Space Open Sign ===<br />
<br />
The illuminated sign at the top of the stairs is turned on when the space is open. The LEDs are wired to operate off a 12v supply.<br />
<br />
=== Space management daemon (doord) ===<br />
<br />
The doord daemon provides several functions:<br />
* Control of door locks<br />
* Control of the auviliary Arduino<br />
* Scanning ARP entires to determine presence of machines on the network.<br />
* Logging<br />
* Opening and closing the space<br />
* Database management for door locks and space state<br />
* IRC messages<br />
<br />
=== Space state logic ===<br />
<br />
The space will open when the door is unlocked (this requires valid RFID tag and PIN).<br />
<br />
When the space has been opened by a keyholder, any member can open the door with their RFID tag. No PIN is required.<br />
<br />
When the space is open to the public the door can be opened by pressing '#'. Public access also requires the space to have been opened by a keyholder.<br />
<br />
The space will close if the door is closed and no members are present (determined by network devices or recently scanned RFID tags).<br />
<br />
Scanning a tag on the inside of the upstairs doorlock will caused that member to be immediately logged out. If there are no other members present then the space will close. Pressing the '*' key on the keypad within a few seconds will cause all members to be logged out, and the space to close immediately.<br />
<br />
=== Public Open Days/Evening ===<br />
<br />
A public open evening is hardcoded for Tuesday from 5pm. This assumption is present in both doord.py and gateway/www/status.php.<br />
<br />
Other public open days can be added via the <code>open_days</code> database table.<br />
<br />
In both cases public access is conditional on the space already being open, so it if nobody turns (or the keyholder is late) the building should still be secure.<br />
<br />
== External webserver ==<br />
<br />
The external webserver for leedshackspace.org.uk lives in Nav's loft on the end of his DSL connection. This needs to be moved to a properly hosted system. A migration process in underway to move to a dedicated server, which is being documented in [[New VM Migration]].<br />
<br />
=== VPN ===<br />
<br />
Connectivity between the machine in the hackspace (gateway.hackspace) and the external webserver (leedshackspace.org.uk) is provided by and OpenVPN tunnel. The tunnel is initiated by gateway. The VPN is used for querying doord running on the internal server for the space status for the IRC bot and website, and for proxying requests for webcam images.<br />
<br />
== IRC ==<br />
<br />
The IRC bot is based upon [https://github.com/RJ/irccat irccat].<br />
<br />
This is a horrible mess of xml configuration files, Java, and scripts written in a variety of languages. It also accepts messages via a TCP socket, which are then passed on to the IRC channels.<br />
<br />
Marvin is mainly situated in <code>/usr/local/src/irccat</code> on the web server running on a VPS.<br />
<br />
Parts of this bot are everywhere, the code is out of date, not currently version controlled and is in a (bit of a) mess.<br />
<br />
The bot is setup to join #leeds-hack-space and #leedshackspace as '''Marvin_P_Droid''' on freenode IRC, with #leeds-hack-space set as the primary channel in the irccat config xml file.<br />
<br />
=== IRC Bot Commands ===<br />
<br />
Commands can be run from either the irc channel #leeds-hack-space or they can be /msg sent to Marvin_P_Droid.<br />
<br />
Commands are directly executed from their script names, this is why you have to be careful what you put in the <code>commands</code> folder and it may be best to have a 'command' filename that just refers to other script file names that are stored in sub folders. They are stored in <code>/usr/local/src/irccat/commands</code>.<br />
<br />
Most of these commands date from before we moved into our current space, and many of them are broken.<br />
<br />
{| class="wikitable"<br />
! style="text-align:left;"| Command<br />
! style="text-align:left;"| Description<br />
|-<br />
|?status<br />
|Show whether the space is open, and if so, who's there<br />
|-<br />
|?rules<br />
|List the Hackspace rules<br />
|-<br />
|?space, ?mars, ?galaxy<br />
|Show how many humans are in space (and how many harpoons)<br />
|-<br />
|?phone<br />
|Show the Hackspace phone number<br />
|-<br />
|?moo<br />
|Have a cow reply to you<br />
|-<br />
|?harpoons<br />
|Show how many harpoons are in space<br />
|-<br />
|?idea<br />
|<br />
|-<br />
|?noidea<br />
|<br />
|-<br />
|?xyzzy<br />
|Magic<br />
|}</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Laser_Cutter_Manual&diff=1215Laser Cutter Manual2016-03-30T15:47:08Z<p>Alex: Remove reference to rabbits; add note reminding people to wait until the LED turns green when inserting card</p>
<hr />
<div>Laser cutter one-page manual<br />
<br />
The laser cutter is now at a level where it can be used by inducted members, but can be improved.<br />
<br />
== Required Software ==<br />
<br />
To use the laser cutter you need to install [http://visicut.org VisiCut].<br />
<br />
When you open VisiCut for the first time it will ask you where you are. Select '''Leeds Hackspace''' from the list.<br />
<br />
== Performing a cut ==<br />
<br />
Prepare your work-piece in Illustrator, Inkscape, FreeCAD or similar that can export SVG, EPS or DXF files.<br />
<br />
Power on the Laser cutter prior to clicking execute in VisiCut. This starts the booting sequence and indicates to other members in the space that you intend on using the laser cutter.<br />
<br />
From the '''File''' menu, select '''Import''' and load your SVG, EPS or DXF.<br />
<br />
At this point you need to decide what kind of lasering you will be doing:<br />
<br />
* Cut everything as lines, Dither everything or Solidly engrave everything, simply select “Cut Everything”, “Engrave (dithered)” or “Engrave (solid)” as your mapping, check Speed and Power settings are accurate under “Laser Settings”, and click Execute.<br />
* Do different things for different colours of shapes - Select Map by Color, and Select the type of cut/engrave per colour. Then click on each item that is coloured on the work area and check the “Laser Settings” tab to verify the settings are correct, then click Execute.<br />
* Please note that we are still calibrating the machine for raster etching and this function is not yet available reliably.<br />
<br />
Here is a test file to use during inductions and when calibrating materials: https://wiki.leedshackspace.org.uk/wiki/File:LASER_TEST_FILE_-_NO_RASTER.svg<br />
And here is a cute owl: https://wiki.leedshackspace.org.uk/wiki/File:Hsowl.svg<br />
<br />
Place your workpiece on the cutting tray, take the ruler device and ensure it is flat against the side bar and the surface you wish to cut. If it is not, use the up/down switch to move the bed up/down. Note that if you have to do this, the panel may lock up, at which point you have to switch the cutter off and on again and click execute again in VisiCut before you can start cutting.<br />
<br />
If you press the red button on the panel, you can get to the main menu, where you can select Run or Boundaries. Not a bad idea to use the boundaries function until you get a feel for where the origin is on the cutter.<br />
<br />
Insert your member card and wait for the LED to turn green, then click “Run” and click again to select the only file on the cutter (the cutter only ever keeps the last file on it and deletes it on startup). You should be keeping a track of your usage at this point, time spent with your card in the slot is what is chargeable. It costs £1 per 10 minutes (£1 minimum charge).<br />
<br />
Remove your card as soon as your cut is complete. Once you have finished cutting, power off the laser, then take the dustpan and brush and clean out under the cutting area.</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=6040_Laser_Cutter&diff=12146040 Laser Cutter2016-03-30T15:44:22Z<p>Alex: /* About */ Note that we perform continual improvement to the machine, and that you won't be able to use the machine (with your card) without an induction</p>
<hr />
<div>{{Equipment<br />
| title = Laser Cutter<br />
| manufacturer = China!<br />
| model = 6040<br />
| image = NewLaser-workshop-page.jpg<br />
| owner = Hackspace<br />
| induction = Yes<br />
| rfid = Yes<br />
}}== See Also ==<br />
<br />
The [[Laser Cutter Manual]] is a quick refresher for inducted members on how to use the laser cutter.<br />
<br />
[https://fablab.berlin/en/ Berlin FabLab] have some fantastic instructions for using [https://hci.rwth-aachen.de/visicut VisiCut] [https://wiki.fablab.berlin/Laser_Cutting_Introduction available here]<br />
<br />
[http://svgnest.com/ SVGNest] is an online tool for nesting SVG files using space efficiently.<br />
<br />
== About ==<br />
In December 2014 we purchased an A2 laser cutter from China and a [http://www.laoslaser.org LAOS] controller board to upgrade it. The laser was delivered in January 2015 and is now fully operational. Occasional improvements are made to it to improve its performance as we learn more about how to configure it.<br />
<br />
After the upgrade the laser is controlled with [http://hci.rwth-aachen.de/visicut Visicut]. The configuration for Visicut can be automatically installed (as of Mid Feb 2015) by simply selecting Leeds Hackspace from the list of laser cutters on first installation. An additional element using [[Visicam]] to work with Visicut has also been added.<br />
<br />
'''An induction on using the laser cutter is required before use by a designated Hackspace inductor.''' Without an induction, your Hackspace card will not allow you to use the machine. For brief reference there is a simple [[Laser Cutter Manual]] to be used as a reminder.<br />
<br />
== Suggested Cutting Settings ==<br />
Cutting turns the laser on and moves the beam over the surface. The intense heat energy vaporises the material where it is focused, forming a cut.<br />
These settings (and more [[Laser Cutter Settings]]) have been tried and tested, with some success. Experiment with them.<br />
<br />
{| class="wikitable"<br />
! style="font-weight: bold;" | Material<br />
! style="font-weight: bold;" | Thickness<br />
! style="font-weight: bold;" | Power<br />
! style="font-weight: bold;" | Speed<br />
! style="font-weight: bold;" | Notes<br />
|-<br />
| Acrylic<br />
| 3 mm<br />
| 100<br />
| 14<br />
|<br />
|-<br />
| MDF<br />
| 3 mm<br />
| 100<br />
| 14<br />
|<br />
|-<br />
| MDF - vector etch<br />
| 3 mm<br />
| 60<br />
| 60<br />
|<br />
|-<br />
| Laser Ply<br />
| 3mm<br />
| 100<br />
| 14<br />
|<br />
|-<br />
| Card<br />
| 150gsm<br />
| 60<br />
| 40<br />
|<br />
|-<br />
| T-Shirt<br />
|<br />
| 24-25<br />
| 100<br />
| Resolution 300dpi<br />
|}<br />
<br />
== Suggested Etch Settings ==<br />
<br />
Etching pulses the laser in order to etch into surface, because the beam is narrow the machine has to make multiple passes to construct your etch and so can take a long time.<br />
'''Currently etching only works unidirectionally''' bidirectional etching will result in squished output. <br />
{| class="wikitable"<br />
! style="font-weight: bold;" | Material<br />
! style="font-weight: bold;" | Etch Type<br />
! style="font-weight: bold;" | Power<br />
! style="font-weight: bold;" | Speed<br />
! style="font-weight: bold;" | Notes<br />
|-<br />
| Macbook<br />
| Solid Etch<br />
| 60<br />
| 100<br />
| Power 100 gives "feelable" finish, 60 seems nice.<br />
|}<br />
<br />
== Usage tariff ==<br />
<br />
Usage of the laser cutter costs £1 per 10 minutes, with a £1 minimum charge. This is to cover the cost of replacing the laser tube, which has a limited lifespan.<br />
<br />
Please note: you're charged for the amount of time that your card is inserted into the machine.<br />
<br />
== Capabilities ==<br />
<br />
The 6040 in the name is a reference to the size of the cutting bed - 600x400mm - given that the home position is not 0,0 we will lose some of that.<br />
It is a 60w Laser but it is a cheap chinese 60w laser, we have to not over-expect.<br />
The focal length from the centre of the lens to the centre of the cutting piece should be 50.8mm<br />
<br />
There are limits to how thick it can cut, but the laser should cut:<br />
<br />
* Acrylic sheet<br />
* Plywood<br />
* MDF<br />
* Paper<br />
* Card (with the exception of corrugated card)<br />
<br />
You will NOT cut:<br />
<br />
* Vinyl (toxic/corrosive fumes)<br />
* Lexan (different toxic fumes)<br />
* Corrugated card (fire risk)<br />
* Food (it smells horrible and gunges up the laser)<br />
<br />
You will NOT lick the laser cutter, even when inducted.<br />
<br />
"Etch"-able with a mask on material (covered in induction):<br />
<br />
* Metal<br />
* Glass[http://www.engraversjournal.com/article.php/2360/index.html]<br />
* Ceramics<br />
<br />
All of the above need their reflectiveness dealing with or you could damage the laser.<br />
<br />
Anything not mentioned above, ask a Laser-inducted director and do not be surprised/upset when they say "hell no!"<br />
<br />
A useful guide as to whether they will say yes/no : http://www.originlaser.com.au/laser-materials/<br />
<br />
== Maintenance ==<br />
<br />
* After use<br />
** Allow laser to cool with water still running before powering off.<br />
** Vacuum out any laser crud that's on/under the bed.<br />
** Ensure you've left the laser clean and tidy.<br />
** Clear your scrap.<br />
*** Don't leave things by the side of the laser!<br />
*** Obvious rubbish goes in the bin (recycling options?)<br />
*** Break down bigger pieces into something useful.<br />
*** Take the remains home or donate to [[scrap laser storage]].<br />
** Remember your RFID card!<br />
<br />
*Periodic<br />
** Check coolant levels, top up with distilled water if necessary.<br />
** Check vent tube for any escaped laser crud.<br />
** Clean optics. [please ask on the mailing list if you think this needs doing]<br />
<br />
== Operational/Installation Maintenance ==<br />
<br />
* Mount laser on trolley - May wish to be re-mounted to ensure cutter is straight<br />
* RFID access - Operational, requires Marvin integration<br />
* Motor Control - There is potentially an operational problem with printing circular complex objects (cogs)</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=6040_Laser_Cutter&diff=12136040 Laser Cutter2016-03-30T15:40:24Z<p>Alex: /* Suggested Cutting Settings */ minor formatting fixes</p>
<hr />
<div>{{Equipment<br />
| title = Laser Cutter<br />
| manufacturer = China!<br />
| model = 6040<br />
| image = NewLaser-workshop-page.jpg<br />
| owner = Hackspace<br />
| induction = Yes<br />
| rfid = Yes<br />
}}== See Also ==<br />
<br />
The [[Laser Cutter Manual]] is a quick refresher for inducted members on how to use the laser cutter.<br />
<br />
[https://fablab.berlin/en/ Berlin FabLab] have some fantastic instructions for using [https://hci.rwth-aachen.de/visicut VisiCut] [https://wiki.fablab.berlin/Laser_Cutting_Introduction available here]<br />
<br />
[http://svgnest.com/ SVGNest] is an online tool for nesting SVG files using space efficiently.<br />
<br />
== About ==<br />
In December 2014 we purchased a new A2 laser cutter from China and a [http://www.laoslaser.org LAOS] controller board to upgrade it. The laser was delivered in January 2015 and work is currently underway integrating it into the hackspace RFID system so usage can be tracked. It's anticipated that things should be up and running... when it is ready.<br />
<br />
After the upgrade the laser is controlled with [http://hci.rwth-aachen.de/visicut Visicut]. The configuration for Visicut can be automatically installed (as of Mid Feb 2015) by simply selecting Leeds Hackspace from the list of laser cutters on first installation. An additional element using [[Visicam]] to work with Visicut has also been added.<br />
<br />
'''An induction on using the laser cutter is required before use by a designated Hackspace inductor.''' For brief reference there is a simple [[Laser Cutter Manual]] to be used as a reminder.<br />
<br />
== Suggested Cutting Settings ==<br />
Cutting turns the laser on and moves the beam over the surface. The intense heat energy vaporises the material where it is focused, forming a cut.<br />
These settings (and more [[Laser Cutter Settings]]) have been tried and tested, with some success. Experiment with them.<br />
<br />
{| class="wikitable"<br />
! style="font-weight: bold;" | Material<br />
! style="font-weight: bold;" | Thickness<br />
! style="font-weight: bold;" | Power<br />
! style="font-weight: bold;" | Speed<br />
! style="font-weight: bold;" | Notes<br />
|-<br />
| Acrylic<br />
| 3 mm<br />
| 100<br />
| 14<br />
|<br />
|-<br />
| MDF<br />
| 3 mm<br />
| 100<br />
| 14<br />
|<br />
|-<br />
| MDF - vector etch<br />
| 3 mm<br />
| 60<br />
| 60<br />
|<br />
|-<br />
| Laser Ply<br />
| 3mm<br />
| 100<br />
| 14<br />
|<br />
|-<br />
| Card<br />
| 150gsm<br />
| 60<br />
| 40<br />
|<br />
|-<br />
| T-Shirt<br />
|<br />
| 24-25<br />
| 100<br />
| Resolution 300dpi<br />
|}<br />
<br />
== Suggested Etch Settings ==<br />
<br />
Etching pulses the laser in order to etch into surface, because the beam is narrow the machine has to make multiple passes to construct your etch and so can take a long time.<br />
'''Currently etching only works unidirectionally''' bidirectional etching will result in squished output. <br />
{| class="wikitable"<br />
! style="font-weight: bold;" | Material<br />
! style="font-weight: bold;" | Etch Type<br />
! style="font-weight: bold;" | Power<br />
! style="font-weight: bold;" | Speed<br />
! style="font-weight: bold;" | Notes<br />
|-<br />
| Macbook<br />
| Solid Etch<br />
| 60<br />
| 100<br />
| Power 100 gives "feelable" finish, 60 seems nice.<br />
|}<br />
<br />
== Usage tariff ==<br />
<br />
Usage of the laser cutter costs £1 per 10 minutes, with a £1 minimum charge. This is to cover the cost of replacing the laser tube, which has a limited lifespan.<br />
<br />
Please note: you're charged for the amount of time that your card is inserted into the machine.<br />
<br />
== Capabilities ==<br />
<br />
The 6040 in the name is a reference to the size of the cutting bed - 600x400mm - given that the home position is not 0,0 we will lose some of that.<br />
It is a 60w Laser but it is a cheap chinese 60w laser, we have to not over-expect.<br />
The focal length from the centre of the lens to the centre of the cutting piece should be 50.8mm<br />
<br />
There are limits to how thick it can cut, but the laser should cut:<br />
<br />
* Acrylic sheet<br />
* Plywood<br />
* MDF<br />
* Paper<br />
* Card (with the exception of corrugated card)<br />
<br />
You will NOT cut:<br />
<br />
* Vinyl (toxic/corrosive fumes)<br />
* Lexan (different toxic fumes)<br />
* Corrugated card (fire risk)<br />
* Food (it smells horrible and gunges up the laser)<br />
<br />
You will NOT lick the laser cutter, even when inducted.<br />
<br />
"Etch"-able with a mask on material (covered in induction):<br />
<br />
* Metal<br />
* Glass[http://www.engraversjournal.com/article.php/2360/index.html]<br />
* Ceramics<br />
<br />
All of the above need their reflectiveness dealing with or you could damage the laser.<br />
<br />
Anything not mentioned above, ask a Laser-inducted director and do not be surprised/upset when they say "hell no!"<br />
<br />
A useful guide as to whether they will say yes/no : http://www.originlaser.com.au/laser-materials/<br />
<br />
== Maintenance ==<br />
<br />
* After use<br />
** Allow laser to cool with water still running before powering off.<br />
** Vacuum out any laser crud that's on/under the bed.<br />
** Ensure you've left the laser clean and tidy.<br />
** Clear your scrap.<br />
*** Don't leave things by the side of the laser!<br />
*** Obvious rubbish goes in the bin (recycling options?)<br />
*** Break down bigger pieces into something useful.<br />
*** Take the remains home or donate to [[scrap laser storage]].<br />
** Remember your RFID card!<br />
<br />
*Periodic<br />
** Check coolant levels, top up with distilled water if necessary.<br />
** Check vent tube for any escaped laser crud.<br />
** Clean optics. [please ask on the mailing list if you think this needs doing]<br />
<br />
== Operational/Installation Maintenance ==<br />
<br />
* Mount laser on trolley - May wish to be re-mounted to ensure cutter is straight<br />
* RFID access - Operational, requires Marvin integration<br />
* Motor Control - There is potentially an operational problem with printing circular complex objects (cogs)</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Marvin_P_Droid&diff=1212Marvin P Droid2016-03-24T15:50:56Z<p>Alex: /* IRC Bot Commands */ Add some unearthed commands</p>
<hr />
<div>Marvin is the space automation and monitoring system.<br />
<br />
If you just want a user manual without all the details see [[Access Control]]<br />
<br />
== Git ==<br />
<br />
Code and configuration for the majority of Marvin's systems is stored in a git repository on github at http://github.com/pbrook/lhs-marvin.<br />
<br />
== Hackspace Server ==<br />
<br />
The majority of Marvin's functionality is provided by the machine gateway.hackspace, which resides in the cab at the hackspace. The following services are provided:<br />
<br />
* DNS<br />
* DHCP<br />
* Router spanning wired, wireless, external (internet) and VPN network segments<br />
* Door lock master and logging<br />
* Database<br />
* Webcam motion capture and image feeds<br />
<br />
=== Configuration ===<br />
<br />
All configuration done via the ansible playbook and supporting files stored in the git repository.<br />
Manual changes should not be made to this system, it should be possible to rebuild everything from just the github repository.<br />
<br />
=== User Accounts ===<br />
<br />
External access to the internal hackspace network is via this machine. Accounts are available on application. Authentication is by SSH key only.<br />
<br />
All user data on this machine should be considered transient and at risk of deletion.<br />
Do not expose sensitive data on this machine (or any other hackspace machine). <br />
<br />
=== Secret Keys ===<br />
<br />
Full configuration of the machine requires several passwords and secret keys not stored in the public git repository.<br />
<br />
'''FIXME:''' Document where these live.<br />
<br />
== DNS and DHCP ==<br />
<br />
Care should be taken to ensure that DHCP and both forward and reverse DNS entres are consistent when making changes.<br />
<br />
Internal DNS uses the .hackspace domain. It is implemented with bind9 on the gateway machine.<br />
<br />
The wired subnet is 172.31.26.0/24, and the wireless subnet is 172.31.27.0/24. Addresses are assigned by the ISC DHCP server on the gateway machine.<br />
<br />
== RFID Access System ==<br />
<br />
Access to the hackspace is controled by an RFID tag based system. It covers both the internal upstairs door and the external door shared with the Pedallers Arms.<br />
<br />
=== Door Locks ===<br />
<br />
Each door has an electronic lock, with RFID reader and a numeric keypad.<br />
<br />
Each unit includes battery backup provided by 8x AA NiMh rechargeable batteries. These should be sufficient to keep the lock operational for several days. The batteries are trickle charged when external power is present.<br />
<br />
The door locks communicate with the server using a custom serial protocol. Power (12v) and data (rs232) are supplied over a single 5-pin DIN connector. The cabling is the same as (but not electrically compatible with) a MIDI cable.<br />
<br />
Logging, updating the list of approved tags, and other functions are achieved by communicating with the daemon on the server. The serial protocol is documented in the arduino source code.<br />
<br />
The lock stores a set of RFID tag/PIN pairs in non-volatile storage. In the event of a server/power failure the lock will continue to operate automously.<br />
<br />
The upstairs lock includes a second RFID reader on the inside of the room. This allows members to tag out as they leave.<br />
<br />
=== Auxiliary Arduino ===<br />
<br />
The blue box on top of the server cab provides connectivity between the server and other systems. It contains:<br />
* An arduino with temperature readings and MOSFET to control the space open sign. Historically this provided other functions, however these are no longer used, and probably broken.<br />
* A pair of USB-serial modules with RS232 level shifters for doorlock communication<br />
* USB hub. The serial devices do not have useful serial numbers, so are identified based on which port they are connected to.<br />
* 12v 2.5A DC power brick. While average power draw is fairly low, peak power draw of the door lock solenoid is ~1A.<br />
<br />
=== Space Open Sign ===<br />
<br />
The illuminated sign at the top of the stairs is turned on when the space is open. The LEDs are wired to operate off a 12v supply.<br />
<br />
=== Space management daemon (doord) ===<br />
<br />
The doord daemon provides several functions:<br />
* Control of door locks<br />
* Control of the auviliary Arduino<br />
* Scanning ARP entires to determine presence of machines on the network.<br />
* Logging<br />
* Opening and closing the space<br />
* Database management for door locks and space state<br />
* IRC messages<br />
<br />
=== Space state logic ===<br />
<br />
The space will open when the door is unlocked (this requires valid RFID tag and PIN).<br />
<br />
When the space has been opened by a keyholder, any member can open the door with their RFID tag. No PIN is required.<br />
<br />
When the space is open to the public the door can be opened by pressing '#'. Public access also requires the space to have been opened by a keyholder.<br />
<br />
The space will close if the door is closed and no members are present (determined by network devices or recently scanned RFID tags).<br />
<br />
Scanning a tag on the inside of the upstairs doorlock will caused that member to be immediately logged out. If there are no other members present then the space will close. Pressing the '*' key on the keypad within a few seconds will cause all members to be logged out, and the space to close immediately.<br />
<br />
=== Public Open Days/Evening ===<br />
<br />
A public open evening is hardcoded for Tuesday from 5pm. This assumption is present in both doord.py and gateway/www/status.php.<br />
<br />
Other public open days can be added via the <code>open_days</code> database table.<br />
<br />
In both cases public access is conditional on the space already being open, so it if nobody turns (or the keyholder is late) the building should still be secure.<br />
<br />
== External webserver ==<br />
<br />
The external webserver for leedshackspace.org.uk lives in Nav's loft on the end of his DSL connection. This needs to be moved to a properly hosted system. A migration process in underway to move to a dedicated server, which is being documented in [[New VM Migration]].<br />
<br />
=== VPN ===<br />
<br />
Connectivity between the machine in the hackspace (gateway.hackspace) and the external webserver (leedshackspace.org.uk) is provided by and OpenVPN tunnel. The tunnel is initiated by gateway. The VPN is used for querying doord running on the internal server for the space status for the IRC bot and website, and for proxying requests for webcam images.<br />
<br />
== IRC ==<br />
<br />
The IRC bot is based upon [https://github.com/RJ/irccat irccat].<br />
<br />
This is a horrible mess of xml configuration files, Java, and scripts written in a variety of languages. It also accepts messages via a TCP socket, which are then passed on to the IRC channels.<br />
<br />
Marvin is mainly situated in <code>/usr/local/src/irccat</code> on the web server running on a VPS.<br />
<br />
Parts of this bot are everywhere, the code is out of date, not currently version controlled and is in a (bit of a) mess.<br />
<br />
The bot is setup to join #leeds-hack-space and #leedshackspace as '''Marvin_P_Droid''' on freenode IRC, with #leeds-hack-space set as the primary channel in the irccat config xml file.<br />
<br />
=== IRC Bot Commands ===<br />
<br />
Commands can be run from either the irc channel #leeds-hack-space or they can be /msg sent to Marvin_P_Droid.<br />
<br />
Commands are directly executed from their script names, this is why you have to be careful what you put in the <code>commands</code> folder and it may be best to have a 'command' filename that just refers to other script file names that are stored in sub folders. They are stored in <code>/usr/local/src/irccat/commands</code>.<br />
<br />
Most of these commands date from before we moved into our current space, and many of them are broken.<br />
<br />
{| class="wikitable"<br />
! style="text-align:left;"| Command<br />
! style="text-align:left;"| Description<br />
|-<br />
|?status<br />
|Show whether the space is open, and if so, who's there<br />
|-<br />
|?rules<br />
|List the Hackspace rules<br />
|-<br />
|?space, ?mars, ?galaxy<br />
|Show how many humans are in space (and how many harpoons)<br />
|-<br />
|?moo<br />
|Have a cow reply to you<br />
|-<br />
|?harpoons<br />
|Show how many harpoons are in space<br />
|-<br />
|?idea<br />
|<br />
|-<br />
|?noidea<br />
|<br />
|-<br />
|?xyzzy<br />
|Magic<br />
|}</div>Alexhttps://wiki.leedshackspace.org.uk/w/index.php?title=Workshop&diff=979Workshop2015-12-05T14:52:25Z<p>Alex: Stub for vinyl cutter</p>
<hr />
<div>[[File:Workshop_Pano.jpg|1024px]]<br />
{|<br />
|-<br />
|{{Box-round|title=[[Workshop/Lathe|Lathe]]<br />
|[[File:Lathe-workshop-page.jpg|300px|link=Workshop/Lathe]]}}<br />
|{{Box-round|title=[[Workshop/Air_Compressor|Air Compressor]]<br />
|[[File:Compressor.jpg|300px|link=Workshop/Air_Compressor]]}}<br />
|{{Box-round|title=[[Workshop/Bench_Drill|Bench Drill]]<br />
|[[File:drill-press-overview.jpg|300px|link=Workshop/Bench_Drill]]}}<br />
|-<br />
|{{Box-round|title=[[Workshop/Band_Saw|Band Saw]]<br />
|[[File:Bandsaw.jpg|170px|link=Workshop/Band_Saw]]}}<br />
|{{Box-round|title=[[Workshop/Router|Router]]<br />
|[[File:Router.jpg|300px|link=Workshop/Router]]}}<br />
|{{Box-round|title=[[Workshop/Bench_Grinder|Bench Grinder/Sander]]<br />
|[[File:BenchGrinder.jpg|300px|link=Workshop/Bench_Grinder]]}}<br />
|-<br />
|{{Box-round|title=[[Projects/MendelMax|MendelMax 3D printer]]<br />
|[[File:MendelMax.jpg|200px|link=Projects/MendelMax]]}}<br />
|{{Box-round|title=[[Laser_Cutter|Laser Cutter]]<br />
|[[File:NewLaser-workshop-page.jpg|300px|link=Laser_Cutter]]}}<br />
|{{Box-round|title=[[Heat_Press|Heat Press]]<br />
|[[File:HeatPress.jpg|189px|link=Heat_Press]]}}<br />
|-<br />
|{{Box-round|title=[[Workshop/Power_Hacksaw|Power Hacksaw]]<br />
|[[File:Hacksaw.jpg|300px|link=Workshop/Power_Hacksaw]]}}<br />
|{{Box-round|title=[[Vinyl Cutter]]|No photo yet :(}}<br />
|}<br />
<br />
== Tools we'd like ==<br />
* Scroll saw<br />
* Table saw<br />
<br />
== Tools we're getting ==<br />
Suggestions?</div>Alex