]> pere.pagekite.me Git - homepage.git/blob - blog/tags/robot/index.html
77ca24e478d94ec31361f6af4d8506e7617d0153
[homepage.git] / blog / tags / robot / index.html
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">
4 <head>
5 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: Entries Tagged robot</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" />
9 <link rel="alternate" title="RSS Feed" href="robot.rss" type="application/rss+xml" />
10 </head>
11 <body>
12 <div class="title">
13 <h1>
14 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
15
16 </h1>
17
18 </div>
19
20
21 <h3>Entries tagged "robot".</h3>
22
23 <div class="entry">
24 <div class="title">
25 <a href="http://people.skolelinux.org/pere/blog/First_version_of_a_Perl_library_to_control_the_Spykee_robot.html">First version of a Perl library to control the Spykee robot</a>
26 </div>
27 <div class="date">
28 9th October 2010
29 </div>
30 <div class="body">
31 <p>This summer I got the chance to buy cheap Spykee robots, and since
32 then I have worked on getting Linux software in place to control them.
33 The firmware for the robot is available from the producer, and using
34 that source it was trivial to figure out the protocol specification.
35 I've started on a perl library to control it, and made some demo
36 programs using this perl library to allow one to control the
37 robots.</p>
38
39 <p>The library is quite functional already, and capable of controlling
40 the driving, fetching video, uploading MP3s and play them. There are
41 a few less important features too.</p>
42
43 <p>Since a few weeks ago, I ran out of time to spend on this project,
44 but I never got around to releasing the current source. I decided
45 today that it was time to do something about it, and uploaded the
46 source to my Debian package store at people.skolelinux.org.</p>
47
48 <p>Because it was simpler for me, I made a Debian package and
49 published the source and deb. If you got a spykee robot, grab the
50 source or binary package:</p>
51
52 <p><ul>
53 <li><a href="http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1.tar.gz">libspykee-perl_0.0.20101009-1.tar.gz</a></li>
54 <li><a href="http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1.dsc">libspykee-perl_0.0.20101009-1.dsc</a></li>
55 <li><a href="http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1_all.deb">libspykee-perl_0.0.20101009-1_all.deb</a></li>
56 </ul></p>
57
58 <p>If you are interested in helping out with developing this library,
59 please let me know.</p>
60
61 </div>
62 <div class="tags">
63
64
65 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</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>.
66
67
68 </div>
69 </div>
70 <div class="padding"></div>
71
72 <div class="entry">
73 <div class="title">
74 <a href="http://people.skolelinux.org/pere/blog/My_first_perl_GUI_application___controlling_a_Spykee_robot.html">My first perl GUI application - controlling a Spykee robot</a>
75 </div>
76 <div class="date">
77 1st September 2010
78 </div>
79 <div class="body">
80 <p>This evening I made my first Perl GUI application. The last few
81 days I have worked on a Perl module for controlling my recently
82 aquired Spykee robots, and the module is now getting complete enought
83 that it is possible to use it to control the robot driving at least.
84 It was now time to figure out how to use it to create some GUI to
85 allow me to drive the robot around. I picked PerlQt as I have had
86 positive experiences with the Qt API before, and spent a few minutes
87 browsing the web for examples. Using Qt Designer seemed like a short
88 cut, so I ended up writing the perl GUI using Qt Designer and
89 compiling it into a perl program using the puic program from
90 libqt-perl. Nothing fancy yet, but it got buttons to connect and
91 drive around.</p>
92
93 <p>The perl module I have written provide a object oriented API for
94 controlling the robot. Here is an small example on how to use it:</p>
95
96 <p><pre>
97 use Spykee;
98 Spykee::discover(sub {$robot{$_[0]} = $_[1]});
99 my $host = (keys %robot)[0];
100 my $spykee = Spykee->new();
101 $spykee->contact($host, "admin", "admin");
102 $spykee->left();
103 sleep 2;
104 $spykee->right();
105 sleep 2;
106 $spykee->forward();
107 sleep 2;
108 $spykee->back();
109 sleep 2;
110 $spykee->stop();
111 </pre></p>
112
113 <p>Thanks to the release of the source of the robot firmware, I could
114 peek into the implementation at the other end to figure out how to
115 implement the protocol used by the robot. I've implemented several of
116 the commands the robot understand, but is still missing the camera
117 support to make it possible to control the robot from remote. First I
118 want to implement support for uploading new firmware and configuring
119 the wireless network, to make it possible to bootstrap a Spykee robot
120 without the producers Windows and MacOSX software (I only have Linux,
121 so I had to ask a friend to come over to get the robot testing
122 going. :).</p>
123
124 <p>Will release the source to the public soon, but need to figure out
125 where to make it available first. I will add a link to
126 <a href="http://wiki.nuug.no/grupper/robot/">the NUUG wiki</a> for
127 those that want to check back later to find it.</p>
128
129 </div>
130 <div class="tags">
131
132
133 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</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>.
134
135
136 </div>
137 </div>
138 <div class="padding"></div>
139
140 <div class="entry">
141 <div class="title">
142 <a href="http://people.skolelinux.org/pere/blog/Robot__reis_deg___.html">Robot, reis deg...</a>
143 </div>
144 <div class="date">
145 21st August 2010
146 </div>
147 <div class="body">
148 <p>I dag fikk jeg endelig tittet litt på mine nyinnkjøpte roboter, og
149 har brukt noen timer til å google etter interessante referanser og
150 aktuell kildekode for bruk på Linux. Det mest lovende så langt er
151 <a href="http://ispykee.toyz.org/">ispykee</a>, som har en
152 BSD-lisensiert linux-daemon som står som mellomledd mellom roboter på
153 lokalnettet og en sentral tjeneste der en iPhone kan koble seg opp for
154 å fjernstyre roboten. Linux-daemonen implementerer deler av
155 protokollen som roboten forstår. Etter å ha knotet litt med å oppnå
156 kontakt med roboten (den oppretter et eget ad-hoc wifi-nett, så jeg
157 måtte gå av mitt vanlige nett for å få kontakt), og kommet frem til at
158 den lytter på IP-port 9000 og 9001, gikk jeg i gang med å finne ut
159 hvordan jeg kunne snakke med roboten vha. disse portene. Robotbiten
160 av protokollen er publisert av produsenten med GPL-lisens, slik at det
161 er mulig å se hvordan protokollen fungerer. Det finnes en java-klient
162 for Android som så ganske snasen ut, men fant ingen kildekode for
163 denne. Derimot hadde iphone-løsningen kildekode, så jeg tok
164 utgangspunkt i den.</p>
165
166 <p>Daemonen ville i utgangspunktet forsøke å kontakte den sentrale
167 tjenesten som iphone-programmet kobler seg til. Jeg skrev dette om
168 til i stedet å sette opp en nettverkstjeneste på min lokale maskin,
169 som jeg kan koble meg opp til med telnet og gi kommandoer til roboten
170 (act, forward, right, left, etc). Det involverte i praksis å bytte ut
171 socket()/connect() med socket()/bind()/listen()/accept() for å gjøre
172 klienten om til en tjener.</p>
173
174 <p>Mens jeg har forsøkt å få roboten til å bevege seg har min samboer
175 skrudd sammen resten av roboten for å få montert kamera og plastpynten
176 (armer, plastfiber for lys). Nå er det hele montert, og roboten er
177 klar til bruk. Må få flyttet den over til mitt vanlige trådløsnett
178 før det blir praktisk, men de bitene av protokollen er ikke
179 implementert i ispykee-daemonen, så der må jeg enten få tak i en mac
180 eller en windows-maskin, eller implementere det selv.</p>
181
182 <p>Vi var tre som kjøpte slike roboter, og vi har blitt enige om å
183 samle notater og referanser på <a
184 href="http://wiki.nuug.no/grupper/robot/">NUUGs wiki</a>. Ta en titt
185 der hvis du er nysgjerrig.</p>
186
187 </div>
188 <div class="tags">
189
190
191 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>.
192
193
194 </div>
195 </div>
196 <div class="padding"></div>
197
198 <div class="entry">
199 <div class="title">
200 <a href="http://people.skolelinux.org/pere/blog/2_Spykee_roboter_i_hus__n__skal_det_lekes.html">2 Spykee-roboter i hus, nå skal det lekes</a>
201 </div>
202 <div class="date">
203 18th August 2010
204 </div>
205 <div class="body">
206 <p>Jeg kjøpte nettopp to
207 <a href="http://www.spykee-robot.com/">Spykee</a>-roboter, for test og
208 leking. Kjøpte to da det var så billige, og gir meg mulighet til å
209 eksperimentere uten å være veldig redd for å ødelegge alt ved å bytte
210 ut firmware og slikt. Oppdaget at lekebutikken på Bryn senter hadde
211 en liten stabel på lager som de ikke hadde klart å selge ut etter
212 fjorårets juleinnkjøp, og var villig til å selge for en femtedel av
213 vanlig pris. Jeg, Ronny og Jarle har skaffet oss restbeholdningen, og
214 det blir morsomt å se hva vi får ut av dette.</p>
215
216 <p>Roboten har belter styrt av to motorer, kamera, høytaler, mikrofon
217 og wifi-tilkobling. Det hele styrt av en GPL-lisensiert databoks som
218 jeg mistenker kjører linux. Firmware-kildekoden ble visst publisert i
219 mai. Eneste utfordringen er at kontroller-programvaren kun finnes til
220 Windows, men det må en kunne jobbe seg rundt når vi har kildekoden til
221 firmwaren. :)</p>
222
223 <ul>
224 <li><a href="http://en.wikipedia.org/wiki/Spykee">Wikipedia-oppføring</a></li>
225 <li><a href="http://www.spykeeworld.com/spykee/US/freeSoftware.html">Nedlasting av firmware-kilden</a></li>
226 <li><a href="http://wiki.nuug.no/grupper/robot">prosjektwiki hos NUUG</a></li>
227 </ul>
228
229 </div>
230 <div class="tags">
231
232
233 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>.
234
235
236 </div>
237 </div>
238 <div class="padding"></div>
239
240 <p style="text-align: right;"><a href="robot.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS Feed" width="36" height="14" /></a></p>
241 <div id="sidebar">
242
243
244
245 <h2>Archive</h2>
246 <ul>
247
248 <li>2012
249 <ul>
250
251 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
252
253 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
254
255 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
256
257 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
258
259 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
260
261 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
262
263 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
264
265 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (1)</a></li>
266
267 </ul></li>
268
269 <li>2011
270 <ul>
271
272 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
273
274 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
275
276 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
277
278 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
279
280 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
281
282 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
283
284 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
285
286 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
287
288 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
289
290 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
291
292 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
293
294 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
295
296 </ul></li>
297
298 <li>2010
299 <ul>
300
301 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
302
303 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
304
305 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
306
307 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
308
309 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
310
311 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
312
313 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
314
315 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
316
317 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
318
319 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
320
321 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
322
323 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
324
325 </ul></li>
326
327 <li>2009
328 <ul>
329
330 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
331
332 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
333
334 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
335
336 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
337
338 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
339
340 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
341
342 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
343
344 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
345
346 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
347
348 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
349
350 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
351
352 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
353
354 </ul></li>
355
356 <li>2008
357 <ul>
358
359 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
360
361 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
362
363 </ul></li>
364
365 </ul>
366
367
368
369 <h2>Tags</h2>
370 <ul>
371
372 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (13)</a></li>
373
374 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
375
376 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
377
378 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (2)</a></li>
379
380 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (12)</a></li>
381
382 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
383
384 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (55)</a></li>
385
386 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (110)</a></li>
387
388 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (9)</a></li>
389
390 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
391
392 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (145)</a></li>
393
394 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (17)</a></li>
395
396 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
397
398 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (6)</a></li>
399
400 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (30)</a></li>
401
402 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (16)</a></li>
403
404 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (8)</a></li>
405
406 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (4)</a></li>
407
408 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
409
410 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (22)</a></li>
411
412 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (190)</a></li>
413
414 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (142)</a></li>
415
416 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (4)</a></li>
417
418 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
419
420 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (34)</a></li>
421
422 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (48)</a></li>
423
424 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
425
426 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
427
428 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (2)</a></li>
429
430 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (4)</a></li>
431
432 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
433
434 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (4)</a></li>
435
436 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
437
438 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (23)</a></li>
439
440 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
441
442 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (1)</a></li>
443
444 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (36)</a></li>
445
446 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (1)</a></li>
447
448 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (4)</a></li>
449
450 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (10)</a></li>
451
452 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (6)</a></li>
453
454 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (32)</a></li>
455
456 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (1)</a></li>
457
458 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (25)</a></li>
459
460 </ul>
461
462
463 </div>
464 <p style="text-align: right">
465 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.4</a>
466 </p>
467
468 </body>
469 </html>