<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://fixme.ch/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Petaflot</id>
		<title>Fixme.ch - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://fixme.ch/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Petaflot"/>
		<link rel="alternate" type="text/html" href="https://fixme.ch/wiki/Special:Contributions/Petaflot"/>
		<updated>2026-04-12T10:19:29Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://fixme.ch/w/index.php?title=DVPWM&amp;diff=6093</id>
		<title>DVPWM</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=DVPWM&amp;diff=6093"/>
				<updated>2014-10-31T07:12:45Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: photos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Dvpwm photo top.jpg|200px|thumb|right|Top view, yes it's small]]&lt;br /&gt;
[[File:Dvpwm photo bottom.jpg|200px|thumb|right|Bottom view]]&lt;br /&gt;
&lt;br /&gt;
DVPWM is a PWM driver/dimmer originally designed for very simple LED lighting. It is built to be small, robust and convenient.&lt;br /&gt;
&lt;br /&gt;
It has one single control: a rotating knob with on/off switch attached. In &amp;quot;off&amp;quot; position, the circuitry is completely offline.&lt;br /&gt;
&lt;br /&gt;
* '''Input''': 6-15 VDC. With input voltage polarity inversion protection, suitable for dirty or noisy power supplies&lt;br /&gt;
* '''Output''': &amp;quot;high&amp;quot; frequency [? kHz] PWM with duty cycle ranging from almost zero to almost 100%&lt;br /&gt;
* '''Maximum admissible current''': 5A with SMD fuse on-board. This makes it probably overkill for small lighting, but will allow you to power about 25m of standard LED stripe or even small electric motors because there is a beefy free wheel diode protection.&lt;br /&gt;
* In most cases, more than one DVPWM can be combined for RGB lighting ('''common VCC''')&lt;br /&gt;
&lt;br /&gt;
== Schematic ==&lt;br /&gt;
Thanks to Joël H for the schematic. He made it with Kicad and his little brain [I may have a relationship with Homer Simpson, who is actually my idol -[[User:Jhu]]]&lt;br /&gt;
&lt;br /&gt;
[[Media:DVPWM Schematic.pdf|Schematic (PDF)]]&lt;br /&gt;
&lt;br /&gt;
== PCB ==&lt;br /&gt;
[[File:DVPWM render top.png|200px|thumb|right|PCB top view]]&lt;br /&gt;
[[File:DVPWM render bottom.png|200px|thumb|right|PCB bottom view]]&lt;br /&gt;
&lt;br /&gt;
PCB design was achieved with [http://eda.eremex.com/products/topor/ Topor], a piece of software which truly amazes me. Through recursive contemplation of the routing algorithm, I was able to shorten the track lengths to an almost minimum and reduce the number of vias to an absolute minimum [zero !!!]. The output from Topor was then imported into Kicad again, because we couldn't be bothered to learn new things so early after sunrise.&lt;br /&gt;
&lt;br /&gt;
PCB size is 26x37mm. Height from frontplate (if applicable: circuit secured to frontplate using the knob's nut): 22mm&lt;br /&gt;
&lt;br /&gt;
Most text is made unreadable when the components are in place, but we didn't care much about this ; priority was the size, and it was time for a nap.&lt;br /&gt;
&lt;br /&gt;
== Component list ==&lt;br /&gt;
To achieve the very small size, most components are SMD type. Only exceptions are the rotating knob, and one capacitor. Due to the relatively small amount of components and their size, this circuit is an ideal for anyone who would like to learn SMD soldering.&lt;br /&gt;
&lt;br /&gt;
[[Media:DVPWM ComponentsList105.pdf|Component list (PDF)]]&lt;br /&gt;
&lt;br /&gt;
Suggestions for cheaper alternates are welcome.&lt;br /&gt;
&lt;br /&gt;
== Kits ==&lt;br /&gt;
Kits are available for CHF 30.- a piece, cheaper for larger quantities. This includes the PCB and all the necessary components. While this may seem relatively expensive, the knob is far from cheap (and no alternative was found at the time) and so is one of the capacitors. There is also some provision for development costs, so we can continue to offer you more useful circuits.&lt;br /&gt;
&lt;br /&gt;
Please contact [mailto:electro-shop@pg21.org electro-shop@pg21.org] to order.&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=File:Dvpwm_photo_top.jpg&amp;diff=6092</id>
		<title>File:Dvpwm photo top.jpg</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=File:Dvpwm_photo_top.jpg&amp;diff=6092"/>
				<updated>2014-10-31T07:08:43Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=File:Dvpwm_photo_bottom.jpg&amp;diff=6091</id>
		<title>File:Dvpwm photo bottom.jpg</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=File:Dvpwm_photo_bottom.jpg&amp;diff=6091"/>
				<updated>2014-10-31T07:08:02Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=DVPWM&amp;diff=6081</id>
		<title>DVPWM</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=DVPWM&amp;diff=6081"/>
				<updated>2014-10-29T18:03:10Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: oops&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DVPWM is a PWM driver/dimmer originally designed for very simple LED lighting. It is built to be small, robust and convenient.&lt;br /&gt;
&lt;br /&gt;
It has one single control: a rotating knob with on/off switch attached. In &amp;quot;off&amp;quot; position, the circuitry is completely offline.&lt;br /&gt;
&lt;br /&gt;
* '''Input''': 6-15 VDC. With input voltage polarity inversion protection, suitable for dirty or noisy power supplies&lt;br /&gt;
* '''Output''': &amp;quot;high&amp;quot; frequency [? kHz] PWM with duty cycle ranging from almost zero to almost 100%&lt;br /&gt;
* '''Maximum admissible current''': 5A with SMD fuse on-board. This makes it probably overkill for small lighting, but will allow you to power about 25m of standard LED stripe or even small electric motors because there is a beefy free wheel diode protection.&lt;br /&gt;
* In most cases, more than one DVPWM can be combined for RGB lighting ('''common VCC''')&lt;br /&gt;
&lt;br /&gt;
== Schematic ==&lt;br /&gt;
Thanks to Joël H for the schematic. He made it with Kicad and his little brain [I may have a relationship with Homer Simpson, who is actually my idol -Jo]&lt;br /&gt;
&lt;br /&gt;
[[Media:DVPWM Schematic.pdf|Schematic (PDF)]]&lt;br /&gt;
&lt;br /&gt;
== PCB ==&lt;br /&gt;
[[File:DVPWM render top.png|200px|thumb|right|PCB top view]]&lt;br /&gt;
[[File:DVPWM render bottom.png|200px|thumb|right|PCB bottom view]]&lt;br /&gt;
&lt;br /&gt;
PCB design was achieved with [http://eda.eremex.com/products/topor/ Topor], a piece of software which truly amazes me. Through recursive contemplation of the routing algorithm, I was able to shorten the track lengths to an almost minimum and reduce the number of vias to an absolute minimum [zero !!!]. The output from Topor was then imported into Kicad again, because we couldn't be bothered to learn new things so early after sunrise.&lt;br /&gt;
&lt;br /&gt;
PCB size is 26x37mm. Height from frontplate (if applicable: circuit secured to frontplate using the knob's nut): 22mm&lt;br /&gt;
&lt;br /&gt;
Most text is made unreadable when the components are in place, but we didn't care much about this ; priority was the size, and it was time for a nap.&lt;br /&gt;
&lt;br /&gt;
== Component list ==&lt;br /&gt;
To achieve the very small size, most components are SMD type. Only exceptions are the rotating knob, and one capacitor. Due to the relatively small amount of components and their size, this circuit is an ideal for anyone who would like to learn SMD soldering.&lt;br /&gt;
&lt;br /&gt;
[[Media:DVPWM ComponentsList105.pdf|Component list (PDF)]]&lt;br /&gt;
&lt;br /&gt;
Suggestions for cheaper alternates are welcome.&lt;br /&gt;
&lt;br /&gt;
== Kits ==&lt;br /&gt;
Kits are available for CHF 30.- a piece, cheaper for larger quantities. This includes the PCB and all the necessary components. While this may seem relatively expensive, the knob is far from cheap (and no alternative was found at the time) and so is one of the capacitors. There is also some provision for development costs, so we can continue to offer you more useful circuits.&lt;br /&gt;
&lt;br /&gt;
Please contact [mailto:electro-shop@pg21.org electro-shop@pg21.org] to order.&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=DVPWM&amp;diff=6057</id>
		<title>DVPWM</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=DVPWM&amp;diff=6057"/>
				<updated>2014-10-23T13:17:26Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: merge commentaires Jo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DVPWM is a PWM driver/dimmer originally designed for very simple LED lighting. It is built to be small, robust and convenient.&lt;br /&gt;
&lt;br /&gt;
It has one single control: a rotating knob with on/off switch attached. In &amp;quot;off&amp;quot; position, the circuitry is completely offline.&lt;br /&gt;
&lt;br /&gt;
* '''Input''': 6-15 VDC. With input voltage polarity inversion protection, suitable for dirty or noisy power supplies&lt;br /&gt;
* '''Output''': &amp;quot;high&amp;quot; frequency [? kHz] PWM with duty cycle ranging from almost zero to almost 100%&lt;br /&gt;
* '''Maximum admissible current''': 5A with SMD fuse on-board. This makes it probably overkill for small lighting, but will allow you to power about 25m of standard LED stripe or even small electric motors because there is a beefy free wheel diode protection.&lt;br /&gt;
* In most cases, more than one DVPWM can be combined for RGB lighting ('''common ground''')&lt;br /&gt;
&lt;br /&gt;
== Schematic ==&lt;br /&gt;
Thanks to Joël H for the schematic. He made it with Kicad and his little brain [I may have a relationship with Homer Simpson, who is actually my idol -Jo]&lt;br /&gt;
&lt;br /&gt;
[[Media:DVPWM Schematic.pdf|Schematic (PDF)]]&lt;br /&gt;
&lt;br /&gt;
== PCB ==&lt;br /&gt;
[[File:DVPWM render top.png|200px|thumb|right|PCB top view]]&lt;br /&gt;
[[File:DVPWM render bottom.png|200px|thumb|right|PCB bottom view]]&lt;br /&gt;
&lt;br /&gt;
PCB design was achieved with [http://eda.eremex.com/products/topor/ Topor], a piece of software which truly amazes me. Through recursive contemplation of the routing algorithm, I was able to shorten the track lengths to an almost minimum and reduce the number of vias to an absolute minimum [zero !!!]. The output from Topor was then imported into Kicad again, because we couldn't be bothered to learn new things so early after sunrise.&lt;br /&gt;
&lt;br /&gt;
PCB size is 26x37mm. Height from frontplate (if applicable: circuit secured to frontplate using the knob's nut): 22mm&lt;br /&gt;
&lt;br /&gt;
Most text is made unreadable when the components are in place, but we didn't care much about this ; priority was the size, and it was time for a nap.&lt;br /&gt;
&lt;br /&gt;
== Component list ==&lt;br /&gt;
To achieve the very small size, most components are SMD type. Only exceptions are the rotating knob, and one capacitor. Due to the relatively small amount of components and their size, this circuit is an ideal for anyone who would like to learn SMD soldering.&lt;br /&gt;
&lt;br /&gt;
[[Media:DVPWM ComponentsList105.pdf|Component list (PDF)]]&lt;br /&gt;
&lt;br /&gt;
Suggestions for cheaper alternates are welcome.&lt;br /&gt;
&lt;br /&gt;
== Kits ==&lt;br /&gt;
Kits are available for CHF 30.- a piece, cheaper for larger quantities. This includes the PCB and all the necessary components. While this may seem relatively expensive, the knob is far from cheap (and no alternative was found at the time) and so is one of the capacitors. There is also some provision for development costs, so we can continue to offer you more useful circuits.&lt;br /&gt;
&lt;br /&gt;
Please contact [mailto:electro-shop@pg21.org electro-shop@pg21.org] to order.&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=Resources&amp;diff=6054</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=Resources&amp;diff=6054"/>
				<updated>2014-10-23T10:38:33Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: /* PCB Fabrication */  Eurocircuits&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of local (Romandie, Switzerland) and international ressources.&lt;br /&gt;
&lt;br /&gt;
=Local Ressources in Switzerland=&lt;br /&gt;
== Events ==&lt;br /&gt;
* [http://zigobot.ch/concour.html PicStar workshop] on alternate Thursdays, 19h-21h&lt;br /&gt;
* [http://2012.rmll.info/ RMLL 2012] in Geneva&lt;br /&gt;
* [http://liftconference.com/ LIFT Conférences]&lt;br /&gt;
* [http://www.espace-des-inventions.ch/index.php/activitee/club-des-petits-inventeurs Club des petits inventeurs]&lt;br /&gt;
* [http://www.node-rdv.ch/ Node, rendez-vous des curiosités sonores]&lt;br /&gt;
* [https://tech.ebu.ch/events/drs2013/radiohack2013 RadioHack 2013]&lt;br /&gt;
* [http://gwenstival.com Gwenstival] (radio, ...)&lt;br /&gt;
* [http://librelist.com/browser/cryptoch/ CryptoCH]: Cryptoparties in Switzerland&lt;br /&gt;
* [http://lemanmake.com/ Leman Make] (Maker Fair in Arc lémanique)&lt;br /&gt;
* [http://nipconf.com/ NipConf] (innovation)&lt;br /&gt;
&lt;br /&gt;
=== Robotique ===&lt;br /&gt;
* [http://www.fribot.org/ Fribot]: Autonomous robot contest in Lego Mindstorm&lt;br /&gt;
* [http://festivalrobotique.epfl.ch/ Festival Robotique EPFL]&lt;br /&gt;
* [https://aseba.wikidot.com/fr:thymiorobotsenclasse Robots en Classe] (formation à la robotique pour les enseignants)&lt;br /&gt;
&lt;br /&gt;
=== Sécurité ===&lt;br /&gt;
* http://dahucon.ch // https://twitter.com/DahuCon&lt;br /&gt;
* [http://insomnihack.ch Insomni'Hack]&lt;br /&gt;
* [http://www.bimo.ch/fr/Jura-Security-Days/Jurackerfestch.html JurackerFest]&lt;br /&gt;
* [http://www.isc2chapter-switzerland.ch/index.php/events ISC² Chapter Switzerland]&lt;br /&gt;
&lt;br /&gt;
== Associations/Foundations ==&lt;br /&gt;
=== Electronic/Hardware/Robotic ===&lt;br /&gt;
* [http://microclub.ch/ MicroClub]&lt;br /&gt;
* [http://site.cvra.ch/ Club Vaudois de Robotique Autonome (Renens)]&lt;br /&gt;
* [http://robopoly.epfl.ch/ Robotpoly] [http://wiki.robopoly.ch/w/Main_Page wiki]&lt;br /&gt;
* [http://lara.heig-vd.ch/robot-ch/home.php Robot-CH (Association Suisse pour la Promotion de la Robotique)]&lt;br /&gt;
* [http://www.mobsya.org/ Mobsya]&lt;br /&gt;
* [http://bricobot.ch/ Bricobot], Club de robotique pour les débutants (12-16ans)&lt;br /&gt;
* [http://www.ader.ch/ ADER] (énergie renouvellable)&lt;br /&gt;
* [http://www.creative-studio.ch CreativeStudio] (atelier/cours de robotique)&lt;br /&gt;
* [http://roberta.epfl.ch/ Promotion de la robotique à l'EPFL (bureau de l'égalité des chances)]&lt;br /&gt;
* [http://www.brainybiz.com/ BrainyBiz] (internet of things/domotique)&lt;br /&gt;
* [http://www.swissraspberry.ch Swiss Raspberry UG] (and Wiki)&lt;br /&gt;
* [https://abcm.ch/ Les Amis du Musée Bolo] (old school hardware)&lt;br /&gt;
* [http://www.nccr-robotics.ch/ NCCR Robotics] (Swiss National Centre of Compentence in Research)&lt;br /&gt;
&lt;br /&gt;
=== Radio amateurs (RF, wifi, électronique) ===&lt;br /&gt;
* http://www.radioamateur.ch/&lt;br /&gt;
*[http://www.iapc.ch/ International Amateur Packet Club (IAPC)] (Genève)&lt;br /&gt;
*http://www.hb9mm.com/ (Vaud)&lt;br /&gt;
*http://www.hb9g.ch/ (Radio club Genève)&lt;br /&gt;
*http://home.swissatv.ch/ (http://hb9tv.ch/, Transmissions de télévision radioamateur, exemple avec http://www.hb9ibc.org/ )&lt;br /&gt;
*http://www.hb9xc.ch/ (Moutier et région)&lt;br /&gt;
*http://hb9lc.cq-dx.org/ (Montagnes neuchâteloises)&lt;br /&gt;
*http://www.hb9fg.ch/ (Fribourg)&lt;br /&gt;
*http://www.hb9ww.org/ (Neuchâtel)&lt;br /&gt;
*http://www.hb9y.ch/ (Valais)&lt;br /&gt;
&lt;br /&gt;
=== OpenSource ===&lt;br /&gt;
* [http://linux-gull.ch GULL]&lt;br /&gt;
* [http://swisslinux.org SwissLinux]&lt;br /&gt;
* [http://free-it-foundation.org/ Free IT Foundation]&lt;br /&gt;
* [http://www.opensourcecommunity.ch/ Fribourg Open-Source Community (FROSC)]&lt;br /&gt;
* [http://gnugeneration.epfl.ch/ GNU Generation (EPFL)]&lt;br /&gt;
&lt;br /&gt;
=== Hackerspaces ===&lt;br /&gt;
* Hackerspaces in CH: [http://hackerspaces.ch/] [http://hackerspaces.org/wiki/Switzerland]&lt;br /&gt;
* [http://www.posttenebraslab.ch/ Post Tenebras Lab (PTL) Genève]&lt;br /&gt;
* [http://www.hackburg.ch/ Hackburg Fribourg]&lt;br /&gt;
* [http://www.ccczh.ch/ CCCZH]&lt;br /&gt;
* [http://www.chaostreff.ch/ Chaostreff Basel]&lt;br /&gt;
* [http://computerlabor.kire.ch/ Computerlabor@KuZeB]&lt;br /&gt;
* [http://www.coredump.ch/ Coredump]&lt;br /&gt;
* [http://www.dock18.ch/ Dock18]&lt;br /&gt;
* [http://www.eastermundigen.ch/ Eastermundigen]&lt;br /&gt;
* [http://www.laborluzern.org/ LABOR Luzern]&lt;br /&gt;
* [http://www.mechatronicart.ch/ MechArtLab]&lt;br /&gt;
* [http://odenwilusenz.ch/ Odenwilusenz]&lt;br /&gt;
* [http://www.projektlabor.ch/ Projektlabor]&lt;br /&gt;
* [https://www.chaostreff.ch/ RAIF HQ]&lt;br /&gt;
* [http://ruum42.ch/ Ruum42]&lt;br /&gt;
* [http://www.bastli.ch/ Bastli]&lt;br /&gt;
* [http://www.starship-factory.ch/ Starship Factory]&lt;br /&gt;
* [https://fixme.ch FIXME]&lt;br /&gt;
&lt;br /&gt;
==== Bio DIY ====&lt;br /&gt;
* [http://biodesign.cc/category/where/switzerland/ BioDesign] (EPFL collaboration)&lt;br /&gt;
* [http://hackteria.org/ Hackteria]&lt;br /&gt;
* [http://hackuarium.strikingly.com/ Hackarium] Bio-hackerspace in Renens (at UniverCité)&lt;br /&gt;
* [http://www.bioscope.ch/ Bioscope] (UNIGE open bio-lab)&lt;br /&gt;
&lt;br /&gt;
=== Fablab ===&lt;br /&gt;
* [http://fablab.ch/official-register-of-fab-labs-in-switzerland/ Fablabs in Switzerland]&lt;br /&gt;
* [http://www.fablab-ge.ch/ Fablan Genève]&lt;br /&gt;
* [http://fablab-fribourg.ch/ Fablab Fribourg]&lt;br /&gt;
* [http://fablab-neuch.ch/ Fablab Neuchatel]&lt;br /&gt;
* [http://luzern.fablab.ch/ Fablab Lucerne]&lt;br /&gt;
* [http://www.net-village.org/fablab/ Fablab Jura francais]&lt;br /&gt;
* [http://fablab-lacote.ch/ Fablab La Côte]&lt;br /&gt;
* [http://www.fablab-chene20.ch/ Fablab Renens (Chêne 20)] [https://www.facebook.com/FabLabRenens facebook]&lt;br /&gt;
&lt;br /&gt;
=== Art-Technology ===&lt;br /&gt;
* http://www.sinlab.ch/ Collaboration entre la HETSR et l'EPFL (Arts, Architecture, Science, Engineering and Philosophy)&lt;br /&gt;
* [http://www.tskz.ch/ TSKZ liaison artiste-techno]&lt;br /&gt;
* [http://www.epfl-ecal-lab.ch/ EPFL+ECAL Lab]&lt;br /&gt;
&lt;br /&gt;
=== Divers ===&lt;br /&gt;
* [http://www.espace-des-inventions.ch/ Espace des inventions]&lt;br /&gt;
* [http://thebootstrap.ch/ The Bootstrap]&lt;br /&gt;
* [http://hackepfl.com HackEPFL]&lt;br /&gt;
* [http://www.unil.ch/interface/page18617.html L'Eprouvette (ateliers scientifiques) à l'UNIL]&lt;br /&gt;
* [http://www.futurekids-romandie.ch/ Futurekids Romandie] (formation des jeunes à la technologie)&lt;br /&gt;
* [http://educatec.ch educaTEC] (Formation à la techologie, informatique, robotique)&lt;br /&gt;
* [http://www.thinkdata.ch/ ThinkData: Service de sensibilisation à la protection des données et à la transparence]&lt;br /&gt;
* [http://www.ot-lab.ch/ Observatoire Technologique (OT-Lab)]&lt;br /&gt;
* [http://nearfuturelaboratory.com/ Near Future Lab] (Geneva)&lt;br /&gt;
* [http://opendata.admin.ch/ Swiss Open Government Data portal]&lt;br /&gt;
* [http://www.isoc.ch/ Internet Society Switzerland Chapter (ISOC)]&lt;br /&gt;
* [http://sti-ateliers.epfl.ch/afa Atelier de fabrication additive] at EPFL (3d printing, etc)&lt;br /&gt;
* [http://www.unige.ch/fapse/actualites/2014/lundi-video.html Lundis du jeu video]&lt;br /&gt;
* [http://univercite.ch/ UniverCité] Espace communautaire (coworking, hackerspaces)&lt;br /&gt;
&lt;br /&gt;
=== Coworking ===&lt;br /&gt;
* [http://g-60.net/ G60] (bio-hs, coworking, art, events, ...) (Lausanne)&lt;br /&gt;
* [http://num3.ch/ Numéro 3] (Lausanne)&lt;br /&gt;
* [http://www.la-muse.ch/coworking/lausanne/ La Muse] (Lausanne)&lt;br /&gt;
* [http://eclau.ch/ Eclau] (Lausanne)&lt;br /&gt;
* [http://rainbowlab.ch/ Rainbow Lab] (Lausanne)&lt;br /&gt;
* [https://www.facebook.com/blablawork.ch BlaBlaWork] (Genève)&lt;br /&gt;
&lt;br /&gt;
== Ecoles/Enseignement ==&lt;br /&gt;
* [http://www.cpln.ch/ CPLN]&lt;br /&gt;
* [http://www.edurobot.ch/ Edurobot, Ressources pédagogique pour la robotique]&lt;br /&gt;
* [http://edutic.ch EduTIC] (informatique pédagogique)&lt;br /&gt;
* [http://codeclubch.wordpress.com/ Code Club] (teach children how to program)&lt;br /&gt;
* [http://piclass.org/index.fr.html PiClass] Teaching with the raspi in romandie school&lt;br /&gt;
&lt;br /&gt;
== Shops/Companies ==&lt;br /&gt;
=== Electronic/Computer ===&lt;br /&gt;
* [http://zigobot.ch/ ZigoBot]&lt;br /&gt;
* [http://www.didel.com/ Didel SA]&lt;br /&gt;
* [http://boxtec.ch Boxtec]&lt;br /&gt;
* [http://thinkembedded.ch/ ThinkEmbedded]&lt;br /&gt;
* [http://www.dshop.ch/ dshop]&lt;br /&gt;
* [http://www.itopie.ch/lesoccasions/ Itopie] (Informatique d'occasion)&lt;br /&gt;
* [http://www.labonnecombine.ch/ La bonne combine] (électronique, électroménager, ...)&lt;br /&gt;
* [http://www.toppreise.ch/index.php Toppreise] (Trouver les meilleurs prix pour électronique, électroménager, DVD/BD, pneus, vins, bref tout, en suisse.) &lt;br /&gt;
* [http://iPhoneCasse.ch/ iPhone Cassé] (Reparation d'iPhone, iPod et iPad en Suisse)&lt;br /&gt;
* [http://www.chipandlove.ch/ Chip &amp;amp; love] electronic components&lt;br /&gt;
* [http://www.dupertuis.com/ Dupertuis Electronique] (sono, light, dj, eclairage, video, informatique, electronique, ...)&lt;br /&gt;
* [http://www.play-zone.ch/ PlayZone] (electronic components, kits, arduino, rpi, ...)&lt;br /&gt;
&lt;br /&gt;
=== 3D Printer ===&lt;br /&gt;
* https://swissreprap.com/en&lt;br /&gt;
* [http://www.fabberworld.com/ FabberWorld (The Swiss 3D Printing Shop)]&lt;br /&gt;
* [http://3dfunlab.com/ 3D funlab] 3d printing/scanning services in Geneva&lt;br /&gt;
* [http://www.oblong-boutique.ch/Vos-creations-3D 3d printing]&lt;br /&gt;
* [http://shop.deltatower.ch/ DeltaTower]&lt;br /&gt;
&lt;br /&gt;
=== OpenSource/OpenHardware ===&lt;br /&gt;
* http://bytecode.ch/&lt;br /&gt;
* http://camptocamp.com&lt;br /&gt;
* http://whyopencomputing.ch/ (Computers shipped with Ubuntu, with local support)&lt;br /&gt;
&lt;br /&gt;
=== PCB Fabrication ===&lt;br /&gt;
* [http://http://eurocircuits.com/ EuroCircuits] good quality at reasonable prices. excellent service and support.&lt;br /&gt;
* [http://dirtypcbs.com/ Dirty PCBs] Dirt cheap PCBs with free shipping (from $1.2/5x5 pcb for 10 units)&lt;br /&gt;
* [http://imall.iteadstudio.com/open-pcb/pcb-prototyping.html Itead] Slightly more expensive PCBs with shipping extra&lt;br /&gt;
* Fritzing - really expensive PCBs&lt;br /&gt;
&lt;br /&gt;
== Association support ==&lt;br /&gt;
* http://www.lausanne-usl.ch/ Union des sociétés lausannoises&lt;br /&gt;
* http://www.benevolat-vaud.ch/ Aide aux associations, plateforme, ...&lt;br /&gt;
* http://www.lebureauculturel.ch/ informations et conseils aux artistes/créateurs&lt;br /&gt;
* http://www.article60.com/ Journal des associations romandes (+ annuaire des associations)&lt;br /&gt;
&lt;br /&gt;
= [[International_resources]] =&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=DVPWM&amp;diff=6053</id>
		<title>DVPWM</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=DVPWM&amp;diff=6053"/>
				<updated>2014-10-23T10:33:43Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: Created page with &amp;quot;DVPWM is a PWM driver originally designed for very simple LED lighting. It is built to small, robust and convenient.  It has one single control: a rotating knob with on/off switc...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DVPWM is a PWM driver originally designed for very simple LED lighting. It is built to small, robust and convenient.&lt;br /&gt;
&lt;br /&gt;
It has one single control: a rotating knob with on/off switch attached. In &amp;quot;off&amp;quot; position, circuitry is completely offline.&lt;br /&gt;
&lt;br /&gt;
* '''Input''': 6-15 VDC. Inversion protected, suitable for dirty or noisy power supplies.&lt;br /&gt;
* '''Output''': &amp;quot;high&amp;quot; frequency PWM with duty cycle ranging from almost zero to almost 100%&lt;br /&gt;
* '''Maximum admissible current''': 5A with SMD fuse on-board. This makes it probably overkill for small lighting, but will allow you to power about 25m of standard LED stripe or even small electric motors.&lt;br /&gt;
* In most cases, more than one DVPWM can be combined for RGB lighting ('''common ground''')&lt;br /&gt;
&lt;br /&gt;
== Schematic ==&lt;br /&gt;
Thanks to Joël H for the schematic. He made it with Kicad and his little brain.&lt;br /&gt;
&lt;br /&gt;
[[Media:DVPWM Schematic.pdf|Schematic (PDF)]]&lt;br /&gt;
&lt;br /&gt;
== PCB ==&lt;br /&gt;
[[File:DVPWM render top.png|200px|thumb|right|PCB top view]]&lt;br /&gt;
[[File:DVPWM render bottom.png|200px|thumb|right|PCB bottom view]]&lt;br /&gt;
&lt;br /&gt;
PCB design was achieved with [http://eda.eremex.com/products/topor/ Topor], a piece of software which truly amazes me. Through recursive contemplation of the routing algorithm, I was able to shorten the track lengths to an almost minimum and reduce the number of vias to zero. The output from Topor was then imported into Kicad again, because we couldn't be bothered to learn new things so early after sunrise.&lt;br /&gt;
&lt;br /&gt;
PCB size is 26x37mm. Height from frontplate (if applicable: circuit secured to frontplate using the knob's nut): 22mm&lt;br /&gt;
&lt;br /&gt;
Most text is made unreadable when the components are in place, but we didn't care much about this ; priority was the size, and it was time for a nap.&lt;br /&gt;
&lt;br /&gt;
== Component list ==&lt;br /&gt;
To achieve the very small size, most components are SMD type. Only exceptions are the rotating knob, and one capacitor. Due to the relatively small amount of components and their size, this circuit is an ideal for anyone who would like to learn SMD soldering.&lt;br /&gt;
&lt;br /&gt;
[[Media:DVPWM ComponentsList105.pdf|Component list (PDF)]]&lt;br /&gt;
&lt;br /&gt;
Suggestions for cheaper alternates are welcome.&lt;br /&gt;
&lt;br /&gt;
== Kits ==&lt;br /&gt;
Kits are available for CHF 30.- a piece, cheaper for larger quantities. This includes the PCB and all the necessary components. While this may seem relatively expensive, the knob is far from cheap (and no alternative was found at the time) and so is one of the capacitors. There is also some provision for development costs, so we can continue to offer you more useful circuits.&lt;br /&gt;
&lt;br /&gt;
Please contact [mailto:electro-shop@pg21.org electro-shop@pg21.org] to order.&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=File:DVPWM_ComponentsList105.pdf&amp;diff=6052</id>
		<title>File:DVPWM ComponentsList105.pdf</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=File:DVPWM_ComponentsList105.pdf&amp;diff=6052"/>
				<updated>2014-10-23T08:21:45Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=File:DVPWM_render_bottom.png&amp;diff=6051</id>
		<title>File:DVPWM render bottom.png</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=File:DVPWM_render_bottom.png&amp;diff=6051"/>
				<updated>2014-10-23T08:01:32Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=File:DVPWM_render_top.png&amp;diff=6050</id>
		<title>File:DVPWM render top.png</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=File:DVPWM_render_top.png&amp;diff=6050"/>
				<updated>2014-10-23T08:01:06Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=File:DVPWM_Schematic.pdf&amp;diff=6049</id>
		<title>File:DVPWM Schematic.pdf</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=File:DVPWM_Schematic.pdf&amp;diff=6049"/>
				<updated>2014-10-23T08:00:31Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=3d_printer&amp;diff=5651</id>
		<title>3d printer</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=3d_printer&amp;diff=5651"/>
				<updated>2014-05-07T12:06:37Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: /* 3D Software */ Nervous System&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:80%&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|[[File:Ultimaker2.JPG|650px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
# '''Prepare a 3D model to print'''. You can [[#Find model online|find a model online]] with sites such as [http://thingiverse.com Thingiverse], or [[#Make your own|create your own]] in software such as Sketchup or OpenSCAD. You will need to save the model as a .STL file, however .DAE can also be used for direct exports from Sketchup.&lt;br /&gt;
# '''Import your model onto the print computer'''. It is easiest if you print using our dedicated print computer (Fixme-SPM) which is located next to the printer. You can import the model by dragging it into the [https://foo.fixme.ch/marcha/ drag and drop service], using a USB key, using IRC, or using a cloud hosting service such as [http://ge.tt/ Ge.tt] or [https://mega.co.nz/# Mega].&lt;br /&gt;
# '''Open Cura and open your model(s)'''. Open Cura from the sidebar, and click on the [https://fixme.ch/w/images/d/dd/Cura-load.png Load button]. Select one or more .STL or .DAE files that you would like to print. Please note that prints that reach near the limits of the print volume (21 x 21 x 20.5 cm) will fail.&lt;br /&gt;
# '''Configure your desired print parameters'''. The print parameters will depend on what you are printing and the quality that you're looking for. Here are some guidelines:&lt;br /&gt;
## '''Layer height''': the Ultimaker can print between 0.1mm and 0.25mm. 0.1mm should only be used for high precision, high detail prints; 0.15mm should be used for normal prints; 0.2-0.25mm should be used for fast prints where you don't mind the quality (e.g. holder, internal component, etc).&lt;br /&gt;
## '''Shell thickness''': this value should be a multiple of 0.4mm (the width of the nozzle). With 0.4mm you'll get 1 solid layer, with 0.8mm you'll get 2 solid layers, etc. 0.8mm is fine for most prints.&lt;br /&gt;
## '''Enable retraction''': this retracts the filament when the nozzle moves from one area to another whilst not printing. It is best to leave this enabled.&lt;br /&gt;
## '''Bottom/top thickness''': the bottom and top thickness of the solid layer. This value should be a multiple of the layer height - a value between 0.2mm and 1mm is best for most prints, with 1mm used for very delicate models.&lt;br /&gt;
## '''Fill density''': this is the density of the fill inside your model. Due to an excellent calibration of our Ultimaker, almost all prints will require less than 30% fill. 10% for just structural support, 24% for an average print (after 25% Cura slices your model differently), 30% for a solid print of an average sized object. For objects that require superior structural strength, up to 60% is recommended. 80% can be used for very small complex objects, and 100% is used on a case-by-case basis.&lt;br /&gt;
## '''Print speed''': this is the speed at which the Ultimaker will print. 100mm/s is recommended for detailed prints, 120mm/s for average prints, and up to 150mm/s for fast, lower quality prints.&lt;br /&gt;
## '''Printing temperature''': we have tested and 235°C works best. Leave it as is.&lt;br /&gt;
## '''Support type''': only use for prints with significant overhangs.&lt;br /&gt;
## '''Platform adhesion type''': not required for PLA prints.&lt;br /&gt;
## '''Diameter''': the diameter of the filament (currently 2.89mm). Do not touch this unless you are changing the filament and have remeasured it (sometimes the value does not match the specification).&lt;br /&gt;
## '''Flow''': I have no clue what this does. If it ain't broke, don't touch it.&lt;br /&gt;
&lt;br /&gt;
== 3D models ==&lt;br /&gt;
=== Find model online ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Description&lt;br /&gt;
! align=&amp;quot;center&amp;quot; | Requires registration?&lt;br /&gt;
|-&lt;br /&gt;
|[http://repables.com/ Repables]&lt;br /&gt;
|Fully open repository backed by non profit&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#90EE90;&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.thingiverse.com/ Thingiverse] &lt;br /&gt;
|Largest go to source for 3D models&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#90EE90;&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
|[https://cubehero.com/ Cubehero]&lt;br /&gt;
|Open source source based on git&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#90EE90;&amp;quot; |No&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.youmagine.com/ YouMagine]&lt;br /&gt;
|New repository for 3D models&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#90EE90;&amp;quot; |No&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.shapeking.com/ Shapeking]&lt;br /&gt;
|Excellent alternative to thingiverse&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#90EE90;&amp;quot; |No&lt;br /&gt;
|-&lt;br /&gt;
|[https://thepiratebay.sx/browse/605 The Pirate Bay]&lt;br /&gt;
|Torrents of miscellaneous 3D models&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#90EE90;&amp;quot; |No&lt;br /&gt;
|-&lt;br /&gt;
|[http://defcad.com/ Defcad]&lt;br /&gt;
|Controversial thingiverse clone&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#FFFFE0;&amp;quot; |?&lt;br /&gt;
|-&lt;br /&gt;
|[http://makerlove.com/ Makerlove]&lt;br /&gt;
|3D printed sex toys&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#90EE90;&amp;quot; |No&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.3dcontentcentral.com/Browse.aspx 3DCC]&lt;br /&gt;
|Technical models&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#FFFFE0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
|[http://grabcad.com/library GrabCAD]&lt;br /&gt;
|Models mostly for CNC and design&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#F08080;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.shapeways.com/3d_parts_database Shapeways]&lt;br /&gt;
|Shapeways tested 3D models&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#F08080;&amp;quot; |Yes &lt;br /&gt;
|-&lt;br /&gt;
|[https://www.3dagogo.com/ 3dagogo]&lt;br /&gt;
|'Tested' parts 'guaranteed' to print&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#FFFFE0;&amp;quot; |?&lt;br /&gt;
|-&lt;br /&gt;
|[http://3dr.adlnet.gov/  US .gov repository]&lt;br /&gt;
|Backed by the NSA&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#FFFFE0;&amp;quot; |?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[http://www.yeggi.com/ Yeggi] is a search engine that shows results from several of the sites listed above.&lt;br /&gt;
&lt;br /&gt;
=== Make your own ===&lt;br /&gt;
==== 3D Software ====&lt;br /&gt;
* [http://www.sketchup.com/ Sketchup] is a free, popular and most importantly, easy to use software which allows for the quick creation of 3D models (requires [http://rhin.crai.archi.fr/rld/plugin_details.php?id=429 su2stl plugin] for STL export/import)&lt;br /&gt;
** [ftp://fixme:fixme@ftp.fixme.ch/incoming/SketchUp%202013%20(Mac).dmg Sketchup 2013 Mac]&lt;br /&gt;
** [ftp://fixme:fixme@ftp.fixme.ch/incoming/SketchUp%202013%20(Windows).exe Sketchup 2013 Windows]&lt;br /&gt;
** [ftp://fixme:fixme@ftp.fixme.ch/incoming/Sketchup%208%20(Wine).zip Sketchup 8 Windows] (This version [http://wiki.winehq.org/Sketchup works with wine])&lt;br /&gt;
* [http://openscad.org OpenSCAD] is a script-based 3D editor, which can make use of parameters, conditions, for and while loops, etc... This is currently Petaflot's choice&lt;br /&gt;
* [http://www.3dtin.com/ 3DTin] is an online WebGL 3D modeling web-app&lt;br /&gt;
* [http://www.netfabb.com/download.php Netfabb] (Linux version)&lt;br /&gt;
* http://n-e-r-v-o-u-s.com/cellCycle/ un outil web marant pour designer (puis commander le cas échéant) des bagues, bracelets.. d'autres ressources sur le site.&lt;br /&gt;
&lt;br /&gt;
==== Printing software ====&lt;br /&gt;
* https://print.fixme.ch web interface to replace Printrun/Cura (still need Slic3r to create the gcode)&lt;br /&gt;
** Currently not connected to the printer and the service is down&lt;br /&gt;
** run as unprivlilegied user please sudo su -c /home/francois/OctoPrint/run francois&lt;br /&gt;
** Used for the webcam: http://webcam.fixme.ch&lt;br /&gt;
* [http://slic3r.org/ Slic3r] and [http://reprap.org/wiki/Printrun Printrun] &lt;br /&gt;
** [https://github.com/daid/Cura Cura]&lt;br /&gt;
* To check, http://projectsilkworm.com/&lt;br /&gt;
* Check STL files for printability: http://cloud.netfabb.com/&lt;br /&gt;
* Buy material in switzerland: [[Resources#3D_Printer]]&lt;br /&gt;
* There's a dedicated machine to print: spm.fixme.ch&lt;br /&gt;
&lt;br /&gt;
== Printing ==&lt;br /&gt;
=== Software Installation ===&lt;br /&gt;
* http://daid.github.com/Cura/&lt;br /&gt;
* it's the only software worth it&lt;br /&gt;
* Yes, you will need PyOpenGL for it to run. Displaying nice 3d images is not that trivial.&lt;br /&gt;
&lt;br /&gt;
* Recommended: Use the dev version on github: https://github.com/daid/Cura.git (12.10 when I'm writing)&lt;br /&gt;
* Required packages: wxPython and PyOpenGL.&lt;br /&gt;
* You can use a python virtualenv.&lt;br /&gt;
&lt;br /&gt;
=== First use ===&lt;br /&gt;
* On first Cura start, you don't need to upgrade to Marlin firmware because it's already done.&lt;br /&gt;
* You should run the checks, at least to check if USB connection between PC and the printer is working. For temperature check, the printer need to cool down (to ~30) before heating and check, it can take looong time.&lt;br /&gt;
* Now you can use Cura to print objects.&lt;br /&gt;
&lt;br /&gt;
=== Printing ===&lt;br /&gt;
'''Maximum length/width: 180mm'''&lt;br /&gt;
* Load a .stl model.&lt;br /&gt;
* Change orientation, size, etc...&lt;br /&gt;
* Check settings on the left (and in the different tabs)&lt;br /&gt;
* Click on the Prepare print button.&lt;br /&gt;
* Software will slice the object into GCode. The more you choose a large scale object, the longer the execution time is.&lt;br /&gt;
* When it done, click on Print button to open the Printing dialog.&lt;br /&gt;
* Wait the software connect with the printer, Connection button will turn from clickable to readonly and Print button will turn from readonly to clickable.&lt;br /&gt;
* Set the temperature with the arrows (yeah it's not working by putting the number directly)&lt;br /&gt;
* Wait a bit so the hot end is distributively warmed&lt;br /&gt;
* Extrude before printing, so the wire is at the start of the hot end&lt;br /&gt;
* Make sure the wire is extruding correctly (the output wire is regular)&lt;br /&gt;
* Click the Print button.&lt;br /&gt;
&lt;br /&gt;
==== Settings ====&lt;br /&gt;
* Walls: 0.4 (1 wall) is good&lt;br /&gt;
* Print speed: 80mm/s is clean (you may increase temperature for more speed)&lt;br /&gt;
* Infill:&lt;br /&gt;
** strong material, 80-100%&lt;br /&gt;
** Light print, 10-15%&lt;br /&gt;
* Temparatures: ~230-240°&lt;br /&gt;
* Support type:&lt;br /&gt;
** Exterior when there's a big overhang (we made a 10cm overhang without support, but generally it's &amp;gt;1cm)&lt;br /&gt;
** None in general&lt;br /&gt;
* Raft: needed when there are small pieces at the bottom (so they stick to the bed)&lt;br /&gt;
* Experiment !&lt;br /&gt;
&lt;br /&gt;
=== Important points ===&lt;br /&gt;
* '''[https://webcam.fixme.ch/ KEEP YOUR EYES] ON THE PRINTER THROUGHOUT THE PRINTING PROCESS!!!''' And clean what could interfere with the printing.&lt;br /&gt;
* BE carefull with the end stops, [http://www.youtube.com/watch_popup?feature=player_embedded&amp;amp;v=IYXnxllWcyc if they don't work], turn OFF the printer immediatly and fix them (by bending the metal part a little bit for instance)&lt;br /&gt;
&lt;br /&gt;
=== After printing ===&lt;br /&gt;
* If a pile of plastic has formed in the extruder, remove the wire complitely and cut it&lt;br /&gt;
* Put the leftover in the box, maybe one day we'll be able to [http://www.filabot.com/ recycle it!]&lt;br /&gt;
&lt;br /&gt;
== Finance ==&lt;br /&gt;
* To buy new PLA filament and upgrade parts, there's a piggy bank next to the printer&lt;br /&gt;
* The cost in filament is indicated by Cura, just take a guess to add general maintenance cost of the printer&lt;br /&gt;
[[File:piggy.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Files ==&lt;br /&gt;
You can find 3D models to print from [[#Find model online|this list of websites]]. There is also a folder full of previously printed STL's on the machine attached to the Ultimaker.&lt;br /&gt;
&lt;br /&gt;
* FIXME keychain: [[File:fixme-key.stl]]&lt;br /&gt;
* Tablet support: [[File:tablet-support.stl]]&lt;br /&gt;
* Pincette: [[File:pincette-led.stl]] [[File:pincette-piles.stl]]&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ultimaker.jpg|Ultimaker 3D printer&lt;br /&gt;
File:2012-11-04_20.39.49.jpg&lt;br /&gt;
File:ulti1.png&lt;br /&gt;
File:ulti2.png&lt;br /&gt;
File:raspi-ultimaker.png|Raspberry Pi case&lt;br /&gt;
File:Cells_Ball.jpg|Cells Ball&lt;br /&gt;
File:heart-8bit.png|8bit Heart&lt;br /&gt;
File:companion-cube.png|Companion Cube (Portal)&lt;br /&gt;
File:pickaxe.jpg|Pickaxe&lt;br /&gt;
File:fixme-keychain.jpg|Keychain&lt;br /&gt;
File:fixme-keychain2.jpg|Keychain 2&lt;br /&gt;
File:Mcad metric fastners.png|Metric bolts&lt;br /&gt;
File:pincettes.jpg|Pincette aimantée&lt;br /&gt;
File:creepers.jpg|Creepers&lt;br /&gt;
File:chain.png|Chaine&lt;br /&gt;
File:Ultimaker_Closeup.mp4|Closeup Video&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
* An AXIS webcam is deployed on the printer and accessible by IP: http://62.220.135.212&lt;br /&gt;
* There's a service for viewing the webcam&lt;br /&gt;
** https://webcam.fixme.ch&lt;br /&gt;
** Repo is in github: https://github.com/fixme-lausanne/fixme-webcam&lt;br /&gt;
** [[Gitolite#Deploy|Auto-deploy]] by pushing on the &amp;lt;code&amp;gt;live&amp;lt;/code&amp;gt; branch in &amp;lt;code&amp;gt;ssh://gitolite@git.fixme.ch:1337/fixme-webcam&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Maintenance ==&lt;br /&gt;
==== Issues to fix ====&lt;br /&gt;
* End stops are getting crapy&lt;br /&gt;
* Belt tension is bad&lt;br /&gt;
* Y alignement problems&lt;br /&gt;
* Fan can't be turned off (electrical problem?)&lt;br /&gt;
* Fan duct melts and scrapes the print/print surface&lt;br /&gt;
** Needs to be re-printed more often or made in a more heat-resistant material&lt;br /&gt;
* Prints fail if they reach near the edges of the print surface&lt;br /&gt;
* The current green filament is shitty and breaks ''all the time''&lt;br /&gt;
&lt;br /&gt;
==== Fixed Issues ====&lt;br /&gt;
* &amp;lt;s&amp;gt;http://wiki.ultimaker.com/Jamming&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Needs a new tube and fixation&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;One of the nozzle is loose. When the extrusion begins, the pipe move&amp;lt;/s&amp;gt;&lt;br /&gt;
** &amp;lt;s&amp;gt;[[Media:ultimaker-fix1.png|Nemen has printed a piece for fixin']]&amp;lt;/s&amp;gt;&lt;br /&gt;
** &amp;lt;s&amp;gt;http://www.thingiverse.com/thing:27376&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Belt tension: https://www.youtube.com/watch?v=grHmmmSoOfc&amp;amp;&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Thermocoupler and the heater are stuck in the head&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Todo ====&lt;br /&gt;
Stuff to print&lt;br /&gt;
* New fan: http://www.thingiverse.com/thing:25611&lt;br /&gt;
* &amp;lt;strike&amp;gt;Buy a wood chisel set&amp;lt;/strike&amp;gt; - done&lt;br /&gt;
&lt;br /&gt;
==== New parts ====&lt;br /&gt;
* Ordered and installed May 2013&lt;br /&gt;
* Advices from FabLab Munchen: https://plus.google.com/u/0/118147898615631299121/posts/Kckxn1ssgUt&lt;br /&gt;
** http://wiki.ultimaker.com/Upgrade:_Extruder_drive_v2 - [https://shop.ultimaker.com/en/parts-and-upgrades/extruder-drive-upgrade.html 22 Euro]&lt;br /&gt;
** http://wiki.ultimaker.com/Hot_end_v2 - [https://shop.ultimaker.com/en/parts-and-upgrades/v2-hot-end-upgrade.html 56 Euro]&lt;br /&gt;
** http://wiki.ultimaker.com/Knurled_Drive_Bolt_Pack - [https://shop.ultimaker.com/en/parts-and-upgrades/knurled-bolt-kit-version-3.html 16 Euro]&lt;br /&gt;
* Self-printer alternatives&lt;br /&gt;
** http://www.thingiverse.com/thing:26094 Extruder upgrade&lt;br /&gt;
&lt;br /&gt;
== Other resources ==&lt;br /&gt;
* Filabot (recycling): [http://www.filabot.com/collections/filabot-systems buy] [http://www.kickstarter.com/projects/rocknail/filabot-plastic-filament-maker kickstarter]&lt;br /&gt;
* [http://www.metaingegneria.com/scanner-laser-3d/ 3D scanner with Camera + Laser + MatLab + MeshLab]&lt;br /&gt;
* http://themartinlab.tumblr.com/post/51803765008/10-things-i-wish-i-wouldve-known-before-owning-a-3d&lt;br /&gt;
* http://spiderbot.eu/&lt;br /&gt;
* [http://www.protoparadigm.com/blog/2013/06/vapor-smoothing-and-polishing-pla-with-tetrahydrofuran-thf/ Smoothing PLA]&lt;br /&gt;
* Drag&amp;amp;Drop page to easily transfert a .stl file to the server [http://foo.fixme.ch/marcha/]&lt;br /&gt;
* http://reprap.org/wiki/Print_Troubleshooting_Pictorial_Guide&lt;br /&gt;
* [http://nothinglabs.blogspot.ch/2013/11/3d-printed-hook-loop-fasteners.html 3D printed 'velcro']&lt;br /&gt;
* [http://www.kickstarter.com/projects/172237528/improved-3d-printer-extruder-allows-more-plastic-o Improved 3D printer extruder (for PVC and other plastics)]&lt;br /&gt;
* http://hackaday.com/2014/01/13/fastening-3d-printed-parts/&lt;br /&gt;
* http://hackaday.com/2014/01/28/fabrickation-combining-lego-and-3d-printing/&lt;br /&gt;
* http://hackaday.com/2014/03/19/ask-hackaday-auto-bed-leveling-and-high-temperature-force-sensitive-resistors/&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Plastic_recycling]]&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=30C3&amp;diff=5107</id>
		<title>30C3</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=30C3&amp;diff=5107"/>
				<updated>2013-12-14T20:41:47Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: /* People coming */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[Category:Ongoing_Projects]][[Category:Conferences]]&lt;br /&gt;
= Information =&lt;br /&gt;
* http://www.hamburg.ccc.de/&lt;br /&gt;
* Tickets: https://tickets.events.ccc.de/tickets/&lt;br /&gt;
* Schedule: https://events.ccc.de/congress/2013/Fahrplan/&lt;br /&gt;
* This year, the CCC takes place at Hamburg in the [http://www.cch.de/en/visit/travel-and-accommodation/ CCH]&lt;br /&gt;
* 27-30 december 2013&lt;br /&gt;
* [http://events.ccc.de/2013/07/18/30c3-call-for-participation-en/ Call for partitipation]&lt;br /&gt;
&lt;br /&gt;
= People coming =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! Name !! Ticket? !! Transport to HAM? !! Transport from HAM? !! Hotel?&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Noskill|n0skill]] || (pre)ordered || Train || Train || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Francois || || Train || Train || Radisson Blue &lt;br /&gt;
|-&lt;br /&gt;
| Fred || (pre)ordered || Train || Train || Radisson Blue &lt;br /&gt;
|-&lt;br /&gt;
| Sasha || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Jonas || paid ||Night Train (Booked) ||Plane (Germanwings 4U7744) ||Yes (1 double rooms from 27-30.12)&lt;br /&gt;
|-&lt;br /&gt;
| Gcmalloc ||  ||Plane ||Plane ||Not yet&lt;br /&gt;
|-&lt;br /&gt;
| Rorist || (pre)ordered ||Train ||Train ||Radisson Blue&lt;br /&gt;
|-&lt;br /&gt;
| MC ||  ||Plane (train sucks) ||Plane (use petrol before it's over) ||Radisson Blue&lt;br /&gt;
|-&lt;br /&gt;
| David+Chr ||  ||car (two seats available) ||car (another driver would be nice) ||Dunno...&lt;br /&gt;
|-&lt;br /&gt;
|+&lt;br /&gt;
! Total&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Tickets =&lt;br /&gt;
Available at&lt;br /&gt;
https://tickets.events.ccc.de/tickets/&lt;br /&gt;
&lt;br /&gt;
= Transport =&lt;br /&gt;
&lt;br /&gt;
== By plane ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! !! GVA - HAM !! HAM - GVA&lt;br /&gt;
|-&lt;br /&gt;
| '''Company''' || GermanWings || GermanWings&lt;br /&gt;
|-&lt;br /&gt;
| '''Flight no''' || 4U7745 || 4U7744&lt;br /&gt;
|-&lt;br /&gt;
| '''Date''' || 26.12 || 30.12&lt;br /&gt;
|-&lt;br /&gt;
| '''Departure''' || 20:25 || 22:05&lt;br /&gt;
|-&lt;br /&gt;
| '''Arrival''' || 18:15 || 19:50&lt;br /&gt;
|-&lt;br /&gt;
| '''Changes''' || 0 || 0&lt;br /&gt;
|}&lt;br /&gt;
* For return flight you can get a great rate by booking over lidl-reisen.de http://www.lidl-reisen.de/germanwings&lt;br /&gt;
&lt;br /&gt;
== By Train ==&lt;br /&gt;
=== CNL478 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! !! LSN - HAM !! HAM - BSL&lt;br /&gt;
|-&lt;br /&gt;
| '''Company''' || City Night Line (DB)  || City Night Line (DB)&lt;br /&gt;
|-&lt;br /&gt;
| '''Train no''' || CNL 478 || CNL 479&lt;br /&gt;
|-&lt;br /&gt;
| '''Date''' || 26.12 || 30.12&lt;br /&gt;
|-&lt;br /&gt;
| '''Departure''' || 18:45 || 19:11&lt;br /&gt;
|-&lt;br /&gt;
| '''Arrival''' || 08:42 || 06:36&lt;br /&gt;
|-&lt;br /&gt;
| '''Changes''' || 1 (BSL 22h13) || 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Proposition ===&lt;br /&gt;
From 108€ (~132 CHF) with demi-tarif Suisse for seat, and 118€ (~145 CHF) with bunk.&lt;br /&gt;
*[[:Image:Trainto.png]]&lt;br /&gt;
*[[:Image:Trainprice.png]]&lt;br /&gt;
*[[:Image:Online3.png]]&lt;br /&gt;
&lt;br /&gt;
''Note: train prices are now available.''&lt;br /&gt;
&lt;br /&gt;
= Hotels =&lt;br /&gt;
== Radisson Blue ==&lt;br /&gt;
&amp;lt;b&amp;gt;The Radisson Blue is FULL!&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;s&amp;gt;&lt;br /&gt;
*http://www.radissonblu.com/hotel-hamburg 90Eur/night for some ppl&lt;br /&gt;
**(119€ night/2)*3=178.5€ or 220 CHF per person for refundable version&lt;br /&gt;
**(106€ night/2)*3=159€ or 196.2 CHF per person for non-refundable version&lt;br /&gt;
*Promo code : '''30C3'''&lt;br /&gt;
&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other hotels ==&lt;br /&gt;
* https://events.ccc.de/congress/2013/wiki/Static:Accommodation&lt;br /&gt;
* http://www.generatorhostels.com/en/hamburg/ CHF 25.-/night for some other ppl&lt;br /&gt;
** From ~23 to ~85 CHF per person per night&lt;br /&gt;
* Gym - 5€/night&lt;br /&gt;
** Bartelsstr. 69, 20357 Hamburg and Haubachstr. 55, 22765 Hamburg&lt;br /&gt;
&lt;br /&gt;
= Phone numbers =&lt;br /&gt;
Phone number registering: https://www.eventphone.de&lt;br /&gt;
&lt;br /&gt;
== Phone list ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! Name&lt;br /&gt;
! Extension&lt;br /&gt;
! Type&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= No nerd left behind =&lt;br /&gt;
* TBD&lt;br /&gt;
&lt;br /&gt;
= Projects =&lt;br /&gt;
* [[SpaceAPI#Components|MyHackerspace]]&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
* [[28C3]]&lt;br /&gt;
* [[29C3]]&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=Parts_Order&amp;diff=4829</id>
		<title>Parts Order</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=Parts_Order&amp;diff=4829"/>
				<updated>2013-10-18T17:23:09Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= China =&lt;br /&gt;
&lt;br /&gt;
We can also order parts from China at a very low sales price.  However, such orders should be high volume for each part.  [[TaoBao Order]]&lt;br /&gt;
&lt;br /&gt;
= International Distributors =&lt;br /&gt;
&lt;br /&gt;
We usually order from [http://digikey.com DigiKey] (free shipping, fairly cheap) or [http://www.futureelectronics.com Future Electronics] ($50 shipping, very cheap).  [http://mouser.com Mouser] also ships free above 80 CHF.&lt;br /&gt;
&lt;br /&gt;
Because DigiKey and Future carry different parts, it is not easy to do a cheap order with exactly one part, because sometimes alternative parts exist in the other store that are cheaper.&lt;br /&gt;
List alternative parts in the ''Article Number'' field.  Let's see how that works out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Please stick to the following text format, because then we can mass-import the shopping list directly:&lt;br /&gt;
Who, Count, Article Number(s)&lt;br /&gt;
Start your list below:&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
== October 2013 - (Pending) ==&lt;br /&gt;
how about july/aug? stil pending?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;976-1077-ND, 10, Hi-Power LED BXRA-50C5300-H-00 # DL parce qu'on veut de la luce&lt;br /&gt;
XXXXXX-ND, 20, Hi-speed optocoupler # DL, faut encore choisir le composant....&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== January 2013 - Farnell - (Closed) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2191863, 17, RASPBERRY PI MODEL B #Prosouth(6) + Sasha(2) + Chris + _gcmalloc(2) + rorist + Noskill + Florian(2) + Ale&lt;br /&gt;
1229687, 2, BULGIN - PX0447 - CONNECTEUR MINI USB B MONT PANNEAU #Damien&lt;br /&gt;
1280789, 2, PRO SIGNAL - PSG01500 - FICHE MALE JACK 3.5MM 4 BROCHES METAL #Sasha&lt;br /&gt;
1280665, 2, PRO SIGNAL - PSG01497 - FICHE FEMELLE JACK 3.5MM STEREO #Sasha&lt;br /&gt;
2113799, 1, BOITIER POUR RASPBERRY PI TRANSPARENT #Ale&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Commande passée le 12 mars par François, livraison mercredi 13 si tout va bien!&lt;br /&gt;
&lt;br /&gt;
== January - Farnell - (Close) ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2113799, 5, BOITIER POUR RASPBERRY PI TRANSPARENT #Fred + Ol1v + Sasha + Nemen(2x)&lt;br /&gt;
2113798, 1, BOITIER POUR RASPBERRY PI BLACK #Fred&lt;br /&gt;
2095867, 1, BRIDGE USB TO 1-FIL RJ11 #Fred&lt;br /&gt;
8750025, 1, CABLE DVI VERS HDMI 1M #Rorist&lt;br /&gt;
2115733, 5, CABLE USB A M - MICRO B M 1.8M #Rorist(2x) + Nemen(3x)&lt;br /&gt;
1079903, 20, CONTACT A SERTIR 24-30 AWG #Fred (FIXME?)&lt;br /&gt;
1668591, 10, EMBASE 2.54MM SINGLE 9VOIES #Fred&lt;br /&gt;
1568025, 2, FEMELLE MICRO USB B MID MOUNT #Sasha&lt;br /&gt;
2191863, 2, RASPBERRY PI MODEL B #Nemen&lt;br /&gt;
1568398, 1, DC STECKER 5, 5/2, 1 MM #Nemen&lt;br /&gt;
8365830, 2, FICHE 3 VOIES 4MM AVEC LEVIERS #Nemen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Frais de livraison : 	SFr. 15.00&lt;br /&gt;
TVA 	SFr. 18.40&lt;br /&gt;
&lt;br /&gt;
Prix final : https://docs.google.com/spreadsheet/ccc?key=0AuoAcKD1j_atdFBYWDM3NFE0b21IeW5fTExsQ0FMNXc&lt;br /&gt;
&lt;br /&gt;
== July/August (pending) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nemen, 5, 568-1484-5-ND # IC SHIFT REGISTER 8BIT 16DIP, $0.50&lt;br /&gt;
nemen, 5, ATTINY2313-20PU-ND # AT TINY 2313, $2.67&lt;br /&gt;
nemen, 5, ED60011-ND # 20DIP SUPPORT, $2.75&lt;br /&gt;
nemen, 10, 497-3186-5-ND # MOSFET N-CH 60V 30A TO-220, $1.02&lt;br /&gt;
simon, 20, SE3327-ND # CRYSTAL 77.5000KHZ 11PF CYL, $0.754&lt;br /&gt;
simon, 100, DMG3420U-7DICT-ND # MOSFET N-CH 20V 5.47A SOT23, $0.18560&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== August boxtec.ch (completed) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
3 x Ultrasonic Ranging Module HC-SR04 (47054) = CHF 37.20 &lt;br /&gt;
4 x Mini 5V DC Power Relay SRD-5VDC-SL-C (48183) = CHF 12.80 &lt;br /&gt;
1 x Duinomite MINI Basic Computer in small, compact form (31906) = CHF 27.20 &lt;br /&gt;
5 x Shrouded Header 2x3pin (m) (48168) = CHF 7.50 &lt;br /&gt;
5 x Shrouded Header 2x5pin (m) (48150) = CHF 8.00 &lt;br /&gt;
5 x Ribbon Crimp Connector 2x5pin (f) (48151) = CHF 5.00 &lt;br /&gt;
5 x Ribbon Crimp Connector 2x3pin (f) (48152) = CHF 4.25 &lt;br /&gt;
4 x Stepper Motor with Cable (47923) = CHF 73.20 &lt;br /&gt;
3 x USB Cable Mini USB (110cm) black (30306) = CHF 10.80 &lt;br /&gt;
1 x 8x8 Dot Matrix 3mm dia. Bicolor LED Display (45006) = CHF 4.50 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==5 April 2012 (completed)==&lt;br /&gt;
''il me faut aussi des borniers à visser, pour du fil normal (max 2mm²) par 2 (15pc), 3 (15pc) et 12 (10pc)? je trouve pas sur digikey :-( si quelqu'un sait où trouver..'' [[User:Petaflot|Petaflot]] 15:52, 4 April 2012 (CEST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DL, 10, 360-1816-ND # on-off-on switches&lt;br /&gt;
DL, 3, 	432-1257-ND # off-on-mom switches&lt;br /&gt;
DL, 3, 360-2073-ND # on-on-on switches&lt;br /&gt;
DL, 10, EG2394-ND # mom-off-on SPDT switches&lt;br /&gt;
DL, 3, 360-2080-ND # mom-off-on DPDT switches&lt;br /&gt;
DL, 1, 27931-ND # CO detector will make ND happy ;-)&lt;br /&gt;
DL, 4, LM2596S-ADJ-ND # to fix DC converters..&lt;br /&gt;
DL, 10, 568-1047-5-ND # I²C 8-bit LED driver with linux userspace utilities :-)&lt;br /&gt;
DL, 10, Z995-ND # relay socket, 5 pos through-hole&lt;br /&gt;
DL, 6, Z855-ND # relay socket, 5 pos DIN&lt;br /&gt;
DL, 2, Z2605-ND #relay socket, 8 pos&lt;br /&gt;
DL, 2, Z207-ND # relay socket 8 pos DIN&lt;br /&gt;
DL, 2 Z1637-ND # DPDT relay, 5A&lt;br /&gt;
DL, 10, Z1633-ND # 24V SPDT relay, 10A&lt;br /&gt;
DL, 15, 751-1129-ND #LEDs&lt;br /&gt;
DL, 15, 751-1114-ND #LEDs&lt;br /&gt;
DL, 15, 751-1153-ND #LEDs&lt;br /&gt;
DL, 5, 568-1416-5-ND #demux, active high output&lt;br /&gt;
DL, 5, 296-1600-5-ND #ShiftRegisters&lt;br /&gt;
DL, 5, 296-9217-5-ND # dual analog mux/demux&lt;br /&gt;
DL, 10, ED3114-ND # 14 pin DIP socket&lt;br /&gt;
DL, 10, 3M5463-ND # 16 pin DIP socket&lt;br /&gt;
DL, 10, 3M5476-ND # 18 pin DIP socket&lt;br /&gt;
&lt;br /&gt;
337,78 Euros&lt;br /&gt;
&lt;br /&gt;
NEM, 5, CP3-1000-ND # 2.1mm plug&lt;br /&gt;
NEM, 5 ATTINY13A-PU-ND # ATtiny13&lt;br /&gt;
NEM, 1, LM386N-1-ND # LM386 AMP Audio&lt;br /&gt;
NEM, 3, BH9V-PC-ND # Battery holder&lt;br /&gt;
NEM, 2, 3352T-104LF-ND # 100k variable resistor&lt;br /&gt;
NEM, 2, CP-3536-ND # 3.5mm jack&lt;br /&gt;
NEM, 1, RNF364K-ND # Heat shrink tube&lt;br /&gt;
NEM, 1, RNF012K-ND # Heat shrink tube&lt;br /&gt;
NEM, 5, A100204-ND # 8 pins DIP socket&lt;br /&gt;
&lt;br /&gt;
362,89 Euros, delta = 25.11 Euros&lt;br /&gt;
&lt;br /&gt;
JB, 5, 568-1416-5-ND #demux, active high output&lt;br /&gt;
JB, 5, 296-1600-5-ND #ShiftRegisters&lt;br /&gt;
JB, 20, 751-1129-ND #LEDs&lt;br /&gt;
JB, 20, 751-1114-ND #LEDs&lt;br /&gt;
JB, 20, 751-1153-ND #LEDs&lt;br /&gt;
JB, 10, A32870-ND #16 pins DIP socket&lt;br /&gt;
JB, 1, 438-1022-ND #prototype board&lt;br /&gt;
JB, 1, 299/1 SV005-ND #non insulated wire&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
443,24 Euros, delta = 80.35 Euros&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ND, to many things, I make the order of my items + the current list on wednesday April 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Order sent 5th of april @ 00:15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=File:Mcad_metric_fastners.png&amp;diff=3316</id>
		<title>File:Mcad metric fastners.png</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=File:Mcad_metric_fastners.png&amp;diff=3316"/>
				<updated>2012-11-13T18:47:02Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: hmm not quite right yet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;currently fixing MCAD library for metric nuts, bolts and the like - pictures show counter-clockwise threads and the pitch is incorrect. I will keep on working on it until I get bolts and nuts that are compatible with &lt;br /&gt;
standard &amp;quot;metal&amp;quot; metric bolts. until then, shut up or wait.. or contribute! ask Petaflot about it.&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=3d_printer&amp;diff=3315</id>
		<title>3d printer</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=3d_printer&amp;diff=3315"/>
				<updated>2012-11-13T18:37:11Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: openscad&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Information ==&lt;br /&gt;
* http://wiki.ultimaker.com/Newcomer_guide_to_your_first_3D_print&lt;br /&gt;
* 3D Software:&lt;br /&gt;
** [http://openscad.org OpenSCAD] is a script-based 3D editor. it can make use of parameters, conditions, for and while loops, etc... This is currently Petaflot's choice&lt;br /&gt;
** http://www.3dtin.com/ Online in the browser&lt;br /&gt;
** http://www.netfabb.com/download.php (Linux version)&lt;br /&gt;
* Printing software:&lt;br /&gt;
** http://slic3r.org/&lt;br /&gt;
** https://github.com/daid/Cura&lt;br /&gt;
&lt;br /&gt;
== Issues to fix ==&lt;br /&gt;
* The heater may be blocked inside&lt;br /&gt;
** Needs to be removed and cleaned&lt;br /&gt;
** Head may be replaced by the new one&lt;br /&gt;
* Needs a new tube and fixation&lt;br /&gt;
* One of the nozzle is loose. When the extrusion begins, the pipe move&lt;br /&gt;
** [[Media:ultimaker-fix1.png|Nemen has printed a piece for fixin']]&lt;br /&gt;
** http://www.thingiverse.com/thing:27376&lt;br /&gt;
* Software is kind of crappy&lt;br /&gt;
* Belt tension: https://www.youtube.com/watch?v=grHmmmSoOfc&amp;amp;&lt;br /&gt;
&lt;br /&gt;
== Cura for printing ==&lt;br /&gt;
=== Installation ===&lt;br /&gt;
* http://daid.github.com/Cura/&lt;br /&gt;
* it's the only software worth it&lt;br /&gt;
* Yes, you will need PyOpenGL for it to run. Displaying nice 3d images is not that trivial.&lt;br /&gt;
&lt;br /&gt;
* Recommended: Use the dev version on github: https://github.com/daid/Cura.git (12.10 when I'm writing)&lt;br /&gt;
* Required packages: wxPython and PyOpenGL.&lt;br /&gt;
* You can use a python virtualenv.&lt;br /&gt;
&lt;br /&gt;
=== First use ===&lt;br /&gt;
* On first Cura start, you don't need to upgrade to Marlin firmware because it's already done.&lt;br /&gt;
* You should run the checks, at least to check if USB connection between PC and the printer is working. For temperature check, the printer need to cool down (to ~30) before heating and check, it can take looong time.&lt;br /&gt;
* Now you can use Cura to print objects.&lt;br /&gt;
&lt;br /&gt;
=== Printing ===&lt;br /&gt;
* Load a .stl model.&lt;br /&gt;
* Change orientation, size, etc...&lt;br /&gt;
* Click on the Prepare print button.&lt;br /&gt;
* Software will slice the object into GCode. The more you choose a large scale object, the longer the execution time is.&lt;br /&gt;
* When it done, click on Print button to open the Printing dialog.&lt;br /&gt;
* Wait the software connect with the printer, Connection button will turn from clickable to readonly and Print button will turn from readonly to clickable.&lt;br /&gt;
* Set the temperature with the arrows (yeah it's not working by putting the number directly)&lt;br /&gt;
* Wait a bit so the hot end is distributively warmed&lt;br /&gt;
* Extrude before printing, so the wire is at the start of the hot end&lt;br /&gt;
* Make sure the wire is extruding correctly (the output wire is regular)&lt;br /&gt;
* Click the Print button.&lt;br /&gt;
* '''KEEP YOUR EYES ON THE PRINTER THROUGHOUT THE PRINTING PROCESS!!!''' And clean which could interfere the printing.&lt;br /&gt;
&lt;br /&gt;
== Todo ==&lt;br /&gt;
Stuff to print&lt;br /&gt;
* New fan: http://www.thingiverse.com/thing:25611&lt;br /&gt;
&lt;br /&gt;
== Files ==&lt;br /&gt;
* FIXME keychain: [[File:fixme-key.stl]]&lt;br /&gt;
* Tablet support: [[File:tablet-support.stl]]&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ultimaker.jpg|Ultimaker 3D printer&lt;br /&gt;
File:2012-11-04_20.39.49.jpg&lt;br /&gt;
File:ulti1.png&lt;br /&gt;
File:ulti2.png&lt;br /&gt;
File:raspi-ultimaker.png|Raspberry Pi case&lt;br /&gt;
File:Cells_Ball.jpg|Cells Ball&lt;br /&gt;
File:heart-8bit.png|8bit Heart&lt;br /&gt;
File:companion-cube.png|Companion Cube (Portal)&lt;br /&gt;
File:pickaxe.jpg|Pickaxe&lt;br /&gt;
File:fixme-keychain.jpg|Keychain&lt;br /&gt;
File:fixme-keychain2.jpg|Keychain 2&lt;br /&gt;
File:Mcad metric fastners.png|Metric bolts&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=3d_printer&amp;diff=3302</id>
		<title>3d printer</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=3d_printer&amp;diff=3302"/>
				<updated>2012-11-11T21:30:37Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: /* Photos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Information ==&lt;br /&gt;
* http://wiki.ultimaker.com/Newcomer_guide_to_your_first_3D_print&lt;br /&gt;
* 3D Software:&lt;br /&gt;
** http://www.3dtin.com/ Online in the browser&lt;br /&gt;
&lt;br /&gt;
== Issues to fix ==&lt;br /&gt;
* The heater may be blocked inside&lt;br /&gt;
** Needs to be removed and cleaned&lt;br /&gt;
** Head may be replaced by the new one&lt;br /&gt;
* Needs a new tube and fixation&lt;br /&gt;
* One of the nozzle is loose. When the extrusion begins, the pipe move&lt;br /&gt;
** [[Media:ultimaker-fix1.png|Nemen has printed a piece for fixin']]&lt;br /&gt;
** http://www.thingiverse.com/thing:27376&lt;br /&gt;
* Software is kind of crappy&lt;br /&gt;
* Belt tension: https://www.youtube.com/watch?v=grHmmmSoOfc&amp;amp;&lt;br /&gt;
&lt;br /&gt;
== Cura for printing ==&lt;br /&gt;
=== Installation ===&lt;br /&gt;
* http://daid.github.com/Cura/&lt;br /&gt;
* it's the only software worth it&lt;br /&gt;
* Yes, you will need PyOpenGL for it to run. Displaying nice 3d images is not that trivial.&lt;br /&gt;
&lt;br /&gt;
* Recommended: Use the dev version on github: https://github.com/daid/Cura.git (12.10 when I'm writing)&lt;br /&gt;
* Required packages: wxPython and PyOpenGL.&lt;br /&gt;
* You can use a python virtualenv.&lt;br /&gt;
&lt;br /&gt;
=== First use ===&lt;br /&gt;
* On first Cura start, you don't need to upgrade to Marlin firmware because it's already done.&lt;br /&gt;
* You should run the checks, at least to check if USB connection between PC and the printer is working. For temperature check, the printer need to cool down (to ~30) before heating and check, it can take looong time.&lt;br /&gt;
* Now you can use Cura to print objects.&lt;br /&gt;
&lt;br /&gt;
=== Printing ===&lt;br /&gt;
* Load a .stl model.&lt;br /&gt;
* Change orientation, size, etc...&lt;br /&gt;
* Click on the Prepare print button.&lt;br /&gt;
* Software will slice the object into GCode. The more you choose a large scale object, the longer the execution time is.&lt;br /&gt;
* When it done, click on Print button to open the Printing dialog.&lt;br /&gt;
* Wait the software connect with the printer, Connection button will turn from clickable to readonly and Print button will turn from readonly to clickable.&lt;br /&gt;
* Click the Print button.&lt;br /&gt;
* '''KEEP YOUR EYES ON THE PRINTER THROUGHOUT THE PRINTING PROCESS!!!''' And clean which could interfere the printing.&lt;br /&gt;
&lt;br /&gt;
== Todo ==&lt;br /&gt;
Stuff to print&lt;br /&gt;
* New fan: http://www.thingiverse.com/thing:25611&lt;br /&gt;
&lt;br /&gt;
== Files ==&lt;br /&gt;
[[File:fixme-key.stl]]&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ultimaker.jpg|Ultimaker 3D printer&lt;br /&gt;
File:2012-11-04_20.39.49.jpg&lt;br /&gt;
File:ulti1.png&lt;br /&gt;
File:ulti2.png&lt;br /&gt;
File:raspi-ultimaker.png|Raspberry Pi case&lt;br /&gt;
File:Cells_Ball.jpg|Cells Ball&lt;br /&gt;
File:heart-8bit.png|8bit Heart&lt;br /&gt;
File:companion-cube.png|Companion Cube (Portal)&lt;br /&gt;
File:pickaxe.jpg|Pickaxe&lt;br /&gt;
File:fixme-keychain.jpg|Keychain&lt;br /&gt;
File:fixme-keychain2.jpg|Keychain 2&lt;br /&gt;
File:Mcad metric fastners.png|Metric bolts&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=File:Mcad_metric_fastners.png&amp;diff=3301</id>
		<title>File:Mcad metric fastners.png</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=File:Mcad_metric_fastners.png&amp;diff=3301"/>
				<updated>2012-11-11T21:29:11Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: fixed MCAD library for metric nuts, bolts and the like&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;fixed MCAD library for metric nuts, bolts and the like&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=Vim-plugin&amp;diff=3130</id>
		<title>Vim-plugin</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=Vim-plugin&amp;diff=3130"/>
				<updated>2012-10-14T17:19:19Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: git plugins&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a non-exhausive list of really great vim plugin:&lt;br /&gt;
= General =&lt;br /&gt;
== git ==&lt;br /&gt;
* Vim-Fugitive - work on your commits from within GIT! https://github.com/tpope/vim-fugitive&lt;br /&gt;
* Git.vim is a plugin that allows the user to perform a lot more Git operations from within the Vim environment. http://github.com/motemen/git-vim/tree/master&lt;br /&gt;
* This plugin was designed to display the current branch info in the vim status line.  http://github.com/taq/vim-git-branch-info/tree/master&lt;br /&gt;
== pathogen ==&lt;br /&gt;
For plugin management, after installing you can keep all your plugin in a ~/.vim/bundle. You can keep every plugin as a git depot for git-submodule management or similar.&lt;br /&gt;
http://www.vim.org/scripts/script.php?script_id=2332&lt;br /&gt;
== conque ==&lt;br /&gt;
A shell wrapper you can open a shell in a vim buffer simply with &lt;br /&gt;
:ConqueTerm ipython &lt;br /&gt;
or &lt;br /&gt;
:ConqueTerm zsh&lt;br /&gt;
http://code.google.com/p/conque/&lt;br /&gt;
== ack ==&lt;br /&gt;
A simple shortcut to the ack command, a grep alternative specially designed for programmers.&lt;br /&gt;
To search for all the source code for a word with some grep option by default.&lt;br /&gt;
https://github.com/mileszs/ack.vim&lt;br /&gt;
== surround ==&lt;br /&gt;
add or remove surrounding, it support parenthesis opening and closing.&lt;br /&gt;
For example:&lt;br /&gt;
 &amp;quot;hello&amp;quot; to 'hello' with cs&amp;quot;'&lt;br /&gt;
https://github.com/tpope/vim-surround&lt;br /&gt;
== The-NERD-Tree ==&lt;br /&gt;
A file browser in vim, much better than the default one.&lt;br /&gt;
https://github.com/scrooloose/nerdtree&lt;br /&gt;
== auto-mkdir ==&lt;br /&gt;
Automatically create the directory that doesn't exist yet when editing a new file.&lt;br /&gt;
== minibufexplorer ==&lt;br /&gt;
always see all opened buffer, change between them, see wich one are selected.&lt;br /&gt;
https://github.com/fholgado/minibufexpl.vim&lt;br /&gt;
== snipmate ==&lt;br /&gt;
Very good snipet utility, very easily scriptable.&lt;br /&gt;
== superTab ==&lt;br /&gt;
tab make the completion for everything, snipet completion too if you have snipmate&lt;br /&gt;
== vim-powerline ==&lt;br /&gt;
status-bar on cocaine, with svn, git status, encoding, end of line, and more&lt;br /&gt;
== speedating ==&lt;br /&gt;
Increment/Decrement date with ctrl+a/ctrl+x, works so well you will loose your calendar.&lt;br /&gt;
Very handy to build macro on top of it.&lt;br /&gt;
== ZoomWin ==&lt;br /&gt;
Maximize one window, then go back to the original layout&lt;br /&gt;
&lt;br /&gt;
= javascript =&lt;br /&gt;
== jslint ==&lt;br /&gt;
a simple linter with the quick fix window support&lt;br /&gt;
&lt;br /&gt;
= css =&lt;br /&gt;
== css-color==&lt;br /&gt;
add the color of every color tag as the background for example:&lt;br /&gt;
html {&lt;br /&gt;
color: blue&lt;br /&gt;
}&lt;br /&gt;
the background of blue will be blue&lt;br /&gt;
&lt;br /&gt;
= Python =&lt;br /&gt;
== Pydoc ==&lt;br /&gt;
Works very well for the default cpython lib. will open a new buffer in a new window with the corresponding doc when completing.&lt;br /&gt;
== Rope ==&lt;br /&gt;
Renaming at project scope, changing element and moving code around. Works really great&lt;br /&gt;
== Pyflake ==&lt;br /&gt;
A simple linter with quick fix window support&lt;br /&gt;
&lt;br /&gt;
= Erlang =&lt;br /&gt;
== Vimerl ==&lt;br /&gt;
The best plugin around for programming in erlang with vim&lt;br /&gt;
https://github.com/oscarh/vimerl&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=Parts_Order&amp;diff=2043</id>
		<title>Parts Order</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=Parts_Order&amp;diff=2043"/>
				<updated>2012-04-04T15:26:03Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: /* Electronics Parts Order */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Electronics Parts Order =&lt;br /&gt;
&lt;br /&gt;
We usually order from [http://digikey.com DigiKey] (free shipping, fairly cheap) or [http://www.futureelectronics.com Future Electronics] ($50 shipping, very cheap).&lt;br /&gt;
&lt;br /&gt;
Because DigiKey and Future carry different parts, it is not easy to do a cheap order with exactly one part, because sometimes alternative parts exist in the other store that are cheaper.&lt;br /&gt;
List alternative parts in the ''Article Number'' field.  Let's see how that works out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Please stick to the following text format, because then we can mass-import the shopping list directly:&lt;br /&gt;
Who, Count, Article Number(s)&lt;br /&gt;
Start your list below:&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''il me faut aussi des borniers à visser, pour du fil normal (max 2mm²) par 2 (15pc), 3 (15pc) et 12 (10pc)? je trouve pas sur digikey :-( si quelqu'un sait où trouver..'' [[User:Petaflot|Petaflot]] 15:52, 4 April 2012 (CEST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DL, 10, 360-1816-ND # on-off-on switches&lt;br /&gt;
DL, 3, 	432-1257-ND # off-on-mom switches&lt;br /&gt;
DL, 3, 360-2073-ND # on-on-on switches&lt;br /&gt;
DL, 10, EG2394-ND # mom-off-on SPDT switches&lt;br /&gt;
DL, 3, 360-2080-ND # mom-off-on DPDT switches&lt;br /&gt;
DL, 1, 27931-ND # CO detector will make ND happy ;-)&lt;br /&gt;
DL, 4, LM2596S-ADJ-ND # to fix DC converters..&lt;br /&gt;
DL, 10, 568-1047-5-ND # I²C 8-bit LED driver with linux userspace utilities :-)&lt;br /&gt;
DL, 10, Z995-ND # relay socket, 5 pos through-hole&lt;br /&gt;
DL, 6, Z855-ND # relay socket, 5 pos DIN&lt;br /&gt;
DL, 2, Z2605-ND #relay socket, 8 pos&lt;br /&gt;
DL, 2, Z207-ND # relay socket 8 pos DIN&lt;br /&gt;
DL, 2 Z1637-ND # DPDT relay, 5A&lt;br /&gt;
DL, 10, Z1633-ND # 24V SPDT relay, 10A&lt;br /&gt;
DL, 15, 751-1129-ND #LEDs&lt;br /&gt;
DL, 15, 751-1114-ND #LEDs&lt;br /&gt;
DL, 15, 751-1153-ND #LEDs&lt;br /&gt;
DL, 5, 568-1416-5-ND #demux, active high output&lt;br /&gt;
DL, 5, 296-1600-5-ND #ShiftRegisters&lt;br /&gt;
DL, 5, 296-9217-5-ND # dual analog mux/demux&lt;br /&gt;
DL, 10, ED3114-ND # 14 pin DIP socket&lt;br /&gt;
DL, 10, 3M5463-ND # 16 pin DIP socket&lt;br /&gt;
DL, 10, 3M5476-ND # 18 pin DIP socket&lt;br /&gt;
JB, 5, 568-1416-5-ND #demux, active high output&lt;br /&gt;
JB, 5, 296-1600-5-ND #ShiftRegisters&lt;br /&gt;
JB, 20, 751-1129-ND #LEDs&lt;br /&gt;
JB, 20, 751-1114-ND #LEDs&lt;br /&gt;
JB, 20, 751-1153-ND #LEDs&lt;br /&gt;
JB, 10, A32870-ND #16 pins DIP socket&lt;br /&gt;
JB, 1, 438-1022-ND #prototype board&lt;br /&gt;
JB, 1, 299/1 SV005-ND #non insulated wire&lt;br /&gt;
ND, to many things, I make the order of my items + the current list on wednesday April 4&lt;br /&gt;
NEM, 5, CP3-1000-ND # 2.1mm plug&lt;br /&gt;
NEM, 5 ATTINY13A-PU-ND # ATtiny13&lt;br /&gt;
NEM, 1, LM386N-1-ND # LM386 AMP Audio&lt;br /&gt;
NEM, 3, BH9V-PC-ND # Battery holder&lt;br /&gt;
NEM, 2, 3352T-104LF-ND # 100k variable resistor&lt;br /&gt;
NEM, 2, CP-3536-ND # 3.5mm jack&lt;br /&gt;
NEM, 1, RNF364K-ND # Heat shrink tube&lt;br /&gt;
NEM, 1, RNF012K-ND # Heat shrink tube&lt;br /&gt;
NEM, 5, A100204-ND # 8 pins DIP socket&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=Parts_Order&amp;diff=2042</id>
		<title>Parts Order</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=Parts_Order&amp;diff=2042"/>
				<updated>2012-04-04T14:35:30Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Electronics Parts Order =&lt;br /&gt;
&lt;br /&gt;
We usually order from [http://digikey.com DigiKey] (free shipping, fairly cheap) or [http://www.futureelectronics.com Future Electronics] ($50 shipping, very cheap).&lt;br /&gt;
&lt;br /&gt;
Because DigiKey and Future carry different parts, it is not easy to do a cheap order with exactly one part, because sometimes alternative parts exist in the other store that are cheaper.&lt;br /&gt;
List alternative parts in the ''Article Number'' field.  Let's see how that works out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Please stick to the following text format, because then we can mass-import the shopping list directly:&lt;br /&gt;
Who, Count, Article Number(s)&lt;br /&gt;
Start your list below:&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''il me faut aussi des borniers à visser, pour du fil normal (max 2mm²) par 2 (15pc), 3 (15pc) et 12 (10pc)? je trouve pas sur digikey :-(''' [[User:Petaflot|Petaflot]] 15:52, 4 April 2012 (CEST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DL, 1, 27931-ND # CO detector will make ND happy ;-)&lt;br /&gt;
DL, 4, LM2596S-ADJ-ND # to fix DC converters..&lt;br /&gt;
DL, 10, 568-1047-5-ND # I²C 8-bit LED driver with linux userspace utilities :-)&lt;br /&gt;
DL, 10, Z995-ND # relay socket, 5 pos through-hole&lt;br /&gt;
DL, 6, Z855-ND # relay socket, 5 pos DIN&lt;br /&gt;
DL, 2, Z2605-ND #relay socket, 8 pos&lt;br /&gt;
DL, 2, Z207-ND # relay socket 8 pos DIN&lt;br /&gt;
DL, 2 Z1637-ND # DPDT relay, 5A&lt;br /&gt;
DL, 10, Z1633-ND # 24V SPDT relay, 10A&lt;br /&gt;
DL, 15, 751-1129-ND #LEDs&lt;br /&gt;
DL, 15, 751-1114-ND #LEDs&lt;br /&gt;
DL, 15, 751-1153-ND #LEDs&lt;br /&gt;
DL, 5, 568-1416-5-ND #demux, active high output&lt;br /&gt;
DL, 5, 296-1600-5-ND #ShiftRegisters&lt;br /&gt;
DL, 5, 296-9217-5-ND # dual analog mux/demux&lt;br /&gt;
DL, 10, ED3114-ND # 14 pin DIP socket&lt;br /&gt;
DL, 10, 3M5463-ND # 16 pin DIP socket&lt;br /&gt;
DL, 10, 3M5476-ND # 18 pin DIP socket&lt;br /&gt;
JB, 5, 568-1416-5-ND #demux, active high output&lt;br /&gt;
JB, 5, 296-1600-5-ND #ShiftRegisters&lt;br /&gt;
JB, 20, 751-1129-ND #LEDs&lt;br /&gt;
JB, 20, 751-1114-ND #LEDs&lt;br /&gt;
JB, 20, 751-1153-ND #LEDs&lt;br /&gt;
JB, 10, A32870-ND #16 pins DIP socket&lt;br /&gt;
JB, 1, 438-1022-ND #prototype board&lt;br /&gt;
JB, 1, 299/1 SV005-ND #non insulated wire&lt;br /&gt;
ND, to many things, I make the order of my items + the current list on wednesday April 4&lt;br /&gt;
NEM, 5, CP3-1000-ND # 2.1mm plug&lt;br /&gt;
NEM, 5 ATTINY13A-PU-ND # ATtiny13&lt;br /&gt;
NEM, 1, LM386N-1-ND # LM386 AMP Audio&lt;br /&gt;
NEM, 3, BH9V-PC-ND # Battery holder&lt;br /&gt;
NEM, 2, 3352T-104LF-ND # 100k variable resistor&lt;br /&gt;
NEM, 2, CP-3536-ND # 3.5mm jack&lt;br /&gt;
NEM, 1, RNF364K-ND # Heat shrink tube&lt;br /&gt;
NEM, 1, RNF012K-ND # Heat shrink tube&lt;br /&gt;
NEM, 5, A100204-ND # 8 pins DIP socket&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=Parts_Order&amp;diff=2041</id>
		<title>Parts Order</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=Parts_Order&amp;diff=2041"/>
				<updated>2012-04-04T13:52:47Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Electronics Parts Order =&lt;br /&gt;
&lt;br /&gt;
We usually order from [http://digikey.com DigiKey] (free shipping, fairly cheap) or [http://www.futureelectronics.com Future Electronics] ($50 shipping, very cheap).&lt;br /&gt;
&lt;br /&gt;
Because DigiKey and Future carry different parts, it is not easy to do a cheap order with exactly one part, because sometimes alternative parts exist in the other store that are cheaper.&lt;br /&gt;
List alternative parts in the ''Article Number'' field.  Let's see how that works out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Please stick to the following text format, because then we can mass-import the shopping list directly:&lt;br /&gt;
Who, Count, Article Number(s)&lt;br /&gt;
Start your list below:&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''il me faut aussi des borniers à visser, pour du fil normal (max 2mm²) par 2 (15pc), 3 (15pc) et 12 (10pc)? je trouve pas sur digikey :-(''' [[User:Petaflot|Petaflot]] 15:52, 4 April 2012 (CEST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DL, 4, LM2596S-ADJ-ND # to fix DC converters..&lt;br /&gt;
DL, 10, 568-1047-5-ND # I²C 8-bit LED driver with linux userspace utilities :-)&lt;br /&gt;
DL, 10, Z995-ND # relay socket, 5 pos through-hole&lt;br /&gt;
DL, 6, Z855-ND # relay socket, 5 pos DIN&lt;br /&gt;
DL, 2, Z2605-ND #relay socket, 8 pos&lt;br /&gt;
DL, 2, Z207-ND # relay socket 8 pos DIN&lt;br /&gt;
DL, 2 Z1637-ND # DPDT relay, 5A&lt;br /&gt;
DL, 10, Z1633-ND # 24V SPDT relay, 10A&lt;br /&gt;
DL, 15, 751-1129-ND #LEDs&lt;br /&gt;
DL, 15, 751-1114-ND #LEDs&lt;br /&gt;
DL, 15, 751-1153-ND #LEDs&lt;br /&gt;
DL, 5, 568-1416-5-ND #demux, active high output&lt;br /&gt;
DL, 5, 296-1600-5-ND #ShiftRegisters&lt;br /&gt;
DL, 5, 296-9217-5-ND # dual analog mux/demux&lt;br /&gt;
DL, 10, ED3114-ND # 14 pin DIP socket&lt;br /&gt;
DL, 10, 3M5463-ND # 16 pin DIP socket&lt;br /&gt;
DL, 10, 3M5476-ND # 18 pin DIP socket&lt;br /&gt;
JB, 5, 568-1416-5-ND #demux, active high output&lt;br /&gt;
JB, 5, 296-1600-5-ND #ShiftRegisters&lt;br /&gt;
JB, 20, 751-1129-ND #LEDs&lt;br /&gt;
JB, 20, 751-1114-ND #LEDs&lt;br /&gt;
JB, 20, 751-1153-ND #LEDs&lt;br /&gt;
JB, 10, A32870-ND #16 pins DIP socket&lt;br /&gt;
JB, 1, 438-1022-ND #prototype board&lt;br /&gt;
JB, 1, 299/1 SV005-ND #non insulated wire&lt;br /&gt;
ND, to many things, I make the order of my items + the current list on wednesday April 4&lt;br /&gt;
NEM, 5, CP3-1000-ND # 2.1mm plug&lt;br /&gt;
NEM, 5 ATTINY13A-PU-ND # ATtiny13&lt;br /&gt;
NEM, 1, LM386N-1-ND # LM386 AMP Audio&lt;br /&gt;
NEM, 3, BH9V-PC-ND # Battery holder&lt;br /&gt;
NEM, 2, 3352T-104LF-ND # 100k variable resistor&lt;br /&gt;
NEM, 2, CP-3536-ND # 3.5mm jack&lt;br /&gt;
NEM, 1, RNF364K-ND # Heat shrink tube&lt;br /&gt;
NEM, 1, RNF012K-ND # Heat shrink tube&lt;br /&gt;
NEM, 5, A100204-ND # 8 pins DIP socket&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=Parts_Order&amp;diff=2040</id>
		<title>Parts Order</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=Parts_Order&amp;diff=2040"/>
				<updated>2012-04-04T13:41:44Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: /* Electronics Parts Order */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Electronics Parts Order =&lt;br /&gt;
&lt;br /&gt;
We usually order from [http://digikey.com DigiKey] (free shipping, fairly cheap) or [http://www.futureelectronics.com Future Electronics] ($50 shipping, very cheap).&lt;br /&gt;
&lt;br /&gt;
Because DigiKey and Future carry different parts, it is not easy to do a cheap order with exactly one part, because sometimes alternative parts exist in the other store that are cheaper.&lt;br /&gt;
List alternative parts in the ''Article Number'' field.  Let's see how that works out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Please stick to the following text format, because then we can mass-import the shopping list directly:&lt;br /&gt;
Who, Count, Article Number(s)&lt;br /&gt;
Start your list below:&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DL, 4, LM2596S-ADJ-ND # to fix DC converters..&lt;br /&gt;
DL, 10, 568-1047-5-ND # I²C 8-bit LED driver with linux userspace utilities :-)&lt;br /&gt;
DL, 10, Z995-ND # relay socket, 5 pos through-hole&lt;br /&gt;
DL, 6, Z855-ND # relay socket, 5 pos DIN&lt;br /&gt;
DL, 2, Z2605-ND #relay socket, 8 pos&lt;br /&gt;
DL, 2, Z207-ND # relay socket 8 pos DIN&lt;br /&gt;
DL, 2 Z1637-ND # DPDT relay, 5A&lt;br /&gt;
DL, 10, Z1633-ND # 24V SPDT relay, 10A&lt;br /&gt;
DL, 15, 751-1129-ND #LEDs&lt;br /&gt;
DL, 15, 751-1114-ND #LEDs&lt;br /&gt;
DL, 15, 751-1153-ND #LEDs&lt;br /&gt;
DL, 5, 568-1416-5-ND #demux, active high output&lt;br /&gt;
DL, 5, 296-1600-5-ND #ShiftRegisters&lt;br /&gt;
DL, 5, 296-9217-5-ND # dual analog mux/demux&lt;br /&gt;
JB, 5, 568-1416-5-ND #demux, active high output&lt;br /&gt;
JB, 5, 296-1600-5-ND #ShiftRegisters&lt;br /&gt;
JB, 20, 751-1129-ND #LEDs&lt;br /&gt;
JB, 20, 751-1114-ND #LEDs&lt;br /&gt;
JB, 20, 751-1153-ND #LEDs&lt;br /&gt;
JB, 10, A32870-ND #16 pins DIP socket&lt;br /&gt;
JB, 1, 438-1022-ND #prototype board&lt;br /&gt;
JB, 1, 299/1 SV005-ND #non insulated wire&lt;br /&gt;
ND, to many things, I make the order of my items + the current list on wednesday April 4&lt;br /&gt;
NEM, 5, CP3-1000-ND # 2.1mm plug&lt;br /&gt;
NEM, 5 ATTINY13A-PU-ND # ATtiny13&lt;br /&gt;
NEM, 1, LM386N-1-ND # LM386 AMP Audio&lt;br /&gt;
NEM, 3, BH9V-PC-ND # Battery holder&lt;br /&gt;
NEM, 2, 3352T-104LF-ND # 100k variable resistor&lt;br /&gt;
NEM, 2, CP-3536-ND # 3.5mm jack&lt;br /&gt;
NEM, 1, RNF364K-ND # Heat shrink tube&lt;br /&gt;
NEM, 1, RNF012K-ND # Heat shrink tube&lt;br /&gt;
NEM, 5, A100204-ND # 8 pins DIP socket&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Petaflot also needs... ==&lt;br /&gt;
can you let me know if you plan to go shopping somewhere, where it will be?&lt;br /&gt;
* headers&lt;br /&gt;
* ic sockets&lt;br /&gt;
* borniers&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=Parts_Order&amp;diff=1969</id>
		<title>Parts Order</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=Parts_Order&amp;diff=1969"/>
				<updated>2012-03-19T14:05:50Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Electronics Parts Order =&lt;br /&gt;
&lt;br /&gt;
We usually order from [http://digikey.com DigiKey] (free shipping, fairly cheap) or [http://www.futureelectronics.com Future Electronics] ($50 shipping, very cheap).&lt;br /&gt;
&lt;br /&gt;
Because DigiKey and Future carry different parts, it is not easy to do a cheap order with exactly one part, because sometimes alternative parts exist in the other store that are cheaper.&lt;br /&gt;
List alternative parts in the ''Article Number'' field.  Let's see how that works out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Please stick to the following text format, because then we can mass-import the shopping list directly:&lt;br /&gt;
Who, Count, Article Number(s)&lt;br /&gt;
Start your list below, outside of the comment:&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DL, 4, LM2596S-ADJ-ND&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Petaflot also needs... ==&lt;br /&gt;
can you let me know if you plan to go shopping somewhere, where it will be?&lt;br /&gt;
* headers&lt;br /&gt;
* ic sockets&lt;br /&gt;
* borniers&lt;br /&gt;
* 24V relays, 3-5A&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=CPU_Boards&amp;diff=1968</id>
		<title>CPU Boards</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=CPU_Boards&amp;diff=1968"/>
				<updated>2012-03-19T09:59:05Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A collection of embedded boards with various CPUs.&lt;br /&gt;
&lt;br /&gt;
'''TODO''': put this information in a table, with info like average pricing, capabilities and peripherals&lt;br /&gt;
&lt;br /&gt;
Please add boards you know about in the list, may it not be something you would chose for a project..&lt;br /&gt;
&lt;br /&gt;
== PIC based ==&lt;br /&gt;
* http://dangerousprototypes.com/docs/Web_platform_hardware_design&lt;br /&gt;
* http://www.evidence.eu.com/content/view/114/204/&lt;br /&gt;
* http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en535770&lt;br /&gt;
* http://www.microchip.com/microstick&lt;br /&gt;
* http://www.sparkfun.com/products/27&lt;br /&gt;
&lt;br /&gt;
== Atmel based ==&lt;br /&gt;
* http://www.arduino.cc/&lt;br /&gt;
* http://www.pjrc.com/teensy/index.html&lt;br /&gt;
* http://www.ethernut.de/en/hardware/ethernuts.html&lt;br /&gt;
* http://www.acmesystems.it/?id=BEEBOARD&lt;br /&gt;
&lt;br /&gt;
== ARM based ==&lt;br /&gt;
* [[ARM_Board]]&lt;br /&gt;
* http://processors.wiki.ti.com/index.php/OMAP3_Boards&lt;br /&gt;
* http://www.acmesystems.it/?id=FOXG20&lt;br /&gt;
* http://www.acmesystems.it/?id=NETUSG20&lt;br /&gt;
* http://www.ethernut.de/en/hardware/ethernuts.html&lt;br /&gt;
* http://www.embeddedarm.com/products/arm-sbc.php&lt;br /&gt;
* http://www.mini-box.com/ARM-Systems&lt;br /&gt;
* http://www.evidence.eu.com/content/view/352/426/&lt;br /&gt;
* http://elinux.org/RaspberryPiBoard&lt;br /&gt;
* http://www.solid-run.com/products/cubox&lt;br /&gt;
* http://fit-pc.co.uk/index.php?p=Trimslice&lt;br /&gt;
* http://beagleboard.org/bone (OpenSource hardware)&lt;br /&gt;
&lt;br /&gt;
== x86 based ==&lt;br /&gt;
* http://pcengines.ch/alix.htm&lt;br /&gt;
* http://www.embeddedarm.com/products/x86-sbc.php&lt;br /&gt;
* http://bifferos.co.uk/&lt;br /&gt;
* http://www.via.com.tw/en/products/embedded/boards/&lt;br /&gt;
* http://www.mini-box.com/Mini-ITX-systems-x86&lt;br /&gt;
* http://emlix.com/bsp-packages0.html?&amp;amp;language=en&lt;br /&gt;
* http://www.axiomtek.de/&lt;br /&gt;
* http://www.baudisch.de/-en&lt;br /&gt;
* http://www.review-displays.co.uk/acatalog/single-board-computers.html&lt;br /&gt;
* http://www.lantronix.com/device-networking/embedded-device-servers/xport-pro-linux-dev-kit.html basically serial port with an ethernet connector. not sure about architecture though..&lt;br /&gt;
&lt;br /&gt;
== FPGA ==&lt;br /&gt;
* http://www.acmesystems.it/?id=COLIBRI&lt;br /&gt;
* http://fpga4u.epfl.ch/&lt;br /&gt;
* http://www.xilinx.com/products/silicon-devices/fpga/index.htm&lt;br /&gt;
* http://www.altera.com/&lt;br /&gt;
* http://www.latticesemi.com/products/fpga/index.cfm?source=topnav&lt;br /&gt;
* http://www.actel.com/products/devices.aspx&lt;br /&gt;
* http://www.siliconbluetech.com/products/devices.aspx&lt;br /&gt;
* http://erika.tuxfamily.org/fpg-eye-fpga-board-with-lattice-xp2-and-mico32.html&lt;br /&gt;
&lt;br /&gt;
== External lists, providers for misc boards ==&lt;br /&gt;
* http://free-electrons.com/community/hardware/boards/&lt;br /&gt;
* http://www.olimex.com/ quite a few PIC/Duino/ARM/AVR/..boards, they give free dev boards for interesting projetcs that publish their code!&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=Parts_Order&amp;diff=1967</id>
		<title>Parts Order</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=Parts_Order&amp;diff=1967"/>
				<updated>2012-03-19T09:05:03Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Electronics Parts Order =&lt;br /&gt;
&lt;br /&gt;
We usually order from [http://digikey.com DigiKey] (free shipping, fairly cheap) or [http://www.futureelectronics.com Future Electronics] ($50 shipping, very cheap).&lt;br /&gt;
&lt;br /&gt;
Because DigiKey and Future carry different parts, it is not easy to do a cheap order with exactly one part, because sometimes alternative parts exist in the other store that are cheaper.&lt;br /&gt;
List alternative parts in the ''Article Number'' field.  Let's see how that works out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Please stick to the following text format, because then we can mass-import the shopping list directly:&lt;br /&gt;
Who, Count, Article Number(s)&lt;br /&gt;
Start your list below, outside of the comment:&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DL, 4, LM2596S-ADJ-ND&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=CPU_Boards&amp;diff=1945</id>
		<title>CPU Boards</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=CPU_Boards&amp;diff=1945"/>
				<updated>2012-03-16T18:31:36Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: /* x86 based */ lantronix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A collection of embedded boards with various CPUs.&lt;br /&gt;
&lt;br /&gt;
'''TODO''': put this information in a table, with info like average pricing, capabilities and peripherals&lt;br /&gt;
&lt;br /&gt;
Please add boards you know about in the list, may it not be something you would chose for a project..&lt;br /&gt;
&lt;br /&gt;
== PIC based ==&lt;br /&gt;
* http://dangerousprototypes.com/docs/Web_platform_hardware_design&lt;br /&gt;
* http://www.evidence.eu.com/content/view/114/204/&lt;br /&gt;
* http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en535770&lt;br /&gt;
* http://www.microchip.com/microstick&lt;br /&gt;
* http://www.sparkfun.com/products/27&lt;br /&gt;
&lt;br /&gt;
== Atmel based ==&lt;br /&gt;
* http://www.arduino.cc/&lt;br /&gt;
* http://www.pjrc.com/teensy/index.html&lt;br /&gt;
* http://www.ethernut.de/en/hardware/ethernuts.html&lt;br /&gt;
* http://www.acmesystems.it/?id=BEEBOARD&lt;br /&gt;
&lt;br /&gt;
== ARM based ==&lt;br /&gt;
* [[ARM_Board]]&lt;br /&gt;
* http://processors.wiki.ti.com/index.php/OMAP3_Boards&lt;br /&gt;
* http://www.acmesystems.it/?id=FOXG20&lt;br /&gt;
* http://www.acmesystems.it/?id=NETUSG20&lt;br /&gt;
* http://www.ethernut.de/en/hardware/ethernuts.html&lt;br /&gt;
* http://www.embeddedarm.com/products/arm-sbc.php&lt;br /&gt;
* http://www.mini-box.com/ARM-Systems&lt;br /&gt;
* http://www.evidence.eu.com/content/view/352/426/&lt;br /&gt;
* http://elinux.org/RaspberryPiBoard&lt;br /&gt;
* http://www.solid-run.com/products/cubox&lt;br /&gt;
* http://fit-pc.co.uk/index.php?p=Trimslice&lt;br /&gt;
* http://beagleboard.org/bone (OpenSource hardware)&lt;br /&gt;
&lt;br /&gt;
== x86 based ==&lt;br /&gt;
* http://pcengines.ch/alix.htm&lt;br /&gt;
* http://www.embeddedarm.com/products/x86-sbc.php&lt;br /&gt;
* http://bifferos.co.uk/&lt;br /&gt;
* http://www.via.com.tw/en/products/embedded/boards/&lt;br /&gt;
* http://www.mini-box.com/Mini-ITX-systems-x86&lt;br /&gt;
* http://emlix.com/bsp-packages0.html?&amp;amp;language=en&lt;br /&gt;
* http://www.axiomtek.de/&lt;br /&gt;
* http://www.baudisch.de/-en&lt;br /&gt;
* http://www.review-displays.co.uk/acatalog/single-board-computers.html&lt;br /&gt;
* http://www.lantronix.com/device-networking/embedded-device-servers/xport-pro-linux-dev-kit.html basically serial port with an ethernet connector. not sure about architecture though..&lt;br /&gt;
&lt;br /&gt;
== FPGA ==&lt;br /&gt;
* http://www.acmesystems.it/?id=COLIBRI&lt;br /&gt;
* http://fpga4u.epfl.ch/&lt;br /&gt;
* http://www.xilinx.com/products/silicon-devices/fpga/index.htm&lt;br /&gt;
* http://www.altera.com/&lt;br /&gt;
* http://www.latticesemi.com/products/fpga/index.cfm?source=topnav&lt;br /&gt;
* http://www.actel.com/products/devices.aspx&lt;br /&gt;
* http://www.siliconbluetech.com/products/devices.aspx&lt;br /&gt;
* http://erika.tuxfamily.org/fpg-eye-fpga-board-with-lattice-xp2-and-mico32.html&lt;br /&gt;
&lt;br /&gt;
== External lists.. ==&lt;br /&gt;
* http://free-electrons.com/community/hardware/boards/&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=Ffh&amp;diff=1832</id>
		<title>Ffh</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=Ffh&amp;diff=1832"/>
				<updated>2012-03-12T20:05:48Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: /* Components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Ongoing_Projects]]&lt;br /&gt;
== Food For Hacker ==&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
  Providing an easy and reliable source of dry food at the hackerspace.&lt;br /&gt;
== Goal ==&lt;br /&gt;
* have something cheap to eat at 4 o'clock in Lausanne for long hacking night.&lt;br /&gt;
* No washing up&lt;br /&gt;
* Also provide some fruits or vegetable at the place.&lt;br /&gt;
&lt;br /&gt;
== Obstacle ==&lt;br /&gt;
* Price&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
* Some dry noodle would be nice, we would need a keetle for this. There is a lot of different kind of noodle cup.&lt;br /&gt;
* It would be nice to have heating plates as well, we have one but it's fred's&lt;br /&gt;
&lt;br /&gt;
Shopping list :&lt;br /&gt;
* kettle - i have a stainless steel kettle I should not be using in any near future [[user:petaflot]]&lt;br /&gt;
* dry Noodle&lt;br /&gt;
* Ginger ale (little bottle)&lt;br /&gt;
* Mineral (africola ?)&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
* No precise buying date for the moment&lt;br /&gt;
&lt;br /&gt;
== Participant ==&lt;br /&gt;
* [[User:gcmalloc]]&lt;br /&gt;
* [[User:undert]]&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=Parts_Order&amp;diff=1586</id>
		<title>Parts Order</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=Parts_Order&amp;diff=1586"/>
				<updated>2012-02-10T13:02:53Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Commande Digikey du XX.XX.2011 =&lt;br /&gt;
&lt;br /&gt;
Status: open&lt;br /&gt;
&lt;br /&gt;
Délais: XX.XX.2011 &lt;br /&gt;
&lt;br /&gt;
Commandé par: ????&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Please stick to the following text format, because then we can mass-import the shopping list directly:&lt;br /&gt;
Nombre de pièces, N° article, Qui (reference)&lt;br /&gt;
Start your list below, outside of the comment:&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
100,587-1254-1-ND,simon&lt;br /&gt;
100,587-1255-1-ND,simon&lt;br /&gt;
50,587-1256-1-ND,simon  or  399-5504-1-ND if not available&lt;br /&gt;
5,LM334M-ND,simon&lt;br /&gt;
5,LT3080ET#PBF-ND,simon&lt;br /&gt;
5,HS380-ND,simon&lt;br /&gt;
5,BER220-ND,simon&lt;br /&gt;
5,BER168-ND,simon&lt;br /&gt;
10,497-1597-1-ND,simon&lt;br /&gt;
25,MCP6L02T-E/SNCT-ND,simon&lt;br /&gt;
5,SC310BSKCT-ND,simon&lt;br /&gt;
20,497-2228-1-ND,simon&lt;br /&gt;
10,497-8193-1-ND,simon&lt;br /&gt;
5,J151-ND,simon&lt;br /&gt;
5,J152-ND,simon&lt;br /&gt;
10,AP7313-33SAG-7DICT-ND,simon&lt;br /&gt;
5,DS18S20+-ND,Fred&lt;br /&gt;
10, 497-2356-5-ND, DL&lt;br /&gt;
10, 296-1411-5-ND, DL&lt;br /&gt;
10, 296-6504-5-ND, DL&lt;br /&gt;
10, 296-1403-5-ND, DL&lt;br /&gt;
10, 497-1579-5-ND, DL&lt;br /&gt;
10, TLP627-4F-ND, DL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
mais aussi: (je trouve pas dans le catalogue, qqn connaît les références? [[User:Petaflot]]&lt;br /&gt;
* borners divers&lt;br /&gt;
* headers&lt;br /&gt;
* socles IC&lt;br /&gt;
* 4m lab sockets&lt;br /&gt;
* station soudage réglable en temp.&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=Parts_Order&amp;diff=1552</id>
		<title>Parts Order</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=Parts_Order&amp;diff=1552"/>
				<updated>2012-02-07T08:56:13Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Commande Digikey du XX.XX.2011 =&lt;br /&gt;
&lt;br /&gt;
Status: open&lt;br /&gt;
&lt;br /&gt;
Délais: XX.XX.2011 &lt;br /&gt;
&lt;br /&gt;
Commandé par: ????&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Please stick to the following text format, because then we can mass-import the shopping list directly:&lt;br /&gt;
Nombre de pièces, N° article, Qui (reference)&lt;br /&gt;
Start your list below, outside of the comment:&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
100,587-1254-1-ND,simon&lt;br /&gt;
100,587-1255-1-ND,simon&lt;br /&gt;
50,587-1256-1-ND,simon  or  399-5504-1-ND if not available&lt;br /&gt;
5,LM334M-ND,simon&lt;br /&gt;
5,LT3080ET#PBF-ND,simon&lt;br /&gt;
5,HS380-ND,simon&lt;br /&gt;
5,BER220-ND,simon&lt;br /&gt;
5,BER168-ND,simon&lt;br /&gt;
10,497-1597-1-ND,simon&lt;br /&gt;
25,MCP6L02T-E/SNCT-ND,simon&lt;br /&gt;
5,SC310BSKCT-ND,simon&lt;br /&gt;
20,497-2228-1-ND,simon&lt;br /&gt;
10,497-8193-1-ND,simon&lt;br /&gt;
5,J151-ND,simon&lt;br /&gt;
5,J152-ND,simon&lt;br /&gt;
10,AP7313-33SAG-7DICT-ND,simon&lt;br /&gt;
5,DS18S20+-ND,Fred&lt;br /&gt;
10, 497-2356-5-ND, DL&lt;br /&gt;
10, 296-1411-5-ND, DL&lt;br /&gt;
10, 296-6504-5-ND, DL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
mais aussi (à chercher dans le catalogue..)&lt;br /&gt;
* borners divers&lt;br /&gt;
* headers&lt;br /&gt;
* socles IC&lt;br /&gt;
* 4m lab sockets&lt;br /&gt;
* station soudage réglable en temp.&lt;br /&gt;
* ampli-op&lt;br /&gt;
* opto-coupleur 4x ou plus&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1538</id>
		<title>XMPPHWFS</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1538"/>
				<updated>2012-02-01T20:03:18Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: fixed locmon link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Ongoing_Projects]]&lt;br /&gt;
&lt;br /&gt;
Under the barbarian name of XMPPHWFS stands the following idea:&lt;br /&gt;
&lt;br /&gt;
'''hardware IOs made available''' (on a fuse filesystem) '''through xmpp messaging protocol'''. The latest idea is to use fuse only as on option, so the name will definitely change. ''locmon2'' seems like a good candidate to me.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
XMPPHWFS is meant to replace [http://david.lutolf.net/dt/locmon/ locmon], which in my opinion was a good idea but is too buggy and impractical. from a recent copy of ''20 minutes'', it seems the industry is also heading towards something alike, only for home robots and social networking. WTF, tell me why your vacuum cleaner should tell all your facebook friends there's a plant in its way. Any suggestions are welcome, coding has not really started yet anyway.&lt;br /&gt;
&lt;br /&gt;
[[Image:Xmpphwfs arch.svg|thumb|XMPPHWFS architecture]]&lt;br /&gt;
&lt;br /&gt;
* Debugging new hardware is simply done through communication with a human client.&lt;br /&gt;
* ''corecode'' suggest to use the [http://xmpp.org/extensions/xep-0060.html PubSub] [http://jabber.org/protocols/pubsub mechanism] for event notification, I think he's bloody right on this. Some bot can catch these events and update the cache DB as well.&lt;br /&gt;
* GUI can be implemented as a bot (ctrl_bot?). Simple and clean. Use of a cache DB is a good idea to minimize traffic and load on HALs. For the interface, I'd suggest HTML with Ajax with templates and possibility to include content like webcams and the such. Help is needed here.&lt;br /&gt;
* some other bot (log_bot?) can generate [http://oss.oetiker.ch/mrtg/MRTG MRTG graphs] and update the cache database on the same occasion. MRTG config can of course be generated automatically and graphs included in the GUI.&lt;br /&gt;
* The Fuse inteface, if needed, should also be implemented as a bot. Simply specify where to mount the filesystem, connect your bot, you're done. No need to have a modified jabberd and the resulting filesystem can be mounted on any host. Any interface of this type (read: local interface, as opposed to html-based) should not talk directly to HALs, but communicate with a bot (ctrl_bot?) that has access to the cache database.&lt;br /&gt;
* in case you ''really'' want to notify your friends through twitter, facebook or whatever else, create a bot and make it subscribe to particular events&lt;br /&gt;
&lt;br /&gt;
it was suggested to use IRC for communication, but device description is be greatly improved through use of XML and XMPP is just that. AFAIK, IRC does not have a PubSub mechanism.&lt;br /&gt;
&lt;br /&gt;
:I've been dreaming of a 3D GUI where you can walk around and interract  with the hardware in a natural fashion. Volunteers?&lt;br /&gt;
&lt;br /&gt;
=== Device description ===&lt;br /&gt;
Since XMPPWHFS is aimed towards real-world I/Os, we need lots of useful info that must be made available by each HAL&lt;br /&gt;
==== About the HAL ====&lt;br /&gt;
* name&lt;br /&gt;
* description&lt;br /&gt;
* location (GPS coordinates and/or description)&lt;br /&gt;
* icon? I think we don't really care about the HAL itself, it's just a way to conveniently group I/Os&lt;br /&gt;
&lt;br /&gt;
==== About devices on each HAL ====&lt;br /&gt;
* variable name&lt;br /&gt;
* variable type and allowed values (int, float, enum..)&lt;br /&gt;
* I/O type (lock, temperature, humidity...). a more or less standard list must be written&lt;br /&gt;
* ro/rw flag&lt;br /&gt;
* unit (meters, seconds, °C..)&lt;br /&gt;
* update delay in seconds&lt;br /&gt;
* last update timestamp&lt;br /&gt;
* warn/alarm thresholds for event notification&lt;br /&gt;
* icon? maybe not necessary. one can be chosen from the I/O name or type.&lt;br /&gt;
&lt;br /&gt;
==== Sample session ====&lt;br /&gt;
;To HAL:This is to get the simple, human-readable output&lt;br /&gt;
&amp;lt;pre&amp;gt;help&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rfid_reader: last RFID tag read&lt;br /&gt;
door_lock: status of door lock&lt;br /&gt;
lock_delay: how long should the door stay open&lt;br /&gt;
temperature: tell me how cold it is outside&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:Here, it should be a good thing to have flags such as ''force_update'' if bot supports it.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
describe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL: I suppose it would be nice to include output from the ''help'' command above. XML validity needs to be checked anyway. Too many line breaks are added on purpose for readability on the wiki.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;hal name='HalName' target='event_main' backup_target='event_backup'&amp;gt;&lt;br /&gt;
 &amp;lt;description&amp;gt;This device is a sample that does many things and actually nothing&amp;lt;/description&amp;gt;&lt;br /&gt;
 &amp;lt;location lat='47°00N' long='8°00E' elevation=495&amp;gt;Main door of building on route de Genève&amp;lt;/location&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='rfid_reader' &lt;br /&gt;
    attrs='ro'&lt;br /&gt;
    type='rfid' &lt;br /&gt;
    last_update_timestamp=1326310608 &lt;br /&gt;
    value='00EFC0B554' /&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='door_lock' &lt;br /&gt;
    attrs='rw' &lt;br /&gt;
    type='enum'&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;open&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value selected=&amp;quot;selected&amp;quot;&amp;gt;closed&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;locked&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;unlocked&amp;lt;/value&amp;gt;&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='lock_delay'&lt;br /&gt;
    attrs='rw'&lt;br /&gt;
    type='int'&lt;br /&gt;
    last_update_timestamp=1326310915&lt;br /&gt;
    value=4&lt;br /&gt;
    unit='s' /&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='temperature'&lt;br /&gt;
    attrs='ro'&lt;br /&gt;
    type='float'&lt;br /&gt;
    last_update_timestamp=1326312490&lt;br /&gt;
    value=23.5&lt;br /&gt;
    unit='°C'&lt;br /&gt;
    alarm_high=28.0&lt;br /&gt;
    warn_low=12.0/&amp;gt;&lt;br /&gt;
 &amp;lt;/devices&amp;gt;&lt;br /&gt;
&amp;lt;/hal&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;temperature&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='temperature' value=23.5 /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;door_lock unlocked&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='door_lock' value='unlocked' /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;door_lock foobar&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL: format needs to be thought a little better here..&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='door_lock' value='open' /&amp;gt;error: new value out of range&amp;lt;/device&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Discussion must be done around where the values should go in the XML, and if the whole device XML string should be sent back when requesting a single value. I say it should, as it simplifies the code (and let's not care too much about the overhead)&lt;br /&gt;
&lt;br /&gt;
=== Events ===&lt;br /&gt;
When an event is detected by a HAL (threshold exceeded for example), the HAL sends the info with the Pub/Sub mechanism. other bots can subscribe to events, and then decide what to do.&lt;br /&gt;
&lt;br /&gt;
we'll get something like: (suggestions welcome!)&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='temperature' value=11.8&amp;gt;warn_low_value&amp;lt;/device&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Obstacle ==&lt;br /&gt;
* lack of expertise and motivation to implement a client in a µC&lt;br /&gt;
* weak programming skills&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
=== Software ===&lt;br /&gt;
Some things can can be handy:&lt;br /&gt;
* [http://thp.io/2007/python-jabberbot/ JabberBot] in python&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
to make XMPPHWFS as useful as possible, some hardware should be designed and the necessary firmware written&lt;br /&gt;
* [[SuperCaptor]]&lt;br /&gt;
* [[GPIO relay board]]&lt;br /&gt;
&lt;br /&gt;
=== Software extensions ===&lt;br /&gt;
* communicate with Asterisk to send voice commands&lt;br /&gt;
* have some fun with XMMS2 / MPD&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
=== as soon as possible ===&lt;br /&gt;
* design a smart way to handle events (scripting/rules interface)&lt;br /&gt;
* implement test HAL client/bot with Pub/Sub&lt;br /&gt;
* implement event_master with Pub/Sub&lt;br /&gt;
* implement ctrl_bot&lt;br /&gt;
&lt;br /&gt;
=== when the above is done... ===&lt;br /&gt;
* implement web interface on ctrl_bot&lt;br /&gt;
* implement fs_bot&lt;br /&gt;
* implement HAL bot on µC ([[SuperCaptor]]!!)&lt;br /&gt;
&lt;br /&gt;
== Participant ==&lt;br /&gt;
* [[User:Petaflot]]&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1537</id>
		<title>XMPPHWFS</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1537"/>
				<updated>2012-02-01T20:01:24Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: added project template and minor corrections&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Ongoing_Projects]]&lt;br /&gt;
&lt;br /&gt;
Under the barbarian name of XMPPHWFS stands the following idea:&lt;br /&gt;
&lt;br /&gt;
'''hardware IOs made available''' (on a fuse filesystem) '''through xmpp messaging protocol'''. The latest idea is to use fuse only as on option, so the name will definitely change. ''locmon2'' seems like a good candidate to me.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
XMPPHWFS is meant to replace [http://david.lutolf.net/dt/locmon locmon], which in my opinion was a good idea but is too buggy and impractical. from a recent copy of ''20 minutes'', it seems the industry is also heading towards something alike, only for home robots and social networking. WTF, tell me why your vacuum cleaner should tell all your facebook friends there's a plant in its way. Any suggestions are welcome, coding has not really started yet anyway.&lt;br /&gt;
&lt;br /&gt;
[[Image:Xmpphwfs arch.svg|thumb|XMPPHWFS architecture]]&lt;br /&gt;
&lt;br /&gt;
* Debugging new hardware is simply done through communication with a human client.&lt;br /&gt;
* ''corecode'' suggest to use the [http://xmpp.org/extensions/xep-0060.html PubSub] [http://jabber.org/protocols/pubsub mechanism] for event notification, I think he's bloody right on this. Some bot can catch these events and update the cache DB as well.&lt;br /&gt;
* GUI can be implemented as a bot (ctrl_bot?). Simple and clean. Use of a cache DB is a good idea to minimize traffic and load on HALs. For the interface, I'd suggest HTML with Ajax with templates and possibility to include content like webcams and the such. Help is needed here.&lt;br /&gt;
* some other bot (log_bot?) can generate [http://oss.oetiker.ch/mrtg/MRTG MRTG graphs] and update the cache database on the same occasion. MRTG config can of course be generated automatically and graphs included in the GUI.&lt;br /&gt;
* The Fuse inteface, if needed, should also be implemented as a bot. Simply specify where to mount the filesystem, connect your bot, you're done. No need to have a modified jabberd and the resulting filesystem can be mounted on any host. Any interface of this type (read: local interface, as opposed to html-based) should not talk directly to HALs, but communicate with a bot (ctrl_bot?) that has access to the cache database.&lt;br /&gt;
* in case you ''really'' want to notify your friends through twitter, facebook or whatever else, create a bot and make it subscribe to particular events&lt;br /&gt;
&lt;br /&gt;
it was suggested to use IRC for communication, but device description is be greatly improved through use of XML and XMPP is just that. AFAIK, IRC does not have a PubSub mechanism.&lt;br /&gt;
&lt;br /&gt;
:I've been dreaming of a 3D GUI where you can walk around and interract  with the hardware in a natural fashion. Volunteers?&lt;br /&gt;
&lt;br /&gt;
=== Device description ===&lt;br /&gt;
Since XMPPWHFS is aimed towards real-world I/Os, we need lots of useful info that must be made available by each HAL&lt;br /&gt;
==== About the HAL ====&lt;br /&gt;
* name&lt;br /&gt;
* description&lt;br /&gt;
* location (GPS coordinates and/or description)&lt;br /&gt;
* icon? I think we don't really care about the HAL itself, it's just a way to conveniently group I/Os&lt;br /&gt;
&lt;br /&gt;
==== About devices on each HAL ====&lt;br /&gt;
* variable name&lt;br /&gt;
* variable type and allowed values (int, float, enum..)&lt;br /&gt;
* I/O type (lock, temperature, humidity...). a more or less standard list must be written&lt;br /&gt;
* ro/rw flag&lt;br /&gt;
* unit (meters, seconds, °C..)&lt;br /&gt;
* update delay in seconds&lt;br /&gt;
* last update timestamp&lt;br /&gt;
* warn/alarm thresholds for event notification&lt;br /&gt;
* icon? maybe not necessary. one can be chosen from the I/O name or type.&lt;br /&gt;
&lt;br /&gt;
==== Sample session ====&lt;br /&gt;
;To HAL:This is to get the simple, human-readable output&lt;br /&gt;
&amp;lt;pre&amp;gt;help&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rfid_reader: last RFID tag read&lt;br /&gt;
door_lock: status of door lock&lt;br /&gt;
lock_delay: how long should the door stay open&lt;br /&gt;
temperature: tell me how cold it is outside&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:Here, it should be a good thing to have flags such as ''force_update'' if bot supports it.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
describe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL: I suppose it would be nice to include output from the ''help'' command above. XML validity needs to be checked anyway. Too many line breaks are added on purpose for readability on the wiki.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;hal name='HalName' target='event_main' backup_target='event_backup'&amp;gt;&lt;br /&gt;
 &amp;lt;description&amp;gt;This device is a sample that does many things and actually nothing&amp;lt;/description&amp;gt;&lt;br /&gt;
 &amp;lt;location lat='47°00N' long='8°00E' elevation=495&amp;gt;Main door of building on route de Genève&amp;lt;/location&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='rfid_reader' &lt;br /&gt;
    attrs='ro'&lt;br /&gt;
    type='rfid' &lt;br /&gt;
    last_update_timestamp=1326310608 &lt;br /&gt;
    value='00EFC0B554' /&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='door_lock' &lt;br /&gt;
    attrs='rw' &lt;br /&gt;
    type='enum'&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;open&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value selected=&amp;quot;selected&amp;quot;&amp;gt;closed&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;locked&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;unlocked&amp;lt;/value&amp;gt;&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='lock_delay'&lt;br /&gt;
    attrs='rw'&lt;br /&gt;
    type='int'&lt;br /&gt;
    last_update_timestamp=1326310915&lt;br /&gt;
    value=4&lt;br /&gt;
    unit='s' /&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='temperature'&lt;br /&gt;
    attrs='ro'&lt;br /&gt;
    type='float'&lt;br /&gt;
    last_update_timestamp=1326312490&lt;br /&gt;
    value=23.5&lt;br /&gt;
    unit='°C'&lt;br /&gt;
    alarm_high=28.0&lt;br /&gt;
    warn_low=12.0/&amp;gt;&lt;br /&gt;
 &amp;lt;/devices&amp;gt;&lt;br /&gt;
&amp;lt;/hal&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;temperature&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='temperature' value=23.5 /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;door_lock unlocked&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='door_lock' value='unlocked' /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;door_lock foobar&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL: format needs to be thought a little better here..&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='door_lock' value='open' /&amp;gt;error: new value out of range&amp;lt;/device&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Discussion must be done around where the values should go in the XML, and if the whole device XML string should be sent back when requesting a single value. I say it should, as it simplifies the code (and let's not care too much about the overhead)&lt;br /&gt;
&lt;br /&gt;
=== Events ===&lt;br /&gt;
When an event is detected by a HAL (threshold exceeded for example), the HAL sends the info with the Pub/Sub mechanism. other bots can subscribe to events, and then decide what to do.&lt;br /&gt;
&lt;br /&gt;
we'll get something like: (suggestions welcome!)&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='temperature' value=11.8&amp;gt;warn_low_value&amp;lt;/device&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Obstacle ==&lt;br /&gt;
* lack of expertise and motivation to implement a client in a µC&lt;br /&gt;
* weak programming skills&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
=== Software ===&lt;br /&gt;
Some things can can be handy:&lt;br /&gt;
* [http://thp.io/2007/python-jabberbot/ JabberBot] in python&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
to make XMPPHWFS as useful as possible, some hardware should be designed and the necessary firmware written&lt;br /&gt;
* [[SuperCaptor]]&lt;br /&gt;
* [[GPIO relay board]]&lt;br /&gt;
&lt;br /&gt;
=== Software extensions ===&lt;br /&gt;
* communicate with Asterisk to send voice commands&lt;br /&gt;
* have some fun with XMMS2 / MPD&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
=== as soon as possible ===&lt;br /&gt;
* design a smart way to handle events (scripting/rules interface)&lt;br /&gt;
* implement test HAL client/bot with Pub/Sub&lt;br /&gt;
* implement event_master with Pub/Sub&lt;br /&gt;
* implement ctrl_bot&lt;br /&gt;
&lt;br /&gt;
=== when the above is done... ===&lt;br /&gt;
* implement web interface on ctrl_bot&lt;br /&gt;
* implement fs_bot&lt;br /&gt;
* implement HAL bot on µC ([[SuperCaptor]]!!)&lt;br /&gt;
&lt;br /&gt;
== Participant ==&lt;br /&gt;
* [[User:Petaflot]]&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=EAN_Stalker&amp;diff=1536</id>
		<title>EAN Stalker</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=EAN_Stalker&amp;diff=1536"/>
				<updated>2012-02-01T19:43:55Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: Created page with &amp;quot;Category:Ongoing Projects  == Description == make a small web app that returns info about a product. info should be a string of text, as well as a flag (''good/avoid_if_possi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Ongoing Projects]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
make a small web app that returns info about a product. info should be a string of text, as well as a flag (''good/avoid_if_possible/avoid_at_all_costs'' or ''green/orange/red'')&lt;br /&gt;
&lt;br /&gt;
* people with allergies would greatly benefit from this project&lt;br /&gt;
* people looking to buy hardware (eg: linux-compatible) could also find it neat&lt;br /&gt;
* other uses?&lt;br /&gt;
&lt;br /&gt;
I am aware that other things exist that do more or less the same thing, only they do not allow you to use a custom database/repository (freedom of data!!)&lt;br /&gt;
&lt;br /&gt;
=== Displayed/Saved Data ===&lt;br /&gt;
* EAN code&lt;br /&gt;
* product description&lt;br /&gt;
* company (can be found within GS1 database)&lt;br /&gt;
* link/URL&lt;br /&gt;
* components (part included in hardware OR ingredients of food)&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
* ID&lt;br /&gt;
* name&lt;br /&gt;
* full description&lt;br /&gt;
* flag&lt;br /&gt;
* link/URL&lt;br /&gt;
&lt;br /&gt;
== Goal ==&lt;br /&gt;
* the user scans the EAN barcode, info is returned either as XML (for use with iPhone/android app) or as HTML (for browser)&lt;br /&gt;
* the app should be able to search different &amp;quot;repositories&amp;quot; and assemble the output&lt;br /&gt;
* user should be able to edit a product if is not in DB or if data is incomplete/incorrect&lt;br /&gt;
* show company ownership from GS1 database, as well as the &amp;quot;company tree&amp;quot; (who really owns the firm selling that product)&lt;br /&gt;
&lt;br /&gt;
== Obstacle ==&lt;br /&gt;
* no knowledge in iPhone app development&lt;br /&gt;
* no knowledge in Android app development&lt;br /&gt;
* lack of motivation to dig into GS1 API (I have it will post it soon) and information about company ownership&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
* no hardware needed&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
== Participant ==&lt;br /&gt;
* [[User:Petaflot]] for base functionality&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=User:Petaflot&amp;diff=1497</id>
		<title>User:Petaflot</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=User:Petaflot&amp;diff=1497"/>
				<updated>2012-01-25T17:16:52Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: added id_rsa.pub&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://david.lutolf.net/&lt;br /&gt;
&lt;br /&gt;
 ssh-dss AAAAB3NzaC1kc3MAAACBANLMBJxVEVzlbkGs3dN0hsg4zOHoQ6b6i/ds8fbTWxPkBGrCAbkdG9bSv1dtyTJz1adF1khg3JwSPDsG5xNZnW5XKxyfxSx+TNXB/mTCAbi2ydivmGAugUhdBF+1ETDlppI+XQPVonjIxACL460+PUR4Zip4BsoPl6ycyJyZEYWHAAAAFQDNoFPjYPHsU4SucqjoKCB2YrgqRQAAAIAtDAz6g044G40Hoe74WARrjhUGDtJ1BJ4+lXh9lrIlnLzeXn4ZmuF0yOKngUeonunRB5EHgS548m0wt/4mSWRcy933Oiom5rHnOFZWtDVOgf2Z8Etr8aRvyOm/VSmzjuLCMW9Qz+j2ukpzKx5oCFMdQw8Fsz8pLLarUOknCOGS/QAAAIEAu4tt+kGTGIAuBJsh7BIMPm1CFQEtaAiNtpzPNaF4OGef732fuKfdLLLbyu3SEXw4j7Ofj3vNc3bHBqk9+KMaHUXhaqYDpdfka2oA2upd9pCBbJT2G21Atd4Kj/IOCx/932Uz4ObC/8biZIaFGnui+e9Ivk0G6Nlc4y+a/2/3ksk= dave@pg21.org&lt;br /&gt;
&lt;br /&gt;
== What was your motivation to join participae on the hackerspace creation ? ==&lt;br /&gt;
* get the best for hacking cool stuff&lt;br /&gt;
* meeting some capable geeks for collaboration on random projects&lt;br /&gt;
* seeing what cool ideas the others have&lt;br /&gt;
&lt;br /&gt;
== What can you teach ? ==&lt;br /&gt;
* I guess time is more to learning than teaching. it's always time to share ideas and thoughts though&lt;br /&gt;
* theory of microcontrolers and computers, electrotechnics, basic circuits (current limiters, power sources, amplifiers, op amps.. basically what I learned during apprenticeship)&lt;br /&gt;
&lt;br /&gt;
== What do you want to learn ?==&lt;br /&gt;
* I first need to consolidate what I'm supposed to know. that is: microcontrolers (all of them, not just PIC)&lt;br /&gt;
* PCB design&lt;br /&gt;
* 3D modelling and prototyping&lt;br /&gt;
* how the universe works. there _must_ be simpler rules to everything&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1449</id>
		<title>XMPPHWFS</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1449"/>
				<updated>2012-01-17T20:37:06Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: /* Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Ongoing_Projects]]&lt;br /&gt;
&lt;br /&gt;
Under the barbarian name of XMPPHWFS stands the following idea:&lt;br /&gt;
&lt;br /&gt;
'''hardware IOs made available''' (on a fuse filesystem) '''through xmpp messaging protocol'''. The latest idea is to use fuse only as on option, so the name will definitely change. ''locmon2'' seems like a good candidate to me.&lt;br /&gt;
&lt;br /&gt;
XMPPHWFS is meant to replace [http://david.lutolf.net/dt/locmon locmon], which in my opinion was a good idea but is too buggy and impractical. from a recent copy of ''20 minutes'', it seems the industry is also heading towards something alike, only for home robots and social networking. WTF, tell me why your vacuum cleaner should tell all your facebook friends there's a plant in its way. Any suggestions are welcome, coding has not really started yet anyway.&lt;br /&gt;
&lt;br /&gt;
[[Image:Xmpphwfs arch.svg|thumb|XMPPHWFS architecture]]&lt;br /&gt;
&lt;br /&gt;
* Debugging new hardware is simply done through communication with a human client.&lt;br /&gt;
* ''corecode'' suggest to use the [http://xmpp.org/extensions/xep-0060.html PubSub] [http://jabber.org/protocols/pubsub mechanism] for event notification, I think he's bloody right on this. Some bot can catch these events and update the cache DB as well.&lt;br /&gt;
* GUI can be implemented as a bot (ctrl_bot?). Simple and clean. Use of a cache DB is a good idea to minimize traffic and load on HALs. For the interface, I'd suggest HTML with Ajax with templates and possibility to include content like webcams and the such. Help is needed here.&lt;br /&gt;
* some other bot (log_bot?) can generate [http://oss.oetiker.ch/mrtg/MRTG MRTG graphs] and update the cache database on the same occasion. MRTG config can of course be generated automatically and graphs included in the GUI.&lt;br /&gt;
* The Fuse inteface, if needed, should also be implemented as a bot. Simply specify where to mount the filesystem, connect your bot, you're done. No need to have a modified jabberd and the resulting filesystem can be mounted on any host. Any interface of this type (read: local interface, as opposed to html-based) should not talk directly to HALs, but communicate with a bot (ctrl_bot?) that has access to the cache database.&lt;br /&gt;
* in case you ''really'' want to notify your friends through twitter, facebook or whatever else, create a bot and make it subscribe to particular events&lt;br /&gt;
&lt;br /&gt;
it was suggested to use IRC for communication, but device description is be greatly improved through use of XML and XMPP is just that. AFAIK, IRC does not have a PubSub mechanism.&lt;br /&gt;
&lt;br /&gt;
:I've been dreaming of a 3D GUI where you can walk around and interract  with the hardware in a natural fashion. Volunteers?&lt;br /&gt;
&lt;br /&gt;
== Device description ==&lt;br /&gt;
Since XMPPWHFS is aimed towards real-world I/Os, we need lots of useful info that must be made available by each HAL&lt;br /&gt;
=== About the HAL ===&lt;br /&gt;
* name&lt;br /&gt;
* description&lt;br /&gt;
* location (GPS coordinates and/or description)&lt;br /&gt;
* icon? I think we don't really care about the HAL itself, it's just a way to conveniently group I/Os&lt;br /&gt;
&lt;br /&gt;
=== About devices on each HAL ===&lt;br /&gt;
* variable name&lt;br /&gt;
* variable type and allowed values (int, float, enum..)&lt;br /&gt;
* I/O type (lock, temperature, humidity...). a more or less standard list must be written&lt;br /&gt;
* ro/rw flag&lt;br /&gt;
* unit (meters, seconds, °C..)&lt;br /&gt;
* update delay in seconds&lt;br /&gt;
* last update timestamp&lt;br /&gt;
* warn/alarm thresholds for event notification&lt;br /&gt;
* icon? maybe not necessary. one can be chosen from the I/O name or type.&lt;br /&gt;
&lt;br /&gt;
=== Sample session ===&lt;br /&gt;
;To HAL:This is to get the simple, human-readable output&lt;br /&gt;
&amp;lt;pre&amp;gt;help&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rfid_reader: last RFID tag read&lt;br /&gt;
door_lock: status of door lock&lt;br /&gt;
lock_delay: how long should the door stay open&lt;br /&gt;
temperature: tell me how cold it is outside&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:Here, it should be a good thing to have flags such as ''force_update'' if bot supports it.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
describe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL: I suppose it would be nice to include output from the ''help'' command above. XML validity needs to be checked anyway. Too many line breaks are added on purpose for readability on the wiki.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;hal name='HalName' target='event_main' backup_target='event_backup'&amp;gt;&lt;br /&gt;
 &amp;lt;description&amp;gt;This device is a sample that does many things and actually nothing&amp;lt;/description&amp;gt;&lt;br /&gt;
 &amp;lt;location lat='47°00N' long='8°00E' elevation=495&amp;gt;Main door of building on route de Genève&amp;lt;/location&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='rfid_reader' &lt;br /&gt;
    attrs='ro'&lt;br /&gt;
    type='rfid' &lt;br /&gt;
    last_update_timestamp=1326310608 &lt;br /&gt;
    value='00EFC0B554' /&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='door_lock' &lt;br /&gt;
    attrs='rw' &lt;br /&gt;
    type='enum'&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;open&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value selected=&amp;quot;selected&amp;quot;&amp;gt;closed&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;locked&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;unlocked&amp;lt;/value&amp;gt;&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='lock_delay'&lt;br /&gt;
    attrs='rw'&lt;br /&gt;
    type='int'&lt;br /&gt;
    last_update_timestamp=1326310915&lt;br /&gt;
    value=4&lt;br /&gt;
    unit='s' /&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='temperature'&lt;br /&gt;
    attrs='ro'&lt;br /&gt;
    type='float'&lt;br /&gt;
    last_update_timestamp=1326312490&lt;br /&gt;
    value=23.5&lt;br /&gt;
    unit='°C'&lt;br /&gt;
    alarm_high=28.0&lt;br /&gt;
    warn_low=12.0/&amp;gt;&lt;br /&gt;
 &amp;lt;/devices&amp;gt;&lt;br /&gt;
&amp;lt;/hal&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;temperature&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='temperature' value=23.5 /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;door_lock unlocked&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='door_lock' value='unlocked' /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;door_lock foobar&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL: format needs to be thought a little better here..&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='door_lock' value='open' /&amp;gt;error: new value out of range&amp;lt;/device&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Discussion must be done around where the values should go in the XML, and if the whole device XML string should be sent back when requesting a single value. I say it should, as it simplifies the code (and let's not care too much about the overhead)&lt;br /&gt;
&lt;br /&gt;
=== Events ===&lt;br /&gt;
When an event is detected by a HAL (threshold exceeded for example), the HAL sends the info to ''event-master'' who will then decide what to do. In this case, the syntax does not much, so we get something like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='temperature' value=11.8&amp;gt;warn_low_value&amp;lt;/device&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Some things can can be handy:&lt;br /&gt;
* [http://thp.io/2007/python-jabberbot/ JabberBot] in python&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
to make XMPPHWFS as useful as possible, some hardware should be designed and the necessary firmware written&lt;br /&gt;
* [[SuperCaptor]]&lt;br /&gt;
* [[GPIO relay board]]&lt;br /&gt;
&lt;br /&gt;
== Software extensions ==&lt;br /&gt;
* communicate with Asterisk to send voice commands&lt;br /&gt;
* have some fun with XMMS2 / MPD&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1430</id>
		<title>XMPPHWFS</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1430"/>
				<updated>2012-01-12T08:37:57Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: social networking is still possible&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Ongoing_Projects]]&lt;br /&gt;
&lt;br /&gt;
Under the barbarian name of XMPPHWFS stands the following idea:&lt;br /&gt;
&lt;br /&gt;
'''hardware IOs made available''' (on a fuse filesystem) '''through xmpp messaging protocol'''. The latest idea is to use fuse only as on option, so the name will definitely change. ''locmon2'' seems like a good candidate to me.&lt;br /&gt;
&lt;br /&gt;
XMPPHWFS is meant to replace [http://david.lutolf.net/dt/locmon locmon], which in my opinion was a good idea but is too buggy and impractical. from a recent copy of ''20 minutes'', it seems the industry is also heading towards something alike, only for home robots and social networking. WTF, tell me why your vacuum cleaner should tell all your facebook friends there's a plant in its way. Any suggestions are welcome, coding has not really started yet anyway.&lt;br /&gt;
&lt;br /&gt;
[[Image:Xmpphwfs arch.svg|thumb|XMPPHWFS architecture]]&lt;br /&gt;
&lt;br /&gt;
* Debugging new hardware is simply done through communication with a human client.&lt;br /&gt;
* ''corecode'' suggest to use the [http://xmpp.org/extensions/xep-0060.html PubSub] [http://jabber.org/protocols/pubsub mechanism] for event notification, I think he's bloody right on this. Some bot can catch these events and update the cache DB as well.&lt;br /&gt;
* GUI can be implemented as a bot (ctrl_bot?). Simple and clean. Use of a cache DB is a good idea to minimize traffic and load on HALs. For the interface, I'd suggest HTML with Ajax with templates and possibility to include content like webcams and the such. Help is needed here.&lt;br /&gt;
* some other bot (log_bot?) can generate [http://oss.oetiker.ch/mrtg/MRTG MRTG graphs] and update the cache database on the same occasion. MRTG config can of course be generated automatically and graphs included in the GUI.&lt;br /&gt;
* The Fuse inteface, if needed, should also be implemented as a bot. Simply specify where to mount the filesystem, connect your bot, you're done. No need to have a modified jabberd and the resulting filesystem can be mounted on any host. Any interface of this type (read: local interface, as opposed to html-based) should not talk directly to HALs, but communicate with a bot (ctrl_bot?) that has access to the cache database.&lt;br /&gt;
* in case you ''really'' want to notify your friends through twitter, facebook or whatever else, create a bot and make it subscribe to particular events&lt;br /&gt;
&lt;br /&gt;
it was suggested to use IRC for communication, but device description is be greatly improved through use of XML and XMPP is just that. AFAIK, IRC does not have a PubSub mechanism.&lt;br /&gt;
&lt;br /&gt;
:I've been dreaming of a 3D GUI where you can walk around and interract  with the hardware in a natural fashion. Volunteers?&lt;br /&gt;
&lt;br /&gt;
== Device description ==&lt;br /&gt;
Since XMPPWHFS is aimed towards real-world I/Os, we need lots of useful info that must be made available by each HAL&lt;br /&gt;
=== About the HAL ===&lt;br /&gt;
* name&lt;br /&gt;
* description&lt;br /&gt;
* location (GPS coordinates and/or description)&lt;br /&gt;
* icon? I think we don't really care about the HAL itself, it's just a way to conveniently group I/Os&lt;br /&gt;
&lt;br /&gt;
=== About devices on each HAL ===&lt;br /&gt;
* variable name&lt;br /&gt;
* variable type and allowed values (int, float, enum..)&lt;br /&gt;
* I/O type (lock, temperature, humidity...). a more or less standard list must be written&lt;br /&gt;
* ro/rw flag&lt;br /&gt;
* unit (meters, seconds, °C..)&lt;br /&gt;
* update delay in seconds&lt;br /&gt;
* last update timestamp&lt;br /&gt;
* warn/alarm thresholds for event notification&lt;br /&gt;
* icon? maybe not necessary. one can be chosen from the I/O name or type.&lt;br /&gt;
&lt;br /&gt;
=== Sample session ===&lt;br /&gt;
;To HAL:This is to get the simple, human-readable output&lt;br /&gt;
&amp;lt;pre&amp;gt;help&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rfid_reader: last RFID tag read&lt;br /&gt;
door_lock: status of door lock&lt;br /&gt;
lock_delay: how long should the door stay open&lt;br /&gt;
temperature: tell me how cold it is outside&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:Here, it should be a good thing to have flags such as ''force_update'' if bot supports it.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
describe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL: I suppose it would be nice to include output from the ''help'' command above. XML validity needs to be checked anyway. Too many line breaks are added on purpose for readability on the wiki.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;hal name='HalName' target='event_main' backup_target='event_backup'&amp;gt;&lt;br /&gt;
 &amp;lt;description&amp;gt;This device is a sample that does many things and actually nothing&amp;lt;/description&amp;gt;&lt;br /&gt;
 &amp;lt;location lat='47°00N' long='8°00E' elevation=495&amp;gt;Main door of building on route de Genève&amp;lt;/location&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='rfid_reader' &lt;br /&gt;
    attrs='ro'&lt;br /&gt;
    type='rfid' &lt;br /&gt;
    last_update_timestamp=1326310608 &lt;br /&gt;
    value='00EFC0B554' /&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='door_lock' &lt;br /&gt;
    attrs='rw' &lt;br /&gt;
    type='enum'&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;open&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value selected=&amp;quot;selected&amp;quot;&amp;gt;closed&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;locked&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;unlocked&amp;lt;/value&amp;gt;&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='lock_delay'&lt;br /&gt;
    attrs='rw'&lt;br /&gt;
    type='int'&lt;br /&gt;
    last_update_timestamp=1326310915&lt;br /&gt;
    value=4&lt;br /&gt;
    unit='s' /&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='temperature'&lt;br /&gt;
    attrs='ro'&lt;br /&gt;
    type='float'&lt;br /&gt;
    last_update_timestamp=1326312490&lt;br /&gt;
    value=23.5&lt;br /&gt;
    unit='°C'&lt;br /&gt;
    alarm_high=28.0&lt;br /&gt;
    warn_low=12.0/&amp;gt;&lt;br /&gt;
 &amp;lt;/devices&amp;gt;&lt;br /&gt;
&amp;lt;/hal&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;temperature&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='temperature' value=23.5 /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;door_lock unlocked&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='door_lock' value='unlocked' /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;door_lock foobar&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL: format needs to be thought a little better here..&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='door_lock' value='open' /&amp;gt;error: new value out of range&amp;lt;/device&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Discussion must be done around where the values should go in the XML, and if the whole device XML string should be sent back when requesting a single value. I say it should, as it simplifies the code (and let's not care too much about the overhead)&lt;br /&gt;
&lt;br /&gt;
=== Events ===&lt;br /&gt;
When an event is detected by a HAL (threshold exceeded for example), the HAL sends the info to ''event-master'' who will then decide what to do. In this case, the syntax does not much, so we get something like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='temperature' value=11.8&amp;gt;warn_low_value&amp;lt;/device&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
to make XMPPHWFS as useful as possible, some hardware should be designed and the necessary firmware written&lt;br /&gt;
* [[SuperCaptor]]&lt;br /&gt;
* [[GPIO relay board]]&lt;br /&gt;
&lt;br /&gt;
== Software extensions ==&lt;br /&gt;
* communicate with Asterisk to send voice commands&lt;br /&gt;
* have some fun with XMMS2 / MPD&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1429</id>
		<title>XMPPHWFS</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1429"/>
				<updated>2012-01-12T08:09:39Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Ongoing_Projects]]&lt;br /&gt;
&lt;br /&gt;
Under the barbarian name of XMPPHWFS stands the following idea:&lt;br /&gt;
&lt;br /&gt;
'''hardware IOs made available''' (on a fuse filesystem) '''through xmpp messaging protocol'''. The latest idea is to use fuse only as on option, so the name will definitely change. ''locmon2'' seems like a good candidate to me.&lt;br /&gt;
&lt;br /&gt;
XMPPHWFS is meant to replace [http://david.lutolf.net/dt/locmon locmon], which in my opinion was a good idea but is too buggy and impractical. from a recent copy of ''20 minutes'', it seems the industry is also heading towards something alike, only for home robots and social networking. WTF, tell me why your vacuum cleaner should tell all your facebook friends there's a plant in its way. Any suggestions are welcome, coding has not really started yet anyway.&lt;br /&gt;
&lt;br /&gt;
[[Image:Xmpphwfs arch.svg|thumb|XMPPHWFS architecture]]&lt;br /&gt;
&lt;br /&gt;
* Debugging new hardware is simply done through communication with a human client.&lt;br /&gt;
* ''corecode'' suggest to use the [http://xmpp.org/extensions/xep-0060.html PubSub] [http://jabber.org/protocols/pubsub mechanism] for event notification, I think he's bloody right on this. Some bot can catch these events and update the cache DB as well.&lt;br /&gt;
* GUI can be implemented as a bot (ctrl_bot?). Simple and clean. Use of a cache DB is a good idea to minimize traffic and load on HALs. For the interface, I'd suggest HTML with Ajax with templates and possibility to include content like webcams and the such. Help is needed here.&lt;br /&gt;
* some other bot (log_bot?) can generate [http://oss.oetiker.ch/mrtg/MRTG MRTG graphs] and update the cache database on the same occasion. MRTG config can of course be generated automatically and graphs included in the GUI.&lt;br /&gt;
* The Fuse inteface, if needed, should also be implemented as a bot. Simply specify where to mount the filesystem, connect your bot, you're done. No need to have a modified jabberd and the resulting filesystem can be mounted on any host. Any interface of this type (read: local interface, as opposed to html-based) should not talk directly to HALs, but communicate with a bot (ctrl_bot?) that has access to the cache database.&lt;br /&gt;
&lt;br /&gt;
it was suggested to use IRC for communication, but device description is be greatly improved through use of XML and XMPP is just that. AFAIK, IRC does not have a PubSub mechanism.&lt;br /&gt;
&lt;br /&gt;
:I've been dreaming of a 3D GUI where you can walk around and interract  with the hardware in a natural fashion. Volunteers?&lt;br /&gt;
&lt;br /&gt;
== Device description ==&lt;br /&gt;
Since XMPPWHFS is aimed towards real-world I/Os, we need lots of useful info that must be made available by each HAL&lt;br /&gt;
=== About the HAL ===&lt;br /&gt;
* name&lt;br /&gt;
* description&lt;br /&gt;
* location (GPS coordinates and/or description)&lt;br /&gt;
* icon? I think we don't really care about the HAL itself, it's just a way to conveniently group I/Os&lt;br /&gt;
&lt;br /&gt;
=== About devices on each HAL ===&lt;br /&gt;
* variable name&lt;br /&gt;
* variable type and allowed values (int, float, enum..)&lt;br /&gt;
* I/O type (lock, temperature, humidity...). a more or less standard list must be written&lt;br /&gt;
* ro/rw flag&lt;br /&gt;
* unit (meters, seconds, °C..)&lt;br /&gt;
* update delay in seconds&lt;br /&gt;
* last update timestamp&lt;br /&gt;
* warn/alarm thresholds for event notification&lt;br /&gt;
* icon? maybe not necessary. one can be chosen from the I/O name or type.&lt;br /&gt;
&lt;br /&gt;
=== Sample session ===&lt;br /&gt;
;To HAL:This is to get the simple, human-readable output&lt;br /&gt;
&amp;lt;pre&amp;gt;help&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rfid_reader: last RFID tag read&lt;br /&gt;
door_lock: status of door lock&lt;br /&gt;
lock_delay: how long should the door stay open&lt;br /&gt;
temperature: tell me how cold it is outside&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:Here, it should be a good thing to have flags such as ''force_update'' if bot supports it.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
describe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL: I suppose it would be nice to include output from the ''help'' command above. XML validity needs to be checked anyway. Too many line breaks are added on purpose for readability on the wiki.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;hal name='HalName' target='event_main' backup_target='event_backup'&amp;gt;&lt;br /&gt;
 &amp;lt;description&amp;gt;This device is a sample that does many things and actually nothing&amp;lt;/description&amp;gt;&lt;br /&gt;
 &amp;lt;location lat='47°00N' long='8°00E' elevation=495&amp;gt;Main door of building on route de Genève&amp;lt;/location&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='rfid_reader' &lt;br /&gt;
    attrs='ro'&lt;br /&gt;
    type='rfid' &lt;br /&gt;
    last_update_timestamp=1326310608 &lt;br /&gt;
    value='00EFC0B554' /&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='door_lock' &lt;br /&gt;
    attrs='rw' &lt;br /&gt;
    type='enum'&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;open&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value selected=&amp;quot;selected&amp;quot;&amp;gt;closed&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;locked&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;unlocked&amp;lt;/value&amp;gt;&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='lock_delay'&lt;br /&gt;
    attrs='rw'&lt;br /&gt;
    type='int'&lt;br /&gt;
    last_update_timestamp=1326310915&lt;br /&gt;
    value=4&lt;br /&gt;
    unit='s' /&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='temperature'&lt;br /&gt;
    attrs='ro'&lt;br /&gt;
    type='float'&lt;br /&gt;
    last_update_timestamp=1326312490&lt;br /&gt;
    value=23.5&lt;br /&gt;
    unit='°C'&lt;br /&gt;
    alarm_high=28.0&lt;br /&gt;
    warn_low=12.0/&amp;gt;&lt;br /&gt;
 &amp;lt;/devices&amp;gt;&lt;br /&gt;
&amp;lt;/hal&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;temperature&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='temperature' value=23.5 /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;door_lock unlocked&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='door_lock' value='unlocked' /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;door_lock foobar&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL: format needs to be thought a little better here..&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='door_lock' value='open' /&amp;gt;error: new value out of range&amp;lt;/device&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Discussion must be done around where the values should go in the XML, and if the whole device XML string should be sent back when requesting a single value. I say it should, as it simplifies the code (and let's not care too much about the overhead)&lt;br /&gt;
&lt;br /&gt;
=== Events ===&lt;br /&gt;
When an event is detected by a HAL (threshold exceeded for example), the HAL sends the info to ''event-master'' who will then decide what to do. In this case, the syntax does not much, so we get something like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='temperature' value=11.8&amp;gt;warn_low_value&amp;lt;/device&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
to make XMPPHWFS as useful as possible, some hardware should be designed and the necessary firmware written&lt;br /&gt;
* [[SuperCaptor]]&lt;br /&gt;
* [[GPIO relay board]]&lt;br /&gt;
&lt;br /&gt;
== Software extensions ==&lt;br /&gt;
* communicate with Asterisk to send voice commands&lt;br /&gt;
* have some fun with XMMS2 / MPD&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1428</id>
		<title>XMPPHWFS</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1428"/>
				<updated>2012-01-12T07:11:37Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: modification after corecore's PUBSUB suggestion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Ongoing_Projects]]&lt;br /&gt;
&lt;br /&gt;
Under the barbarian name of XMPPHWFS stands the following idea:&lt;br /&gt;
&lt;br /&gt;
'''hardware IOs made available''' (on a fuse filesystem) '''through xmpp messaging protocol'''. The latest idea is to use fuse only as on option, so the name will definitely change a bit. ''locmon2'' seems like a good candidate to me.&lt;br /&gt;
&lt;br /&gt;
XMPPHWFS is meant to replace [http://david.lutolf.net/dt/locmon locmon], which in my opinion was a good idea but is too buggy and impractical. from a recent copy of ''20 minutes'', it seems the industry is also heading towards something alike, only for home robots and social networking. WTF, tell me why your vacuum cleaner should tell all your facebook friends there's a plant in its way.&lt;br /&gt;
&lt;br /&gt;
[[Image:Xmpphwfs arch.svg|thumb|XMPPHWFS architecture]]&lt;br /&gt;
&lt;br /&gt;
* Debugging new hardware is simply done through communication with a human client.&lt;br /&gt;
* ''corecode'' suggest to use the [http://xmpp.org/extensions/xep-0060.html PubSub] [http://jabber.org/protocols/pubsub mechanism] for event notification, I think he's bloody right on this.&lt;br /&gt;
* GUI can also be implemented as a bot (ctrl_bot?). Simple and clean. Use a of cache DB is a good idea to minimize traffic and load on HALs. For the interface, I'd suggest HTML with Ajax. Help is needed here.&lt;br /&gt;
* some other bot (log_bot?) can generate [http://oss.oetiker.ch/mrtg/MRTG graphs] and update the cache database on the same occasion. MRTG config can of course be generated automatically and graphs included in the GUI.&lt;br /&gt;
* The Fuse inteface, if needed, should also be implemented as a bot. Simply specify where to mount the filesystem, connect your bot, you're done. No need to have a modified jabberd. Any interface of this type should not talk directly to HALs, but communicate with a bot (ctrl_bot?) that has access to the cache database.&lt;br /&gt;
&lt;br /&gt;
it was suggested to use IRC for communication, but device description is be greatly improved through use of XML and XMPP is just that.&lt;br /&gt;
&lt;br /&gt;
== Device description ==&lt;br /&gt;
Since XMPPWHFS is aimed towards real-world I/Os, for each variable we need info such as:&lt;br /&gt;
* variable name&lt;br /&gt;
* ro/rw flag&lt;br /&gt;
* unit (meters, seconds, °C..)&lt;br /&gt;
* update delay in seconds&lt;br /&gt;
* last update timestamp&lt;br /&gt;
* variable type and allowed values (int, float, enum..)&lt;br /&gt;
* I/O type (door, temperature, humidity...)&lt;br /&gt;
* location (GPS coordinates and/or description)&lt;br /&gt;
* text/blob, possibly containing icon&lt;br /&gt;
* min/max trigger values&lt;br /&gt;
&lt;br /&gt;
=== Sample session ===&lt;br /&gt;
;To HAL:This is to get the simple, human-readable output&lt;br /&gt;
&amp;lt;pre&amp;gt;help&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rfid_reader: last RFID tag read&lt;br /&gt;
door_lock: status of door lock&lt;br /&gt;
lock_delay: how long should the door stay open&lt;br /&gt;
temperature: tell me how cold it is outside&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:Here, it should be a good thing to have flags such as ''force_update'' if bot supports it.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
describe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL: I suppose it would be nice to include output from the ''help'' command above. XML validity needs to be checked anyway. Too many line breaks are added on purpose for readability on the wiki.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;hal name='HalName' target='event_main' backup_target='event_backup'&amp;gt;&lt;br /&gt;
 &amp;lt;description&amp;gt;This device is a sample that does many things and actually nothing&amp;lt;/description&amp;gt;&lt;br /&gt;
 &amp;lt;location lat='47°00N' long='8°00E' elevation=495&amp;gt;Main door of building on route de Genève&amp;lt;/location&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='rfid_reader' &lt;br /&gt;
    attrs='ro'&lt;br /&gt;
    type='rfid' &lt;br /&gt;
    last_update_timestamp=1326310608 &lt;br /&gt;
    value='00EFC0B554' /&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='door_lock' &lt;br /&gt;
    attrs='rw' &lt;br /&gt;
    type='enum'&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;open&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value selected=&amp;quot;selected&amp;quot;&amp;gt;closed&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;locked&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;unlocked&amp;lt;/value&amp;gt;&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='lock_delay'&lt;br /&gt;
    attrs='rw'&lt;br /&gt;
    type='int'&lt;br /&gt;
    last_update_timestamp=1326310915&lt;br /&gt;
    value=4&lt;br /&gt;
    unit='s' /&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='temperature'&lt;br /&gt;
    attrs='ro'&lt;br /&gt;
    type='float'&lt;br /&gt;
    last_update_timestamp=1326312490&lt;br /&gt;
    value=23.5&lt;br /&gt;
    unit='°C'&lt;br /&gt;
    alarm_high=28.0&lt;br /&gt;
    warn_low=12.0/&amp;gt;&lt;br /&gt;
 &amp;lt;/devices&amp;gt;&lt;br /&gt;
&amp;lt;/hal&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;temperature&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='temperature' value=23.5 /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;door_lock unlocked&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='door_lock' value='unlocked' /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;door_lock foobar&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL: format needs to be thought a little better here..&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='door_lock' value='open' /&amp;gt;error: new value out of range&amp;lt;/device&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Discussion must be done around where the values should go in the XML, and if the whole device XML string should be sent back when requesting a single value. I say it should, as it simplifies the code (and let's not care too much about the overhead)&lt;br /&gt;
&lt;br /&gt;
=== Events ===&lt;br /&gt;
When an event is detected by a HAL (threshold exceeded for example), the HAL sends the info to ''event-master'' who will then decide what to do. In this case, the syntax does not much, so we get something like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='temperature' value=11.8&amp;gt;warn_low_value&amp;lt;/device&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
to make XMPPHWFS as useful as possible, some hardware should be designed and the necessary firmware written&lt;br /&gt;
* [[SuperCaptor]]&lt;br /&gt;
* [[GPIO relay board]]&lt;br /&gt;
&lt;br /&gt;
== Software extensions ==&lt;br /&gt;
* communicate with Asterisk to send voice commands&lt;br /&gt;
* have some fun with XMMS2 / MPD&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1427</id>
		<title>XMPPHWFS</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1427"/>
				<updated>2012-01-12T01:16:35Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: /* Sample session */ sending commands does not require XML... updated after playing with jabberbot-python&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Ongoing_Projects]]&lt;br /&gt;
&lt;br /&gt;
Under the barbarian name of XMPPHWFS stands the following idea:&lt;br /&gt;
&lt;br /&gt;
'''hardware IOs made available on a fuse filesystem through xml messaging protocol'''&lt;br /&gt;
&lt;br /&gt;
and imagine doing stuff like&lt;br /&gt;
&lt;br /&gt;
 garage_temp = myHome/garage/temperature&lt;br /&gt;
 garage_heat = myHome/heating/pump1&lt;br /&gt;
 &lt;br /&gt;
 if (( $garage_temp &amp;lt; 2 ))&lt;br /&gt;
 then&lt;br /&gt;
  echo 1 &amp;gt; $garage_heat&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
the above example is crappy, because it would be better done with the event-driven interface that must be included. I propose sending all events to a bot, maybe ''event-master'' by default. This bot should then do what is needed with the event. For large systems, devices can communicate with specialized bots. &lt;br /&gt;
* The Fuse inteface should also be implemented as a bot. Simply specify where to mount the filesystem, connect your bot, you're done. No need to have a modified jabberd. &lt;br /&gt;
* GUI can also be implementd as a bot. Simple and clean. &lt;br /&gt;
* Debugging new hardware is simply done through communication with a human client.&lt;br /&gt;
&lt;br /&gt;
[[Image:Xmpphwfs arch.svg|thumb|XMPPHWFS architecture]]&lt;br /&gt;
&lt;br /&gt;
XMPPHWFS is meant to replace [http://david.lutolf.net/dt/locmon locmon], which in my opinion was a good idea but is too buggy and impractical. from a recent copy of ''20 minutes'', it seems the industry is also heading towards something alike, only for home robots and social networking. WTF, tell me why your vacuum cleaner should tell all your facebook friends there's a plant in its way.&lt;br /&gt;
&lt;br /&gt;
it was suggested to use IRC for communication, but device description is be greatly improved through use of XML and XMPP is just that.&lt;br /&gt;
&lt;br /&gt;
== Device description ==&lt;br /&gt;
Since XMPPWHFS is aimed towards real-world I/Os, for each variable we need info such as:&lt;br /&gt;
* variable name&lt;br /&gt;
* ro/rw flag&lt;br /&gt;
* unit (meters, seconds, °C..)&lt;br /&gt;
* update delay in seconds&lt;br /&gt;
* last update timestamp&lt;br /&gt;
* variable type and allowed values (int, float, enum..)&lt;br /&gt;
* I/O type (door, temperature, humidity...)&lt;br /&gt;
* location (GPS coordinates and/or description)&lt;br /&gt;
* text/blob, possibly containing icon&lt;br /&gt;
* min/max trigger values&lt;br /&gt;
&lt;br /&gt;
=== Sample session ===&lt;br /&gt;
;To HAL:This is to get the simple, human-readable output&lt;br /&gt;
&amp;lt;pre&amp;gt;help&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rfid_reader: last RFID tag read&lt;br /&gt;
door_lock: status of door lock&lt;br /&gt;
lock_delay: how long should the door stay open&lt;br /&gt;
temperature: tell me how cold it is outside&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:Here, it should be a good thing to have flags such as ''force_update'' if bot supports it.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
describe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL: I suppose it would be nice to include output from the ''help'' command above. XML validity needs to be checked anyway. Too many line breaks are added on purpose for readability on the wiki.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;hal name='HalName' target='event_main' backup_target='event_backup'&amp;gt;&lt;br /&gt;
 &amp;lt;description&amp;gt;This device is a sample that does many things and actually nothing&amp;lt;/description&amp;gt;&lt;br /&gt;
 &amp;lt;location lat='47°00N' long='8°00E' elevation=495&amp;gt;Main door of building on route de Genève&amp;lt;/location&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='rfid_reader' &lt;br /&gt;
    attrs='ro'&lt;br /&gt;
    type='rfid' &lt;br /&gt;
    last_update_timestamp=1326310608 &lt;br /&gt;
    value='00EFC0B554' /&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='door_lock' &lt;br /&gt;
    attrs='rw' &lt;br /&gt;
    type='enum'&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;open&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value selected=&amp;quot;selected&amp;quot;&amp;gt;closed&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;locked&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;unlocked&amp;lt;/value&amp;gt;&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='lock_delay'&lt;br /&gt;
    attrs='rw'&lt;br /&gt;
    type='int'&lt;br /&gt;
    last_update_timestamp=1326310915&lt;br /&gt;
    value=4&lt;br /&gt;
    unit='s' /&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='temperature'&lt;br /&gt;
    attrs='ro'&lt;br /&gt;
    type='float'&lt;br /&gt;
    last_update_timestamp=1326312490&lt;br /&gt;
    value=23.5&lt;br /&gt;
    unit='°C'&lt;br /&gt;
    alarm_high=28.0&lt;br /&gt;
    warn_low=12.0/&amp;gt;&lt;br /&gt;
 &amp;lt;/devices&amp;gt;&lt;br /&gt;
&amp;lt;/hal&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;temperature&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='temperature' value=23.5 /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;door_lock unlocked&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='door_lock' value='unlocked' /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;door_lock foobar&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL: format needs to be thought a little better here..&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='door_lock' value='open' /&amp;gt;error: new value out of range&amp;lt;/device&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Discussion must be done around where the values should go in the XML, and if the whole device XML string should be sent back when requesting a single value. I say it should, as it simplifies the code (and let's not care too much about the overhead)&lt;br /&gt;
&lt;br /&gt;
=== Events ===&lt;br /&gt;
When an event is detected by a HAL (threshold exceeded for example), the HAL sends the info to ''event-master'' who will then decide what to do. In this case, the syntax does not much, so we get something like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;device name='temperature' value=11.8&amp;gt;warn_low_value&amp;lt;/device&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
to make XMPPHWFS as useful as possible, some hardware should be designed and the necessary firmware written&lt;br /&gt;
* [[SuperCaptor]]&lt;br /&gt;
* [[GPIO relay board]]&lt;br /&gt;
&lt;br /&gt;
== Software extensions ==&lt;br /&gt;
* communicate with Asterisk to send voice commands&lt;br /&gt;
* have some fun with XMMS2 / MPD&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1426</id>
		<title>XMPPHWFS</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1426"/>
				<updated>2012-01-11T21:55:01Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: added image for architecture&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Ongoing_Projects]]&lt;br /&gt;
&lt;br /&gt;
Under the barbarian name of XMPPHWFS stands the following idea:&lt;br /&gt;
&lt;br /&gt;
'''hardware IOs made available on a fuse filesystem through xml messaging protocol'''&lt;br /&gt;
&lt;br /&gt;
and imagine doing stuff like&lt;br /&gt;
&lt;br /&gt;
 garage_temp = myHome/garage/temperature&lt;br /&gt;
 garage_heat = myHome/heating/pump1&lt;br /&gt;
 &lt;br /&gt;
 if (( $garage_temp &amp;lt; 2 ))&lt;br /&gt;
 then&lt;br /&gt;
  echo 1 &amp;gt; $garage_heat&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
the above example is crappy, because it would be better done with the event-driven interface that must be included. I propose sending all events to a bot, maybe ''event-master'' by default. This bot should then do what is needed with the event. For large systems, devices can communicate with specialized bots. &lt;br /&gt;
* The Fuse inteface should also be implemented as a bot. Simply specify where to mount the filesystem, connect your bot, you're done. No need to have a modified jabberd. &lt;br /&gt;
* GUI can also be implementd as a bot. Simple and clean. &lt;br /&gt;
* Debugging new hardware is simply done through communication with a human client.&lt;br /&gt;
&lt;br /&gt;
[[Image:Xmpphwfs arch.svg|thumb|XMPPHWFS architecture]]&lt;br /&gt;
&lt;br /&gt;
XMPPHWFS is meant to replace [http://david.lutolf.net/dt/locmon locmon], which in my opinion was a good idea but is too buggy and impractical. from a recent copy of ''20 minutes'', it seems the industry is also heading towards something alike, only for home robots and social networking. WTF, tell me why your vacuum cleaner should tell all your facebook friends there's a plant in its way.&lt;br /&gt;
&lt;br /&gt;
it was suggested to use IRC for communication, but device description is be greatly improved through use of XML and XMPP is just that.&lt;br /&gt;
&lt;br /&gt;
== Device description ==&lt;br /&gt;
Since XMPPWHFS is aimed towards real-world I/Os, for each variable we need info such as:&lt;br /&gt;
* variable name&lt;br /&gt;
* ro/rw flag&lt;br /&gt;
* unit (meters, seconds, °C..)&lt;br /&gt;
* update delay in seconds&lt;br /&gt;
* last update timestamp&lt;br /&gt;
* variable type and allowed values (int, float, enum..)&lt;br /&gt;
* I/O type (door, temperature, humidity...)&lt;br /&gt;
* location (GPS coordinates and/or description)&lt;br /&gt;
* text/blob, possibly containing icon&lt;br /&gt;
* min/max trigger values&lt;br /&gt;
&lt;br /&gt;
=== Sample session ===&lt;br /&gt;
;To HAL:&lt;br /&gt;
Here, it should be a good thing to have flags such as ''update_all_values'', ''used_cached_values''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;describe /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;hal name='HalName' target='event_main' backup_target='event_backup'&amp;gt;&lt;br /&gt;
 &amp;lt;description&amp;gt;This device is a sample that does many things and actually nothing&amp;lt;/description&amp;gt;&lt;br /&gt;
 &amp;lt;location lat='47°00N' long='8°00E' elevation=495&amp;gt;Main door of building on route de Genève&amp;lt;/location&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='rfid_reader' &lt;br /&gt;
    attrs='ro' type='rfid' &lt;br /&gt;
    last_update_timestamp=1326310608 &lt;br /&gt;
    value='00EFC0B554' /&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='door_lock' &lt;br /&gt;
    attrs='rw' &lt;br /&gt;
    type='enum'&lt;br /&gt;
   value='closed'&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;open&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;closed&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;locked&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;unlocked&amp;lt;/value&amp;gt;&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='lock_delay'&lt;br /&gt;
    attrs='rw'&lt;br /&gt;
    type='int'&lt;br /&gt;
    last_update_timestamp=1326310915&lt;br /&gt;
    value=4&lt;br /&gt;
    unit='s' /&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='temperature'&lt;br /&gt;
    attrs='ro'&lt;br /&gt;
    type='float'&lt;br /&gt;
    last_update_timestamp=1326312490&lt;br /&gt;
    value=23.5&lt;br /&gt;
    unit='°C'&lt;br /&gt;
    alarm_high=28.0&lt;br /&gt;
    warn_low=12.0/&amp;gt;&lt;br /&gt;
 &amp;lt;/devices&amp;gt;&lt;br /&gt;
&amp;lt;/hal&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;set device='door_lock' value='open' /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;hal name='HalName'&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
  &amp;lt;device name='door_lock' value='open' /&amp;gt;&lt;br /&gt;
 &amp;lt;/devices&amp;gt;&lt;br /&gt;
&amp;lt;/hal&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;get device='temperature' /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;hal name='HalName'&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
  &amp;lt;device name='temperature' value=23.5 /&amp;gt;&lt;br /&gt;
 &amp;lt;/devices&amp;gt;&lt;br /&gt;
&amp;lt;/hal&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
to make XMPPHWFS as useful as possible, some hardware should be designed and the necessary firmware written&lt;br /&gt;
* [[SuperCaptor]]&lt;br /&gt;
* [[GPIO relay board]]&lt;br /&gt;
&lt;br /&gt;
== Software extensions ==&lt;br /&gt;
* communicate with Asterisk to send voice commands&lt;br /&gt;
* have some fun with XMMS2 / MPD&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=File:Xmpphwfs_arch.svg&amp;diff=1425</id>
		<title>File:Xmpphwfs arch.svg</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=File:Xmpphwfs_arch.svg&amp;diff=1425"/>
				<updated>2012-01-11T21:51:30Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: architecture of XMPPHWFS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;architecture of [[XMPPHWFS]]&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1423</id>
		<title>XMPPHWFS</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1423"/>
				<updated>2012-01-11T21:03:26Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: /* Sample session */ removed useless crap&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Ongoing_Projects]]&lt;br /&gt;
&lt;br /&gt;
Under the barbarian name of XMPPHWFS stands the following idea:&lt;br /&gt;
&lt;br /&gt;
'''hardware IOs made available on a fuse filesystem through xml messaging protocol'''&lt;br /&gt;
&lt;br /&gt;
and imagine doing stuff like&lt;br /&gt;
&lt;br /&gt;
 garage_temp = myHome/garage/temperature&lt;br /&gt;
 garage_heat = myHome/heating/pump1&lt;br /&gt;
 &lt;br /&gt;
 if (( $garage_temp &amp;lt; 2 ))&lt;br /&gt;
 then&lt;br /&gt;
  echo 1 &amp;gt; $garage_heat&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
the above example is crappy, because it would be better done with the event-driven interface that must be included. I propose sending all events to a bot, maybe ''event-master'' by default. This bot should then do what is needed with the event. For large systems, devices can communicate with specialized bots. &lt;br /&gt;
* The Fuse inteface should also be implemented as a bot. Simply specify where to mount the filesystem, connect your bot, you're done. No need to have a modified jabberd. &lt;br /&gt;
* GUI can also be implementd as a bot. Simple and clean. &lt;br /&gt;
* Debugging new hardware is simply done through communication with a human client.&lt;br /&gt;
&lt;br /&gt;
XMPPHWFS is meant to replace [http://david.lutolf.net/dt/locmon locmon], which in my opinion was a good idea but is too buggy and impractical. from a recent copy of ''20 minutes'', it seems the industry is also heading towards something alike, only for home robots and social networking. WTF, tell me why your vacuum cleaner should tell all your facebook friends there's a plant in its way.&lt;br /&gt;
&lt;br /&gt;
it was suggested to use IRC for communication, but device description is be greatly improved through use of XML and XMPP is just that.&lt;br /&gt;
&lt;br /&gt;
== Device description ==&lt;br /&gt;
Since XMPPWHFS is aimed towards real-world I/Os, for each variable we need info such as:&lt;br /&gt;
* variable name&lt;br /&gt;
* ro/rw flag&lt;br /&gt;
* unit (meters, seconds, °C..)&lt;br /&gt;
* update delay in seconds&lt;br /&gt;
* last update timestamp&lt;br /&gt;
* variable type and allowed values (int, float, enum..)&lt;br /&gt;
* I/O type (door, temperature, humidity...)&lt;br /&gt;
* location (GPS coordinates and/or description)&lt;br /&gt;
* text/blob, possibly containing icon&lt;br /&gt;
* min/max trigger values&lt;br /&gt;
&lt;br /&gt;
=== Sample session ===&lt;br /&gt;
;To HAL:&lt;br /&gt;
Here, it should be a good thing to have flags such as ''update_all_values'', ''used_cached_values''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;describe /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;hal name='HalName' target='event_main' backup_target='event_backup'&amp;gt;&lt;br /&gt;
 &amp;lt;description&amp;gt;This device is a sample that does many things and actually nothing&amp;lt;/description&amp;gt;&lt;br /&gt;
 &amp;lt;location lat='47°00N' long='8°00E' elevation=495&amp;gt;Main door of building on route de Genève&amp;lt;/location&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='rfid_reader' &lt;br /&gt;
    attrs='ro' type='rfid' &lt;br /&gt;
    last_update_timestamp=1326310608 &lt;br /&gt;
    value='00EFC0B554' /&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='door_lock' &lt;br /&gt;
    attrs='rw' &lt;br /&gt;
    type='enum'&lt;br /&gt;
   value='closed'&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;open&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;closed&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;locked&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;unlocked&amp;lt;/value&amp;gt;&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='lock_delay'&lt;br /&gt;
    attrs='rw'&lt;br /&gt;
    type='int'&lt;br /&gt;
    last_update_timestamp=1326310915&lt;br /&gt;
    value=4&lt;br /&gt;
    unit='s' /&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='temperature'&lt;br /&gt;
    attrs='ro'&lt;br /&gt;
    type='float'&lt;br /&gt;
    last_update_timestamp=1326312490&lt;br /&gt;
    value=23.5&lt;br /&gt;
    unit='°C'&lt;br /&gt;
    alarm_high=28.0&lt;br /&gt;
    warn_low=12.0/&amp;gt;&lt;br /&gt;
 &amp;lt;/devices&amp;gt;&lt;br /&gt;
&amp;lt;/hal&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;set device='door_lock' value='open' /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;hal name='HalName'&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
  &amp;lt;device name='door_lock' value='open' /&amp;gt;&lt;br /&gt;
 &amp;lt;/devices&amp;gt;&lt;br /&gt;
&amp;lt;/hal&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;get device='temperature' /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;hal name='HalName'&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
  &amp;lt;device name='temperature' value=23.5 /&amp;gt;&lt;br /&gt;
 &amp;lt;/devices&amp;gt;&lt;br /&gt;
&amp;lt;/hal&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
to make XMPPHWFS as useful as possible, some hardware should be designed and the necessary firmware written&lt;br /&gt;
* [[SuperCaptor]]&lt;br /&gt;
* [[GPIO relay board]]&lt;br /&gt;
&lt;br /&gt;
== Software extensions ==&lt;br /&gt;
* communicate with Asterisk to send voice commands&lt;br /&gt;
* have some fun with XMMS2 / MPD&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1422</id>
		<title>XMPPHWFS</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1422"/>
				<updated>2012-01-11T20:42:32Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: added categorization&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Ongoing_Projects]]&lt;br /&gt;
&lt;br /&gt;
Under the barbarian name of XMPPHWFS stands the following idea:&lt;br /&gt;
&lt;br /&gt;
'''hardware IOs made available on a fuse filesystem through xml messaging protocol'''&lt;br /&gt;
&lt;br /&gt;
and imagine doing stuff like&lt;br /&gt;
&lt;br /&gt;
 garage_temp = myHome/garage/temperature&lt;br /&gt;
 garage_heat = myHome/heating/pump1&lt;br /&gt;
 &lt;br /&gt;
 if (( $garage_temp &amp;lt; 2 ))&lt;br /&gt;
 then&lt;br /&gt;
  echo 1 &amp;gt; $garage_heat&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
the above example is crappy, because it would be better done with the event-driven interface that must be included. I propose sending all events to a bot, maybe ''event-master'' by default. This bot should then do what is needed with the event. For large systems, devices can communicate with specialized bots. &lt;br /&gt;
* The Fuse inteface should also be implemented as a bot. Simply specify where to mount the filesystem, connect your bot, you're done. No need to have a modified jabberd. &lt;br /&gt;
* GUI can also be implementd as a bot. Simple and clean. &lt;br /&gt;
* Debugging new hardware is simply done through communication with a human client.&lt;br /&gt;
&lt;br /&gt;
XMPPHWFS is meant to replace [http://david.lutolf.net/dt/locmon locmon], which in my opinion was a good idea but is too buggy and impractical. from a recent copy of ''20 minutes'', it seems the industry is also heading towards something alike, only for home robots and social networking. WTF, tell me why your vacuum cleaner should tell all your facebook friends there's a plant in its way.&lt;br /&gt;
&lt;br /&gt;
it was suggested to use IRC for communication, but device description is be greatly improved through use of XML and XMPP is just that.&lt;br /&gt;
&lt;br /&gt;
== Device description ==&lt;br /&gt;
Since XMPPWHFS is aimed towards real-world I/Os, for each variable we need info such as:&lt;br /&gt;
* variable name&lt;br /&gt;
* ro/rw flag&lt;br /&gt;
* unit (meters, seconds, °C..)&lt;br /&gt;
* update delay in seconds&lt;br /&gt;
* last update timestamp&lt;br /&gt;
* variable type and allowed values (int, float, enum..)&lt;br /&gt;
* I/O type (door, temperature, humidity...)&lt;br /&gt;
* location (GPS coordinates and/or description)&lt;br /&gt;
* text/blob, possibly containing icon&lt;br /&gt;
* min/max trigger values&lt;br /&gt;
&lt;br /&gt;
=== Sample session ===&lt;br /&gt;
;To HAL:&lt;br /&gt;
Here, it should be a good thing to have flags such as ''update_all_values'', ''used_cached_values''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;command&amp;gt;&lt;br /&gt;
 &amp;lt;describe /&amp;gt;&lt;br /&gt;
&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;hal name='HalName' target='event_main' backup_target='event_backup'&amp;gt;&lt;br /&gt;
 &amp;lt;description&amp;gt;This device is a sample that does many things and actually nothing&amp;lt;/description&amp;gt;&lt;br /&gt;
 &amp;lt;location lat='47°00N' long='8°00E' elevation=495&amp;gt;Main door of building on route de Genève&amp;lt;/location&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='rfid_reader' &lt;br /&gt;
    attrs='ro' type='rfid' &lt;br /&gt;
    last_update_timestamp=1326310608 &lt;br /&gt;
    value='00EFC0B554' /&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='door_lock' &lt;br /&gt;
    attrs='rw' &lt;br /&gt;
    type='enum'&lt;br /&gt;
   value='closed'&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;open&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;closed&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;locked&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;unlocked&amp;lt;/value&amp;gt;&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='lock_delay'&lt;br /&gt;
    attrs='rw'&lt;br /&gt;
    type='int'&lt;br /&gt;
    last_update_timestamp=1326310915&lt;br /&gt;
    value=4&lt;br /&gt;
    unit='s' /&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='temperature'&lt;br /&gt;
    attrs='ro'&lt;br /&gt;
    type='float'&lt;br /&gt;
    last_update_timestamp=1326312490&lt;br /&gt;
    value=23.5&lt;br /&gt;
    unit='°C'&lt;br /&gt;
    alarm_high=28.0&lt;br /&gt;
    warn_low=12.0/&amp;gt;&lt;br /&gt;
 &amp;lt;/devices&amp;gt;&lt;br /&gt;
&amp;lt;/hal&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;command&amp;gt;&lt;br /&gt;
 &amp;lt;set device='door_lock' value='open' /&amp;gt;&lt;br /&gt;
 &amp;lt;get device='temperature' /&amp;gt;&lt;br /&gt;
&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;hal name='HalName'&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
  &amp;lt;device name='door_lock' value='open' /&amp;gt;&lt;br /&gt;
  &amp;lt;device name='temperature' value=23.5 /&amp;gt;&lt;br /&gt;
 &amp;lt;/devices&amp;gt;&lt;br /&gt;
&amp;lt;/hal&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
to make XMPPHWFS as useful as possible, some hardware should be designed and the necessary firmware written&lt;br /&gt;
* [[SuperCaptor]]&lt;br /&gt;
* [[GPIO relay board]]&lt;br /&gt;
&lt;br /&gt;
== Software extensions ==&lt;br /&gt;
* communicate with Asterisk to send voice commands&lt;br /&gt;
* have some fun with XMMS2 / MPD&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1421</id>
		<title>XMPPHWFS</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1421"/>
				<updated>2012-01-11T20:42:00Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: /* Sample session */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Under the barbarian name of XMPPHWFS stands the following idea:&lt;br /&gt;
&lt;br /&gt;
'''hardware IOs made available on a fuse filesystem through xml messaging protocol'''&lt;br /&gt;
&lt;br /&gt;
and imagine doing stuff like&lt;br /&gt;
&lt;br /&gt;
 garage_temp = myHome/garage/temperature&lt;br /&gt;
 garage_heat = myHome/heating/pump1&lt;br /&gt;
 &lt;br /&gt;
 if (( $garage_temp &amp;lt; 2 ))&lt;br /&gt;
 then&lt;br /&gt;
  echo 1 &amp;gt; $garage_heat&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
the above example is crappy, because it would be better done with the event-driven interface that must be included. I propose sending all events to a bot, maybe ''event-master'' by default. This bot should then do what is needed with the event. For large systems, devices can communicate with specialized bots. &lt;br /&gt;
* The Fuse inteface should also be implemented as a bot. Simply specify where to mount the filesystem, connect your bot, you're done. No need to have a modified jabberd. &lt;br /&gt;
* GUI can also be implementd as a bot. Simple and clean. &lt;br /&gt;
* Debugging new hardware is simply done through communication with a human client.&lt;br /&gt;
&lt;br /&gt;
XMPPHWFS is meant to replace [http://david.lutolf.net/dt/locmon locmon], which in my opinion was a good idea but is too buggy and impractical. from a recent copy of ''20 minutes'', it seems the industry is also heading towards something alike, only for home robots and social networking. WTF, tell me why your vacuum cleaner should tell all your facebook friends there's a plant in its way.&lt;br /&gt;
&lt;br /&gt;
it was suggested to use IRC for communication, but device description is be greatly improved through use of XML and XMPP is just that.&lt;br /&gt;
&lt;br /&gt;
== Device description ==&lt;br /&gt;
Since XMPPWHFS is aimed towards real-world I/Os, for each variable we need info such as:&lt;br /&gt;
* variable name&lt;br /&gt;
* ro/rw flag&lt;br /&gt;
* unit (meters, seconds, °C..)&lt;br /&gt;
* update delay in seconds&lt;br /&gt;
* last update timestamp&lt;br /&gt;
* variable type and allowed values (int, float, enum..)&lt;br /&gt;
* I/O type (door, temperature, humidity...)&lt;br /&gt;
* location (GPS coordinates and/or description)&lt;br /&gt;
* text/blob, possibly containing icon&lt;br /&gt;
* min/max trigger values&lt;br /&gt;
&lt;br /&gt;
=== Sample session ===&lt;br /&gt;
;To HAL:&lt;br /&gt;
Here, it should be a good thing to have flags such as ''update_all_values'', ''used_cached_values''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;command&amp;gt;&lt;br /&gt;
 &amp;lt;describe /&amp;gt;&lt;br /&gt;
&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;hal name='HalName' target='event_main' backup_target='event_backup'&amp;gt;&lt;br /&gt;
 &amp;lt;description&amp;gt;This device is a sample that does many things and actually nothing&amp;lt;/description&amp;gt;&lt;br /&gt;
 &amp;lt;location lat='47°00N' long='8°00E' elevation=495&amp;gt;Main door of building on route de Genève&amp;lt;/location&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='rfid_reader' &lt;br /&gt;
    attrs='ro' type='rfid' &lt;br /&gt;
    last_update_timestamp=1326310608 &lt;br /&gt;
    value='00EFC0B554' /&amp;gt;&lt;br /&gt;
  &amp;lt;device &lt;br /&gt;
    name='door_lock' &lt;br /&gt;
    attrs='rw' &lt;br /&gt;
    type='enum'&lt;br /&gt;
   value='closed'&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;open&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;closed&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;locked&amp;lt;/value&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;unlocked&amp;lt;/value&amp;gt;&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='lock_delay'&lt;br /&gt;
    attrs='rw'&lt;br /&gt;
    type='int'&lt;br /&gt;
    last_update_timestamp=1326310915&lt;br /&gt;
    value=4&lt;br /&gt;
    unit='s' /&amp;gt;&lt;br /&gt;
  &amp;lt;device&lt;br /&gt;
    name='temperature'&lt;br /&gt;
    attrs='ro'&lt;br /&gt;
    type='float'&lt;br /&gt;
    last_update_timestamp=1326312490&lt;br /&gt;
    value=23.5&lt;br /&gt;
    unit='°C'&lt;br /&gt;
    alarm_high=28.0&lt;br /&gt;
    warn_low=12.0/&amp;gt;&lt;br /&gt;
 &amp;lt;/devices&amp;gt;&lt;br /&gt;
&amp;lt;/hal&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;To HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;command&amp;gt;&lt;br /&gt;
 &amp;lt;set device='door_lock' value='open' /&amp;gt;&lt;br /&gt;
 &amp;lt;get device='temperature' /&amp;gt;&lt;br /&gt;
&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;From HAL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;hal name='HalName'&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
  &amp;lt;device name='door_lock' value='open' /&amp;gt;&lt;br /&gt;
  &amp;lt;device name='temperature' value=23.5 /&amp;gt;&lt;br /&gt;
 &amp;lt;/devices&amp;gt;&lt;br /&gt;
&amp;lt;/hal&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
to make XMPPHWFS as useful as possible, some hardware should be designed and the necessary firmware written&lt;br /&gt;
* [[SuperCaptor]]&lt;br /&gt;
* [[GPIO relay board]]&lt;br /&gt;
&lt;br /&gt;
== Software extensions ==&lt;br /&gt;
* communicate with Asterisk to send voice commands&lt;br /&gt;
* have some fun with XMMS2 / MPD&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1411</id>
		<title>XMPPHWFS</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1411"/>
				<updated>2012-01-11T08:24:14Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: /* Device description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Under the barbarian name of XMPPHWFS stands the following idea:&lt;br /&gt;
&lt;br /&gt;
'''hardware IOs made available on a fuse filesystem through xml messaging protocol'''&lt;br /&gt;
&lt;br /&gt;
and imagine doing stuff like&lt;br /&gt;
&lt;br /&gt;
 garage_temp = myHome/garage/temperature&lt;br /&gt;
 garage_heat = myHome/heating/pump1&lt;br /&gt;
 &lt;br /&gt;
 if (( $garage_temp &amp;lt; 2 ))&lt;br /&gt;
 then&lt;br /&gt;
  echo 1 &amp;gt; $garage_heat&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
the above example is crappy, because it would be better done with the event-driven interface that must be included. I propose sending all events to a bot, maybe ''event-master'' by default. This bot should then do what is needed with the event. For large systems, devices can communicate with specialized bots. &lt;br /&gt;
* The Fuse inteface should also be implemented as a bot. Simply specify where to mount the filesystem, connect your bot, you're done. No need to have a modified jabberd. &lt;br /&gt;
* GUI can also be implementd as a bot. Simple and clean. &lt;br /&gt;
* Debugging new hardware is simply done through communication with a human client.&lt;br /&gt;
&lt;br /&gt;
XMPPHWFS is meant to replace [http://david.lutolf.net/dt/locmon locmon], which in my opinion was a good idea but is too buggy and impractical. from a recent copy of ''20 minutes'', it seems the industry is also heading towards something alike, only for home robots and social networking. WTF, tell me why your vacuum cleaner should tell all your facebook friends there's a plant in its way.&lt;br /&gt;
&lt;br /&gt;
it was suggested to use IRC for communication, but device description is be greatly improved through use of XML and XMPP is just that.&lt;br /&gt;
&lt;br /&gt;
== Device description ==&lt;br /&gt;
Since XMPPWHFS is aimed towards real-world I/Os, for each variable we need info such as:&lt;br /&gt;
* variable name&lt;br /&gt;
* ro/rw flag&lt;br /&gt;
* unit (meters, seconds, °C..)&lt;br /&gt;
* update delay in seconds&lt;br /&gt;
* last update timestamp&lt;br /&gt;
* variable type and allowed values (int, float, enum..)&lt;br /&gt;
* I/O type (door, temperature, humidity...)&lt;br /&gt;
* location (GPS coordinates and/or description)&lt;br /&gt;
* text/blob, possibly containing icon&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
to make XMPPHWFS as useful as possible, some hardware should be designed and the necessary firmware written&lt;br /&gt;
* [[SuperCaptor]]&lt;br /&gt;
* [[GPIO relay board]]&lt;br /&gt;
&lt;br /&gt;
== Software extensions ==&lt;br /&gt;
* communicate with Asterisk to send voice commands&lt;br /&gt;
* have some fun with XMMS2 / MPD&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1410</id>
		<title>XMPPHWFS</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1410"/>
				<updated>2012-01-11T08:12:25Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Under the barbarian name of XMPPHWFS stands the following idea:&lt;br /&gt;
&lt;br /&gt;
'''hardware IOs made available on a fuse filesystem through xml messaging protocol'''&lt;br /&gt;
&lt;br /&gt;
and imagine doing stuff like&lt;br /&gt;
&lt;br /&gt;
 garage_temp = myHome/garage/temperature&lt;br /&gt;
 garage_heat = myHome/heating/pump1&lt;br /&gt;
 &lt;br /&gt;
 if (( $garage_temp &amp;lt; 2 ))&lt;br /&gt;
 then&lt;br /&gt;
  echo 1 &amp;gt; $garage_heat&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
the above example is crappy, because it would be better done with the event-driven interface that must be included. maybe fill an sql table and bots that read it? I propose sending all events to a bot, maybe ''event-master'' by default. This bot should then do what is needed with the event. For large systems, devices can communicate with specialized bots. The Fuse inteface should also be implemented as a bot. Simply specify where to mount the filesystem, connect your bot, you're done. No need to have a modified jabberd.&lt;br /&gt;
&lt;br /&gt;
XMPPHWFS is meant to replace [http://david.lutolf.net/dt/locmon locmon], which in my opinion was a good idea but is too buggy and impractical. from a recent copy of ''20 minutes'', it seems the industry is also heading towards something alike, only for home robots and social networking. WTF, tell me why your vacuum cleaner should tell all your facebook friends there's a plant in its way.&lt;br /&gt;
&lt;br /&gt;
it was suggested to use IRC for communication, but device description is be greatly improved through use of XML and XMPP is just that.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
to make XMPPHWFS as useful as possible, some hardware should be designed and the necessary firmware written&lt;br /&gt;
* [[SuperCaptor]]&lt;br /&gt;
* [[GPIO relay board]]&lt;br /&gt;
&lt;br /&gt;
== Software extensions ==&lt;br /&gt;
* communicate with Asterisk to send voice commands&lt;br /&gt;
* have some fun with XMMS2 / MPD&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=Talk:Movies&amp;diff=1329</id>
		<title>Talk:Movies</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=Talk:Movies&amp;diff=1329"/>
				<updated>2012-01-07T08:20:34Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: Created page with &amp;quot;* maybe make a torrent with all this stuff? * there was a nice list @28C3&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* maybe make a torrent with all this stuff?&lt;br /&gt;
* there was a nice list @[[28C3]]&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=User:Petaflot&amp;diff=1328</id>
		<title>User:Petaflot</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=User:Petaflot&amp;diff=1328"/>
				<updated>2012-01-07T08:18:45Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://david.lutolf.net/&lt;br /&gt;
&lt;br /&gt;
== What was your motivation to join participae on the hackerspace creation ? ==&lt;br /&gt;
* get the best for hacking cool stuff&lt;br /&gt;
* meeting some capable geeks for collaboration on random projects&lt;br /&gt;
* seeing what cool ideas the others have&lt;br /&gt;
&lt;br /&gt;
== What can you teach ? ==&lt;br /&gt;
* I guess time is more to learning than teaching. it's always time to share ideas and thoughts though&lt;br /&gt;
* theory of microcontrolers and computers, electrotechnics, basic circuits (current limiters, power sources, amplifiers, op amps.. basically what I learned during apprenticeship)&lt;br /&gt;
&lt;br /&gt;
== What do you want to learn ?==&lt;br /&gt;
* I first need to consolidate what I'm supposed to know. that is: microcontrolers (all of them, not just PIC)&lt;br /&gt;
* PCB design&lt;br /&gt;
* 3D modelling and prototyping&lt;br /&gt;
* how the universe works. there _must_ be simpler rules to everything&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=User:Petaflot&amp;diff=1327</id>
		<title>User:Petaflot</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=User:Petaflot&amp;diff=1327"/>
				<updated>2012-01-07T08:18:13Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: Created page with &amp;quot;http://david.lutolf.net/  == What was your motivation to join participae on the hackerspace creation ? == * get the best for hacking cool stuff * meeting some capable geeks for c...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://david.lutolf.net/&lt;br /&gt;
&lt;br /&gt;
== What was your motivation to join participae on the hackerspace creation ? ==&lt;br /&gt;
* get the best for hacking cool stuff&lt;br /&gt;
* meeting some capable geeks for collaboration on random projects&lt;br /&gt;
* seeing what cool ideas the others have&lt;br /&gt;
&lt;br /&gt;
== What can you teach ? ==&lt;br /&gt;
* I guess time is more to learning than teaching. it's always time to share&lt;br /&gt;
ideas and thoughts though&lt;br /&gt;
* theory of microcontrolers and computers, electrotechnics, basic circuits (current limiters, power sources, amplifiers, op amps.. basically what I learned during apprenticeship)&lt;br /&gt;
&lt;br /&gt;
== What do you want to learn ?==&lt;br /&gt;
* I first need to consolidate what I'm supposed to know. that is: microcontrolers (all of them, not just PIC)&lt;br /&gt;
* PCB design&lt;br /&gt;
* 3D modelling and prototyping&lt;br /&gt;
* how the universe works. there _must_ be simpler rules to everything&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	<entry>
		<id>https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1303</id>
		<title>XMPPHWFS</title>
		<link rel="alternate" type="text/html" href="https://fixme.ch/w/index.php?title=XMPPHWFS&amp;diff=1303"/>
				<updated>2012-01-01T22:41:51Z</updated>
		
		<summary type="html">&lt;p&gt;Petaflot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Under the barbarian name of XMPPHWFS stands the following idea:&lt;br /&gt;
&lt;br /&gt;
'''hardware IOs made available on a fuse filesystem through xml messaging protocol'''&lt;br /&gt;
&lt;br /&gt;
and imagine doing stuff like&lt;br /&gt;
&lt;br /&gt;
 garage_temp = myHome/garage/temperature&lt;br /&gt;
 garage_heat = myHome/heating/pump1&lt;br /&gt;
 &lt;br /&gt;
 if (( $garage_temp &amp;lt; 2 ))&lt;br /&gt;
 then&lt;br /&gt;
  echo 1 &amp;gt; $garage_heat&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
the above example is crappy, because it would be better done with the event-driven interface that must be included. maybe fill an sql table and bots that read it.&lt;br /&gt;
&lt;br /&gt;
XMPPHWFS is meant to replace [http://david.lutolf.net/dt/locmon locmon], which in my opinion was a good idea but is too buggy and impractical. from a recent copy of ''20 minutes'', it seems the industry is also heading towards something alike, only for home robots and social networking. tell me WTF your vacuum cleaner why should tell all your facebook friends there's a plant in its way.&lt;br /&gt;
&lt;br /&gt;
it was suggested to use IRC for communication, but device description is be greatly improved through use of XML and XMPP is just that.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
to make XMPPHWFS as useful as possible, some hardware should be designed and the necessary firmware written&lt;br /&gt;
* [[SuperCaptor]]&lt;br /&gt;
* [[GPIO relay board]]&lt;br /&gt;
&lt;br /&gt;
== Software extensions ==&lt;br /&gt;
* communicate with Asterisk to send voice commands&lt;br /&gt;
* have some fun with XMMS2 / MPD&lt;/div&gt;</summary>
		<author><name>Petaflot</name></author>	</entry>

	</feed>