Cayenne IoT Platform – complete steps to Connect the Raspberry Pi with Cayenne IoT Platform

Cayenne cloud and Raspberry Pi Connectivity establishment link attached with this post. Check out the below mentioned link and follow the steps to Launch your first IoT Project within a minutes

Below link will talk about the cayenne IoT platform rules and triggers

A quick start – Cayenne IoT Platform


change the baudrate of HC-05 Bluetooth module in an easy way within a short time – complete procedure

If you want to change some of the settings of your HC-05 Bluetooth module, like baud rate, password or the name of the Bluetooth module, you can do it easy and fast with your Arduino.

There are different HC-05 modules on the market, but it should work with all of them. On the picture below you can see a bare HC-05 module, 5V tolerant HC-05 module and 6V tolerant HC-05 module with a button. I prefer the last one, as the button makes the changing of the settings even easier.


To change any settings of the module, it should be in the so called “AT Mode”. How to put the Bluetooth module in AT Mode: The “Key Pin” of the module should be set to “High”. This means we should apply voltage to this pin at the same time we power the module. On the last module, the button does this job. It should be pressed when powering the module with 5V. On the module without button, we need to supply 3.3V to the “Key Pin” when powering on.

Here is an example how to connect the module to the Arduino Nano v3. Note that there should be an jumper on GND and RST pin. By doing this, the Arduino will only act as a simple FTDI adapter.


First connect the Arduino to the PC over USB. Then connect the cables in the following way:

  • TX Bluetooth –> TX Arduino
  • RX Bluetooth –> RX Arduino
  • GND Bluetooth –> GND Arduino

… and at last the 5V Bluetooth to 5V Arduino by keeping the button of the Bluetooth pressed. Or on the module without button, connect the Key Pin Bluetooth to 3.3V on Arduino.

If the HC-05 is in AT Mode, the red LED will blink at every 2 seconds.

Then start the PuTTY program configure the right COM Port (Check it in the Device Manger) and set the Baud Rate to 38400. This is the baud rate for AT Mode. Then click “Open”.


In the newly opened black window type “AT”, press Enter and you should get “OK” as a result. Note that you want see what you type in the windows… Here some of the commands to change the settings you wish:

Change baud rate to 57600, 1 stop bit, 0 parity AT+UART=57600,1,0
Change module name AT+NAME=YOURNAME
Change pairing code AT+PSWD=0000

Note: You can use other similar terminal applications such as teraterm, Hyperterminal, Docklight these all were supported by windows. For ubuntu users you can use gtkterm terminal.

SRAM (Static Random Access memory) and Cache (L1, L2, L3)

SRAM (static RAM) is random access memory (RAM) that retains data bits in its memory as long as power is being supplied. Unlike dynamic RAM (DRAM), which stores bits in cells consisting of a capacitor and a transistor, SRAM does not have to be periodically refreshed. Static RAM provides faster access to data and is more expensive than DRAM. SRAM is used for a computer’s cache memory and as part of the random access memory digital-to-analog converter on a video card

CPU Cache

A CPU cache is a hardware cache used by the central processing unit (CPU) of a computer to reduce the average cost (time or energy) to access data from the main memory. A cache is a smaller, faster memory, closer to a processor core, which stores copies of the data from frequently used main memory locations.

CPU cache is a smaller faster memory used by the central processing unit (CPU) of a computer to reduce the average time to access memory.
L1 (Level 1), L2, L3 cache are some specialized memory which work hand in hand to improve computer performance.

When a request is made to the system, CPU has some set of instructions to execute, which it fetches from the RAM. Thus to cut down delay, CPU maintains a cache with some data which it anticipates it will be needed.

(L1) Level 1 Cache(2KB – 64KB) – Instructions are first searched in this cache. L1 cache very small in comparison to others, thus making it faster than the rest.

(L2) Level 2 Cache(256KB – 512KB) – If the instructions are not present in the L1 cache then it looks in the L2 cache, which is a slightly larger pool of cache, thus accompanied by some latency.

(L3) Level 3 Cache (1MB -8MB) – With each cache miss, it proceeds to the next level cache. This is the largest among the all the cache, even though it is slower, its still faster than the RAM.

Now you know what cache is and what different level of cache are.
And that 6MB value of the L3 Cache in your Intel 4700MQ microprocessor is actually the memory size of that Cache.
Thus Cache improves the overall performance of the CPU but these numbers shouldn’t be considered while purchasing any system. Look at the benchmarks of the CPU as a whole. A CPU with similar architecture but with more cache wouldn’t make any noticeable difference. The technology these days have advanced to such a point that the specs of a CPU are just meaningless.

Python setattr()

The setattr() method sets the value of given attribute of an object.

The syntax of setattr() method is:

setattr(object, name, value)

If you want to get an attribute of an object, use getattr().

setattr() Parameters

The setattr() method takes three parameters:

  • object – object whose attribute has to be set
  • name – string which contains the name of the attribute to be set
  • value – value of the attribute to be set

Return value from setattr()

The setattr() method returns None.

Example 1: How setattr() works in Python?

class Person:
   name = 'Adam'

p = Person()
print('Before modification:',

# setting name to 'John'
setattr(p, 'name', 'John')

print('After modification:',

When you run the program, the output will be:

Before modification: Adam
After modification: John

Example 2: setattr() when named attribute is not found and setting attribute to None

However, this is only possible if the object implements __dict__() method.

You can check if it does by using dir() method.

class Person:
     name = 'Adam'

p = Person()

# setting attribute name to None
setattr(p, 'name', None)
print('Name is:',

# setting an attribute not present
# in Person
setattr(p, 'age', 23)
print('Age is:', p.age)

When you run the program, the output will be:

Name is: None
Age is: 23