WiFi options for FEZ Cobra III?

Can you recommend WiFi module that can be used with FEZ Cobra III?
I just got the FEZ Cobra III and could not find anything on the forum.

Thanks!

@ EvoMotors - the cobra II uses the G120 modules which is the same as used by the spider II. the easiest solution, is to use the Gadgeteer WiFi module and a breakout module to connect to cobra. Look at the Spider II schematic for connection info, and look at the WiFi module gadgeteer source code for how to use the GHI API.

You can use the S socket on the gadgeteer GXP breakout. This way you eliminate the need for wiring things.

… And while you are at it, buy one of the displays. They are awesome :wink:

@ Gus -
I already got the Display NHVN Module, now just waiting for the display with touch.
I wish it was easier to find products in the catalog. Didn’t know about GXP breakout.

Thanks.

@ Gus -
I just noticed that the gadgeteer GXP breakout sharing “I” and “T” on the same connector. However, the Display NHVN Module has separate connectors for “I” and “T”.

How can I connect the GXP breakout board to NHVN Module? Can I?

@ EvoMotors - The Display NHVN requires either the T or I socket, not both. Which you use depends on the display you select. Resistive displays require the T socket and capacitive displays require the I socket.

@ John -
Thank you!

I connect ted the WiFi module to S socket in the GXP Gadgeteer Bridge and now trying to actually use it, but I have no Idea what pins I should use in the code. I assume the pins in the example would not work.



Can someone help me with it?

No they won’t. Again as you did with the TOUCH, reverse engineer which ones via the schematics.

Maybe one of the employees that suggested to buy this bridge can help?

@ Gus -
Can you help with the WiFi pin-out on FEZ Cobra III and GXP Gadgeteer Bridge?

@ cyberh0me -
I don’t have prior experience with GHI hardware. I still don’t understand how to relate pin numbering in the schematics vs pin numbering in the code. So I’m lost…

@ EvoMotors - I don’t have a Cobra III and I’m not shure if it is right. In any case you should doublecheck if it could be correct:


public class Program
    {
        static GHI.Networking.WiFiRS9110 _enc;

        public static void Main()
        {
            _enc = new GHI.Networking.WiFiRS9110(Microsoft.SPOT.Hardware.SPI.SPI_module.SPI2, GHI.Pins.FEZCobraIII.Gpio.D51, GHI.Pins.FEZCobraIII.Gpio.D50, GHI.Pins.FEZCobraIII.Gpio.D59, 24000);
        }
           
    }



WiFiRS9110 = new WiFiRS9110(GHI.Pins.FEZCobraIII.SpiBus.Spi2, GHI.Pins.FEZCobraIII.Gpio.D51, GHI.Pins.FEZCobraIII.Gpio.D50, GHI.Pins.FEZCobraIII.Gpio.D59, 24000);
netif.Open() ;

Throws an exception:
An unhandled exception of type ‘GHI.Networking.WiFiRS9110.HardwareFailureException’ occurred in GHI.Networking.dll
GHI.Networking.WiFiRS9110::UpdateInternalMacAddress
GHI.Networking.BaseInterface::Open

Also tried with Microsoft.SPOT.Hardware.SPI.SPI_module.SPI2. So my guess the pins are not correct.

@ EvoMotors - reading the exception information will give you a clue about the problem.

@ EvoMotors -
I came from this sample that I had on a raptor:


netif = new WiFiRS9110(Microsoft.SPOT.Hardware.SPI.SPI_module.SPI2, GHI.Pins.FEZRaptor.Socket1.Pin6
                , GHI.Pins.FEZRaptor.Socket1.Pin3, GHI.Pins.FEZRaptor.Socket1.Pin4, 24000);

            WiFiRS9110.NetworkParameters ADHOC_PARAMS = new WiFiRS9110.NetworkParameters();
            ADHOC_PARAMS.Channel = 10;

            ADHOC_PARAMS.SecurityMode = WiFiRS9110.SecurityMode.Wpa;
            ADHOC_PARAMS.Ssid = SSID;
            //ADHOC_PARAMS.SecurityMode = WiFiRS9110.SecurityMode.Wpa2;
            ADHOC_PARAMS.NetworkType = WiFiRS9110.NetworkType.AccessPoint;
           netif.Open();
            netif.EnableDhcp();
            netif.EnableDynamicDns();

            netif.Scan();
            netif.Scan();
            netif.Join(SSID, myKey);

            while (netif.IPAddress == "0.0.0.0")
            {
                Debug.Print("Waiting for DHCP");
                Thread.Sleep(250);
            }

            Debug.Print("IpAddress: " + netif.IPAddress
                                      + "\r\n" + "SubnetMask " + netif.SubnetMask
                                      + "\r\n" + "Gateway " + netif.GatewayAddress
                                      );
            //The network is now ready to use.

So think the Parameters 2, 3 and 4 of the constructor are the Gadgeteer Socket Pins 6, 3 and 4. I traced from there to the G120 SOM and so came to the Pins.

First image is the schematics of the SU socket from the GXP Gadgeteer Bridge and GXP socket on the board. Second image is socket on the WiFi module. I don’t understand how to translate pin names\numbers on the GXP socket schematics to the pins enumeration in the software.

It’s worth going through the effort to back trace this through the schematics as this will give a good understanding of how to do this for future projects. It’s a bit like spending time reading and learning to decode datahseets. Time well spent.

This what I traced. So pins in the code looks correct


But I'm getting WiFiRS9110.HardwareFailureException:
GHI.Networking.WiFiRS9110::UpdateInternalMacAddress
GHI.Networking.BaseInterface::  Open
MFWindowApplication1.Program::Main

As soon as netif.Open(); getting called

I searched the forum for the same exception, and in all cases it looked like the WiFi board was bad. Also I noticed that this WiFi module has an LED light and the LED does not get lit on mine.

Should I contact GHI for a return?