HELP...Please Hold MY Hand!

Greetings!

I need help with my Cayenne and Arduino setup.

Here is my system:]
Arduino IDE 1.6.13 (set for Arduino Uno) Com5
Genuine Arduino Uno R3
Genuine Arduino
Genuine Arduino Wireless SD Shield
Genuine Xbee S1

I have tried everything I have read in postings both here, Blynk & the main Arduino web sites and nothing works, I even thought about slaughtering a goat at midnight but nothing works.

I can upload a Wifi sketch with no problems but the only message I get from the Uno is, “Wifi shield not present”.

I have also tried a number of the Ethernet boards and I can upload a basic sketch but the system will not make contact with the server. I have even set up my own network with a Linksys router and made sure that here is no security and no firewall to no avail.

I am a little taken aback by the concept of this being simple as I am not a novice with the Arduino but not an expert (which, it seems, I need to be).

I will trying Bluetooth next…if I can get some help.

I would really appreciate some help as I have already spend a good deal of time and money and would really like to get this system working.

Hi @tsenneville, thanks for joining the Cayenne Community.

Since it sounds like (at this point) you’re just interested in getting your Uno connected to Cayenne, whatever the method, I would start with a wired Ethernet shield from our supported hardware list to make sure we have a matching and tested sketch file for your hardware. I know you’ve mentioned that you had a few to try but not their specific models, hopefully one is on that last.

I don’t have an Arduino Wireless SD Shield at the moment to test, but I suspect that may be the source of some of your wireless woes – we have sketch files for Arduino WiFi Shield and Arduino WiFi 101 Shield but as you can see from those links they are 3 distinct products and the SD may not work out of the box with our current Cayenne libraries.

I don’t think ZigBee or Bluetooth modules are supported.

Most wifi and ethernet modules are. You can also just use your uno and route through the USB cable.

If we could get this working, do you have a ZigBee gateway to route the ZigBee packets to the internet?

Same with Bluetooth, you will need a Bluetooth gateway on the other end to get your data to the internet.

Cheers,

Craig

Greetings!

The module I am using is the Xbee Series 1 on a Arduino Wireless SD Shield. If this is not a combination that will work...please suggest a set-up that WILL work.

Thanks

-----Original Message-----

P.S.

What would be the best system for going from smart phone running Cayenne software to the Arduino (whatever Wifi)?

-----Original Message-----

Depends on what you want to do, but an Adafruit Feather Huzzah is only 16
bucks, and comes with a USB to serial converter, 3v3 regulator, and a LiPo
charger.

It can be used as a shield to your Uno or by itself by overwriting the
firmware with the Arduino IDE.

I think it is the quickest module to lock onto wifi too. The problem with
standalone usage though is it only has one ADC channel with a 1V range and
only a few usable I/O pins. You can however connect an expander and control
it over SPI or I2C.

The MKR1000 has tons of I/O, space, and speed, and has an embedded Cortex
processor with DMA features if you want a Ferrari.

Let me know your application and I can help you select something.

Cheers,

Craig

The Cayenne apps connect to the Cayenne cloud. The IoT devices connect through your WiFi or Ethernet networks to the cloud too, so you can access them from anywhere.

Most networks allow outbound ports, and that is the beauty of devices like Nest working out of the box.

If your I/O requirement is low, get ESP modules like the Feather Huzzah. I actually run most of my devices with 2 dollar ESP modules without all the extra circuitry.

You could also buy a WiFi shield to work with your Uno, however, there are issues with that module too. The WiFi101 module library is far too large for the Uno and doesn’t give you any program space if you get it to compile. People who are using that are connecting it to a Mega or Zero.

Let us know your application for more guidance.

Cheers,

Craig

If you’re running the Cayenne mobile app (iOS or Android) and have your Arduino associated with your Cayenne account, (which requires an internet connection of some type, whether it’s Ethernet, WiFi, a connection over a USB cable, etc), there shouldn’t be any other hardware necessary. Connect the Arduino to Cayenne, create widgets to interact with sensors and actuators, then you can interact with those widgets via the mobile app.

As to the post above, the easy solution is to pick a combination of Arduino board and Ethernet/WiFi shield from our supported hardware list which is growing all the time. In fact we’ll be investigating support for that Wireless SD Shield based on your post here, we’re trying to develop to community demand. So if anyone else is reading this and has/wants that shield supported, voice yourself here! :slight_smile:

Right now all I want to do is to be able to control two (2) stepper motors wirelessly (I Have the motor drivers (easy Stepper)) and I know how to use them. Being able to control them from the Android app is where I am going.

Tony

-----Original Message-----

This:

http://reprap.org/wiki/Easy_Stepper

or this:

Yes, this is what I use. I am building a 10 inch Dobaonian Telescope and would like to use stepper motors and that Cayenne app (wirelessly) to control the motors.First, I need to get the Cayenne app to talk to the arduino system.
T.

May Peace be Upon You!

1 Like

