I2C hardware selection for WiFi based connectivity

This may be a noob question, but I didn’t find a comprehensive explanation on this website so far.
I’m trying to set up a simple scenario:

  1. Sensors with I2C on a monitored gizmo, data from sensors should be sent via WiFi.
  2. RaspberryPi receiving the data via Wifi.

It looks like I don’t need to do much on the receiving side, as Pi already has Wifi capability.

On the sending side, I’m gonna use something like motion tracking module (PR7-19). It looks like I should use the WI-FI_INT_ANTENNA comms module to send data. But I can’t find see how it can be connected to the sensor. In a youtube video at 1:29 there is a I2C Wireless Adapter mentioned with SKU PR33-48, but I can’t find that adapter in NCD Shop. Is there another solution?

Second question is, how that chain if I2C devices is supposed to be powered. In the same youtube video I don’t see anything about it, nor I can find an intro into building device chains with I2C in the “Learn” section. What should I use for powering it?

Thanks!

Hi,

What you are describing is definitely possible but to be honest you’re going to need a lot of experience in programming and development. This will not be a simple system to implement. What development languages do you have experience in?

Hi Travis, well I do have some experience in this area, as this is gonna be a continuation of my learning journey with IoT. I was planning to use Python and, if needed, Java.
I’m a bit concerned with your comment, though, that it’s not gonna be a simple system to implement, as I considered it to be the simplest scenario from which I would develop the prototype further. Anyway I’m still optimistic.

We do have the wireless to I2C adapter but it is not listed on our site. A WiFi module could be installed in that adapter and it could be configured to connect to the IP address of your Pi on the network. This would allow you to communicate with the I2C chain remotely via WiFi from the Pi. There is a communication API for communicating with the chip on the Wireless to I2C adapter which you will need to implement in the language you decide to develop on on the Pi. That API is documented here:


To be honest I would recommend starting off with this I2C adapter connected to the USB port of the Pi:

The only difference between this and the Wireless to I2C adapter with WiFI module installed is the communication is via a TCP socket rather than a Serial interface so transitioning should be very simple between the two.
These I2C adapters were never really intended for cross platform development use. Most users connect them to a Windows computer which is why the documentation is skewed in that direction.

As I said though this is 100% possible, it just depends on how much time you want to dedicate to the project.

Thank you,
Travis Elliott

Thank you Travis, yeah it seems like a bit more work than I was willing to do, especially that it would still be a prototype.
If I connect I2C sensors to Pi using wires, why don’t I just use Pi as a WiFi transmitter? I already have implemented the code for that based on Azure IoT SDK for that. Do I miss any downside?

Yes, there’s no reason that would not work. You will need code running on the Pi to communicate with the I2C sensors, parse the data and then send it to Azure, but that is probably simpler.