Please help to choose hardware (low-cost device with WiFi)

Hello SparkFun experts,

I’m starting a project to control Hue lights directly via Zigbee Light link. The device will be plugged into power outlet, should be connected to internet over WiFi. So here is what I need from hardware:

  • Zigbee and WiFi connectivity.

  • Smallest size possible.

  • Ease of programming. I want to be able to make HTTPS requests from my device and connect to XMPP server (+TLS negotiation), and I don’t want to implement that layer myself :slight_smile: So I would like to use some existing http libraries. Not sure if using sleekxmpp would be possible, but if not, ok, can parse XML myself.

Some options I considered:

  • Raspberry Pi with XBee module. Definitely should work, XBee as I understand provides WiFi connectivity too. The downside is the size and price of the whole setup.

  • XBee Pro is programmable, has WiFi connectivity, quite small, but it doesn’t look like there are libraries that I need for HC08 architecture.

  • Arduino nano plus XBee module. Same concern as with previous option, but the situation should be better because of platform spread.

What do you think? I’m pretty sure I missed some hardware that is available on market. Thanks for any advice!

The Xbee brand (from Digi.com) has modules for Wifi, 802.15.4 and Zigbee protocols. But they do not communicate between them, even though they use the same frequency range. Al modules are dedicated to their own protocol. If you want to keep it simple and small I suggest you reconsider the wireless links, and reduce it to just one protocol and type of parts.

Valen:
The Xbee brand (from Digi.com) has modules for Wifi, 802.15.4 and Zigbee protocols. But they do not communicate between them, even though they use the same frequency range. Al modules are dedicated to their own protocol. If you want to keep it simple and small I suggest you reconsider the wireless links, and reduce it to just one protocol and type of parts.

I recall a recent post at HaD re: a bridge device that married WiFi to all sorts of other (home automation) RF protocols. It was available at Home Depot (and many others) for ~$50 and I thought ... for all that HW, it's a steal. I just can't recall it's name. :evil:

EDIT : Ha, I found it. It’s a Wink Home Hub. See if it’s part of a solution. :ugeek:

http://www.homedepot.com/p/Quirky-Hub-S … /205132090

Valen:
The Xbee brand (from Digi.com) has modules for Wifi, 802.15.4 and Zigbee protocols. But they do not communicate between them, even though they use the same frequency range. Al modules are dedicated to their own protocol. If you want to keep it simple and small I suggest you reconsider the wireless links, and reduce it to just one protocol and type of parts.

Thank you, but what do you mean by “they do not communicate between them”. Can I use XBee WiFi module to connect to my WiFi AP and use that to connect to XMPP server?