So I would buy a Feather Huzzah and use this sketch I made for you. You need to set the dashboard to use digital widgets for V1 and V3 - direction of 1 and 2 and sliders for V2 and V4 showing what count you want. Wire up your steppers to use the defined pins, and solder the SJ2 jumper on the EasyDrivers to expect the 3V3 pulses. You can simplify it if you want and write the direction output at the same time as the V1 and V3 change, but I was being cautious and thinking it would be best to only set that when the stepper is commanded to move. You may also want to also have a Fire button to do the stepping instead of on a change, but you get the idea.

//#define CAYENNE_DEBUG         // Uncomment to show debug messages
#define CAYENNE_PRINT Serial  // Comment this out to disable prints and save space

#include <CayenneDefines.h>
#include <BlynkSimpleEsp8266.h>
#include <CayenneWiFiClient.h>
#include <ESP8266WiFi.h>

//define stepper pins
#define DIR_1   12 
#define DIR_2   13
#define STEP_1  14
#define STEP_2  16

// Cayenne authentication token. This should be obtained from the Cayenne Dashboard.
char token[] = "token"; //your token

// Your network name and password.
char ssid[] = "ssid"; //your ssid
char password[] = "pass"; //your pass

//step direction globals
int step_direction_1 = 0;
int step_direction_2 = 0;

void setup() {

  //setup your stepper pins as outputs
  pinMode(DIR_1, OUTPUT);
  pinMode(STEP_1, OUTPUT);
  pinMode(DIR_2, OUTPUT);
  pinMode(STEP_2, OUTPUT);

  Serial.begin(9600);
  Cayenne.begin(token, ssid, password);  
}

void step_one(int dir, int steps) {
  step(step_direction_1, STEP_1, dir, steps);
}

void step_two(int dir, int steps) {
  step(step_direction_2, STEP_2, dir, steps);
}


void step(int dir_pin, int step_pin, int dir, int steps){

  digitalWrite(dir_pin,dir);
  
  delay(50);
  
  for(int i=0;i<steps;i++){  
    digitalWrite(step_pin, HIGH);
    delayMicroseconds(100);
    digitalWrite(step_pin, LOW);
    delayMicroseconds(100);
  }
}

void loop()
{
  Cayenne.run();
}

//get step direction from dashboard (stepper 1)
CAYENNE_IN(V1)
{
  step_direction_1 = getValue.asInt();
}

//step number of steps in slider on stepper 1
CAYENNE_IN(V2)
{
  step_one(step_direction_1,getValue.asInt());
}

//get step direction from dashboard (stepper 2)
CAYENNE_IN(V3)
{
  step_direction_1 = getValue.asInt();
}

//step number of steps in slider on stepper 2
CAYENNE_IN(V4)
{
  step_two(step_direction_2,getValue.asInt());
}

Cheers,

Craig

WOW! Thanks very much!
I have ordered the Feather and some 3.3 volt regulaters.I will let you know when I am ready to try it.
Happy Holidays!
Tony

May Peace be Upon You!

1 Like

Greetings!

Can you please send this to me again...

As you can see from the sketch below, when I saved the email all of the formatting was lost and I am not sure how to fix the copy that I have.

My Feather should be here today and I would like to take a crack at it again.

Sorry for the goof up and I really appreciate the effort you put into this.

Thanks and Have a Happy and Safe New Year!

Tony

-----Original Message-----

Just follow the link to this forum page, and copy and paste the above code.

Cheers,

Craig

Got it! Thanks again!

I will let you know when I get it working.

Have A Safe and Happy New Year!

Tony

-----Original Message-----

Funny you mention this. I was just today thinking about a celestial clock movement mount for a telescope, IoT connected. Synchronicity!

I also have a customer (Director of Mt. Wilson Observatory) who wants a large Orrery chandelier for his multi- million $$ home Orrery - Wikipedia . I’m SURE that the RasPi-3 can handle all the calculations and positioning, using continuous rotation servos w/ indexed positioner disk. I figure I can make one for about $30,000. (He’s wealthy) I never pursued it-

Be sure to share it with us! :slight_smile:

1 Like

OK…We have Liftoff!

I have a question though:

I have added two custom Widgets (Lights) to control motor direction and have assigned them digital pins 12 and 13 respectively. I was adding the “Sliders” for motor speed but when I tried to assign the pins I find that only pins 0-13 are available…no 14-16! I am using the Cayenne app for Android, if that matters.
My setup is as follows:
Board = Feather Huzzah set as Arduino Uno - WiFi (In the app)
IDE = Arduino 1.8.
Cayenne-Arduino-Library-Master (downloaded 12/29/16)

If 0we can not figure out why the digital pins 14-16 are missing, can I use Pins 0 & 2?

Thanks

It’s a bug since esp devices are not officially supported yet. If you use virtual pins you can still use 14 and 16.

No. Do NOT use GPIO 0 or 2.

I’ve been trying “creative” ways to use GPIO 0 and 2.
It is NOT worth the hassle. Trust me.
GPIO 0 MUST be allowed to FLOAT high on bootup- or the ESP goes into flash programming.
GPIO 2 MUST be allowed to FLOAT high on bootup- or the ESP will not execute the program.

I usually assign GPIO 2 as “Blue LED” output (inverted)-
GPIO 2 is tied to a blue LED / 1.2k resistor to +3.3 on the Esp12-e board.

@kreggly knows the virtual pin workaround- if @adam was nice, he could post the code.