Wifi Driver (AT Command) Esp8266 or Esp32 WifiNina

Did anyone has successfully created

an Esp8266 or Esp32 driver with At Command for TinyCLR or
for ESP32 WiFiNiNa driver for TinyCLR

because of COVID19 still do have no move on KOSOVA
and seems will be still a long delay to receive https://www.mikroe.com/wifi-7-click

:flushed:

try with mouser. i did order a few items and got them here in 6 days. longer than usual but still ok

in Kosovo still can not buy on Mouser or similiar
if i buy for example on EBAY or Amazon i’ve got usually from 70 - 105 days

:unamused:

I’m currently working on @mcalsyn (Martin Calsyn)'s excellent driver for use with our G120/ESP8266 board and NETMF 4.2, 4.3 and 4.4.
Martin has put a lot of work into it, all kudos to him!

It only took some minor changes to get it basically working with the much more recent version of the AT command set on the ESP12-F modules I just received. You can get those updates from my fork of his project, in the cborn-1 branch.

However there are a few issues which are causing it to lock up or delay for long periods, I was about to address them tonight - but as I’m writing this instead it may be a job for tomorrow!

As for adapting it to TinyCLR, I’m sure that wouldn’t be a lot of work - maybe it is something Martin has already done?

5 Likes

didn’t knew that. and mikroe is in Serbia. so it’s very close :confused:

just converted PervasiveDigital to TinyCLR OS

but yet not tested and debugged …

2 Likes

Converted Pervarsive ESP8266 to TinyCLR 2.0 :slight_smile:

but still face a problem with SOCKET …

0,CONNECT … (it appear as ALREADY CONNECTED) …

source available at :

1 Like

Good work, I’ll take a look (once I’m set to test TinyCLR! :grinning:)
Which version of the AT command set are you running?
I’ve got quite a few updates I’m getting ready to push, which could help. I’ve been stress-testing the code for things like fast recovery after fail to connect (bad password, SSID not found, etc), as I want to be able to run quickly through a list of possible APs.
Also looking at light-sleep (which requires another port to do the wake-up trigger)

Any reason you didn’t fork the original repo and add a branch for the TinyCLR mods? Would make it much easier to merge in any updates I (or others) make to the code, and would let us PR back to the original.

1 Like

i am using latest version of firmware for esp8266 or esp32 and no chaanges from old code only uart part and curcularbuffer only

can you tell me what update-s you did to included

to include on this TinyCLR version also what firmware you are using too …

Sorry, I meant to do that MUCH earlier, but I’ve been struggling with a problem that turned out to be a wedged directory - “Only on WindowsTM!
My ESP12 modules are running AT 1.3.0.0 Jul 14, 2016
I haven’t re-flashed them with the latest version, are there any must-have updates in the more recent versions? I know the ESP32 modules have a lot extra in their AT set, including more encryption options.

The original Pervasive code was written for the AT set 0.41.0.0, with a later update for 0.5.x.x, I modded the version detection to use the 0.5.x.x command set for 1.x.x.x as well.

I’ve just pushed an update to my fork, in the cborn-1 branch, with some faster fail detection and a callback event for various information messages, but I’m actively working on the library now and it may change. There are still problems in SoftAP mode, which I’m ignoring for now as I don’t need it yet. Looks like it could be the spurious "DNS Fail’ problem Espressif was meant to have fixed back in 2014 but I haven’t followed that up. Perhaps it is fixed in your version?

1 Like

i just converted as is PERVARSIVE and done changes for UART to be able to use TinyCLR also
faced problem with CircularBuffer GetEnumberation() at end of source so i make a slight changes to work that

and mostly code is as is no changes or very small changes …

next step from Driver above i’m trying to squize more and Networking Stuff

to replace with GHI.TinyCLR.Device.Network / System.Net ones to be able to use as is
(one of the good libraries still remain inside Utilities one I Like it …)

Wow. I take my eyes off the forum for a couple weeks and look what happens! I would be MORE than happy to take PRs into the original codebase, especially for new AT versions and TinyCLR support! I’m happy to work with you on working those into the codebase and creating new nuget packages.

2 Likes

Ghi have all network needed things ,
I like to create an proper driver for (AT version of) esp.xx (esp8266,esp32) as wifi
that are compatible with ghi network related libraries.

and to expand existing libraries for .net micro (esp32 related to ssl and certificates)

So, that’s probably a great idea. The new TinyCLR stack means that you can integrate right into their networking framework. The serialwifi network API was really there just to bridge that gap and TinyCLR does that for you now. I could even imagine doing it as a native code component.

Unfortunately, I have a few too many things in the pipeline right now so I wouldn’t likely get to that in any short amount of time. Most of my time right now is eaten up on an industrial controller project (and contributing related changes and bug fixes to the TinyCLR library).

1 Like

I am not sure if you can route everything to use your drivers. But I curious to find out. Our internal drivers, like WINC1500 and ENC28 has internal native hooks to work the the internal TCP/IP and TLS stack. Your ESP drivers uses its own stack and its own security. I am certain you can make something work but this is not going to be secure.

Please see this How Secure is Your IoT Device?

2 Likes

Yeah, if there are internals that need to be hooked then its hard and probably impossible. Maybe it’s best to keep ESP as a separate serial device, but I wonder about the overall applicability of the ESP for TinyCLR designs given that there’s better support for the TinyCLR-supported wireless and wired hardware.

idea is just as bridge to use ESP8266 (at managed side)

I would love to see esp drivers but with clear expectations so users are not confused. This should not be for commercial use and our networking examples and tutorials will not work on it.

We did allow for internal graphics to be used with any display but networking is a sensitive security subject and we can’t just open it up.