Embedded Computing
  • About
  • Blog
  • Hardware
    • Which Platform?
    • Controller Platforms >
      • Adafruit Platform
      • Arduino Plaform
      • BBC micro:bit
      • Espressif Platform
      • iLabs Platform
      • Raspberry Pi Platform (MCU)
      • Seeed Platform
      • Silicon Labs Platform
      • Teensy Plaform
    • Computer Platforms >
      • BeagleBone Platform
      • Raspberry Pi Platform (SBC)
      • UDOO Platform
    • Peripherals >
      • Shields
      • Grove System
      • Sensors
      • Actuators
    • Displays >
      • E-Paper Displays
      • Reflective Displays
      • TFT Displays
      • LCD Displays
    • Legacy Platforms >
      • chipKIT Plaform
      • 4D Systems Platform
      • Intel Platform
      • LaunchPad Plaform
      • BoosterPacks for LaunchPads
      • LightBlue Bean
      • Maple Plaform
      • Mediatek Platform
      • Microsoft Azure IoT DevKit
      • Particle Platform
  • Software
    • Exploring RTOS with Galaxia >
      • Event Library
      • Semaphore Library
      • Mailbox Library
      • Timer Library
      • Clock Library
      • SWI Library
      • Task Library
    • Ultra-Low Power with EnergyTrace >
      • Ultra-Low Power with MSP430
      • Ultra-Low Power with Energia MT and Galaxia
    • Using Integers Instead of Reals
    • Going Python?
  • IoT
    • IoT Platforms: Which Hardware? >
      • Matter with Silicon Labs MG24
    • IoT Services: Which Solution? >
      • Recommended IoT Solutions
      • Platform-Specific IoT Solutions
      • Other IoT Solutions
      • Not tested IoT Solutions
      • Notification Solutions
    • Get Date and Time from Internet with NTP
    • Fast and Easy WiFi Connection with QR-Code
  • Tools
    • How to Start?
    • Reference >
      • Asking for Help
      • Boards Pins Maps
      • Ruler
      • Boards and Plugs
      • I²C Logic Level Converter
      • Standards for Connectors
    • Training >
      • Texas Instruments Workshops
      • Embedded Systems: Shape The World — MOOC edX UTAustinX UT.6.02x
      • Embedded Systems - Shape The World: Microcontroller Input/Output — MOOC edX UTAustinX UT.6.10x
      • Embedded Systems - Shape The World: Multi-Threaded Interfacing — MOOC edX UTAustinX UT.6.20x
      • Real-Time Bluetooth Networks: Shape the World — MOOC edX UTAustinX UT.RTBN.12.01x
      • Systems Thinking with Texas Instruments Robotics System Learning Kit
    • Books >
      • Getting Started with the MSP430 LaunchPad
      • Getting Started with Arduino
      • Arduino Cookbook
    • IDE >
      • The Battle of IDEs
      • More Options
      • Assessing the Next Generation of IDEs
      • Tools for Documentation
    • Equipment >
      • Saleae Logic Analyser
      • Rigol DS1102E Oscilloscope
      • XDS110 Debug Probe with EnergyTrace​
      • Segger J-Link Programmer-Debugger
      • Nordic Power Profiler Kit II
  • Projects
    • Libraries >
      • Master I²C Software Library
      • Date and Time Library
      • highView Library Suite
      • Others Libraries
    • smartDevices >
      • I²C smartColours Smart Sensor
      • I²C smartRFID Smart Sensor
      • I²C smartLED Display
      • I²C smartControls Smart Device
      • I²C smartWiFi Smart Device
      • I²C smartBLE Smart Device
      • I²C smartNode Smart Device
    • IoT Projects >
      • Remote E-Paper Weather and Message Board
      • Typie-Walkie with LoRa and E-Paper Screen
      • Typie-Walkie with E-Paper Screen
      • Remote e-Paper Pictures Panel
      • Remote e-Paper Messages Panel
      • Industrial IoT Project
      • Remote Contactless Temperature Monitor
      • Using Node-RED for IIoT
      • Low Power Home Network Weather Monitoring
      • Updated Low Power Home Network Weather Monitoring
      • Weather and Security Station with Blynk
      • SensorTag to Blynk Using Node-RED
      • Pervasive Reporting
    • AI Projects >
      • Colour Recognition with Neural Network
    • Other Projects >
      • Air Quality Monitoring
      • Driving a Large E-Paper Display with a Compact Xiao RP2040
      • Low-Power E-Paper Weather Station
      • Portable Particulate​ Matter Monitor
      • FRAM-based E-Paper Screen Controller
      • General Purpose 3.5" Screen
      • Colour Recognition with Neural Network
      • A Low Power Weather Station
      • Digital Volt-Amp-Watt Meter
      • Mobile Measurement with LCD Display
      • Screen with SRAM for GUI
      • Volt-Amp-Watt-Meter for Grove
      • Multi-Touch Project with CapTIvate

IoT with Cayenne for Arduino

Cayenne is entirely built around a dashboard, available through a browser or with an iOS or Andoird app. The dashboard includes widgets, and each widget is connected to sensors or actuators. On top of that, ​Cayenne adds two unique features: a scheduler and triggers.

Cayenne is available on two platforms, Rapsberry Pi and Arduino. However, the later is still in beta, and beta it is; I was unable to complete my project.

​On the right, the project includes an Arduino board, a WiFi 101 shield and a Grove shield. Unfortunately, it never materialised.
Picture

Cayenne with Arduino

I went through two projects. The first was the classic remote-controlled LED. The second was the Weather and Security Station with Blynk I wanted to replicate with Cayenne was the 

After selecting the Arduino platform and installing the Cayenne library, step 3 lists the Arduino boards supported.

Unfortunately, most of the AVR-based boards don't sport enough Flash for the WiFi library and the Cayenne library. I took the Arduino Pro.
Picture
Cayenne then generates the code with the authentification token and all the #include statements for the libraries.

Just edit the SSID and the password for the Wifi network, build and run.

​Cayenne waits for the board, connects directly and updates to the dashboard page. 
Picture
I wanted to add a widget with a direct connection to a digital pin, D5 in this case.

I went through the different pull-down menus for the setting and asked for the sketch file.

The connectivity pull-down menu offers three options: analog, digital and virtual, very similar to the Blynk options. 

​Indeed, the Cayenne library includes the Blynk library. 
Picture
Surprisingly, the code generated created a virtual pin 1 and selected the pin 4 instead of 5 for the output. Similarly, the code generated no longer mentions the correct #include statements for the libraries. 

Here, the code includes CayenneEthernet, while the original code used CayenneWiFi101.

Virtual pin 1 was already used by other widgets I've created before.
Picture
I wanted to remove two widgets. Alas, two hours alter, the system was still trying to remove them. 

​Despite the help of the friendly support, I had no alternative but to delete the whole project and start from scratch.

The second tentative faced a freeze of the GUI.

I went through a third tentative  with another browser, Chrome, to no avail.
Picture

Conclusion

I was unable to complete my second project. Even during the first remote-controlled LED project, the whole experience was marred with annoying glitches and inconsistencies (with Safari and Chrome), and the code generated wasn't consistent.

​Despite the promising features and versatility, Cayenne needs more development to be enjoyable.

In the meantime, go for the real thing: Blynk.

Pros

  • Dual interface: web and apps
  • Schedules and triggers

Cons

  • No local server option
  • Solution not mature yet

Wrap-Up

  • Solution not mature yet for Arduino
  • Based on Blynk?
  • Go for Blynk

Links

  • Cayenne
Picture
Powered by Create your own unique website with customizable templates.