WiFi Drivers for CC3000 and BCM43362 - Cannot get working.


#1

I have tried to perform a WiFi Scan example on the following boards with corresponding wifi modules using latest libraries and releases:

Arduino Due - CC3000
Cannot get it to work with Zerynth Studio and Adafruit Breakout Board.
Works OK when programmed using PlatformIO IDE and Arduino IDE.

Particle Photon - inbuilt BCM43362

Cannot get it to work with Zerynth Studio.
When I revert to Particle firmware and upload Particle Tinker, works OK to Android App.

STM Nucleo F401RE - CC3000
Cannot get it to work with Zerynth Studio and Adafruit Breakout Board.

All hardware runs simple Hello Zerynth examples so it would appear that serial communications are OK.

In all cases I’m running the IDEs under Windows 10.

From the above testing it would appear that:
1. The hardware is working fine.
2. The Zerynth libraries are not working fine.
3. Other IDEs get it right.

Is this a known issue?
When is it likely to be resolved?

Being able to connect to the WiFi is a fundamental requirement for IOT applications and would therefore appear to be a primary area for prompt fixing.

I’m about ready to give up on Zerynth and start using PlatformIo which appears to give me the flexibility to program a variety of hardware, although (as yet) not the advantages of Python coding.

I hope you can find time to give me a prompt and positive response.

Despairing
Ken


#2

hi @kenr 
the photon works fine on my machine with Win 10 (see image below just captured).
Do you have the Zerynth libraries updated to the last versions?
You can check it via Zerynth Package Manager. click the circle icon on top right corner of the ZPM column for updating the packages DB. You will se an orange icon on the top bar of the ZPM if some package is out of date.




The CC3000 is a known issue we are working on it.
@Giacomo should have a driver update almost ready to be released. we’ll keep you posted.
We are very sorry for this issue
Best
Daniele


#3

I have just installed the v2 Studio.
I still cannot get the WiFi Scan example to work on either a Arduino Due + Adafruit CC3300 or a Photon with the BCM Driver.
Is this still an issue to be resolved shortly or is it me?
Ken


#4

Previous post should have read " … CC3000 …"
Sorry


#5

Now over a month since I posted this without any response. Not that any of my posts get a quick response.

I have had issues regarding WiFi on various devices since joining via Kickstarter many months ago.

Any chance of an answer to this point?

There appears to be a lack of resources or intent at Zerynth to resolve issues quickly.

If Zerynth is to become a significant player in the IOT space it will have to speed up development and rectification of issues otherwise it will miss the opportunity.

Ken


#6

Hi Kenr,

Unfortunately, the cc3000 wifi chip, as described in the official texas instruments wiki (link), is a discontinued product and Texas Instruments itself recommends CC3200 & CC3100 chip (not supported yet in Zerynth) for all new and existing embedded Wi-Fi & Internet of Things applications.

In our internal tests the cc3000 chip works most of the time but we detect from time to time problems regarding signal level, scanned nets, and lost connections.

Instead the BCM43362 chip mounted on the Particle Photon works well in all of our tests and we don’t detect any problems; we load the wi-fi scan example on 2 different Particle Photon uncommenting the “import library” row (from broadcom.bcm43362 import bcm43362 as wifi_driver) and everything works.
If you don’t see anything in the serial console you should put a sleep instruction before the start of the scan because the Particle Photon is very quick and maybe it has already printed the informations when you open the serial.

Another advice is that if you call other library function (like set_antenna(), etc.) you must put them in the script after the auto_init() function.

Here a script that should resolve the problem:

import streams
import socket

import the wifi interface

from wireless import wifi

uncomment the following line to use the BCM43362 driver (Particle Photon)

from broadcom.bcm43362 import bcm43362 as wifi_driver

streams.serial()

# init the wifi driver
sleep(2000)
print(“Init…”)
wifi_driver.auto_init()

a list of security strings

wifi_sec=[“Open”,“WEP”,“WPA”,“WPA2”]

sleep(2000)
print(“Scanning for 15 seconds…”)
try:
# start scanning for 15000 milliseconds
res = wifi.scan(15000)

# if everything goes well, res is a sequence of tuples
# each tuple contains:
# -ssid: the name of the network
# -sec: the security type of the network, from 0 to 3
# -rssi: the strength of the signal, from 0 to 127
# -bssid: the mac address of the access point
for ssid,sec,rssi,bssid in res:
    print(ssid,"::",wifi_sec[sec],":: strength ",rssi*100/127)

except Exception as e:
print(e)

<br>I hope that this can help you.<br>Let me know

#7

Thanks for your fast response.

Have tested your code with the Photon and NodeMcu v2 and both work fine.
The sensitivity of the Photon is much less than I normally get with Particle firmware.

Moving on now to the HTTP Time example to see if I can get either device to connect to my WiFi network.

Still cannot get result with the Due+CC3000. Does  Giacomo’s previous comment still apply or has the driver been updated yet?

Ken


#8

Further to my last post …
The site “/www.timeapi.org” appears to no longer exist, therefore the example fails.

I have tried testing with the HTTP Weather example which appears to work fine, proving connectivity.

It is a pity that Zerynth examples which do not work have not been either fixed or removed.

It is also a pity that the examples have not been updated to reflect the growing number of platforms Zerynth works on. For example the ZerynthApp Basic example does not include many WiFi drivers.

If new users are to grasp the value of Zerynth quickly, good working examples give a great start-up experience.

Ken

Ken 


#9

hi @kenr 
thanks for your very helpful feedback and suggestions.
We are working hard day by day to improve the Zerynth usability and user experience but keeping track of all the changes happening on the web is a big challenge… this is why we have a community :smiley: 
Thanks again for your support! 


#10

Have installed latest update, r2.0.5, and still cannot get the CC3000 to work using the WiFiScan example and Arduino Due.

The Arduino Due plus CC3000 work fine using Arduino code.

Can you confirm …

1. the CC3000 drivers should work with r2.0.5 and the Due?
2. if not when is it anticipated that this will be resolved?
3. or is it the example code?

For information, the Due Programming Port seems to be unavailable for uploading after the WiFiScan has been run until I reconnect the Due.


#11

Just installed r2.0.7.

Situation with CC3000 as before, still not working with Zerynth but OK with PlatformIO and Arduino IDE.

Been discussing this issue for a long time without success.

Do you intend to fix the library for the CC3000 Or are you not intending to support it going forward?

Ken


#12

Hi Kenr,

Unfortunately CC3000 wi-fi chip has been declared deprecated by Texas Instrument that is now pushing toward the use of CC3100 and CC3200 (link)

The new configuration of the Zerynth sockets is too complicated to be supported by the CC3000 original firmware and in order to enable this we would need to invest also on a redesign of the Texas Instrument CC3000 firmware. For this reason we decided to do not invest anymore in updating the CC3000 drivers as we need to invest the support effort on solutions that are up and running and supported by the vendors.

Zerynth libraries for Microchip MCW1001A, Microchip WINC1500, and STM SPWF01SA wi-fi chips are now available and we invite you choosing the most suitable for your projects. Other new wi-fi chips libraries will arrive in the early future.

We hope you understand the issue and you appreciate our effort in supporting the Zerynth community, thanks for being part of it.

Matteo



#13

What device to you recommend to use with Arduino Due?


#14

these are the arduino shields based on the supported chips:

enjoy :slight_smile: