No name yet

Despites the appearances and the recent “problem” with some of my code, I’m still working on coding :wink:

My goal with this project is to use it as a replacement for the “time system” (I don’t know the english word) that employees are using in my business. But, as I’m doing it, it could serve other purposes, like monitoring some machines in the factory, when equiped with appropriate sensors…

The principle is simple :

  • each board acts as a TCP client which connects to a Windows TCP server
  • each time something happens on the board (here a RFID tag to read), it sends the data to the server that will deal with it

Of course, at this stage, this is more a proof of concept thant a real industrial project. Mainly because I still don’t know how to deal with network since the FEZ Connect shield is discontinued.
This is why I’ve used my Moxa shield on the Panda : this module can act natively as a TCP client (among many other things) and connects to the Panda via serial TTL. This is an “old” shield I’ve made for something else but it’s now useful :wink: You can find more info here : GHI Electronics – Where Hardware Meets Software
I will try to replace this module with this one : http://www.moxa.com/product/MiiNePort_E3.htm It doesn’t need soldering and can be placed “where I want” in the future device.

Also, the use of such a module simplifies the code in the FEZ board as I don’t have to deal with TCP but only serial communication.

For the test, I’ve used a Panda II with a Connect shield and coded the TCP client (using a modified version of this code : http://www.tinyclr.com/codeshare/entry/198 ). On this Panda II, I’ve connected the Seeed RFID /TTL reader.

A third board is used in this test, which is a Domino (also discontinued, no luck :frowning: ) with a “special” Connect shield. Here again, I’ve had to deal with TCP in code. As I had only one Seeed RFID reader, I’ve put a Phidget RFID on the Domino USB host, so that all the test would “look like” the real thing with many RFID reader on many boards in the differents workshops.

All in all, it does work pretty well. TCP code is small enough, RFID reading is ok (as shown on the Windows TCP server capture).

Now, the biggest part is only starting : I have to create a set of commands/responses so that the TCP server can talk to its clients and so that they understand each others :wink: I already have such an experience with a (commercial) software I’ve done for astronomical cameras, so it won’t be that hard, I think. The hardest part mainly consists in choosing the right commands and their answers.
Also, how it will be delt with on the server is another great part. There will of course be some database and nice windows, along with a connection to an existing software we already have.

The example shown here only deals with RFID but you can imagine that I can/will connect some sensors if I want to use it to monitor some machines in-house. Only the commands/answers would need to be changed (and the server part, of course). But the core wouldn’t differ that much.

About the network, it will use wired ethernet because of interferences and distances. And also because I have anticipated such things and I’ve put many switches at strategic places in the factory :wink:

Of course, I still miss one important thing : which hardware will I use ? It have to think at it a little more. The Moxa board (not the shield) is expensive and will only be used for testing purposes.

Once I get something really presentable, I will come back with code. Right now, it’s more alpha stage, only to see it can work. Of course, the code will be shared and useable by everybody (except one person, for those who know…). Maybe the only part that I won’t be able to share is the interface to our existing software, I don’t know yet. But this is not a critical part of the project for everybody else than me.

If you have any question or remarks, do not hesitate do ask or tell. I will be please to answer.

Thank you for reading.


Christophe

1 Like

We have something similar. We use Arduino POE modules.

While we encourage you all to use the “Community showcase”, we ask you to only use it for finished projects. This showcase is featured on TinyCLR home page and also will be on GHI’s home page in few days.

Also, using “no name yet” is not ideal as it is now showing on homepage :slight_smile:

We hope this will not discourage you from posting your project when it is complete.

The project has been moved to general discussions

is it one of these:

@ Jay Jay - Yes it is ! Thank you :wink:

@ Gus - I didn’t understand well the concept of the “Community showcase”, sorry :frowning: It’s indeed in a better place here, but I think it will discourage me from posting my project when it is complete… No, I’m kidding :smiley: Of course I will post as much as I can.

One other thing that will be tricky will be the enclosure… :frowning:

Gus, what I think you just said is we need a new community feature :slight_smile: How about a user project blog where someone like Bec that wants to document/blog about his projects while they’re in progress can do so in a specialized way. His project posts would always be top level and discussion threads could spawn off of them. I bet the forum code could be refactored fairly easily to make this possible.

Something like this…
http://lumberjocks.com/degoose/blog

2 Likes

@ ianlee74 - The idea of a separate place for such “in-progress” projects seems good to me.

But I don’t think it really needs to be different than the other parts of the forum. Another “category” in the main structure won’t make any more work on the existing forum code (I will have new friends in GHI’s staff with this sentence :wink: ) and should be enough. We can still post many pictures and be chatty as well.

Still, I +1 your post because the idea is good :slight_smile:

Fo those of you who might be interested in that project, here’s a small video of current state :

http://www.lsp-fr.com/FEZ/demo01.mp4

I’ve connected a Panda II and a Domino, each with a FEZ Connect shield. Panda II has a Seeed RFID reader connected.

The “main” windows app is started, then I reset both boards. Then the boards announce themselves to the server and send their features (fake here, for the demo).
Next, I put a RFID tag and the Panda II sends its data to the server.
Finally, I reset again the Panda II to show that connection/disconnection is managed. You can see the board disappearing and then re-appearing on the server.

You can also see some “Sending time to X clients” lines in the debug panel. For this demo, the servers sends time to boards every 15 sec. This is made to insure that the boards are “synchronized” with the server. But, in case of error like a client down, the procedure removes the client from the list of connected boards, so that next time it won’t be scanned again. Of course, for the real application, it will be much more than 15 sec.

What is not shown here but is working :
[ul]a QUIT command from the board closes the connection and make it disappear from the list of connected devices.
if a board is powered off, like written just above, it’s automatically removed from the list at regular intervals.
when the server is stopping, it sends a special message to all of the connected boards so that they know there’s no more connection[/ul]

Thank you for reading.