Learning mbed
Page last updated
27 Nov 2010, by
Stephane ROCHON.
1 reply
What I have tried so far :
- Playing with LEDs : OK (24/11/2009)
- Playing with 16x2 LCD screen : OK
- Playing with NOKIA 6100 : OK but line 128 and 129 (bottom of the screen)
can't be used (yet)
- Playing with SD card reader : OK, with 1GB Sandisk card
- Playing with HTTP server : OK
- Playing with simple RPC over http : OK (thanks to Llya and Rolf Meyer)
- Playing with 3 x 4 Keypad : OK
- Playing with 2 Xbees Pro and 2 mbeds: OK (thanks to Vlad and Simon)
- Playing with OneWire thermometer : OK (Thanks to Petras) (31/12/2009)
- Playing with IR sensor using AnalogIn : OK (02/01/2010)
- Playing with AudioOut : OK (02/01/2010)
- Playing with SoundREC : OK (02/01/2010)
- Playing with InterruptIn and Ticker : OK (09/01/2010)
- Writing class for 4DGL screen : graphics, text and touch managment is
done, SD card has to be done (24/01/2010)
- Playing with Serial LCD 20x4 : OK (30/01/2010)
- Playing with Accelerometer : OK but get strange result... needs more work
(30/10/2010)
- Playing with USB serial driver : OK (01/02/2010) Thanks to Chris
- Test motor controlling : OK (21/11/10)
- Playing with servos : OK (27/11/10)
- Playing with EmbeddedArtists LPCXpresso board : on going mostly with th
help of other mbeders
What's Next :
- Test Carbon Monoxyd sensor
- Test UltraSonic range finder... Trouble to get correct data information
using WR1... no solution yet
"Big" demos :
- Digicode system using Keypad and LCD sceen to simulate door opening. If
code is good, lauch webserver : OK (12/12/2009)
- Reading RFID cards on one mbed and sending ID to a remode mbed using two
Xbee modules, display on NokiaLCD : OK (20/12/2009)
**
**
Note from Llia :
The "myrpc" example blinks the LED, so yes, it is needed for that function,
and no, it is not needed for yours. Since you obviously want to implement
another function, my guess is that you don't need a pin for LED, so it can be
removed.
From what you posted it appears that you did not declare lcd object, hence all
the compile errors. I assume you would want your lcd hooked up to some mbed
pins, right? Then you probably want to let your object instantiation know
which pin(s) to use, and the class should create the actual object somewhere.
But to me it is a more difficult way... Here's why:
I guess that you have lcd class taken from some other example. I suggest it
would be easier to start with working lcd example, then incrementally add rpc
capability to it. It will be easier because "myrpc" class just demonstrates
how to hook up an existing function to RPC. Nothing prevents you from making a
good working lcd class RPC-able.
Here's how I recommend attacking the problem of RPC:
First look at the code between #ifdef MBED_RPC and #endif, make sense out of
it. (Hint: code between #ifdef MBED_RPC and #endif describes class constructor
and functions/arguments that are accessible via RPC, but it uses different
syntax which fills in data structures. You will have to map C++ to these
descriptions)
Then copy-paste that code into your lcd class .cpp and .h files as a template,
then replace "myrpc" with "lcd" everywhere (your class name), remove "blink"
function description since you don't need it and insert function(s) that you
want, following the syntax of the "blink" example.
I have a page written up on XBee communication if you want to have a look and try it out, works flawlessly, gotta love serial communication.
mBed + xBee
Thanks Vlad, I know your page ;-), that's the reason why I bought Xbees (still waiting for them as I buy in the US and get delivered in France...) so I will definitely bother you if I run into programming trouble ;-)
Thanks Vlad, Xbee demo works like a charm !
"Playing with Serial LCD 20x4 : OK (30/01/2010)"
for my project I would like to use that : http://www.robot-electronics.co.uk/htm/Lcd02tech.htm is it the one you play with ?
did you write a special library or only made some hard coded try ? or do you use the "TextLCD with I2C Interface" with some modification ?
thank you
JF Pion
Bonsoir
J'aurais besoin d'un peu d'explication sur les serveurs web.
Dans un premier temps je voudrais piloter les LED du Mbed par une interface web.
Je sais que je dois implanter un serveur web dans le mbed mais je ne comprend pas trop comment cela marche.
Erwan
Bonsoir,
Pour le serveur http, c'est assez facile, il suffit de compiler le programme HTTP Server du cookbook et de brancher le mbed sur un reseau IP avec un serveur DHCP.
Ou bloquez-vous ?
Merci de m'avoir répondu
En fait j'essaie de comprendre comment tout cela fonctionne dans un premier temps.
J'ai vu le code du HTTP server, je n'ai pas encore tout compris.
Comment fait-on si on veut piloter le mbed via une interface web que nous avons nous même créée. Cette interface doit être stockée sur le serveur web et donc sur le mbed non?
Comment faire pour qu'en tapant une adresse internet on puisse piloter le mbed, j'ai du mal à concevoir le lien entre l'interface à créer (en html, php css il faudra que je me penche la dessus aussi) et le serveur web et aussi comment y accéder hors d'un réseau local.
Je sais comment ça marche pour accéder à ma neufbox sur le réseau local: en tapant une adresse ip qui est locale, je pense que c'est aussi simple avec le mbed en local mais je voudrais le faire à distance.
#
11 Nov 2010 . Edited: 11 Nov 2010
Pour piloter le mbed via http, il faut utiliser la fonction de serveur RPC. Cela permet de passer des instructions au microcontrolleur. Pour allumer une led, il faut passer la fonction RPC write. Voici un exemple de page web permettant de le faire :
On triche, quant on clique sur le bouton, on appelle une fonction javascript qui fait l'appel RPC et demande une image. Il n'y pas d'image retournée, mais ce n'est pas grave, c'est une ruse pour faire l'appel RPC.
Ok super merci beaucoup pour ces éclaircissements.
Si j'ai bien comprit: le code en html on le fait avec le bloc note par exemple et dans le compileur mbed on fait Import et on importe ce fichier dans notre projet en cours.
Dans le main avec les fonctions des librairies HTTP on fera appel à cette interface.
Peut-être qu'il faut simplement compiler le programme avec l'appel de l'interface html et mettre ce fichier dans le mbed a coté du .bin comme on le ferait pour travailler avec des fichiers avec les fonctions fopen() etc...
La page HTML, il faut la copier dans le mbed comme le fichier .bin, ce n'est pas lié au compilateur.
Re bonjour
J'ai wrapper un socket RJ45 avec le mbed mais je n'ai aucun résultat, je ne pense pas m'être trompé sur la connection du RJ45.
Est-ce suffisant de connecter le mbed à une neufbox?
MAJ J'ai réussi la connection par ethernet. C'était un probléme avec les connecteur du magjack que j'utilise, je ne savais pas que tout les socket RJ45 n'était pas standardisé.
Always nice to keep it readable for everyone
:-s
sur un forum anglophone la courtoisie est de poster en anglais ou de mettre une traduction (et ça augmente la chance d'avoir de l'aide par la même occasion)
in english forum basic courtesy is to post in english or to provide translation (increasing the hope for help by the way)
#
27 Nov 2010 . Edited: 27 Nov 2010
Good question : as this is my notebook page and not a forum page, do I have to keep it in English ? What the mbed rule for this ? As far as I can read, our Japanese members do not have a problem with this ;-)
Bonne question : comme il s'agit d'une page de mon notebook et pas du forum, suis-je obligé de l'écrire en anglais ? Quel est le point de vue de la mbed team ? En tous cas les japonais du site ne se posent pas la question (et ça ne me dérange pas)
1 comment on Learning mbed:
Stephane,
To answer your question - at the moment there's no rule or guidance about language, as far as I know!
As mbed becomes more and more popular around the world, it's inevitable that people will want to have discussions in the language they feel most comfortable with.
The challenge with dealing with that is getting the balance right. On the one hand mbed is now international, on the other, we want to keep everything here accessible to as many people as possible.
So it's a developing situation right now, I think as is normal in technical things, English is the default here, but other languages are not banned :)
We have discussed some technical 'solutions' to the languages issue, including something like automatic integrated google translate into your own language. Would be interested in any ideas you guys might have about it.
Please log in to post comments.
I have a page written up on XBee communication if you want to have a look and try it out, works flawlessly, gotta love serial communication.
mBed + xBee