IoT Labs WiFi module

@ munderhill - Do you already have a picture how the driver is going to be licensed? Or should i say any idea what cost will be involved?

Is the driver written in C/C++ or C#?

Thanks, Rob

@ RobvanSchelven - The board will cost ~$58-$60 (US) and will include the binaries for the driver and supporting classes. All drivers and libraries are written in C#. Source licenses have not been discussed, but if you are interested in that option contact me privately.

@ munderhill - Please let me know when you have a board available to ‘play’ with.
Thanks, Rob

;D Just to prepare for manufacturing the first set of boards, please leave a comment here about how many boards you will be ordering and whether you want a on-board antenna or external antenna (not included).

Please note that this is not a commitment to purchase, I just want to get an estimate of how many boards need to be built in the first run.

@ munderhill - 2 boards please with external antenna connection

I would like at least 1… any ideas on the price?

Thanks!

I checked all 3 pages twice!.. I think I need get a new prescription for my glasses… or I am working too much! :slight_smile:

here you go:
https://www.ghielectronics.com/community/forum/topic?id=15682&page=3#msg164136

it says $58 - $60
cheers,

I’ll take two, one without and one with external antenna connection

Understood

Built 2 more boards and both passed inspection and QA testing! :dance:

I’ve also got the libraries built for both NETMF v4.2 and v4.3 (minor changes were required).

Just a few more items on the checklist before sales can begin…

3 Likes

So, I spent yesterday (12+ hrs) trying to get a store up and running with little success :frowning: :wall: and rather than delay until I do get a store running I am just going to ask that anyone who would like to purchase an IoT Labs WiFi Gadgeteer module (IL-G-WF121) please send me a private message and I will let you know the details. The basics are:

Module + (2) 10cm cables = $58.00
Shipping International = $25.00
Shipping Domestic (US only) = $6.00

Today, I will be focusing on what really matters, driver and software! :slight_smile:

Tindie? There is a fine gadgeteer store!

1 Like

Below is a video of the IoT Labs Gadgeteer WiFi module acting as a WiFi access point and webserver in this example. The phone is accessing a page with graphics and toggles the debug LED.

6 Likes

@ munderhill - Most interesting for me to see is the URL as a name instead of an IP address :slight_smile:

@ RobvanSchelven - That only works when the module is running in access point mode and DHCP and DNS server is enable (the default). If the module instead connects to an existing access point, the IP address must be used.

@ munderhill - :’( Is that a limitation of the managed driver or the device(API)

@ RobvanSchelven - Probably the driver. The module has a DNS server that I use to resolve the name when in access point mode. I will look into getting the name registered with the local DNS server.

1 Like

Here is the code for the Webserver test.

		private IWifiAdapter _wifi;
		private AccessPoint _ap;
		private WebServer _webserver;
		void ProgramStarted()
		{
			_wifi = new SerialWifi("COM2", (Cpu.Pin)6);
			_wifi.CommandFailed += new WifiBase.CommandFailedDelegate(OnCommandFailed);
			_ap = new AccessPoint(_wifi, new IpAddress(new byte[] { 192, 168, 1, 1 }), "IoTLabs");
			_ap.Started += new EventHandler(OnApStarted);
			_webserver = new WebServer(_wifi, "IoTLabs");
			_webserver.ResourceManager = Resources.ResourceManager;
			_webserver.ActionRequested += OnActionRequested;
			_webserver.AddPage(@ "/ledcontroller.html", Resources.StringResources.LedController);
			_webserver.AddImage("/iotlabs-small.png", Resources.BinaryResources.iotlabs_small);
			_ap.Start();
		}
		string OnActionRequested(object sender, string method, Hashtable parameters)
		{
			var response = string.Empty;
			switch (method)
			{
				case "ToggleLED":
					response = ToggleLED(parameters);
					break;
			}
			return response;
		}
		private bool _state;
		private string ToggleLED(Hashtable parameters)
		{
			_state = !_state;
			Mainboard.SetDebugLED(_state);
			return Resources.GetString(Resources.StringResources.LedController);
		}
		void OnApStarted(object sender, EventArgs e)
		{
			_webserver.Start();
		}
		void OnCommandFailed(object sender, CommandFailedEventArgs e)
		{
			Debug.Print("ERROR = " + e.ErrorDescription);
		}

Anyone else want to get in on the first run of the module? Please send me a private message before tomorrow.