Project architectural insights...

Greetings Forum!

Hey so, my project will involve me taking sensor data and getting it to a platform wirelessly.

I would be taking 4 inputs of data from commonly used sensors, such as light, temp, etc., and streaming that data to an IOS based device. What is the currently common method for doing something like this.

Also, I've looked at a bunch of WiFi devices and many are no longer available, or talking about needing to flash those devices...is there nothing that simply attaches to the UNO ... ?

I've never programmed for WiFi usage before...are there particular book titles, or articles that speak to what the over arching strategy for using a set (say 4-6) Arduino UNO units to send sensor data to a single app running on MacOS...or any ideas how one would manage this?

Newbie Thanks you in advance?

is there nothing that simply attaches to the UNO ... ?

BLE shields do.

I've never programmed WiFi before

Just as well. You don't "program" WiFi. You program computers to use WiFi.

Thanks in advance?

Not sure, huh?

Well, Oops...I am sorry PaulS...I didnt mean to express uncertainty of thanks...Been up since 4:30am yesterday, school all day from 8am to 10:30pm, and my son just had two seizures back to back...my brain is a bit fried, I admit.

What I meant was, I've never coded for access/use of WiFi communication between computing devices. The most network related coding I've done was simply write a file to networked drive that was already in a connected relationship with the device my code was running on.

OK I'll look for BLE Shields...I've looked at a few Shields being sold (Ebay, SparkFun, Hackster.io) but the options dont really present a clear picture of the architecture or methods) hence the reason I've posted here in "Project Guidance"

Anyway, I dont usually click on Ad Banners, but I just saw one talking about the Arduino MKR family...and went for it. Looks like there is a new WiFi module. MKR WiFi 1010...I'll take a look into it. Meanwhile, thanks in advance for any guidance provided.

I have coded tons of work...PC based, C/C++/Java application level, back-end and GUI stuff. Never been a builder, and the Adruino platform is brand new to me so its a bit of a challenge but...I saw the Arduino platform as a solution to a problem only last Friday...and so I'm diving in.

I am thankful that there is a community, and thankful there is a forum called Project guidance. I am reading all I can find...even bought a couple of books... Just hoping to engage in some architectural level discussion, with some diving into specifics such as communication with external platforms, and hmmm not sure what to call it, but what ever you would call having multiple arduinos running the same hw/sw config connected to a single system monitoring them.

My project will is not a classic client server architecture...the arduinos are providing data streams as they monitor sensors, and the central system is capturing the data streams via wireless connectivity, and massaging the data in realtime to then stream output to another system.

It's an art project...

My project will is not a classic client server architecture...the arduinos are providing data streams as they monitor sensors

I think you need to think of this as "the Arduinos are providing discrete data..." rather than as a continuous stream. And THAT fits the traditional client/server architecture. Each client makes a request to the server, when it has new data to be dealt with.

Your real problem is going to be consuming the data. Making the Arduino hand off data - wired or wirelessly - is the easy part. Getting the iOS device to consume it is going to be far harder. And, HOW you go about making it consume the data is going to have a huge influence on how the Arduino hands off the data.

If you tell us more about how you plan to consume the data, then we can give better answers.

Maybe think about MQTT.

Or have I missed something?

Or have I missed something?

This?

It's an art project...

This sounds like Bluetooth or BLE will be most useful. But you haven't specified any distances.

  1. Bluetooth and IR work inside one room.
  2. WiFi works in the whole house.
  3. Cellular works anywhere there is cell coverage.
  4. Radio works outdoors and room-to-room.
  5. Satellite works anywhere you can see the sky.
  1. Cellular works anywhere there is cell coverage.

That's a surprisingly small part of the US.

PaulS:
I think you need to think of this as "the Arduinos are providing discrete data..." rather than as a continuous stream. And THAT fits the traditional client/server architecture. Each client makes a request to the server, when it has new data to be dealt with.

Your real problem is going to be consuming the data. Making the Arduino hand off data - wired or wirelessly - is the easy part. Getting the iOS device to consume it is going to be far harder. And, HOW you go about making it consume the data is going to have a huge influence on how the Arduino hands off the data.

If you tell us more about how you plan to consume the data, then we can give better answers.

Thank you PaulS.

SO, I've made another error... I meant MacOS device.

The art project is prototyped based on a sound sensor and app on my Mac. I transpose amplitude to commands, which are sent via api to another app that controls lights via DMX commands.

