Difference between revisions of "Internet 0"

From Fab Lab Bcn WIKI
Jump to: navigation, search
(Created page with "== i0 seven principles == The Scientific American article Krikorian co-authored (cited in “References”) describes seven principles that define Internet-0. *Each Internet-0 ...")
 
Line 35: Line 35:
  
 
==Fab Academy Related Projects==
 
==Fab Academy Related Projects==
[[http://fab.cba.mit.edu/classes/MIT/863.04/people/arikan/08networking.htm Good Reference]]
+
[http://fab.cba.mit.edu/classes/MIT/863.04/people/arikan/08networking.htm Good Reference]
[[http://fab.cba.mit.edu/classes/MIT/863.09/people/dcarr/networking/net.html Meetting]]
+
[http://fab.cba.mit.edu/classes/MIT/863.09/people/dcarr/networking/net.html Meetting]
[[http://fab.cba.mit.edu/classes/MIT/863.09/people/florence/week11/Index.html Case 1]]
+
[http://fab.cba.mit.edu/classes/MIT/863.09/people/florence/week11/Index.html Case 1]
[[http://fab.cba.mit.edu/classes/MIT/863.09/people/mellis/communication/index.html IR LED]]
+
[http://fab.cba.mit.edu/classes/MIT/863.09/people/mellis/communication/index.html IR LED]
[[http://fab.cba.mit.edu/classes/MIT/863.09/people/john/NWK.PDF Case 2]]
+
[http://fab.cba.mit.edu/classes/MIT/863.09/people/john/NWK.PDF Case 2]
[[http://fab.cba.mit.edu/classes/MIT/863.09/people/hannah/week12.html Globos]]
+
[http://fab.cba.mit.edu/classes/MIT/863.09/people/hannah/week12.html Globos]
[[http://fab.cba.mit.edu/classes/MIT/863.09/people/hannah/week11.html 2 arduinos]]
+
[http://fab.cba.mit.edu/classes/MIT/863.09/people/hannah/week11.html 2 arduinos]
[[http://fab.cba.mit.edu/classes/MIT/863.09/people/lifeform/13/index.html Record]]
+
[http://fab.cba.mit.edu/classes/MIT/863.09/people/lifeform/13/index.html Record]
[[http://fab.cba.mit.edu/classes/MIT/863.07/people/simon/assign_sysFinale/MAS863_sysFINALE.html Power]]
+
[http://fab.cba.mit.edu/classes/MIT/863.07/people/simon/assign_sysFinale/MAS863_sysFINALE.html Power]
[[http://fab.cba.mit.edu/classes/MIT/863.06/people/suelin/project10.html Case 3]]
+
[http://fab.cba.mit.edu/classes/MIT/863.06/people/suelin/project10.html Case 3]
[[http://fab.cba.mit.edu/classes/MIT/863.06/people/vanessa/WEB/week10.htm Case 4]]
+
[http://fab.cba.mit.edu/classes/MIT/863.06/people/vanessa/WEB/week10.htm Case 4]
[[http://fab.cba.mit.edu/classes/MIT/863.06/people/matt/eleven.html Case 5
+
[http://fab.cba.mit.edu/classes/MIT/863.06/people/matt/eleven.html Case 5
[[http://fab.cba.mit.edu/classes/MIT/863.04/people/harrison/ Case 6]]
+
[http://fab.cba.mit.edu/classes/MIT/863.04/people/harrison/ Case 6]
[[http://fab.cba.mit.edu/classes/MIT/863.04/people/jerry/main.html Case 7]]
+
[http://fab.cba.mit.edu/classes/MIT/863.04/people/jerry/main.html Case 7]
 
+
  
 +
==Helpful links==
 +
First 5 Minutes Programming with Python  http://www.youtube.com/watch?v=-_E7xWLvjxc&feature=related
 +
Programming Bits and Atoms http://www.youtube.com/watch?v=w8ubXgXM7kk
 +
Py Tutorial http://fab.cba.mit.edu/classes/MIT/863.07/people/stephen/tutorialPython.pdf
  
 
==External links==
 
==External links==
Line 59: Line 62:
 
*[http://www.hyperhabitat.net/ Hyperhabitat: Reprogramming the World] - Venice Biennale Architecture Exhibition
 
*[http://www.hyperhabitat.net/ Hyperhabitat: Reprogramming the World] - Venice Biennale Architecture Exhibition
 
*[http://www.boingboing.net/2003/04/25/internet-0-bringing-.html Boing Boing - "Internet 0 -- Bringing IP to the Leaf Node]
 
*[http://www.boingboing.net/2003/04/25/internet-0-bringing-.html Boing Boing - "Internet 0 -- Bringing IP to the Leaf Node]
 
 
First 5 Minutes Programming with Python  http://www.youtube.com/watch?v=-_E7xWLvjxc&feature=related
 
Programming Bits and Atoms http://www.youtube.com/watch?v=w8ubXgXM7kk
 
PY  TUTORIAL http://fab.cba.mit.edu/classes/MIT/863.07/people/stephen/tutorialPython.pdf
 

Revision as of 04:20, 10 August 2010

i0 seven principles

The Scientific American article Krikorian co-authored (cited in “References”) describes seven principles that define Internet-0.

  • Each Internet-0 device uses the Internet Protocol.
  • “Implementing the communications protocols jointly rather than separately” simplifies software.
  • Two Internet-0 devices “do not require the existence of a third one in order to operate”.
  • Each Internet-0 device “is responsible for keeping track of its own identity”.
  • “The use of big bits allows the data that make up a packet to be represented in the same way no mater what physical medium conveys them.”
  • Internet-0 uses open standards.

Requirements

The design intent is to provide a simple, very inexpensive system that can transmit data slowly over many types of media, and yet still connect devices to the internet. Connecting to the internet is a crucial part of the design, because much of the value of a networked device is provided by easy, wide access to it. The higher layers of an Internet 0 network are usually SLIP, IP, and above that, usually UDP or more rarely TCP.

The protocol layers are chosen to need a minimum of code, to keep the expense of the computer low. Internet 0 has been implemented in small AVR microcontrollers. In most existing implementations, the layers are not distinct, because small code is more important than elegant design.

A small translation device normally attaches a local network of Internet 0 devices to the serial port of a PC that acts as a gateway and firewall to the Internet.

Devices can talk directly to each other without requiring a server. The distributed architecture ensures that there is no central point of failure.

Address assignment and cryptographic key intialization is sometimes performed by closing a contact on the device while having a master controller broadcast an assignment message. Security is via a simplified encryption system.

Details

Internet 0 is similar to a serial port running at 9600 BAUD except it sends data by pulse-position modulation, and accepts up to 30% timing deviations.

A zero bit is a pulse in the center of the first half of a bit time, and a one is a pulse in the second half of a bit time. Data is sent as 8 bit bytes. A byte is preceded by a bit time that has two pulses (at both 1 and 0 times), and ends with a bit time that has another two pulses.

In some variations, the stop bit-time is optional, and the dual-pulse bit times are treated as byte separators.

The dual-pulse start and stop bit times permit a receiver to synchronize with the beginnings of bytes, and also measure the baud rate of a sender. Synchronizing on 8-bit bytes permits a 9600-baud internet-0 connection to easily translate to a standard, low-speed 19,200 BAUD TCP/IP serial port. The baud rate measurement permits senders and receivers to use inexpensive low-precision oscillators such as ceramic resonators or resistor-capacitor oscillators.

The most common interface uses the power supply wiring to the device. The circuit is a small surface mounted capacitor between an AC mains wire or a DC power wire and a single digital pin of a small microcontroller. The pulses are normally generated by having software toggle a digital I/O pin on the microcontroller. They are received through another capacitor, by a microcontroller with a pin configured as an interrupt, or as a hardware timer's gate.

The pulse position modulation works in many media. Internet 0 has been tested over RF, IR, ultrasonics, optical, DC and AC power wiring, and even physical representations such as printed bar codes and engraving on a key.

Fab Academy Related Projects

Good Reference Meetting Case 1 IR LED Case 2 Globos 2 arduinos Record Power Case 3 Case 4 [http://fab.cba.mit.edu/classes/MIT/863.06/people/matt/eleven.html Case 5 Case 6 Case 7

Helpful links

First 5 Minutes Programming with Python http://www.youtube.com/watch?v=-_E7xWLvjxc&feature=related Programming Bits and Atoms http://www.youtube.com/watch?v=w8ubXgXM7kk Py Tutorial http://fab.cba.mit.edu/classes/MIT/863.07/people/stephen/tutorialPython.pdf

External links