phatIO – a different way of interfacing a computer with the world.

“ phatIO – a different way of interfacing a computer with the world.

When plugged into a computer’s USB port, phatIO (pronounced “fat-eye-oh”) appears as a USB filesystem/memory stick. You can control devices connected to phatIO by writing to files on that filesystem. Any computer that can write to a USB memory stick and any program/language that can write to a file can talk to phatIO.

phatIO significantly reduces the effort needed to control things with a computer – no drivers have to be installed or low level libraries used. Each of the 20 general purpose IO pins can be controlled by saving a “0” or “1” to their control file. Some features:

  • Small and compact (44 by 36mm), with a 2×14 IO socket. Great for embedding or use on a Breadboard
  • File based IO for each of the 20 Digital IO pins (12 are also ADC inputs and 5 PWM outputs). See an example 8 line shell script Larson Scanner
  • Customizable config driven drivers and device files to interface more complex devices behind a file. For example, a TWI interface LED display controlled by writing “1234” to a file on phatIO
  • Event and schedule driven system to execute actions when a digital or analogue condition occurs
  • Simulate typing on a USB keyboard with a few lines of config
  • Upgradable by dragging the new version to the phatIO filesystem“

 

Emulating USB Devices with Python

http://travisgoodspeed.blogspot.de/2012/07/emulating-usb-devices-with-python.html

„Not long ago, I was giving a lecture to Sergey Bratus’s class at Dartmouth, where he asked me to teach the students about SPI, I2C, and the other bus protocols that are commonly found in embedded systems. When a student made the inevitable joke about Sergey’s Magic School Bus, my good neighbor’s eyes lit up and he exclaimed, „It’s not a bus; it’s a network!“

Our rough prototype was refined into a single board, which is documented as the Facedancer10 as part of the GoodFET project. The board consists of a GoodFET41 with the MAX3420 target onboard“

nano NAS for USB storage devices

„Der Mini NAS Server verbindet eine über USB 2.0 angeschlossene externe Festplatte mit dem Netzwerk
NAS Funktion (Network Attached Storage) zur Freigabe der Festplatte im lokalen Netzwerk oder Internet
Ermöglicht einfache Speicherung, Austausch und Sicherung von Daten im gesamten Netzwerk
Netzwerk RJ45 Anschluss für schnelles Ethernet 10/100 Mbps
Einfache Installation und Einrichtung durch Webinterface, benötigt keine weitere Treiber-Software
Bietet SAMBA und FTP Server
Unterstützte Protokolle: TCP/IP (Net BIOS Name Server), Microsoft Networks (CIFS/SMB), HTTP1.0 und HTML2.0, DHCP Server / Client (automatische Erkennung)“

http://www.digitus.info/de/produkte/zubehoer/?c=1208&p=15624

USB Basics – USB Grundlagen Tutorial

„USB ist für Mikrocontroller-Schaltungen eine ideale Ergänzung. Schnelle Übertragungsraten, flexible Kommunikationskanäle, integrierte Stromversorgnung und Echtzeitfähigkeit sind die bekanntesten Schlagwörter von USB. Doch obwohl USB bereits seit 1996 existiert, findet man immer noch sehr häufig die klassiche RS232 Verbindung in neuen Projekten.

Es stellt sich also die Frage, warum es die USB Schnittstelle bis heute nicht geschafft hat, RS232 abzulösen. Meiner Meinung nach ist eines der Hauptprobleme, dass auf diesem Gebiet viel zu wenig gute Literatur existiert. Oftmals hört man von Entwicklern, dass es bei Weitem nicht ausreicht, etwas flüchtig über die USB Schnittstelle zu lesen, um sie richtig verstehen und einsetzen zu können. Das liegt wohl daran, dass die meisten Texte und Bücher leicht veränderte Übersetzungen der knapp tausendseitigen USB Spezifikation sind.

Die USB Spezifikation ist zwar im Gegensatz zu vielen anderen Spezifikationen sehr ausführlich verfasst, jedoch ist und bleibt sie die komplexe Spezifikation von USB. Daher ist sie als Lernunterlage für das Selbststudium oder als Entwicklungsleitfaden völlig ungeeignet.

Mit dieser Internetseite (PDF Datei) soll diesem Problem entgegengewirkt werden. Es wird ein einfaches Modell eingeführt, mit dem man schnell in der Lage sein soll USB verwenden zu können.“

http://www.usb-projects.net/cwiki.php?page=Grundkurs