1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" dir=
"ltr">
5 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: Robot, reis deg...
</title>
7 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/vim.css" />
13 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
21 <div class=
"title">Robot, reis deg...
</div>
22 <div class=
"date">21st August
2010</div>
23 <div class=
"body"><p>I dag fikk jeg endelig tittet litt på mine nyinnkjøpte roboter, og
24 har brukt noen timer til å google etter interessante referanser og
25 aktuell kildekode for bruk på Linux. Det mest lovende så langt er
26 <a href=
"http://ispykee.toyz.org/">ispykee
</a>, som har en
27 BSD-lisensiert linux-daemon som står som mellomledd mellom roboter på
28 lokalnettet og en sentral tjeneste der en iPhone kan koble seg opp for
29 å fjernstyre roboten. Linux-daemonen implementerer deler av
30 protokollen som roboten forstår. Etter å ha knotet litt med å oppnå
31 kontakt med roboten (den oppretter et eget ad-hoc wifi-nett, så jeg
32 måtte gå av mitt vanlige nett for å få kontakt), og kommet frem til at
33 den lytter på IP-port
9000 og
9001, gikk jeg i gang med å finne ut
34 hvordan jeg kunne snakke med roboten vha. disse portene. Robotbiten
35 av protokollen er publisert av produsenten med GPL-lisens, slik at det
36 er mulig å se hvordan protokollen fungerer. Det finnes en java-klient
37 for Android som så ganske snasen ut, men fant ingen kildekode for
38 denne. Derimot hadde iphone-løsningen kildekode, så jeg tok
39 utgangspunkt i den.
</p>
41 <p>Daemonen ville i utgangspunktet forsøke å kontakte den sentrale
42 tjenesten som iphone-programmet kobler seg til. Jeg skrev dette om
43 til i stedet å sette opp en nettverkstjeneste på min lokale maskin,
44 som jeg kan koble meg opp til med telnet og gi kommandoer til roboten
45 (act, forward, right, left, etc). Det involverte i praksis å bytte ut
46 socket()/connect() med socket()/bind()/listen()/accept() for å gjøre
47 klienten om til en tjener.
</p>
49 <p>Mens jeg har forsøkt å få roboten til å bevege seg har min samboer
50 skrudd sammen resten av roboten for å få montert kamera og plastpynten
51 (armer, plastfiber for lys). Nå er det hele montert, og roboten er
52 klar til bruk. Må få flyttet den over til mitt vanlige trådløsnett
53 før det blir praktisk, men de bitene av protokollen er ikke
54 implementert i ispykee-daemonen, så der må jeg enten få tak i en mac
55 eller en windows-maskin, eller implementere det selv.
</p>
57 <p>Vi var tre som kjøpte slike roboter, og vi har blitt enige om å
58 samle notater og referanser på
<a
59 href=
"http://wiki.nuug.no/grupper/robot/">NUUGs wiki
</a>. Ta en titt
60 der hvis du er nysgjerrig.
</p>
63 <div class=
"tags">Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot
</a>.
</div>
81 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
83 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
85 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
87 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
89 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
91 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
5)
</a></li>
98 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
100 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
102 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
104 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
106 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
108 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
110 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
112 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
114 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
116 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
118 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
120 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
127 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
129 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
131 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
133 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
135 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
137 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
139 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
141 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
143 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
145 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
147 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
149 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
156 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
158 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
160 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
162 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
164 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
166 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
168 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
170 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
172 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
174 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
176 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
178 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
185 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
187 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
198 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
13)
</a></li>
200 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
202 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
204 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
2)
</a></li>
206 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
12)
</a></li>
208 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
210 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
54)
</a></li>
212 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
103)
</a></li>
214 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
8)
</a></li>
216 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
3)
</a></li>
218 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
133)
</a></li>
220 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
16)
</a></li>
222 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
12)
</a></li>
224 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
27)
</a></li>
226 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
16)
</a></li>
228 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
8)
</a></li>
230 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
4)
</a></li>
232 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
234 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
16)
</a></li>
236 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
169)
</a></li>
238 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
129)
</a></li>
240 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
242 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
25)
</a></li>
244 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
47)
</a></li>
246 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
1)
</a></li>
248 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
250 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
2)
</a></li>
252 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
4)
</a></li>
254 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
256 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
4)
</a></li>
258 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
1)
</a></li>
260 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
23)
</a></li>
262 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
264 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
29)
</a></li>
266 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
1)
</a></li>
268 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
4)
</a></li>
270 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
9)
</a></li>
272 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
6)
</a></li>
274 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
25)
</a></li>
276 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
1)
</a></li>
278 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
20)
</a></li>
284 <p style=
"text-align: right">
285 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.4
</a>