Actually using Zigbee is secondary for my project. The first thing I want to do for the prototype a device that should be able to connect to XMPP server via WiFi access point and receive messages, that’s it. Apparently Arduinos [are too weak to handle TLS, so I’m looking at [SparkCore now, they have Wi-Fi builtin and should be powerful enough. I also found [PolarisSSL library for embedded devices to handle TLS for me. Thoughts? Should that work? Did I miss anything?

PS sorry for the delay, didn’t see the response before today, I thought I should receive notifications for replies… Now I see that checkbox I missed.](https://polarssl.org/)](https://www.spark.io/)](encryption - HTTPS alternative on Arduino - Stack Overflow)

smokxx:
PS sorry for the delay, didn’t see the response before today, I thought I should receive notifications for replies… Now I see that checkbox I missed.

Go to User Control Panel > Board Preferences tab > Edit Posting Defaults (left column) > Notify me upon replies by default: check yes (last option in the list).

Done.

smokxx:

Valen:
The Xbee brand (from Digi.com) has modules for Wifi, 802.15.4 and Zigbee protocols. But they do not communicate between them, even though they use the same frequency range. Al modules are dedicated to their own protocol. If you want to keep it simple and small I suggest you reconsider the wireless links, and reduce it to just one protocol and type of parts.

Thank you, but what do you mean by “they do not communicate between them”. Can I use XBee WiFi module to connect to my WiFi AP and use that to connect to XMPP server?

Actually using Zigbee is secondary for my project. The first thing I want to do for the prototype a device that should be able to connect to XMPP server via WiFi access point and receive messages, that’s it. Apparently Arduinos [are too weak to handle TLS,[/quote]I meant that Wifi XBee can’t interact with Zigbee Xbee, nor can 802.15.4 Xbee interact with either of them, and all other permutations. I’m not familiar with what an XMPP server does. So you better ask the people at Digi.com what their products can do in detail. Same goes for the details of what the TLS protocol requires for hardware.I have no clue. Al I know it that it resides on layer 4 of the OSI model, which puts it more into the responsibility of the OS/firmware, than hardware I think.

… so I’m looking at [SparkCore now, …

[/quote]Uhm, sssh … let’s not give the lawyers of SPARC International any more bait to restart their assault on Sparkfun… :wink:

https://www.sparkfun.com/news/300

All kidding aside, the module described on that site does seem similar to the Arduino Due in it’s processing specs. (ARM 32-bit Cortex M3 based) But the Due doesn’t have the wifi functionality on board.You would need to add a wifi shield. And that would make it noticeably more bulky in comparison. Also, the problem is probably finding libraries for it. But that might be the problem for both of them. As I find no reference to advanced secure networking protocols on the site. I would definitely ask for compatibility with TLS at their forum or contact email adress.](https://www.spark.io/)

](encryption - HTTPS alternative on Arduino - Stack Overflow)

Oops, I guess I missed this:

All requests to the Spark Core come through our API server using TLS security.

http://docs.spark.io/api/

Valen:
Oops, I guess I missed this:

All requests to the Spark Core come through our API server using TLS security.

http://docs.spark.io/api/

I think they mean that connection between client and Spark API is secured with TLS, but I found on their forum that it's not possible to even make an HTTPS request from Spark Core: [[here is one post](http://community.spark.io/t/calling-https-url-google-docs-from-spark-core-is-it-possible/4825/4) and [[another one](http://community.spark.io/t/https-calls-from-spark-core/4366/2) where one of developers says they're working to provide a solution. Looks like they have a special secure protocol between Spark Cloud and Core, that's it.

I’m trying to understand now whether it’s possible to use PolarSSL in SparkCore.](HTTPS calls from Spark Core - #2 by bko - Cloud - Particle)](Calling HTTPS URL (google docs) from spark core... is it possible? - #4 by bko - Troubleshooting - Particle)

Found also another interesting thing - [SharkSSL. They claim they can fit into 19KB ROm and 2KB ram for client-only TLS. SparkCore has 32bit Cortex M3 CPU Core and SharkSSL even has some benchmarks on this processor. Sounds promising… Theoretically.](SharkSSL - Embedded SSL/TLS C Code Library)

smokxx:
Found also another interesting thing - [SharkSSL. They claim they can fit into 19KB ROm and 2KB ram for client-only TLS. SparkCore has 32bit Cortex M3 CPU Core and SharkSSL even has some benchmarks on this processor. Sounds promising… Theoretically.[/quote]
I looked hard at this 2 years ago. Not viable for practical use in less than 256KB coexisting with user apps.](SharkSSL - Embedded SSL/TLS C Code Library)

stevech:

smokxx:
Found also another interesting thing - [SharkSSL. They claim they can fit into 19KB ROm and 2KB ram for client-only TLS. SparkCore has 32bit Cortex M3 CPU Core and SharkSSL even has some benchmarks on this processor. Sounds promising… Theoretically.[/quote]
I looked hard at this 2 years ago. Not viable for practical use in less than 256KB coexisting with user apps.[/quote]

I just found this old thread, but it would be good if you could clarify.

You are saying that your own app is 256K - 19K?

According to the map file Real Time Logic provides on their site, the ROM size is 19K.

See:

https://realtimelogic.com/products/sharkssl/

https://realtimelogic.com/downloads/TM4 … mo.map.txt

Note that the MAP file is not just for SSL, but for ALL code.](SharkSSL - Embedded SSL/TLS C Code Library)