How can a PC program talk to USB with nRF24L01+ ?

Experts,
My target is eventually Adobe Flash, or Visual Studio directly. The app would then send comms across the USB to a USB->nRF24L01+ adapter/breakout (got a few of these coming), and be read by Arduino boards (and vice-versa). I have no trouble with arduino<->arduino, and now need to find a way to allow a time-based program, like Adobe Flash, send signals from the running program.

example/use case:
So from Flash, on the timeline, 20 seconds after program starts, a command is created to be sent to a specific radio via the PC host. That remote device is, say, a nano with an nRF hanging off of it, and an LED comes on. The device sends back acknowledgement of command. At 30 seconds in, the same thing but the LED is turned off.

I’ll be worried about serial port contention after I figure out how to setup and send commands to my remote arduinos via the USB port. The only thing I’ve seen even remotely close (codeplex) is useless as it is years old and strictly for the .NET micro framework.

Has anyone heard of this being done?

If I could get C#.NET to interface with the nRF on the USB port, I could write a FIFO buffer for messaging to avoid resource contention from concurrent serial commands to the radio. Is there a better forum? This one seemed closest… Sorry if no!

TIA!

Your question seems to be entirely about how to program a PC to work with an nRF24. This Forum is about programming Arduinos.

...R

My target is eventually Adobe Flash, or Visual Studio directly. The app would then send comms across the USB

Visual Studio does NOT have the capability to anything with any serial port.

PaulS: Visual Studio does NOT have the capability to anything with any serial port.

I am not sure what you mean by this statement. I have programmed VB.NET to communicate on a serial port.

SerialPort Class (System.IO.Ports)

OP: you may want to look into buying https://www.elecrow.com/serial-to-usb-adapter-for-nrf24l01-p-1551.html

I am not sure what you mean by this statement. I have programmed VB.NET to communicate on a serial port.

You have NOT. You have written an app using VB.NET that can communicate on a serial port.

VB.NET is a language. It can NOT communicate on a serial port.

Visual Studio is a application development environment. It can NOT communicate on a serial port.

My pinhead had 27.5 angels last time I checked. :)

...R

Moderator/Robin2,

You are absolutely right. I'll move it to another forum. Since the option/possibility to have the Arduino do this (via USB) instead of the USB module for the nRF, in my confused mind it might have passed muster.

Regrets! :(

Robin2: Your question seems to be entirely about how to program a PC to work with an nRF24. This Forum is about programming Arduinos.

...R

PaulS: You have NOT. You have written an app using VB.NET that can communicate on a serial port.

VB.NET is a language. It can NOT communicate on a serial port.

Visual Studio is a application development environment. It can NOT communicate on a serial port.

SMH.

In your world, what [u]can[/u] communicate on a serial port?

@ieee488, I tried to respond to your PM but you seem to be blocking them.

...R

Robin2: @ieee488, I tried to respond to your PM but you seem to be blocking them.

...R

I don't see anywhere where I have it set to blocking. Do you know?

UPDATE: I found it. I changed it.

In your world, what can communicate on a serial port?

Lots of applications can. Some of them can even be written using Visual Studio. Some of them can even be written in VB.NET.

But a language can't. That would be like saying that English can communicate with the serial port.

And, Visual Studio can't. If you really think it can, tell me what menu option you selected to choose the serial port. The baud rate.

PaulS:
Lots of applications can. Some of them can even be written using Visual Studio. Some of them can even be written in VB.NET.

But a language can’t. That would be like saying that English can communicate with the serial port.

And, Visual Studio can’t. If you really think it can, tell me what menu option you selected to choose the serial port. The baud rate.

SMH.

Yeah, let’s really be pedantic about it. I am sure the OP finds it very helpful.

I moved this as requested by Robin2 already, but is this a common kind of nit-picking? I'm a 10 on the geek scale, and even I can't see the purpose.

You are both right, to an extent, not wholly. VS can communicate with the serial port of choice, in the same way the serial monitor in Arduino IDE does. What is nice is the ability to abstract the physical connection by dragging a serial port object onto the design surface (same with timers, etc.). I wrote an app that way that asks each available serial port if it has an Arduino on it, thus avoiding having to manually select it each time.

And as far as languages, there are "languaged" components all the way down to the USB/DB-9 (physical) level, so you could be arguing about where the "serial port" starts, and the rest ends, right? That answer will become fuzzy really quick... :)

English is not a high level language for serial ports/computers, so that is an apples/oranges example. But if you were picking nits, English can be used as a protocol to create serial port input & output. Does the hardware/middleware do the communicationg? Yes-just as much as the spoken word did.

No one piece/component/system 'communicated' with the serial port... they all did, and in this example they did it in a choreographed/unison way.

So to the last point made about 'tell me the menu option', the ones I cited above work, as do the locals/watch windows, none of which are actually part of the program under debug/testing.

Rather than making this continue like this after I started it, I would hope that I showed you (mostly PaulS) that you can't make black & white statements like the ones in this thread when it comes to what each part/component/system does. The language doesn't have ways to describe it like you say it is, and the systems can't be described as having such rigid logical/physical boundaries because they simply don't exist.

When I was writing UART drivers for the Amiga, the serial port (from the program's perspective) started once it was declared, and was represented by that declaration. That is the whole point of abstraction in programming, right?

To me, the new guy, when I write Serial.begin()... THAT is my serial port. If I want to read from, or write to, the serial port I do it from there. From my wireless module's perspective, the serial port is at the other end of the jumpers, the same way the Arduino sees it. They are both right, and I challenge you in kind to define the boundaries of a serial port that applies from the perspective of all components in the system.

I might even be able to defend the statement that any .NET 'language' (list here) isn't *really a language when you consider the mechanics of the CIL, and subsequent machine language.

So even after demonstrating that this is more of a discussion than an argument, I am left scratching my head wondering why PaulS is making such a big deal of it. I had no problem whatsoever understanding what @ieee48 was talking about.

And as an aside, I have one of those modules in your link! My post is about how to approach talking to it with an nRF on it! Ends up I then made thje topic off-topic as it was not an arduino. :)

P.S. I'm 80% of the mind now that it may end up being a nano on the usb port when implemented-especcially since this question was so hard to answer...

Thanks!

PaulS: Lots of applications can. Some of them can even be written using Visual Studio. Some of them can even be written in VB.NET.

But a language can't. That would be like saying that English can communicate with the serial port.

And, Visual Studio can't. If you really think it can, tell me what menu option you selected to choose the serial port. The baud rate.

VS can communicate with the serial port of choice, in the same way the serial monitor in Arduino IDE does.

Well, I'd sure like you to prove that. Exactly which menu options/dialogs do you use to select the port? Exactly which menu options/dialogs do you use to select the baud rate? Exactly which menu options/dialogs do you use to make Visual Studio (NOT an app built using VS, since YOU state that VS can write to the serial port) write to the serial port?

holesflow: I moved this as requested by Robin2 already, but is this a common kind of nit-picking? I'm a 10 on the geek scale, and even I can't see the purpose.

Let's try and get back to the Original Question.

Are you looking for advice about writing an Arduino program - if so, post the code that represents your best attempt.

OR, if you are looking for advice about writing a program on your PC using Microsoft Visual Something, then ask on a Visual Something Forum and the nit-pickers will have to find something else to do.

...R