A big jump in scale, the project is an art/social experience ... Its a guided experience where the visitors participating pick up my sensor unit (Arduino based neatly packaged) and enter the gallery space. They are directed through viewing a variety of art pieces, and experience light video and audio feedback in the space. As more people enter the space, the feedback is a composite of all the units data.

The sensor unit is arduino based and outfitted with a variety (TBD) of sensors, pulse and body temp possibly, for example.

The data from these sensors is sent to the (Mac), where the server app will translate the data into commands for lighting, and MIDI to be captured by the Ableton app, and played as musical notes. At some point, I want to extend the feedback to a video screen that shows dots or some representation of the visitor and some rendition of their specific feedback.

AWOL:
Maybe think about MQTT.

Or have I missed something?

Thanks AWOL... I'm out today picking up a few books...IoT and Maker fundamentals oriented stuff. MQTT sounds interesting and perhaps appropriate. I just dont know enough yet.

MorganS:
This sounds like Bluetooth or BLE will be most useful. But you haven't specified any distances.

  1. Bluetooth and IR work inside one room.
  2. WiFi works in the whole house.
  3. Cellular works anywhere there is cell coverage.
  4. Radio works outdoors and room-to-room.
  5. Satellite works anywhere you can see the sky.

Thanks MorganS.

The range will probably be 1 to 100' ... probably outside of the max range for Bluetooth (isnt that around 30'). I think WiFi, especially with the newer AP technology, based on your list, would be the right choice. Radio would likely work, though I suspect is more than the project needs...

The data from these sensors is sent to the (Mac)

Is? Or is to be?

If you are not yet sending data, but plan to, once you have how worked out, you might want to talk about what kind of data, how often, how far, how reliable the process needs to be, and how many devices will be sending data at any given point in time. All those factors influence what hardware and software are needed to send, and receive, the data.

probably outside of the max range for Bluetooth (isnt that around 30')

Things like mice, keyboards, baby monitors, etc. have a 10 meter range, give or take.

Some bluetooth devices have longer range (at a cost of using more power).

PaulS:
Is? Or is to be?

If you are not yet sending data, but plan to, once you have how worked out, you might want to talk about what kind of data, how often, how far, how reliable the process needs to be, and how many devices will be sending data at any given point in time. All those factors influence what hardware and software are needed to send, and receive, the data.

Thanks again.

Is 'to be', would be accurate, as the design is not created, nor is a system. At this time I dont have a design, considering that I didnt even know what was possible before last Friday October 26th. However, I think I can attempt to frame a most challenging case with answers/hopes regarding those factors.

I want to consider the possibility of motion sensing. Let's say accelerometer data. So, the data is the numerical data representing the rate of acceleration at the moment of a sample. I'd like this data sample to be .1 second resolution x 4 sensors per arduino based unit. In the initial case, I would like to support up to 6 units/devices sending data at a time.

Ive been playing with the GY-521 MPU-6050 3 Axis Accelerometer Gyroscope Module for a couple days, and getting familiar with getting the data, displaying it in the monitor window. It's very fast, and so now I want to scale up polling and gathering the data from 4 sensors on the same Arduino unit. And next will work on the sending part. Based on guidance I get here.

Im excited about all that is possible now.

robjphillips:
... As more people enter the space, the feedback is a composite of all the units data...

With those specifications (I didn't quote the whole post but it is all relevant) I would recommend WiFi, mostly because you have a central server they must all talk to.

MorganS:
With those specifications (I didn't quote the whole post but it is all relevant) I would recommend WiFi, mostly because you have a central server they must all talk to.

Excellent! So, looking at the MKR 1000 ... Maybe ahead of myself, but it helps me to have some physical reference as I consider the design. A couple of other Shield type WiFi have also been mentioned. I'll be looking into those as well.

PaulS:
Is? Or is to be?

If you are not yet sending data, but plan to, once you have how worked out, you might want to talk about what kind of data, how often, how far, how reliable the process needs to be, and how many devices will be sending data at any given point in time. All those factors influence what hardware and software are needed to send, and receive, the data.

Hello PaulS
I think my post got lost, or I missed the message that said I had posted too quickly (forum restriction for newbies).
At this point I would begin with a design target of a sample rate of about .1 second interval times 4 accelerometer sensors, and a distance of up to 50'... As for reliability, I would reference reliability should be as stable as a laptop connected to an Access Point at home. And there would be as many as 4 of these sending data to the server app running on a MacOS based device.