IOT Basic Tutorial

Last updated: January 26 th, 2017

Geeknesia Microcontroller & IOT Starter Kit

Geeknesia Kit

Sebuah Starter Kit Lengkap dari Geeknesia untuk mempelajari IOT dan Micro Controller dengan mudah melalui praktek secara langsung.
Starter Kit ini menyediakan development board ESP 8266 tipe WeMos D1 yang compatible dengan board arduino sehingga mudah dipahami, muda diperlajari, dan mudah dimengerti. Dalam kit ini tersedia komponen elektronik lengkap untuk berbagai keperluan tutorial dan project real.

Read More or Buy Now !

Menghubungkan Raspberry Pi ke Geeknesia

Reading Requirement:

Pada tutorial ini akan menjelaskan cara menghubungkan Raspberry Pi ke Geeknesia.

 

Siapkan alat dan bahan yang diperlukan:

  • Raspberry Pi.
  • SD Card.
  • Keyboard.
  • Mouse.
  • Monitor.
  • Kabel Jumper.
  • Resistor 220 ohm.
  • Led.

 

Gambar Raspberry Pi 2 Pinout.

 

Raspberry Pi yang digunakan pada tutorial ini adalah Raspberry Pi 2 , jika anda menggunakan Raspberry tipe lain pun bisa.

Untuk pengerjaan ikuti tahap-tahap berikut:

 

Tahap 1

Pastikan Raspberry anda sudah terinstall OS, pada tutorial ini menggunakan OS Raspbian Jessie bisa juga menggunakan OS lain yang anda pakai, untuk cara menginstall OS Raspberry bisa klik disini.

 

Tahap 2

Pastikan anda sudah membuat ProjectGateway dan Device pada akun Geeknesia anda.

 

Tahap 3

Rangkailah Led sebagai output ke pin 7 (GPIO4) Raspberry Pi, dengan resistor 220ohm dihubungkan seri antara pin Gnd Led dan pin Gnd Raspberry Pi.

 

 

Tahap 4

Install GPIO library ikuti link ini http://www.raspberrypi-spy.co.uk/2012/05/install-rpi-gpio-python-library/, setelah GPIO Library terinstall kemudian install MQTT Library sebagai protokol penghubung antara Raspberry dan  Geeknesia.

 

Untuk install MQTT Library masuk ke Terminal dan ketik command seperti di bawah ini:

1

$ pip install paho-mqtt

 

 

Untuk melakukan install library harus melalui Terminal.

 

Tahap 5

Buka pemrograman menggunakan Python 2.7 

 

ini adalah tampilan awal screen python , kemudian klik New File untuk membuat code baru.

 

Tahap 6

Buatlah code baru pada blank screen seperti gambar di bawah ini:

 

Code    

import paho.mqtt.client as paho, os, urlparse, time

import RPi.GPIO as GPIO

import time



# Define event callbacks

def on_connect(mosq, obj, rc):

    print("rc: " + str(rc))

def on_message(mosq, obj, msg):

    print(msg.topic + " " + str(msg.qos) + " " + str(msg.payload))

def on_publish(mosq, obj, mid):

    print("mid: " + str(mid))

def on_subscribe(mosq, obj, mid, granted_qos):

    print("Subscribed: " + str(mid) + " " + str(granted_qos))

def on_log(mosq, obj, level, string):

    print(string)



mqttc = paho.Client()



mqttc.on_message = on_message

mqttc.on_connect = on_connect

mqttc.on_publish = on_publish



# Parse CLOUDMQTT_URL (or callback to localhost)

url_str = os.environ.get('geeknesia.com', 'mqtt://USERNAME:PASSWORD@geeknesia.com:1883') #Insert your USERNAME and your PASSWORD

url = urlparse.urlparse(url_str)



# Connect

mqttc.username_pw_set(url.username, url.password)

mqttc.connect(url.hostname, url.port)



def blink(pin):

    mqttc.publish("iot/live","DEVICE_ID")

    GPIO.output(pin,GPIO.HIGH)

    mqttc.publish("iot/data",'{"code":"USERNAME:PASSWORD","attributes":{"Tes":"1"}}') #Insert your USERNAME and your PASSWORD

    time.sleep(1)

    GPIO.output(pin,GPIO.LOW)

    mqttc.publish("iot/data",'{"code":"USERNAME:PASSWORD","attributes":{"Tes":"2"}}') #Insert your USERNAME and your PASSWORD

    time.sleep(1)

    GPIO.output(pin,GPIO.HIGH)

    mqttc.publish("iot/data",'{"code":"USERNAME:PASSWORD","attributes":{"Tes":"3"}}') #Insert your USERNAME and your PASSWORD

    time.sleep(1)

    GPIO.output(pin,GPIO.LOW)

    mqttc.publish("iot/data",'{"code":"USERNAME:PASSWORD","attributes":{"Tes":"4"}}') #Insert your USERNAME and your PASSWORD

    time.sleep(1)

    return



GPIO.setmode(GPIO.BOARD)



GPIO.setup(7,GPIO.OUTPUT)



for i in range(0,10000):

    blink(7)

GPIO.cleanup()

 

Di atas adalah contoh code sederhana, menggunakan 1 buah led yang dikontrol pada pin 7 (GPIO4) Raspberry Pi dengan cara kerja blinking dengan ketentuan pada bagian code di bawah ini:     


 

for i in range(0,10000):

blink(7)

 

Led akan blinking sebanyak 10000 kali, dan akan mengirimkan data ke Geeknesia sesuai code yang telah dibuat.

 

Tahap 7 

Setelah pembuatan code selesai , untuk mencobanya buka halaman Geeknesia dan masuk ke project yang telah anda buat sebelumnya.

kemudian klik run pada toolbar software python.

 

Jika data berhasil terkirim maka tampilan pada project Geeknesia anda akan seperti di bawah ini:

Nilai dari Current Output akan berubah ketika Led blink High dan Led blink Low, sesuai code yang telah dibuat.

 

Ini adalah gambar Led pada saat blinking. 


Catatan: Pastikan attributes di detail Devices sudah anda sesuaikan dengan yang dibuat pada code.