]> pere.pagekite.me Git - homepage.git/blob - blog/archive/2010/09/index.html
Generated.
[homepage.git] / blog / archive / 2010 / 09 / 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>
4 <head>
5 <title>Petter Reinholdtsen: entries from September 2010</title>
6 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/style.css">
7 <link rel="alternate" title="RSS Feed" href="09.rss" type="application/rss+xml">
8 </head>
9 <body>
10 <!-- XML FEED -->
11
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 <p>Entries from September 2010.</p>
21
22
23 <div class="entry">
24 <div class="title">
25 <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>
26 </div>
27 <div class="date">
28 2010-09-01 21:00
29 </div>
30
31 <div class="body">
32
33 <p>This evening I made my first Perl GUI application. The last few
34 days I have worked on a Perl module for controlling my recently
35 aquired Spykee robots, and the module is now getting complete enought
36 that it is possible to use it to control the robot driving at least.
37 It was now time to figure out how to use it to create some GUI to
38 allow me to drive the robot around. I picked PerlQt as I have had
39 positive experiences with the Qt API before, and spent a few minutes
40 browsing the web for examples. Using Qt Designer seemed like a short
41 cut, so I ended up writing the perl GUI using Qt Designer and
42 compiling it into a perl program using the puic program from
43 libqt-perl. Nothing fancy yet, but it got buttons to connect and
44 drive around.</p>
45
46 <p>The perl module I have written provide a object oriented API for
47 controlling the robot. Here is an small example on how to use it:</p>
48
49 <p><pre>
50 use Spykee;
51 Spykee::discover(sub {$robot{$_[0]} = $_[1]});
52 my $host = (keys %robot)[0];
53 my $spykee = Spykee->new();
54 $spykee->contact($host, "admin", "admin");
55 $spykee->left();
56 sleep 2;
57 $spykee->right();
58 sleep 2;
59 $spykee->forward();
60 sleep 2;
61 $spykee->back();
62 sleep 2;
63 $spykee->stop();
64 </pre></p>
65
66 <p>Thanks to the release of the source of the robot firmware, I could
67 peek into the implementation at the other end to figure out how to
68 implement the protocol used by the robot. I've implemented several of
69 the commands the robot understand, but is still missing the camera
70 support to make it possible to control the robot from remote. First I
71 want to implement support for uploading new firmware and configuring
72 the wireless network, to make it possible to bootstrap a Spykee robot
73 without the producers Windows and MacOSX software (I only have Linux,
74 so I had to ask a friend to come over to get the robot testing
75 going. :).</p>
76
77 <p>Will release the source to the public soon, but need to figure out
78 where to make it available first. I will add a link to
79 <a href="http://wiki.nuug.no/grupper/robot/">the NUUG wiki</a> for
80 those that want to check back later to find it.</p>
81
82 </div>
83 <div class="tags">
84
85
86
87 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>.
88
89 </div>
90 </div>
91 <div class="padding"></div>
92
93 <p style="text-align: right;"><a href="09.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS Feed" width="36" height="14"></a></p>
94
95
96
97 <div id="sidebar">
98
99 <h2>Archive</h2>
100 <ul>
101
102 <li>2010
103 <ul>
104
105 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
106
107 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
108
109 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
110
111 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
112
113 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
114
115 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
116
117 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
118
119 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
120
121 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (1)</a></li>
122
123 </ul></li>
124
125 <li>2009
126 <ul>
127
128 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
129
130 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
131
132 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
133
134 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
135
136 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
137
138 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
139
140 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
141
142 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
143
144 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
145
146 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
147
148 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
149
150 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
151
152 </ul></li>
153
154 <li>2008
155 <ul>
156
157 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
158
159 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
160
161 </ul></li>
162
163 </ul>
164
165
166
167 <h2>Tags</h2>
168 <ul>
169
170 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (11)</a></li>
171
172 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
173
174 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
175
176 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (10)</a></li>
177
178 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (35)</a></li>
179
180 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (43)</a></li>
181
182 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (59)</a></li>
183
184 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (1)</a></li>
185
186 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (8)</a></li>
187
188 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (3)</a></li>
189
190 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (8)</a></li>
191
192 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (2)</a></li>
193
194 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
195
196 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (5)</a></li>
197
198 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (77)</a></li>
199
200 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (101)</a></li>
201
202 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (14)</a></li>
203
204 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (16)</a></li>
205
206 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (10)</a></li>
207
208 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (3)</a></li>
209
210 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
211
212 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (14)</a></li>
213
214 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (3)</a></li>
215
216 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (13)</a></li>
217
218 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (1)</a></li>
219
220 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (10)</a></li>
221
222 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (1)</a></li>
223
224 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (7)</a></li>
225
226 </ul>
227
228 </div>
229 </body>
230 </html>