|
I'm trying to use the Native Wifi for continuesly reading the signal strength.
If i run the code below in a fast loop, it quickly crashes with below msg. If I move the "client" object instantiation out, and only do that once, it does not crash. However it's not updating the value correctly. If I turn of the wifi on the remote device off, this is not recogniced until i shut down my application. Only then does my pc-wifi-client remove the remote wifi device from the list.
How can i continuesly read the signal strength of a specifi SSID ?
An unhandled exception of type 'System.ComponentModel.Win32Exception' occurred in DynamicData.exe. Additional information: An attempt was made to establish a session to a network server, but there are already too many sessions established to that server
public uint Wifi()
{
signalStrength = 0;
WlanClient client = new WlanClient();
foreach (WlanClient.WlanInterface wlanIface in client.Interfaces)
{
Wlan.WlanAvailableNetwork[] networks = wlanIface.GetAvailableNetworkList(0);
foreach (Wlan.WlanAvailableNetwork network in networks)
{
if (GetStringForSSID(network.dot11Ssid) == "NAME")
{
signalStrength = network.wlanSignalQuality;
}
}
}
return signalStrength;
}
|
|
|
|
|
The answer is in the exception:
Nikolaj jensen wrote: An unhandled exception of type 'System.ComponentModel.Win32Exception' occurred in DynamicData.exe. Additional information: An attempt was made to establish a session to a network server
So what else is running? Are you opening connections and leaving them open?
You will need to look at the entire program and not just this method.
|
|
|
|
|
Hi All,
Am 2+ years experienced in asp.net,webservices and ado.net and am planning to take an MCPD certification.Can you please suggest me which .net framework version to choose and can you suggest me which exam code should i apply for?
Thanks,
Navatha.
|
|
|
|
|
|
Member 11245746 wrote: Can you please suggest me which .net framework version to choose I think you should always target the most recent one.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
I have a device that sends a value:
V_rms: 120 v
I can use a terminal on my PC and see it through my serial port.
Now, I would like to make a software of my own version to see it on a window like this:
__________
V_rms | 120 |
|__________|
(A square with the value)
Can you please guide me to start to build such GUI?
Is C# a good option to use? I use Visual Studio as an IDE. Do you have another better option such as MATLAB maybe?
What do you think?
Thanks in advance!
|
|
|
|
|
It should work fine in C#, if you already know the language.
See the SerialPort class for starters: MSDN[^] - the link contains an example - it should handle the communications pretty well.
Display is also pretty trivial - but I'd get the comms part working first, as that's likely to be the most complicated (and hardest to test).
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
While I use Visual Studio C#. Should I choose Windows Forms Application? I got a little bit confused. Let's take a look at the following example.
<a href="http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.datareceived(v=vs.110).aspx">http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.datareceived(v=vs.110).aspx</a>[<a href="http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.datareceived(v=vs.110).aspx" target="_blank" title="New Window">^</a>]
Where should I copy and past this piece of code? Because when I use Forms I got many errors!
|
|
|
|
|
WinForms is not a bad idea - it's probably the simplest after a Console app.
And the example there is a Console app - so you can't just "copy and paste" it and expect it to work.
You could copy and paste it into a Console app and it should compile cleanly (but you need to look at how it works and combine that with your task rather than just trying to code by copy and paste - that really doesn't work for anything more than trivial applications regardless of language)
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Oh shoot! Thanks for the explanation!
|
|
|
|
|
Assuming the picture background doesn't need to change, I would use Windows Forms, and:
0. create a new WinForms project.
1. prepare a background picture using whatever Graphic program I was familiar with, and save it in .jpg or .png format the one of the folders in the WinForms project.
2. on a Form in the project put a PictureBox, re-size it to hold the picture you created; load the picture you created into the Image property of the PictureBox.
3. place a Label with its background color set to be the same as the background of the Form on top of the PictureBox positioned where it's text will appear over the PictureBox so it appears as you show above.
4. as you receive data from the serial port, do the right thing to display the text representation of the data as the 'Text property of the Label.
Since I follow a programming methodology called "The Path of Slack," which holds that laziness is an ultimate value , I might do something like this in WinForms.
1. Put a Panel with BorderStyle set to 'FixedSingle on the Form.
2. repeat steps 3,4 above.
The only thing to watch for in this second approach is to make sure the Panel doesn't "swallow" the Label (while you drag it over the Panel assign the Label to the Panel's ControlCollection).
«If you search in Google for 'no-one ever got fired for buying IBM:' the top-hit is the Wikipedia article on 'Fear, uncertainty and doubt'» What does that tell you about sanity in these times?
modified 19-Nov-14 6:09am.
|
|
|
|
|
Um...Bill! I am a little bit confused! I do not care about how fancy the GUI is. What about the communication part? I would like to get it work and listen to my device first and then plan to add more feature later on!
|
|
|
|
|
The thing is number 4 is not easy to get the data! How am I suppose what to send to receive the phase A values from the meter?!
|
|
|
|
|
|
This program does not receive the data. It looks like terminal but doe snot act like that!
|
|
|
|
|
This program does not receive the data. It looks like terminal but doe snot act like that!
|
|
|
|
|
Yes it does receive and send. I use it dayli to test all our measurement unit Connections with this program
modified 19-Jan-21 21:04pm.
|
|
|
|
|
Then why I have problem to receive data! Anything wrong with .Net Framework version?
|
|
|
|
|
I assume you set the Baudrate,NoOfBit,Parity etc. correctly. If yes then it is usually a question of handshaking (RTS, CTS). This depends very much what the Sender Needs. But if you where sucessfully with another terminal then "simply" check there what Settings are working and Setup SerialPortTerminal with same values.
And have also a look to the code, I think it is easy to understand.
Regards, Bruno
modified 19-Jan-21 21:04pm.
|
|
|
|
|
Hav eyou worked on Electricity meter before?
|
|
|
|
|
Oh! Now got it to work! Just needed to tick the "DTR" option.
|
|
|
|
|
modified 19-Jan-21 21:04pm.
|
|
|
|
|
Yeah! Got it! But now I need to learn how to edit this and have a small window just show that "received" data!
|
|
|
|
|
Step by step. Play a Little bit, analize/modify code. Especally take a look how DataReceived-Hanlder from the serialport component is implemented. This part is the hardest part because one needs this Invoke Thing to avoid crashes between GUI main thread and serialport component threads.
And Keep in mind you always can unzip the original again
modified 19-Jan-21 21:04pm.
|
|
|
|
|
Yeah! It looks easy to modify but in practice it is not at all! Each time I change the GUI and delete something I have bunch of errors! Yes, seems I need to unzip everything and discover every inches!
|
|
|
|