I have been studying Cypress' wi-fi modules because I want to develop my own application.
I learned that the Amazon Dash Button uses a 850101 (I think it's from USI) module which consists of a cyw43362 (formerly bcm43362) wi-fi module with an integrated cortex m3 microcontroller, and it also uses an external cortex m3 microcontroller. I saw that there are many people hacking the device in order to play with it (thus having a $5 wi-fi enabled board), but when they program it they never say which microcontroller they are programming; the external or the microcontroller internal to the wi-fi chipset.
From what I've read everything made me believe that in order to develop my own board and application I'd need to:
- buy 850101 (or similar) module, which would come programmed, or buy a cyw43362 (there are 2 more, but I'm interested in this one) and then program it with the default program
- buy an external microcontroller (I don't want to use the one inside the module because it doesn't have enough resources for what I want it to do) and connect it to the wi-fi module via SDIO or SPI
- buy passive components and connector
- buy sma antenna for the 850101 (or similar)
I tried installing the SDK (I didn't download 3.7, I downloaded 4.0.7)and taking a look at the source but it doesn't even let me open the zip files for the SDK, so I have no idea what I'm dealing with.
From there I'd have to program the external microcontroller to send commands to the module. The thing is that I don't know how to go on from here:
- Do I need a TCP/IP stack like lwip? is there a port available for lwip for this device?
- If it doesn't need a tcp/ip stack then it means that the device already knows how to send and receive packets, and for that I'd need a set of commands. Does it run on AT commands or is there a document where I can get that info?
- Considering that everything is readily available, can I run a web server with websockets? Can I use REST? Can I use MQTT? Do I need to develop everything myself?
- Does CYW43362 come ready for use with an external microcontroller?
- Is there an API for OTA? I saw somewhere on the site that OTA2 was available for SDK3.7
I readthis document and it made me think that what I want to do is possible, I just can't find the information as on how to procceed.