<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://tmplab.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Samneurohack</id>
		<title>Tmplab - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://tmplab.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Samneurohack"/>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php/Special:Contributions/Samneurohack"/>
		<updated>2026-04-13T18:37:57Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.1</generator>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6265</id>
		<title>Interactive lasers</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6265"/>
				<updated>2020-09-20T09:49:35Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Public events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Warnings ==&lt;br /&gt;
&lt;br /&gt;
'''Don't be stupid : LASERS ARE DANGEROUS.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For introduction to laser safety, a great video : 31C3 Safer playing with lasers : [http://https://media.ccc.de/v/31c3_-_6131_-_en_-_saal_1_-_201412281600_-_safer_playing_with_lasers_-_sarah#t=359 here]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For complete training (not free) : [https://www.lia.org/training/non-medical LIA]&lt;br /&gt;
&lt;br /&gt;
== /team/laser ==&lt;br /&gt;
&lt;br /&gt;
The laser group at /tmp/lab is known as /team/laser. [http://www.teamlaser.tk http://www.teamlaser.tk]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  Public events ====&lt;br /&gt;
* Several gamer assembly : pong game on poitiers city hall&lt;br /&gt;
* Several Toulouse Hacker Space Factory [https://www.teamlaser.fr/thsf/index.html #THSF9]&lt;br /&gt;
* Laser contests at Cookie demoparty&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
==== LJ ====&lt;br /&gt;
LJ is a laser framework and server for up to 4 ILDA lasers/etherdreams. You get : easy DIY plugins, alignement, monitoring,...&lt;br /&gt;
([https://github.com/tmpbci/LJ code] and [https://www.teamlaser.tk/lj/index.html website])&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The main idea is to add interactivity to &amp;quot;leisure&amp;quot; lasers. i.e with a gamepad one can play to old style vector games on city buildings. Again you must have control on anything in front of laser light. See picture at bottom.&lt;br /&gt;
&lt;br /&gt;
Different levels of complexity are possible. Commercial lasers uses ilda files/connections to draw whatever you want, but you can build your own, see hardware section.&lt;br /&gt;
&lt;br /&gt;
* The very fast and easy plan is to switch ilda scenes according to some inputs. You can use already made ilda files (see download section) in a SDcard plugged inside the laser fixture and use DMX protocol to switch. DMX usb cards are cheap, usually we use enttec ones. DMX controlled lasers are cheaper but quite limited to ilda files.&lt;br /&gt;
* If the plan is too draw live, it depends on the laser fixture DIY or commercial. Lot of possibilities depending on the number of colors, from using an arduino, a 5.1 USB soundcard, up to use commercials (opensource) cards using the standarts ilda connect ports.&lt;br /&gt;
* In any way, such lasers must feature X- and Y-scanners (i.e. galvanometer-moved mirrors) in order to position the beam accurately&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Obviously there is DIY Lasers and commercial ones and there is a bunch of cards integrating some DACs to talk to the laser fixture. &amp;lt;br&amp;gt;&lt;br /&gt;
A great forum for bootstrap your project is [http://laserfreak.net/forum/index.php laser freak] that comes in different langages. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We play with two different setups :&lt;br /&gt;
&lt;br /&gt;
* a green DIY laser made at [http://blog.blackboxe.org/?m=201407&amp;amp;lang=en la Blackboxe] with a [http://www.macpod.net/electronics/lasershark/lasershark.php lasershark] USB DAC card.&lt;br /&gt;
* an ilda DB25 ports RGB commercial laser for clubs  with an [http://ether-dream.com/ Etherdream] USB DAC card.&lt;br /&gt;
&lt;br /&gt;
=== Commercial Lasers ===&lt;br /&gt;
&lt;br /&gt;
'''Warning !''' Not all lasers can draw anything ! Only the ones featuring scanners (i.e. galvanometer-moved mirrors) for the X- and Y-axes can do it (unlike the cheapest ones, which only draw random patterns).&lt;br /&gt;
&lt;br /&gt;
On commercial lasers, the standard way to drive the beam is the [http://laserfx.com/Backstage.LaserFX.com/Systems/Pinouts9.html DB25-connector-based ILDA interface] (source : laserfx.com). It is based on analog differential control signals.&lt;br /&gt;
&lt;br /&gt;
Therefore you'll need some external hardware capable of outputting such signals, be it standalone or controlled by a host computer. Such hardware is usually named concisely &amp;quot;DAC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DIY Lasers ===&lt;br /&gt;
&lt;br /&gt;
[http://elm-chan.org/works/vlp/report_e.html] : a DIY laser projector made from scratch.&lt;br /&gt;
&lt;br /&gt;
Even the galvanometers are home-built !&lt;br /&gt;
&lt;br /&gt;
In particular, there is a detailed study of the design of the galvanometers' servo loop control : galvanometers feature inertia like any mechanical devices, and achieving fast and accurate moves requires to &amp;quot;compensate&amp;quot; the galvanometers' drive signals with respect to their sensed position.&lt;br /&gt;
&lt;br /&gt;
=== Control boxes : DAC ===&lt;br /&gt;
&lt;br /&gt;
==== [http://macpod.net/electronics/lasershark/lasershark.php Lasershark] ====&lt;br /&gt;
&lt;br /&gt;
* One color only&lt;br /&gt;
* to be used with [https://github.com/marcan/openlase/wiki openlase]&lt;br /&gt;
* USB&lt;br /&gt;
&lt;br /&gt;
==== [http://ether-dream.com/ Ether-dream] ====&lt;br /&gt;
&lt;br /&gt;
* This is an ILDA control box which can either work as standalone (displaying a sequence of ILDA scenes tored internally or on an SD-card) or receive IP frames for driving the beam.&lt;br /&gt;
* RGB capable&lt;br /&gt;
* RJ45 : The ether dream is directly tcp/IP controlled, so you can imagine very cool projects with very easy setup and of course the programming langage you prefer.&lt;br /&gt;
* The firmware is open-source (but what about the hardware ?)&lt;br /&gt;
* In depth protocol page kind of hidden [http://ether-dream.com/protocol.html]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Laser Asteroids ===&lt;br /&gt;
[[Image:Laser.png]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=5XTi-jf-ans (YouTube video here)]&lt;br /&gt;
&lt;br /&gt;
An [https://github.com/echelon/laser-asteroids &amp;quot;Asteroids&amp;quot;-variant game from Brandon Thomas (Echelon) on GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Laser Hexagon ===&lt;br /&gt;
[http://www.tmplab.org/2015/01/30/hexagon-lazer-laser-game/ Video preview here (work in progress)].&lt;br /&gt;
&lt;br /&gt;
For more info, see [[Laser_Hexagon|project page]].&lt;br /&gt;
&lt;br /&gt;
=== Laser Pinball ===&lt;br /&gt;
&lt;br /&gt;
Work in progress.&lt;br /&gt;
&lt;br /&gt;
2D physic for example by pymunk&lt;br /&gt;
[[Laser_Pinball]]&lt;br /&gt;
&lt;br /&gt;
== Conversion from svg to ild file format ==&lt;br /&gt;
&lt;br /&gt;
* Use inkscape to create shapes, text,..&lt;br /&gt;
* Use convert &amp;quot;object to path&amp;quot;.&lt;br /&gt;
* Select on each letter, apply &amp;quot;simplify&amp;quot;&lt;br /&gt;
* svg2ild.py that can be found on github by marcan or search for clakoscrew.&lt;br /&gt;
* python svg2ild.py -q svgfile.scg ildfile.ild&lt;br /&gt;
&lt;br /&gt;
Reminder :&lt;br /&gt;
&lt;br /&gt;
* with &amp;quot;simplify&amp;quot;, there is no &amp;quot;q&amp;quot; command in created svg path, that generate an error with svg2ild.py&lt;br /&gt;
* todo : debug svg2ild.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exporting from INKSCAPE ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Save as HPGL&lt;br /&gt;
* Regexp :&lt;br /&gt;
&lt;br /&gt;
  #!/usr/bin/python&lt;br /&gt;
  import sys&lt;br /&gt;
  import re&lt;br /&gt;
  source = sys.argv[1]&lt;br /&gt;
  content = file( source ).read()&lt;br /&gt;
  L = []&lt;br /&gt;
  L.append([&amp;quot;;&amp;quot;,&amp;quot;\n&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;^IN&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PU.*&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PD&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  for pattern, replace in L :&lt;br /&gt;
      content = re.sub( pattern, replace, content)&lt;br /&gt;
  parsed = re.split(&amp;quot;\n&amp;quot;, content)&lt;br /&gt;
  tmp = []&lt;br /&gt;
  out = []&lt;br /&gt;
  MaxX = -9999999999999999&lt;br /&gt;
  MaxY = -9999999999999999&lt;br /&gt;
  MinX = 999999999999999&lt;br /&gt;
  MinY = 999999999999999&lt;br /&gt;
  first = None &lt;br /&gt;
  for line in parsed:&lt;br /&gt;
    if line == &amp;quot;&amp;quot; :&lt;br /&gt;
      continue&lt;br /&gt;
    tup = re.split(',',line)&lt;br /&gt;
    if len(tup) &amp;lt; 2 : continue&lt;br /&gt;
    x = int( ( int( tup[0] )) )&lt;br /&gt;
    y = int( ( int( tup[1] )) )&lt;br /&gt;
    MinX = x if x &amp;lt; MinX else MinX&lt;br /&gt;
    MaxX = x if x &amp;gt; MaxX else MaxX&lt;br /&gt;
    MinY = y if y &amp;lt; MinY else MinY&lt;br /&gt;
    MaxY = y if y &amp;gt; MaxY else MaxY&lt;br /&gt;
    tmp.append([x,y])&lt;br /&gt;
    if( first == None ):&lt;br /&gt;
        first = [x,y]&lt;br /&gt;
  tmp.append( first )&lt;br /&gt;
  moveX = ( MaxX + MinX ) / 2 &lt;br /&gt;
  moveY = (  MaxY + MinY ) / 2 &lt;br /&gt;
  for x,y in tmp:&lt;br /&gt;
      newX = x - moveX&lt;br /&gt;
      newY = y - moveY&lt;br /&gt;
      out.append( [ newX, newY ] )&lt;br /&gt;
  print out&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
* From : &lt;br /&gt;
  IN;SP1;PU778,2039;PD841,1858;PD908,2041;PU799,1983;PD887,1982;PU;&lt;br /&gt;
* To : &lt;br /&gt;
  [[[778,2039],[841,1858],[908,2041]],[[799,1983],[887,1982]]]&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6264</id>
		<title>Interactive lasers</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6264"/>
				<updated>2020-09-20T09:49:19Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Public events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Warnings ==&lt;br /&gt;
&lt;br /&gt;
'''Don't be stupid : LASERS ARE DANGEROUS.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For introduction to laser safety, a great video : 31C3 Safer playing with lasers : [http://https://media.ccc.de/v/31c3_-_6131_-_en_-_saal_1_-_201412281600_-_safer_playing_with_lasers_-_sarah#t=359 here]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For complete training (not free) : [https://www.lia.org/training/non-medical LIA]&lt;br /&gt;
&lt;br /&gt;
== /team/laser ==&lt;br /&gt;
&lt;br /&gt;
The laser group at /tmp/lab is known as /team/laser. [http://www.teamlaser.tk http://www.teamlaser.tk]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  Public events ====&lt;br /&gt;
* Several gamer assembly : pong game on poitiers city hall&lt;br /&gt;
* Several Toulouse Hacker Space Factory [https://www.teamlaser.fr/thsf/index.html #THSF9]&lt;br /&gt;
* Laser contests at Cookie demoparty&lt;br /&gt;
&lt;br /&gt;
==== LJ ====&lt;br /&gt;
LJ is a laser framework and server for up to 4 ILDA lasers/etherdreams. You get : easy DIY plugins, alignement, monitoring,...&lt;br /&gt;
([https://github.com/tmpbci/LJ code] and [https://www.teamlaser.tk/lj/index.html website])&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The main idea is to add interactivity to &amp;quot;leisure&amp;quot; lasers. i.e with a gamepad one can play to old style vector games on city buildings. Again you must have control on anything in front of laser light. See picture at bottom.&lt;br /&gt;
&lt;br /&gt;
Different levels of complexity are possible. Commercial lasers uses ilda files/connections to draw whatever you want, but you can build your own, see hardware section.&lt;br /&gt;
&lt;br /&gt;
* The very fast and easy plan is to switch ilda scenes according to some inputs. You can use already made ilda files (see download section) in a SDcard plugged inside the laser fixture and use DMX protocol to switch. DMX usb cards are cheap, usually we use enttec ones. DMX controlled lasers are cheaper but quite limited to ilda files.&lt;br /&gt;
* If the plan is too draw live, it depends on the laser fixture DIY or commercial. Lot of possibilities depending on the number of colors, from using an arduino, a 5.1 USB soundcard, up to use commercials (opensource) cards using the standarts ilda connect ports.&lt;br /&gt;
* In any way, such lasers must feature X- and Y-scanners (i.e. galvanometer-moved mirrors) in order to position the beam accurately&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Obviously there is DIY Lasers and commercial ones and there is a bunch of cards integrating some DACs to talk to the laser fixture. &amp;lt;br&amp;gt;&lt;br /&gt;
A great forum for bootstrap your project is [http://laserfreak.net/forum/index.php laser freak] that comes in different langages. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We play with two different setups :&lt;br /&gt;
&lt;br /&gt;
* a green DIY laser made at [http://blog.blackboxe.org/?m=201407&amp;amp;lang=en la Blackboxe] with a [http://www.macpod.net/electronics/lasershark/lasershark.php lasershark] USB DAC card.&lt;br /&gt;
* an ilda DB25 ports RGB commercial laser for clubs  with an [http://ether-dream.com/ Etherdream] USB DAC card.&lt;br /&gt;
&lt;br /&gt;
=== Commercial Lasers ===&lt;br /&gt;
&lt;br /&gt;
'''Warning !''' Not all lasers can draw anything ! Only the ones featuring scanners (i.e. galvanometer-moved mirrors) for the X- and Y-axes can do it (unlike the cheapest ones, which only draw random patterns).&lt;br /&gt;
&lt;br /&gt;
On commercial lasers, the standard way to drive the beam is the [http://laserfx.com/Backstage.LaserFX.com/Systems/Pinouts9.html DB25-connector-based ILDA interface] (source : laserfx.com). It is based on analog differential control signals.&lt;br /&gt;
&lt;br /&gt;
Therefore you'll need some external hardware capable of outputting such signals, be it standalone or controlled by a host computer. Such hardware is usually named concisely &amp;quot;DAC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DIY Lasers ===&lt;br /&gt;
&lt;br /&gt;
[http://elm-chan.org/works/vlp/report_e.html] : a DIY laser projector made from scratch.&lt;br /&gt;
&lt;br /&gt;
Even the galvanometers are home-built !&lt;br /&gt;
&lt;br /&gt;
In particular, there is a detailed study of the design of the galvanometers' servo loop control : galvanometers feature inertia like any mechanical devices, and achieving fast and accurate moves requires to &amp;quot;compensate&amp;quot; the galvanometers' drive signals with respect to their sensed position.&lt;br /&gt;
&lt;br /&gt;
=== Control boxes : DAC ===&lt;br /&gt;
&lt;br /&gt;
==== [http://macpod.net/electronics/lasershark/lasershark.php Lasershark] ====&lt;br /&gt;
&lt;br /&gt;
* One color only&lt;br /&gt;
* to be used with [https://github.com/marcan/openlase/wiki openlase]&lt;br /&gt;
* USB&lt;br /&gt;
&lt;br /&gt;
==== [http://ether-dream.com/ Ether-dream] ====&lt;br /&gt;
&lt;br /&gt;
* This is an ILDA control box which can either work as standalone (displaying a sequence of ILDA scenes tored internally or on an SD-card) or receive IP frames for driving the beam.&lt;br /&gt;
* RGB capable&lt;br /&gt;
* RJ45 : The ether dream is directly tcp/IP controlled, so you can imagine very cool projects with very easy setup and of course the programming langage you prefer.&lt;br /&gt;
* The firmware is open-source (but what about the hardware ?)&lt;br /&gt;
* In depth protocol page kind of hidden [http://ether-dream.com/protocol.html]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Laser Asteroids ===&lt;br /&gt;
[[Image:Laser.png]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=5XTi-jf-ans (YouTube video here)]&lt;br /&gt;
&lt;br /&gt;
An [https://github.com/echelon/laser-asteroids &amp;quot;Asteroids&amp;quot;-variant game from Brandon Thomas (Echelon) on GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Laser Hexagon ===&lt;br /&gt;
[http://www.tmplab.org/2015/01/30/hexagon-lazer-laser-game/ Video preview here (work in progress)].&lt;br /&gt;
&lt;br /&gt;
For more info, see [[Laser_Hexagon|project page]].&lt;br /&gt;
&lt;br /&gt;
=== Laser Pinball ===&lt;br /&gt;
&lt;br /&gt;
Work in progress.&lt;br /&gt;
&lt;br /&gt;
2D physic for example by pymunk&lt;br /&gt;
[[Laser_Pinball]]&lt;br /&gt;
&lt;br /&gt;
== Conversion from svg to ild file format ==&lt;br /&gt;
&lt;br /&gt;
* Use inkscape to create shapes, text,..&lt;br /&gt;
* Use convert &amp;quot;object to path&amp;quot;.&lt;br /&gt;
* Select on each letter, apply &amp;quot;simplify&amp;quot;&lt;br /&gt;
* svg2ild.py that can be found on github by marcan or search for clakoscrew.&lt;br /&gt;
* python svg2ild.py -q svgfile.scg ildfile.ild&lt;br /&gt;
&lt;br /&gt;
Reminder :&lt;br /&gt;
&lt;br /&gt;
* with &amp;quot;simplify&amp;quot;, there is no &amp;quot;q&amp;quot; command in created svg path, that generate an error with svg2ild.py&lt;br /&gt;
* todo : debug svg2ild.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exporting from INKSCAPE ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Save as HPGL&lt;br /&gt;
* Regexp :&lt;br /&gt;
&lt;br /&gt;
  #!/usr/bin/python&lt;br /&gt;
  import sys&lt;br /&gt;
  import re&lt;br /&gt;
  source = sys.argv[1]&lt;br /&gt;
  content = file( source ).read()&lt;br /&gt;
  L = []&lt;br /&gt;
  L.append([&amp;quot;;&amp;quot;,&amp;quot;\n&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;^IN&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PU.*&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PD&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  for pattern, replace in L :&lt;br /&gt;
      content = re.sub( pattern, replace, content)&lt;br /&gt;
  parsed = re.split(&amp;quot;\n&amp;quot;, content)&lt;br /&gt;
  tmp = []&lt;br /&gt;
  out = []&lt;br /&gt;
  MaxX = -9999999999999999&lt;br /&gt;
  MaxY = -9999999999999999&lt;br /&gt;
  MinX = 999999999999999&lt;br /&gt;
  MinY = 999999999999999&lt;br /&gt;
  first = None &lt;br /&gt;
  for line in parsed:&lt;br /&gt;
    if line == &amp;quot;&amp;quot; :&lt;br /&gt;
      continue&lt;br /&gt;
    tup = re.split(',',line)&lt;br /&gt;
    if len(tup) &amp;lt; 2 : continue&lt;br /&gt;
    x = int( ( int( tup[0] )) )&lt;br /&gt;
    y = int( ( int( tup[1] )) )&lt;br /&gt;
    MinX = x if x &amp;lt; MinX else MinX&lt;br /&gt;
    MaxX = x if x &amp;gt; MaxX else MaxX&lt;br /&gt;
    MinY = y if y &amp;lt; MinY else MinY&lt;br /&gt;
    MaxY = y if y &amp;gt; MaxY else MaxY&lt;br /&gt;
    tmp.append([x,y])&lt;br /&gt;
    if( first == None ):&lt;br /&gt;
        first = [x,y]&lt;br /&gt;
  tmp.append( first )&lt;br /&gt;
  moveX = ( MaxX + MinX ) / 2 &lt;br /&gt;
  moveY = (  MaxY + MinY ) / 2 &lt;br /&gt;
  for x,y in tmp:&lt;br /&gt;
      newX = x - moveX&lt;br /&gt;
      newY = y - moveY&lt;br /&gt;
      out.append( [ newX, newY ] )&lt;br /&gt;
  print out&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
* From : &lt;br /&gt;
  IN;SP1;PU778,2039;PD841,1858;PD908,2041;PU799,1983;PD887,1982;PU;&lt;br /&gt;
* To : &lt;br /&gt;
  [[[778,2039],[841,1858],[908,2041]],[[799,1983],[887,1982]]]&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6263</id>
		<title>Interactive lasers</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6263"/>
				<updated>2020-09-20T09:48:35Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Public events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Warnings ==&lt;br /&gt;
&lt;br /&gt;
'''Don't be stupid : LASERS ARE DANGEROUS.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For introduction to laser safety, a great video : 31C3 Safer playing with lasers : [http://https://media.ccc.de/v/31c3_-_6131_-_en_-_saal_1_-_201412281600_-_safer_playing_with_lasers_-_sarah#t=359 here]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For complete training (not free) : [https://www.lia.org/training/non-medical LIA]&lt;br /&gt;
&lt;br /&gt;
== /team/laser ==&lt;br /&gt;
&lt;br /&gt;
The laser group at /tmp/lab is known as /team/laser. [http://www.teamlaser.tk http://www.teamlaser.tk]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  Public events ====&lt;br /&gt;
* Several gamer assembly : pong game on poitiers city hall&lt;br /&gt;
* Several Toulouse Hacker Space Factory [https://www.teamlaser.fr/thsf/index.html #THSF9]&lt;br /&gt;
&lt;br /&gt;
==== LJ ====&lt;br /&gt;
LJ is a laser framework and server for up to 4 ILDA lasers/etherdreams. You get : easy DIY plugins, alignement, monitoring,...&lt;br /&gt;
([https://github.com/tmpbci/LJ code] and [https://www.teamlaser.tk/lj/index.html website])&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The main idea is to add interactivity to &amp;quot;leisure&amp;quot; lasers. i.e with a gamepad one can play to old style vector games on city buildings. Again you must have control on anything in front of laser light. See picture at bottom.&lt;br /&gt;
&lt;br /&gt;
Different levels of complexity are possible. Commercial lasers uses ilda files/connections to draw whatever you want, but you can build your own, see hardware section.&lt;br /&gt;
&lt;br /&gt;
* The very fast and easy plan is to switch ilda scenes according to some inputs. You can use already made ilda files (see download section) in a SDcard plugged inside the laser fixture and use DMX protocol to switch. DMX usb cards are cheap, usually we use enttec ones. DMX controlled lasers are cheaper but quite limited to ilda files.&lt;br /&gt;
* If the plan is too draw live, it depends on the laser fixture DIY or commercial. Lot of possibilities depending on the number of colors, from using an arduino, a 5.1 USB soundcard, up to use commercials (opensource) cards using the standarts ilda connect ports.&lt;br /&gt;
* In any way, such lasers must feature X- and Y-scanners (i.e. galvanometer-moved mirrors) in order to position the beam accurately&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Obviously there is DIY Lasers and commercial ones and there is a bunch of cards integrating some DACs to talk to the laser fixture. &amp;lt;br&amp;gt;&lt;br /&gt;
A great forum for bootstrap your project is [http://laserfreak.net/forum/index.php laser freak] that comes in different langages. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We play with two different setups :&lt;br /&gt;
&lt;br /&gt;
* a green DIY laser made at [http://blog.blackboxe.org/?m=201407&amp;amp;lang=en la Blackboxe] with a [http://www.macpod.net/electronics/lasershark/lasershark.php lasershark] USB DAC card.&lt;br /&gt;
* an ilda DB25 ports RGB commercial laser for clubs  with an [http://ether-dream.com/ Etherdream] USB DAC card.&lt;br /&gt;
&lt;br /&gt;
=== Commercial Lasers ===&lt;br /&gt;
&lt;br /&gt;
'''Warning !''' Not all lasers can draw anything ! Only the ones featuring scanners (i.e. galvanometer-moved mirrors) for the X- and Y-axes can do it (unlike the cheapest ones, which only draw random patterns).&lt;br /&gt;
&lt;br /&gt;
On commercial lasers, the standard way to drive the beam is the [http://laserfx.com/Backstage.LaserFX.com/Systems/Pinouts9.html DB25-connector-based ILDA interface] (source : laserfx.com). It is based on analog differential control signals.&lt;br /&gt;
&lt;br /&gt;
Therefore you'll need some external hardware capable of outputting such signals, be it standalone or controlled by a host computer. Such hardware is usually named concisely &amp;quot;DAC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DIY Lasers ===&lt;br /&gt;
&lt;br /&gt;
[http://elm-chan.org/works/vlp/report_e.html] : a DIY laser projector made from scratch.&lt;br /&gt;
&lt;br /&gt;
Even the galvanometers are home-built !&lt;br /&gt;
&lt;br /&gt;
In particular, there is a detailed study of the design of the galvanometers' servo loop control : galvanometers feature inertia like any mechanical devices, and achieving fast and accurate moves requires to &amp;quot;compensate&amp;quot; the galvanometers' drive signals with respect to their sensed position.&lt;br /&gt;
&lt;br /&gt;
=== Control boxes : DAC ===&lt;br /&gt;
&lt;br /&gt;
==== [http://macpod.net/electronics/lasershark/lasershark.php Lasershark] ====&lt;br /&gt;
&lt;br /&gt;
* One color only&lt;br /&gt;
* to be used with [https://github.com/marcan/openlase/wiki openlase]&lt;br /&gt;
* USB&lt;br /&gt;
&lt;br /&gt;
==== [http://ether-dream.com/ Ether-dream] ====&lt;br /&gt;
&lt;br /&gt;
* This is an ILDA control box which can either work as standalone (displaying a sequence of ILDA scenes tored internally or on an SD-card) or receive IP frames for driving the beam.&lt;br /&gt;
* RGB capable&lt;br /&gt;
* RJ45 : The ether dream is directly tcp/IP controlled, so you can imagine very cool projects with very easy setup and of course the programming langage you prefer.&lt;br /&gt;
* The firmware is open-source (but what about the hardware ?)&lt;br /&gt;
* In depth protocol page kind of hidden [http://ether-dream.com/protocol.html]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Laser Asteroids ===&lt;br /&gt;
[[Image:Laser.png]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=5XTi-jf-ans (YouTube video here)]&lt;br /&gt;
&lt;br /&gt;
An [https://github.com/echelon/laser-asteroids &amp;quot;Asteroids&amp;quot;-variant game from Brandon Thomas (Echelon) on GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Laser Hexagon ===&lt;br /&gt;
[http://www.tmplab.org/2015/01/30/hexagon-lazer-laser-game/ Video preview here (work in progress)].&lt;br /&gt;
&lt;br /&gt;
For more info, see [[Laser_Hexagon|project page]].&lt;br /&gt;
&lt;br /&gt;
=== Laser Pinball ===&lt;br /&gt;
&lt;br /&gt;
Work in progress.&lt;br /&gt;
&lt;br /&gt;
2D physic for example by pymunk&lt;br /&gt;
[[Laser_Pinball]]&lt;br /&gt;
&lt;br /&gt;
== Conversion from svg to ild file format ==&lt;br /&gt;
&lt;br /&gt;
* Use inkscape to create shapes, text,..&lt;br /&gt;
* Use convert &amp;quot;object to path&amp;quot;.&lt;br /&gt;
* Select on each letter, apply &amp;quot;simplify&amp;quot;&lt;br /&gt;
* svg2ild.py that can be found on github by marcan or search for clakoscrew.&lt;br /&gt;
* python svg2ild.py -q svgfile.scg ildfile.ild&lt;br /&gt;
&lt;br /&gt;
Reminder :&lt;br /&gt;
&lt;br /&gt;
* with &amp;quot;simplify&amp;quot;, there is no &amp;quot;q&amp;quot; command in created svg path, that generate an error with svg2ild.py&lt;br /&gt;
* todo : debug svg2ild.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exporting from INKSCAPE ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Save as HPGL&lt;br /&gt;
* Regexp :&lt;br /&gt;
&lt;br /&gt;
  #!/usr/bin/python&lt;br /&gt;
  import sys&lt;br /&gt;
  import re&lt;br /&gt;
  source = sys.argv[1]&lt;br /&gt;
  content = file( source ).read()&lt;br /&gt;
  L = []&lt;br /&gt;
  L.append([&amp;quot;;&amp;quot;,&amp;quot;\n&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;^IN&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PU.*&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PD&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  for pattern, replace in L :&lt;br /&gt;
      content = re.sub( pattern, replace, content)&lt;br /&gt;
  parsed = re.split(&amp;quot;\n&amp;quot;, content)&lt;br /&gt;
  tmp = []&lt;br /&gt;
  out = []&lt;br /&gt;
  MaxX = -9999999999999999&lt;br /&gt;
  MaxY = -9999999999999999&lt;br /&gt;
  MinX = 999999999999999&lt;br /&gt;
  MinY = 999999999999999&lt;br /&gt;
  first = None &lt;br /&gt;
  for line in parsed:&lt;br /&gt;
    if line == &amp;quot;&amp;quot; :&lt;br /&gt;
      continue&lt;br /&gt;
    tup = re.split(',',line)&lt;br /&gt;
    if len(tup) &amp;lt; 2 : continue&lt;br /&gt;
    x = int( ( int( tup[0] )) )&lt;br /&gt;
    y = int( ( int( tup[1] )) )&lt;br /&gt;
    MinX = x if x &amp;lt; MinX else MinX&lt;br /&gt;
    MaxX = x if x &amp;gt; MaxX else MaxX&lt;br /&gt;
    MinY = y if y &amp;lt; MinY else MinY&lt;br /&gt;
    MaxY = y if y &amp;gt; MaxY else MaxY&lt;br /&gt;
    tmp.append([x,y])&lt;br /&gt;
    if( first == None ):&lt;br /&gt;
        first = [x,y]&lt;br /&gt;
  tmp.append( first )&lt;br /&gt;
  moveX = ( MaxX + MinX ) / 2 &lt;br /&gt;
  moveY = (  MaxY + MinY ) / 2 &lt;br /&gt;
  for x,y in tmp:&lt;br /&gt;
      newX = x - moveX&lt;br /&gt;
      newY = y - moveY&lt;br /&gt;
      out.append( [ newX, newY ] )&lt;br /&gt;
  print out&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
* From : &lt;br /&gt;
  IN;SP1;PU778,2039;PD841,1858;PD908,2041;PU799,1983;PD887,1982;PU;&lt;br /&gt;
* To : &lt;br /&gt;
  [[[778,2039],[841,1858],[908,2041]],[[799,1983],[887,1982]]]&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6262</id>
		<title>Interactive lasers</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6262"/>
				<updated>2020-09-20T09:48:17Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Public events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Warnings ==&lt;br /&gt;
&lt;br /&gt;
'''Don't be stupid : LASERS ARE DANGEROUS.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For introduction to laser safety, a great video : 31C3 Safer playing with lasers : [http://https://media.ccc.de/v/31c3_-_6131_-_en_-_saal_1_-_201412281600_-_safer_playing_with_lasers_-_sarah#t=359 here]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For complete training (not free) : [https://www.lia.org/training/non-medical LIA]&lt;br /&gt;
&lt;br /&gt;
== /team/laser ==&lt;br /&gt;
&lt;br /&gt;
The laser group at /tmp/lab is known as /team/laser. [http://www.teamlaser.tk http://www.teamlaser.tk]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  Public events ====&lt;br /&gt;
* Several gamer assembly : pong game on poitiers city hall&lt;br /&gt;
* Several Toulouse Hacker Space Factory [https://www.teamlaser.fr/thsf/index.html #THSF9+9]&lt;br /&gt;
&lt;br /&gt;
==== LJ ====&lt;br /&gt;
LJ is a laser framework and server for up to 4 ILDA lasers/etherdreams. You get : easy DIY plugins, alignement, monitoring,...&lt;br /&gt;
([https://github.com/tmpbci/LJ code] and [https://www.teamlaser.tk/lj/index.html website])&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The main idea is to add interactivity to &amp;quot;leisure&amp;quot; lasers. i.e with a gamepad one can play to old style vector games on city buildings. Again you must have control on anything in front of laser light. See picture at bottom.&lt;br /&gt;
&lt;br /&gt;
Different levels of complexity are possible. Commercial lasers uses ilda files/connections to draw whatever you want, but you can build your own, see hardware section.&lt;br /&gt;
&lt;br /&gt;
* The very fast and easy plan is to switch ilda scenes according to some inputs. You can use already made ilda files (see download section) in a SDcard plugged inside the laser fixture and use DMX protocol to switch. DMX usb cards are cheap, usually we use enttec ones. DMX controlled lasers are cheaper but quite limited to ilda files.&lt;br /&gt;
* If the plan is too draw live, it depends on the laser fixture DIY or commercial. Lot of possibilities depending on the number of colors, from using an arduino, a 5.1 USB soundcard, up to use commercials (opensource) cards using the standarts ilda connect ports.&lt;br /&gt;
* In any way, such lasers must feature X- and Y-scanners (i.e. galvanometer-moved mirrors) in order to position the beam accurately&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Obviously there is DIY Lasers and commercial ones and there is a bunch of cards integrating some DACs to talk to the laser fixture. &amp;lt;br&amp;gt;&lt;br /&gt;
A great forum for bootstrap your project is [http://laserfreak.net/forum/index.php laser freak] that comes in different langages. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We play with two different setups :&lt;br /&gt;
&lt;br /&gt;
* a green DIY laser made at [http://blog.blackboxe.org/?m=201407&amp;amp;lang=en la Blackboxe] with a [http://www.macpod.net/electronics/lasershark/lasershark.php lasershark] USB DAC card.&lt;br /&gt;
* an ilda DB25 ports RGB commercial laser for clubs  with an [http://ether-dream.com/ Etherdream] USB DAC card.&lt;br /&gt;
&lt;br /&gt;
=== Commercial Lasers ===&lt;br /&gt;
&lt;br /&gt;
'''Warning !''' Not all lasers can draw anything ! Only the ones featuring scanners (i.e. galvanometer-moved mirrors) for the X- and Y-axes can do it (unlike the cheapest ones, which only draw random patterns).&lt;br /&gt;
&lt;br /&gt;
On commercial lasers, the standard way to drive the beam is the [http://laserfx.com/Backstage.LaserFX.com/Systems/Pinouts9.html DB25-connector-based ILDA interface] (source : laserfx.com). It is based on analog differential control signals.&lt;br /&gt;
&lt;br /&gt;
Therefore you'll need some external hardware capable of outputting such signals, be it standalone or controlled by a host computer. Such hardware is usually named concisely &amp;quot;DAC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DIY Lasers ===&lt;br /&gt;
&lt;br /&gt;
[http://elm-chan.org/works/vlp/report_e.html] : a DIY laser projector made from scratch.&lt;br /&gt;
&lt;br /&gt;
Even the galvanometers are home-built !&lt;br /&gt;
&lt;br /&gt;
In particular, there is a detailed study of the design of the galvanometers' servo loop control : galvanometers feature inertia like any mechanical devices, and achieving fast and accurate moves requires to &amp;quot;compensate&amp;quot; the galvanometers' drive signals with respect to their sensed position.&lt;br /&gt;
&lt;br /&gt;
=== Control boxes : DAC ===&lt;br /&gt;
&lt;br /&gt;
==== [http://macpod.net/electronics/lasershark/lasershark.php Lasershark] ====&lt;br /&gt;
&lt;br /&gt;
* One color only&lt;br /&gt;
* to be used with [https://github.com/marcan/openlase/wiki openlase]&lt;br /&gt;
* USB&lt;br /&gt;
&lt;br /&gt;
==== [http://ether-dream.com/ Ether-dream] ====&lt;br /&gt;
&lt;br /&gt;
* This is an ILDA control box which can either work as standalone (displaying a sequence of ILDA scenes tored internally or on an SD-card) or receive IP frames for driving the beam.&lt;br /&gt;
* RGB capable&lt;br /&gt;
* RJ45 : The ether dream is directly tcp/IP controlled, so you can imagine very cool projects with very easy setup and of course the programming langage you prefer.&lt;br /&gt;
* The firmware is open-source (but what about the hardware ?)&lt;br /&gt;
* In depth protocol page kind of hidden [http://ether-dream.com/protocol.html]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Laser Asteroids ===&lt;br /&gt;
[[Image:Laser.png]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=5XTi-jf-ans (YouTube video here)]&lt;br /&gt;
&lt;br /&gt;
An [https://github.com/echelon/laser-asteroids &amp;quot;Asteroids&amp;quot;-variant game from Brandon Thomas (Echelon) on GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Laser Hexagon ===&lt;br /&gt;
[http://www.tmplab.org/2015/01/30/hexagon-lazer-laser-game/ Video preview here (work in progress)].&lt;br /&gt;
&lt;br /&gt;
For more info, see [[Laser_Hexagon|project page]].&lt;br /&gt;
&lt;br /&gt;
=== Laser Pinball ===&lt;br /&gt;
&lt;br /&gt;
Work in progress.&lt;br /&gt;
&lt;br /&gt;
2D physic for example by pymunk&lt;br /&gt;
[[Laser_Pinball]]&lt;br /&gt;
&lt;br /&gt;
== Conversion from svg to ild file format ==&lt;br /&gt;
&lt;br /&gt;
* Use inkscape to create shapes, text,..&lt;br /&gt;
* Use convert &amp;quot;object to path&amp;quot;.&lt;br /&gt;
* Select on each letter, apply &amp;quot;simplify&amp;quot;&lt;br /&gt;
* svg2ild.py that can be found on github by marcan or search for clakoscrew.&lt;br /&gt;
* python svg2ild.py -q svgfile.scg ildfile.ild&lt;br /&gt;
&lt;br /&gt;
Reminder :&lt;br /&gt;
&lt;br /&gt;
* with &amp;quot;simplify&amp;quot;, there is no &amp;quot;q&amp;quot; command in created svg path, that generate an error with svg2ild.py&lt;br /&gt;
* todo : debug svg2ild.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exporting from INKSCAPE ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Save as HPGL&lt;br /&gt;
* Regexp :&lt;br /&gt;
&lt;br /&gt;
  #!/usr/bin/python&lt;br /&gt;
  import sys&lt;br /&gt;
  import re&lt;br /&gt;
  source = sys.argv[1]&lt;br /&gt;
  content = file( source ).read()&lt;br /&gt;
  L = []&lt;br /&gt;
  L.append([&amp;quot;;&amp;quot;,&amp;quot;\n&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;^IN&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PU.*&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PD&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  for pattern, replace in L :&lt;br /&gt;
      content = re.sub( pattern, replace, content)&lt;br /&gt;
  parsed = re.split(&amp;quot;\n&amp;quot;, content)&lt;br /&gt;
  tmp = []&lt;br /&gt;
  out = []&lt;br /&gt;
  MaxX = -9999999999999999&lt;br /&gt;
  MaxY = -9999999999999999&lt;br /&gt;
  MinX = 999999999999999&lt;br /&gt;
  MinY = 999999999999999&lt;br /&gt;
  first = None &lt;br /&gt;
  for line in parsed:&lt;br /&gt;
    if line == &amp;quot;&amp;quot; :&lt;br /&gt;
      continue&lt;br /&gt;
    tup = re.split(',',line)&lt;br /&gt;
    if len(tup) &amp;lt; 2 : continue&lt;br /&gt;
    x = int( ( int( tup[0] )) )&lt;br /&gt;
    y = int( ( int( tup[1] )) )&lt;br /&gt;
    MinX = x if x &amp;lt; MinX else MinX&lt;br /&gt;
    MaxX = x if x &amp;gt; MaxX else MaxX&lt;br /&gt;
    MinY = y if y &amp;lt; MinY else MinY&lt;br /&gt;
    MaxY = y if y &amp;gt; MaxY else MaxY&lt;br /&gt;
    tmp.append([x,y])&lt;br /&gt;
    if( first == None ):&lt;br /&gt;
        first = [x,y]&lt;br /&gt;
  tmp.append( first )&lt;br /&gt;
  moveX = ( MaxX + MinX ) / 2 &lt;br /&gt;
  moveY = (  MaxY + MinY ) / 2 &lt;br /&gt;
  for x,y in tmp:&lt;br /&gt;
      newX = x - moveX&lt;br /&gt;
      newY = y - moveY&lt;br /&gt;
      out.append( [ newX, newY ] )&lt;br /&gt;
  print out&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
* From : &lt;br /&gt;
  IN;SP1;PU778,2039;PD841,1858;PD908,2041;PU799,1983;PD887,1982;PU;&lt;br /&gt;
* To : &lt;br /&gt;
  [[[778,2039],[841,1858],[908,2041]],[[799,1983],[887,1982]]]&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6261</id>
		<title>Interactive lasers</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6261"/>
				<updated>2020-09-20T09:47:25Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Public events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Warnings ==&lt;br /&gt;
&lt;br /&gt;
'''Don't be stupid : LASERS ARE DANGEROUS.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For introduction to laser safety, a great video : 31C3 Safer playing with lasers : [http://https://media.ccc.de/v/31c3_-_6131_-_en_-_saal_1_-_201412281600_-_safer_playing_with_lasers_-_sarah#t=359 here]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For complete training (not free) : [https://www.lia.org/training/non-medical LIA]&lt;br /&gt;
&lt;br /&gt;
== /team/laser ==&lt;br /&gt;
&lt;br /&gt;
The laser group at /tmp/lab is known as /team/laser. [http://www.teamlaser.tk http://www.teamlaser.tk]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  Public events ====&lt;br /&gt;
Several gamer assembly : pong game on poitiers city hall&lt;br /&gt;
Several Toulouse Hacker Space Factory [https://www.teamlaser.fr/thsf/index.html #THSF9+9]&lt;br /&gt;
&lt;br /&gt;
==== LJ ====&lt;br /&gt;
LJ is a laser framework and server for up to 4 ILDA lasers/etherdreams. You get : easy DIY plugins, alignement, monitoring,...&lt;br /&gt;
([https://github.com/tmpbci/LJ code] and [https://www.teamlaser.tk/lj/index.html website])&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The main idea is to add interactivity to &amp;quot;leisure&amp;quot; lasers. i.e with a gamepad one can play to old style vector games on city buildings. Again you must have control on anything in front of laser light. See picture at bottom.&lt;br /&gt;
&lt;br /&gt;
Different levels of complexity are possible. Commercial lasers uses ilda files/connections to draw whatever you want, but you can build your own, see hardware section.&lt;br /&gt;
&lt;br /&gt;
* The very fast and easy plan is to switch ilda scenes according to some inputs. You can use already made ilda files (see download section) in a SDcard plugged inside the laser fixture and use DMX protocol to switch. DMX usb cards are cheap, usually we use enttec ones. DMX controlled lasers are cheaper but quite limited to ilda files.&lt;br /&gt;
* If the plan is too draw live, it depends on the laser fixture DIY or commercial. Lot of possibilities depending on the number of colors, from using an arduino, a 5.1 USB soundcard, up to use commercials (opensource) cards using the standarts ilda connect ports.&lt;br /&gt;
* In any way, such lasers must feature X- and Y-scanners (i.e. galvanometer-moved mirrors) in order to position the beam accurately&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Obviously there is DIY Lasers and commercial ones and there is a bunch of cards integrating some DACs to talk to the laser fixture. &amp;lt;br&amp;gt;&lt;br /&gt;
A great forum for bootstrap your project is [http://laserfreak.net/forum/index.php laser freak] that comes in different langages. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We play with two different setups :&lt;br /&gt;
&lt;br /&gt;
* a green DIY laser made at [http://blog.blackboxe.org/?m=201407&amp;amp;lang=en la Blackboxe] with a [http://www.macpod.net/electronics/lasershark/lasershark.php lasershark] USB DAC card.&lt;br /&gt;
* an ilda DB25 ports RGB commercial laser for clubs  with an [http://ether-dream.com/ Etherdream] USB DAC card.&lt;br /&gt;
&lt;br /&gt;
=== Commercial Lasers ===&lt;br /&gt;
&lt;br /&gt;
'''Warning !''' Not all lasers can draw anything ! Only the ones featuring scanners (i.e. galvanometer-moved mirrors) for the X- and Y-axes can do it (unlike the cheapest ones, which only draw random patterns).&lt;br /&gt;
&lt;br /&gt;
On commercial lasers, the standard way to drive the beam is the [http://laserfx.com/Backstage.LaserFX.com/Systems/Pinouts9.html DB25-connector-based ILDA interface] (source : laserfx.com). It is based on analog differential control signals.&lt;br /&gt;
&lt;br /&gt;
Therefore you'll need some external hardware capable of outputting such signals, be it standalone or controlled by a host computer. Such hardware is usually named concisely &amp;quot;DAC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DIY Lasers ===&lt;br /&gt;
&lt;br /&gt;
[http://elm-chan.org/works/vlp/report_e.html] : a DIY laser projector made from scratch.&lt;br /&gt;
&lt;br /&gt;
Even the galvanometers are home-built !&lt;br /&gt;
&lt;br /&gt;
In particular, there is a detailed study of the design of the galvanometers' servo loop control : galvanometers feature inertia like any mechanical devices, and achieving fast and accurate moves requires to &amp;quot;compensate&amp;quot; the galvanometers' drive signals with respect to their sensed position.&lt;br /&gt;
&lt;br /&gt;
=== Control boxes : DAC ===&lt;br /&gt;
&lt;br /&gt;
==== [http://macpod.net/electronics/lasershark/lasershark.php Lasershark] ====&lt;br /&gt;
&lt;br /&gt;
* One color only&lt;br /&gt;
* to be used with [https://github.com/marcan/openlase/wiki openlase]&lt;br /&gt;
* USB&lt;br /&gt;
&lt;br /&gt;
==== [http://ether-dream.com/ Ether-dream] ====&lt;br /&gt;
&lt;br /&gt;
* This is an ILDA control box which can either work as standalone (displaying a sequence of ILDA scenes tored internally or on an SD-card) or receive IP frames for driving the beam.&lt;br /&gt;
* RGB capable&lt;br /&gt;
* RJ45 : The ether dream is directly tcp/IP controlled, so you can imagine very cool projects with very easy setup and of course the programming langage you prefer.&lt;br /&gt;
* The firmware is open-source (but what about the hardware ?)&lt;br /&gt;
* In depth protocol page kind of hidden [http://ether-dream.com/protocol.html]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Laser Asteroids ===&lt;br /&gt;
[[Image:Laser.png]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=5XTi-jf-ans (YouTube video here)]&lt;br /&gt;
&lt;br /&gt;
An [https://github.com/echelon/laser-asteroids &amp;quot;Asteroids&amp;quot;-variant game from Brandon Thomas (Echelon) on GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Laser Hexagon ===&lt;br /&gt;
[http://www.tmplab.org/2015/01/30/hexagon-lazer-laser-game/ Video preview here (work in progress)].&lt;br /&gt;
&lt;br /&gt;
For more info, see [[Laser_Hexagon|project page]].&lt;br /&gt;
&lt;br /&gt;
=== Laser Pinball ===&lt;br /&gt;
&lt;br /&gt;
Work in progress.&lt;br /&gt;
&lt;br /&gt;
2D physic for example by pymunk&lt;br /&gt;
[[Laser_Pinball]]&lt;br /&gt;
&lt;br /&gt;
== Conversion from svg to ild file format ==&lt;br /&gt;
&lt;br /&gt;
* Use inkscape to create shapes, text,..&lt;br /&gt;
* Use convert &amp;quot;object to path&amp;quot;.&lt;br /&gt;
* Select on each letter, apply &amp;quot;simplify&amp;quot;&lt;br /&gt;
* svg2ild.py that can be found on github by marcan or search for clakoscrew.&lt;br /&gt;
* python svg2ild.py -q svgfile.scg ildfile.ild&lt;br /&gt;
&lt;br /&gt;
Reminder :&lt;br /&gt;
&lt;br /&gt;
* with &amp;quot;simplify&amp;quot;, there is no &amp;quot;q&amp;quot; command in created svg path, that generate an error with svg2ild.py&lt;br /&gt;
* todo : debug svg2ild.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exporting from INKSCAPE ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Save as HPGL&lt;br /&gt;
* Regexp :&lt;br /&gt;
&lt;br /&gt;
  #!/usr/bin/python&lt;br /&gt;
  import sys&lt;br /&gt;
  import re&lt;br /&gt;
  source = sys.argv[1]&lt;br /&gt;
  content = file( source ).read()&lt;br /&gt;
  L = []&lt;br /&gt;
  L.append([&amp;quot;;&amp;quot;,&amp;quot;\n&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;^IN&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PU.*&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PD&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  for pattern, replace in L :&lt;br /&gt;
      content = re.sub( pattern, replace, content)&lt;br /&gt;
  parsed = re.split(&amp;quot;\n&amp;quot;, content)&lt;br /&gt;
  tmp = []&lt;br /&gt;
  out = []&lt;br /&gt;
  MaxX = -9999999999999999&lt;br /&gt;
  MaxY = -9999999999999999&lt;br /&gt;
  MinX = 999999999999999&lt;br /&gt;
  MinY = 999999999999999&lt;br /&gt;
  first = None &lt;br /&gt;
  for line in parsed:&lt;br /&gt;
    if line == &amp;quot;&amp;quot; :&lt;br /&gt;
      continue&lt;br /&gt;
    tup = re.split(',',line)&lt;br /&gt;
    if len(tup) &amp;lt; 2 : continue&lt;br /&gt;
    x = int( ( int( tup[0] )) )&lt;br /&gt;
    y = int( ( int( tup[1] )) )&lt;br /&gt;
    MinX = x if x &amp;lt; MinX else MinX&lt;br /&gt;
    MaxX = x if x &amp;gt; MaxX else MaxX&lt;br /&gt;
    MinY = y if y &amp;lt; MinY else MinY&lt;br /&gt;
    MaxY = y if y &amp;gt; MaxY else MaxY&lt;br /&gt;
    tmp.append([x,y])&lt;br /&gt;
    if( first == None ):&lt;br /&gt;
        first = [x,y]&lt;br /&gt;
  tmp.append( first )&lt;br /&gt;
  moveX = ( MaxX + MinX ) / 2 &lt;br /&gt;
  moveY = (  MaxY + MinY ) / 2 &lt;br /&gt;
  for x,y in tmp:&lt;br /&gt;
      newX = x - moveX&lt;br /&gt;
      newY = y - moveY&lt;br /&gt;
      out.append( [ newX, newY ] )&lt;br /&gt;
  print out&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
* From : &lt;br /&gt;
  IN;SP1;PU778,2039;PD841,1858;PD908,2041;PU799,1983;PD887,1982;PU;&lt;br /&gt;
* To : &lt;br /&gt;
  [[[778,2039],[841,1858],[908,2041]],[[799,1983],[887,1982]]]&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6257</id>
		<title>Interactive lasers</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6257"/>
				<updated>2020-09-18T07:34:03Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Commercial Lasers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Warnings ==&lt;br /&gt;
&lt;br /&gt;
'''Don't be stupid : LASERS ARE DANGEROUS.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For introduction to laser safety, a great video : 31C3 Safer playing with lasers : [http://https://media.ccc.de/v/31c3_-_6131_-_en_-_saal_1_-_201412281600_-_safer_playing_with_lasers_-_sarah#t=359 here]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For complete training (not free) : [https://www.lia.org/training/non-medical LIA]&lt;br /&gt;
&lt;br /&gt;
== /team/laser ==&lt;br /&gt;
&lt;br /&gt;
The laser group at /tmp/lab is known as /team/laser. [http://www.teamlaser.tk http://www.teamlaser.tk]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  Public events ====&lt;br /&gt;
&lt;br /&gt;
==== LJ ====&lt;br /&gt;
LJ is a laser framework and server for up to 4 ILDA lasers/etherdreams. You get : easy DIY plugins, alignement, monitoring,...&lt;br /&gt;
([https://github.com/tmpbci/LJ code] and [https://www.teamlaser.tk/lj/index.html website])&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The main idea is to add interactivity to &amp;quot;leisure&amp;quot; lasers. i.e with a gamepad one can play to old style vector games on city buildings. Again you must have control on anything in front of laser light. See picture at bottom.&lt;br /&gt;
&lt;br /&gt;
Different levels of complexity are possible. Commercial lasers uses ilda files/connections to draw whatever you want, but you can build your own, see hardware section.&lt;br /&gt;
&lt;br /&gt;
* The very fast and easy plan is to switch ilda scenes according to some inputs. You can use already made ilda files (see download section) in a SDcard plugged inside the laser fixture and use DMX protocol to switch. DMX usb cards are cheap, usually we use enttec ones. DMX controlled lasers are cheaper but quite limited to ilda files.&lt;br /&gt;
* If the plan is too draw live, it depends on the laser fixture DIY or commercial. Lot of possibilities depending on the number of colors, from using an arduino, a 5.1 USB soundcard, up to use commercials (opensource) cards using the standarts ilda connect ports.&lt;br /&gt;
* In any way, such lasers must feature X- and Y-scanners (i.e. galvanometer-moved mirrors) in order to position the beam accurately&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Obviously there is DIY Lasers and commercial ones and there is a bunch of cards integrating some DACs to talk to the laser fixture. &amp;lt;br&amp;gt;&lt;br /&gt;
A great forum for bootstrap your project is [http://laserfreak.net/forum/index.php laser freak] that comes in different langages. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We play with two different setups :&lt;br /&gt;
&lt;br /&gt;
* a green DIY laser made at [http://blog.blackboxe.org/?m=201407&amp;amp;lang=en la Blackboxe] with a [http://www.macpod.net/electronics/lasershark/lasershark.php lasershark] USB DAC card.&lt;br /&gt;
* an ilda DB25 ports RGB commercial laser for clubs  with an [http://ether-dream.com/ Etherdream] USB DAC card.&lt;br /&gt;
&lt;br /&gt;
=== Commercial Lasers ===&lt;br /&gt;
&lt;br /&gt;
'''Warning !''' Not all lasers can draw anything ! Only the ones featuring scanners (i.e. galvanometer-moved mirrors) for the X- and Y-axes can do it (unlike the cheapest ones, which only draw random patterns).&lt;br /&gt;
&lt;br /&gt;
On commercial lasers, the standard way to drive the beam is the [http://laserfx.com/Backstage.LaserFX.com/Systems/Pinouts9.html DB25-connector-based ILDA interface] (source : laserfx.com). It is based on analog differential control signals.&lt;br /&gt;
&lt;br /&gt;
Therefore you'll need some external hardware capable of outputting such signals, be it standalone or controlled by a host computer. Such hardware is usually named concisely &amp;quot;DAC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DIY Lasers ===&lt;br /&gt;
&lt;br /&gt;
[http://elm-chan.org/works/vlp/report_e.html] : a DIY laser projector made from scratch.&lt;br /&gt;
&lt;br /&gt;
Even the galvanometers are home-built !&lt;br /&gt;
&lt;br /&gt;
In particular, there is a detailed study of the design of the galvanometers' servo loop control : galvanometers feature inertia like any mechanical devices, and achieving fast and accurate moves requires to &amp;quot;compensate&amp;quot; the galvanometers' drive signals with respect to their sensed position.&lt;br /&gt;
&lt;br /&gt;
=== Control boxes : DAC ===&lt;br /&gt;
&lt;br /&gt;
==== [http://macpod.net/electronics/lasershark/lasershark.php Lasershark] ====&lt;br /&gt;
&lt;br /&gt;
* One color only&lt;br /&gt;
* to be used with [https://github.com/marcan/openlase/wiki openlase]&lt;br /&gt;
* USB&lt;br /&gt;
&lt;br /&gt;
==== [http://ether-dream.com/ Ether-dream] ====&lt;br /&gt;
&lt;br /&gt;
* This is an ILDA control box which can either work as standalone (displaying a sequence of ILDA scenes tored internally or on an SD-card) or receive IP frames for driving the beam.&lt;br /&gt;
* RGB capable&lt;br /&gt;
* RJ45 : The ether dream is directly tcp/IP controlled, so you can imagine very cool projects with very easy setup and of course the programming langage you prefer.&lt;br /&gt;
* The firmware is open-source (but what about the hardware ?)&lt;br /&gt;
* In depth protocol page kind of hidden [http://ether-dream.com/protocol.html]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Laser Asteroids ===&lt;br /&gt;
[[Image:Laser.png]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=5XTi-jf-ans (YouTube video here)]&lt;br /&gt;
&lt;br /&gt;
An [https://github.com/echelon/laser-asteroids &amp;quot;Asteroids&amp;quot;-variant game from Brandon Thomas (Echelon) on GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Laser Hexagon ===&lt;br /&gt;
[http://www.tmplab.org/2015/01/30/hexagon-lazer-laser-game/ Video preview here (work in progress)].&lt;br /&gt;
&lt;br /&gt;
For more info, see [[Laser_Hexagon|project page]].&lt;br /&gt;
&lt;br /&gt;
=== Laser Pinball ===&lt;br /&gt;
&lt;br /&gt;
Work in progress.&lt;br /&gt;
&lt;br /&gt;
2D physic for example by pymunk&lt;br /&gt;
[[Laser_Pinball]]&lt;br /&gt;
&lt;br /&gt;
== Conversion from svg to ild file format ==&lt;br /&gt;
&lt;br /&gt;
* Use inkscape to create shapes, text,..&lt;br /&gt;
* Use convert &amp;quot;object to path&amp;quot;.&lt;br /&gt;
* Select on each letter, apply &amp;quot;simplify&amp;quot;&lt;br /&gt;
* svg2ild.py that can be found on github by marcan or search for clakoscrew.&lt;br /&gt;
* python svg2ild.py -q svgfile.scg ildfile.ild&lt;br /&gt;
&lt;br /&gt;
Reminder :&lt;br /&gt;
&lt;br /&gt;
* with &amp;quot;simplify&amp;quot;, there is no &amp;quot;q&amp;quot; command in created svg path, that generate an error with svg2ild.py&lt;br /&gt;
* todo : debug svg2ild.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exporting from INKSCAPE ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Save as HPGL&lt;br /&gt;
* Regexp :&lt;br /&gt;
&lt;br /&gt;
  #!/usr/bin/python&lt;br /&gt;
  import sys&lt;br /&gt;
  import re&lt;br /&gt;
  source = sys.argv[1]&lt;br /&gt;
  content = file( source ).read()&lt;br /&gt;
  L = []&lt;br /&gt;
  L.append([&amp;quot;;&amp;quot;,&amp;quot;\n&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;^IN&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PU.*&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PD&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  for pattern, replace in L :&lt;br /&gt;
      content = re.sub( pattern, replace, content)&lt;br /&gt;
  parsed = re.split(&amp;quot;\n&amp;quot;, content)&lt;br /&gt;
  tmp = []&lt;br /&gt;
  out = []&lt;br /&gt;
  MaxX = -9999999999999999&lt;br /&gt;
  MaxY = -9999999999999999&lt;br /&gt;
  MinX = 999999999999999&lt;br /&gt;
  MinY = 999999999999999&lt;br /&gt;
  first = None &lt;br /&gt;
  for line in parsed:&lt;br /&gt;
    if line == &amp;quot;&amp;quot; :&lt;br /&gt;
      continue&lt;br /&gt;
    tup = re.split(',',line)&lt;br /&gt;
    if len(tup) &amp;lt; 2 : continue&lt;br /&gt;
    x = int( ( int( tup[0] )) )&lt;br /&gt;
    y = int( ( int( tup[1] )) )&lt;br /&gt;
    MinX = x if x &amp;lt; MinX else MinX&lt;br /&gt;
    MaxX = x if x &amp;gt; MaxX else MaxX&lt;br /&gt;
    MinY = y if y &amp;lt; MinY else MinY&lt;br /&gt;
    MaxY = y if y &amp;gt; MaxY else MaxY&lt;br /&gt;
    tmp.append([x,y])&lt;br /&gt;
    if( first == None ):&lt;br /&gt;
        first = [x,y]&lt;br /&gt;
  tmp.append( first )&lt;br /&gt;
  moveX = ( MaxX + MinX ) / 2 &lt;br /&gt;
  moveY = (  MaxY + MinY ) / 2 &lt;br /&gt;
  for x,y in tmp:&lt;br /&gt;
      newX = x - moveX&lt;br /&gt;
      newY = y - moveY&lt;br /&gt;
      out.append( [ newX, newY ] )&lt;br /&gt;
  print out&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
* From : &lt;br /&gt;
  IN;SP1;PU778,2039;PD841,1858;PD908,2041;PU799,1983;PD887,1982;PU;&lt;br /&gt;
* To : &lt;br /&gt;
  [[[778,2039],[841,1858],[908,2041]],[[799,1983],[887,1982]]]&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6256</id>
		<title>Interactive lasers</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6256"/>
				<updated>2020-09-18T07:33:05Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Warnings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Warnings ==&lt;br /&gt;
&lt;br /&gt;
'''Don't be stupid : LASERS ARE DANGEROUS.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For introduction to laser safety, a great video : 31C3 Safer playing with lasers : [http://https://media.ccc.de/v/31c3_-_6131_-_en_-_saal_1_-_201412281600_-_safer_playing_with_lasers_-_sarah#t=359 here]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For complete training (not free) : [https://www.lia.org/training/non-medical LIA]&lt;br /&gt;
&lt;br /&gt;
== /team/laser ==&lt;br /&gt;
&lt;br /&gt;
The laser group at /tmp/lab is known as /team/laser. [http://www.teamlaser.tk http://www.teamlaser.tk]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  Public events ====&lt;br /&gt;
&lt;br /&gt;
==== LJ ====&lt;br /&gt;
LJ is a laser framework and server for up to 4 ILDA lasers/etherdreams. You get : easy DIY plugins, alignement, monitoring,...&lt;br /&gt;
([https://github.com/tmpbci/LJ code] and [https://www.teamlaser.tk/lj/index.html website])&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The main idea is to add interactivity to &amp;quot;leisure&amp;quot; lasers. i.e with a gamepad one can play to old style vector games on city buildings. Again you must have control on anything in front of laser light. See picture at bottom.&lt;br /&gt;
&lt;br /&gt;
Different levels of complexity are possible. Commercial lasers uses ilda files/connections to draw whatever you want, but you can build your own, see hardware section.&lt;br /&gt;
&lt;br /&gt;
* The very fast and easy plan is to switch ilda scenes according to some inputs. You can use already made ilda files (see download section) in a SDcard plugged inside the laser fixture and use DMX protocol to switch. DMX usb cards are cheap, usually we use enttec ones. DMX controlled lasers are cheaper but quite limited to ilda files.&lt;br /&gt;
* If the plan is too draw live, it depends on the laser fixture DIY or commercial. Lot of possibilities depending on the number of colors, from using an arduino, a 5.1 USB soundcard, up to use commercials (opensource) cards using the standarts ilda connect ports.&lt;br /&gt;
* In any way, such lasers must feature X- and Y-scanners (i.e. galvanometer-moved mirrors) in order to position the beam accurately&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Obviously there is DIY Lasers and commercial ones and there is a bunch of cards integrating some DACs to talk to the laser fixture. &amp;lt;br&amp;gt;&lt;br /&gt;
A great forum for bootstrap your project is [http://laserfreak.net/forum/index.php laser freak] that comes in different langages. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We play with two different setups :&lt;br /&gt;
&lt;br /&gt;
* a green DIY laser made at [http://blog.blackboxe.org/?m=201407&amp;amp;lang=en la Blackboxe] with a [http://www.macpod.net/electronics/lasershark/lasershark.php lasershark] USB DAC card.&lt;br /&gt;
* an ilda DB25 ports RGB commercial laser for clubs  with an [http://ether-dream.com/ Etherdream] USB DAC card.&lt;br /&gt;
&lt;br /&gt;
=== Commercial Lasers ===&lt;br /&gt;
*&lt;br /&gt;
'''Warning !''' Not all lasers can draw anything ! Only the ones featuring scanners (i.e. galvanometer-moved mirrors) for the X- and Y-axes can do it (unlike the cheapest ones, which only draw random patterns).&lt;br /&gt;
&lt;br /&gt;
On commercial lasers, the standard way to drive the beam is the [http://laserfx.com/Backstage.LaserFX.com/Systems/Pinouts9.html DB25-connector-based ILDA interface] (source : laserfx.com). It is based on analog differential control signals.&lt;br /&gt;
&lt;br /&gt;
Therefore you'll need some external hardware capable of outputting such signals, be it standalone or controlled by a host computer. Such hardware is usually named concisely &amp;quot;DAC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DIY Lasers ===&lt;br /&gt;
&lt;br /&gt;
[http://elm-chan.org/works/vlp/report_e.html] : a DIY laser projector made from scratch.&lt;br /&gt;
&lt;br /&gt;
Even the galvanometers are home-built !&lt;br /&gt;
&lt;br /&gt;
In particular, there is a detailed study of the design of the galvanometers' servo loop control : galvanometers feature inertia like any mechanical devices, and achieving fast and accurate moves requires to &amp;quot;compensate&amp;quot; the galvanometers' drive signals with respect to their sensed position.&lt;br /&gt;
&lt;br /&gt;
=== Control boxes : DAC ===&lt;br /&gt;
&lt;br /&gt;
==== [http://macpod.net/electronics/lasershark/lasershark.php Lasershark] ====&lt;br /&gt;
&lt;br /&gt;
* One color only&lt;br /&gt;
* to be used with [https://github.com/marcan/openlase/wiki openlase]&lt;br /&gt;
* USB&lt;br /&gt;
&lt;br /&gt;
==== [http://ether-dream.com/ Ether-dream] ====&lt;br /&gt;
&lt;br /&gt;
* This is an ILDA control box which can either work as standalone (displaying a sequence of ILDA scenes tored internally or on an SD-card) or receive IP frames for driving the beam.&lt;br /&gt;
* RGB capable&lt;br /&gt;
* RJ45 : The ether dream is directly tcp/IP controlled, so you can imagine very cool projects with very easy setup and of course the programming langage you prefer.&lt;br /&gt;
* The firmware is open-source (but what about the hardware ?)&lt;br /&gt;
* In depth protocol page kind of hidden [http://ether-dream.com/protocol.html]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Laser Asteroids ===&lt;br /&gt;
[[Image:Laser.png]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=5XTi-jf-ans (YouTube video here)]&lt;br /&gt;
&lt;br /&gt;
An [https://github.com/echelon/laser-asteroids &amp;quot;Asteroids&amp;quot;-variant game from Brandon Thomas (Echelon) on GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Laser Hexagon ===&lt;br /&gt;
[http://www.tmplab.org/2015/01/30/hexagon-lazer-laser-game/ Video preview here (work in progress)].&lt;br /&gt;
&lt;br /&gt;
For more info, see [[Laser_Hexagon|project page]].&lt;br /&gt;
&lt;br /&gt;
=== Laser Pinball ===&lt;br /&gt;
&lt;br /&gt;
Work in progress.&lt;br /&gt;
&lt;br /&gt;
2D physic for example by pymunk&lt;br /&gt;
[[Laser_Pinball]]&lt;br /&gt;
&lt;br /&gt;
== Conversion from svg to ild file format ==&lt;br /&gt;
&lt;br /&gt;
* Use inkscape to create shapes, text,..&lt;br /&gt;
* Use convert &amp;quot;object to path&amp;quot;.&lt;br /&gt;
* Select on each letter, apply &amp;quot;simplify&amp;quot;&lt;br /&gt;
* svg2ild.py that can be found on github by marcan or search for clakoscrew.&lt;br /&gt;
* python svg2ild.py -q svgfile.scg ildfile.ild&lt;br /&gt;
&lt;br /&gt;
Reminder :&lt;br /&gt;
&lt;br /&gt;
* with &amp;quot;simplify&amp;quot;, there is no &amp;quot;q&amp;quot; command in created svg path, that generate an error with svg2ild.py&lt;br /&gt;
* todo : debug svg2ild.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exporting from INKSCAPE ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Save as HPGL&lt;br /&gt;
* Regexp :&lt;br /&gt;
&lt;br /&gt;
  #!/usr/bin/python&lt;br /&gt;
  import sys&lt;br /&gt;
  import re&lt;br /&gt;
  source = sys.argv[1]&lt;br /&gt;
  content = file( source ).read()&lt;br /&gt;
  L = []&lt;br /&gt;
  L.append([&amp;quot;;&amp;quot;,&amp;quot;\n&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;^IN&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PU.*&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PD&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  for pattern, replace in L :&lt;br /&gt;
      content = re.sub( pattern, replace, content)&lt;br /&gt;
  parsed = re.split(&amp;quot;\n&amp;quot;, content)&lt;br /&gt;
  tmp = []&lt;br /&gt;
  out = []&lt;br /&gt;
  MaxX = -9999999999999999&lt;br /&gt;
  MaxY = -9999999999999999&lt;br /&gt;
  MinX = 999999999999999&lt;br /&gt;
  MinY = 999999999999999&lt;br /&gt;
  first = None &lt;br /&gt;
  for line in parsed:&lt;br /&gt;
    if line == &amp;quot;&amp;quot; :&lt;br /&gt;
      continue&lt;br /&gt;
    tup = re.split(',',line)&lt;br /&gt;
    if len(tup) &amp;lt; 2 : continue&lt;br /&gt;
    x = int( ( int( tup[0] )) )&lt;br /&gt;
    y = int( ( int( tup[1] )) )&lt;br /&gt;
    MinX = x if x &amp;lt; MinX else MinX&lt;br /&gt;
    MaxX = x if x &amp;gt; MaxX else MaxX&lt;br /&gt;
    MinY = y if y &amp;lt; MinY else MinY&lt;br /&gt;
    MaxY = y if y &amp;gt; MaxY else MaxY&lt;br /&gt;
    tmp.append([x,y])&lt;br /&gt;
    if( first == None ):&lt;br /&gt;
        first = [x,y]&lt;br /&gt;
  tmp.append( first )&lt;br /&gt;
  moveX = ( MaxX + MinX ) / 2 &lt;br /&gt;
  moveY = (  MaxY + MinY ) / 2 &lt;br /&gt;
  for x,y in tmp:&lt;br /&gt;
      newX = x - moveX&lt;br /&gt;
      newY = y - moveY&lt;br /&gt;
      out.append( [ newX, newY ] )&lt;br /&gt;
  print out&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
* From : &lt;br /&gt;
  IN;SP1;PU778,2039;PD841,1858;PD908,2041;PU799,1983;PD887,1982;PU;&lt;br /&gt;
* To : &lt;br /&gt;
  [[[778,2039],[841,1858],[908,2041]],[[799,1983],[887,1982]]]&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6255</id>
		<title>Interactive lasers</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6255"/>
				<updated>2020-09-18T07:32:21Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* /team/laser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Warnings ==&lt;br /&gt;
&lt;br /&gt;
'''Don't be stupid : LASERS ARE DANGEROUS.''' Check local laws.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For introduction to laser safety, a great video : 31C3 Safer playing with lasers : [http://https://media.ccc.de/v/31c3_-_6131_-_en_-_saal_1_-_201412281600_-_safer_playing_with_lasers_-_sarah#t=359 here]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For complete training (not free) : [https://www.lia.org/training/non-medical LIA]&lt;br /&gt;
&lt;br /&gt;
== /team/laser ==&lt;br /&gt;
&lt;br /&gt;
The laser group at /tmp/lab is known as /team/laser. [http://www.teamlaser.tk http://www.teamlaser.tk]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  Public events ====&lt;br /&gt;
&lt;br /&gt;
==== LJ ====&lt;br /&gt;
LJ is a laser framework and server for up to 4 ILDA lasers/etherdreams. You get : easy DIY plugins, alignement, monitoring,...&lt;br /&gt;
([https://github.com/tmpbci/LJ code] and [https://www.teamlaser.tk/lj/index.html website])&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The main idea is to add interactivity to &amp;quot;leisure&amp;quot; lasers. i.e with a gamepad one can play to old style vector games on city buildings. Again you must have control on anything in front of laser light. See picture at bottom.&lt;br /&gt;
&lt;br /&gt;
Different levels of complexity are possible. Commercial lasers uses ilda files/connections to draw whatever you want, but you can build your own, see hardware section.&lt;br /&gt;
&lt;br /&gt;
* The very fast and easy plan is to switch ilda scenes according to some inputs. You can use already made ilda files (see download section) in a SDcard plugged inside the laser fixture and use DMX protocol to switch. DMX usb cards are cheap, usually we use enttec ones. DMX controlled lasers are cheaper but quite limited to ilda files.&lt;br /&gt;
* If the plan is too draw live, it depends on the laser fixture DIY or commercial. Lot of possibilities depending on the number of colors, from using an arduino, a 5.1 USB soundcard, up to use commercials (opensource) cards using the standarts ilda connect ports.&lt;br /&gt;
* In any way, such lasers must feature X- and Y-scanners (i.e. galvanometer-moved mirrors) in order to position the beam accurately&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Obviously there is DIY Lasers and commercial ones and there is a bunch of cards integrating some DACs to talk to the laser fixture. &amp;lt;br&amp;gt;&lt;br /&gt;
A great forum for bootstrap your project is [http://laserfreak.net/forum/index.php laser freak] that comes in different langages. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We play with two different setups :&lt;br /&gt;
&lt;br /&gt;
* a green DIY laser made at [http://blog.blackboxe.org/?m=201407&amp;amp;lang=en la Blackboxe] with a [http://www.macpod.net/electronics/lasershark/lasershark.php lasershark] USB DAC card.&lt;br /&gt;
* an ilda DB25 ports RGB commercial laser for clubs  with an [http://ether-dream.com/ Etherdream] USB DAC card.&lt;br /&gt;
&lt;br /&gt;
=== Commercial Lasers ===&lt;br /&gt;
*&lt;br /&gt;
'''Warning !''' Not all lasers can draw anything ! Only the ones featuring scanners (i.e. galvanometer-moved mirrors) for the X- and Y-axes can do it (unlike the cheapest ones, which only draw random patterns).&lt;br /&gt;
&lt;br /&gt;
On commercial lasers, the standard way to drive the beam is the [http://laserfx.com/Backstage.LaserFX.com/Systems/Pinouts9.html DB25-connector-based ILDA interface] (source : laserfx.com). It is based on analog differential control signals.&lt;br /&gt;
&lt;br /&gt;
Therefore you'll need some external hardware capable of outputting such signals, be it standalone or controlled by a host computer. Such hardware is usually named concisely &amp;quot;DAC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DIY Lasers ===&lt;br /&gt;
&lt;br /&gt;
[http://elm-chan.org/works/vlp/report_e.html] : a DIY laser projector made from scratch.&lt;br /&gt;
&lt;br /&gt;
Even the galvanometers are home-built !&lt;br /&gt;
&lt;br /&gt;
In particular, there is a detailed study of the design of the galvanometers' servo loop control : galvanometers feature inertia like any mechanical devices, and achieving fast and accurate moves requires to &amp;quot;compensate&amp;quot; the galvanometers' drive signals with respect to their sensed position.&lt;br /&gt;
&lt;br /&gt;
=== Control boxes : DAC ===&lt;br /&gt;
&lt;br /&gt;
==== [http://macpod.net/electronics/lasershark/lasershark.php Lasershark] ====&lt;br /&gt;
&lt;br /&gt;
* One color only&lt;br /&gt;
* to be used with [https://github.com/marcan/openlase/wiki openlase]&lt;br /&gt;
* USB&lt;br /&gt;
&lt;br /&gt;
==== [http://ether-dream.com/ Ether-dream] ====&lt;br /&gt;
&lt;br /&gt;
* This is an ILDA control box which can either work as standalone (displaying a sequence of ILDA scenes tored internally or on an SD-card) or receive IP frames for driving the beam.&lt;br /&gt;
* RGB capable&lt;br /&gt;
* RJ45 : The ether dream is directly tcp/IP controlled, so you can imagine very cool projects with very easy setup and of course the programming langage you prefer.&lt;br /&gt;
* The firmware is open-source (but what about the hardware ?)&lt;br /&gt;
* In depth protocol page kind of hidden [http://ether-dream.com/protocol.html]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Laser Asteroids ===&lt;br /&gt;
[[Image:Laser.png]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=5XTi-jf-ans (YouTube video here)]&lt;br /&gt;
&lt;br /&gt;
An [https://github.com/echelon/laser-asteroids &amp;quot;Asteroids&amp;quot;-variant game from Brandon Thomas (Echelon) on GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Laser Hexagon ===&lt;br /&gt;
[http://www.tmplab.org/2015/01/30/hexagon-lazer-laser-game/ Video preview here (work in progress)].&lt;br /&gt;
&lt;br /&gt;
For more info, see [[Laser_Hexagon|project page]].&lt;br /&gt;
&lt;br /&gt;
=== Laser Pinball ===&lt;br /&gt;
&lt;br /&gt;
Work in progress.&lt;br /&gt;
&lt;br /&gt;
2D physic for example by pymunk&lt;br /&gt;
[[Laser_Pinball]]&lt;br /&gt;
&lt;br /&gt;
== Conversion from svg to ild file format ==&lt;br /&gt;
&lt;br /&gt;
* Use inkscape to create shapes, text,..&lt;br /&gt;
* Use convert &amp;quot;object to path&amp;quot;.&lt;br /&gt;
* Select on each letter, apply &amp;quot;simplify&amp;quot;&lt;br /&gt;
* svg2ild.py that can be found on github by marcan or search for clakoscrew.&lt;br /&gt;
* python svg2ild.py -q svgfile.scg ildfile.ild&lt;br /&gt;
&lt;br /&gt;
Reminder :&lt;br /&gt;
&lt;br /&gt;
* with &amp;quot;simplify&amp;quot;, there is no &amp;quot;q&amp;quot; command in created svg path, that generate an error with svg2ild.py&lt;br /&gt;
* todo : debug svg2ild.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exporting from INKSCAPE ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Save as HPGL&lt;br /&gt;
* Regexp :&lt;br /&gt;
&lt;br /&gt;
  #!/usr/bin/python&lt;br /&gt;
  import sys&lt;br /&gt;
  import re&lt;br /&gt;
  source = sys.argv[1]&lt;br /&gt;
  content = file( source ).read()&lt;br /&gt;
  L = []&lt;br /&gt;
  L.append([&amp;quot;;&amp;quot;,&amp;quot;\n&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;^IN&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PU.*&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PD&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  for pattern, replace in L :&lt;br /&gt;
      content = re.sub( pattern, replace, content)&lt;br /&gt;
  parsed = re.split(&amp;quot;\n&amp;quot;, content)&lt;br /&gt;
  tmp = []&lt;br /&gt;
  out = []&lt;br /&gt;
  MaxX = -9999999999999999&lt;br /&gt;
  MaxY = -9999999999999999&lt;br /&gt;
  MinX = 999999999999999&lt;br /&gt;
  MinY = 999999999999999&lt;br /&gt;
  first = None &lt;br /&gt;
  for line in parsed:&lt;br /&gt;
    if line == &amp;quot;&amp;quot; :&lt;br /&gt;
      continue&lt;br /&gt;
    tup = re.split(',',line)&lt;br /&gt;
    if len(tup) &amp;lt; 2 : continue&lt;br /&gt;
    x = int( ( int( tup[0] )) )&lt;br /&gt;
    y = int( ( int( tup[1] )) )&lt;br /&gt;
    MinX = x if x &amp;lt; MinX else MinX&lt;br /&gt;
    MaxX = x if x &amp;gt; MaxX else MaxX&lt;br /&gt;
    MinY = y if y &amp;lt; MinY else MinY&lt;br /&gt;
    MaxY = y if y &amp;gt; MaxY else MaxY&lt;br /&gt;
    tmp.append([x,y])&lt;br /&gt;
    if( first == None ):&lt;br /&gt;
        first = [x,y]&lt;br /&gt;
  tmp.append( first )&lt;br /&gt;
  moveX = ( MaxX + MinX ) / 2 &lt;br /&gt;
  moveY = (  MaxY + MinY ) / 2 &lt;br /&gt;
  for x,y in tmp:&lt;br /&gt;
      newX = x - moveX&lt;br /&gt;
      newY = y - moveY&lt;br /&gt;
      out.append( [ newX, newY ] )&lt;br /&gt;
  print out&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
* From : &lt;br /&gt;
  IN;SP1;PU778,2039;PD841,1858;PD908,2041;PU799,1983;PD887,1982;PU;&lt;br /&gt;
* To : &lt;br /&gt;
  [[[778,2039],[841,1858],[908,2041]],[[799,1983],[887,1982]]]&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6254</id>
		<title>Interactive lasers</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6254"/>
				<updated>2020-09-18T07:27:49Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* /team/laser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Warnings ==&lt;br /&gt;
&lt;br /&gt;
'''Don't be stupid : LASERS ARE DANGEROUS.''' Check local laws.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For introduction to laser safety, a great video : 31C3 Safer playing with lasers : [http://https://media.ccc.de/v/31c3_-_6131_-_en_-_saal_1_-_201412281600_-_safer_playing_with_lasers_-_sarah#t=359 here]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For complete training (not free) : [https://www.lia.org/training/non-medical LIA]&lt;br /&gt;
&lt;br /&gt;
== /team/laser ==&lt;br /&gt;
&lt;br /&gt;
The laser group at /tmp/lab is known as /team/laser. [http://www.teamlaser.tk http://www.teamlaser.tk]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Acitivities :&amp;lt;br&amp;gt;&lt;br /&gt;
Public events&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
LJ ([https://github.com/tmpbci/LJ code] and [https://www.teamlaser.tk/lj/index.html website]) is a laser framework and server for up to 4 ILDA lasers/etherdreams. You get : easy DIY plugins, alignement, monitoring,...&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The main idea is to add interactivity to &amp;quot;leisure&amp;quot; lasers. i.e with a gamepad one can play to old style vector games on city buildings. Again you must have control on anything in front of laser light. See picture at bottom.&lt;br /&gt;
&lt;br /&gt;
Different levels of complexity are possible. Commercial lasers uses ilda files/connections to draw whatever you want, but you can build your own, see hardware section.&lt;br /&gt;
&lt;br /&gt;
* The very fast and easy plan is to switch ilda scenes according to some inputs. You can use already made ilda files (see download section) in a SDcard plugged inside the laser fixture and use DMX protocol to switch. DMX usb cards are cheap, usually we use enttec ones. DMX controlled lasers are cheaper but quite limited to ilda files.&lt;br /&gt;
* If the plan is too draw live, it depends on the laser fixture DIY or commercial. Lot of possibilities depending on the number of colors, from using an arduino, a 5.1 USB soundcard, up to use commercials (opensource) cards using the standarts ilda connect ports.&lt;br /&gt;
* In any way, such lasers must feature X- and Y-scanners (i.e. galvanometer-moved mirrors) in order to position the beam accurately&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Obviously there is DIY Lasers and commercial ones and there is a bunch of cards integrating some DACs to talk to the laser fixture. &amp;lt;br&amp;gt;&lt;br /&gt;
A great forum for bootstrap your project is [http://laserfreak.net/forum/index.php laser freak] that comes in different langages. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We play with two different setups :&lt;br /&gt;
&lt;br /&gt;
* a green DIY laser made at [http://blog.blackboxe.org/?m=201407&amp;amp;lang=en la Blackboxe] with a [http://www.macpod.net/electronics/lasershark/lasershark.php lasershark] USB DAC card.&lt;br /&gt;
* an ilda DB25 ports RGB commercial laser for clubs  with an [http://ether-dream.com/ Etherdream] USB DAC card.&lt;br /&gt;
&lt;br /&gt;
=== Commercial Lasers ===&lt;br /&gt;
*&lt;br /&gt;
'''Warning !''' Not all lasers can draw anything ! Only the ones featuring scanners (i.e. galvanometer-moved mirrors) for the X- and Y-axes can do it (unlike the cheapest ones, which only draw random patterns).&lt;br /&gt;
&lt;br /&gt;
On commercial lasers, the standard way to drive the beam is the [http://laserfx.com/Backstage.LaserFX.com/Systems/Pinouts9.html DB25-connector-based ILDA interface] (source : laserfx.com). It is based on analog differential control signals.&lt;br /&gt;
&lt;br /&gt;
Therefore you'll need some external hardware capable of outputting such signals, be it standalone or controlled by a host computer. Such hardware is usually named concisely &amp;quot;DAC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DIY Lasers ===&lt;br /&gt;
&lt;br /&gt;
[http://elm-chan.org/works/vlp/report_e.html] : a DIY laser projector made from scratch.&lt;br /&gt;
&lt;br /&gt;
Even the galvanometers are home-built !&lt;br /&gt;
&lt;br /&gt;
In particular, there is a detailed study of the design of the galvanometers' servo loop control : galvanometers feature inertia like any mechanical devices, and achieving fast and accurate moves requires to &amp;quot;compensate&amp;quot; the galvanometers' drive signals with respect to their sensed position.&lt;br /&gt;
&lt;br /&gt;
=== Control boxes : DAC ===&lt;br /&gt;
&lt;br /&gt;
==== [http://macpod.net/electronics/lasershark/lasershark.php Lasershark] ====&lt;br /&gt;
&lt;br /&gt;
* One color only&lt;br /&gt;
* to be used with [https://github.com/marcan/openlase/wiki openlase]&lt;br /&gt;
* USB&lt;br /&gt;
&lt;br /&gt;
==== [http://ether-dream.com/ Ether-dream] ====&lt;br /&gt;
&lt;br /&gt;
* This is an ILDA control box which can either work as standalone (displaying a sequence of ILDA scenes tored internally or on an SD-card) or receive IP frames for driving the beam.&lt;br /&gt;
* RGB capable&lt;br /&gt;
* RJ45 : The ether dream is directly tcp/IP controlled, so you can imagine very cool projects with very easy setup and of course the programming langage you prefer.&lt;br /&gt;
* The firmware is open-source (but what about the hardware ?)&lt;br /&gt;
* In depth protocol page kind of hidden [http://ether-dream.com/protocol.html]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Laser Asteroids ===&lt;br /&gt;
[[Image:Laser.png]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=5XTi-jf-ans (YouTube video here)]&lt;br /&gt;
&lt;br /&gt;
An [https://github.com/echelon/laser-asteroids &amp;quot;Asteroids&amp;quot;-variant game from Brandon Thomas (Echelon) on GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Laser Hexagon ===&lt;br /&gt;
[http://www.tmplab.org/2015/01/30/hexagon-lazer-laser-game/ Video preview here (work in progress)].&lt;br /&gt;
&lt;br /&gt;
For more info, see [[Laser_Hexagon|project page]].&lt;br /&gt;
&lt;br /&gt;
=== Laser Pinball ===&lt;br /&gt;
&lt;br /&gt;
Work in progress.&lt;br /&gt;
&lt;br /&gt;
2D physic for example by pymunk&lt;br /&gt;
[[Laser_Pinball]]&lt;br /&gt;
&lt;br /&gt;
== Conversion from svg to ild file format ==&lt;br /&gt;
&lt;br /&gt;
* Use inkscape to create shapes, text,..&lt;br /&gt;
* Use convert &amp;quot;object to path&amp;quot;.&lt;br /&gt;
* Select on each letter, apply &amp;quot;simplify&amp;quot;&lt;br /&gt;
* svg2ild.py that can be found on github by marcan or search for clakoscrew.&lt;br /&gt;
* python svg2ild.py -q svgfile.scg ildfile.ild&lt;br /&gt;
&lt;br /&gt;
Reminder :&lt;br /&gt;
&lt;br /&gt;
* with &amp;quot;simplify&amp;quot;, there is no &amp;quot;q&amp;quot; command in created svg path, that generate an error with svg2ild.py&lt;br /&gt;
* todo : debug svg2ild.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exporting from INKSCAPE ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Save as HPGL&lt;br /&gt;
* Regexp :&lt;br /&gt;
&lt;br /&gt;
  #!/usr/bin/python&lt;br /&gt;
  import sys&lt;br /&gt;
  import re&lt;br /&gt;
  source = sys.argv[1]&lt;br /&gt;
  content = file( source ).read()&lt;br /&gt;
  L = []&lt;br /&gt;
  L.append([&amp;quot;;&amp;quot;,&amp;quot;\n&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;^IN&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PU.*&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PD&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  for pattern, replace in L :&lt;br /&gt;
      content = re.sub( pattern, replace, content)&lt;br /&gt;
  parsed = re.split(&amp;quot;\n&amp;quot;, content)&lt;br /&gt;
  tmp = []&lt;br /&gt;
  out = []&lt;br /&gt;
  MaxX = -9999999999999999&lt;br /&gt;
  MaxY = -9999999999999999&lt;br /&gt;
  MinX = 999999999999999&lt;br /&gt;
  MinY = 999999999999999&lt;br /&gt;
  first = None &lt;br /&gt;
  for line in parsed:&lt;br /&gt;
    if line == &amp;quot;&amp;quot; :&lt;br /&gt;
      continue&lt;br /&gt;
    tup = re.split(',',line)&lt;br /&gt;
    if len(tup) &amp;lt; 2 : continue&lt;br /&gt;
    x = int( ( int( tup[0] )) )&lt;br /&gt;
    y = int( ( int( tup[1] )) )&lt;br /&gt;
    MinX = x if x &amp;lt; MinX else MinX&lt;br /&gt;
    MaxX = x if x &amp;gt; MaxX else MaxX&lt;br /&gt;
    MinY = y if y &amp;lt; MinY else MinY&lt;br /&gt;
    MaxY = y if y &amp;gt; MaxY else MaxY&lt;br /&gt;
    tmp.append([x,y])&lt;br /&gt;
    if( first == None ):&lt;br /&gt;
        first = [x,y]&lt;br /&gt;
  tmp.append( first )&lt;br /&gt;
  moveX = ( MaxX + MinX ) / 2 &lt;br /&gt;
  moveY = (  MaxY + MinY ) / 2 &lt;br /&gt;
  for x,y in tmp:&lt;br /&gt;
      newX = x - moveX&lt;br /&gt;
      newY = y - moveY&lt;br /&gt;
      out.append( [ newX, newY ] )&lt;br /&gt;
  print out&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
* From : &lt;br /&gt;
  IN;SP1;PU778,2039;PD841,1858;PD908,2041;PU799,1983;PD887,1982;PU;&lt;br /&gt;
* To : &lt;br /&gt;
  [[[778,2039],[841,1858],[908,2041]],[[799,1983],[887,1982]]]&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6253</id>
		<title>Interactive lasers</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6253"/>
				<updated>2020-09-18T07:25:16Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Warnings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Warnings ==&lt;br /&gt;
&lt;br /&gt;
'''Don't be stupid : LASERS ARE DANGEROUS.''' Check local laws.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For introduction to laser safety, a great video : 31C3 Safer playing with lasers : [http://https://media.ccc.de/v/31c3_-_6131_-_en_-_saal_1_-_201412281600_-_safer_playing_with_lasers_-_sarah#t=359 here]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For complete training (not free) : [https://www.lia.org/training/non-medical LIA]&lt;br /&gt;
&lt;br /&gt;
== /team/laser ==&lt;br /&gt;
&lt;br /&gt;
The laser group at /tmp/lab is known as /team/laser. [http://www.teamlaser.tk http://www.teamlaser.tk]&lt;br /&gt;
&lt;br /&gt;
LJ ([https://github.com/tmpbci/LJ code] and [https://www.teamlaser.tk/lj/index.html website]) is a laser framework and server for up to 4 ILDA lasers/etherdreams. You get : easy DIY plugins, alignement, monitoring,...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The main idea is to add interactivity to &amp;quot;leisure&amp;quot; lasers. i.e with a gamepad one can play to old style vector games on city buildings. Again you must have control on anything in front of laser light. See picture at bottom.&lt;br /&gt;
&lt;br /&gt;
Different levels of complexity are possible. Commercial lasers uses ilda files/connections to draw whatever you want, but you can build your own, see hardware section.&lt;br /&gt;
&lt;br /&gt;
* The very fast and easy plan is to switch ilda scenes according to some inputs. You can use already made ilda files (see download section) in a SDcard plugged inside the laser fixture and use DMX protocol to switch. DMX usb cards are cheap, usually we use enttec ones. DMX controlled lasers are cheaper but quite limited to ilda files.&lt;br /&gt;
* If the plan is too draw live, it depends on the laser fixture DIY or commercial. Lot of possibilities depending on the number of colors, from using an arduino, a 5.1 USB soundcard, up to use commercials (opensource) cards using the standarts ilda connect ports.&lt;br /&gt;
* In any way, such lasers must feature X- and Y-scanners (i.e. galvanometer-moved mirrors) in order to position the beam accurately&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Obviously there is DIY Lasers and commercial ones and there is a bunch of cards integrating some DACs to talk to the laser fixture. &amp;lt;br&amp;gt;&lt;br /&gt;
A great forum for bootstrap your project is [http://laserfreak.net/forum/index.php laser freak] that comes in different langages. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We play with two different setups :&lt;br /&gt;
&lt;br /&gt;
* a green DIY laser made at [http://blog.blackboxe.org/?m=201407&amp;amp;lang=en la Blackboxe] with a [http://www.macpod.net/electronics/lasershark/lasershark.php lasershark] USB DAC card.&lt;br /&gt;
* an ilda DB25 ports RGB commercial laser for clubs  with an [http://ether-dream.com/ Etherdream] USB DAC card.&lt;br /&gt;
&lt;br /&gt;
=== Commercial Lasers ===&lt;br /&gt;
*&lt;br /&gt;
'''Warning !''' Not all lasers can draw anything ! Only the ones featuring scanners (i.e. galvanometer-moved mirrors) for the X- and Y-axes can do it (unlike the cheapest ones, which only draw random patterns).&lt;br /&gt;
&lt;br /&gt;
On commercial lasers, the standard way to drive the beam is the [http://laserfx.com/Backstage.LaserFX.com/Systems/Pinouts9.html DB25-connector-based ILDA interface] (source : laserfx.com). It is based on analog differential control signals.&lt;br /&gt;
&lt;br /&gt;
Therefore you'll need some external hardware capable of outputting such signals, be it standalone or controlled by a host computer. Such hardware is usually named concisely &amp;quot;DAC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DIY Lasers ===&lt;br /&gt;
&lt;br /&gt;
[http://elm-chan.org/works/vlp/report_e.html] : a DIY laser projector made from scratch.&lt;br /&gt;
&lt;br /&gt;
Even the galvanometers are home-built !&lt;br /&gt;
&lt;br /&gt;
In particular, there is a detailed study of the design of the galvanometers' servo loop control : galvanometers feature inertia like any mechanical devices, and achieving fast and accurate moves requires to &amp;quot;compensate&amp;quot; the galvanometers' drive signals with respect to their sensed position.&lt;br /&gt;
&lt;br /&gt;
=== Control boxes : DAC ===&lt;br /&gt;
&lt;br /&gt;
==== [http://macpod.net/electronics/lasershark/lasershark.php Lasershark] ====&lt;br /&gt;
&lt;br /&gt;
* One color only&lt;br /&gt;
* to be used with [https://github.com/marcan/openlase/wiki openlase]&lt;br /&gt;
* USB&lt;br /&gt;
&lt;br /&gt;
==== [http://ether-dream.com/ Ether-dream] ====&lt;br /&gt;
&lt;br /&gt;
* This is an ILDA control box which can either work as standalone (displaying a sequence of ILDA scenes tored internally or on an SD-card) or receive IP frames for driving the beam.&lt;br /&gt;
* RGB capable&lt;br /&gt;
* RJ45 : The ether dream is directly tcp/IP controlled, so you can imagine very cool projects with very easy setup and of course the programming langage you prefer.&lt;br /&gt;
* The firmware is open-source (but what about the hardware ?)&lt;br /&gt;
* In depth protocol page kind of hidden [http://ether-dream.com/protocol.html]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Laser Asteroids ===&lt;br /&gt;
[[Image:Laser.png]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=5XTi-jf-ans (YouTube video here)]&lt;br /&gt;
&lt;br /&gt;
An [https://github.com/echelon/laser-asteroids &amp;quot;Asteroids&amp;quot;-variant game from Brandon Thomas (Echelon) on GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Laser Hexagon ===&lt;br /&gt;
[http://www.tmplab.org/2015/01/30/hexagon-lazer-laser-game/ Video preview here (work in progress)].&lt;br /&gt;
&lt;br /&gt;
For more info, see [[Laser_Hexagon|project page]].&lt;br /&gt;
&lt;br /&gt;
=== Laser Pinball ===&lt;br /&gt;
&lt;br /&gt;
Work in progress.&lt;br /&gt;
&lt;br /&gt;
2D physic for example by pymunk&lt;br /&gt;
[[Laser_Pinball]]&lt;br /&gt;
&lt;br /&gt;
== Conversion from svg to ild file format ==&lt;br /&gt;
&lt;br /&gt;
* Use inkscape to create shapes, text,..&lt;br /&gt;
* Use convert &amp;quot;object to path&amp;quot;.&lt;br /&gt;
* Select on each letter, apply &amp;quot;simplify&amp;quot;&lt;br /&gt;
* svg2ild.py that can be found on github by marcan or search for clakoscrew.&lt;br /&gt;
* python svg2ild.py -q svgfile.scg ildfile.ild&lt;br /&gt;
&lt;br /&gt;
Reminder :&lt;br /&gt;
&lt;br /&gt;
* with &amp;quot;simplify&amp;quot;, there is no &amp;quot;q&amp;quot; command in created svg path, that generate an error with svg2ild.py&lt;br /&gt;
* todo : debug svg2ild.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exporting from INKSCAPE ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Save as HPGL&lt;br /&gt;
* Regexp :&lt;br /&gt;
&lt;br /&gt;
  #!/usr/bin/python&lt;br /&gt;
  import sys&lt;br /&gt;
  import re&lt;br /&gt;
  source = sys.argv[1]&lt;br /&gt;
  content = file( source ).read()&lt;br /&gt;
  L = []&lt;br /&gt;
  L.append([&amp;quot;;&amp;quot;,&amp;quot;\n&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;^IN&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PU.*&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PD&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  for pattern, replace in L :&lt;br /&gt;
      content = re.sub( pattern, replace, content)&lt;br /&gt;
  parsed = re.split(&amp;quot;\n&amp;quot;, content)&lt;br /&gt;
  tmp = []&lt;br /&gt;
  out = []&lt;br /&gt;
  MaxX = -9999999999999999&lt;br /&gt;
  MaxY = -9999999999999999&lt;br /&gt;
  MinX = 999999999999999&lt;br /&gt;
  MinY = 999999999999999&lt;br /&gt;
  first = None &lt;br /&gt;
  for line in parsed:&lt;br /&gt;
    if line == &amp;quot;&amp;quot; :&lt;br /&gt;
      continue&lt;br /&gt;
    tup = re.split(',',line)&lt;br /&gt;
    if len(tup) &amp;lt; 2 : continue&lt;br /&gt;
    x = int( ( int( tup[0] )) )&lt;br /&gt;
    y = int( ( int( tup[1] )) )&lt;br /&gt;
    MinX = x if x &amp;lt; MinX else MinX&lt;br /&gt;
    MaxX = x if x &amp;gt; MaxX else MaxX&lt;br /&gt;
    MinY = y if y &amp;lt; MinY else MinY&lt;br /&gt;
    MaxY = y if y &amp;gt; MaxY else MaxY&lt;br /&gt;
    tmp.append([x,y])&lt;br /&gt;
    if( first == None ):&lt;br /&gt;
        first = [x,y]&lt;br /&gt;
  tmp.append( first )&lt;br /&gt;
  moveX = ( MaxX + MinX ) / 2 &lt;br /&gt;
  moveY = (  MaxY + MinY ) / 2 &lt;br /&gt;
  for x,y in tmp:&lt;br /&gt;
      newX = x - moveX&lt;br /&gt;
      newY = y - moveY&lt;br /&gt;
      out.append( [ newX, newY ] )&lt;br /&gt;
  print out&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
* From : &lt;br /&gt;
  IN;SP1;PU778,2039;PD841,1858;PD908,2041;PU799,1983;PD887,1982;PU;&lt;br /&gt;
* To : &lt;br /&gt;
  [[[778,2039],[841,1858],[908,2041]],[[799,1983],[887,1982]]]&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6252</id>
		<title>Interactive lasers</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6252"/>
				<updated>2020-09-18T07:09:16Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Warnings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Warnings ==&lt;br /&gt;
&lt;br /&gt;
'''Don't be stupid : LASERS ARE DANGEROUS.''' '''Check local laws.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For introduction to laser safety, a great video : 31C3 Safer playing with lasers : [http://https://media.ccc.de/v/31c3_-_6131_-_en_-_saal_1_-_201412281600_-_safer_playing_with_lasers_-_sarah#t=359 here]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For complete training (not free) : [https://www.lia.org/training/non-medical LIA]&lt;br /&gt;
&lt;br /&gt;
== /team/laser ==&lt;br /&gt;
&lt;br /&gt;
The laser group at /tmp/lab is known as /team/laser. [http://www.teamlaser.tk http://www.teamlaser.tk]&lt;br /&gt;
&lt;br /&gt;
LJ ([https://github.com/tmpbci/LJ code] and [https://www.teamlaser.tk/lj/index.html website]) is a laser framework and server for up to 4 ILDA lasers/etherdreams. You get : easy DIY plugins, alignement, monitoring,...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The main idea is to add interactivity to &amp;quot;leisure&amp;quot; lasers. i.e with a gamepad one can play to old style vector games on city buildings. Again you must have control on anything in front of laser light. See picture at bottom.&lt;br /&gt;
&lt;br /&gt;
Different levels of complexity are possible. Commercial lasers uses ilda files/connections to draw whatever you want, but you can build your own, see hardware section.&lt;br /&gt;
&lt;br /&gt;
* The very fast and easy plan is to switch ilda scenes according to some inputs. You can use already made ilda files (see download section) in a SDcard plugged inside the laser fixture and use DMX protocol to switch. DMX usb cards are cheap, usually we use enttec ones. DMX controlled lasers are cheaper but quite limited to ilda files.&lt;br /&gt;
* If the plan is too draw live, it depends on the laser fixture DIY or commercial. Lot of possibilities depending on the number of colors, from using an arduino, a 5.1 USB soundcard, up to use commercials (opensource) cards using the standarts ilda connect ports.&lt;br /&gt;
* In any way, such lasers must feature X- and Y-scanners (i.e. galvanometer-moved mirrors) in order to position the beam accurately&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Obviously there is DIY Lasers and commercial ones and there is a bunch of cards integrating some DACs to talk to the laser fixture. &amp;lt;br&amp;gt;&lt;br /&gt;
A great forum for bootstrap your project is [http://laserfreak.net/forum/index.php laser freak] that comes in different langages. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We play with two different setups :&lt;br /&gt;
&lt;br /&gt;
* a green DIY laser made at [http://blog.blackboxe.org/?m=201407&amp;amp;lang=en la Blackboxe] with a [http://www.macpod.net/electronics/lasershark/lasershark.php lasershark] USB DAC card.&lt;br /&gt;
* an ilda DB25 ports RGB commercial laser for clubs  with an [http://ether-dream.com/ Etherdream] USB DAC card.&lt;br /&gt;
&lt;br /&gt;
=== Commercial Lasers ===&lt;br /&gt;
*&lt;br /&gt;
'''Warning !''' Not all lasers can draw anything ! Only the ones featuring scanners (i.e. galvanometer-moved mirrors) for the X- and Y-axes can do it (unlike the cheapest ones, which only draw random patterns).&lt;br /&gt;
&lt;br /&gt;
On commercial lasers, the standard way to drive the beam is the [http://laserfx.com/Backstage.LaserFX.com/Systems/Pinouts9.html DB25-connector-based ILDA interface] (source : laserfx.com). It is based on analog differential control signals.&lt;br /&gt;
&lt;br /&gt;
Therefore you'll need some external hardware capable of outputting such signals, be it standalone or controlled by a host computer. Such hardware is usually named concisely &amp;quot;DAC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DIY Lasers ===&lt;br /&gt;
&lt;br /&gt;
[http://elm-chan.org/works/vlp/report_e.html] : a DIY laser projector made from scratch.&lt;br /&gt;
&lt;br /&gt;
Even the galvanometers are home-built !&lt;br /&gt;
&lt;br /&gt;
In particular, there is a detailed study of the design of the galvanometers' servo loop control : galvanometers feature inertia like any mechanical devices, and achieving fast and accurate moves requires to &amp;quot;compensate&amp;quot; the galvanometers' drive signals with respect to their sensed position.&lt;br /&gt;
&lt;br /&gt;
=== Control boxes : DAC ===&lt;br /&gt;
&lt;br /&gt;
==== [http://macpod.net/electronics/lasershark/lasershark.php Lasershark] ====&lt;br /&gt;
&lt;br /&gt;
* One color only&lt;br /&gt;
* to be used with [https://github.com/marcan/openlase/wiki openlase]&lt;br /&gt;
* USB&lt;br /&gt;
&lt;br /&gt;
==== [http://ether-dream.com/ Ether-dream] ====&lt;br /&gt;
&lt;br /&gt;
* This is an ILDA control box which can either work as standalone (displaying a sequence of ILDA scenes tored internally or on an SD-card) or receive IP frames for driving the beam.&lt;br /&gt;
* RGB capable&lt;br /&gt;
* RJ45 : The ether dream is directly tcp/IP controlled, so you can imagine very cool projects with very easy setup and of course the programming langage you prefer.&lt;br /&gt;
* The firmware is open-source (but what about the hardware ?)&lt;br /&gt;
* In depth protocol page kind of hidden [http://ether-dream.com/protocol.html]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Laser Asteroids ===&lt;br /&gt;
[[Image:Laser.png]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=5XTi-jf-ans (YouTube video here)]&lt;br /&gt;
&lt;br /&gt;
An [https://github.com/echelon/laser-asteroids &amp;quot;Asteroids&amp;quot;-variant game from Brandon Thomas (Echelon) on GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Laser Hexagon ===&lt;br /&gt;
[http://www.tmplab.org/2015/01/30/hexagon-lazer-laser-game/ Video preview here (work in progress)].&lt;br /&gt;
&lt;br /&gt;
For more info, see [[Laser_Hexagon|project page]].&lt;br /&gt;
&lt;br /&gt;
=== Laser Pinball ===&lt;br /&gt;
&lt;br /&gt;
Work in progress.&lt;br /&gt;
&lt;br /&gt;
2D physic for example by pymunk&lt;br /&gt;
[[Laser_Pinball]]&lt;br /&gt;
&lt;br /&gt;
== Conversion from svg to ild file format ==&lt;br /&gt;
&lt;br /&gt;
* Use inkscape to create shapes, text,..&lt;br /&gt;
* Use convert &amp;quot;object to path&amp;quot;.&lt;br /&gt;
* Select on each letter, apply &amp;quot;simplify&amp;quot;&lt;br /&gt;
* svg2ild.py that can be found on github by marcan or search for clakoscrew.&lt;br /&gt;
* python svg2ild.py -q svgfile.scg ildfile.ild&lt;br /&gt;
&lt;br /&gt;
Reminder :&lt;br /&gt;
&lt;br /&gt;
* with &amp;quot;simplify&amp;quot;, there is no &amp;quot;q&amp;quot; command in created svg path, that generate an error with svg2ild.py&lt;br /&gt;
* todo : debug svg2ild.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exporting from INKSCAPE ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Save as HPGL&lt;br /&gt;
* Regexp :&lt;br /&gt;
&lt;br /&gt;
  #!/usr/bin/python&lt;br /&gt;
  import sys&lt;br /&gt;
  import re&lt;br /&gt;
  source = sys.argv[1]&lt;br /&gt;
  content = file( source ).read()&lt;br /&gt;
  L = []&lt;br /&gt;
  L.append([&amp;quot;;&amp;quot;,&amp;quot;\n&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;^IN&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PU.*&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PD&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  for pattern, replace in L :&lt;br /&gt;
      content = re.sub( pattern, replace, content)&lt;br /&gt;
  parsed = re.split(&amp;quot;\n&amp;quot;, content)&lt;br /&gt;
  tmp = []&lt;br /&gt;
  out = []&lt;br /&gt;
  MaxX = -9999999999999999&lt;br /&gt;
  MaxY = -9999999999999999&lt;br /&gt;
  MinX = 999999999999999&lt;br /&gt;
  MinY = 999999999999999&lt;br /&gt;
  first = None &lt;br /&gt;
  for line in parsed:&lt;br /&gt;
    if line == &amp;quot;&amp;quot; :&lt;br /&gt;
      continue&lt;br /&gt;
    tup = re.split(',',line)&lt;br /&gt;
    if len(tup) &amp;lt; 2 : continue&lt;br /&gt;
    x = int( ( int( tup[0] )) )&lt;br /&gt;
    y = int( ( int( tup[1] )) )&lt;br /&gt;
    MinX = x if x &amp;lt; MinX else MinX&lt;br /&gt;
    MaxX = x if x &amp;gt; MaxX else MaxX&lt;br /&gt;
    MinY = y if y &amp;lt; MinY else MinY&lt;br /&gt;
    MaxY = y if y &amp;gt; MaxY else MaxY&lt;br /&gt;
    tmp.append([x,y])&lt;br /&gt;
    if( first == None ):&lt;br /&gt;
        first = [x,y]&lt;br /&gt;
  tmp.append( first )&lt;br /&gt;
  moveX = ( MaxX + MinX ) / 2 &lt;br /&gt;
  moveY = (  MaxY + MinY ) / 2 &lt;br /&gt;
  for x,y in tmp:&lt;br /&gt;
      newX = x - moveX&lt;br /&gt;
      newY = y - moveY&lt;br /&gt;
      out.append( [ newX, newY ] )&lt;br /&gt;
  print out&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
* From : &lt;br /&gt;
  IN;SP1;PU778,2039;PD841,1858;PD908,2041;PU799,1983;PD887,1982;PU;&lt;br /&gt;
* To : &lt;br /&gt;
  [[[778,2039],[841,1858],[908,2041]],[[799,1983],[887,1982]]]&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6251</id>
		<title>Interactive lasers</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6251"/>
				<updated>2020-09-18T07:07:30Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Warnings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Warnings ==&lt;br /&gt;
&lt;br /&gt;
'''Don't be stupid : LASERS ARE DANGEROUS.''' '''You  must comply to your local laws.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For introduction to laser safety, a great video : 31C3 Safer playing with lasers : [http://https://media.ccc.de/v/31c3_-_6131_-_en_-_saal_1_-_201412281600_-_safer_playing_with_lasers_-_sarah#t=359 here]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For complete training (not free) : [https://www.lia.org/training/non-medical LIA]&lt;br /&gt;
&lt;br /&gt;
== /team/laser ==&lt;br /&gt;
&lt;br /&gt;
The laser group at /tmp/lab is known as /team/laser. [http://www.teamlaser.tk http://www.teamlaser.tk]&lt;br /&gt;
&lt;br /&gt;
LJ ([https://github.com/tmpbci/LJ code] and [https://www.teamlaser.tk/lj/index.html website]) is a laser framework and server for up to 4 ILDA lasers/etherdreams. You get : easy DIY plugins, alignement, monitoring,...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The main idea is to add interactivity to &amp;quot;leisure&amp;quot; lasers. i.e with a gamepad one can play to old style vector games on city buildings. Again you must have control on anything in front of laser light. See picture at bottom.&lt;br /&gt;
&lt;br /&gt;
Different levels of complexity are possible. Commercial lasers uses ilda files/connections to draw whatever you want, but you can build your own, see hardware section.&lt;br /&gt;
&lt;br /&gt;
* The very fast and easy plan is to switch ilda scenes according to some inputs. You can use already made ilda files (see download section) in a SDcard plugged inside the laser fixture and use DMX protocol to switch. DMX usb cards are cheap, usually we use enttec ones. DMX controlled lasers are cheaper but quite limited to ilda files.&lt;br /&gt;
* If the plan is too draw live, it depends on the laser fixture DIY or commercial. Lot of possibilities depending on the number of colors, from using an arduino, a 5.1 USB soundcard, up to use commercials (opensource) cards using the standarts ilda connect ports.&lt;br /&gt;
* In any way, such lasers must feature X- and Y-scanners (i.e. galvanometer-moved mirrors) in order to position the beam accurately&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Obviously there is DIY Lasers and commercial ones and there is a bunch of cards integrating some DACs to talk to the laser fixture. &amp;lt;br&amp;gt;&lt;br /&gt;
A great forum for bootstrap your project is [http://laserfreak.net/forum/index.php laser freak] that comes in different langages. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We play with two different setups :&lt;br /&gt;
&lt;br /&gt;
* a green DIY laser made at [http://blog.blackboxe.org/?m=201407&amp;amp;lang=en la Blackboxe] with a [http://www.macpod.net/electronics/lasershark/lasershark.php lasershark] USB DAC card.&lt;br /&gt;
* an ilda DB25 ports RGB commercial laser for clubs  with an [http://ether-dream.com/ Etherdream] USB DAC card.&lt;br /&gt;
&lt;br /&gt;
=== Commercial Lasers ===&lt;br /&gt;
*&lt;br /&gt;
'''Warning !''' Not all lasers can draw anything ! Only the ones featuring scanners (i.e. galvanometer-moved mirrors) for the X- and Y-axes can do it (unlike the cheapest ones, which only draw random patterns).&lt;br /&gt;
&lt;br /&gt;
On commercial lasers, the standard way to drive the beam is the [http://laserfx.com/Backstage.LaserFX.com/Systems/Pinouts9.html DB25-connector-based ILDA interface] (source : laserfx.com). It is based on analog differential control signals.&lt;br /&gt;
&lt;br /&gt;
Therefore you'll need some external hardware capable of outputting such signals, be it standalone or controlled by a host computer. Such hardware is usually named concisely &amp;quot;DAC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DIY Lasers ===&lt;br /&gt;
&lt;br /&gt;
[http://elm-chan.org/works/vlp/report_e.html] : a DIY laser projector made from scratch.&lt;br /&gt;
&lt;br /&gt;
Even the galvanometers are home-built !&lt;br /&gt;
&lt;br /&gt;
In particular, there is a detailed study of the design of the galvanometers' servo loop control : galvanometers feature inertia like any mechanical devices, and achieving fast and accurate moves requires to &amp;quot;compensate&amp;quot; the galvanometers' drive signals with respect to their sensed position.&lt;br /&gt;
&lt;br /&gt;
=== Control boxes : DAC ===&lt;br /&gt;
&lt;br /&gt;
==== [http://macpod.net/electronics/lasershark/lasershark.php Lasershark] ====&lt;br /&gt;
&lt;br /&gt;
* One color only&lt;br /&gt;
* to be used with [https://github.com/marcan/openlase/wiki openlase]&lt;br /&gt;
* USB&lt;br /&gt;
&lt;br /&gt;
==== [http://ether-dream.com/ Ether-dream] ====&lt;br /&gt;
&lt;br /&gt;
* This is an ILDA control box which can either work as standalone (displaying a sequence of ILDA scenes tored internally or on an SD-card) or receive IP frames for driving the beam.&lt;br /&gt;
* RGB capable&lt;br /&gt;
* RJ45 : The ether dream is directly tcp/IP controlled, so you can imagine very cool projects with very easy setup and of course the programming langage you prefer.&lt;br /&gt;
* The firmware is open-source (but what about the hardware ?)&lt;br /&gt;
* In depth protocol page kind of hidden [http://ether-dream.com/protocol.html]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Laser Asteroids ===&lt;br /&gt;
[[Image:Laser.png]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=5XTi-jf-ans (YouTube video here)]&lt;br /&gt;
&lt;br /&gt;
An [https://github.com/echelon/laser-asteroids &amp;quot;Asteroids&amp;quot;-variant game from Brandon Thomas (Echelon) on GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Laser Hexagon ===&lt;br /&gt;
[http://www.tmplab.org/2015/01/30/hexagon-lazer-laser-game/ Video preview here (work in progress)].&lt;br /&gt;
&lt;br /&gt;
For more info, see [[Laser_Hexagon|project page]].&lt;br /&gt;
&lt;br /&gt;
=== Laser Pinball ===&lt;br /&gt;
&lt;br /&gt;
Work in progress.&lt;br /&gt;
&lt;br /&gt;
2D physic for example by pymunk&lt;br /&gt;
[[Laser_Pinball]]&lt;br /&gt;
&lt;br /&gt;
== Conversion from svg to ild file format ==&lt;br /&gt;
&lt;br /&gt;
* Use inkscape to create shapes, text,..&lt;br /&gt;
* Use convert &amp;quot;object to path&amp;quot;.&lt;br /&gt;
* Select on each letter, apply &amp;quot;simplify&amp;quot;&lt;br /&gt;
* svg2ild.py that can be found on github by marcan or search for clakoscrew.&lt;br /&gt;
* python svg2ild.py -q svgfile.scg ildfile.ild&lt;br /&gt;
&lt;br /&gt;
Reminder :&lt;br /&gt;
&lt;br /&gt;
* with &amp;quot;simplify&amp;quot;, there is no &amp;quot;q&amp;quot; command in created svg path, that generate an error with svg2ild.py&lt;br /&gt;
* todo : debug svg2ild.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exporting from INKSCAPE ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Save as HPGL&lt;br /&gt;
* Regexp :&lt;br /&gt;
&lt;br /&gt;
  #!/usr/bin/python&lt;br /&gt;
  import sys&lt;br /&gt;
  import re&lt;br /&gt;
  source = sys.argv[1]&lt;br /&gt;
  content = file( source ).read()&lt;br /&gt;
  L = []&lt;br /&gt;
  L.append([&amp;quot;;&amp;quot;,&amp;quot;\n&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;^IN&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PU.*&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PD&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  for pattern, replace in L :&lt;br /&gt;
      content = re.sub( pattern, replace, content)&lt;br /&gt;
  parsed = re.split(&amp;quot;\n&amp;quot;, content)&lt;br /&gt;
  tmp = []&lt;br /&gt;
  out = []&lt;br /&gt;
  MaxX = -9999999999999999&lt;br /&gt;
  MaxY = -9999999999999999&lt;br /&gt;
  MinX = 999999999999999&lt;br /&gt;
  MinY = 999999999999999&lt;br /&gt;
  first = None &lt;br /&gt;
  for line in parsed:&lt;br /&gt;
    if line == &amp;quot;&amp;quot; :&lt;br /&gt;
      continue&lt;br /&gt;
    tup = re.split(',',line)&lt;br /&gt;
    if len(tup) &amp;lt; 2 : continue&lt;br /&gt;
    x = int( ( int( tup[0] )) )&lt;br /&gt;
    y = int( ( int( tup[1] )) )&lt;br /&gt;
    MinX = x if x &amp;lt; MinX else MinX&lt;br /&gt;
    MaxX = x if x &amp;gt; MaxX else MaxX&lt;br /&gt;
    MinY = y if y &amp;lt; MinY else MinY&lt;br /&gt;
    MaxY = y if y &amp;gt; MaxY else MaxY&lt;br /&gt;
    tmp.append([x,y])&lt;br /&gt;
    if( first == None ):&lt;br /&gt;
        first = [x,y]&lt;br /&gt;
  tmp.append( first )&lt;br /&gt;
  moveX = ( MaxX + MinX ) / 2 &lt;br /&gt;
  moveY = (  MaxY + MinY ) / 2 &lt;br /&gt;
  for x,y in tmp:&lt;br /&gt;
      newX = x - moveX&lt;br /&gt;
      newY = y - moveY&lt;br /&gt;
      out.append( [ newX, newY ] )&lt;br /&gt;
  print out&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
* From : &lt;br /&gt;
  IN;SP1;PU778,2039;PD841,1858;PD908,2041;PU799,1983;PD887,1982;PU;&lt;br /&gt;
* To : &lt;br /&gt;
  [[[778,2039],[841,1858],[908,2041]],[[799,1983],[887,1982]]]&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6250</id>
		<title>Interactive lasers</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6250"/>
				<updated>2020-09-18T07:06:54Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Warnings ==&lt;br /&gt;
&lt;br /&gt;
'''Don't be stupid : LASERS ARE DANGEROUS.'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''You  must comply to your local laws.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For introduction to laser safety, a great video : 31C3 Safer playing with lasers : [http://https://media.ccc.de/v/31c3_-_6131_-_en_-_saal_1_-_201412281600_-_safer_playing_with_lasers_-_sarah#t=359 here]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For complete training (not free) : [https://www.lia.org/training/non-medical LIA]&lt;br /&gt;
&lt;br /&gt;
== /team/laser ==&lt;br /&gt;
&lt;br /&gt;
The laser group at /tmp/lab is known as /team/laser. [http://www.teamlaser.tk http://www.teamlaser.tk]&lt;br /&gt;
&lt;br /&gt;
LJ ([https://github.com/tmpbci/LJ code] and [https://www.teamlaser.tk/lj/index.html website]) is a laser framework and server for up to 4 ILDA lasers/etherdreams. You get : easy DIY plugins, alignement, monitoring,...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The main idea is to add interactivity to &amp;quot;leisure&amp;quot; lasers. i.e with a gamepad one can play to old style vector games on city buildings. Again you must have control on anything in front of laser light. See picture at bottom.&lt;br /&gt;
&lt;br /&gt;
Different levels of complexity are possible. Commercial lasers uses ilda files/connections to draw whatever you want, but you can build your own, see hardware section.&lt;br /&gt;
&lt;br /&gt;
* The very fast and easy plan is to switch ilda scenes according to some inputs. You can use already made ilda files (see download section) in a SDcard plugged inside the laser fixture and use DMX protocol to switch. DMX usb cards are cheap, usually we use enttec ones. DMX controlled lasers are cheaper but quite limited to ilda files.&lt;br /&gt;
* If the plan is too draw live, it depends on the laser fixture DIY or commercial. Lot of possibilities depending on the number of colors, from using an arduino, a 5.1 USB soundcard, up to use commercials (opensource) cards using the standarts ilda connect ports.&lt;br /&gt;
* In any way, such lasers must feature X- and Y-scanners (i.e. galvanometer-moved mirrors) in order to position the beam accurately&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Obviously there is DIY Lasers and commercial ones and there is a bunch of cards integrating some DACs to talk to the laser fixture. &amp;lt;br&amp;gt;&lt;br /&gt;
A great forum for bootstrap your project is [http://laserfreak.net/forum/index.php laser freak] that comes in different langages. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We play with two different setups :&lt;br /&gt;
&lt;br /&gt;
* a green DIY laser made at [http://blog.blackboxe.org/?m=201407&amp;amp;lang=en la Blackboxe] with a [http://www.macpod.net/electronics/lasershark/lasershark.php lasershark] USB DAC card.&lt;br /&gt;
* an ilda DB25 ports RGB commercial laser for clubs  with an [http://ether-dream.com/ Etherdream] USB DAC card.&lt;br /&gt;
&lt;br /&gt;
=== Commercial Lasers ===&lt;br /&gt;
*&lt;br /&gt;
'''Warning !''' Not all lasers can draw anything ! Only the ones featuring scanners (i.e. galvanometer-moved mirrors) for the X- and Y-axes can do it (unlike the cheapest ones, which only draw random patterns).&lt;br /&gt;
&lt;br /&gt;
On commercial lasers, the standard way to drive the beam is the [http://laserfx.com/Backstage.LaserFX.com/Systems/Pinouts9.html DB25-connector-based ILDA interface] (source : laserfx.com). It is based on analog differential control signals.&lt;br /&gt;
&lt;br /&gt;
Therefore you'll need some external hardware capable of outputting such signals, be it standalone or controlled by a host computer. Such hardware is usually named concisely &amp;quot;DAC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DIY Lasers ===&lt;br /&gt;
&lt;br /&gt;
[http://elm-chan.org/works/vlp/report_e.html] : a DIY laser projector made from scratch.&lt;br /&gt;
&lt;br /&gt;
Even the galvanometers are home-built !&lt;br /&gt;
&lt;br /&gt;
In particular, there is a detailed study of the design of the galvanometers' servo loop control : galvanometers feature inertia like any mechanical devices, and achieving fast and accurate moves requires to &amp;quot;compensate&amp;quot; the galvanometers' drive signals with respect to their sensed position.&lt;br /&gt;
&lt;br /&gt;
=== Control boxes : DAC ===&lt;br /&gt;
&lt;br /&gt;
==== [http://macpod.net/electronics/lasershark/lasershark.php Lasershark] ====&lt;br /&gt;
&lt;br /&gt;
* One color only&lt;br /&gt;
* to be used with [https://github.com/marcan/openlase/wiki openlase]&lt;br /&gt;
* USB&lt;br /&gt;
&lt;br /&gt;
==== [http://ether-dream.com/ Ether-dream] ====&lt;br /&gt;
&lt;br /&gt;
* This is an ILDA control box which can either work as standalone (displaying a sequence of ILDA scenes tored internally or on an SD-card) or receive IP frames for driving the beam.&lt;br /&gt;
* RGB capable&lt;br /&gt;
* RJ45 : The ether dream is directly tcp/IP controlled, so you can imagine very cool projects with very easy setup and of course the programming langage you prefer.&lt;br /&gt;
* The firmware is open-source (but what about the hardware ?)&lt;br /&gt;
* In depth protocol page kind of hidden [http://ether-dream.com/protocol.html]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Laser Asteroids ===&lt;br /&gt;
[[Image:Laser.png]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=5XTi-jf-ans (YouTube video here)]&lt;br /&gt;
&lt;br /&gt;
An [https://github.com/echelon/laser-asteroids &amp;quot;Asteroids&amp;quot;-variant game from Brandon Thomas (Echelon) on GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Laser Hexagon ===&lt;br /&gt;
[http://www.tmplab.org/2015/01/30/hexagon-lazer-laser-game/ Video preview here (work in progress)].&lt;br /&gt;
&lt;br /&gt;
For more info, see [[Laser_Hexagon|project page]].&lt;br /&gt;
&lt;br /&gt;
=== Laser Pinball ===&lt;br /&gt;
&lt;br /&gt;
Work in progress.&lt;br /&gt;
&lt;br /&gt;
2D physic for example by pymunk&lt;br /&gt;
[[Laser_Pinball]]&lt;br /&gt;
&lt;br /&gt;
== Conversion from svg to ild file format ==&lt;br /&gt;
&lt;br /&gt;
* Use inkscape to create shapes, text,..&lt;br /&gt;
* Use convert &amp;quot;object to path&amp;quot;.&lt;br /&gt;
* Select on each letter, apply &amp;quot;simplify&amp;quot;&lt;br /&gt;
* svg2ild.py that can be found on github by marcan or search for clakoscrew.&lt;br /&gt;
* python svg2ild.py -q svgfile.scg ildfile.ild&lt;br /&gt;
&lt;br /&gt;
Reminder :&lt;br /&gt;
&lt;br /&gt;
* with &amp;quot;simplify&amp;quot;, there is no &amp;quot;q&amp;quot; command in created svg path, that generate an error with svg2ild.py&lt;br /&gt;
* todo : debug svg2ild.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exporting from INKSCAPE ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Save as HPGL&lt;br /&gt;
* Regexp :&lt;br /&gt;
&lt;br /&gt;
  #!/usr/bin/python&lt;br /&gt;
  import sys&lt;br /&gt;
  import re&lt;br /&gt;
  source = sys.argv[1]&lt;br /&gt;
  content = file( source ).read()&lt;br /&gt;
  L = []&lt;br /&gt;
  L.append([&amp;quot;;&amp;quot;,&amp;quot;\n&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;^IN&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PU.*&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PD&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  for pattern, replace in L :&lt;br /&gt;
      content = re.sub( pattern, replace, content)&lt;br /&gt;
  parsed = re.split(&amp;quot;\n&amp;quot;, content)&lt;br /&gt;
  tmp = []&lt;br /&gt;
  out = []&lt;br /&gt;
  MaxX = -9999999999999999&lt;br /&gt;
  MaxY = -9999999999999999&lt;br /&gt;
  MinX = 999999999999999&lt;br /&gt;
  MinY = 999999999999999&lt;br /&gt;
  first = None &lt;br /&gt;
  for line in parsed:&lt;br /&gt;
    if line == &amp;quot;&amp;quot; :&lt;br /&gt;
      continue&lt;br /&gt;
    tup = re.split(',',line)&lt;br /&gt;
    if len(tup) &amp;lt; 2 : continue&lt;br /&gt;
    x = int( ( int( tup[0] )) )&lt;br /&gt;
    y = int( ( int( tup[1] )) )&lt;br /&gt;
    MinX = x if x &amp;lt; MinX else MinX&lt;br /&gt;
    MaxX = x if x &amp;gt; MaxX else MaxX&lt;br /&gt;
    MinY = y if y &amp;lt; MinY else MinY&lt;br /&gt;
    MaxY = y if y &amp;gt; MaxY else MaxY&lt;br /&gt;
    tmp.append([x,y])&lt;br /&gt;
    if( first == None ):&lt;br /&gt;
        first = [x,y]&lt;br /&gt;
  tmp.append( first )&lt;br /&gt;
  moveX = ( MaxX + MinX ) / 2 &lt;br /&gt;
  moveY = (  MaxY + MinY ) / 2 &lt;br /&gt;
  for x,y in tmp:&lt;br /&gt;
      newX = x - moveX&lt;br /&gt;
      newY = y - moveY&lt;br /&gt;
      out.append( [ newX, newY ] )&lt;br /&gt;
  print out&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
* From : &lt;br /&gt;
  IN;SP1;PU778,2039;PD841,1858;PD908,2041;PU799,1983;PD887,1982;PU;&lt;br /&gt;
* To : &lt;br /&gt;
  [[[778,2039],[841,1858],[908,2041]],[[799,1983],[887,1982]]]&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6249</id>
		<title>Interactive lasers</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6249"/>
				<updated>2020-09-18T07:02:30Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Warnings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Warnings ==&lt;br /&gt;
&lt;br /&gt;
'''Don't be stupid : LASERS ARE DANGEROUS.'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''You  must comply to your local laws.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For introduction to laser safety, a great video : 31C3 Safer playing with lasers : [http://https://media.ccc.de/v/31c3_-_6131_-_en_-_saal_1_-_201412281600_-_safer_playing_with_lasers_-_sarah#t=359 here]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For complete training (not free) : [https://www.lia.org/training/non-medical LIA]&lt;br /&gt;
&lt;br /&gt;
== /team/laser ==&lt;br /&gt;
&lt;br /&gt;
The laser group at /tmp/lab is known as /team/laser. [http://www.teamlaser.tk http://www.teamlaser.tk]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/tmpbci/LJ LJ] is a laser framework and server for up to 4 ILDA lasers/etherdreams. You get : easy DIY plugins, alignement, monitoring,...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The main idea is to add interactivity to &amp;quot;leisure&amp;quot; lasers. i.e with a gamepad one can play to old style vector games on city buildings. Again you must have control on anything in front of laser light. See picture at bottom.&lt;br /&gt;
&lt;br /&gt;
Different levels of complexity are possible. Commercial lasers uses ilda files/connections to draw whatever you want, but you can build your own, see hardware section.&lt;br /&gt;
&lt;br /&gt;
* The very fast and easy plan is to switch ilda scenes according to some inputs. You can use already made ilda files (see download section) in a SDcard plugged inside the laser fixture and use DMX protocol to switch. DMX usb cards are cheap, usually we use enttec ones. DMX controlled lasers are cheaper but quite limited to ilda files.&lt;br /&gt;
* If the plan is too draw live, it depends on the laser fixture DIY or commercial. Lot of possibilities depending on the number of colors, from using an arduino, a 5.1 USB soundcard, up to use commercials (opensource) cards using the standarts ilda connect ports.&lt;br /&gt;
* In any way, such lasers must feature X- and Y-scanners (i.e. galvanometer-moved mirrors) in order to position the beam accurately&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Obviously there is DIY Lasers and commercial ones and there is a bunch of cards integrating some DACs to talk to the laser fixture. &amp;lt;br&amp;gt;&lt;br /&gt;
A great forum for bootstrap your project is [http://laserfreak.net/forum/index.php laser freak] that comes in different langages. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We play with two different setups :&lt;br /&gt;
&lt;br /&gt;
* a green DIY laser made at [http://blog.blackboxe.org/?m=201407&amp;amp;lang=en la Blackboxe] with a [http://www.macpod.net/electronics/lasershark/lasershark.php lasershark] USB DAC card.&lt;br /&gt;
* an ilda DB25 ports RGB commercial laser for clubs  with an [http://ether-dream.com/ Etherdream] USB DAC card.&lt;br /&gt;
&lt;br /&gt;
=== Commercial Lasers ===&lt;br /&gt;
*&lt;br /&gt;
'''Warning !''' Not all lasers can draw anything ! Only the ones featuring scanners (i.e. galvanometer-moved mirrors) for the X- and Y-axes can do it (unlike the cheapest ones, which only draw random patterns).&lt;br /&gt;
&lt;br /&gt;
On commercial lasers, the standard way to drive the beam is the [http://laserfx.com/Backstage.LaserFX.com/Systems/Pinouts9.html DB25-connector-based ILDA interface] (source : laserfx.com). It is based on analog differential control signals.&lt;br /&gt;
&lt;br /&gt;
Therefore you'll need some external hardware capable of outputting such signals, be it standalone or controlled by a host computer. Such hardware is usually named concisely &amp;quot;DAC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DIY Lasers ===&lt;br /&gt;
&lt;br /&gt;
[http://elm-chan.org/works/vlp/report_e.html] : a DIY laser projector made from scratch.&lt;br /&gt;
&lt;br /&gt;
Even the galvanometers are home-built !&lt;br /&gt;
&lt;br /&gt;
In particular, there is a detailed study of the design of the galvanometers' servo loop control : galvanometers feature inertia like any mechanical devices, and achieving fast and accurate moves requires to &amp;quot;compensate&amp;quot; the galvanometers' drive signals with respect to their sensed position.&lt;br /&gt;
&lt;br /&gt;
=== Control boxes : DAC ===&lt;br /&gt;
&lt;br /&gt;
==== [http://macpod.net/electronics/lasershark/lasershark.php Lasershark] ====&lt;br /&gt;
&lt;br /&gt;
* One color only&lt;br /&gt;
* to be used with [https://github.com/marcan/openlase/wiki openlase]&lt;br /&gt;
* USB&lt;br /&gt;
&lt;br /&gt;
==== [http://ether-dream.com/ Ether-dream] ====&lt;br /&gt;
&lt;br /&gt;
* This is an ILDA control box which can either work as standalone (displaying a sequence of ILDA scenes tored internally or on an SD-card) or receive IP frames for driving the beam.&lt;br /&gt;
* RGB capable&lt;br /&gt;
* RJ45 : The ether dream is directly tcp/IP controlled, so you can imagine very cool projects with very easy setup and of course the programming langage you prefer.&lt;br /&gt;
* The firmware is open-source (but what about the hardware ?)&lt;br /&gt;
* In depth protocol page kind of hidden [http://ether-dream.com/protocol.html]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Laser Asteroids ===&lt;br /&gt;
[[Image:Laser.png]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=5XTi-jf-ans (YouTube video here)]&lt;br /&gt;
&lt;br /&gt;
An [https://github.com/echelon/laser-asteroids &amp;quot;Asteroids&amp;quot;-variant game from Brandon Thomas (Echelon) on GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Laser Hexagon ===&lt;br /&gt;
[http://www.tmplab.org/2015/01/30/hexagon-lazer-laser-game/ Video preview here (work in progress)].&lt;br /&gt;
&lt;br /&gt;
For more info, see [[Laser_Hexagon|project page]].&lt;br /&gt;
&lt;br /&gt;
=== Laser Pinball ===&lt;br /&gt;
&lt;br /&gt;
Work in progress.&lt;br /&gt;
&lt;br /&gt;
2D physic for example by pymunk&lt;br /&gt;
[[Laser_Pinball]]&lt;br /&gt;
&lt;br /&gt;
== Conversion from svg to ild file format ==&lt;br /&gt;
&lt;br /&gt;
* Use inkscape to create shapes, text,..&lt;br /&gt;
* Use convert &amp;quot;object to path&amp;quot;.&lt;br /&gt;
* Select on each letter, apply &amp;quot;simplify&amp;quot;&lt;br /&gt;
* svg2ild.py that can be found on github by marcan or search for clakoscrew.&lt;br /&gt;
* python svg2ild.py -q svgfile.scg ildfile.ild&lt;br /&gt;
&lt;br /&gt;
Reminder :&lt;br /&gt;
&lt;br /&gt;
* with &amp;quot;simplify&amp;quot;, there is no &amp;quot;q&amp;quot; command in created svg path, that generate an error with svg2ild.py&lt;br /&gt;
* todo : debug svg2ild.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exporting from INKSCAPE ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Save as HPGL&lt;br /&gt;
* Regexp :&lt;br /&gt;
&lt;br /&gt;
  #!/usr/bin/python&lt;br /&gt;
  import sys&lt;br /&gt;
  import re&lt;br /&gt;
  source = sys.argv[1]&lt;br /&gt;
  content = file( source ).read()&lt;br /&gt;
  L = []&lt;br /&gt;
  L.append([&amp;quot;;&amp;quot;,&amp;quot;\n&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;^IN&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PU.*&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PD&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  for pattern, replace in L :&lt;br /&gt;
      content = re.sub( pattern, replace, content)&lt;br /&gt;
  parsed = re.split(&amp;quot;\n&amp;quot;, content)&lt;br /&gt;
  tmp = []&lt;br /&gt;
  out = []&lt;br /&gt;
  MaxX = -9999999999999999&lt;br /&gt;
  MaxY = -9999999999999999&lt;br /&gt;
  MinX = 999999999999999&lt;br /&gt;
  MinY = 999999999999999&lt;br /&gt;
  first = None &lt;br /&gt;
  for line in parsed:&lt;br /&gt;
    if line == &amp;quot;&amp;quot; :&lt;br /&gt;
      continue&lt;br /&gt;
    tup = re.split(',',line)&lt;br /&gt;
    if len(tup) &amp;lt; 2 : continue&lt;br /&gt;
    x = int( ( int( tup[0] )) )&lt;br /&gt;
    y = int( ( int( tup[1] )) )&lt;br /&gt;
    MinX = x if x &amp;lt; MinX else MinX&lt;br /&gt;
    MaxX = x if x &amp;gt; MaxX else MaxX&lt;br /&gt;
    MinY = y if y &amp;lt; MinY else MinY&lt;br /&gt;
    MaxY = y if y &amp;gt; MaxY else MaxY&lt;br /&gt;
    tmp.append([x,y])&lt;br /&gt;
    if( first == None ):&lt;br /&gt;
        first = [x,y]&lt;br /&gt;
  tmp.append( first )&lt;br /&gt;
  moveX = ( MaxX + MinX ) / 2 &lt;br /&gt;
  moveY = (  MaxY + MinY ) / 2 &lt;br /&gt;
  for x,y in tmp:&lt;br /&gt;
      newX = x - moveX&lt;br /&gt;
      newY = y - moveY&lt;br /&gt;
      out.append( [ newX, newY ] )&lt;br /&gt;
  print out&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
* From : &lt;br /&gt;
  IN;SP1;PU778,2039;PD841,1858;PD908,2041;PU799,1983;PD887,1982;PU;&lt;br /&gt;
* To : &lt;br /&gt;
  [[[778,2039],[841,1858],[908,2041]],[[799,1983],[887,1982]]]&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6248</id>
		<title>Interactive lasers</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=6248"/>
				<updated>2020-09-18T07:01:53Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Warnings ==&lt;br /&gt;
&lt;br /&gt;
'''Don't be stupid : LASERS ARE DANGEROUS.'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''You  must comply to your local laws.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For introduction to laser safety, a great video : 31C3 Safer playing with lasers : [http://https://media.ccc.de/v/31c3_-_6131_-_en_-_saal_1_-_201412281600_-_safer_playing_with_lasers_-_sarah#t=359 here]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For complete training (not free) [https://www.lia.org/training/non-medical LIA]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== /team/laser ==&lt;br /&gt;
&lt;br /&gt;
The laser group at /tmp/lab is known as /team/laser. [http://www.teamlaser.tk http://www.teamlaser.tk]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/tmpbci/LJ LJ] is a laser framework and server for up to 4 ILDA lasers/etherdreams. You get : easy DIY plugins, alignement, monitoring,...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The main idea is to add interactivity to &amp;quot;leisure&amp;quot; lasers. i.e with a gamepad one can play to old style vector games on city buildings. Again you must have control on anything in front of laser light. See picture at bottom.&lt;br /&gt;
&lt;br /&gt;
Different levels of complexity are possible. Commercial lasers uses ilda files/connections to draw whatever you want, but you can build your own, see hardware section.&lt;br /&gt;
&lt;br /&gt;
* The very fast and easy plan is to switch ilda scenes according to some inputs. You can use already made ilda files (see download section) in a SDcard plugged inside the laser fixture and use DMX protocol to switch. DMX usb cards are cheap, usually we use enttec ones. DMX controlled lasers are cheaper but quite limited to ilda files.&lt;br /&gt;
* If the plan is too draw live, it depends on the laser fixture DIY or commercial. Lot of possibilities depending on the number of colors, from using an arduino, a 5.1 USB soundcard, up to use commercials (opensource) cards using the standarts ilda connect ports.&lt;br /&gt;
* In any way, such lasers must feature X- and Y-scanners (i.e. galvanometer-moved mirrors) in order to position the beam accurately&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Obviously there is DIY Lasers and commercial ones and there is a bunch of cards integrating some DACs to talk to the laser fixture. &amp;lt;br&amp;gt;&lt;br /&gt;
A great forum for bootstrap your project is [http://laserfreak.net/forum/index.php laser freak] that comes in different langages. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We play with two different setups :&lt;br /&gt;
&lt;br /&gt;
* a green DIY laser made at [http://blog.blackboxe.org/?m=201407&amp;amp;lang=en la Blackboxe] with a [http://www.macpod.net/electronics/lasershark/lasershark.php lasershark] USB DAC card.&lt;br /&gt;
* an ilda DB25 ports RGB commercial laser for clubs  with an [http://ether-dream.com/ Etherdream] USB DAC card.&lt;br /&gt;
&lt;br /&gt;
=== Commercial Lasers ===&lt;br /&gt;
*&lt;br /&gt;
'''Warning !''' Not all lasers can draw anything ! Only the ones featuring scanners (i.e. galvanometer-moved mirrors) for the X- and Y-axes can do it (unlike the cheapest ones, which only draw random patterns).&lt;br /&gt;
&lt;br /&gt;
On commercial lasers, the standard way to drive the beam is the [http://laserfx.com/Backstage.LaserFX.com/Systems/Pinouts9.html DB25-connector-based ILDA interface] (source : laserfx.com). It is based on analog differential control signals.&lt;br /&gt;
&lt;br /&gt;
Therefore you'll need some external hardware capable of outputting such signals, be it standalone or controlled by a host computer. Such hardware is usually named concisely &amp;quot;DAC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DIY Lasers ===&lt;br /&gt;
&lt;br /&gt;
[http://elm-chan.org/works/vlp/report_e.html] : a DIY laser projector made from scratch.&lt;br /&gt;
&lt;br /&gt;
Even the galvanometers are home-built !&lt;br /&gt;
&lt;br /&gt;
In particular, there is a detailed study of the design of the galvanometers' servo loop control : galvanometers feature inertia like any mechanical devices, and achieving fast and accurate moves requires to &amp;quot;compensate&amp;quot; the galvanometers' drive signals with respect to their sensed position.&lt;br /&gt;
&lt;br /&gt;
=== Control boxes : DAC ===&lt;br /&gt;
&lt;br /&gt;
==== [http://macpod.net/electronics/lasershark/lasershark.php Lasershark] ====&lt;br /&gt;
&lt;br /&gt;
* One color only&lt;br /&gt;
* to be used with [https://github.com/marcan/openlase/wiki openlase]&lt;br /&gt;
* USB&lt;br /&gt;
&lt;br /&gt;
==== [http://ether-dream.com/ Ether-dream] ====&lt;br /&gt;
&lt;br /&gt;
* This is an ILDA control box which can either work as standalone (displaying a sequence of ILDA scenes tored internally or on an SD-card) or receive IP frames for driving the beam.&lt;br /&gt;
* RGB capable&lt;br /&gt;
* RJ45 : The ether dream is directly tcp/IP controlled, so you can imagine very cool projects with very easy setup and of course the programming langage you prefer.&lt;br /&gt;
* The firmware is open-source (but what about the hardware ?)&lt;br /&gt;
* In depth protocol page kind of hidden [http://ether-dream.com/protocol.html]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Laser Asteroids ===&lt;br /&gt;
[[Image:Laser.png]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=5XTi-jf-ans (YouTube video here)]&lt;br /&gt;
&lt;br /&gt;
An [https://github.com/echelon/laser-asteroids &amp;quot;Asteroids&amp;quot;-variant game from Brandon Thomas (Echelon) on GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Laser Hexagon ===&lt;br /&gt;
[http://www.tmplab.org/2015/01/30/hexagon-lazer-laser-game/ Video preview here (work in progress)].&lt;br /&gt;
&lt;br /&gt;
For more info, see [[Laser_Hexagon|project page]].&lt;br /&gt;
&lt;br /&gt;
=== Laser Pinball ===&lt;br /&gt;
&lt;br /&gt;
Work in progress.&lt;br /&gt;
&lt;br /&gt;
2D physic for example by pymunk&lt;br /&gt;
[[Laser_Pinball]]&lt;br /&gt;
&lt;br /&gt;
== Conversion from svg to ild file format ==&lt;br /&gt;
&lt;br /&gt;
* Use inkscape to create shapes, text,..&lt;br /&gt;
* Use convert &amp;quot;object to path&amp;quot;.&lt;br /&gt;
* Select on each letter, apply &amp;quot;simplify&amp;quot;&lt;br /&gt;
* svg2ild.py that can be found on github by marcan or search for clakoscrew.&lt;br /&gt;
* python svg2ild.py -q svgfile.scg ildfile.ild&lt;br /&gt;
&lt;br /&gt;
Reminder :&lt;br /&gt;
&lt;br /&gt;
* with &amp;quot;simplify&amp;quot;, there is no &amp;quot;q&amp;quot; command in created svg path, that generate an error with svg2ild.py&lt;br /&gt;
* todo : debug svg2ild.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exporting from INKSCAPE ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Save as HPGL&lt;br /&gt;
* Regexp :&lt;br /&gt;
&lt;br /&gt;
  #!/usr/bin/python&lt;br /&gt;
  import sys&lt;br /&gt;
  import re&lt;br /&gt;
  source = sys.argv[1]&lt;br /&gt;
  content = file( source ).read()&lt;br /&gt;
  L = []&lt;br /&gt;
  L.append([&amp;quot;;&amp;quot;,&amp;quot;\n&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;^IN&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PU.*&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  L.append([&amp;quot;PD&amp;quot;,&amp;quot;&amp;quot;])&lt;br /&gt;
  for pattern, replace in L :&lt;br /&gt;
      content = re.sub( pattern, replace, content)&lt;br /&gt;
  parsed = re.split(&amp;quot;\n&amp;quot;, content)&lt;br /&gt;
  tmp = []&lt;br /&gt;
  out = []&lt;br /&gt;
  MaxX = -9999999999999999&lt;br /&gt;
  MaxY = -9999999999999999&lt;br /&gt;
  MinX = 999999999999999&lt;br /&gt;
  MinY = 999999999999999&lt;br /&gt;
  first = None &lt;br /&gt;
  for line in parsed:&lt;br /&gt;
    if line == &amp;quot;&amp;quot; :&lt;br /&gt;
      continue&lt;br /&gt;
    tup = re.split(',',line)&lt;br /&gt;
    if len(tup) &amp;lt; 2 : continue&lt;br /&gt;
    x = int( ( int( tup[0] )) )&lt;br /&gt;
    y = int( ( int( tup[1] )) )&lt;br /&gt;
    MinX = x if x &amp;lt; MinX else MinX&lt;br /&gt;
    MaxX = x if x &amp;gt; MaxX else MaxX&lt;br /&gt;
    MinY = y if y &amp;lt; MinY else MinY&lt;br /&gt;
    MaxY = y if y &amp;gt; MaxY else MaxY&lt;br /&gt;
    tmp.append([x,y])&lt;br /&gt;
    if( first == None ):&lt;br /&gt;
        first = [x,y]&lt;br /&gt;
  tmp.append( first )&lt;br /&gt;
  moveX = ( MaxX + MinX ) / 2 &lt;br /&gt;
  moveY = (  MaxY + MinY ) / 2 &lt;br /&gt;
  for x,y in tmp:&lt;br /&gt;
      newX = x - moveX&lt;br /&gt;
      newY = y - moveY&lt;br /&gt;
      out.append( [ newX, newY ] )&lt;br /&gt;
  print out&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
* From : &lt;br /&gt;
  IN;SP1;PU778,2039;PD841,1858;PD908,2041;PU799,1983;PD887,1982;PU;&lt;br /&gt;
* To : &lt;br /&gt;
  [[[778,2039],[841,1858],[908,2041]],[[799,1983],[887,1982]]]&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6097</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6097"/>
				<updated>2016-11-13T23:40:34Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* RING set mode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee (6 £) and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto or a web interface, try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Depending on your computer select the right serial port like : /dev/ttyUSB0, /dev/tty.usbserial (type ls /dev/ in a terminal)&lt;br /&gt;
* Setup 19200 baud and default 0D 0A line feed is fine. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
* Repository for python style : [https://github.com/tmpbci/satmessenger here]&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1 &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;, &amp;lt;RING Alert flag&amp;gt;, &amp;lt;msg waiting&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
&lt;br /&gt;
== Lock status ==&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection to satellite ==&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection and transfer either way ==&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
== RING set mode ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA=0 off&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDMTA=1 on&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
See down bellow a better way to use RING.&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
== MT and how to use RING ==&lt;br /&gt;
* AT+SBDSX gives if RING Alert is set because MT message(s) is waiting&lt;br /&gt;
* If any, transfer it from space to MT Buffer with AT+SBDIX (todo test if mt queued is valid in modem answer). RING will be set to 0 even if more messages are waiting.&lt;br /&gt;
* Read it from MT buffer and ask AT+SBDSX for waiting messages.&lt;br /&gt;
* If any : loop ask for transfer, read from MT buffer.&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6096</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6096"/>
				<updated>2016-11-13T15:58:45Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* MT and how to use RING */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee (6 £) and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto or a web interface, try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Depending on your computer select the right serial port like : /dev/ttyUSB0, /dev/tty.usbserial (type ls /dev/ in a terminal)&lt;br /&gt;
* Setup 19200 baud and default 0D 0A line feed is fine. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
* Repository for python style : [https://github.com/tmpbci/satmessenger here]&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1 &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;, &amp;lt;RING Alert flag&amp;gt;, &amp;lt;msg waiting&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
&lt;br /&gt;
== Lock status ==&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection to satellite ==&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection and transfer either way ==&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
== RING set mode ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA=0 off&lt;br /&gt;
AT+SBDMTA=1 on&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
See down bellow a better way to use RING.&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
== MT and how to use RING ==&lt;br /&gt;
* AT+SBDSX gives if RING Alert is set because MT message(s) is waiting&lt;br /&gt;
* If any, transfer it from space to MT Buffer with AT+SBDIX (todo test if mt queued is valid in modem answer). RING will be set to 0 even if more messages are waiting.&lt;br /&gt;
* Read it from MT buffer and ask AT+SBDSX for waiting messages.&lt;br /&gt;
* If any : loop ask for transfer, read from MT buffer.&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6095</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6095"/>
				<updated>2016-11-13T15:56:43Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* MT and how to use RING */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee (6 £) and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto or a web interface, try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Depending on your computer select the right serial port like : /dev/ttyUSB0, /dev/tty.usbserial (type ls /dev/ in a terminal)&lt;br /&gt;
* Setup 19200 baud and default 0D 0A line feed is fine. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
* Repository for python style : [https://github.com/tmpbci/satmessenger here]&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1 &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;, &amp;lt;RING Alert flag&amp;gt;, &amp;lt;msg waiting&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
&lt;br /&gt;
== Lock status ==&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection to satellite ==&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection and transfer either way ==&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
== RING set mode ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA=0 off&lt;br /&gt;
AT+SBDMTA=1 on&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
See down bellow a better way to use RING.&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
== MT and how to use RING ==&lt;br /&gt;
* AT+SBDSX gives if RING Alert is set because MT message(s) is waiting&lt;br /&gt;
* If any, transfer it from space to MT Buffer with AT+SBDIX (todo test if mt queued is valid in modem answer). RING will be set to 0 even if more messages are waiting.&lt;br /&gt;
* Read it from MT buffer and ask AT+SBDSX for waiting messages.&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6094</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6094"/>
				<updated>2016-11-13T15:56:05Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* MT and how to use RING */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee (6 £) and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto or a web interface, try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Depending on your computer select the right serial port like : /dev/ttyUSB0, /dev/tty.usbserial (type ls /dev/ in a terminal)&lt;br /&gt;
* Setup 19200 baud and default 0D 0A line feed is fine. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
* Repository for python style : [https://github.com/tmpbci/satmessenger here]&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1 &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;, &amp;lt;RING Alert flag&amp;gt;, &amp;lt;msg waiting&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
&lt;br /&gt;
== Lock status ==&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection to satellite ==&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection and transfer either way ==&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
== RING set mode ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA=0 off&lt;br /&gt;
AT+SBDMTA=1 on&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
See down bellow a better way to use RING.&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
== MT and how to use RING ==&lt;br /&gt;
* AT+SBDSX gives if a RING Alert is set because a MT message is waiting&lt;br /&gt;
* If any, transfer it from space to MT Buffer with AT+SBDIX (todo test if mt queued is valid in modem answer). RING will be set to 0 even if more messages are waiting.&lt;br /&gt;
* Read it from MT buffer and ask AT+SBDSX for waiting messages.&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6093</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6093"/>
				<updated>2016-11-13T15:53:37Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee (6 £) and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto or a web interface, try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Depending on your computer select the right serial port like : /dev/ttyUSB0, /dev/tty.usbserial (type ls /dev/ in a terminal)&lt;br /&gt;
* Setup 19200 baud and default 0D 0A line feed is fine. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
* Repository for python style : [https://github.com/tmpbci/satmessenger here]&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1 &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;, &amp;lt;RING Alert flag&amp;gt;, &amp;lt;msg waiting&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
&lt;br /&gt;
== Lock status ==&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection to satellite ==&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection and transfer either way ==&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
== RING set mode ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA=0 off&lt;br /&gt;
AT+SBDMTA=1 on&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
See down bellow a better way to use RING.&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
== MT and how to use RING ==&lt;br /&gt;
* AT+SBDSX gives if a RING Alert is set because a MT message is waiting&lt;br /&gt;
* If any, transfer it from space to MT Buffer with AT+SBDIX&lt;br /&gt;
* Read it from MT buffer and ask again &lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6092</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6092"/>
				<updated>2016-11-13T15:46:13Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee (6 £) and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto or a web interface, try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Depending on your computer select the right serial port like : /dev/ttyUSB0, /dev/tty.usbserial (type ls /dev/ in a terminal)&lt;br /&gt;
* Setup 19200 baud and default 0D 0A line feed is fine. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
* Repository for python style : [https://github.com/tmpbci/satmessenger here]&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1 &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;, &amp;lt;RING Alert flag&amp;gt;, &amp;lt;msg waiting&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
&lt;br /&gt;
== Lock status ==&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection to satellite ==&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 +SBDI:&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection and transfer either way ==&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
== RING set mode ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA=0 off&lt;br /&gt;
AT+SBDMTA=1 on&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
See down bellow a better way to use RING.&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6091</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6091"/>
				<updated>2016-11-13T15:45:37Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee (6 £) and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto or a web interface, try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Depending on your computer select the right serial port like : /dev/ttyUSB0, /dev/tty.usbserial (type ls /dev/ in a terminal)&lt;br /&gt;
* Setup 19200 baud and default 0D 0A line feed is fine. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
* Repository for python style : [https://github.com/tmpbci/satmessenger here]&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1 &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;, &amp;lt;RING Alert flag&amp;gt;, &amp;lt;msg waiting&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
&lt;br /&gt;
== Lock status ==&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection to satellite ==&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 +SBDI:&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection and transfer either way ==&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
== RING set mode ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA=0 off&lt;br /&gt;
AT+SBDMTA=1 on&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
See down bellow a better way to use RING.&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RING set mode ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA=0 off&lt;br /&gt;
AT+SBDMTA=1 on&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6090</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6090"/>
				<updated>2016-11-13T15:45:01Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee (6 £) and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto or a web interface, try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Depending on your computer select the right serial port like : /dev/ttyUSB0, /dev/tty.usbserial (type ls /dev/ in a terminal)&lt;br /&gt;
* Setup 19200 baud and default 0D 0A line feed is fine. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
* Repository for python style : [https://github.com/tmpbci/satmessenger here]&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1 &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;, &amp;lt;RING Alert flag&amp;gt;, &amp;lt;msg waiting&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
&lt;br /&gt;
== Lock status ==&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection to satellite ==&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 +SBDI:&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection and transfer either way ==&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
== RING set mode ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA=0 off&lt;br /&gt;
AT+SBDMTA=1 on&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
See down bellow a better way to use RING.&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RING set mode ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA=0 off&lt;br /&gt;
AT+SBDMTA=1 on&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
See down bellow a better way to use RING.&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6089</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6089"/>
				<updated>2016-11-13T15:42:59Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee (6 £) and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto or a web interface, try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Depending on your computer select the right serial port like : /dev/ttyUSB0, /dev/tty.usbserial (type ls /dev/ in a terminal)&lt;br /&gt;
* Setup 19200 baud and default 0D 0A line feed is fine. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
* Repository for python style : [https://github.com/tmpbci/satmessenger here]&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MT and how to use RING ==&lt;br /&gt;
&lt;br /&gt;
After registration :&lt;br /&gt;
* AT+SBDSX gives if the RING is set, but the number of waiting messages are unknown &lt;br /&gt;
* With a SBDIX command, one can get the first waiting message transfered from space to MT buffer and will set the RING to 0 &lt;br /&gt;
* The message text in MT buffer can be read with AT+SBDRT&lt;br /&gt;
* A new AT+SBDSX gives the number of still waiting messages. If any, again : ask for transfer in MT buffer and read it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1 &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;, &amp;lt;RING Alert flag&amp;gt;, &amp;lt;msg waiting&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
&lt;br /&gt;
== Lock status ==&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection to satellite ==&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 +SBDI:&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection and transfer either way ==&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
== RING set mode ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA=0 off&lt;br /&gt;
AT+SBDMTA=1 on&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
See down bellow a better way to use RING.&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6088</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6088"/>
				<updated>2016-11-13T15:41:47Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee (6 £) and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto or a web interface, try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Depending on your computer select the right serial port like : /dev/ttyUSB0, /dev/tty.usbserial (type ls /dev/ in a terminal)&lt;br /&gt;
* Setup 19200 baud and default 0D 0A line feed is fine. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
* Repository for python style : [https://github.com/tmpbci/satmessenger here]&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MT and how to use RING ==&lt;br /&gt;
&lt;br /&gt;
After registration :&lt;br /&gt;
* AT+SBDSX gives if the RING is set, but the number of waiting messages are unknown &lt;br /&gt;
* With a SBDIX command, one can get the first waiting message transfered from space to MT buffer and will set the RING to 0 &lt;br /&gt;
* The message text in MT buffer can be read with AT+SBDRT&lt;br /&gt;
* A new AT+SBDSX gives the number of still waiting messages. If any, again : ask for transfer in MT buffer and read it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RING set mode ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA=0 off&lt;br /&gt;
AT+SBDMTA=1 on&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
See down bellow a better way to use RING.&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1 &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;, &amp;lt;RING Alert flag&amp;gt;, &amp;lt;msg waiting&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
&lt;br /&gt;
== Lock status ==&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection to satellite ==&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 +SBDI:&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection and transfer either way ==&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6087</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6087"/>
				<updated>2016-11-13T15:41:17Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee (6 £) and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto or a web interface, try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Depending on your computer select the right serial port like : /dev/ttyUSB0, /dev/tty.usbserial (type ls /dev/ in a terminal)&lt;br /&gt;
* Setup 19200 baud and default 0D 0A line feed is fine. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
* Repository for python style : [https://github.com/tmpbci/satmessenger here]&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MT and how to use RING ==&lt;br /&gt;
&lt;br /&gt;
After registration :&lt;br /&gt;
* AT+SBDSX gives if the RING is set, but the number of waiting messages are unknown &lt;br /&gt;
* With a SBDIX command, one can get the first waiting message transfered from space to MT buffer and will set the RING to 0 &lt;br /&gt;
* The message text in MT buffer can be read with AT+SBDRT&lt;br /&gt;
* A new AT+SBDSX gives the number of still waiting messages. If any, again : ask for transfer in MT buffer and read it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RING set mode ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA=0 off&lt;br /&gt;
AT+SBDMTA=1 on&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
See down bellow a better way to use RING.&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1 &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 &amp;lt;MO flag&amp;gt;, &amp;lt;MOMSN&amp;gt;, &amp;lt;MT flag&amp;gt;, &amp;lt;MTMSN&amp;gt;, &amp;lt;RING Alert flag&amp;gt;, &amp;lt;msg waiting&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
&lt;br /&gt;
== Lock status ==&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection to satellite ==&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 +SBDI:&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection and transfer either way ==&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6086</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6086"/>
				<updated>2016-11-13T15:36:58Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee (6 £) and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto or a web interface, try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Depending on your computer select the right serial port like : /dev/ttyUSB0, /dev/tty.usbserial (type ls /dev/ in a terminal)&lt;br /&gt;
* Setup 19200 baud and default 0D 0A line feed is fine. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
* Repository for python style : [https://github.com/tmpbci/satmessenger here]&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MT and how to use RING ==&lt;br /&gt;
&lt;br /&gt;
After registration :&lt;br /&gt;
* AT+SBDSX gives if the RING is set, but the number of waiting messages are unknown &lt;br /&gt;
* With a SBDI command, one can get the first waiting message transfered from space to MT buffer and will set the RING to 0 &lt;br /&gt;
* The message text in MT buffer can be read with AT+SBDRT&lt;br /&gt;
* A new AT+SBDSX gives the number of still waiting messages. If any, again : ask for transfer in MT buffer and read it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RING set mode ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA=0 off&lt;br /&gt;
AT+SBDMTA=1 on&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
See down bellow a better way to use RING.&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
&lt;br /&gt;
== Lock status ==&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection to satellite ==&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 +SBDI:&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection and transfer either way ==&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6085</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6085"/>
				<updated>2016-11-13T15:36:32Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee (6 £) and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto or a web interface, try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Depending on your computer select the right serial port like : /dev/ttyUSB0, /dev/tty.usbserial (type ls /dev/ in a terminal)&lt;br /&gt;
* Setup 19200 baud and default 0D 0A line feed is fine. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
* Repository for python style : [https://github.com/tmpbci/satmessenger here]&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MT and how to use RING =&lt;br /&gt;
&lt;br /&gt;
After registration :&lt;br /&gt;
* AT+SBDSX gives if the RING is set, but the number of waiting messages are unknown &lt;br /&gt;
* With a SBDI command, one can get the first waiting message transfered from space to MT buffer and will set the RING to 0 &lt;br /&gt;
* The message text in MT buffer can be read with AT+SBDRT&lt;br /&gt;
* A new AT+SBDSX gives the number of still waiting messages. If any, again : ask for transfer in MT buffer and read it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RING set mode ==&lt;br /&gt;
&lt;br /&gt;
AT+SBDMTA=0 off&lt;br /&gt;
AT+SBDMTA=1 on&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
See down bellow a better way to use RING.&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
&lt;br /&gt;
== Lock status ==&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection to satellite ==&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 +SBDI:&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection and transfer either way ==&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6084</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6084"/>
				<updated>2016-09-11T14:28:55Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee (6 £) and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto or a web interface, try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Depending on your computer select the right serial port like : /dev/ttyUSB0, /dev/tty.usbserial (type ls /dev/ in a terminal)&lt;br /&gt;
* Setup 19200 baud and default 0D 0A line feed is fine. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
* Repository for python style : [https://github.com/tmpbci/satmessenger here]&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
&lt;br /&gt;
== Lock status ==&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection to satellite ==&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 +SBDI:&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection and transfer either way ==&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6083</id>
		<title>Sat Messenger / RBS</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6083"/>
				<updated>2016-09-11T14:27:12Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Sat Messenger */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Work in progress&lt;br /&gt;
&lt;br /&gt;
== What ? ==&lt;br /&gt;
&lt;br /&gt;
* It's *cheap* and *encrypted* short message gateway : email/web &amp;lt;- iridium constellation -&amp;gt; Somewhere on earth&lt;br /&gt;
* Each 50 character long messages can be 0.05 euros. Remember the SMS at the beginning ?&lt;br /&gt;
* Sat messenger is the satellite part of RBS project : &amp;quot;Recovery Base Station&amp;quot;, a cheaper and encrypted version of University of Berkeley [http://kurti.sh/pubs/rbs-dev14.pdf &amp;quot;Rescue Base Station&amp;quot;].&lt;br /&gt;
* There is a info website about this [http://www.satmessenger.org project] to speed up recovery after a major event like earthquake, tsnumai where no available communication/power infrastructure are running.&lt;br /&gt;
* This project provides everything in a local Web interface. If you want to learn how to do it roughly follow explanations at [[raw sat]]&lt;br /&gt;
* Code has many flavors with or without crypto, command line, web UI,... Soon on github&lt;br /&gt;
&lt;br /&gt;
== Sat Messenger ==&lt;br /&gt;
&lt;br /&gt;
* Messages follow a predefined format : destinationemail text. Like : foo@bar.com I'm fine&lt;br /&gt;
* &amp;quot;API&amp;quot; refers to rock7 API.&lt;br /&gt;
* Repository : [https://github.com/tmpbci/satmessenger here]&lt;br /&gt;
&lt;br /&gt;
=== Somewhere to Internet via sat ===&lt;br /&gt;
&lt;br /&gt;
Sending a message from somewhere, is called &amp;quot;Mobile Originated&amp;quot; (MO).&lt;br /&gt;
Different possibilities are available for the &amp;quot;computer&amp;quot; connected to the sat modem. &lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Once satellite constellation have forwarded the text to the ground, the API can send the text to an email or to a http POST server. Obviously sending directly to destination email defeat the purpose of privacy. So the &amp;quot;Mainserver&amp;quot; code can receive the API http POST, decrypt and email the text to destination. (python + twisted)&lt;br /&gt;
&lt;br /&gt;
=== Internet to somewhere via sat ===&lt;br /&gt;
&lt;br /&gt;
It's the &amp;quot;Mobile Terminated case (MT). These programs make the http POST connection to the API&lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* rock7 website, but with no encryption.&lt;br /&gt;
&lt;br /&gt;
Like voicemails, to receive messages, one need to start a connection to satellite, ask for queued message and get them one by one.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* This project is based on &amp;quot;Short Burst Data&amp;quot; (&amp;quot;SBD&amp;quot;), text messages with a Iridium 9602 Modem + antenna.&lt;br /&gt;
* All in one version (antenna, modem) can be found at rock7.com. We own a [http://www.rock7.com/products-rockblock-plus Rockblock +]&lt;br /&gt;
* We chose the Rockblock +, because of rugged, waterproof and wide alimentation choices (9-30V DC). It can run on a 9V battery, 12V car battery / sun panel,...&lt;br /&gt;
* Basic soldering skills are needed, no custom PCB here, yet.&lt;br /&gt;
&lt;br /&gt;
=== Computer version ===&lt;br /&gt;
&lt;br /&gt;
* USB RS232 serial DB9 adapter.&lt;br /&gt;
* A computer&lt;br /&gt;
&lt;br /&gt;
=== Embeded version ===&lt;br /&gt;
&lt;br /&gt;
* Any Raspberry Pi 1 +&lt;br /&gt;
* tplink 703N to provide wifi (but gl.inet is a better choice now)&lt;br /&gt;
* a 12V to 5V converter.&lt;br /&gt;
* USB RS232 serial DB9 adapter.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
* rock7 documentation is sometimes wrong. i.e serrial communication with the modem use actually the standart 0D 0A end of line.&lt;br /&gt;
* [http://www.makersnake.com/rockblock/ makersnake] [https://github.com/MakerSnake/pyRockBlock library] is a great start for the python way. Altough some URL has changed and some script are not complete. Most of our end user code is heavily based on the awesome works makersnake published. Many commands have been added to the original makersnake Rockblock.py.&lt;br /&gt;
&lt;br /&gt;
=== Crypto ===&lt;br /&gt;
&lt;br /&gt;
* Iridium SBD Messages are transmitted as is. So if you type clear text, it will be transmitted in... clear text. That's really sucks.&lt;br /&gt;
* In the RBS scenario, because a major event (earthquake,...), there is no possible communication other than the previous sat messages. We use some short stream ciphers and hash functions.&lt;br /&gt;
* To reduce cost, a specific encryption is used through the satellite infrastructure part. Of course, one can add final destinatio PGP to our code. &lt;br /&gt;
* There is probably better choice, but the goal was to encrypt, we welcome crypto experts to improve this part.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6082</id>
		<title>Sat Messenger / RBS</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6082"/>
				<updated>2016-09-08T09:47:51Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Work in progress&lt;br /&gt;
&lt;br /&gt;
== What ? ==&lt;br /&gt;
&lt;br /&gt;
* It's *cheap* and *encrypted* short message gateway : email/web &amp;lt;- iridium constellation -&amp;gt; Somewhere on earth&lt;br /&gt;
* Each 50 character long messages can be 0.05 euros. Remember the SMS at the beginning ?&lt;br /&gt;
* Sat messenger is the satellite part of RBS project : &amp;quot;Recovery Base Station&amp;quot;, a cheaper and encrypted version of University of Berkeley [http://kurti.sh/pubs/rbs-dev14.pdf &amp;quot;Rescue Base Station&amp;quot;].&lt;br /&gt;
* There is a info website about this [http://www.satmessenger.org project] to speed up recovery after a major event like earthquake, tsnumai where no available communication/power infrastructure are running.&lt;br /&gt;
* This project provides everything in a local Web interface. If you want to learn how to do it roughly follow explanations at [[raw sat]]&lt;br /&gt;
* Code has many flavors with or without crypto, command line, web UI,... Soon on github&lt;br /&gt;
&lt;br /&gt;
== Sat Messenger ==&lt;br /&gt;
&lt;br /&gt;
* Messages follow a predefined format : destinationemail text. Like : foo@bar.com I'm fine&lt;br /&gt;
* &amp;quot;API&amp;quot; refers to rock7 API.&lt;br /&gt;
&lt;br /&gt;
=== Somewhere to Internet via sat ===&lt;br /&gt;
&lt;br /&gt;
Sending a message from somewhere, is called &amp;quot;Mobile Originated&amp;quot; (MO).&lt;br /&gt;
Different possibilities are available for the &amp;quot;computer&amp;quot; connected to the sat modem. &lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Once satellite constellation have forwarded the text to the ground, the API can send the text to an email or to a http POST server. Obviously sending directly to destination email defeat the purpose of privacy. So the &amp;quot;Mainserver&amp;quot; code can receive the API http POST, decrypt and email the text to destination. (python + twisted)&lt;br /&gt;
&lt;br /&gt;
=== Internet to somewhere via sat ===&lt;br /&gt;
&lt;br /&gt;
It's the &amp;quot;Mobile Terminated case (MT). These programs make the http POST connection to the API&lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* rock7 website, but with no encryption.&lt;br /&gt;
&lt;br /&gt;
Like voicemails, to receive messages, one need to start a connection to satellite, ask for queued message and get them one by one.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* This project is based on &amp;quot;Short Burst Data&amp;quot; (&amp;quot;SBD&amp;quot;), text messages with a Iridium 9602 Modem + antenna.&lt;br /&gt;
* All in one version (antenna, modem) can be found at rock7.com. We own a [http://www.rock7.com/products-rockblock-plus Rockblock +]&lt;br /&gt;
* We chose the Rockblock +, because of rugged, waterproof and wide alimentation choices (9-30V DC). It can run on a 9V battery, 12V car battery / sun panel,...&lt;br /&gt;
* Basic soldering skills are needed, no custom PCB here, yet.&lt;br /&gt;
&lt;br /&gt;
=== Computer version ===&lt;br /&gt;
&lt;br /&gt;
* USB RS232 serial DB9 adapter.&lt;br /&gt;
* A computer&lt;br /&gt;
&lt;br /&gt;
=== Embeded version ===&lt;br /&gt;
&lt;br /&gt;
* Any Raspberry Pi 1 +&lt;br /&gt;
* tplink 703N to provide wifi (but gl.inet is a better choice now)&lt;br /&gt;
* a 12V to 5V converter.&lt;br /&gt;
* USB RS232 serial DB9 adapter.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
* rock7 documentation is sometimes wrong. i.e serrial communication with the modem use actually the standart 0D 0A end of line.&lt;br /&gt;
* [http://www.makersnake.com/rockblock/ makersnake] [https://github.com/MakerSnake/pyRockBlock library] is a great start for the python way. Altough some URL has changed and some script are not complete. Most of our end user code is heavily based on the awesome works makersnake published. Many commands have been added to the original makersnake Rockblock.py.&lt;br /&gt;
&lt;br /&gt;
=== Crypto ===&lt;br /&gt;
&lt;br /&gt;
* Iridium SBD Messages are transmitted as is. So if you type clear text, it will be transmitted in... clear text. That's really sucks.&lt;br /&gt;
* In the RBS scenario, because a major event (earthquake,...), there is no possible communication other than the previous sat messages. We use some short stream ciphers and hash functions.&lt;br /&gt;
* To reduce cost, a specific encryption is used through the satellite infrastructure part. Of course, one can add final destinatio PGP to our code. &lt;br /&gt;
* There is probably better choice, but the goal was to encrypt, we welcome crypto experts to improve this part.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6081</id>
		<title>Sat Messenger / RBS</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6081"/>
				<updated>2016-09-08T09:43:13Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Internet to Somewhere via sat */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Work in progress&lt;br /&gt;
&lt;br /&gt;
== What ? ==&lt;br /&gt;
&lt;br /&gt;
* It's *cheap* and *encrypted* short message gateway : email/web &amp;lt;- iridium constellation -&amp;gt; Somewhere on earth&lt;br /&gt;
* Each 50 character long messages can be 0.05 euros. Remember the SMS at the beginning ?&lt;br /&gt;
* Sat messenger is the satellite part of RBS project : &amp;quot;Recovery Base Station&amp;quot;, a cheaper and encrypted version of University of Berkeley [http://kurti.sh/pubs/rbs-dev14.pdf &amp;quot;Rescue Base Station&amp;quot;].&lt;br /&gt;
* There is a info website about this [http://www.satmessenger.org project] to speed up recovery after a major event like earthquake, tsnumai where no available communication/power infrastructure are running.&lt;br /&gt;
* This project provides everything in a local Web interface. If you want to learn how to do it roughly follow explanations at [[raw sat]]&lt;br /&gt;
* Code has many flavors with or without crypto, command line, web UI,... Soon on github&lt;br /&gt;
&lt;br /&gt;
== Sat Messenger ==&lt;br /&gt;
&lt;br /&gt;
* Messages follow a predefined format : destinationemail text. Like : foo@bar.com I'm fine&lt;br /&gt;
* &amp;quot;API&amp;quot; refers to rock7 API.&lt;br /&gt;
&lt;br /&gt;
=== Somewhere to Internet via sat ===&lt;br /&gt;
&lt;br /&gt;
Sending a message from somewhere, is called &amp;quot;Mobile Originated&amp;quot; (MO).&lt;br /&gt;
Different possibilities are available for the &amp;quot;computer&amp;quot; connected to the sat modem. &lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Once satellite constellation have forwarded the text to the ground, the API can send the text to an email or to a http POST server. Obviously sending directly to destination email defeat the purpose of privacy. So the &amp;quot;Mainserver&amp;quot; code can receive the API http POST, decrypt and email the text to destination. (python + twisted)&lt;br /&gt;
&lt;br /&gt;
=== Internet to somewhere via sat ===&lt;br /&gt;
&lt;br /&gt;
It's the &amp;quot;Mobile Terminated case (MT). These programs make the http POST connection to the API&lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* rock7 website, but with no encryption.&lt;br /&gt;
&lt;br /&gt;
Like voicemails, to receive messages, one need to start a connection to satellite, ask for queued message and get them one by one.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* This project is based on &amp;quot;Short Burst Data&amp;quot; (&amp;quot;SBD&amp;quot;), text messages with a Iridium 9602 Modem + antenna.&lt;br /&gt;
* All in one version (antenna, modem) can be found at rock7.com. We own a [http://www.rock7.com/products-rockblock-plus Rockblock +]&lt;br /&gt;
* We chose the Rockblock +, because of rugged, waterproof and wide alimentation choices (9-30V DC). It can run on a 9V battery, 12V car battery / sun panel,...&lt;br /&gt;
* Basic soldering skills are needed, no custom PCB here, yet.&lt;br /&gt;
&lt;br /&gt;
=== Computer version ===&lt;br /&gt;
&lt;br /&gt;
* USB RS232 serial DB9 adapter.&lt;br /&gt;
* A computer&lt;br /&gt;
&lt;br /&gt;
=== Embeded version ===&lt;br /&gt;
&lt;br /&gt;
* Any Raspberry Pi 1 +&lt;br /&gt;
* tplink 703N to provide wifi (but gl.inet is a better choice now)&lt;br /&gt;
* a 12V to 5V converter.&lt;br /&gt;
* USB RS232 serial DB9 adapter.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
* rock7 documentation is sometimes wrong. i.e serrial communication with the modem use actually the standart 0D 0A end of line.&lt;br /&gt;
* [http://www.makersnake.com/rockblock/ makersnake] [https://github.com/MakerSnake/pyRockBlock library] is a great start for the python way. Altough some URL has changed and some script are not complete. Most of our end user code is heavily based on the awesome works makersnake published.&lt;br /&gt;
&lt;br /&gt;
=== Crypto ===&lt;br /&gt;
&lt;br /&gt;
* Iridium SBD Messages are transmitted as is. So if you type clear text, it will be transmitted in... clear text. That's really sucks.&lt;br /&gt;
* In the RBS scenario, because a major event (earthquake,...), there is no possible communication other than the previous sat messages. We use some short stream ciphers and hash functions.&lt;br /&gt;
* To reduce cost, a specific encryption is used through the satellite infrastructure part. Of course, one can add final destinatio PGP to our code. &lt;br /&gt;
* There is probably better choice, but the goal was to encrypt, we welcome crypto experts to improve this part.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6080</id>
		<title>Sat Messenger / RBS</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6080"/>
				<updated>2016-09-08T09:40:53Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Work in progress&lt;br /&gt;
&lt;br /&gt;
== What ? ==&lt;br /&gt;
&lt;br /&gt;
* It's *cheap* and *encrypted* short message gateway : email/web &amp;lt;- iridium constellation -&amp;gt; Somewhere on earth&lt;br /&gt;
* Each 50 character long messages can be 0.05 euros. Remember the SMS at the beginning ?&lt;br /&gt;
* Sat messenger is the satellite part of RBS project : &amp;quot;Recovery Base Station&amp;quot;, a cheaper and encrypted version of University of Berkeley [http://kurti.sh/pubs/rbs-dev14.pdf &amp;quot;Rescue Base Station&amp;quot;].&lt;br /&gt;
* There is a info website about this [http://www.satmessenger.org project] to speed up recovery after a major event like earthquake, tsnumai where no available communication/power infrastructure are running.&lt;br /&gt;
* This project provides everything in a local Web interface. If you want to learn how to do it roughly follow explanations at [[raw sat]]&lt;br /&gt;
* Code has many flavors with or without crypto, command line, web UI,... Soon on github&lt;br /&gt;
&lt;br /&gt;
== Sat Messenger ==&lt;br /&gt;
&lt;br /&gt;
* Messages follow a predefined format : destinationemail text. Like : foo@bar.com I'm fine&lt;br /&gt;
* &amp;quot;API&amp;quot; refers to rock7 API.&lt;br /&gt;
&lt;br /&gt;
=== Somewhere to Internet via sat ===&lt;br /&gt;
&lt;br /&gt;
Sending a message from somewhere, is called &amp;quot;Mobile Originated&amp;quot; (MO).&lt;br /&gt;
Different possibilities are available for the &amp;quot;computer&amp;quot; connected to the sat modem. &lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Once satellite constellation have forwarded the text to the ground, the API can send the text to an email or to a http POST server. Obviously sending directly to destination email defeat the purpose of privacy. So the &amp;quot;Mainserver&amp;quot; code can receive the API http POST, decrypt and email the text to destination. (python + twisted)&lt;br /&gt;
&lt;br /&gt;
=== Internet to Somewhere via sat ===&lt;br /&gt;
&lt;br /&gt;
It's the &amp;quot;Mobile Terminated case (MT). These programs make the http POST connection to the API&lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* rock7 website, but with no encryption.&lt;br /&gt;
&lt;br /&gt;
Like voicemails, to receive messages, one need to start a connection to satellite, ask for queued message and get them one by one.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* This project is based on &amp;quot;Short Burst Data&amp;quot; (&amp;quot;SBD&amp;quot;), text messages with a Iridium 9602 Modem + antenna.&lt;br /&gt;
* All in one version (antenna, modem) can be found at rock7.com. We own a [http://www.rock7.com/products-rockblock-plus Rockblock +]&lt;br /&gt;
* We chose the Rockblock +, because of rugged, waterproof and wide alimentation choices (9-30V DC). It can run on a 9V battery, 12V car battery / sun panel,...&lt;br /&gt;
* Basic soldering skills are needed, no custom PCB here, yet.&lt;br /&gt;
&lt;br /&gt;
=== Computer version ===&lt;br /&gt;
&lt;br /&gt;
* USB RS232 serial DB9 adapter.&lt;br /&gt;
* A computer&lt;br /&gt;
&lt;br /&gt;
=== Embeded version ===&lt;br /&gt;
&lt;br /&gt;
* Any Raspberry Pi 1 +&lt;br /&gt;
* tplink 703N to provide wifi (but gl.inet is a better choice now)&lt;br /&gt;
* a 12V to 5V converter.&lt;br /&gt;
* USB RS232 serial DB9 adapter.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
* rock7 documentation is sometimes wrong. i.e serrial communication with the modem use actually the standart 0D 0A end of line.&lt;br /&gt;
* [http://www.makersnake.com/rockblock/ makersnake] [https://github.com/MakerSnake/pyRockBlock library] is a great start for the python way. Altough some URL has changed and some script are not complete. Most of our end user code is heavily based on the awesome works makersnake published.&lt;br /&gt;
&lt;br /&gt;
=== Crypto ===&lt;br /&gt;
&lt;br /&gt;
* Iridium SBD Messages are transmitted as is. So if you type clear text, it will be transmitted in... clear text. That's really sucks.&lt;br /&gt;
* In the RBS scenario, because a major event (earthquake,...), there is no possible communication other than the previous sat messages. We use some short stream ciphers and hash functions.&lt;br /&gt;
* To reduce cost, a specific encryption is used through the satellite infrastructure part. Of course, one can add final destinatio PGP to our code. &lt;br /&gt;
* There is probably better choice, but the goal was to encrypt, we welcome crypto experts to improve this part.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6079</id>
		<title>Sat Messenger / RBS</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6079"/>
				<updated>2016-09-08T09:40:41Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Work in progress&lt;br /&gt;
&lt;br /&gt;
== What ? ==&lt;br /&gt;
&lt;br /&gt;
* It's *cheap* and *encrypted* short message gateway : email/web &amp;lt;- iridium constellation -&amp;gt; Somewhere on earth&lt;br /&gt;
* Each 50 character long messages can be 0.05 euros. Remember the SMS at the beginning ?&lt;br /&gt;
* Sat messenger is the satellite part of RBS project : &amp;quot;Recovery Base Station&amp;quot;, a cheaper and encrypted version of University of Berkeley [http://kurti.sh/pubs/rbs-dev14.pdf &amp;quot;Rescue Base Station&amp;quot;].&lt;br /&gt;
* There is a info website about this [http://www.satmessenger.org project] to speed up recovery after a major event like earthquake, tsnumai where no available communication/power infrastructure are running.&lt;br /&gt;
* This project provides everything in a local Web interface. If you want to learn how to do it roughly follow explanations at [[raw sat]]&lt;br /&gt;
* Code has many flavors with or without crypto, command line, web UI,... Soon on github&lt;br /&gt;
&lt;br /&gt;
== Sat Messenger ==&lt;br /&gt;
&lt;br /&gt;
* Messages follow a predefined format : destinationemail text. Like : foo@bar.com I'm fine&lt;br /&gt;
* &amp;quot;API&amp;quot; refers to rock7 API.&lt;br /&gt;
&lt;br /&gt;
=== Somewhere to Internet via sat ===&lt;br /&gt;
&lt;br /&gt;
Sending a message from somewhere, is called &amp;quot;Mobile Originated&amp;quot; (MO).&lt;br /&gt;
Different possibilities are available for the &amp;quot;computer&amp;quot; connected to the sat modem. &lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Once satellite constellation have forwarded the text to the ground, the API can send the text to an email or to a http POST server. Obviously sending directly to destination email defeat the purpose of privacy. So the &amp;quot;Mainserver&amp;quot; code can receive the API http POST, decrypt and email the text to destination. (python + twisted)&lt;br /&gt;
&lt;br /&gt;
=== Internet to Somewhere via sat ===&lt;br /&gt;
&lt;br /&gt;
It's the &amp;quot;Mobile Terminated case (MT). These programs make the http POST connection to the API&lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* rock7 website, but with no encryption.&lt;br /&gt;
&lt;br /&gt;
Like voicemails, to receive messages, one need to start a connection to satellite, ask for queued message and get them one by one.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* This project is based on &amp;quot;Short Burst Data&amp;quot; (&amp;quot;SBD&amp;quot;), text messages with a Iridium 9602 Modem + antenna.&lt;br /&gt;
* All in one version (antenna, modem) can be found at rock7.com. We own a [http://www.rock7.com/products-rockblock-plus Rockblock +]&lt;br /&gt;
* We chose the Rockblock +, because of rugged, waterproof and wide alimentation choices (9-30V DC). It can run on a 9V battery, 12V car battery / sun panel,...&lt;br /&gt;
* Basic soldering skills are needed, no custom PCB here, yet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Computer version ===&lt;br /&gt;
&lt;br /&gt;
* USB RS232 serial DB9 adapter.&lt;br /&gt;
* A computer&lt;br /&gt;
&lt;br /&gt;
=== Embeded version ===&lt;br /&gt;
&lt;br /&gt;
* Any Raspberry Pi 1 +&lt;br /&gt;
* tplink 703N to provide wifi (but gl.inet is a better choice now)&lt;br /&gt;
* a 12V to 5V converter.&lt;br /&gt;
* USB RS232 serial DB9 adapter.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
* rock7 documentation is sometimes wrong. i.e serrial communication with the modem use actually the standart 0D 0A end of line.&lt;br /&gt;
* [http://www.makersnake.com/rockblock/ makersnake] [https://github.com/MakerSnake/pyRockBlock library] is a great start for the python way. Altough some URL has changed and some script are not complete. Most of our end user code is heavily based on the awesome works makersnake published.&lt;br /&gt;
&lt;br /&gt;
=== Crypto ===&lt;br /&gt;
&lt;br /&gt;
* Iridium SBD Messages are transmitted as is. So if you type clear text, it will be transmitted in... clear text. That's really sucks.&lt;br /&gt;
* In the RBS scenario, because a major event (earthquake,...), there is no possible communication other than the previous sat messages. We use some short stream ciphers and hash functions.&lt;br /&gt;
* To reduce cost, a specific encryption is used through the satellite infrastructure part. Of course, one can add final destinatio PGP to our code. &lt;br /&gt;
* There is probably better choice, but the goal was to encrypt, we welcome crypto experts to improve this part.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6078</id>
		<title>Sat Messenger / RBS</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6078"/>
				<updated>2016-09-08T09:40:17Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Work in progress&lt;br /&gt;
&lt;br /&gt;
== What ? ==&lt;br /&gt;
&lt;br /&gt;
* It's *cheap* and *encrypted* short message gateway : email/web &amp;lt;- iridium constellation -&amp;gt; Somewhere on earth&lt;br /&gt;
* Each 50 character long messages can be 0.05 euros. Remember the SMS at the beginning ?&lt;br /&gt;
* Sat messenger is the satellite part of RBS project : &amp;quot;Recovery Base Station&amp;quot;, a cheaper and encrypted version of University of Berkeley [http://kurti.sh/pubs/rbs-dev14.pdf &amp;quot;Rescue Base Station&amp;quot;].&lt;br /&gt;
* There is a info website about this [http://www.satmessenger.org project] to speed up recovery after a major event like earthquake, tsnumai where no available communication/power infrastructure are running.&lt;br /&gt;
* This project provides everything in a local Web interface. If you want to learn how to do it roughly follow explanations at [[raw sat]]&lt;br /&gt;
* Code has many flavors with or without crypto, command line, web UI,... Soon on github&lt;br /&gt;
&lt;br /&gt;
== Sat Messenger ==&lt;br /&gt;
&lt;br /&gt;
* Messages follow a predefined format : destinationemail text. Like : foo@bar.com I'm fine&lt;br /&gt;
* &amp;quot;API&amp;quot; refers to rock7 API.&lt;br /&gt;
&lt;br /&gt;
=== Somewhere to Internet via sat ===&lt;br /&gt;
&lt;br /&gt;
Sending a message from somewhere, is called &amp;quot;Mobile Originated&amp;quot; (MO).&lt;br /&gt;
Different possibilities are available for the &amp;quot;computer&amp;quot; connected to the sat modem. &lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Once satellite constellation have forwarded the text to the ground, the API can send the text to an email or to a http POST server. Obviously sending directly to destination email defeat the purpose of privacy. So the &amp;quot;Mainserver&amp;quot; code can receive the API http POST, decrypt and email the text to destination. (python + twisted)&lt;br /&gt;
&lt;br /&gt;
=== Internet to Somewhere via sat ===&lt;br /&gt;
&lt;br /&gt;
It's the &amp;quot;Mobile Terminated case (MT). These programs make the http POST connection to the API&lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* rock7 website, but with no encryption.&lt;br /&gt;
&lt;br /&gt;
Like voicemails, to receive messages, one need to start a connection to satellite, ask for queued message and get them one by one.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* This project is based on &amp;quot;Short Burst Data&amp;quot; (&amp;quot;SBD&amp;quot;), text messages with a Iridium 9602 Modem + antenna.&lt;br /&gt;
* All in one version (antenna, modem) can be found at rock7.com. We own a [http://www.rock7.com/products-rockblock-plus Rockblock +]&lt;br /&gt;
* Basic soldering skills are needed, no custom PCB here, yet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* We chose the Rockblock +, because of rugged, waterproof and wide alimentation choices (9-30V DC). It can run on a 9V battery, 12V car battery / sun panel,...&lt;br /&gt;
&lt;br /&gt;
=== Computer version ===&lt;br /&gt;
&lt;br /&gt;
* USB RS232 serial DB9 adapter.&lt;br /&gt;
* A computer&lt;br /&gt;
&lt;br /&gt;
=== Embeded version ===&lt;br /&gt;
&lt;br /&gt;
* Any Raspberry Pi 1 +&lt;br /&gt;
* tplink 703N to provide wifi (but gl.inet is a better choice now)&lt;br /&gt;
* a 12V to 5V converter.&lt;br /&gt;
* USB RS232 serial DB9 adapter.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
* rock7 documentation is sometimes wrong. i.e serrial communication with the modem use actually the standart 0D 0A end of line.&lt;br /&gt;
* [http://www.makersnake.com/rockblock/ makersnake] [https://github.com/MakerSnake/pyRockBlock library] is a great start for the python way. Altough some URL has changed and some script are not complete. Most of our end user code is heavily based on the awesome works makersnake published.&lt;br /&gt;
&lt;br /&gt;
=== Crypto ===&lt;br /&gt;
&lt;br /&gt;
* Iridium SBD Messages are transmitted as is. So if you type clear text, it will be transmitted in... clear text. That's really sucks.&lt;br /&gt;
* In the RBS scenario, because a major event (earthquake,...), there is no possible communication other than the previous sat messages. We use some short stream ciphers and hash functions.&lt;br /&gt;
* To reduce cost, a specific encryption is used through the satellite infrastructure part. Of course, one can add final destinatio PGP to our code. &lt;br /&gt;
* There is probably better choice, but the goal was to encrypt, we welcome crypto experts to improve this part.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6077</id>
		<title>Sat Messenger / RBS</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6077"/>
				<updated>2016-09-08T09:37:43Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Work in progress&lt;br /&gt;
&lt;br /&gt;
== What ? ==&lt;br /&gt;
&lt;br /&gt;
* It's *cheap* and *encrypted* short message gateway : email/web &amp;lt;- iridium constellation -&amp;gt; Somewhere on earth&lt;br /&gt;
* Each 50 character long messages can be 0.05 euros. Remember the SMS at the beginning ?&lt;br /&gt;
* Sat messenger is the satellite part of RBS project : &amp;quot;Recovery Base Station&amp;quot;, a cheaper and encrypted version of University of Berkeley [http://kurti.sh/pubs/rbs-dev14.pdf &amp;quot;Rescue Base Station&amp;quot;].&lt;br /&gt;
* There is a info website about this [http://www.satmessenger.org project] to speed up recovery after a major event like earthquake, tsnumai where no available communication/power infrastructure are running.&lt;br /&gt;
* This project provides everything in a local Web interface. If you want to learn how to do it roughly follow explanations at [[raw sat]]&lt;br /&gt;
* Code has many flavors with or without crypto, command line, web UI,... Soon on github&lt;br /&gt;
&lt;br /&gt;
== Sat Messenger ==&lt;br /&gt;
&lt;br /&gt;
* Messages follow a predefined format : destinationemail text. Like : foo@bar.com I'm fine&lt;br /&gt;
* &amp;quot;API&amp;quot; refers to rock7 API.&lt;br /&gt;
&lt;br /&gt;
=== Somewhere to Internet via sat ===&lt;br /&gt;
&lt;br /&gt;
Sending a message from somewhere, is called &amp;quot;Mobile Originated&amp;quot; (MO).&lt;br /&gt;
Different possibilities are available for the &amp;quot;computer&amp;quot; connected to the sat modem. &lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Once satellite constellation have forwarded the text to the ground, the API can send the text to an email or to a http POST server. Obviously sending directly to destination email defeat the purpose of privacy. So the &amp;quot;Mainserver&amp;quot; code can receive the API http POST, decrypt and email the text to destination. (python + twisted)&lt;br /&gt;
&lt;br /&gt;
=== Internet to Somewhere via sat ===&lt;br /&gt;
&lt;br /&gt;
It's the &amp;quot;Mobile Terminated case (MT). These programs make the http POST connection to the API&lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* rock7 website, but with no encryption.&lt;br /&gt;
&lt;br /&gt;
Like voicemails, to receive messages, one need to start a connection to satellite, ask for queued message and get them one by one.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* This project is based on &amp;quot;Short Burst Data&amp;quot; (&amp;quot;SBD&amp;quot;), text messages with a Iridium 9602 Modem + antenna.&lt;br /&gt;
* All in one version (antenna, modem) can be found at rock7.com. We own a [http://www.rock7.com/products-rockblock-plus Rockblock +]&lt;br /&gt;
* Basic soldering skills are needed, no custom PCB here, yet.&lt;br /&gt;
&lt;br /&gt;
==== Parts ====&lt;br /&gt;
Space stuff :&lt;br /&gt;
&lt;br /&gt;
* We chose the Rockblock +, because of rugged, waterproof and wide alimentation choices (9-30V DC). It can run on a 9V battery, 12V car battery / sun panel,...&lt;br /&gt;
&lt;br /&gt;
=== Computer version ===&lt;br /&gt;
&lt;br /&gt;
* USB RS232 serial DB9 adapter.&lt;br /&gt;
* A computer&lt;br /&gt;
&lt;br /&gt;
=== Embeded version ===&lt;br /&gt;
&lt;br /&gt;
* Any Raspberry Pi 1 +&lt;br /&gt;
* tplink 703N to provide wifi (but gl.inet is a better choice now)&lt;br /&gt;
* a 12V to 5V converter.&lt;br /&gt;
* USB RS232 serial DB9 adapter.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
* rock7 documentation is sometimes wrong. i.e serrial communication with the modem use actually the standart 0D 0A end of line.&lt;br /&gt;
* [http://www.makersnake.com/rockblock/ makersnake] [https://github.com/MakerSnake/pyRockBlock library] is a great start for the python way. Altough some URL has changed and some script are not complete. Most of our end user code is heavily based on the awesome works makersnake published.&lt;br /&gt;
&lt;br /&gt;
=== Crypto ===&lt;br /&gt;
&lt;br /&gt;
* Iridium SBD Messages are transmitted as is. So if you type clear text, it will be transmitted in... clear text. That's really sucks.&lt;br /&gt;
* In the RBS scenario, because a major event (earthquake,...), there is no possible communication other than the previous sat messages. We use some short stream ciphers and hash functions.&lt;br /&gt;
* To reduce cost, a specific encryption is used through the satellite infrastructure part. Of course, one can add final destinatio PGP to our code. &lt;br /&gt;
* There is probably better choice, but the goal was to encrypt, we welcome crypto experts to improve this part.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6076</id>
		<title>Sat Messenger / RBS</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6076"/>
				<updated>2016-09-08T09:36:43Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Work in progress&lt;br /&gt;
&lt;br /&gt;
== What ? ==&lt;br /&gt;
&lt;br /&gt;
* It's *cheap* and *encrypted* short message gateway : email/web &amp;lt;- iridium constellation -&amp;gt; Somewhere on earth&lt;br /&gt;
* Each 50 character long messages can be 0.05 euros. Remember the SMS at the beginning ?&lt;br /&gt;
* Sat messenger is the satellite part of RBS project : &amp;quot;Recovery Base Station&amp;quot;, a cheaper and encrypted version of University of Berkeley [http://kurti.sh/pubs/rbs-dev14.pdf &amp;quot;Rescue Base Station&amp;quot;].&lt;br /&gt;
* There is a info website about this [http://www.satmessenger.org project] to speed up recovery after a major event like earthquake, tsnumai where no available communication/power infrastructure are running.&lt;br /&gt;
* This project provides everything in a local Web interface. If you want to learn how to do it roughly follow explanations at [[raw sat]]&lt;br /&gt;
* Code has many flavors with or without crypto, command line, web UI,... Soon on github&lt;br /&gt;
&lt;br /&gt;
== Sat Messenger ==&lt;br /&gt;
&lt;br /&gt;
* Messages follow a predefined format : destinationemail text. Like : foo@bar.com I'm fine&lt;br /&gt;
* &amp;quot;API&amp;quot; refers to rock7 API.&lt;br /&gt;
&lt;br /&gt;
=== Somewhere to Internet via sat ===&lt;br /&gt;
&lt;br /&gt;
Sending a message from somewhere, is called &amp;quot;Mobile Originated&amp;quot; (MO).&lt;br /&gt;
Different possibilities are available for the &amp;quot;computer&amp;quot; connected to the sat modem. &lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Once satellite constellation have forwarded the text to the ground, the API can send the text to an email or to a http POST server. Obviously sending directly to destination email defeat the purpose of privacy. So the &amp;quot;Mainserver&amp;quot; code can receive the API http POST, decrypt and email the text to destination. (python + twisted)&lt;br /&gt;
&lt;br /&gt;
=== Internet to Somewhere via sat ===&lt;br /&gt;
&lt;br /&gt;
It's the &amp;quot;Mobile Terminated case (MT). These programs make the http POST connection to the API&lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* rock7 website, but with no encryption.&lt;br /&gt;
&lt;br /&gt;
Like voicemails, to receive messages, one need to start a connection to satellite, ask for queued message and get them one by one.&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
* This project is based on &amp;quot;Short Burst Data&amp;quot; (&amp;quot;SBD&amp;quot;), text messages with a Iridium 9602 Modem + antenna.&lt;br /&gt;
* All in one version (antenna, modem) can be found at rock7.com. We own a [http://www.rock7.com/products-rockblock-plus Rockblock +]&lt;br /&gt;
* Basic soldering skills are needed, no custom PCB here, yet.&lt;br /&gt;
&lt;br /&gt;
==== Parts ====&lt;br /&gt;
Space stuff :&lt;br /&gt;
&lt;br /&gt;
* We chose the Rockblock +, because of rugged, waterproof and wide alimentation choices (9-30V DC). It can run on a 9V battery, 12V car battery / sun panel,...&lt;br /&gt;
&lt;br /&gt;
=== Computer version ===&lt;br /&gt;
&lt;br /&gt;
* USB RS232 serial DB9 adapter.&lt;br /&gt;
* A computer&lt;br /&gt;
&lt;br /&gt;
=== Embeded version ===&lt;br /&gt;
&lt;br /&gt;
* Any Raspberry Pi 1 +&lt;br /&gt;
* tplink 703N to provide wifi (but gl.inet is a better choice now)&lt;br /&gt;
* a 12V to 5V converter.&lt;br /&gt;
* USB RS232 serial DB9 adapter.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
* rock7 documentation is sometimes wrong. i.e serrial communication with the modem use actually the standart 0D 0A end of line.&lt;br /&gt;
* [http://www.makersnake.com/rockblock/ makersnake] [https://github.com/MakerSnake/pyRockBlock library] is a great start for the python way. Altough some URL has changed and some script are not complete. Most of our end user code is heavily based on the awesome works makersnake published.&lt;br /&gt;
&lt;br /&gt;
=== Crypto ===&lt;br /&gt;
&lt;br /&gt;
* Iridium SBD Messages are transmitted as is. So if you type clear text, it will be transmitted in... clear text. That's really sucks.&lt;br /&gt;
* In the RBS scenario, because a major event (earthquake,...), there is no possible communication other than the previous sat messages. We use some short stream ciphers and hash functions.&lt;br /&gt;
* To reduce cost, a specific encryption is used through the satellite infrastructure part. Of course, one can add final destinatio PGP to our code. &lt;br /&gt;
* There is probably better choice, but the goal was to encrypt, we welcome crypto experts to improve this part.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6075</id>
		<title>Sat Messenger / RBS</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6075"/>
				<updated>2016-09-08T09:34:28Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Parts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Work in progress&lt;br /&gt;
&lt;br /&gt;
== What ? ==&lt;br /&gt;
&lt;br /&gt;
* It's *cheap* and *encrypted* short message gateway : email/web &amp;lt;- iridium constellation -&amp;gt; Somewhere on earth&lt;br /&gt;
* Each 50 character long messages can be 0.05 euros. Remember the SMS at the beginning ?&lt;br /&gt;
* Sat messenger is the satellite part of RBS project : &amp;quot;Recovery Base Station&amp;quot;, a cheaper and encrypted version of University of Berkeley [http://kurti.sh/pubs/rbs-dev14.pdf &amp;quot;Rescue Base Station&amp;quot;].&lt;br /&gt;
* There is a info website about this [http://www.satmessenger.org project] to speed up recovery after a major event like earthquake, tsnumai where no available communication/power infrastructure are running.&lt;br /&gt;
* This project provides everything in a local Web interface. If you want to learn how to do it roughly follow explanations at [[raw sat]]&lt;br /&gt;
* Code has many flavors with or without crypto, command line, web UI,... Soon on github&lt;br /&gt;
&lt;br /&gt;
== Sat Messenger ==&lt;br /&gt;
&lt;br /&gt;
* Messages follow a predefined format : destinationemail text. Like : foo@bar.com I'm fine&lt;br /&gt;
* &amp;quot;API&amp;quot; refers to rock7 API.&lt;br /&gt;
&lt;br /&gt;
=== Somewhere to Internet via sat ===&lt;br /&gt;
&lt;br /&gt;
Sending a message from somewhere, is called &amp;quot;Mobile Originated&amp;quot; (MO).&lt;br /&gt;
Different possibilities are available for the &amp;quot;computer&amp;quot; connected to the sat modem. &lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Once satellite constellation have forwarded the text to the ground, the API can send the text to an email or to a http POST server. Obviously sending directly to destination email defeat the purpose of privacy. So the &amp;quot;Mainserver&amp;quot; code can receive the API http POST, decrypt and email the text to destination. (python + twisted)&lt;br /&gt;
&lt;br /&gt;
=== Internet to Somewhere via sat ===&lt;br /&gt;
&lt;br /&gt;
It's the &amp;quot;Mobile Terminated case (MT). These programs make the http POST connection to the API&lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* rock7 website, but with no encryption.&lt;br /&gt;
&lt;br /&gt;
Like voicemails, to receive messages, one need to start a connection to satellite, ask for queued message and get them one by one.&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
* This project is based on &amp;quot;Short Burst Data&amp;quot; (&amp;quot;SBD&amp;quot;), text messages with a Iridium 9602 Modem + antenna.&lt;br /&gt;
* All in one version (antenna, modem) can be found at rock7.com. We own a [http://www.rock7.com/products-rockblock-plus Rockblock +]&lt;br /&gt;
* Basic soldering skills are needed, no custom PCB here, yet.&lt;br /&gt;
&lt;br /&gt;
==== Parts ====&lt;br /&gt;
Space stuff :&lt;br /&gt;
&lt;br /&gt;
* We chose the Rockblock +, because of rugged, waterproof and wide alimentation choices (9-30V DC). It can run on a 9V battery, 12V car battery / sun panel,...&lt;br /&gt;
* USB RS232 serial DB9 adapter.&lt;br /&gt;
&lt;br /&gt;
Small version :&lt;br /&gt;
&lt;br /&gt;
* Any Raspberry Pi 1 +&lt;br /&gt;
* tplink 703N to provide wifi (but gl.inet is a better choice now)&lt;br /&gt;
* a 12V to 5V converter.&lt;br /&gt;
&lt;br /&gt;
=== Test computer version ===&lt;br /&gt;
&lt;br /&gt;
=== Embeded version ===&lt;br /&gt;
&lt;br /&gt;
* Raspberry based&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
* rock7 documentation is sometimes wrong. i.e serrial communication with the modem use actually the standart 0D 0A end of line.&lt;br /&gt;
* [http://www.makersnake.com/rockblock/ makersnake] [https://github.com/MakerSnake/pyRockBlock library] is a great start for the python way. Altough some URL has changed and some script are not complete. Most of our end user code is heavily based on the awesome works makersnake published.&lt;br /&gt;
&lt;br /&gt;
=== Crypto ===&lt;br /&gt;
&lt;br /&gt;
* Iridium SBD Messages are transmitted as is. So if you type clear text, it will be transmitted in... clear text. That's really sucks.&lt;br /&gt;
* In the RBS scenario, because a major event (earthquake,...), there is no possible communication other than the previous sat messages. We use some short stream ciphers and hash functions.&lt;br /&gt;
* To reduce cost, a specific encryption is used through the satellite infrastructure part. Of course, one can add final destinatio PGP to our code. &lt;br /&gt;
* There is probably better choice, but the goal was to encrypt, we welcome crypto experts to improve this part.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6074</id>
		<title>Sat Messenger / RBS</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6074"/>
				<updated>2016-09-08T09:33:12Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* What ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Work in progress&lt;br /&gt;
&lt;br /&gt;
== What ? ==&lt;br /&gt;
&lt;br /&gt;
* It's *cheap* and *encrypted* short message gateway : email/web &amp;lt;- iridium constellation -&amp;gt; Somewhere on earth&lt;br /&gt;
* Each 50 character long messages can be 0.05 euros. Remember the SMS at the beginning ?&lt;br /&gt;
* Sat messenger is the satellite part of RBS project : &amp;quot;Recovery Base Station&amp;quot;, a cheaper and encrypted version of University of Berkeley [http://kurti.sh/pubs/rbs-dev14.pdf &amp;quot;Rescue Base Station&amp;quot;].&lt;br /&gt;
* There is a info website about this [http://www.satmessenger.org project] to speed up recovery after a major event like earthquake, tsnumai where no available communication/power infrastructure are running.&lt;br /&gt;
* This project provides everything in a local Web interface. If you want to learn how to do it roughly follow explanations at [[raw sat]]&lt;br /&gt;
* Code has many flavors with or without crypto, command line, web UI,... Soon on github&lt;br /&gt;
&lt;br /&gt;
== Sat Messenger ==&lt;br /&gt;
&lt;br /&gt;
* Messages follow a predefined format : destinationemail text. Like : foo@bar.com I'm fine&lt;br /&gt;
* &amp;quot;API&amp;quot; refers to rock7 API.&lt;br /&gt;
&lt;br /&gt;
=== Somewhere to Internet via sat ===&lt;br /&gt;
&lt;br /&gt;
Sending a message from somewhere, is called &amp;quot;Mobile Originated&amp;quot; (MO).&lt;br /&gt;
Different possibilities are available for the &amp;quot;computer&amp;quot; connected to the sat modem. &lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Once satellite constellation have forwarded the text to the ground, the API can send the text to an email or to a http POST server. Obviously sending directly to destination email defeat the purpose of privacy. So the &amp;quot;Mainserver&amp;quot; code can receive the API http POST, decrypt and email the text to destination. (python + twisted)&lt;br /&gt;
&lt;br /&gt;
=== Internet to Somewhere via sat ===&lt;br /&gt;
&lt;br /&gt;
It's the &amp;quot;Mobile Terminated case (MT). These programs make the http POST connection to the API&lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* rock7 website, but with no encryption.&lt;br /&gt;
&lt;br /&gt;
Like voicemails, to receive messages, one need to start a connection to satellite, ask for queued message and get them one by one.&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
* This project is based on &amp;quot;Short Burst Data&amp;quot; (&amp;quot;SBD&amp;quot;), text messages with a Iridium 9602 Modem + antenna.&lt;br /&gt;
* All in one version (antenna, modem) can be found at rock7.com. We own a [http://www.rock7.com/products-rockblock-plus Rockblock +]&lt;br /&gt;
* Basic soldering skills are needed, no custom PCB here, yet.&lt;br /&gt;
&lt;br /&gt;
==== Parts ====&lt;br /&gt;
Space stuff :&lt;br /&gt;
&lt;br /&gt;
* We chose the Rockblock +, because of rugged, waterproof and wide alimentation choices (9-30V DC). It can run on a 9V battery, 12V car battery / sun panel,...&lt;br /&gt;
* USB RS232 serial DB9 adapter.&lt;br /&gt;
&lt;br /&gt;
Small version :&lt;br /&gt;
&lt;br /&gt;
* Raspberry Pi 1+&lt;br /&gt;
* tplink 703N to provide wifi (but gl.inet is a better choice now)&lt;br /&gt;
* a 12V to 5V converter.&lt;br /&gt;
&lt;br /&gt;
=== Test computer version ===&lt;br /&gt;
&lt;br /&gt;
=== Embeded version ===&lt;br /&gt;
&lt;br /&gt;
* Raspberry based&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
* rock7 documentation is sometimes wrong. i.e serrial communication with the modem use actually the standart 0D 0A end of line.&lt;br /&gt;
* [http://www.makersnake.com/rockblock/ makersnake] [https://github.com/MakerSnake/pyRockBlock library] is a great start for the python way. Altough some URL has changed and some script are not complete. Most of our end user code is heavily based on the awesome works makersnake published.&lt;br /&gt;
&lt;br /&gt;
=== Crypto ===&lt;br /&gt;
&lt;br /&gt;
* Iridium SBD Messages are transmitted as is. So if you type clear text, it will be transmitted in... clear text. That's really sucks.&lt;br /&gt;
* In the RBS scenario, because a major event (earthquake,...), there is no possible communication other than the previous sat messages. We use some short stream ciphers and hash functions.&lt;br /&gt;
* To reduce cost, a specific encryption is used through the satellite infrastructure part. Of course, one can add final destinatio PGP to our code. &lt;br /&gt;
* There is probably better choice, but the goal was to encrypt, we welcome crypto experts to improve this part.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6073</id>
		<title>Sat Messenger / RBS</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Sat_Messenger_/_RBS&amp;diff=6073"/>
				<updated>2016-09-08T09:32:41Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* What ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Work in progress&lt;br /&gt;
&lt;br /&gt;
== What ? ==&lt;br /&gt;
&lt;br /&gt;
* It's *cheap* and *encrypted* short message gateway : email/web &amp;lt;- iridium constellation -&amp;gt; Somewhere on earth&lt;br /&gt;
* Each 50 character long messages can be 0.05 euros. Remember the SMS at the beginning ?&lt;br /&gt;
* Sat messenger is the satellite part of RBS project : &amp;quot;Recovery Base Station&amp;quot;, a cheaper and encrypted version of University of Berkeley [http://kurti.sh/pubs/rbs-dev14.pdf &amp;quot;Rescue Base Station&amp;quot;].&lt;br /&gt;
* There is a info website about this [http://www.satmessenger.org project] to speed up recovery after a major event like earthquake, tsnumai where no available communication/power infrastructure are running.&lt;br /&gt;
* This project provides everything in a local Web interface. If you want to learn how to do it roughly follow explanations at [[raw sat]]&lt;br /&gt;
* Code has many flavors with or without crypto, command line, web UI,...&lt;br /&gt;
&lt;br /&gt;
== Sat Messenger ==&lt;br /&gt;
&lt;br /&gt;
* Messages follow a predefined format : destinationemail text. Like : foo@bar.com I'm fine&lt;br /&gt;
* &amp;quot;API&amp;quot; refers to rock7 API.&lt;br /&gt;
&lt;br /&gt;
=== Somewhere to Internet via sat ===&lt;br /&gt;
&lt;br /&gt;
Sending a message from somewhere, is called &amp;quot;Mobile Originated&amp;quot; (MO).&lt;br /&gt;
Different possibilities are available for the &amp;quot;computer&amp;quot; connected to the sat modem. &lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Once satellite constellation have forwarded the text to the ground, the API can send the text to an email or to a http POST server. Obviously sending directly to destination email defeat the purpose of privacy. So the &amp;quot;Mainserver&amp;quot; code can receive the API http POST, decrypt and email the text to destination. (python + twisted)&lt;br /&gt;
&lt;br /&gt;
=== Internet to Somewhere via sat ===&lt;br /&gt;
&lt;br /&gt;
It's the &amp;quot;Mobile Terminated case (MT). These programs make the http POST connection to the API&lt;br /&gt;
&lt;br /&gt;
* web form (python + twisted)&lt;br /&gt;
* command line tool &amp;quot;mt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* rock7 website, but with no encryption.&lt;br /&gt;
&lt;br /&gt;
Like voicemails, to receive messages, one need to start a connection to satellite, ask for queued message and get them one by one.&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
* This project is based on &amp;quot;Short Burst Data&amp;quot; (&amp;quot;SBD&amp;quot;), text messages with a Iridium 9602 Modem + antenna.&lt;br /&gt;
* All in one version (antenna, modem) can be found at rock7.com. We own a [http://www.rock7.com/products-rockblock-plus Rockblock +]&lt;br /&gt;
* Basic soldering skills are needed, no custom PCB here, yet.&lt;br /&gt;
&lt;br /&gt;
==== Parts ====&lt;br /&gt;
Space stuff :&lt;br /&gt;
&lt;br /&gt;
* We chose the Rockblock +, because of rugged, waterproof and wide alimentation choices (9-30V DC). It can run on a 9V battery, 12V car battery / sun panel,...&lt;br /&gt;
* USB RS232 serial DB9 adapter.&lt;br /&gt;
&lt;br /&gt;
Small version :&lt;br /&gt;
&lt;br /&gt;
* Raspberry Pi 1+&lt;br /&gt;
* tplink 703N to provide wifi (but gl.inet is a better choice now)&lt;br /&gt;
* a 12V to 5V converter.&lt;br /&gt;
&lt;br /&gt;
=== Test computer version ===&lt;br /&gt;
&lt;br /&gt;
=== Embeded version ===&lt;br /&gt;
&lt;br /&gt;
* Raspberry based&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
* rock7 documentation is sometimes wrong. i.e serrial communication with the modem use actually the standart 0D 0A end of line.&lt;br /&gt;
* [http://www.makersnake.com/rockblock/ makersnake] [https://github.com/MakerSnake/pyRockBlock library] is a great start for the python way. Altough some URL has changed and some script are not complete. Most of our end user code is heavily based on the awesome works makersnake published.&lt;br /&gt;
&lt;br /&gt;
=== Crypto ===&lt;br /&gt;
&lt;br /&gt;
* Iridium SBD Messages are transmitted as is. So if you type clear text, it will be transmitted in... clear text. That's really sucks.&lt;br /&gt;
* In the RBS scenario, because a major event (earthquake,...), there is no possible communication other than the previous sat messages. We use some short stream ciphers and hash functions.&lt;br /&gt;
* To reduce cost, a specific encryption is used through the satellite infrastructure part. Of course, one can add final destinatio PGP to our code. &lt;br /&gt;
* There is probably better choice, but the goal was to encrypt, we welcome crypto experts to improve this part.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6072</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6072"/>
				<updated>2016-09-08T09:24:42Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee (6 £) and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto or a web interface, try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Depending on your computer select the right serial port like : /dev/ttyUSB0, /dev/tty.usbserial (type ls /dev/ in a terminal)&lt;br /&gt;
* Setup 19200 baud and default 0D 0A line feed is fine. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
&lt;br /&gt;
== Lock status ==&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection to satellite ==&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 +SBDI:&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection and transfer either way ==&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6071</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6071"/>
				<updated>2016-09-08T09:05:58Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee (6 £) and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Depending on your computer select the right serial port like : /dev/ttyUSB0, /dev/tty.usbserial (type ls /dev/ in a terminal)&lt;br /&gt;
* Setup 19200 baud and default 0D 0A line feed is fine. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
&lt;br /&gt;
== Lock status ==&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection to satellite ==&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 +SBDI:&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection and transfer either way ==&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6070</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6070"/>
				<updated>2016-09-08T09:03:48Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee (6 £) and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Setup 19200 baud and default 0D 0A line feed is fine. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
&lt;br /&gt;
== Lock status ==&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection to satellite ==&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 +SBDI:&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection and transfer either way ==&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6069</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6069"/>
				<updated>2016-09-08T00:41:39Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Short Burst Data: Gateway */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee (6 £) and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Setup 19200 baud and 0D 0A line feed. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
&lt;br /&gt;
== Lock status ==&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection to satellite ==&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 +SBDI:&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT queued&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate connection and transfer either way ==&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6068</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6068"/>
				<updated>2016-09-08T00:40:05Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee (6 £) and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Setup 19200 baud and 0D 0A line feed. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
Lock status&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt; - initiate connection to satellite - +SBDI:&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT&lt;br /&gt;
          queued&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
initiate connection and transfer either way.&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6067</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6067"/>
				<updated>2016-09-08T00:38:57Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* stock text message in buffer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Setup 19200 baud and 0D 0A line feed. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
Lock status&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt; - initiate connection to satellite - +SBDI:&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT&lt;br /&gt;
          queued&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
initiate connection and transfer either way.&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6066</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6066"/>
				<updated>2016-09-08T00:38:43Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Registration status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Setup 19200 baud and 0D 0A line feed. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initiate registration status == &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
Lock status&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt; - initiate connection to satellite - +SBDI:&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT&lt;br /&gt;
          queued&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
initiate connection and transfer either way.&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6065</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6065"/>
				<updated>2016-09-08T00:38:14Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Setup 19200 baud and 0D 0A line feed. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 - Initiate registration status &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
== Read a Text Message ==&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Flow Control ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== stock text message in buffer ==&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status ==&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
like +SBDS: 1, 33, 0, -1&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Status Extended ==&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;  - like +SBDSX: 1, 33, 0, -1, 0, 0&lt;br /&gt;
&lt;br /&gt;
== Trafic Management status ==&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
like +SBDLOE:0,0&lt;br /&gt;
&lt;br /&gt;
== Short Burst Data: Gateway ==&lt;br /&gt;
&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
EMSS ou non EMSS&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
Lock status&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt; - initiate connection to satellite - +SBDI:&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT&lt;br /&gt;
          queued&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
initiate connection and transfer either way.&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6064</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6064"/>
				<updated>2016-09-08T00:35:37Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Setup 19200 baud and 0D 0A line feed. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
&lt;br /&gt;
==RING status extended ==&lt;br /&gt;
&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
&lt;br /&gt;
== RING mode query ==&lt;br /&gt;
AT+SBDMTA?&lt;br /&gt;
&lt;br /&gt;
== Registration status ==&lt;br /&gt;
AT+SBREG&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 - Initiate registration status &lt;br /&gt;
AT+SBDREG?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 - SBD registration status - 0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
AT+SBDRT&amp;lt;br /&amp;gt; - Read a Text Message&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt;&lt;br /&gt;
 - remove flow control&lt;br /&gt;
AT+SBDWT=Hello World&amp;lt;br /&amp;gt;&lt;br /&gt;
 - stock text message in buffer&lt;br /&gt;
&lt;br /&gt;
AT+SBDS&amp;lt;br /&amp;gt;&lt;br /&gt;
Short Burst Data: Status - like +SBDS: 1, 33, 0, -1&lt;br /&gt;
AT+SBDSX&amp;lt;br /&amp;gt;Short Burst Data: Status Extended  - like +SBDSX: 1, 33, 0, -1, 0, 0&lt;br /&gt;
&lt;br /&gt;
AT+SBDLOE&amp;lt;br /&amp;gt;&lt;br /&gt;
Trafic Management status - like +SBDLOE:0,0&lt;br /&gt;
+SBDGW&amp;lt;br /&amp;gt;&lt;br /&gt;
Short Burst Data: Gateway - EMSS ou non EMSS&lt;br /&gt;
AT+CULK?&amp;lt;br /&amp;gt;&lt;br /&gt;
Lock status&lt;br /&gt;
AT+SBDI&amp;lt;br /&amp;gt; - initiate connection to satellite - +SBDI:&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT&lt;br /&gt;
          queued&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
initiate connection and transfer either way.&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6063</id>
		<title>Raw sat</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Raw_sat&amp;diff=6063"/>
				<updated>2016-09-08T00:30:42Z</updated>
		
		<summary type="html">&lt;p&gt;Samneurohack: /* Geolocation Information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page explain how to use Iridium satellite constellation for short burst data messages with a rockblock device.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to pay for the monthly fee and buy credits to use this how to.&amp;lt;br /&amp;gt;&lt;br /&gt;
All text with these recipes will transfer without crypto. If you need crypto try [[Sat Messenger / RBS]]&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* See the hardware part to setup serial communication.&lt;br /&gt;
* Get serial communication software like coolterm or picocom.&lt;br /&gt;
* Setup 19200 baud and 0D 0A line feed. (Official Rock7 documentation is wrong !!)&lt;br /&gt;
&lt;br /&gt;
You need to type &amp;quot;AT Commands&amp;quot; and the rockblock will answer like all modems. You can start with &lt;br /&gt;
AT &lt;br /&gt;
The modem will answer :&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
== Send a message ==&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0&amp;lt;br /&amp;gt; &lt;br /&gt;
AT+SBDWT=Hello&amp;lt;br /&amp;gt;&lt;br /&gt;
AT+SBDIX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get Signal get 0-5 (rssi) ==&lt;br /&gt;
&lt;br /&gt;
AT+CSQ&lt;br /&gt;
&lt;br /&gt;
== Get IMEI ==&lt;br /&gt;
 &lt;br /&gt;
AT+GSN&lt;br /&gt;
&lt;br /&gt;
== Request system time ==&lt;br /&gt;
&lt;br /&gt;
AT-MSSTM&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
answer is like : MSSTM: 2fbb7248&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Identification ==&lt;br /&gt;
AT+GMI ou AT+CGMI &lt;br /&gt;
&lt;br /&gt;
== Model Identification ==&lt;br /&gt;
&lt;br /&gt;
AT+GMM&lt;br /&gt;
&lt;br /&gt;
== Revision ==&lt;br /&gt;
AT+GMR ou AT+CGMR &lt;br /&gt;
&lt;br /&gt;
== Geolocation Information ==&lt;br /&gt;
&lt;br /&gt;
AT-MSGEO&amp;lt;br /&amp;gt;&lt;br /&gt;
Answer is like -MSGEO: 4208,168,4772,2fa14b4d&lt;br /&gt;
&lt;br /&gt;
== Ring status ==&lt;br /&gt;
&lt;br /&gt;
AT+CRIS &lt;br /&gt;
Answer is like +CRIS:000,000 (phone/fax,SBD)&lt;br /&gt;
&lt;br /&gt;
 ==RING status extended ==&lt;br /&gt;
AT+CRISX&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Answer is like +CRISX:000,000,00000000 (phone/fax,SBD,timestamp)&lt;br /&gt;
AT+SBDMTA? - RING mode query&lt;br /&gt;
AT+SBREG - Initiate registration status &lt;br /&gt;
AT+SBDREG? - SBD registration status - 0 Detached 1 Not registered 2 Registered 3 Registration denied&lt;br /&gt;
&lt;br /&gt;
AT+SBDRT - Read a Text Message&lt;br /&gt;
&lt;br /&gt;
AT&amp;amp;K0 - remove flow control&lt;br /&gt;
AT+SBDWT=Hello World - stock text message in buffer&lt;br /&gt;
&lt;br /&gt;
AT+SBDIX - send stocked message&lt;br /&gt;
AT+SBDS -  Short Burst Data: Status - like +SBDS: 1, 33, 0, -1&lt;br /&gt;
AT+SBDSX - Short Burst Data: Status Extended  - like +SBDSX: 1, 33, 0, -1, 0, 0&lt;br /&gt;
&lt;br /&gt;
AT+SBDLOE - Trafic Management status - like +SBDLOE:0,0&lt;br /&gt;
+SBDGW – Short Burst Data: Gateway - EMSS ou non EMSS&lt;br /&gt;
AT+CULK? - Lock status&lt;br /&gt;
AT+SBDI - initiate connection to satellite - +SBDI:&amp;lt;MO status&amp;gt;,&amp;lt;MOMSN&amp;gt;,&amp;lt;MT status&amp;gt;,&amp;lt;MTMSN&amp;gt;,&amp;lt;MT length&amp;gt;,&amp;lt;MT&lt;br /&gt;
          queued&amp;gt;&lt;br /&gt;
AT+SBDIX - initiate connection and transfer either way.&lt;br /&gt;
&lt;br /&gt;
= Rockblock + =&lt;br /&gt;
&lt;br /&gt;
IP 68 / 9-30V. You need :&lt;br /&gt;
&lt;br /&gt;
* USB &amp;lt;-&amp;gt; serial DB9 adapter like a &amp;quot;Ugreen 2M USB 2.0 to Serial RS232 DB9 9Pin PL2303 Cable Adapter Converter&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Samneurohack</name></author>	</entry>

	</feed>